.sp-intro {
    width: 100%;
    max-width: 100%;
    text-align: center;
    margin: 0 auto;
}
.sp-intro h1, .sp-intro b, .sp-intro i, .sp-intro p, .sp-intro span {
    line-height: 46px;
    font-size: 38px;
    font-weight: 400;
    font-style: initial;
    color: #111111;
}
.sp-words-wrapper {
    display: inline-block;
    position: relative;
    text-align: left;
}
.sp-words-wrapper b {
    display: inline-block;
    position: absolute;
    white-space: nowrap;
    left: 0;
    top: 0;
    width: auto !important;
}
.sp-words-wrapper b.is-visible {
    position: relative;
}
.no-js .sp-words-wrapper b {
    opacity: 0;
}
.no-js .sp-words-wrapper b.is-visible {
    opacity: 1;
}

.sp-headline.slide span {
    display: inline-block;
    padding: 0;
}


@media only screen and (max-width : 768px) {
    .sp-headline.slide .sp-words-wrapper {
        overflow: hidden;
        vertical-align: bottom;
        text-align: center;
    }
}

@media only screen and (min-width : 768px) {
    .sp-headline.slide .sp-words-wrapper {
        overflow: hidden;
        vertical-align: bottom;
        text-align: left;
    }
}

.sp-headline.slide b {
    opacity: 0;
    top: .2em;
}
.sp-headline.slide b.is-visible {
    top: 0;
    opacity: 1;
    -webkit-animation: slide-in 0.6s;
    -moz-animation: slide-in 0.6s;
    animation: slide-in 0.6s;
}
.sp-headline.slide b.is-hidden {
    -webkit-animation: slide-out 0.6s;
    -moz-animation: slide-out 0.6s;
    animation: slide-out 0.6s;
}

@-webkit-keyframes slide-in {
    0% {
        opacity: 0;
        -webkit-transform: translateY(-100%);
    }
    60% {
        opacity: 1;
        -webkit-transform: translateY(20%);
    }
    100% {
        opacity: 1;
        -webkit-transform: translateY(0);
    }
}
@-moz-keyframes slide-in {
    0% {
        opacity: 0;
        -moz-transform: translateY(-100%);
    }
    60% {
        opacity: 1;
        -moz-transform: translateY(20%);
    }
    100% {
        opacity: 1;
        -moz-transform: translateY(0);
    }
}
@keyframes slide-in {
    0% {
        opacity: 0;
        -webkit-transform: translateY(-100%);
        -moz-transform: translateY(-100%);
        -ms-transform: translateY(-100%);
        -o-transform: translateY(-100%);
        transform: translateY(-100%);
    }
    60% {
        opacity: 1;
        -webkit-transform: translateY(20%);
        -moz-transform: translateY(20%);
        -ms-transform: translateY(20%);
        -o-transform: translateY(20%);
        transform: translateY(20%);
    }
    100% {
        opacity: 1;
        -webkit-transform: translateY(0);
        -moz-transform: translateY(0);
        -ms-transform: translateY(0);
        -o-transform: translateY(0);
        transform: translateY(0);
    }
}
@-webkit-keyframes slide-out {
    0% {
        opacity: 1;
        -webkit-transform: translateY(0);
    }
    60% {
        opacity: 0;
        -webkit-transform: translateY(120%);
    }
    100% {
        opacity: 0;
        -webkit-transform: translateY(100%);
    }
}
@-moz-keyframes slide-out {
    0% {
        opacity: 1;
        -moz-transform: translateY(0);
    }
    60% {
        opacity: 0;
        -moz-transform: translateY(120%);
    }
    100% {
        opacity: 0;
        -moz-transform: translateY(100%);
    }
}
@keyframes slide-out {
    0% {
        opacity: 1;
        -webkit-transform: translateY(0);
        -moz-transform: translateY(0);
        -ms-transform: translateY(0);
        -o-transform: translateY(0);
        transform: translateY(0);
    }
    60% {
        opacity: 0;
        -webkit-transform: translateY(120%);
        -moz-transform: translateY(120%);
        -ms-transform: translateY(120%);
        -o-transform: translateY(120%);
        transform: translateY(120%);
    }
    100% {
        opacity: 0;
        -webkit-transform: translateY(100%);
        -moz-transform: translateY(100%);
        -ms-transform: translateY(100%);
        -o-transform: translateY(100%);
        transform: translateY(100%);
    }
}
@media (min-width : 668px) and (max-width : 1024px) {
    .sp-intro h4, .sp-intro b, .sp-intro i, .sp-intro p, .sp-intro span {
        line-height: 46px !important;
        font-size: 38px !important;
        font-weight: 400 !important;
    }
}
@media (max-width : 667px) {
    .sp-intro h4, .sp-intro b, .sp-intro i, .sp-intro span, .sp-intro p {
        line-height: 36px !important;
        font-size: 28px !important;
        font-weight: 400 !important;
    }
}