@keyframes ginger-bar-bounce {
    0% {transform: translateY(0);}
    10% {transform: translateY(-15px);}
    20% {transform: translateY(5px);}
    25% {transform: translateY(0px);}
    30% {transform: translateY(0px);}
    100% {transform: translateY(0);}
}
.ginger-animation-bounce {
    animation: ginger-bar-bounce 5s infinite;
}
@keyframes ginger-bar-flash {
    0%,20%,40% {opacity: 0.1;}
    10%,30%,50%,100% {opacity: 1;}
}
.ginger-animation-flash {
    animation: ginger-bar-flash 5s infinite;
}
@keyframes ginger-bar-pulse {
    0% {transform: scale(1);}
    10% {transform: scale(1.2);}
    20% {transform: scale(1);}
    30% {transform: scale(1.15);}
    40%, 100% {transform: scale(1);}
}
.ginger-animation-pulse {
    animation: ginger-bar-pulse 5s infinite;
}
@keyframes ginger-bar-rubberBand {
    0% {transform: scale(1);}
    10% {transform: scaleX(1.25) scaleY(0.75);}
    20% {transform: scaleX(0.75) scaleY(1.25);}
    30% {transform: scaleX(1.15) scaleY(0.85);}
    40%, 100% {transform: scale(1);}
}
.ginger-animation-rubberBand {
    animation: ginger-bar-rubberBand 5s infinite;
}
@keyframes ginger-bar-shake {
    0% {transform: translateX(0);}
    10%, 16%, 22%, 28%, 33% {transform: translateX(-5px);}
    13%, 19%, 25%, 31%, 37% {transform: translateX(5px);}
    40%, 100% {transform: translateX(0);}
}
.ginger-animation-shake {
    animation: ginger-bar-shake 5s infinite;
}

@keyframes ginger-bar-wobble {
    0% {transform: translateX(0%);}
    5% {transform: translateX(-25%) rotate(-5deg);}
    10% {transform: translateX(20%) rotate(3deg);}
    15% {transform: translateX(-15%) rotate(-3deg);}
    20% {transform: translateX(10%) rotate(2deg);}
    25% {transform: translateX(-5%) rotate(-1deg);}
    30%, 100% {transform: translateX(0%);}
}
.ginger-animation-wobble {
    animation: ginger-bar-wobble 5s infinite;;
}

@keyframes ginger-bar-flip {
    0% {transform: perspective(600px) translateZ(0) rotateY(0) scale(1);animation-timing-function: ease-out;}
    20% {transform: perspective(600px) translateZ(150px) rotateY(170deg) scale(1);animation-timing-function: ease-out;}
    25% {transform: perspective(600px) translateZ(150px) rotateY(190deg) scale(1);animation-timing-function: ease-in;}
    30% {transform: perspective(600px) translateZ(0) rotateY(360deg) scale(.95);animation-timing-function: ease-in;}
    35%, 100% {transform: perspective(600px) translateZ(0) rotateY(360deg) scale(1);animation-timing-function: ease-in;}
}
.ginger-animation-flip {
    backface-visibility: visible;
    animation: ginger-bar-flip 5s infinite;
}
@keyframes ginger-bar-lightSpeedIn {
    10%,30% {transform: translateX(10%) skewX(-30deg);opacity: 1;}
    10%,20%,40% {transform: translateX(-10%) skewX(30deg);opacity: 1;}
    0%, 50%, 100% {transform: translateX(0%) skewX(0deg);opacity: 1;}
}
.ginger-animation-lightSpeedIn {
    animation: ginger-bar-lightSpeedIn 5s infinite;
    animation-timing-function: ease-out;
}

.ginger-bar-message {
    position: fixed;
    width: 100%;
    top:0;
    left: 0;
    text-align: center;
    vertical-align: middle;
    word-break: break-all;
    z-index: 10009;
    display: none;
}
.ginger-bar-message.active {
    display: inline-block;
}
.ginger-bar-message.position-bottom {
    top:auto;
    bottom: 0;
}
.ginger-bar-message-text {
    vertical-align: middle;
    display: inline-block;
}
.ginger-bar-message-text p {
    margin: 0 !important;
    padding: 0 !important;
}
body button.ginger-bar-message-button {
    display: none;
    border: none;
    padding: 5px 10px;
    vertical-align: middle;
    margin: 0px 0 0 10px;
    cursor: pointer;
    border-radius: 4px;
    -webkit-border-radius: 4px;
    -moz-border-radius: 4px;
    text-align: center;
    font-weight: normal;
    letter-spacing: normal;
    text-transform: none;
}
body button.ginger-bar-message-button.active {
    display: inline-block;
}
.ginger-bar-shadow {
    -webkit-box-shadow: 0px 0px 10px 0px rgba(50, 50, 50, 1);
    -moz-box-shadow:    0px 0px 10px 0px rgba(50, 50, 50, 1);
    box-shadow:         0px 0px 10px 0px rgba(50, 50, 50, 1);
}
.ginger-bar-close-button {
    position: absolute;
    right: 5px;
    top: 5px;
    width: 10px;
    height: 10px;
    display: none;
}
.ginger-bar-close-button.active {
    display: block;
}
.ginger-bar-close-button a {
    display: block;
    width: 10px;
    height: 10px;
}
.ginger-bar-close-button a svg {
    width: 100%;
    height: 100%;
    display: block;
}