body {
    font-size: medium;
}
.animation-spin-fast {
    -webkit-animation-name: spin;
    -webkit-animation-duration: 300ms;
    -webkit-animation-iteration-count: infinite;
    -webkit-animation-timing-function: linear;
    -moz-animation-name: spin;
    -moz-animation-duration: 300ms;
    -moz-animation-iteration-count: infinite;
    -moz-animation-timing-function: linear;
    -ms-animation-name: spin;
    -ms-animation-duration: 300ms;
    -ms-animation-iteration-count: infinite;
    -ms-animation-timing-function: linear;

    animation-name: spin;
    animation-duration: 300ms;
    animation-iteration-count: infinite;
    animation-timing-function: linear;
}

.infinite-slow {
    -webkit-animation-duration: 3s;
    animation-duration: 3s;
    -webkit-animation-iteration-count: infinite;
    animation-iteration-count: infinite;
}
.infinite-fast {
    -webkit-animation-duration: 500ms;
    animation-duration: 500ms;
    -webkit-animation-iteration-count: infinite;
    animation-iteration-count: infinite;
}

@-ms-keyframes spin {
    from { -ms-transform: rotate(0deg); }
    to { -ms-transform: rotate(360deg); }
}
@-moz-keyframes spin {
    from { -moz-transform: rotate(0deg); }
    to { -moz-transform: rotate(360deg); }
}
@-webkit-keyframes spin {
    from { -webkit-transform: rotate(0deg); }
    to { -webkit-transform: rotate(360deg); }
}
@keyframes    spin {
    from {
        transform:rotate(0deg);
    }
    to {
        transform:rotate(360deg);
    }
}
@-webkit-keyframes spaceboots {
    0% { -webkit-transform: translate(2px, 1px) rotate(0deg); }
    10% { -webkit-transform: translate(-1px, -2px) rotate(-1deg); }
    20% { -webkit-transform: translate(-3px, 0px) rotate(1deg); }
    30% { -webkit-transform: translate(0px, 2px) rotate(0deg); }
    40% { -webkit-transform: translate(1px, -1px) rotate(1deg); }
    50% { -webkit-transform: translate(-1px, 2px) rotate(-1deg); }
    60% { -webkit-transform: translate(-3px, 1px) rotate(0deg); }
    70% { -webkit-transform: translate(2px, 1px) rotate(-1deg); }
    80% { -webkit-transform: translate(-1px, -1px) rotate(1deg); }
    90% { -webkit-transform: translate(2px, 2px) rotate(0deg); }
    100% { -webkit-transform: translate(1px, -2px) rotate(-1deg); }
}
.text-wiggle {
    -webkit-animation-name: spaceboots;
    -webkit-animation-duration: 2s;
    -webkit-transform-origin:50% 50%;
    -webkit-animation-iteration-count: infinite;
    -webkit-animation-timing-function: linear;
}
@-webkit-keyframes shake {
    0% { transform: translate(0px); }
    17% { transform: translate(10px); }
    34% { transform: translate(-10px); }
    51% { transform: translate(6px); }
    68% { transform: translate(-6px); }
    85% { transform: translate(3px); }
    100% { transform: translate(0px); }
}
.text-shake {
    -webkit-animation-name: shake;
    -webkit-animation-duration: 10s;
    -webkit-transform-origin:50% 50%;
    -webkit-animation-iteration-count: infinite;
    -webkit-animation-timing-function: linear;
}
@-webkit-keyframes combo {
    0% { transform: scale(1); }
    10% { transform: rotate(10deg); }
    17% { transform: scale(1.2); }
    20% { transform: skew(20deg,20deg); }
    25% { transform: rotate(-10deg); }
    26% { opacity: 0.5; }
    34% { transform: scale(0.8); }
    42% { transform: rotate(6deg); }
    48% { transform: skew(-20deg,-20deg); }
    51% { transform: scale(1.1); }
    61% { transform: rotate(-6deg); }
    68% { transform: scale(0.9); }
    70% { transform: skew(10deg,10deg); }
    76% { transform: rotate(3deg); }
    85% { transform: scale(1.05); }
    98% { opacity: 1; }
    99% { transform: rotate(0deg); }
    100% { transform: scale(1); }
}
.text-spazz {
    -webkit-animation-name: combo;
    -webkit-animation-duration: 0.8s;
    -webkit-transform-origin:50% 50%;
    -webkit-animation-iteration-count: infinite;
    -webkit-animation-timing-function: linear;
}
.animated.infinite {
    -webkit-animation-iteration-count: infinite;
    animation-iteration-count: infinite;
}
.modal-backdrop {
    z-index: 1040 !important;
}
.modal-dialog {
    margin: 2px auto;
    z-index: 1100 !important;
}

.msg-count-unread {
    background: #007bff;
    border-radius: 0.8em;
    -moz-border-radius: 0.8em;
    -webkit-border-radius: 0.8em;
    color: #ffffff;
    display: inline-block;
    font-weight: bold;
    line-height: 1.5em;
    margin-right: 5px;
    text-align: center;
    width: 1.6em;
}

.msg-count-zero {
    background: #888888;
    border-radius: 0.8em;
    -moz-border-radius: 0.8em;
    -webkit-border-radius: 0.8em;
    color: #ffffff;
    display: inline-block;
    font-weight: bold;
    line-height: 1.5em;
    margin-right: 5px;
    text-align: center;
    width: 1.6em;
}

/*
    Stripe elements
 */
.StripeElement {
    background-color: white;
    height: 40px;
    padding: 10px 12px;
    border-radius: 4px;
    border: 1px solid transparent;
    box-shadow: 0 1px 3px 0 #e6ebf1;
    -webkit-transition: box-shadow 150ms ease;
    transition: box-shadow 150ms ease;
}

.StripeElement--focus {
    box-shadow: 0 1px 3px 0 #cfd7df;
}

.StripeElement--invalid {
    border-color: #fa755a;
}

.StripeElement--webkit-autofill {
    background-color: #fefde5 !important;
}