.ah-headline.type .ah-words-wrapper.selected::after,
.ah-headline.type b {
    visibility: hidden
}

.ah-headline.clip span,
.ah-headline.loading-bar span,
.ah-headline.slide span {
    padding: .2em 0;
    display: inline-block
}

.ah-headline.clip .ah-words-wrapper,
.ah-headline.loading-bar .ah-words-wrapper,
.ah-headline.slide .ah-words-wrapper,
.ah-headline.type .ah-words-wrapper {
    overflow: hidden;
    vertical-align: top
}

.ah-words-wrapper {
    display: inline-block;
    position: relative;
    text-align: left
}

.ah-words-wrapper b {
    display: inline-block;
    position: absolute;
    white-space: nowrap;
    left: 0;
    top: 0
}

.ah-words-wrapper b.is-visible {
    position: relative
}

.no-js .ah-words-wrapper b {
    opacity: 0
}

.no-js .ah-words-wrapper b.is-visible {
    opacity: 1
}

.ah-headline.rotate-1 .ah-words-wrapper {
    perspective: 300px
}

.ah-headline.rotate-1 b {
    opacity: 0;
    transform-origin: 50% 100%;
    transform: rotateX(180deg)
}

.ah-headline.rotate-1 b.is-visible {
    opacity: 1;
    transform: rotateX(0);
    -webkit-animation: ah-rotate-1-in 1.2s;
    animation: ah-rotate-1-in 1.2s
}

.ah-headline.rotate-1 b.is-hidden {
    transform: rotateX(180deg);
    -webkit-animation: ah-rotate-1-out 1.2s;
    animation: ah-rotate-1-out 1.2s
}

@-webkit-keyframes ah-rotate-1-in {
    0% {
        transform: rotateX(180deg);
        opacity: 0
    }

    35% {
        transform: rotateX(120deg);
        opacity: 0
    }

    65% {
        opacity: 0
    }

    100% {
        transform: rotateX(360deg);
        opacity: 1
    }
}

@keyframes ah-rotate-1-in {
    0% {
        transform: rotateX(180deg);
        opacity: 0
    }

    35% {
        transform: rotateX(120deg);
        opacity: 0
    }

    65% {
        opacity: 0
    }

    100% {
        transform: rotateX(360deg);
        opacity: 1
    }
}

@-webkit-keyframes ah-rotate-1-out {
    0% {
        transform: rotateX(0);
        opacity: 1
    }

    35% {
        transform: rotateX(-40deg);
        opacity: 1
    }

    65% {
        opacity: 0
    }

    100% {
        transform: rotateX(180deg);
        opacity: 0
    }
}

@keyframes ah-rotate-1-out {
    0% {
        transform: rotateX(0);
        opacity: 1
    }

    35% {
        transform: rotateX(-40deg);
        opacity: 1
    }

    65% {
        opacity: 0
    }

    100% {
        transform: rotateX(180deg);
        opacity: 0
    }
}

.ah-headline.type .ah-words-wrapper::after {
    content: '';
    position: absolute;
    right: 0;
    top: 50%;
    bottom: auto;
    transform: translateY(-50%);
    height: 90%;
    width: 1px;
    background-color: #363636
}

.ah-headline.type .ah-words-wrapper.waiting::after {
    -webkit-animation: ah-pulse 1s infinite;
    animation: ah-pulse 1s infinite
}

.ah-headline.type .ah-words-wrapper.selected {
    background-color: #f0f0f0
}

.ah-headline.type .ah-words-wrapper.selected b {
    color: #363636
}

.ah-headline.type b.is-visible {
    visibility: visible
}

.ah-headline.type i {
    position: absolute;
    visibility: hidden
}

.ah-headline.type i.in {
    position: relative;
    visibility: visible
}

@-webkit-keyframes ah-pulse {
    0% {
        transform: translateY(-50%) scale(1);
        opacity: 1
    }

    40% {
        transform: translateY(-50%) scale(.9);
        opacity: 0
    }

    100% {
        transform: translateY(-50%) scale(0);
        opacity: 0
    }
}

@keyframes ah-pulse {
    0% {
        transform: translateY(-50%) scale(1);
        opacity: 1
    }

    40% {
        transform: translateY(-50%) scale(.9);
        opacity: 0
    }

    100% {
        transform: translateY(-50%) scale(0);
        opacity: 0
    }
}

.ah-headline.rotate-2 .ah-words-wrapper {
    perspective: 300px
}

.ah-headline.rotate-2 em,
.ah-headline.rotate-2 i {
    display: inline-block;
    -webkit-backface-visibility: hidden;
    backface-visibility: hidden
}

.ah-headline.rotate-2 b {
    opacity: 0
}

.ah-headline.rotate-2 i {
    transform-style: preserve-3d;
    transform: translateZ(-20px) rotateX(90deg);
    opacity: 0
}

.is-visible .ah-headline.rotate-2 i {
    opacity: 1
}

.ah-headline.rotate-2 i.in {
    -webkit-animation: ah-rotate-2-in .4s forwards;
    animation: ah-rotate-2-in .4s forwards
}

.ah-headline.rotate-2 i.out {
    -webkit-animation: ah-rotate-2-out .4s forwards;
    animation: ah-rotate-2-out .4s forwards
}

.ah-headline.rotate-2 em {
    transform: translateZ(20px)
}

.no-csstransitions .ah-headline.rotate-2 i {
    transform: rotateX(0);
    opacity: 0
}

.no-csstransitions .ah-headline.rotate-2 i em {
    transform: scale(1)
}

.no-csstransitions .ah-headline.rotate-2 .is-visible i {
    opacity: 1
}

@-webkit-keyframes ah-rotate-2-in {
    0% {
        opacity: 0;
        transform: translateZ(-20px) rotateX(90deg)
    }

    60% {
        opacity: 1;
        transform: translateZ(-20px) rotateX(-10deg)
    }

    100% {
        opacity: 1;
        transform: translateZ(-20px) rotateX(0)
    }
}

@keyframes ah-rotate-2-in {
    0% {
        opacity: 0;
        transform: translateZ(-20px) rotateX(90deg)
    }

    60% {
        opacity: 1;
        transform: translateZ(-20px) rotateX(-10deg)
    }

    100% {
        opacity: 1;
        transform: translateZ(-20px) rotateX(0)
    }
}

@-webkit-keyframes ah-rotate-2-out {
    0% {
        opacity: 1;
        transform: translateZ(-20px) rotateX(0)
    }

    60% {
        opacity: 0;
        transform: translateZ(-20px) rotateX(-100deg)
    }

    100% {
        opacity: 0;
        transform: translateZ(-20px) rotateX(-90deg)
    }
}

@keyframes ah-rotate-2-out {
    0% {
        opacity: 1;
        transform: translateZ(-20px) rotateX(0)
    }

    60% {
        opacity: 0;
        transform: translateZ(-20px) rotateX(-100deg)
    }

    100% {
        opacity: 0;
        transform: translateZ(-20px) rotateX(-90deg)
    }
}

.ah-headline.loading-bar .ah-words-wrapper::after {
    content: '';
    position: absolute;
    left: 0;
    bottom: 0;
    height: 3px;
    width: 0;
    background: #356efd;
    z-index: 2;
    transition: width .3s -.1s
}

.ah-headline.loading-bar .ah-words-wrapper.is-loading::after {
    width: 100%;
    transition: width 3s
}

.ah-headline.loading-bar b {
    top: .2em;
    opacity: 0;
    transition: opacity .3s
}

.ah-headline.loading-bar b.is-visible {
    opacity: 1;
    top: 0
}

.ah-headline.slide b {
    opacity: 0;
    top: .2em
}

.ah-headline.slide b.is-visible {
    top: 0;
    opacity: 1;
    -webkit-animation: slide-in .6s;
    animation: slide-in .6s
}

.ah-headline.slide b.is-hidden {
    -webkit-animation: slide-out .6s;
    animation: slide-out .6s
}

@-webkit-keyframes slide-in {
    0% {
        opacity: 0;
        transform: translateY(-100%)
    }

    60% {
        opacity: 1;
        transform: translateY(20%)
    }

    100% {
        opacity: 1;
        transform: translateY(0)
    }
}

@keyframes slide-in {
    0% {
        opacity: 0;
        transform: translateY(-100%)
    }

    60% {
        opacity: 1;
        transform: translateY(20%)
    }

    100% {
        opacity: 1;
        transform: translateY(0)
    }
}

@-webkit-keyframes slide-out {
    0% {
        opacity: 1;
        transform: translateY(0)
    }

    60% {
        opacity: 0;
        transform: translateY(120%)
    }

    100% {
        opacity: 0;
        transform: translateY(100%)
    }
}

@keyframes slide-out {
    0% {
        opacity: 1;
        transform: translateY(0)
    }

    60% {
        opacity: 0;
        transform: translateY(120%)
    }

    100% {
        opacity: 0;
        transform: translateY(100%)
    }
}

.ah-headline.clip .ah-words-wrapper::after {
    content: '';
    position: absolute;
    top: 0;
    right: 0;
    width: 2px;
    height: 100%;
    background-color: #363636;
    bottom: 0;
    margin: auto;
}

.ah-headline.clip b {
    opacity: 0
}

.ah-headline.clip b.is-visible {
    opacity: 1
}

.ah-headline.zoom .ah-words-wrapper {
    perspective: 300px
}

.ah-headline.zoom b {
    opacity: 0
}

.ah-headline.zoom b.is-visible {
    opacity: 1;
    -webkit-animation: zoom-in .8s;
    animation: zoom-in .8s
}

.ah-headline.zoom b.is-hidden {
    -webkit-animation: zoom-out .8s;
    animation: zoom-out .8s
}

@-webkit-keyframes zoom-in {
    0% {
        opacity: 0;
        transform: translateZ(100px)
    }

    100% {
        opacity: 1;
        transform: translateZ(0)
    }
}

@keyframes zoom-in {
    0% {
        opacity: 0;
        transform: translateZ(100px)
    }

    100% {
        opacity: 1;
        transform: translateZ(0)
    }
}

@-webkit-keyframes zoom-out {
    0% {
        opacity: 1;
        transform: translateZ(0)
    }

    100% {
        opacity: 0;
        transform: translateZ(-100px)
    }
}

@keyframes zoom-out {
    0% {
        opacity: 1;
        transform: translateZ(0)
    }

    100% {
        opacity: 0;
        transform: translateZ(-100px)
    }
}

.ah-headline.rotate-3 .ah-words-wrapper {
    perspective: 300px
}

.ah-headline.rotate-3 b {
    opacity: 0
}

.ah-headline.rotate-3 i {
    display: inline-block;
    transform: rotateY(180deg);
    -webkit-backface-visibility: hidden;
    backface-visibility: hidden
}

.is-visible .ah-headline.rotate-3 i {
    transform: rotateY(0)
}

.ah-headline.rotate-3 i.in {
    -webkit-animation: ah-rotate-3-in .6s forwards;
    animation: ah-rotate-3-in .6s forwards
}

.ah-headline.rotate-3 i.out {
    -webkit-animation: ah-rotate-3-out .6s forwards;
    animation: ah-rotate-3-out .6s forwards
}

.no-csstransitions .ah-headline.rotate-3 i {
    transform: rotateY(0);
    opacity: 0
}

.no-csstransitions .ah-headline.rotate-3 .is-visible i {
    opacity: 1
}

@-webkit-keyframes ah-rotate-3-in {
    0% {
        transform: rotateY(180deg)
    }

    100% {
        transform: rotateY(0)
    }
}

@keyframes ah-rotate-3-in {
    0% {
        transform: rotateY(180deg)
    }

    100% {
        transform: rotateY(0)
    }
}

@-webkit-keyframes ah-rotate-3-out {
    0% {
        transform: rotateY(0)
    }

    100% {
        transform: rotateY(-180deg)
    }
}

@keyframes ah-rotate-3-out {
    0% {
        transform: rotateY(0)
    }

    100% {
        transform: rotateY(-180deg)
    }
}

.ah-headline.scale b {
    opacity: 0
}

.ah-headline.scale i {
    display: inline-block;
    opacity: 0;
    transform: scale(0)
}

.is-visible .ah-headline.scale i {
    opacity: 1
}

.ah-headline.scale i.in {
    -webkit-animation: scale-up .6s forwards;
    animation: scale-up .6s forwards
}

.ah-headline.scale i.out {
    -webkit-animation: scale-down .6s forwards;
    animation: scale-down .6s forwards
}

.no-csstransitions .ah-headline.scale i {
    transform: scale(1);
    opacity: 0
}

.no-csstransitions .ah-headline.scale .is-visible i {
    opacity: 1
}

@-webkit-keyframes scale-up {
    0% {
        transform: scale(0);
        opacity: 0
    }

    60% {
        transform: scale(1.2);
        opacity: 1
    }

    100% {
        transform: scale(1);
        opacity: 1
    }
}

@keyframes scale-up {
    0% {
        transform: scale(0);
        opacity: 0
    }

    60% {
        transform: scale(1.2);
        opacity: 1
    }

    100% {
        transform: scale(1);
        opacity: 1
    }
}

@-webkit-keyframes scale-down {
    0% {
        transform: scale(1);
        opacity: 1
    }

    60% {
        transform: scale(0);
        opacity: 0
    }
}

@keyframes scale-down {
    0% {
        transform: scale(1);
        opacity: 1
    }

    60% {
        transform: scale(0);
        opacity: 0
    }
}

.ah-headline.push b {
    opacity: 0
}

.ah-headline.push b.is-visible {
    opacity: 1;
    -webkit-animation: push-in .6s;
    animation: push-in .6s
}

.ah-headline.push b.is-hidden {
    -webkit-animation: push-out .6s;
    animation: push-out .6s
}

@-webkit-keyframes push-in {
    0% {
        opacity: 0;
        transform: translateX(-100%)
    }

    60% {
        opacity: 1;
        transform: translateX(10%)
    }

    100% {
        opacity: 1;
        transform: translateX(0)
    }
}

@keyframes push-in {
    0% {
        opacity: 0;
        transform: translateX(-100%)
    }

    60% {
        opacity: 1;
        transform: translateX(10%)
    }

    100% {
        opacity: 1;
        transform: translateX(0)
    }
}

@-webkit-keyframes push-out {
    0% {
        opacity: 1;
        transform: translateX(0)
    }

    60% {
        opacity: 0;
        transform: translateX(110%)
    }

    100% {
        opacity: 0;
        transform: translateX(100%)
    }
}

@keyframes push-out {
    0% {
        opacity: 1;
        transform: translateX(0)
    }

    60% {
        opacity: 0;
        transform: translateX(110%)
    }

    100% {
        opacity: 0;
        transform: translateX(100%)
    }
}