@charset "UTF-8";
@import url("https://fonts.googleapis.com/css?family=Didact+Gothic" );
@font-face{
    font-family: gotham-light;
    src: url('../fonts/Gotham-Medium.ttf');
 }
@font-face{
    font-family: gotham-bold;
    src: url('../fonts/Gotham-Bold.otf');
}
html,
body,
div,
span,
applet,
object,
iframe,
h1,
h2,
h3,
h4,
h5,
h6,
p,
blockquote,
pre,
a,
abbr,
acronym,
address,
big,
cite,
code,
del,
dfn,
em,
img,
ins,
kbd,
q,
s,
samp,
small,
strike,
strong,
sub,
sup,
tt,
var,
b,
u,
i,
center,
dl,
dt,
dd,
ol,
ul,
li,
fieldset,
form,
label,
legend,
table,
caption,
tbody,
tfoot,
thead,
tr,
th,
td,
article,
aside,
canvas,
details,
embed,
figure,
figcaption,
footer,
header,
hgroup,
menu,
nav,
output,
ruby,
section,
summary,
time,
mark,
audio,
video {
    margin: 0;
    padding: 0;
    border: 0;
    font-size: 100%;
    font: inherit;
    vertical-align: baseline
}

article,
aside,
details,
figcaption,
figure,
footer,
header,
hgroup,
menu,
nav,
section {
    display: block
}

html {
    box-sizing: border-box
}

*,
*:before,
*:after {
    box-sizing: inherit
}

body {
    line-height: 1;
    font-family: gotham-light, "Yu Gothic", "游ゴシック", YuGothic, "游ゴシック体", "ヒラギノ角ゴ Pro W3", "メイリオ", sans-serif;
    -webkit-font-smoothing: antialiased
}

ol,
ul {
    list-style: none
}

blockquote,
q {
    quotes: none
}

blockquote:before,
blockquote:after,
q:before,
q:after {
    content: '';
    content: none
}

table {
    border-collapse: collapse;
    border-spacing: 0
}

a {
    text-decoration: none
}

:focus {
    outline: 0
}

::-moz-selection {
    background: #9aa8a8
}

::selection {
    background: #9aa8a8
}

input,
textarea {
    -webkit-appearance: none
}

.container {
    padding-right: 15px;
    padding-left: 15px;
    margin-right: auto;
    margin-left: auto
}

@media(min-width:768px) {
    .container {
        width: 750px
    }
}

@media(min-width:992px) {
    .container {
        width: 970px
    }
}

@media(min-width:1200px) {
    .container {
        width: 1170px
    }
}

.container-fluid {
    position: relative;
    padding-left: 30px;
    padding-right: 30px
}

@media(min-width:1200px) {
    .container-fluid {
        padding-left: 100px;
        padding-right: 100px
    }
}

.img-responsive {
    max-width: 100%;
    height: auto
}

[class*="col-"] {
    font-family: gotham-light, "Yu Gothic", "游ゴシック", YuGothic, "游ゴシック体", "ヒラギノ角ゴ Pro W3", "メイリオ", sans-serif;
    letter-spacing: normal;
    display: inline-block;
    vertical-align: top;
    padding-left: 15px;
    padding-right: 15px
}

.row {
    font-family: monospace;
    letter-spacing: -.65em
}

@media(min-width:1200px) {
    .row {
        margin-left: -15px;
        margin-right: -15px
    }
}

@media(max-width:767px) {
    .col-xs-1 {
        width: 8.33333%
    }
    .col-xs-2 {
        width: 16.66667%
    }
    .col-xs-3 {
        width: 25%
    }
    .col-xs-4 {
        width: 33.33333%
    }
    .col-xs-5 {
        width: 41.66667%
    }
    .col-xs-6 {
        width: 50%
    }
    .col-xs-7 {
        width: 58.33333%
    }
    .col-xs-8 {
        width: 66.66667%
    }
    .col-xs-9 {
        width: 75%
    }
    .col-xs-10 {
        width: 83.33333%
    }
    .col-xs-11 {
        width: 91.66667%
    }
    .col-xs-12 {
        width: 100%
    }
    .col-xs-5col {
        width: 20%
    }
}

@media(min-width:768px) {
    .col-sm-1 {
        width: 8.33333%
    }
    .col-sm-2 {
        width: 16.66667%
    }
    .col-sm-3 {
        width: 25%
    }
    .col-sm-4 {
        width: 33.33333%
    }
    .col-sm-5 {
        width: 41.66667%
    }
    .col-sm-6 {
        width: 50%
    }
    .col-sm-7 {
        width: 58.33333%
    }
    .col-sm-8 {
        width: 66.66667%
    }
    .col-sm-9 {
        width: 75%
    }
    .col-sm-10 {
        width: 83.33333%
    }
    .col-sm-11 {
        width: 91.66667%
    }
    .col-sm-12 {
        width: 100%
    }
    .col-sm-5col {
        width: 20%
    }
}

@media(min-width:992px) {
    .col-md-1,
    .col-md-2,
    .col-md-3,
    .col-md-4,
    .col-md-5,
    .col-md-6,
    .col-md-7,
    .col-md-8,
    .col-md-9,
    .col-md-10,
    .col-md-11,
    .col-md-12 {
        float: left
    }
    .col-md-1 {
        width: 8.33333%
    }
    .col-md-2 {
        width: 16.66667%
    }
    .col-md-3 {
        width: 25%
    }
    .col-md-4 {
        width: 33.33333%
    }
    .col-md-5 {
        width: 41.66667%
    }
    .col-md-6 {
        width: 50%
    }
    .col-md-7 {
        width: 58.33333%
    }
    .col-md-8 {
        width: 66.66667%
    }
    .col-md-9 {
        width: 75%
    }
    .col-md-10 {
        width: 83.33333%
    }
    .col-md-11 {
        width: 91.66667%
    }
    .col-md-12 {
        width: 100%
    }
    .col-md-5col {
        width: 20%
    }
    .col-md-pull-12 {
        right: 100%
    }
    .col-md-pull-11 {
        right: 91.66666667%
    }
    .col-md-pull-10 {
        right: 83.33333333%
    }
    .col-md-pull-9 {
        right: 75%
    }
    .col-md-pull-8 {
        right: 66.66666667%
    }
    .col-md-pull-7 {
        right: 58.33333333%
    }
    .col-md-pull-6 {
        right: 50%
    }
    .col-md-pull-5 {
        right: 41.66666667%
    }
    .col-md-pull-4 {
        right: 33.33333333%
    }
    .col-md-pull-3 {
        right: 25%
    }
    .col-md-pull-2 {
        right: 16.66666667%
    }
    .col-md-pull-1 {
        right: 8.33333333%
    }
    .col-md-pull-0 {
        right: auto
    }
    .col-md-push-12 {
        left: 100%
    }
    .col-md-push-11 {
        left: 91.66666667%
    }
    .col-md-push-10 {
        left: 83.33333333%
    }
    .col-md-push-9 {
        left: 75%
    }
    .col-md-push-8 {
        left: 66.66666667%
    }
    .col-md-push-7 {
        left: 58.33333333%
    }
    .col-md-push-6 {
        left: 50%
    }
    .col-md-push-5 {
        left: 41.66666667%
    }
    .col-md-push-4 {
        left: 33.33333333%
    }
    .col-md-push-3 {
        left: 25%
    }
    .col-md-push-2 {
        left: 16.66666667%
    }
    .col-md-push-1 {
        left: 8.33333333%
    }
    .col-md-push-0 {
        left: auto
    }
}

@media(min-width:1200px) {
    .col-lg-1 {
        width: 8.33333%
    }
    .col-lg-2 {
        width: 16.66667%
    }
    .col-lg-3 {
        width: 25%
    }
    .col-lg-4 {
        width: 33.33333%
    }
    .col-lg-5 {
        width: 41.66667%
    }
    .col-lg-6 {
        width: 50%
    }
    .col-lg-7 {
        width: 58.33333%
    }
    .col-lg-8 {
        width: 66.66667%
    }
    .col-lg-9 {
        width: 75%
    }
    .col-lg-10 {
        width: 83.33333%
    }
    .col-lg-11 {
        width: 91.66667%
    }
    .col-lg-12 {
        width: 100%
    }
    .col-lg-5col {
        width: 20%
    }
}

@media(max-width:767px) {
    .col-xs-offset-left-1 {
        margin-left: 8.33333%
    }
    .col-xs-offset-right-1 {
        margin-right: 8.33333%
    }
    .col-xs-offset-left-2 {
        margin-left: 16.66667%
    }
    .col-xs-offset-right-2 {
        margin-right: 16.66667%
    }
    .col-xs-offset-left-3 {
        margin-left: 25%
    }
    .col-xs-offset-right-3 {
        margin-right: 25%
    }
    .col-xs-offset-left-4 {
        margin-left: 33.33333%
    }
    .col-xs-offset-right-4 {
        margin-right: 33.33333%
    }
    .col-xs-offset-left-5 {
        margin-left: 41.66667%
    }
    .col-xs-offset-right-5 {
        margin-right: 41.66667%
    }
    .col-xs-offset-left-6 {
        margin-left: 50%
    }
    .col-xs-offset-right-6 {
        margin-right: 50%
    }
    .col-xs-offset-left-7 {
        margin-left: 58.33333%
    }
    .col-xs-offset-right-7 {
        margin-right: 58.33333%
    }
    .col-xs-offset-left-8 {
        margin-left: 66.66667%
    }
    .col-xs-offset-right-8 {
        margin-right: 66.66667%
    }
    .col-xs-offset-left-9 {
        margin-left: 75%
    }
    .col-xs-offset-right-9 {
        margin-right: 75%
    }
    .col-xs-offset-left-10 {
        margin-left: 83.33333%
    }
    .col-xs-offset-right-10 {
        margin-right: 83.33333%
    }
    .col-xs-offset-left-11 {
        margin-left: 91.66667%
    }
    .col-xs-offset-right-11 {
        margin-right: 91.66667%
    }
}

@media(min-width:768px) {
    .col-sm-offset-left-1 {
        margin-left: 8.33333%
    }
    .col-sm-offset-right-1 {
        margin-right: 8.33333%
    }
    .col-sm-offset-left-2 {
        margin-left: 16.66667%
    }
    .col-sm-offset-right-2 {
        margin-right: 16.66667%
    }
    .col-sm-offset-left-3 {
        margin-left: 25%
    }
    .col-sm-offset-right-3 {
        margin-right: 25%
    }
    .col-sm-offset-left-4 {
        margin-left: 33.33333%
    }
    .col-sm-offset-right-4 {
        margin-right: 33.33333%
    }
    .col-sm-offset-left-5 {
        margin-left: 41.66667%
    }
    .col-sm-offset-right-5 {
        margin-right: 41.66667%
    }
    .col-sm-offset-left-6 {
        margin-left: 50%
    }
    .col-sm-offset-right-6 {
        margin-right: 50%
    }
    .col-sm-offset-left-7 {
        margin-left: 58.33333%
    }
    .col-sm-offset-right-7 {
        margin-right: 58.33333%
    }
    .col-sm-offset-left-8 {
        margin-left: 66.66667%
    }
    .col-sm-offset-right-8 {
        margin-right: 66.66667%
    }
    .col-sm-offset-left-9 {
        margin-left: 75%
    }
    .col-sm-offset-right-9 {
        margin-right: 75%
    }
    .col-sm-offset-left-10 {
        margin-left: 83.33333%
    }
    .col-sm-offset-right-10 {
        margin-right: 83.33333%
    }
    .col-sm-offset-left-11 {
        margin-left: 91.66667%
    }
    .col-sm-offset-right-11 {
        margin-right: 91.66667%
    }
}

@media(min-width:992px) {
    .col-md-offset-left-1 {
        margin-left: 8.33333%
    }
    .col-md-offset-right-1 {
        margin-right: 8.33333%
    }
    .col-md-offset-left-2 {
        margin-left: 16.66667%
    }
    .col-md-offset-right-2 {
        margin-right: 16.66667%
    }
    .col-md-offset-left-3 {
        margin-left: 25%
    }
    .col-md-offset-right-3 {
        margin-right: 25%
    }
    .col-md-offset-left-4 {
        margin-left: 33.33333%
    }
    .col-md-offset-right-4 {
        margin-right: 33.33333%
    }
    .col-md-offset-left-5 {
        margin-left: 41.66667%
    }
    .col-md-offset-right-5 {
        margin-right: 41.66667%
    }
    .col-md-offset-left-6 {
        margin-left: 50%
    }
    .col-md-offset-right-6 {
        margin-right: 50%
    }
    .col-md-offset-left-7 {
        margin-left: 58.33333%
    }
    .col-md-offset-right-7 {
        margin-right: 58.33333%
    }
    .col-md-offset-left-8 {
        margin-left: 66.66667%
    }
    .col-md-offset-right-8 {
        margin-right: 66.66667%
    }
    .col-md-offset-left-9 {
        margin-left: 75%
    }
    .col-md-offset-right-9 {
        margin-right: 75%
    }
    .col-md-offset-left-10 {
        margin-left: 83.33333%
    }
    .col-md-offset-right-10 {
        margin-right: 83.33333%
    }
    .col-md-offset-left-11 {
        margin-left: 91.66667%
    }
    .col-md-offset-right-11 {
        margin-right: 91.66667%
    }
}

@media(min-width:1200px) {
    .col-lg-offset-left-1 {
        margin-left: 8.33333%
    }
    .col-lg-offset-right-1 {
        margin-right: 8.33333%
    }
    .col-lg-offset-left-2 {
        margin-left: 16.66667%
    }
    .col-lg-offset-right-2 {
        margin-right: 16.66667%
    }
    .col-lg-offset-left-3 {
        margin-left: 25%
    }
    .col-lg-offset-right-3 {
        margin-right: 25%
    }
    .col-lg-offset-left-4 {
        margin-left: 33.33333%
    }
    .col-lg-offset-right-4 {
        margin-right: 33.33333%
    }
    .col-lg-offset-left-5 {
        margin-left: 41.66667%
    }
    .col-lg-offset-right-5 {
        margin-right: 41.66667%
    }
    .col-lg-offset-left-6 {
        margin-left: 50%
    }
    .col-lg-offset-right-6 {
        margin-right: 50%
    }
    .col-lg-offset-left-7 {
        margin-left: 58.33333%
    }
    .col-lg-offset-right-7 {
        margin-right: 58.33333%
    }
    .col-lg-offset-left-8 {
        margin-left: 66.66667%
    }
    .col-lg-offset-right-8 {
        margin-right: 66.66667%
    }
    .col-lg-offset-left-9 {
        margin-left: 75%
    }
    .col-lg-offset-right-9 {
        margin-right: 75%
    }
    .col-lg-offset-left-10 {
        margin-left: 83.33333%
    }
    .col-lg-offset-right-10 {
        margin-right: 83.33333%
    }
    .col-lg-offset-left-11 {
        margin-left: 91.66667%
    }
    .col-lg-offset-right-11 {
        margin-right: 91.66667%
    }
}

@media(max-width:767px) {
    .hidden-xs {
        display: none !important
    }
}

@media(min-width:768px) and (max-width:991px) {
    .hidden-sm {
        display: none !important
    }
}

@media(min-width:992px) and (max-width:1199px) {
    .hidden-md {
        display: none !important
    }
}

@media(min-width:1200px) {
    .hidden-lg {
        display: none !important
    }
}

.align-left {
    text-align: left !important
}

.align-right {
    text-align: right !important
}

.align-center {
    text-align: center !important
}

.align-middle {
    vertical-align: middle !important
}

.align-top {
    vertical-align: top !important
}

.align-bottom {
    vertical-align: bottom !important
}

.pt-0 {
    padding-top: 0 !important
}

.pt-5 {
    padding-top: 5px !important
}

.pt-10 {
    padding-top: 10px !important
}

.pt-15 {
    padding-top: 15px !important
}

.pt-20 {
    padding-top: 20px !important
}

.pt-25 {
    padding-top: 25px !important
}

.pt-30 {
    padding-top: 30px !important
}

.pt-50 {
    padding-top: 50px !important
}

.pr-0 {
    padding-right: 0 !important
}

.pr-5 {
    padding-right: 5px !important
}

.pr-10 {
    padding-right: 10px !important
}

.pr-15 {
    padding-right: 15px !important
}

.pr-20 {
    padding-right: 20px !important
}

.pr-25 {
    padding-right: 25px !important
}

.pr-30 {
    padding-right: 30px !important
}

.pr-50 {
    padding-right: 50px !important
}

.pb-0 {
    padding-bottom: 0 !important
}

.pb-5 {
    padding-bottom: 5px !important
}

.pb-10 {
    padding-bottom: 10px !important
}

.pb-15 {
    padding-bottom: 15px !important
}

.pb-20 {
    padding-bottom: 20px !important
}

.pb-25 {
    padding-bottom: 25px !important
}

.pb-30 {
    padding-bottom: 30px !important
}

.pb-50 {
    padding-bottom: 50px !important
}

.pl-0 {
    padding-left: 0 !important
}

.pl-5 {
    padding-left: 5px !important
}

.pl-10 {
    padding-left: 10px !important
}

.pl-15 {
    padding-left: 15px !important
}

.pl-20 {
    padding-left: 20px !important
}

.pl-25 {
    padding-left: 25px !important
}

.pl-30 {
    padding-left: 30px !important
}

.pl-50 {
    padding-left: 50px !important
}

.mt-0 {
    margin-top: 0 !important
}

.mt-5 {
    margin-top: 5px !important
}

.mt-10 {
    margin-top: 10px !important
}

.mt-15 {
    margin-top: 15px !important
}

.mt-20 {
    margin-top: 20px !important
}

.mt-25 {
    margin-top: 25px !important
}

.mt-30 {
    margin-top: 30px !important
}

.mt-50 {
    margin-top: 50px !important
}

.mr-0 {
    margin-right: 0 !important
}

.mr-5 {
    margin-right: 5px !important
}

.mr-10 {
    margin-right: 10px !important
}

.mr-15 {
    margin-right: 15px !important
}

.mr-20 {
    margin-right: 20px !important
}

.mr-25 {
    margin-right: 25px !important
}

.mr-30 {
    margin-right: 30px !important
}

.mr-50 {
    margin-right: 50px !important
}

.mb-0 {
    margin-bottom: 0 !important
}

.mb-5 {
    margin-bottom: 5px !important
}

.mb-10 {
    margin-bottom: 10px !important
}

.mb-15 {
    margin-bottom: 15px !important
}

.mb-20 {
    margin-bottom: 20px !important
}

.mb-25 {
    margin-bottom: 25px !important
}

.mb-30 {
    margin-bottom: 30px !important
}

.mb-50 {
    margin-bottom: 50px !important
}

.ml-0 {
    margin-left: 0 !important
}

.ml-5 {
    margin-left: 5px !important
}

.ml-10 {
    margin-left: 10px !important
}

.ml-15 {
    margin-left: 15px !important
}

.ml-20 {
    margin-left: 20px !important
}

.ml-25 {
    margin-left: 25px !important
}

.ml-30 {
    margin-left: 30px !important
}

.ml-50 {
    margin-left: 50px !important
}

.no-padding {
    padding: 0 !important
}

.no-margin {
    margin: 0 !important
}

.header-logo,
.blog-related-post-meta__title {
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap
}

.main-video:before,
.section-arrow:before,
.s-skills-2:before {
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    margin: auto
}

.owl-carousel .animated {
    -webkit-animation-duration: 1000ms;
    animation-duration: 1000ms;
    -webkit-animation-fill-mode: both;
    animation-fill-mode: both
}

.owl-carousel .owl-animated-in {
    z-index: 0
}

.owl-carousel .owl-animated-out {
    z-index: 1
}

.owl-height {
    -webkit-transition: height 500ms ease-in-out;
    -moz-transition: height 500ms ease-in-out;
    -ms-transition: height 500ms ease-in-out;
    -o-transition: height 500ms ease-in-out;
    transition: height 500ms ease-in-out
}

.owl-carousel {
    display: none;
    width: 100%;
    -webkit-tap-highlight-color: transparent;
    position: relative;
    z-index: 1
}

.owl-carousel .owl-stage {
    position: relative;
    -ms-touch-action: pan-Y;
    height: 100%
}

.owl-carousel .owl-stage:after {
    content: ".";
    display: block;
    clear: both;
    visibility: hidden;
    line-height: 0;
    height: 0
}

.owl-carousel .owl-stage-outer {
    position: relative;
    overflow: hidden;
    -webkit-transform: translate3d(0px, 0, 0);
    height: 100%
}

.owl-carousel .owl-controls .owl-dot,
.owl-carousel .owl-controls .owl-nav .owl-next,
.owl-carousel .owl-controls .owl-nav .owl-prev {
    cursor: pointer;
    cursor: hand;
    -webkit-user-select: none;
    -khtml-user-select: none;
    -moz-user-select: none;
    -ms-user-select: none;
    user-select: none
}

.owl-carousel.owl-loaded {
    display: block
}

.owl-carousel.owl-loading {
    opacity: 0;
    display: block
}

.owl-carousel.owl-hidden {
    opacity: 0
}

.owl-carousel .owl-refresh .owl-item {
    display: none
}

.owl-carousel .owl-item {
    position: relative;
    min-height: 1px;
    float: left;
    height: 100%;
    -webkit-backface-visibility: hidden;
    -webkit-tap-highlight-color: transparent;
    -webkit-touch-callout: none;
    -webkit-user-select: none;
    -moz-user-select: none;
    -ms-user-select: none;
    user-select: none;
    -webkit-transform: translateZ(0)
}

.owl-carousel .owl-item img {
    display: block;
    width: 100%;
    -webkit-transform-style: preserve-3d
}

.owl-carousel.owl-text-select-on .owl-item {
    -webkit-user-select: auto;
    -moz-user-select: auto;
    -ms-user-select: auto;
    user-select: auto
}

.owl-carousel .owl-grab {
    cursor: move;
    cursor: -webkit-grab;
    cursor: -o-grab;
    cursor: -ms-grab;
    cursor: grab
}

.owl-carousel.owl-rtl {
    direction: rtl
}

.owl-carousel.owl-rtl .owl-item {
    float: right
}

.no-js .owl-carousel {
    display: block
}

.owl-carousel .owl-item .owl-lazy {
    opacity: 0;
    -webkit-transition: opacity 400ms ease;
    -moz-transition: opacity 400ms ease;
    -ms-transition: opacity 400ms ease;
    -o-transition: opacity 400ms ease;
    transition: opacity 400ms ease
}

.owl-carousel .owl-item img {
    transform-style: preserve-3d
}

.owl-carousel .owl-video-wrapper {
    position: relative;
    height: 100%;
    background: #000
}

.owl-carousel .owl-video-play-icon {
    position: absolute;
    height: 80px;
    width: 80px;
    left: 50%;
    top: 50%;
    margin-left: -40px;
    margin-top: -40px;
    background: url(owl.video.play.png) no-repeat;
    cursor: pointer;
    z-index: 1;
    -webkit-backface-visibility: hidden;
    -webkit-transition: scale 100ms ease;
    -moz-transition: scale 100ms ease;
    -ms-transition: scale 100ms ease;
    -o-transition: scale 100ms ease;
    transition: scale 100ms ease
}

.owl-carousel .owl-video-play-icon:hover {
    -webkit-transition: scale(1.3, 1.3);
    -moz-transition: scale(1.3, 1.3);
    -ms-transition: scale(1.3, 1.3);
    -o-transition: scale(1.3, 1.3);
    transition: scale(1.3, 1.3)
}

.owl-carousel .owl-video-playing .owl-video-play-icon,
.owl-carousel .owl-video-playing .owl-video-tn {
    display: none
}

.owl-carousel .owl-video-tn {
    opacity: 0;
    height: 100%;
    background-position: center center;
    background-repeat: no-repeat;
    -webkit-background-size: contain;
    -moz-background-size: contain;
    -o-background-size: contain;
    background-size: contain;
    -webkit-transition: opacity 400ms ease;
    -moz-transition: opacity 400ms ease;
    -ms-transition: opacity 400ms ease;
    -o-transition: opacity 400ms ease;
    transition: opacity 400ms ease
}

.owl-carousel .owl-video-frame {
    position: relative;
    z-index: 1
}

@-webkit-keyframes bounce {
    0%,
    20%,
    50%,
    80%,
    100% {
        -webkit-transform: translate3d(0, 0, 0);
        -ms-transform: translate3d(0, 0, 0);
        transform: translate3d(0, 0, 0)
    }
    40% {
        -webkit-transform: translate3d(0, -30px, 0);
        -ms-transform: translate3d(0, -30px, 0);
        transform: translate3d(0, -30px, 0)
    }
    60% {
        -webkit-transform: translate3d(0, -15px, 0);
        -ms-transform: translate3d(0, -15px, 0);
        transform: translate3d(0, -15px, 0)
    }
}

@keyframes bounce {
    0%,
    20%,
    50%,
    80%,
    100% {
        -webkit-transform: translate3d(0, 0, 0);
        -ms-transform: translate3d(0, 0, 0);
        transform: translate3d(0, 0, 0)
    }
    40% {
        -webkit-transform: translate3d(0, -30px, 0);
        -ms-transform: translate3d(0, -30px, 0);
        transform: translate3d(0, -30px, 0)
    }
    60% {
        -webkit-transform: translate3d(0, -15px, 0);
        -ms-transform: translate3d(0, -15px, 0);
        transform: translate3d(0, -15px, 0)
    }
}

@-webkit-keyframes flash {
    0%,
    50%,
    100% {
        opacity: 1
    }
    25%,
    75% {
        opacity: 0
    }
}

@keyframes flash {
    0%,
    50%,
    100% {
        opacity: 1
    }
    25%,
    75% {
        opacity: 0
    }
}

@-webkit-keyframes pulse {
    0% {
        -webkit-transform: scale3d(1, 1, 1);
        -ms-transform: scale3d(1, 1, 1);
        transform: scale3d(1, 1, 1)
    }
    50% {
        -webkit-transform: scale3d(1.1, 1.1, 1.1);
        -ms-transform: scale3d(1.1, 1.1, 1.1);
        transform: scale3d(1.1, 1.1, 1.1)
    }
    100% {
        -webkit-transform: scale3d(1, 1, 1);
        -ms-transform: scale3d(1, 1, 1);
        transform: scale3d(1, 1, 1)
    }
}

@keyframes pulse {
    0% {
        -webkit-transform: scale3d(1, 1, 1);
        -ms-transform: scale3d(1, 1, 1);
        transform: scale3d(1, 1, 1)
    }
    50% {
        -webkit-transform: scale3d(1.1, 1.1, 1.1);
        -ms-transform: scale3d(1.1, 1.1, 1.1);
        transform: scale3d(1.1, 1.1, 1.1)
    }
    100% {
        -webkit-transform: scale3d(1, 1, 1);
        -ms-transform: scale3d(1, 1, 1);
        transform: scale3d(1, 1, 1)
    }
}

@-webkit-keyframes rubberBand {
    0% {
        -webkit-transform: scale3d(1, 1, 1);
        -ms-transform: scale3d(1, 1, 1);
        transform: scale3d(1, 1, 1)
    }
    30% {
        -webkit-transform: scale3d(1.25, 0.75, 1);
        -ms-transform: scale3d(1.25, 0.75, 1);
        transform: scale3d(1.25, 0.75, 1)
    }
    40% {
        -webkit-transform: scale3d(0.75, 1.25, 1);
        -ms-transform: scale3d(0.75, 1.25, 1);
        transform: scale3d(0.75, 1.25, 1)
    }
    50% {
        -webkit-transform: scale3d(1.15, 0.85, 1);
        -ms-transform: scale3d(1.15, 0.85, 1);
        transform: scale3d(1.15, 0.85, 1)
    }
    65% {
        -webkit-transform: scale3d(0.95, 1.05, 1);
        -ms-transform: scale3d(0.95, 1.05, 1);
        transform: scale3d(0.95, 1.05, 1)
    }
    75% {
        -webkit-transform: scale3d(1.05, 0.95, 1);
        -ms-transform: scale3d(1.05, 0.95, 1);
        transform: scale3d(1.05, 0.95, 1)
    }
    100% {
        -webkit-transform: scale3d(1, 1, 1);
        -ms-transform: scale3d(1, 1, 1);
        transform: scale3d(1, 1, 1)
    }
}

@keyframes rubberBand {
    0% {
        -webkit-transform: scale3d(1, 1, 1);
        -ms-transform: scale3d(1, 1, 1);
        transform: scale3d(1, 1, 1)
    }
    30% {
        -webkit-transform: scale3d(1.25, 0.75, 1);
        -ms-transform: scale3d(1.25, 0.75, 1);
        transform: scale3d(1.25, 0.75, 1)
    }
    40% {
        -webkit-transform: scale3d(0.75, 1.25, 1);
        -ms-transform: scale3d(0.75, 1.25, 1);
        transform: scale3d(0.75, 1.25, 1)
    }
    50% {
        -webkit-transform: scale3d(1.15, 0.85, 1);
        -ms-transform: scale3d(1.15, 0.85, 1);
        transform: scale3d(1.15, 0.85, 1)
    }
    65% {
        -webkit-transform: scale3d(0.95, 1.05, 1);
        -ms-transform: scale3d(0.95, 1.05, 1);
        transform: scale3d(0.95, 1.05, 1)
    }
    75% {
        -webkit-transform: scale3d(1.05, 0.95, 1);
        -ms-transform: scale3d(1.05, 0.95, 1);
        transform: scale3d(1.05, 0.95, 1)
    }
    100% {
        -webkit-transform: scale3d(1, 1, 1);
        -ms-transform: scale3d(1, 1, 1);
        transform: scale3d(1, 1, 1)
    }
}

@-webkit-keyframes shake {
    0%,
    100% {
        -webkit-transform: translate3d(0, 0, 0);
        -ms-transform: translate3d(0, 0, 0);
        transform: translate3d(0, 0, 0)
    }
    10%,
    30%,
    50%,
    70%,
    90% {
        -webkit-transform: translate3d(-10px, 0, 0);
        -ms-transform: translate3d(-10px, 0, 0);
        transform: translate3d(-10px, 0, 0)
    }
    20%,
    40%,
    60%,
    80% {
        -webkit-transform: translate3d(10px, 0, 0);
        -ms-transform: translate3d(10px, 0, 0);
        transform: translate3d(10px, 0, 0)
    }
}

@keyframes shake {
    0%,
    100% {
        -webkit-transform: translate3d(0, 0, 0);
        -ms-transform: translate3d(0, 0, 0);
        transform: translate3d(0, 0, 0)
    }
    10%,
    30%,
    50%,
    70%,
    90% {
        -webkit-transform: translate3d(-10px, 0, 0);
        -ms-transform: translate3d(-10px, 0, 0);
        transform: translate3d(-10px, 0, 0)
    }
    20%,
    40%,
    60%,
    80% {
        -webkit-transform: translate3d(10px, 0, 0);
        -ms-transform: translate3d(10px, 0, 0);
        transform: translate3d(10px, 0, 0)
    }
}

@-webkit-keyframes swing {
    20%,
    40%,
    60%,
    80%,
    100% {
        -webkit-transform-origin: top center;
        -ms-transform-origin: top center;
        transform-origin: top center
    }
    20% {
        -webkit-transform: rotate3d(0, 0, 1, 15deg);
        -ms-transform: rotate3d(0, 0, 1, 15deg);
        transform: rotate3d(0, 0, 1, 15deg)
    }
    40% {
        -webkit-transform: rotate3d(0, 0, 1, -10deg);
        -ms-transform: rotate3d(0, 0, 1, -10deg);
        transform: rotate3d(0, 0, 1, -10deg)
    }
    60% {
        -webkit-transform: rotate3d(0, 0, 1, 5deg);
        -ms-transform: rotate3d(0, 0, 1, 5deg);
        transform: rotate3d(0, 0, 1, 5deg)
    }
    80% {
        -webkit-transform: rotate3d(0, 0, 1, -5deg);
        -ms-transform: rotate3d(0, 0, 1, -5deg);
        transform: rotate3d(0, 0, 1, -5deg)
    }
    100% {
        -webkit-transform: rotate3d(0, 0, 1, 0deg);
        -ms-transform: rotate3d(0, 0, 1, 0deg);
        transform: rotate3d(0, 0, 1, 0deg)
    }
}

@keyframes swing {
    20%,
    40%,
    60%,
    80%,
    100% {
        -webkit-transform-origin: top center;
        -ms-transform-origin: top center;
        transform-origin: top center
    }
    20% {
        -webkit-transform: rotate3d(0, 0, 1, 15deg);
        -ms-transform: rotate3d(0, 0, 1, 15deg);
        transform: rotate3d(0, 0, 1, 15deg)
    }
    40% {
        -webkit-transform: rotate3d(0, 0, 1, -10deg);
        -ms-transform: rotate3d(0, 0, 1, -10deg);
        transform: rotate3d(0, 0, 1, -10deg)
    }
    60% {
        -webkit-transform: rotate3d(0, 0, 1, 5deg);
        -ms-transform: rotate3d(0, 0, 1, 5deg);
        transform: rotate3d(0, 0, 1, 5deg)
    }
    80% {
        -webkit-transform: rotate3d(0, 0, 1, -5deg);
        -ms-transform: rotate3d(0, 0, 1, -5deg);
        transform: rotate3d(0, 0, 1, -5deg)
    }
    100% {
        -webkit-transform: rotate3d(0, 0, 1, 0deg);
        -ms-transform: rotate3d(0, 0, 1, 0deg);
        transform: rotate3d(0, 0, 1, 0deg)
    }
}

@-webkit-keyframes tada {
    0% {
        -webkit-transform: scale3d(1, 1, 1);
        -ms-transform: scale3d(1, 1, 1);
        transform: scale3d(1, 1, 1)
    }
    10%,
    20% {
        -webkit-transform: scale3d(0.9, 0.9, 0.9) rotate(-3deg);
        -ms-transform: scale3d(0.9, 0.9, 0.9) rotate(-3deg);
        transform: scale3d(0.9, 0.9, 0.9) rotate(-3deg)
    }
    30%,
    50%,
    70%,
    90% {
        -webkit-transform: scale3d(1.1, 1.1, 1.1) rotate(3deg);
        -ms-transform: scale3d(1.1, 1.1, 1.1) rotate(3deg);
        transform: scale3d(1.1, 1.1, 1.1) rotate(3deg)
    }
    40%,
    60%,
    80% {
        -webkit-transform: scale3d(1.1, 1.1, 1.1) rotate(-3deg);
        -ms-transform: scale3d(1.1, 1.1, 1.1) rotate(-3deg);
        transform: scale3d(1.1, 1.1, 1.1) rotate(-3deg)
    }
    100% {
        -webkit-transform: scale3d(1, 1, 1) rotate(0);
        -ms-transform: scale3d(1, 1, 1) rotate(0);
        transform: scale3d(1, 1, 1) rotate(0)
    }
}

@keyframes tada {
    0% {
        -webkit-transform: scale3d(1, 1, 1);
        -ms-transform: scale3d(1, 1, 1);
        transform: scale3d(1, 1, 1)
    }
    10%,
    20% {
        -webkit-transform: scale3d(0.9, 0.9, 0.9) rotate(-3deg);
        -ms-transform: scale3d(0.9, 0.9, 0.9) rotate(-3deg);
        transform: scale3d(0.9, 0.9, 0.9) rotate(-3deg)
    }
    30%,
    50%,
    70%,
    90% {
        -webkit-transform: scale3d(1.1, 1.1, 1.1) rotate(3deg);
        -ms-transform: scale3d(1.1, 1.1, 1.1) rotate(3deg);
        transform: scale3d(1.1, 1.1, 1.1) rotate(3deg)
    }
    40%,
    60%,
    80% {
        -webkit-transform: scale3d(1.1, 1.1, 1.1) rotate(-3deg);
        -ms-transform: scale3d(1.1, 1.1, 1.1) rotate(-3deg);
        transform: scale3d(1.1, 1.1, 1.1) rotate(-3deg)
    }
    100% {
        -webkit-transform: scale3d(1, 1, 1) rotate(0);
        -ms-transform: scale3d(1, 1, 1) rotate(0);
        transform: scale3d(1, 1, 1) rotate(0)
    }
}

@-webkit-keyframes wobble {
    0% {
        -webkit-transform: translate3d(0%, 0, 0);
        -ms-transform: translate3d(0%, 0, 0);
        transform: translate3d(0%, 0, 0)
    }
    15% {
        -webkit-transform: translate3d(-25%, 0, 0) rotate(-5deg);
        -ms-transform: translate3d(-25%, 0, 0) rotate(-5deg);
        transform: translate3d(-25%, 0, 0) rotate(-5deg)
    }
    30% {
        -webkit-transform: translate3d(20%, 0, 0) rotate(3deg);
        -ms-transform: translate3d(20%, 0, 0) rotate(3deg);
        transform: translate3d(20%, 0, 0) rotate(3deg)
    }
    45% {
        -webkit-transform: translate3d(-15%, 0, 0) rotate(-3deg);
        -ms-transform: translate3d(-15%, 0, 0) rotate(-3deg);
        transform: translate3d(-15%, 0, 0) rotate(-3deg)
    }
    60% {
        -webkit-transform: translate3d(10%, 0, 0) rotate(2deg);
        -ms-transform: translate3d(10%, 0, 0) rotate(2deg);
        transform: translate3d(10%, 0, 0) rotate(2deg)
    }
    75% {
        -webkit-transform: translate3d(-5%, 0, 0) rotate(-1deg);
        -ms-transform: translate3d(-5%, 0, 0) rotate(-1deg);
        transform: translate3d(-5%, 0, 0) rotate(-1deg)
    }
    100% {
        -webkit-transform: translate3d(0%, 0, 0);
        -ms-transform: translate3d(0%, 0, 0);
        transform: translate3d(0%, 0, 0)
    }
}

@keyframes wobble {
    0% {
        -webkit-transform: translate3d(0%, 0, 0);
        -ms-transform: translate3d(0%, 0, 0);
        transform: translate3d(0%, 0, 0)
    }
    15% {
        -webkit-transform: translate3d(-25%, 0, 0) rotate(-5deg);
        -ms-transform: translate3d(-25%, 0, 0) rotate(-5deg);
        transform: translate3d(-25%, 0, 0) rotate(-5deg)
    }
    30% {
        -webkit-transform: translate3d(20%, 0, 0) rotate(3deg);
        -ms-transform: translate3d(20%, 0, 0) rotate(3deg);
        transform: translate3d(20%, 0, 0) rotate(3deg)
    }
    45% {
        -webkit-transform: translate3d(-15%, 0, 0) rotate(-3deg);
        -ms-transform: translate3d(-15%, 0, 0) rotate(-3deg);
        transform: translate3d(-15%, 0, 0) rotate(-3deg)
    }
    60% {
        -webkit-transform: translate3d(10%, 0, 0) rotate(2deg);
        -ms-transform: translate3d(10%, 0, 0) rotate(2deg);
        transform: translate3d(10%, 0, 0) rotate(2deg)
    }
    75% {
        -webkit-transform: translate3d(-5%, 0, 0) rotate(-1deg);
        -ms-transform: translate3d(-5%, 0, 0) rotate(-1deg);
        transform: translate3d(-5%, 0, 0) rotate(-1deg)
    }
    100% {
        -webkit-transform: translate3d(0%, 0, 0);
        -ms-transform: translate3d(0%, 0, 0);
        transform: translate3d(0%, 0, 0)
    }
}

@-webkit-keyframes bounceIn {
    0% {
        opacity: 0;
        -webkit-transform: scale3d(0.3, 0.3, 0.3);
        -ms-transform: scale3d(0.3, 0.3, 0.3);
        transform: scale3d(0.3, 0.3, 0.3)
    }
    50% {
        opacity: 1;
        -webkit-transform: scale3d(1.05, 1.05, 1.05);
        -ms-transform: scale3d(1.05, 1.05, 1.05);
        transform: scale3d(1.05, 1.05, 1.05)
    }
    70% {
        -webkit-transform: scale3d(0.9, 0.9, 0.9);
        -ms-transform: scale3d(0.9, 0.9, 0.9);
        transform: scale3d(0.9, 0.9, 0.9)
    }
    100% {
        -webkit-transform: scale3d(1, 1, 1);
        -ms-transform: scale3d(1, 1, 1);
        transform: scale3d(1, 1, 1)
    }
}

@keyframes bounceIn {
    0% {
        opacity: 0;
        -webkit-transform: scale3d(0.3, 0.3, 0.3);
        -ms-transform: scale3d(0.3, 0.3, 0.3);
        transform: scale3d(0.3, 0.3, 0.3)
    }
    50% {
        opacity: 1;
        -webkit-transform: scale3d(1.05, 1.05, 1.05);
        -ms-transform: scale3d(1.05, 1.05, 1.05);
        transform: scale3d(1.05, 1.05, 1.05)
    }
    70% {
        -webkit-transform: scale3d(0.9, 0.9, 0.9);
        -ms-transform: scale3d(0.9, 0.9, 0.9);
        transform: scale3d(0.9, 0.9, 0.9)
    }
    100% {
        -webkit-transform: scale3d(1, 1, 1);
        -ms-transform: scale3d(1, 1, 1);
        transform: scale3d(1, 1, 1)
    }
}

@-webkit-keyframes bounceInDown {
    0% {
        opacity: 0;
        -webkit-transform: translate3d(0, -2000px, 0);
        -ms-transform: translate3d(0, -2000px, 0);
        transform: translate3d(0, -2000px, 0)
    }
    60% {
        opacity: 1;
        -webkit-transform: translate3d(0, 30px, 0);
        -ms-transform: translate3d(0, 30px, 0);
        transform: translate3d(0, 30px, 0)
    }
    80% {
        -webkit-transform: translate3d(0, -10px, 0);
        -ms-transform: translate3d(0, -10px, 0);
        transform: translate3d(0, -10px, 0)
    }
    100% {
        -webkit-transform: translate3d(0, 0, 0);
        -ms-transform: translate3d(0, 0, 0);
        transform: translate3d(0, 0, 0)
    }
}

@keyframes bounceInDown {
    0% {
        opacity: 0;
        -webkit-transform: translate3d(0, -2000px, 0);
        -ms-transform: translate3d(0, -2000px, 0);
        transform: translate3d(0, -2000px, 0)
    }
    60% {
        opacity: 1;
        -webkit-transform: translate3d(0, 30px, 0);
        -ms-transform: translate3d(0, 30px, 0);
        transform: translate3d(0, 30px, 0)
    }
    80% {
        -webkit-transform: translate3d(0, -10px, 0);
        -ms-transform: translate3d(0, -10px, 0);
        transform: translate3d(0, -10px, 0)
    }
    100% {
        -webkit-transform: translate3d(0, 0, 0);
        -ms-transform: translate3d(0, 0, 0);
        transform: translate3d(0, 0, 0)
    }
}

@-webkit-keyframes bounceInLeft {
    0% {
        opacity: 0;
        -webkit-transform: translate3d(-2000px, 0, 0);
        -ms-transform: translate3d(-2000px, 0, 0);
        transform: translate3d(-2000px, 0, 0)
    }
    60% {
        opacity: 1;
        -webkit-transform: translate3d(30px, 0, 0);
        -ms-transform: translate3d(30px, 0, 0);
        transform: translate3d(30px, 0, 0)
    }
    80% {
        -webkit-transform: translate3d(-10px, 0, 0);
        -ms-transform: translate3d(-10px, 0, 0);
        transform: translate3d(-10px, 0, 0)
    }
    100% {
        -webkit-transform: translate3d(0, 0, 0);
        -ms-transform: translate3d(0, 0, 0);
        transform: translate3d(0, 0, 0)
    }
}

@keyframes bounceInLeft {
    0% {
        opacity: 0;
        -webkit-transform: translate3d(-2000px, 0, 0);
        -ms-transform: translate3d(-2000px, 0, 0);
        transform: translate3d(-2000px, 0, 0)
    }
    60% {
        opacity: 1;
        -webkit-transform: translate3d(30px, 0, 0);
        -ms-transform: translate3d(30px, 0, 0);
        transform: translate3d(30px, 0, 0)
    }
    80% {
        -webkit-transform: translate3d(-10px, 0, 0);
        -ms-transform: translate3d(-10px, 0, 0);
        transform: translate3d(-10px, 0, 0)
    }
    100% {
        -webkit-transform: translate3d(0, 0, 0);
        -ms-transform: translate3d(0, 0, 0);
        transform: translate3d(0, 0, 0)
    }
}

@-webkit-keyframes bounceInRight {
    0% {
        opacity: 0;
        -webkit-transform: translate3d(2000px, 0, 0);
        -ms-transform: translate3d(2000px, 0, 0);
        transform: translate3d(2000px, 0, 0)
    }
    60% {
        opacity: 1;
        -webkit-transform: translate3d(-30px, 0, 0);
        -ms-transform: translate3d(-30px, 0, 0);
        transform: translate3d(-30px, 0, 0)
    }
    80% {
        -webkit-transform: translate3d(10px, 0, 0);
        -ms-transform: translate3d(10px, 0, 0);
        transform: translate3d(10px, 0, 0)
    }
    100% {
        -webkit-transform: translate3d(0, 0, 0);
        -ms-transform: translate3d(0, 0, 0);
        transform: translate3d(0, 0, 0)
    }
}

@keyframes bounceInRight {
    0% {
        opacity: 0;
        -webkit-transform: translate3d(2000px, 0, 0);
        -ms-transform: translate3d(2000px, 0, 0);
        transform: translate3d(2000px, 0, 0)
    }
    60% {
        opacity: 1;
        -webkit-transform: translate3d(-30px, 0, 0);
        -ms-transform: translate3d(-30px, 0, 0);
        transform: translate3d(-30px, 0, 0)
    }
    80% {
        -webkit-transform: translate3d(10px, 0, 0);
        -ms-transform: translate3d(10px, 0, 0);
        transform: translate3d(10px, 0, 0)
    }
    100% {
        -webkit-transform: translate3d(0, 0, 0);
        -ms-transform: translate3d(0, 0, 0);
        transform: translate3d(0, 0, 0)
    }
}

@-webkit-keyframes bounceInUp {
    0% {
        opacity: 0;
        -webkit-transform: translate3d(0, 2000px, 0);
        -ms-transform: translate3d(0, 2000px, 0);
        transform: translate3d(0, 2000px, 0)
    }
    60% {
        opacity: 1;
        -webkit-transform: translate3d(0, -30px, 0);
        -ms-transform: translate3d(0, -30px, 0);
        transform: translate3d(0, -30px, 0)
    }
    80% {
        -webkit-transform: translate3d(0, 10px, 0);
        -ms-transform: translate3d(0, 10px, 0);
        transform: translate3d(0, 10px, 0)
    }
    100% {
        -webkit-transform: translate3d(0, 0, 0);
        -ms-transform: translate3d(0, 0, 0);
        transform: translate3d(0, 0, 0)
    }
}

@keyframes bounceInUp {
    0% {
        opacity: 0;
        -webkit-transform: translate3d(0, 2000px, 0);
        -ms-transform: translate3d(0, 2000px, 0);
        transform: translate3d(0, 2000px, 0)
    }
    60% {
        opacity: 1;
        -webkit-transform: translate3d(0, -30px, 0);
        -ms-transform: translate3d(0, -30px, 0);
        transform: translate3d(0, -30px, 0)
    }
    80% {
        -webkit-transform: translate3d(0, 10px, 0);
        -ms-transform: translate3d(0, 10px, 0);
        transform: translate3d(0, 10px, 0)
    }
    100% {
        -webkit-transform: translate3d(0, 0, 0);
        -ms-transform: translate3d(0, 0, 0);
        transform: translate3d(0, 0, 0)
    }
}

@-webkit-keyframes bounceOut {
    0% {
        -webkit-transform: scale3d(1, 1, 1);
        -ms-transform: scale3d(1, 1, 1);
        transform: scale3d(1, 1, 1)
    }
    25% {
        -webkit-transform: scale3d(0.95, 0.95, 0.95);
        -ms-transform: scale3d(0.95, 0.95, 0.95);
        transform: scale3d(0.95, 0.95, 0.95)
    }
    50% {
        opacity: 1;
        -webkit-transform: scale3d(1.1, 1.1, 1.1);
        -ms-transform: scale3d(1.1, 1.1, 1.1);
        transform: scale3d(1.1, 1.1, 1.1)
    }
    100% {
        opacity: 0;
        -webkit-transform: scale3d(0.3, 0.3, 0.3);
        -ms-transform: scale3d(0.3, 0.3, 0.3);
        transform: scale3d(0.3, 0.3, 0.3)
    }
}

@keyframes bounceOut {
    0% {
        -webkit-transform: scale3d(1, 1, 1);
        -ms-transform: scale3d(1, 1, 1);
        transform: scale3d(1, 1, 1)
    }
    25% {
        -webkit-transform: scale3d(0.95, 0.95, 0.95);
        -ms-transform: scale3d(0.95, 0.95, 0.95);
        transform: scale3d(0.95, 0.95, 0.95)
    }
    50% {
        opacity: 1;
        -webkit-transform: scale3d(1.1, 1.1, 1.1);
        -ms-transform: scale3d(1.1, 1.1, 1.1);
        transform: scale3d(1.1, 1.1, 1.1)
    }
    100% {
        opacity: 0;
        -webkit-transform: scale3d(0.3, 0.3, 0.3);
        -ms-transform: scale3d(0.3, 0.3, 0.3);
        transform: scale3d(0.3, 0.3, 0.3)
    }
}

@-webkit-keyframes bounceOutDown {
    0% {
        -webkit-transform: translate3d(0, 0, 0);
        -ms-transform: translate3d(0, 0, 0);
        transform: translate3d(0, 0, 0)
    }
    20% {
        opacity: 1;
        -webkit-transform: translate3d(0, -20px, 0);
        -ms-transform: translate3d(0, -20px, 0);
        transform: translate3d(0, -20px, 0)
    }
    100% {
        opacity: 0;
        -webkit-transform: translate3d(0, 2000px, 0);
        -ms-transform: translate3d(0, 2000px, 0);
        transform: translate3d(0, 2000px, 0)
    }
}

@keyframes bounceOutDown {
    0% {
        -webkit-transform: translate3d(0, 0, 0);
        -ms-transform: translate3d(0, 0, 0);
        transform: translate3d(0, 0, 0)
    }
    20% {
        opacity: 1;
        -webkit-transform: translate3d(0, -20px, 0);
        -ms-transform: translate3d(0, -20px, 0);
        transform: translate3d(0, -20px, 0)
    }
    100% {
        opacity: 0;
        -webkit-transform: translate3d(0, 2000px, 0);
        -ms-transform: translate3d(0, 2000px, 0);
        transform: translate3d(0, 2000px, 0)
    }
}

@-webkit-keyframes bounceOutLeft {
    0% {
        -webkit-transform: translate3d(0, 0, 0);
        -ms-transform: translate3d(0, 0, 0);
        transform: translate3d(0, 0, 0)
    }
    20% {
        opacity: 1;
        -webkit-transform: translate3d(20px, 0, 0);
        -ms-transform: translate3d(20px, 0, 0);
        transform: translate3d(20px, 0, 0)
    }
    100% {
        opacity: 0;
        -webkit-transform: translate3d(-2000px, 0, 0);
        -ms-transform: translate3d(-2000px, 0, 0);
        transform: translate3d(-2000px, 0, 0)
    }
}

@keyframes bounceOutLeft {
    0% {
        -webkit-transform: translate3d(0, 0, 0);
        -ms-transform: translate3d(0, 0, 0);
        transform: translate3d(0, 0, 0)
    }
    20% {
        opacity: 1;
        -webkit-transform: translate3d(20px, 0, 0);
        -ms-transform: translate3d(20px, 0, 0);
        transform: translate3d(20px, 0, 0)
    }
    100% {
        opacity: 0;
        -webkit-transform: translate3d(-2000px, 0, 0);
        -ms-transform: translate3d(-2000px, 0, 0);
        transform: translate3d(-2000px, 0, 0)
    }
}

@-webkit-keyframes bounceOutRight {
    0% {
        -webkit-transform: translate3d(0, 0, 0);
        -ms-transform: translate3d(0, 0, 0);
        transform: translate3d(0, 0, 0)
    }
    20% {
        opacity: 1;
        -webkit-transform: translate3d(-20px, 0, 0);
        -ms-transform: translate3d(-20px, 0, 0);
        transform: translate3d(-20px, 0, 0)
    }
    100% {
        opacity: 0;
        -webkit-transform: translate3d(2000px, 0, 0);
        -ms-transform: translate3d(2000px, 0, 0);
        transform: translate3d(2000px, 0, 0)
    }
}

@keyframes bounceOutRight {
    0% {
        -webkit-transform: translate3d(0, 0, 0);
        -ms-transform: translate3d(0, 0, 0);
        transform: translate3d(0, 0, 0)
    }
    20% {
        opacity: 1;
        -webkit-transform: translate3d(-20px, 0, 0);
        -ms-transform: translate3d(-20px, 0, 0);
        transform: translate3d(-20px, 0, 0)
    }
    100% {
        opacity: 0;
        -webkit-transform: translate3d(2000px, 0, 0);
        -ms-transform: translate3d(2000px, 0, 0);
        transform: translate3d(2000px, 0, 0)
    }
}

@-webkit-keyframes bounceOutUp {
    0% {
        -webkit-transform: translate3d(0, 0, 0);
        -ms-transform: translate3d(0, 0, 0);
        transform: translate3d(0, 0, 0)
    }
    20% {
        opacity: 1;
        -webkit-transform: translate3d(0, 20px, 0);
        -ms-transform: translate3d(0, 20px, 0);
        transform: translate3d(0, 20px, 0)
    }
    100% {
        opacity: 0;
        -webkit-transform: translate3d(0, -2000px, 0);
        -ms-transform: translate3d(0, -2000px, 0);
        transform: translate3d(0, -2000px, 0)
    }
}

@keyframes bounceOutUp {
    0% {
        -webkit-transform: translate3d(0, 0, 0);
        -ms-transform: translate3d(0, 0, 0);
        transform: translate3d(0, 0, 0)
    }
    20% {
        opacity: 1;
        -webkit-transform: translate3d(0, 20px, 0);
        -ms-transform: translate3d(0, 20px, 0);
        transform: translate3d(0, 20px, 0)
    }
    100% {
        opacity: 0;
        -webkit-transform: translate3d(0, -2000px, 0);
        -ms-transform: translate3d(0, -2000px, 0);
        transform: translate3d(0, -2000px, 0)
    }
}

@-webkit-keyframes fadeIn {
    0% {
        opacity: 0
    }
    100% {
        opacity: 1
    }
}

@keyframes fadeIn {
    0% {
        opacity: 0
    }
    100% {
        opacity: 1
    }
}

@-webkit-keyframes fadeInDown {
    0% {
        opacity: 0;
        -webkit-transform: translate3d(0, -20px, 0);
        -ms-transform: translate3d(0, -20px, 0);
        transform: translate3d(0, -20px, 0)
    }
    100% {
        opacity: 1;
        -webkit-transform: translate3d(0, 0, 0);
        -ms-transform: translate3d(0, 0, 0);
        transform: translate3d(0, 0, 0)
    }
}

@keyframes fadeInDown {
    0% {
        opacity: 0;
        -webkit-transform: translate3d(0, -20px, 0);
        -ms-transform: translate3d(0, -20px, 0);
        transform: translate3d(0, -20px, 0)
    }
    100% {
        opacity: 1;
        -webkit-transform: translate3d(0, 0, 0);
        -ms-transform: translate3d(0, 0, 0);
        transform: translate3d(0, 0, 0)
    }
}

@-webkit-keyframes fadeInDownBig {
    0% {
        opacity: 0;
        -webkit-transform: translate3d(0, -2000px, 0);
        -ms-transform: translate3d(0, -2000px, 0);
        transform: translate3d(0, -2000px, 0)
    }
    100% {
        opacity: 1;
        -webkit-transform: translate3d(0, 0, 0);
        -ms-transform: translate3d(0, 0, 0);
        transform: translate3d(0, 0, 0)
    }
}

@keyframes fadeInDownBig {
    0% {
        opacity: 0;
        -webkit-transform: translate3d(0, -2000px, 0);
        -ms-transform: translate3d(0, -2000px, 0);
        transform: translate3d(0, -2000px, 0)
    }
    100% {
        opacity: 1;
        -webkit-transform: translate3d(0, 0, 0);
        -ms-transform: translate3d(0, 0, 0);
        transform: translate3d(0, 0, 0)
    }
}

@-webkit-keyframes fadeInLeft {
    0% {
        opacity: 0;
        -webkit-transform: translate3d(-20px, 0, 0);
        -ms-transform: translate3d(-20px, 0, 0);
        transform: translate3d(-20px, 0, 0)
    }
    100% {
        opacity: 1;
        -webkit-transform: translate3d(0, 0, 0);
        -ms-transform: translate3d(0, 0, 0);
        transform: translate3d(0, 0, 0)
    }
}

@keyframes fadeInLeft {
    0% {
        opacity: 0;
        -webkit-transform: translate3d(-20px, 0, 0);
        -ms-transform: translate3d(-20px, 0, 0);
        transform: translate3d(-20px, 0, 0)
    }
    100% {
        opacity: 1;
        -webkit-transform: translate3d(0, 0, 0);
        -ms-transform: translate3d(0, 0, 0);
        transform: translate3d(0, 0, 0)
    }
}

@-webkit-keyframes fadeInLeftBig {
    0% {
        opacity: 0;
        -webkit-transform: translate3d(-2000px, 0, 0);
        -ms-transform: translate3d(-2000px, 0, 0);
        transform: translate3d(-2000px, 0, 0)
    }
    100% {
        opacity: 1;
        -webkit-transform: translate3d(0, 0, 0);
        -ms-transform: translate3d(0, 0, 0);
        transform: translate3d(0, 0, 0)
    }
}

@keyframes fadeInLeftBig {
    0% {
        opacity: 0;
        -webkit-transform: translate3d(-2000px, 0, 0);
        -ms-transform: translate3d(-2000px, 0, 0);
        transform: translate3d(-2000px, 0, 0)
    }
    100% {
        opacity: 1;
        -webkit-transform: translate3d(0, 0, 0);
        -ms-transform: translate3d(0, 0, 0);
        transform: translate3d(0, 0, 0)
    }
}

@-webkit-keyframes fadeInRight {
    0% {
        opacity: 0;
        -webkit-transform: translate3d(20px, 0, 0);
        -ms-transform: translate3d(20px, 0, 0);
        transform: translate3d(20px, 0, 0)
    }
    100% {
        opacity: 1;
        -webkit-transform: translate3d(0, 0, 0);
        -ms-transform: translate3d(0, 0, 0);
        transform: translate3d(0, 0, 0)
    }
}

@keyframes fadeInRight {
    0% {
        opacity: 0;
        -webkit-transform: translate3d(20px, 0, 0);
        -ms-transform: translate3d(20px, 0, 0);
        transform: translate3d(20px, 0, 0)
    }
    100% {
        opacity: 1;
        -webkit-transform: translate3d(0, 0, 0);
        -ms-transform: translate3d(0, 0, 0);
        transform: translate3d(0, 0, 0)
    }
}

@-webkit-keyframes fadeInRightBig {
    0% {
        opacity: 0;
        -webkit-transform: translate3d(2000px, 0, 0);
        -ms-transform: translate3d(2000px, 0, 0);
        transform: translate3d(2000px, 0, 0)
    }
    100% {
        opacity: 1;
        -webkit-transform: translate3d(0, 0, 0);
        -ms-transform: translate3d(0, 0, 0);
        transform: translate3d(0, 0, 0)
    }
}

@keyframes fadeInRightBig {
    0% {
        opacity: 0;
        -webkit-transform: translate3d(2000px, 0, 0);
        -ms-transform: translate3d(2000px, 0, 0);
        transform: translate3d(2000px, 0, 0)
    }
    100% {
        opacity: 1;
        -webkit-transform: translate3d(0, 0, 0);
        -ms-transform: translate3d(0, 0, 0);
        transform: translate3d(0, 0, 0)
    }
}

@-webkit-keyframes fadeInUp {
    0% {
        opacity: 0;
        -webkit-transform: translate3d(0, 20px, 0);
        -ms-transform: translate3d(0, 20px, 0);
        transform: translate3d(0, 20px, 0)
    }
    100% {
        opacity: 1;
        -webkit-transform: translate3d(0, 0, 0);
        -ms-transform: translate3d(0, 0, 0);
        transform: translate3d(0, 0, 0)
    }
}

@keyframes fadeInUp {
    0% {
        opacity: 0;
        -webkit-transform: translate3d(0, 20px, 0);
        -ms-transform: translate3d(0, 20px, 0);
        transform: translate3d(0, 20px, 0)
    }
    100% {
        opacity: 1;
        -webkit-transform: translate3d(0, 0, 0);
        -ms-transform: translate3d(0, 0, 0);
        transform: translate3d(0, 0, 0)
    }
}

@-webkit-keyframes fadeInUpBig {
    0% {
        opacity: 0;
        -webkit-transform: translate3d(0, 2000px, 0);
        -ms-transform: translate3d(0, 2000px, 0);
        transform: translate3d(0, 2000px, 0)
    }
    100% {
        opacity: 1;
        -webkit-transform: translate3d(0, 0, 0);
        -ms-transform: translate3d(0, 0, 0);
        transform: translate3d(0, 0, 0)
    }
}

@keyframes fadeInUpBig {
    0% {
        opacity: 0;
        -webkit-transform: translate3d(0, 2000px, 0);
        -ms-transform: translate3d(0, 2000px, 0);
        transform: translate3d(0, 2000px, 0)
    }
    100% {
        opacity: 1;
        -webkit-transform: translate3d(0, 0, 0);
        -ms-transform: translate3d(0, 0, 0);
        transform: translate3d(0, 0, 0)
    }
}

@-webkit-keyframes fadeOut {
    0% {
        opacity: 1
    }
    100% {
        opacity: 0
    }
}

@keyframes fadeOut {
    0% {
        opacity: 1
    }
    100% {
        opacity: 0
    }
}

@-webkit-keyframes fadeOutDown {
    0% {
        opacity: 1;
        -webkit-transform: translate3d(0, 0, 0);
        -ms-transform: translate3d(0, 0, 0);
        transform: translate3d(0, 0, 0)
    }
    100% {
        opacity: 0;
        -webkit-transform: translate3d(0, 20px, 0);
        -ms-transform: translate3d(0, 20px, 0);
        transform: translate3d(0, 20px, 0)
    }
}

@keyframes fadeOutDown {
    0% {
        opacity: 1;
        -webkit-transform: translate3d(0, 0, 0);
        -ms-transform: translate3d(0, 0, 0);
        transform: translate3d(0, 0, 0)
    }
    100% {
        opacity: 0;
        -webkit-transform: translate3d(0, 20px, 0);
        -ms-transform: translate3d(0, 20px, 0);
        transform: translate3d(0, 20px, 0)
    }
}

@-webkit-keyframes fadeOutDownBig {
    0% {
        opacity: 1;
        -webkit-transform: translate3d(0, 0, 0);
        -ms-transform: translate3d(0, 0, 0);
        transform: translate3d(0, 0, 0)
    }
    100% {
        opacity: 0;
        -webkit-transform: translate3d(0, 2000px, 0);
        -ms-transform: translate3d(0, 2000px, 0);
        transform: translate3d(0, 2000px, 0)
    }
}

@keyframes fadeOutDownBig {
    0% {
        opacity: 1;
        -webkit-transform: translate3d(0, 0, 0);
        -ms-transform: translate3d(0, 0, 0);
        transform: translate3d(0, 0, 0)
    }
    100% {
        opacity: 0;
        -webkit-transform: translate3d(0, 2000px, 0);
        -ms-transform: translate3d(0, 2000px, 0);
        transform: translate3d(0, 2000px, 0)
    }
}

@-webkit-keyframes fadeOutLeft {
    0% {
        opacity: 1;
        -webkit-transform: translate3d(0, 0, 0);
        -ms-transform: translate3d(0, 0, 0);
        transform: translate3d(0, 0, 0)
    }
    100% {
        opacity: 0;
        -webkit-transform: translate3d(-20px, 0, 0);
        -ms-transform: translate3d(-20px, 0, 0);
        transform: translate3d(-20px, 0, 0)
    }
}

@keyframes fadeOutLeft {
    0% {
        opacity: 1;
        -webkit-transform: translate3d(0, 0, 0);
        -ms-transform: translate3d(0, 0, 0);
        transform: translate3d(0, 0, 0)
    }
    100% {
        opacity: 0;
        -webkit-transform: translate3d(-20px, 0, 0);
        -ms-transform: translate3d(-20px, 0, 0);
        transform: translate3d(-20px, 0, 0)
    }
}

@-webkit-keyframes fadeOutLeftBig {
    0% {
        opacity: 1;
        -webkit-transform: translate3d(0, 0, 0);
        -ms-transform: translate3d(0, 0, 0);
        transform: translate3d(0, 0, 0)
    }
    100% {
        opacity: 0;
        -webkit-transform: translate3d(-2000px, 0, 0);
        -ms-transform: translate3d(-2000px, 0, 0);
        transform: translate3d(-2000px, 0, 0)
    }
}

@keyframes fadeOutLeftBig {
    0% {
        opacity: 1;
        -webkit-transform: translate3d(0, 0, 0);
        -ms-transform: translate3d(0, 0, 0);
        transform: translate3d(0, 0, 0)
    }
    100% {
        opacity: 0;
        -webkit-transform: translate3d(-2000px, 0, 0);
        -ms-transform: translate3d(-2000px, 0, 0);
        transform: translate3d(-2000px, 0, 0)
    }
}

@-webkit-keyframes fadeOutRight {
    0% {
        opacity: 1;
        -webkit-transform: translate3d(0, 0, 0);
        -ms-transform: translate3d(0, 0, 0);
        transform: translate3d(0, 0, 0)
    }
    100% {
        opacity: 0;
        -webkit-transform: translate3d(20px, 0, 0);
        -ms-transform: translate3d(20px, 0, 0);
        transform: translate3d(20px, 0, 0)
    }
}

@keyframes fadeOutRight {
    0% {
        opacity: 1;
        -webkit-transform: translate3d(0, 0, 0);
        -ms-transform: translate3d(0, 0, 0);
        transform: translate3d(0, 0, 0)
    }
    100% {
        opacity: 0;
        -webkit-transform: translate3d(20px, 0, 0);
        -ms-transform: translate3d(20px, 0, 0);
        transform: translate3d(20px, 0, 0)
    }
}

@-webkit-keyframes fadeOutRightBig {
    0% {
        opacity: 1;
        -webkit-transform: translate3d(0, 0, 0);
        -ms-transform: translate3d(0, 0, 0);
        transform: translate3d(0, 0, 0)
    }
    100% {
        opacity: 0;
        -webkit-transform: translate3d(2000px, 0, 0);
        -ms-transform: translate3d(2000px, 0, 0);
        transform: translate3d(2000px, 0, 0)
    }
}

@keyframes fadeOutRightBig {
    0% {
        opacity: 1;
        -webkit-transform: translate3d(0, 0, 0);
        -ms-transform: translate3d(0, 0, 0);
        transform: translate3d(0, 0, 0)
    }
    100% {
        opacity: 0;
        -webkit-transform: translate3d(2000px, 0, 0);
        -ms-transform: translate3d(2000px, 0, 0);
        transform: translate3d(2000px, 0, 0)
    }
}

@-webkit-keyframes fadeOutUp {
    0% {
        opacity: 1;
        -webkit-transform: translate3d(0, 0, 0);
        -ms-transform: translate3d(0, 0, 0);
        transform: translate3d(0, 0, 0)
    }
    100% {
        opacity: 0;
        -webkit-transform: translate3d(0, -20px, 0);
        -ms-transform: translate3d(0, -20px, 0);
        transform: translate3d(0, -20px, 0)
    }
}

@keyframes fadeOutUp {
    0% {
        opacity: 1;
        -webkit-transform: translate3d(0, 0, 0);
        -ms-transform: translate3d(0, 0, 0);
        transform: translate3d(0, 0, 0)
    }
    100% {
        opacity: 0;
        -webkit-transform: translate3d(0, -20px, 0);
        -ms-transform: translate3d(0, -20px, 0);
        transform: translate3d(0, -20px, 0)
    }
}

@-webkit-keyframes fadeOutUpBig {
    0% {
        opacity: 1;
        -webkit-transform: translate3d(0, 0, 0);
        -ms-transform: translate3d(0, 0, 0);
        transform: translate3d(0, 0, 0)
    }
    100% {
        opacity: 0;
        -webkit-transform: translate3d(0, -2000px, 0);
        -ms-transform: translate3d(0, -2000px, 0);
        transform: translate3d(0, -2000px, 0)
    }
}

@keyframes fadeOutUpBig {
    0% {
        opacity: 1;
        -webkit-transform: translate3d(0, 0, 0);
        -ms-transform: translate3d(0, 0, 0);
        transform: translate3d(0, 0, 0)
    }
    100% {
        opacity: 0;
        -webkit-transform: translate3d(0, -2000px, 0);
        -ms-transform: translate3d(0, -2000px, 0);
        transform: translate3d(0, -2000px, 0)
    }
}

@-webkit-keyframes flip {
    0% {
        -webkit-transform: perspective(400px) rotate3d(0, 1, 0, -360deg);
        -ms-transform: perspective(400px) rotate3d(0, 1, 0, -360deg);
        transform: perspective(400px) rotate3d(0, 1, 0, -360deg);
        animation-timing-function: ease-out
    }
    40% {
        -webkit-transform: perspective(400px) translate3d(0, 0, 150px) rotate3d(0, 1, 0, -190deg);
        -ms-transform: perspective(400px) translate3d(0, 0, 150px) rotate3d(0, 1, 0, -190deg);
        transform: perspective(400px) translate3d(0, 0, 150px) rotate3d(0, 1, 0, -190deg);
        animation-timing-function: ease-out
    }
    50% {
        -webkit-transform: perspective(400px) translate3d(0, 0, 150px) rotate3d(0, 1, 0, -170deg);
        -ms-transform: perspective(400px) translate3d(0, 0, 150px) rotate3d(0, 1, 0, -170deg);
        transform: perspective(400px) translate3d(0, 0, 150px) rotate3d(0, 1, 0, -170deg);
        animation-timing-function: ease-in
    }
    80% {
        -webkit-transform: perspective(400px) scale3d(0.95, 0.95, 0.95);
        -ms-transform: perspective(400px) scale3d(0.95, 0.95, 0.95);
        transform: perspective(400px) scale3d(0.95, 0.95, 0.95);
        animation-timing-function: ease-in
    }
    100% {
        -webkit-transform: perspective(400px);
        -ms-transform: perspective(400px);
        transform: perspective(400px);
        animation-timing-function: ease-in
    }
}

@keyframes flip {
    0% {
        -webkit-transform: perspective(400px) rotate3d(0, 1, 0, -360deg);
        -ms-transform: perspective(400px) rotate3d(0, 1, 0, -360deg);
        transform: perspective(400px) rotate3d(0, 1, 0, -360deg);
        animation-timing-function: ease-out
    }
    40% {
        -webkit-transform: perspective(400px) translate3d(0, 0, 150px) rotate3d(0, 1, 0, -190deg);
        -ms-transform: perspective(400px) translate3d(0, 0, 150px) rotate3d(0, 1, 0, -190deg);
        transform: perspective(400px) translate3d(0, 0, 150px) rotate3d(0, 1, 0, -190deg);
        animation-timing-function: ease-out
    }
    50% {
        -webkit-transform: perspective(400px) translate3d(0, 0, 150px) rotate3d(0, 1, 0, -170deg);
        -ms-transform: perspective(400px) translate3d(0, 0, 150px) rotate3d(0, 1, 0, -170deg);
        transform: perspective(400px) translate3d(0, 0, 150px) rotate3d(0, 1, 0, -170deg);
        animation-timing-function: ease-in
    }
    80% {
        -webkit-transform: perspective(400px) scale3d(0.95, 0.95, 0.95);
        -ms-transform: perspective(400px) scale3d(0.95, 0.95, 0.95);
        transform: perspective(400px) scale3d(0.95, 0.95, 0.95);
        animation-timing-function: ease-in
    }
    100% {
        -webkit-transform: perspective(400px);
        -ms-transform: perspective(400px);
        transform: perspective(400px);
        animation-timing-function: ease-in
    }
}

@-webkit-keyframes flipInX {
    0% {
        opacity: 0;
        -webkit-transform: perspective(400px) rotateX(90deg);
        -ms-transform: perspective(400px) rotateX(90deg);
        transform: perspective(400px) rotateX(90deg)
    }
    40% {
        -webkit-transform: perspective(400px) rotateX(-10deg);
        -ms-transform: perspective(400px) rotateX(-10deg);
        transform: perspective(400px) rotateX(-10deg)
    }
    70% {
        -webkit-transform: perspective(400px) rotateX(10deg);
        -ms-transform: perspective(400px) rotateX(10deg);
        transform: perspective(400px) rotateX(10deg)
    }
    100% {
        opacity: 1;
        -webkit-transform: perspective(400px) rotateX(0deg);
        -ms-transform: perspective(400px) rotateX(0deg);
        transform: perspective(400px) rotateX(0deg)
    }
}

@keyframes flipInX {
    0% {
        opacity: 0;
        -webkit-transform: perspective(400px) rotateX(90deg);
        -ms-transform: perspective(400px) rotateX(90deg);
        transform: perspective(400px) rotateX(90deg)
    }
    40% {
        -webkit-transform: perspective(400px) rotateX(-10deg);
        -ms-transform: perspective(400px) rotateX(-10deg);
        transform: perspective(400px) rotateX(-10deg)
    }
    70% {
        -webkit-transform: perspective(400px) rotateX(10deg);
        -ms-transform: perspective(400px) rotateX(10deg);
        transform: perspective(400px) rotateX(10deg)
    }
    100% {
        opacity: 1;
        -webkit-transform: perspective(400px) rotateX(0deg);
        -ms-transform: perspective(400px) rotateX(0deg);
        transform: perspective(400px) rotateX(0deg)
    }
}

@-webkit-keyframes flipInY {
    0% {
        opacity: 0;
        -webkit-transform: perspective(400px) rotateY(90deg);
        -ms-transform: perspective(400px) rotateY(90deg);
        transform: perspective(400px) rotateY(90deg)
    }
    40% {
        -webkit-transform: perspective(400px) rotateY(-10deg);
        -ms-transform: perspective(400px) rotateY(-10deg);
        transform: perspective(400px) rotateY(-10deg)
    }
    70% {
        -webkit-transform: perspective(400px) rotateY(10deg);
        -ms-transform: perspective(400px) rotateY(10deg);
        transform: perspective(400px) rotateY(10deg)
    }
    100% {
        opacity: 1;
        -webkit-transform: perspective(400px) rotateY(0deg);
        -ms-transform: perspective(400px) rotateY(0deg);
        transform: perspective(400px) rotateY(0deg)
    }
}

@keyframes flipInY {
    0% {
        opacity: 0;
        -webkit-transform: perspective(400px) rotateY(90deg);
        -ms-transform: perspective(400px) rotateY(90deg);
        transform: perspective(400px) rotateY(90deg)
    }
    40% {
        -webkit-transform: perspective(400px) rotateY(-10deg);
        -ms-transform: perspective(400px) rotateY(-10deg);
        transform: perspective(400px) rotateY(-10deg)
    }
    70% {
        -webkit-transform: perspective(400px) rotateY(10deg);
        -ms-transform: perspective(400px) rotateY(10deg);
        transform: perspective(400px) rotateY(10deg)
    }
    100% {
        opacity: 1;
        -webkit-transform: perspective(400px) rotateY(0deg);
        -ms-transform: perspective(400px) rotateY(0deg);
        transform: perspective(400px) rotateY(0deg)
    }
}

@-webkit-keyframes flipOutX {
    0% {
        opacity: 1;
        -webkit-transform: perspective(400px) rotateX(0deg);
        -ms-transform: perspective(400px) rotateX(0deg);
        transform: perspective(400px) rotateX(0deg)
    }
    100% {
        opacity: 0;
        -webkit-transform: perspective(400px) rotateX(90deg);
        -ms-transform: perspective(400px) rotateX(90deg);
        transform: perspective(400px) rotateX(90deg)
    }
}

@keyframes flipOutX {
    0% {
        opacity: 1;
        -webkit-transform: perspective(400px) rotateX(0deg);
        -ms-transform: perspective(400px) rotateX(0deg);
        transform: perspective(400px) rotateX(0deg)
    }
    100% {
        opacity: 0;
        -webkit-transform: perspective(400px) rotateX(90deg);
        -ms-transform: perspective(400px) rotateX(90deg);
        transform: perspective(400px) rotateX(90deg)
    }
}

@-webkit-keyframes flipOutY {
    0% {
        opacity: 1;
        -webkit-transform: perspective(400px) rotateY(0deg);
        -ms-transform: perspective(400px) rotateY(0deg);
        transform: perspective(400px) rotateY(0deg)
    }
    100% {
        opacity: 0;
        -webkit-transform: perspective(400px) rotateY(90deg);
        -ms-transform: perspective(400px) rotateY(90deg);
        transform: perspective(400px) rotateY(90deg)
    }
}

@keyframes flipOutY {
    0% {
        opacity: 1;
        -webkit-transform: perspective(400px) rotateY(0deg);
        -ms-transform: perspective(400px) rotateY(0deg);
        transform: perspective(400px) rotateY(0deg)
    }
    100% {
        opacity: 0;
        -webkit-transform: perspective(400px) rotateY(90deg);
        -ms-transform: perspective(400px) rotateY(90deg);
        transform: perspective(400px) rotateY(90deg)
    }
}

@-webkit-keyframes lightSpeedIn {
    0% {
        opacity: 0;
        -webkit-transform: translate3d(100%, 0, 0) skewX(-30deg);
        -ms-transform: translate3d(100%, 0, 0) skewX(-30deg);
        transform: translate3d(100%, 0, 0) skewX(-30deg)
    }
    60% {
        opacity: 1;
        -webkit-transform: translate3d(-20%, 0, 0) skewX(30deg);
        -ms-transform: translate3d(-20%, 0, 0) skewX(30deg);
        transform: translate3d(-20%, 0, 0) skewX(30deg)
    }
    80% {
        opacity: 1;
        -webkit-transform: translate3d(0%, 0, 0) skewX(-15deg);
        -ms-transform: translate3d(0%, 0, 0) skewX(-15deg);
        transform: translate3d(0%, 0, 0) skewX(-15deg)
    }
    100% {
        opacity: 1;
        -webkit-transform: translate3d(0%, 0, 0) skewX(0deg);
        -ms-transform: translate3d(0%, 0, 0) skewX(0deg);
        transform: translate3d(0%, 0, 0) skewX(0deg)
    }
}

@keyframes lightSpeedIn {
    0% {
        opacity: 0;
        -webkit-transform: translate3d(100%, 0, 0) skewX(-30deg);
        -ms-transform: translate3d(100%, 0, 0) skewX(-30deg);
        transform: translate3d(100%, 0, 0) skewX(-30deg)
    }
    60% {
        opacity: 1;
        -webkit-transform: translate3d(-20%, 0, 0) skewX(30deg);
        -ms-transform: translate3d(-20%, 0, 0) skewX(30deg);
        transform: translate3d(-20%, 0, 0) skewX(30deg)
    }
    80% {
        opacity: 1;
        -webkit-transform: translate3d(0%, 0, 0) skewX(-15deg);
        -ms-transform: translate3d(0%, 0, 0) skewX(-15deg);
        transform: translate3d(0%, 0, 0) skewX(-15deg)
    }
    100% {
        opacity: 1;
        -webkit-transform: translate3d(0%, 0, 0) skewX(0deg);
        -ms-transform: translate3d(0%, 0, 0) skewX(0deg);
        transform: translate3d(0%, 0, 0) skewX(0deg)
    }
}

@-webkit-keyframes lightSpeedOut {
    0% {
        opacity: 1;
        -webkit-transform: translate3d(0%, 0, 0) skewX(0deg);
        -ms-transform: translate3d(0%, 0, 0) skewX(0deg);
        transform: translate3d(0%, 0, 0) skewX(0deg)
    }
    100% {
        opacity: 0;
        -webkit-transform: translate3d(100%, 0, 0) skewX(-30deg);
        -ms-transform: translate3d(100%, 0, 0) skewX(-30deg);
        transform: translate3d(100%, 0, 0) skewX(-30deg)
    }
}

@keyframes lightSpeedOut {
    0% {
        opacity: 1;
        -webkit-transform: translate3d(0%, 0, 0) skewX(0deg);
        -ms-transform: translate3d(0%, 0, 0) skewX(0deg);
        transform: translate3d(0%, 0, 0) skewX(0deg)
    }
    100% {
        opacity: 0;
        -webkit-transform: translate3d(100%, 0, 0) skewX(-30deg);
        -ms-transform: translate3d(100%, 0, 0) skewX(-30deg);
        transform: translate3d(100%, 0, 0) skewX(-30deg)
    }
}

@-webkit-keyframes rotateIn {
    0% {
        opacity: 0;
        -webkit-transform: rotate3d(0, 0, 1, -200deg);
        -ms-transform: rotate3d(0, 0, 1, -200deg);
        transform: rotate3d(0, 0, 1, -200deg);
        -webkit-transform-origin: center center;
        -ms-transform-origin: center center;
        transform-origin: center center
    }
    100% {
        opacity: 1;
        -webkit-transform: rotate3d(0);
        -ms-transform: rotate3d(0);
        transform: rotate3d(0);
        -webkit-transform-origin: center center;
        -ms-transform-origin: center center;
        transform-origin: center center
    }
}

@keyframes rotateIn {
    0% {
        opacity: 0;
        -webkit-transform: rotate3d(0, 0, 1, -200deg);
        -ms-transform: rotate3d(0, 0, 1, -200deg);
        transform: rotate3d(0, 0, 1, -200deg);
        -webkit-transform-origin: center center;
        -ms-transform-origin: center center;
        transform-origin: center center
    }
    100% {
        opacity: 1;
        -webkit-transform: rotate3d(0);
        -ms-transform: rotate3d(0);
        transform: rotate3d(0);
        -webkit-transform-origin: center center;
        -ms-transform-origin: center center;
        transform-origin: center center
    }
}

@-webkit-keyframes rotateInDownLeft {
    0% {
        opacity: 0;
        -webkit-transform: rotate3d(0, 0, 1, -45deg);
        -ms-transform: rotate3d(0, 0, 1, -45deg);
        transform: rotate3d(0, 0, 1, -45deg);
        -webkit-transform-origin: left bottom;
        -ms-transform-origin: left bottom;
        transform-origin: left bottom
    }
    100% {
        opacity: 1;
        -webkit-transform: rotate3d(0);
        -ms-transform: rotate3d(0);
        transform: rotate3d(0);
        -webkit-transform-origin: left bottom;
        -ms-transform-origin: left bottom;
        transform-origin: left bottom
    }
}

@keyframes rotateInDownLeft {
    0% {
        opacity: 0;
        -webkit-transform: rotate3d(0, 0, 1, -45deg);
        -ms-transform: rotate3d(0, 0, 1, -45deg);
        transform: rotate3d(0, 0, 1, -45deg);
        -webkit-transform-origin: left bottom;
        -ms-transform-origin: left bottom;
        transform-origin: left bottom
    }
    100% {
        opacity: 1;
        -webkit-transform: rotate3d(0);
        -ms-transform: rotate3d(0);
        transform: rotate3d(0);
        -webkit-transform-origin: left bottom;
        -ms-transform-origin: left bottom;
        transform-origin: left bottom
    }
}

@-webkit-keyframes rotateInDownRight {
    0% {
        opacity: 0;
        -webkit-transform: rotate3d(0, 0, 1, 45deg);
        -ms-transform: rotate3d(0, 0, 1, 45deg);
        transform: rotate3d(0, 0, 1, 45deg);
        -webkit-transform-origin: right bottom;
        -ms-transform-origin: right bottom;
        transform-origin: right bottom
    }
    100% {
        opacity: 1;
        -webkit-transform: rotate3d(0);
        -ms-transform: rotate3d(0);
        transform: rotate3d(0);
        -webkit-transform-origin: right bottom;
        -ms-transform-origin: right bottom;
        transform-origin: right bottom
    }
}

@keyframes rotateInDownRight {
    0% {
        opacity: 0;
        -webkit-transform: rotate3d(0, 0, 1, 45deg);
        -ms-transform: rotate3d(0, 0, 1, 45deg);
        transform: rotate3d(0, 0, 1, 45deg);
        -webkit-transform-origin: right bottom;
        -ms-transform-origin: right bottom;
        transform-origin: right bottom
    }
    100% {
        opacity: 1;
        -webkit-transform: rotate3d(0);
        -ms-transform: rotate3d(0);
        transform: rotate3d(0);
        -webkit-transform-origin: right bottom;
        -ms-transform-origin: right bottom;
        transform-origin: right bottom
    }
}

@-webkit-keyframes rotateInUpLeft {
    0% {
        opacity: 0;
        -webkit-transform: rotate3d(0, 0, 1, 45deg);
        -ms-transform: rotate3d(0, 0, 1, 45deg);
        transform: rotate3d(0, 0, 1, 45deg);
        -webkit-transform-origin: left bottom;
        -ms-transform-origin: left bottom;
        transform-origin: left bottom
    }
    100% {
        opacity: 1;
        -webkit-transform: rotate3d(0);
        -ms-transform: rotate3d(0);
        transform: rotate3d(0);
        -webkit-transform-origin: left bottom;
        -ms-transform-origin: left bottom;
        transform-origin: left bottom
    }
}

@keyframes rotateInUpLeft {
    0% {
        opacity: 0;
        -webkit-transform: rotate3d(0, 0, 1, 45deg);
        -ms-transform: rotate3d(0, 0, 1, 45deg);
        transform: rotate3d(0, 0, 1, 45deg);
        -webkit-transform-origin: left bottom;
        -ms-transform-origin: left bottom;
        transform-origin: left bottom
    }
    100% {
        opacity: 1;
        -webkit-transform: rotate3d(0);
        -ms-transform: rotate3d(0);
        transform: rotate3d(0);
        -webkit-transform-origin: left bottom;
        -ms-transform-origin: left bottom;
        transform-origin: left bottom
    }
}

@-webkit-keyframes rotateInUpRight {
    0% {
        opacity: 0;
        -webkit-transform: rotate3d(0, 0, 1, -90deg);
        -ms-transform: rotate3d(0, 0, 1, -90deg);
        transform: rotate3d(0, 0, 1, -90deg);
        -webkit-transform-origin: right bottom;
        -ms-transform-origin: right bottom;
        transform-origin: right bottom
    }
    100% {
        opacity: 1;
        -webkit-transform: rotate3d(0);
        -ms-transform: rotate3d(0);
        transform: rotate3d(0);
        -webkit-transform-origin: right bottom;
        -ms-transform-origin: right bottom;
        transform-origin: right bottom
    }
}

@keyframes rotateInUpRight {
    0% {
        opacity: 0;
        -webkit-transform: rotate3d(0, 0, 1, -90deg);
        -ms-transform: rotate3d(0, 0, 1, -90deg);
        transform: rotate3d(0, 0, 1, -90deg);
        -webkit-transform-origin: right bottom;
        -ms-transform-origin: right bottom;
        transform-origin: right bottom
    }
    100% {
        opacity: 1;
        -webkit-transform: rotate3d(0);
        -ms-transform: rotate3d(0);
        transform: rotate3d(0);
        -webkit-transform-origin: right bottom;
        -ms-transform-origin: right bottom;
        transform-origin: right bottom
    }
}

@-webkit-keyframes rotateOutDownLeft {
    0% {
        opacity: 1;
        -webkit-transform: rotate3d(0);
        -ms-transform: rotate3d(0);
        transform: rotate3d(0);
        -webkit-transform-origin: left bottom;
        -ms-transform-origin: left bottom;
        transform-origin: left bottom
    }
    100% {
        opacity: 0;
        -webkit-transform: rotate3d(0, 0, 1, 45deg);
        -ms-transform: rotate3d(0, 0, 1, 45deg);
        transform: rotate3d(0, 0, 1, 45deg);
        -webkit-transform-origin: left bottom;
        -ms-transform-origin: left bottom;
        transform-origin: left bottom
    }
}

@keyframes rotateOutDownLeft {
    0% {
        opacity: 1;
        -webkit-transform: rotate3d(0);
        -ms-transform: rotate3d(0);
        transform: rotate3d(0);
        -webkit-transform-origin: left bottom;
        -ms-transform-origin: left bottom;
        transform-origin: left bottom
    }
    100% {
        opacity: 0;
        -webkit-transform: rotate3d(0, 0, 1, 45deg);
        -ms-transform: rotate3d(0, 0, 1, 45deg);
        transform: rotate3d(0, 0, 1, 45deg);
        -webkit-transform-origin: left bottom;
        -ms-transform-origin: left bottom;
        transform-origin: left bottom
    }
}

@-webkit-keyframes rotateOutDownRight {
    0% {
        opacity: 1;
        -webkit-transform: rotate3d(0);
        -ms-transform: rotate3d(0);
        transform: rotate3d(0);
        -webkit-transform-origin: right bottom;
        -ms-transform-origin: right bottom;
        transform-origin: right bottom
    }
    100% {
        opacity: 0;
        -webkit-transform: rotate3d(0, 0, 1, -45deg);
        -ms-transform: rotate3d(0, 0, 1, -45deg);
        transform: rotate3d(0, 0, 1, -45deg);
        -webkit-transform-origin: right bottom;
        -ms-transform-origin: right bottom;
        transform-origin: right bottom
    }
}

@keyframes rotateOutDownRight {
    0% {
        opacity: 1;
        -webkit-transform: rotate3d(0);
        -ms-transform: rotate3d(0);
        transform: rotate3d(0);
        -webkit-transform-origin: right bottom;
        -ms-transform-origin: right bottom;
        transform-origin: right bottom
    }
    100% {
        opacity: 0;
        -webkit-transform: rotate3d(0, 0, 1, -45deg);
        -ms-transform: rotate3d(0, 0, 1, -45deg);
        transform: rotate3d(0, 0, 1, -45deg);
        -webkit-transform-origin: right bottom;
        -ms-transform-origin: right bottom;
        transform-origin: right bottom
    }
}

@-webkit-keyframes rotateOutUpLeft {
    0% {
        opacity: 1;
        -webkit-transform: rotate3d(0);
        -ms-transform: rotate3d(0);
        transform: rotate3d(0);
        -webkit-transform-origin: left bottom;
        -ms-transform-origin: left bottom;
        transform-origin: left bottom
    }
    100% {
        opacity: 0;
        -webkit-transform: rotate3d(0, 0, 1, -45deg);
        -ms-transform: rotate3d(0, 0, 1, -45deg);
        transform: rotate3d(0, 0, 1, -45deg);
        -webkit-transform-origin: left bottom;
        -ms-transform-origin: left bottom;
        transform-origin: left bottom
    }
}

@keyframes rotateOutUpLeft {
    0% {
        opacity: 1;
        -webkit-transform: rotate3d(0);
        -ms-transform: rotate3d(0);
        transform: rotate3d(0);
        -webkit-transform-origin: left bottom;
        -ms-transform-origin: left bottom;
        transform-origin: left bottom
    }
    100% {
        opacity: 0;
        -webkit-transform: rotate3d(0, 0, 1, -45deg);
        -ms-transform: rotate3d(0, 0, 1, -45deg);
        transform: rotate3d(0, 0, 1, -45deg);
        -webkit-transform-origin: left bottom;
        -ms-transform-origin: left bottom;
        transform-origin: left bottom
    }
}

@-webkit-keyframes rotateOutUpRight {
    0% {
        opacity: 1;
        -webkit-transform: rotate3d(0);
        -ms-transform: rotate3d(0);
        transform: rotate3d(0);
        -webkit-transform-origin: right bottom;
        -ms-transform-origin: right bottom;
        transform-origin: right bottom
    }
    100% {
        opacity: 0;
        -webkit-transform: rotate3d(0, 0, 1, 90deg);
        -ms-transform: rotate3d(0, 0, 1, 90deg);
        transform: rotate3d(0, 0, 1, 90deg);
        -webkit-transform-origin: right bottom;
        -ms-transform-origin: right bottom;
        transform-origin: right bottom
    }
}

@keyframes rotateOutUpRight {
    0% {
        opacity: 1;
        -webkit-transform: rotate3d(0);
        -ms-transform: rotate3d(0);
        transform: rotate3d(0);
        -webkit-transform-origin: right bottom;
        -ms-transform-origin: right bottom;
        transform-origin: right bottom
    }
    100% {
        opacity: 0;
        -webkit-transform: rotate3d(0, 0, 1, 90deg);
        -ms-transform: rotate3d(0, 0, 1, 90deg);
        transform: rotate3d(0, 0, 1, 90deg);
        -webkit-transform-origin: right bottom;
        -ms-transform-origin: right bottom;
        transform-origin: right bottom
    }
}

@-webkit-keyframes slideInDown {
    0% {
        opacity: 0;
        -webkit-transform: translate3d(0, -2000px, 0);
        -ms-transform: translate3d(0, -2000px, 0);
        transform: translate3d(0, -2000px, 0)
    }
    100% {
        opacity: 1;
        -webkit-transform: translate3d(0, 0, 0);
        -ms-transform: translate3d(0, 0, 0);
        transform: translate3d(0, 0, 0)
    }
}

@keyframes slideInDown {
    0% {
        opacity: 0;
        -webkit-transform: translate3d(0, -2000px, 0);
        -ms-transform: translate3d(0, -2000px, 0);
        transform: translate3d(0, -2000px, 0)
    }
    100% {
        opacity: 1;
        -webkit-transform: translate3d(0, 0, 0);
        -ms-transform: translate3d(0, 0, 0);
        transform: translate3d(0, 0, 0)
    }
}

@-webkit-keyframes slideInLeft {
    0% {
        opacity: 0;
        -webkit-transform: translate3d(-2000px, 0, 0);
        -ms-transform: translate3d(-2000px, 0, 0);
        transform: translate3d(-2000px, 0, 0)
    }
    100% {
        opacity: 1;
        -webkit-transform: translate3d(0, 0, 0);
        -ms-transform: translate3d(0, 0, 0);
        transform: translate3d(0, 0, 0)
    }
}

@keyframes slideInLeft {
    0% {
        opacity: 0;
        -webkit-transform: translate3d(-2000px, 0, 0);
        -ms-transform: translate3d(-2000px, 0, 0);
        transform: translate3d(-2000px, 0, 0)
    }
    100% {
        opacity: 1;
        -webkit-transform: translate3d(0, 0, 0);
        -ms-transform: translate3d(0, 0, 0);
        transform: translate3d(0, 0, 0)
    }
}

@-webkit-keyframes slideInRight {
    0% {
        opacity: 0;
        -webkit-transform: translate3d(2000px, 0, 0);
        -ms-transform: translate3d(2000px, 0, 0);
        transform: translate3d(2000px, 0, 0)
    }
    100% {
        opacity: 1;
        -webkit-transform: translate3d(0, 0, 0);
        -ms-transform: translate3d(0, 0, 0);
        transform: translate3d(0, 0, 0)
    }
}

@keyframes slideInRight {
    0% {
        opacity: 0;
        -webkit-transform: translate3d(2000px, 0, 0);
        -ms-transform: translate3d(2000px, 0, 0);
        transform: translate3d(2000px, 0, 0)
    }
    100% {
        opacity: 1;
        -webkit-transform: translate3d(0, 0, 0);
        -ms-transform: translate3d(0, 0, 0);
        transform: translate3d(0, 0, 0)
    }
}

@-webkit-keyframes slideInUp {
    0% {
        opacity: 0;
        -webkit-transform: translate3d(0, 2000px, 0);
        -ms-transform: translate3d(0, 2000px, 0);
        transform: translate3d(0, 2000px, 0)
    }
    100% {
        opacity: 1;
        -webkit-transform: translate3d(0, 0, 0);
        -ms-transform: translate3d(0, 0, 0);
        transform: translate3d(0, 0, 0)
    }
}

@keyframes slideInUp {
    0% {
        opacity: 0;
        -webkit-transform: translate3d(0, 2000px, 0);
        -ms-transform: translate3d(0, 2000px, 0);
        transform: translate3d(0, 2000px, 0)
    }
    100% {
        opacity: 1;
        -webkit-transform: translate3d(0, 0, 0);
        -ms-transform: translate3d(0, 0, 0);
        transform: translate3d(0, 0, 0)
    }
}

@-webkit-keyframes slideOutDown {
    0% {
        -webkit-transform: translate3d(0, 0, 0);
        -ms-transform: translate3d(0, 0, 0);
        transform: translate3d(0, 0, 0)
    }
    100% {
        opacity: 0;
        -webkit-transform: translate3d(0, 2000px, 0);
        -ms-transform: translate3d(0, 2000px, 0);
        transform: translate3d(0, 2000px, 0)
    }
}

@keyframes slideOutDown {
    0% {
        -webkit-transform: translate3d(0, 0, 0);
        -ms-transform: translate3d(0, 0, 0);
        transform: translate3d(0, 0, 0)
    }
    100% {
        opacity: 0;
        -webkit-transform: translate3d(0, 2000px, 0);
        -ms-transform: translate3d(0, 2000px, 0);
        transform: translate3d(0, 2000px, 0)
    }
}

@-webkit-keyframes slideOutLeft {
    0% {
        -webkit-transform: translate3d(0, 0, 0);
        -ms-transform: translate3d(0, 0, 0);
        transform: translate3d(0, 0, 0)
    }
    100% {
        opacity: 0;
        -webkit-transform: translate3d(-2000px, 0, 0);
        -ms-transform: translate3d(-2000px, 0, 0);
        transform: translate3d(-2000px, 0, 0)
    }
}

@keyframes slideOutLeft {
    0% {
        -webkit-transform: translate3d(0, 0, 0);
        -ms-transform: translate3d(0, 0, 0);
        transform: translate3d(0, 0, 0)
    }
    100% {
        opacity: 0;
        -webkit-transform: translate3d(-2000px, 0, 0);
        -ms-transform: translate3d(-2000px, 0, 0);
        transform: translate3d(-2000px, 0, 0)
    }
}

@-webkit-keyframes slideOutRight {
    0% {
        -webkit-transform: translate3d(0, 0, 0);
        -ms-transform: translate3d(0, 0, 0);
        transform: translate3d(0, 0, 0)
    }
    100% {
        opacity: 0;
        -webkit-transform: translate3d(2000px, 0, 0);
        -ms-transform: translate3d(2000px, 0, 0);
        transform: translate3d(2000px, 0, 0)
    }
}

@keyframes slideOutRight {
    0% {
        -webkit-transform: translate3d(0, 0, 0);
        -ms-transform: translate3d(0, 0, 0);
        transform: translate3d(0, 0, 0)
    }
    100% {
        opacity: 0;
        -webkit-transform: translate3d(2000px, 0, 0);
        -ms-transform: translate3d(2000px, 0, 0);
        transform: translate3d(2000px, 0, 0)
    }
}

@-webkit-keyframes slideOutUp {
    0% {
        -webkit-transform: translate3d(0, 0, 0);
        -ms-transform: translate3d(0, 0, 0);
        transform: translate3d(0, 0, 0)
    }
    100% {
        opacity: 0;
        -webkit-transform: translate3d(0, -2000px, 0);
        -ms-transform: translate3d(0, -2000px, 0);
        transform: translate3d(0, -2000px, 0)
    }
}

@keyframes slideOutUp {
    0% {
        -webkit-transform: translate3d(0, 0, 0);
        -ms-transform: translate3d(0, 0, 0);
        transform: translate3d(0, 0, 0)
    }
    100% {
        opacity: 0;
        -webkit-transform: translate3d(0, -2000px, 0);
        -ms-transform: translate3d(0, -2000px, 0);
        transform: translate3d(0, -2000px, 0)
    }
}

@-webkit-keyframes hinge {
    0% {
        animation-timing-function: ease-in-out;
        -webkit-transform: rotate3d(0);
        -ms-transform: rotate3d(0);
        transform: rotate3d(0);
        -webkit-transform-origin: top left;
        -ms-transform-origin: top left;
        transform-origin: top left
    }
    20%,
    60% {
        animation-timing-function: ease-in-out;
        -webkit-transform: rotate3d(0, 0, 1, 80deg);
        -ms-transform: rotate3d(0, 0, 1, 80deg);
        transform: rotate3d(0, 0, 1, 80deg);
        -webkit-transform-origin: top left;
        -ms-transform-origin: top left;
        transform-origin: top left
    }
    40% {
        animation-timing-function: ease-in-out;
        -webkit-transform: rotate3d(0, 0, 1, 60deg);
        -ms-transform: rotate3d(0, 0, 1, 60deg);
        transform: rotate3d(0, 0, 1, 60deg);
        -webkit-transform-origin: top left;
        -ms-transform-origin: top left;
        transform-origin: top left
    }
    80% {
        opacity: 1;
        animation-timing-function: ease-in-out;
        -webkit-transform: rotate3d(0, 0, 1, 70deg) translate3d(0, 0, 0);
        -ms-transform: rotate3d(0, 0, 1, 70deg) translate3d(0, 0, 0);
        transform: rotate3d(0, 0, 1, 70deg) translate3d(0, 0, 0);
        -webkit-transform-origin: top left;
        -ms-transform-origin: top left;
        transform-origin: top left
    }
    100% {
        animation-timing-function: ease-in-out;
        -webkit-transform: rotate3d(0, 0, 1, 75deg) translate3d(0, 0, 0);
        -ms-transform: rotate3d(0, 0, 1, 75deg) translate3d(0, 0, 0);
        transform: rotate3d(0, 0, 1, 75deg) translate3d(0, 0, 0);
        -webkit-transform-origin: top left;
        -ms-transform-origin: top left;
        transform-origin: top left
    }
}

@keyframes hinge {
    0% {
        animation-timing-function: ease-in-out;
        -webkit-transform: rotate3d(0);
        -ms-transform: rotate3d(0);
        transform: rotate3d(0);
        -webkit-transform-origin: top left;
        -ms-transform-origin: top left;
        transform-origin: top left
    }
    20%,
    60% {
        animation-timing-function: ease-in-out;
        -webkit-transform: rotate3d(0, 0, 1, 80deg);
        -ms-transform: rotate3d(0, 0, 1, 80deg);
        transform: rotate3d(0, 0, 1, 80deg);
        -webkit-transform-origin: top left;
        -ms-transform-origin: top left;
        transform-origin: top left
    }
    40% {
        animation-timing-function: ease-in-out;
        -webkit-transform: rotate3d(0, 0, 1, 60deg);
        -ms-transform: rotate3d(0, 0, 1, 60deg);
        transform: rotate3d(0, 0, 1, 60deg);
        -webkit-transform-origin: top left;
        -ms-transform-origin: top left;
        transform-origin: top left
    }
    80% {
        opacity: 1;
        animation-timing-function: ease-in-out;
        -webkit-transform: rotate3d(0, 0, 1, 70deg) translate3d(0, 0, 0);
        -ms-transform: rotate3d(0, 0, 1, 70deg) translate3d(0, 0, 0);
        transform: rotate3d(0, 0, 1, 70deg) translate3d(0, 0, 0);
        -webkit-transform-origin: top left;
        -ms-transform-origin: top left;
        transform-origin: top left
    }
    100% {
        animation-timing-function: ease-in-out;
        -webkit-transform: rotate3d(0, 0, 1, 75deg) translate3d(0, 0, 0);
        -ms-transform: rotate3d(0, 0, 1, 75deg) translate3d(0, 0, 0);
        transform: rotate3d(0, 0, 1, 75deg) translate3d(0, 0, 0);
        -webkit-transform-origin: top left;
        -ms-transform-origin: top left;
        transform-origin: top left
    }
}

@-webkit-keyframes rollIn {
    0% {
        opacity: 0;
        -webkit-transform: translate3d(-100%, 0, 0) rotate(-120deg);
        -ms-transform: translate3d(-100%, 0, 0) rotate(-120deg);
        transform: translate3d(-100%, 0, 0) rotate(-120deg)
    }
    100% {
        opacity: 1;
        -webkit-transform: translate3d(0px, 0, 0) rotate(0deg);
        -ms-transform: translate3d(0px, 0, 0) rotate(0deg);
        transform: translate3d(0px, 0, 0) rotate(0deg)
    }
}

@keyframes rollIn {
    0% {
        opacity: 0;
        -webkit-transform: translate3d(-100%, 0, 0) rotate(-120deg);
        -ms-transform: translate3d(-100%, 0, 0) rotate(-120deg);
        transform: translate3d(-100%, 0, 0) rotate(-120deg)
    }
    100% {
        opacity: 1;
        -webkit-transform: translate3d(0px, 0, 0) rotate(0deg);
        -ms-transform: translate3d(0px, 0, 0) rotate(0deg);
        transform: translate3d(0px, 0, 0) rotate(0deg)
    }
}

@-webkit-keyframes rollOut {
    0% {
        opacity: 1;
        -webkit-transform: translate3d(0px, 0, 0) rotate(0deg);
        -ms-transform: translate3d(0px, 0, 0) rotate(0deg);
        transform: translate3d(0px, 0, 0) rotate(0deg)
    }
    100% {
        opacity: 0;
        -webkit-transform: translate3d(100%, 0, 0) rotate(120deg);
        -ms-transform: translate3d(100%, 0, 0) rotate(120deg);
        transform: translate3d(100%, 0, 0) rotate(120deg)
    }
}

@keyframes rollOut {
    0% {
        opacity: 1;
        -webkit-transform: translate3d(0px, 0, 0) rotate(0deg);
        -ms-transform: translate3d(0px, 0, 0) rotate(0deg);
        transform: translate3d(0px, 0, 0) rotate(0deg)
    }
    100% {
        opacity: 0;
        -webkit-transform: translate3d(100%, 0, 0) rotate(120deg);
        -ms-transform: translate3d(100%, 0, 0) rotate(120deg);
        transform: translate3d(100%, 0, 0) rotate(120deg)
    }
}

@-webkit-keyframes zoomIn {
    0% {
        opacity: 0;
        -webkit-transform: scale3d(0.3, 0.3, 0.3);
        -ms-transform: scale3d(0.3, 0.3, 0.3);
        transform: scale3d(0.3, 0.3, 0.3)
    }
    50% {
        opacity: 1
    }
}

@keyframes zoomIn {
    0% {
        opacity: 0;
        -webkit-transform: scale3d(0.3, 0.3, 0.3);
        -ms-transform: scale3d(0.3, 0.3, 0.3);
        transform: scale3d(0.3, 0.3, 0.3)
    }
    50% {
        opacity: 1
    }
}

@-webkit-keyframes zoomInDown {
    0% {
        animation-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19);
        opacity: 0;
        -webkit-transform: scale3d(0.1, 0.1, 0.1) translate3d(0, -1000px, 0);
        -ms-transform: scale3d(0.1, 0.1, 0.1) translate3d(0, -1000px, 0);
        transform: scale3d(0.1, 0.1, 0.1) translate3d(0, -1000px, 0)
    }
    60% {
        animation-timing-function: cubic-bezier(0.175, 0.885, 0.32, 1);
        opacity: 1;
        -webkit-transform: scale3d(0.475, 0.475, 0.475) translate3d(0, 60px, 0);
        -ms-transform: scale3d(0.475, 0.475, 0.475) translate3d(0, 60px, 0);
        transform: scale3d(0.475, 0.475, 0.475) translate3d(0, 60px, 0)
    }
}

@keyframes zoomInDown {
    0% {
        animation-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19);
        opacity: 0;
        -webkit-transform: scale3d(0.1, 0.1, 0.1) translate3d(0, -1000px, 0);
        -ms-transform: scale3d(0.1, 0.1, 0.1) translate3d(0, -1000px, 0);
        transform: scale3d(0.1, 0.1, 0.1) translate3d(0, -1000px, 0)
    }
    60% {
        animation-timing-function: cubic-bezier(0.175, 0.885, 0.32, 1);
        opacity: 1;
        -webkit-transform: scale3d(0.475, 0.475, 0.475) translate3d(0, 60px, 0);
        -ms-transform: scale3d(0.475, 0.475, 0.475) translate3d(0, 60px, 0);
        transform: scale3d(0.475, 0.475, 0.475) translate3d(0, 60px, 0)
    }
}

@-webkit-keyframes zoomInLeft {
    0% {
        animation-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19);
        opacity: 0;
        -webkit-transform: scale3d(0.1, 0.1, 0.1) translate3d(-1000px, 0, 0);
        -ms-transform: scale3d(0.1, 0.1, 0.1) translate3d(-1000px, 0, 0);
        transform: scale3d(0.1, 0.1, 0.1) translate3d(-1000px, 0, 0)
    }
    60% {
        animation-timing-function: cubic-bezier(0.175, 0.885, 0.32, 1);
        opacity: 1;
        -webkit-transform: scale3d(0.475, 0.475, 0.475) translate3d(10px, 0, 0);
        -ms-transform: scale3d(0.475, 0.475, 0.475) translate3d(10px, 0, 0);
        transform: scale3d(0.475, 0.475, 0.475) translate3d(10px, 0, 0)
    }
}

@keyframes zoomInLeft {
    0% {
        animation-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19);
        opacity: 0;
        -webkit-transform: scale3d(0.1, 0.1, 0.1) translate3d(-1000px, 0, 0);
        -ms-transform: scale3d(0.1, 0.1, 0.1) translate3d(-1000px, 0, 0);
        transform: scale3d(0.1, 0.1, 0.1) translate3d(-1000px, 0, 0)
    }
    60% {
        animation-timing-function: cubic-bezier(0.175, 0.885, 0.32, 1);
        opacity: 1;
        -webkit-transform: scale3d(0.475, 0.475, 0.475) translate3d(10px, 0, 0);
        -ms-transform: scale3d(0.475, 0.475, 0.475) translate3d(10px, 0, 0);
        transform: scale3d(0.475, 0.475, 0.475) translate3d(10px, 0, 0)
    }
}

@-webkit-keyframes zoomInRight {
    0% {
        animation-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19);
        opacity: 0;
        -webkit-transform: scale3d(0.1, 0.1, 0.1) translate3d(1000px, 0, 0);
        -ms-transform: scale3d(0.1, 0.1, 0.1) translate3d(1000px, 0, 0);
        transform: scale3d(0.1, 0.1, 0.1) translate3d(1000px, 0, 0)
    }
    60% {
        animation-timing-function: cubic-bezier(0.175, 0.885, 0.32, 1);
        opacity: 1;
        -webkit-transform: scale3d(0.475, 0.475, 0.475) translate3d(-10px, 0, 0);
        -ms-transform: scale3d(0.475, 0.475, 0.475) translate3d(-10px, 0, 0);
        transform: scale3d(0.475, 0.475, 0.475) translate3d(-10px, 0, 0)
    }
}

@keyframes zoomInRight {
    0% {
        animation-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19);
        opacity: 0;
        -webkit-transform: scale3d(0.1, 0.1, 0.1) translate3d(1000px, 0, 0);
        -ms-transform: scale3d(0.1, 0.1, 0.1) translate3d(1000px, 0, 0);
        transform: scale3d(0.1, 0.1, 0.1) translate3d(1000px, 0, 0)
    }
    60% {
        animation-timing-function: cubic-bezier(0.175, 0.885, 0.32, 1);
        opacity: 1;
        -webkit-transform: scale3d(0.475, 0.475, 0.475) translate3d(-10px, 0, 0);
        -ms-transform: scale3d(0.475, 0.475, 0.475) translate3d(-10px, 0, 0);
        transform: scale3d(0.475, 0.475, 0.475) translate3d(-10px, 0, 0)
    }
}

@-webkit-keyframes zoomInUp {
    0% {
        animation-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19);
        opacity: 0;
        -webkit-transform: scale3d(0.1, 0.1, 0.1) translate3d(0, 1000px, 0);
        -ms-transform: scale3d(0.1, 0.1, 0.1) translate3d(0, 1000px, 0);
        transform: scale3d(0.1, 0.1, 0.1) translate3d(0, 1000px, 0)
    }
    60% {
        animation-timing-function: cubic-bezier(0.175, 0.885, 0.32, 1);
        opacity: 1;
        -webkit-transform: scale3d(0.475, 0.475, 0.475) translate3d(0, -60px, 0);
        -ms-transform: scale3d(0.475, 0.475, 0.475) translate3d(0, -60px, 0);
        transform: scale3d(0.475, 0.475, 0.475) translate3d(0, -60px, 0)
    }
}

@keyframes zoomInUp {
    0% {
        animation-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19);
        opacity: 0;
        -webkit-transform: scale3d(0.1, 0.1, 0.1) translate3d(0, 1000px, 0);
        -ms-transform: scale3d(0.1, 0.1, 0.1) translate3d(0, 1000px, 0);
        transform: scale3d(0.1, 0.1, 0.1) translate3d(0, 1000px, 0)
    }
    60% {
        animation-timing-function: cubic-bezier(0.175, 0.885, 0.32, 1);
        opacity: 1;
        -webkit-transform: scale3d(0.475, 0.475, 0.475) translate3d(0, -60px, 0);
        -ms-transform: scale3d(0.475, 0.475, 0.475) translate3d(0, -60px, 0);
        transform: scale3d(0.475, 0.475, 0.475) translate3d(0, -60px, 0)
    }
}

@-webkit-keyframes zoomOut {
    0% {
        opacity: 1
    }
    50% {
        opacity: 0;
        -webkit-transform: scale3d(0.3, 0.3, 0.3);
        -ms-transform: scale3d(0.3, 0.3, 0.3);
        transform: scale3d(0.3, 0.3, 0.3)
    }
    100% {
        opacity: 0
    }
}

@keyframes zoomOut {
    0% {
        opacity: 1
    }
    50% {
        opacity: 0;
        -webkit-transform: scale3d(0.3, 0.3, 0.3);
        -ms-transform: scale3d(0.3, 0.3, 0.3);
        transform: scale3d(0.3, 0.3, 0.3)
    }
    100% {
        opacity: 0
    }
}

@-webkit-keyframes zoomOutDown {
    40% {
        animation-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19);
        opacity: 1;
        -webkit-transform: scale3d(0.475, 0.475, 0.475) translate3d(0, -60px, 0);
        -ms-transform: scale3d(0.475, 0.475, 0.475) translate3d(0, -60px, 0);
        transform: scale3d(0.475, 0.475, 0.475) translate3d(0, -60px, 0)
    }
    100% {
        animation-timing-function: cubic-bezier(0.175, 0.885, 0.32, 1);
        opacity: 0;
        -webkit-transform: scale3d(0.1, 0.1, 0.1) translate3d(0, 2000px, 0);
        -ms-transform: scale3d(0.1, 0.1, 0.1) translate3d(0, 2000px, 0);
        transform: scale3d(0.1, 0.1, 0.1) translate3d(0, 2000px, 0);
        -webkit-transform-origin: center bottom;
        -ms-transform-origin: center bottom;
        transform-origin: center bottom
    }
}

@keyframes zoomOutDown {
    40% {
        animation-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19);
        opacity: 1;
        -webkit-transform: scale3d(0.475, 0.475, 0.475) translate3d(0, -60px, 0);
        -ms-transform: scale3d(0.475, 0.475, 0.475) translate3d(0, -60px, 0);
        transform: scale3d(0.475, 0.475, 0.475) translate3d(0, -60px, 0)
    }
    100% {
        animation-timing-function: cubic-bezier(0.175, 0.885, 0.32, 1);
        opacity: 0;
        -webkit-transform: scale3d(0.1, 0.1, 0.1) translate3d(0, 2000px, 0);
        -ms-transform: scale3d(0.1, 0.1, 0.1) translate3d(0, 2000px, 0);
        transform: scale3d(0.1, 0.1, 0.1) translate3d(0, 2000px, 0);
        -webkit-transform-origin: center bottom;
        -ms-transform-origin: center bottom;
        transform-origin: center bottom
    }
}

@-webkit-keyframes zoomOutLeft {
    40% {
        opacity: 1;
        -webkit-transform: scale3d(0.475, 0.475, 0.475) translate3d(42px, 0, 0);
        -ms-transform: scale3d(0.475, 0.475, 0.475) translate3d(42px, 0, 0);
        transform: scale3d(0.475, 0.475, 0.475) translate3d(42px, 0, 0)
    }
    100% {
        opacity: 0;
        -webkit-transform: scale(0.1) translate3d(-2000px, 0, 0);
        -ms-transform: scale(0.1) translate3d(-2000px, 0, 0);
        transform: scale(0.1) translate3d(-2000px, 0, 0);
        -webkit-transform-origin: left center;
        -ms-transform-origin: left center;
        transform-origin: left center
    }
}

@keyframes zoomOutLeft {
    40% {
        opacity: 1;
        -webkit-transform: scale3d(0.475, 0.475, 0.475) translate3d(42px, 0, 0);
        -ms-transform: scale3d(0.475, 0.475, 0.475) translate3d(42px, 0, 0);
        transform: scale3d(0.475, 0.475, 0.475) translate3d(42px, 0, 0)
    }
    100% {
        opacity: 0;
        -webkit-transform: scale(0.1) translate3d(-2000px, 0, 0);
        -ms-transform: scale(0.1) translate3d(-2000px, 0, 0);
        transform: scale(0.1) translate3d(-2000px, 0, 0);
        -webkit-transform-origin: left center;
        -ms-transform-origin: left center;
        transform-origin: left center
    }
}

@-webkit-keyframes zoomOutRight {
    40% {
        opacity: 1;
        -webkit-transform: scale3d(0.475, 0.475, 0.475) translate3d(-42px, 0, 0);
        -ms-transform: scale3d(0.475, 0.475, 0.475) translate3d(-42px, 0, 0);
        transform: scale3d(0.475, 0.475, 0.475) translate3d(-42px, 0, 0)
    }
    100% {
        opacity: 0;
        -webkit-transform: scale(0.1) translate3d(2000px, 0, 0);
        -ms-transform: scale(0.1) translate3d(2000px, 0, 0);
        transform: scale(0.1) translate3d(2000px, 0, 0);
        -webkit-transform-origin: right center;
        -ms-transform-origin: right center;
        transform-origin: right center
    }
}

@keyframes zoomOutRight {
    40% {
        opacity: 1;
        -webkit-transform: scale3d(0.475, 0.475, 0.475) translate3d(-42px, 0, 0);
        -ms-transform: scale3d(0.475, 0.475, 0.475) translate3d(-42px, 0, 0);
        transform: scale3d(0.475, 0.475, 0.475) translate3d(-42px, 0, 0)
    }
    100% {
        opacity: 0;
        -webkit-transform: scale(0.1) translate3d(2000px, 0, 0);
        -ms-transform: scale(0.1) translate3d(2000px, 0, 0);
        transform: scale(0.1) translate3d(2000px, 0, 0);
        -webkit-transform-origin: right center;
        -ms-transform-origin: right center;
        transform-origin: right center
    }
}

@-webkit-keyframes zoomOutUp {
    40% {
        animation-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19);
        opacity: 1;
        -webkit-transform: scale3d(0.475, 0.475, 0.475) translate3d(0, 60px, 0);
        -ms-transform: scale3d(0.475, 0.475, 0.475) translate3d(0, 60px, 0);
        transform: scale3d(0.475, 0.475, 0.475) translate3d(0, 60px, 0)
    }
    100% {
        animation-timing-function: cubic-bezier(0.175, 0.885, 0.32, 1);
        opacity: 0;
        -webkit-transform: scale3d(0.1, 0.1, 0.1) translate3d(0, -2000px, 0);
        -ms-transform: scale3d(0.1, 0.1, 0.1) translate3d(0, -2000px, 0);
        transform: scale3d(0.1, 0.1, 0.1) translate3d(0, -2000px, 0);
        -webkit-transform-origin: center bottom;
        -ms-transform-origin: center bottom;
        transform-origin: center bottom
    }
}

@keyframes zoomOutUp {
    40% {
        animation-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19);
        opacity: 1;
        -webkit-transform: scale3d(0.475, 0.475, 0.475) translate3d(0, 60px, 0);
        -ms-transform: scale3d(0.475, 0.475, 0.475) translate3d(0, 60px, 0);
        transform: scale3d(0.475, 0.475, 0.475) translate3d(0, 60px, 0)
    }
    100% {
        animation-timing-function: cubic-bezier(0.175, 0.885, 0.32, 1);
        opacity: 0;
        -webkit-transform: scale3d(0.1, 0.1, 0.1) translate3d(0, -2000px, 0);
        -ms-transform: scale3d(0.1, 0.1, 0.1) translate3d(0, -2000px, 0);
        transform: scale3d(0.1, 0.1, 0.1) translate3d(0, -2000px, 0);
        -webkit-transform-origin: center bottom;
        -ms-transform-origin: center bottom;
        transform-origin: center bottom
    }
}

@-webkit-keyframes pulse-down {
    0% {
        -webkit-transform: translate3d(0, -20px, 0);
        -ms-transform: translate3d(0, -20px, 0);
        transform: translate3d(0, -20px, 0);
        opacity: .2
    }
    30% {
        -webkit-transform: translate3d(0, 16px, 0);
        -ms-transform: translate3d(0, 16px, 0);
        transform: translate3d(0, 16px, 0);
        opacity: .7
    }
    85% {
        -webkit-transform: translate3d(0, 17px, 0);
        -ms-transform: translate3d(0, 17px, 0);
        transform: translate3d(0, 17px, 0)
    }
    90% {
        -webkit-transform: translate3d(0, 22px, 0);
        -ms-transform: translate3d(0, 22px, 0);
        transform: translate3d(0, 22px, 0)
    }
    95% {
        -webkit-transform: translate3d(0, 17px, 0);
        -ms-transform: translate3d(0, 17px, 0);
        transform: translate3d(0, 17px, 0)
    }
    100% {
        -webkit-transform: translate3d(0, 22px, 0);
        -ms-transform: translate3d(0, 22px, 0);
        transform: translate3d(0, 22px, 0);
        opacity: .8
    }
}

@keyframes pulse-down {
    0% {
        -webkit-transform: translate3d(0, -20px, 0);
        -ms-transform: translate3d(0, -20px, 0);
        transform: translate3d(0, -20px, 0);
        opacity: .2
    }
    30% {
        -webkit-transform: translate3d(0, 16px, 0);
        -ms-transform: translate3d(0, 16px, 0);
        transform: translate3d(0, 16px, 0);
        opacity: .7
    }
    85% {
        -webkit-transform: translate3d(0, 17px, 0);
        -ms-transform: translate3d(0, 17px, 0);
        transform: translate3d(0, 17px, 0)
    }
    90% {
        -webkit-transform: translate3d(0, 22px, 0);
        -ms-transform: translate3d(0, 22px, 0);
        transform: translate3d(0, 22px, 0)
    }
    95% {
        -webkit-transform: translate3d(0, 17px, 0);
        -ms-transform: translate3d(0, 17px, 0);
        transform: translate3d(0, 17px, 0)
    }
    100% {
        -webkit-transform: translate3d(0, 22px, 0);
        -ms-transform: translate3d(0, 22px, 0);
        transform: translate3d(0, 22px, 0);
        opacity: .8
    }
}

@-webkit-keyframes rotate {
    to {
        -webkit-transform: rotate(360deg);
        -ms-transform: rotate(360deg);
        transform: rotate(360deg)
    }
}

@keyframes rotate {
    to {
        -webkit-transform: rotate(360deg);
        -ms-transform: rotate(360deg);
        transform: rotate(360deg)
    }
}

@-webkit-keyframes pulsate {
    from {
        opacity: 1;
        -webkit-transform: scale(0.25);
        -ms-transform: scale(0.25);
        transform: scale(0.25)
    }
    95% {
        opacity: 0;
        -webkit-transform: scale(1.3);
        -ms-transform: scale(1.3);
        transform: scale(1.3)
    }
    to {
        opacity: 0;
        -webkit-transform: scale(0.3);
        -ms-transform: scale(0.3);
        transform: scale(0.3)
    }
}

@keyframes pulsate {
    from {
        opacity: 1;
        -webkit-transform: scale(0.25);
        -ms-transform: scale(0.25);
        transform: scale(0.25)
    }
    95% {
        opacity: 0;
        -webkit-transform: scale(1.3);
        -ms-transform: scale(1.3);
        transform: scale(1.3)
    }
    to {
        opacity: 0;
        -webkit-transform: scale(0.3);
        -ms-transform: scale(0.3);
        transform: scale(0.3)
    }
}

.fx {
    opacity: 0
}

.animated {
    opacity: 1;
    -webkit-animation-fill-mode: both;
    animation-fill-mode: both
}

.parallax {
    position: absolute;
    width: 100%;
    height: 100%;
    top: 0;
    left: 0;
    will-change: transform;
    z-index: -1
}

.parallax-wrapper {
    position: relative;
    overflow: hidden;
    z-index: 0
}

body {
    font-family: gotham-light, "Yu Gothic", "游ゴシック", YuGothic, "游ゴシック体", "ヒラギノ角ゴ Pro W3", "メイリオ", sans-serif;
    color: #000
}

h1 {
    font-family: gotham-bold, "Yu Gothic", "游ゴシック", YuGothic, "游ゴシック体", "ヒラギノ角ゴ Pro W3", "メイリオ", sans-serif;
    font-size: 42px
}

h2 {
    font-family: gotham-bold, "Yu Gothic", "游ゴシック", YuGothic, "游ゴシック体", "ヒラギノ角ゴ Pro W3", "メイリオ", sans-serif;
    font-size: 36px
}

h3 {
    font-family: gotham-bold, "Yu Gothic", "游ゴシック", YuGothic, "游ゴシック体", "ヒラギノ角ゴ Pro W3", "メイリオ", sans-serif;
    font-size: 30px
}

h4 {
    font-family: gotham-bold, "Yu Gothic", "游ゴシック", YuGothic, "游ゴシック体", "ヒラギノ角ゴ Pro W3", "メイリオ", sans-serif;
    font-size: 24px
}

h5 {
    font-family: gotham-bold, "Yu Gothic", "游ゴシック", YuGothic, "游ゴシック体", "ヒラギノ角ゴ Pro W3", "メイリオ", sans-serif;
    font-size: 18px
}

h6 {
    font-family: gotham-bold, "Yu Gothic", "游ゴシック", YuGothic, "游ゴシック体", "ヒラギノ角ゴ Pro W3", "メイリオ", sans-serif;
    font-size: 16px
}

p {
    font-family: gotham-light, "Yu Gothic", "游ゴシック", YuGothic, "游ゴシック体", "ヒラギノ角ゴ Pro W3", "メイリオ", sans-serif;
    font-weight: 300;
    line-height: 1.4;
    color: #555
}

.text-italic {
    font-style: italic;
}

header,
section {
    width: 100%
}

.theme-color {
    color: #55c594
}

.wrapper {
    position: relative;
    overflow: hidden
}

.wrapper-content {
    position: relative;
    left: 0;
    -webkit-transition: .4s left cubic-bezier(1, 0, 0.95, 1);
    transition: .4s left cubic-bezier(1, 0, 0.95, 1)
}

.hidden {
    opacity: 0;
    display: none !important
}

.header {
    position: absolute;
    top: 0;
    left: 0;
    line-height: 80px;
    z-index: 2;
    white-space: nowrap;
    background: #fff
}

.header:not(.header-sticky-relative) {
    -webkit-transition: .4s top, 0.4s background;
    transition: .4s top, 0.4s background
}

@media(max-width:767px) {
    .s-header {
        padding: 0
    }
}

.header-logo {
    line-height: 0;
    padding-bottom: 0;
    text-transform: uppercase
}

.header-logo__link {
    height: 80px;
    font-family: "Helvetica", sans-serif;
    color: #fff;
    display: inline-block;
    vertical-align: middle
}

.header-logo__link:before {
    content: '';
    display: inline-block;
    vertical-align: middle;
    height: 100%
}

.header-logo__img {
    vertical-align: middle;
    max-width: 100%;
    max-height: 100%
}

.header-dark {
    background: #fff
}

.header-sticky {
    position: fixed !important;
    top: 100px;
    -webkit-transform: translateY(-100px) !important;
    -ms-transform: translateY(-100px) !important;
    transform: translateY(-100px) !important
}

.header-sticky-relative {
    position: relative;
    top: 0;
    -webkit-transform: translateY(0) !important;
    -ms-transform: translateY(0) !important;
    transform: translateY(0) !important;
    -webkit-transition: .4s background;
    transition: .4s background
}

.menu {
    display: none
}

.menu-desktop .menu-mobile-logo {
    display: none !important
}

.menu-desktop .menu {
    display: block;
    font-size: 12px;
    font-weight: normal;
    text-align: right
}

.menu-desktop .menu__item {
    display: inline-block;
    margin-right: 25px
}

.menu-desktop .menu__item:last-child {
    margin-right: 0
}

@media(min-width:768px) {
    .menu-desktop .menu__item:not(.submenu-mega)>.submenu {
        opacity: 0;
        -webkit-transition: .3s;
        transition: .3s;
        -webkit-transform: translateY(20px);
        -ms-transform: translateY(20px);
        transform: translateY(20px)
    }
    .menu-desktop .menu__item:not(.submenu-mega)>.submenu .submenu {
        opacity: 0;
        -webkit-transition: .3s;
        transition: .3s;
        -webkit-transform: translateX(-10px);
        -ms-transform: translateX(-10px);
        transform: translateX(-10px)
    }
    .menu-desktop .menu__item:not(.submenu-mega)>.submenu .submenu__item:hover>.submenu {
        opacity: 1;
        -webkit-transform: translateX(0);
        -ms-transform: translateX(0);
        transform: translateX(0)
    }
    .menu-desktop .menu__item.submenu-mega:hover .submenu {
        visibility: visible
    }
    .menu-desktop .menu__item.submenu-mega>.submenu {
        opacity: 0;
        -webkit-transition: .3s;
        transition: .3s;
        -webkit-transform: translateY(20px);
        -ms-transform: translateY(20px);
        transform: translateY(20px)
    }
    .menu-desktop .menu__item:hover>.submenu {
        opacity: 1;
        visibility: visible;
        -webkit-transform: translateY(0);
        -ms-transform: translateY(0);
        transform: translateY(0)
    }
}

.menu-desktop .menu__link {
    position: relative;
    display: inline-block;
    color: #8d8c8c;
    font-family: "Helvetica", sans-serif;
    -webkit-transition: .2s;
    transition: .2s
}

.menu-desktop .menu__link:hover {
    color: #000;
    cursor: pointer
}

.menu-desktop .menu__link:after,
.menu-desktop .menu__link_active:after {
    content: "";
    position: absolute;
    display: block;
    width: 0;
    height: 1px;
    top: 50%;
    margin-top: 18px;
    background: transparent;
    -webkit-transition: .6s;
    transition: .6s
}

.menu-desktop .menu__link:hover:after,
.menu-desktop .menu__link_active:after {
    background: #000;
    width: 100%
}

.menu-desktop .menu__link_active {
    color: #000
}

.menu-desktop .submenu {
    background: #0b1216;
    opacity: 1;
    visibility: hidden;
    position: absolute;
    min-width: 120px;
    text-align: left
}

.menu-desktop .submenu__item {
    position: relative;
    display: block;
    margin: 0;
    line-height: 40px
}

.menu-desktop .submenu__item:hover>.submenu {
    visibility: visible
}

.menu-desktop .submenu__item_empty {
    padding-bottom: 60px;
    line-height: 0 !important;
    font-size: 0 !important
}

.menu-desktop .submenu__link {
    display: block;
    padding: 0 25px 0 15px;
    white-space: nowrap;
    font-family: "Helvetica", sans-serif;
    color: #fff;
    text-transform: uppercase;
    -webkit-transition: .4s;
    transition: .4s
}

.menu-desktop .submenu__link:hover {
    color: #fff;
    background: #55c594
}

.menu-desktop .submenu__link.ico-112:before {
    position: absolute;
    top: 14px;
    right: 5px
}

.menu-desktop .submenu .submenu {
    top: 0;
    left: 100%
}

.menu-desktop .submenu-mega>.submenu {
    min-width: auto;
    width: 100%;
    position: absolute;
    left: 0
}

.menu-desktop .submenu-mega>.submenu>.submenu__item {
    padding: 15px 45px 45px;
    background: #0b1216
}

.menu-desktop .submenu-mega>.submenu .submenu {
    position: static;
    padding-right: 80px;
    display: inline-block;
    vertical-align: top
}

@media(min-width:768px) {
    .menu-desktop .submenu-mega>.submenu .submenu {
        width: 25%
    }
}

.menu-desktop .submenu-mega>.submenu .submenu .submenu__item:first-child:not(.submenu__item_empty) {
    padding: 0;
    font-weight: 300;
    color: #fff;
    margin-bottom: 20px;
    text-transform: uppercase
}

.menu-desktop .submenu-mega>.submenu .submenu .submenu__item:first-child:not(.submenu__item_empty):before {
    content: '';
    position: absolute;
    display: block;
    top: 100%;
    left: 0;
    width: 100%;
    height: 1px;
    background: #142027
}

.menu-desktop .submenu-mega>.submenu .submenu .submenu__item:first-child:not(.submenu__item_empty):after {
    content: '';
    position: absolute;
    display: block;
    left: 0;
    width: 20px;
    height: 1px;
    background: #55c594;
    -webkit-transition: .6s width;
    transition: .6s width
}

.menu-desktop .submenu-mega>.submenu .submenu:hover .submenu__item:first-child:after {
    width: 50%
}

.menu-desktop .submenu-mega .submenu__link {
    padding: 0;
    color: #9aa8a8
}

.menu-desktop .submenu-mega .submenu__link:hover {
    background: 0;
    color: #55c594
}

@media(min-width:768px) and (max-width:991px) {
    .menu-desktop .menu__item {
        margin-right: 6px
    }
}

.menu-mobile-logo {
    padding: 0 30px 50px;
    font-size: 20px;
    font-weight: 300;
    text-transform: uppercase;
    line-height: 80px !important;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap
}

@media(max-width:767px) {
    .menu-mobile-logo {
        padding: 0 30px 10px
    }
}

.menu-mobile-social {
    margin: 70px 20px 0 30px
}

@media(max-width:767px) {
    .menu-mobile-social {
        margin: 30px 20px 0 30px
    }
}

.menu-mobile-social .footer-social__item {
    margin: 10px 8px 0 0
}

.menu-mobile-social .footer-social__item:before {
    font-size: 30px
}

.menu-mobile .header {
    white-space: normal;
    -webkit-transition: .4s cubic-bezier(1, 0, 0.95, 1);
    transition: .4s cubic-bezier(1, 0, 0.95, 1);
    opacity: 1
}

.menu-mobile .menu {
    display: block;
    position: absolute;
    top: 0;
    display: block;
    height: 990px;
    height: 100vh;
    text-transform: uppercase;
    overflow-y: auto;
    background: url("../img/top.jpg");
    -webkit-background-size: cover;
    background-size: cover
}

.menu-mobile .menu__item {
    line-height: 36px
}

.menu-mobile .menu__link {
    display: block;
    color: #ddd;
    font-family: "Helvetica", sans-serif;
    font-size: 13px;
    font-weight: 300;
    text-transform: uppercase;
    -webkit-transition: .4s;
    transition: .4s
}

.menu-mobile .menu__link:hover {
    color: #fff;
    background: #ddd
}

.menu-mobile .menu__link_pressed {
    color: #ddd;
    background: #090f12
}

.menu-mobile .menu__link_pressed:hover {
    color: #fff
}

.menu-mobile .menu__link:not(:only-child):before {
    position: absolute;
    line-height: inherit;
    font-size: 20px;
    -webkit-transition: .4s transform;
    transition: .4s transform
}

.menu-mobile .submenu {
    display: none;
    visibility: visible;
    background: #090f12
}

.menu-mobile .submenu__item_empty {
    padding-bottom: 0;
    line-height: 0 !important;
    font-size: 0 !important
}

.menu-mobile .submenu__link {
    display: block;
    color: #9aa8a8;
    font-family: "Helvetica", sans-serif;
    font-size: 12px;
    -webkit-transition: .4s;
    transition: .4s
}

.menu-mobile .submenu__link:hover {
    color: #fff;
    background: #55c594
}

.menu-mobile .submenu__link:not(:only-child):before {
    position: absolute;
    line-height: inherit;
    font-size: 20px;
    -webkit-transition: .4s transform;
    transition: .4s transform
}

.menu-mobile .submenu-mega>.submenu .submenu {
    display: block
}

.menu-mobile .submenu-mega>.submenu .submenu__item:first-child {
    color: #9aa8a8;
    font-size: 13px
}

.menu-mobile.menu-mobile-left .header-logo {
    float: right;
    text-align: right
}

.menu-mobile.menu-mobile-left .menu-nav {
    text-align: left
}

.menu-mobile.menu-mobile-left.menu-mobile-opened .header {
    left: 260px
}

.menu-mobile.menu-mobile-left.menu-mobile-opened .wrapper-content {
    left: 260px
}

.menu-mobile.menu-mobile-left .menu {
    left: auto;
    right: 100%;
    width: 260px;
    text-align: left;
    direction: rtl
}

.menu-mobile.menu-mobile-left .menu__link {
    padding: 0 0 0 30px
}

.menu-mobile.menu-mobile-left .menu__link:not(:only-child):before {
    left: auto;
    right: 15px
}

.menu-mobile.menu-mobile-left .menu .submenu__link {
    padding: 0 15px 0 45px
}

.menu-mobile.menu-mobile-left .menu .submenu__link:not(:only-child) {
    padding-left: 30px
}

.menu-mobile.menu-mobile-left .menu .submenu__link:not(:only-child):before {
    left: auto;
    right: 15px
}

.menu-mobile.menu-mobile-left .menu .submenu-mega .submenu .submenu .submenu__item:first-child {
    padding-left: 30px
}

.menu-mobile.menu-mobile-left .menu .submenu-mega .submenu__link {
    padding-left: 45px
}

.menu-mobile.menu-mobile-left .menu__link:before,
.menu-mobile.menu-mobile-left .submenu__link:before {
    -webkit-transform: rotate(180deg);
    -ms-transform: rotate(180deg);
    transform: rotate(180deg)
}

.menu-mobile.menu-mobile-left .menu__link_pressed:before {
    -webkit-transform: rotate(270deg);
    -ms-transform: rotate(270deg);
    transform: rotate(270deg)
}

.menu-mobile.menu-mobile-right .menu-nav {
    text-align: right
}

.menu-mobile.menu-mobile-right .menu-toggle {
    -webkit-transform: scale(-1, 1);
    -ms-transform: scale(-1, 1);
    transform: scale(-1, 1)
}

.menu-mobile.menu-mobile-right.menu-mobile-opened .header {
    left: -260px
}

.menu-mobile.menu-mobile-right.menu-mobile-opened .wrapper-content {
    left: -260px
}

.menu-mobile.menu-mobile-right .menu {
    left: 100%;
    width: 260px;
    text-align: right
}

.menu-mobile.menu-mobile-right .menu__link {
    padding: 0 30px 0 0
}

.menu-mobile.menu-mobile-right .menu__link_pressed:before {
    -webkit-transform: rotate(-90deg);
    -ms-transform: rotate(-90deg);
    transform: rotate(-90deg)
}

.menu-mobile.menu-mobile-right .menu__link:not(:only-child):before {
    left: 15px
}

.menu-mobile.menu-mobile-right .menu .submenu__link {
    padding: 0 45px 0 15px
}

.menu-mobile.menu-mobile-right .menu .submenu__link:not(:only-child) {
    padding-right: 30px
}

.menu-mobile.menu-mobile-right .menu .submenu__link:not(:only-child):before {
    left: 15px
}

.menu-mobile.menu-mobile-right .menu .submenu-mega .submenu .submenu .submenu__item:first-child {
    padding-right: 30px
}

.menu-mobile.menu-mobile-right .menu .submenu-mega .submenu__link {
    padding-right: 45px
}

.menu-nav {
    padding-bottom: 0
}

.menu-toggle {
    display: none;
    padding: 8px 7px 8px 0;
    cursor: pointer;
    vertical-align: middle
}

.menu-toggle__inner {
    position: relative;
    width: 28px;
    height: 1px;
    background: #39465f;
    -webkit-transition: .4s background-color;
    transition: .4s background-color
}

.menu-toggle__inner:before {
    content: '';
    position: absolute;
    top: -8px;
    left: 0;
    background: #39465f;
    width: 28px;
    height: 1px;
    -webkit-transition: .4s background-color;
    transition: .4s background-color
}

.menu-toggle__inner:after {
    content: '';
    position: absolute;
    top: 8px;
    left: 0;
    background: #39465f;
    width: 28px;
    height: 1px;
    -webkit-transition: .4s background-color;
    transition: .4s background-color
}

.menu-toggle:hover .menu-toggle__inner,
.menu-toggle:hover .menu-toggle__inner:before,
.menu-toggle:hover .menu-toggle__inner:after {
    background-color: #39465f
}

@media(max-width:767px) {
    .menu-toggle {
        display: inline-block
    }
}

.menu-mobile-hidden .menu-toggle {
    display: inline-block
}

.p-asidemenupage.menu-mobile .row {
    margin-left: auto;
    margin-right: auto
}

.p-asidemenupage.menu-mobile .menu {
    top: -30px;
    width: 260px
}

.p-asidemenupage.menu-mobile .menu-nav {
    position: fixed;
    top: 30px;
    background: rgba(0, 0, 0, 0.2);
    z-index: 2;
    -webkit-transition: .4s left cubic-bezier(1, 0, 0.95, 1), 0.4s right cubic-bezier(1, 0, 0.95, 1);
    transition: .4s left cubic-bezier(1, 0, 0.95, 1), 0.4s right cubic-bezier(1, 0, 0.95, 1)
}

@media(max-width:767px) {
    .p-asidemenupage.menu-mobile.menu-mobile-left .wrapper-content {
        width: 100% !important
    }
    .p-asidemenupage.menu-mobile.menu-mobile-left .menu-nav {
        padding: 8px 8px;
        left: 20px
    }
    .p-asidemenupage.menu-mobile.menu-mobile-left .menu {
        right: calc(100%+20px)
    }
    .p-asidemenupage.menu-mobile.menu-mobile-right .wrapper-content {
        left: 0;
        width: 100% !important
    }
    .p-asidemenupage.menu-mobile.menu-mobile-right .menu-nav {
        padding: 8px 8px;
        right: 20px
    }
    .p-asidemenupage.menu-mobile.menu-mobile-right .menu {
        left: calc(100%+20px)
    }
}

.p-asidemenupage.menu-mobile.menu-mobile-hidden.menu-mobile-left .wrapper-content {
    width: 100% !important
}

.p-asidemenupage.menu-mobile.menu-mobile-hidden.menu-mobile-left .menu-nav {
    padding: 8px 8px;
    left: 20px
}

.p-asidemenupage.menu-mobile.menu-mobile-hidden.menu-mobile-left .menu {
    right: calc(100%+20px)
}

.p-asidemenupage.menu-mobile.menu-mobile-hidden.menu-mobile-right .wrapper-content {
    left: 0;
    width: 100% !important
}

.p-asidemenupage.menu-mobile.menu-mobile-hidden.menu-mobile-right .menu-nav {
    padding: 8px 8px;
    right: 20px
}

.p-asidemenupage.menu-mobile.menu-mobile-hidden.menu-mobile-right .menu {
    left: calc(100%+20px)
}

.p-asidemenupage.menu-mobile-opened.menu-mobile-left .menu-nav {
    left: 280px !important
}

.p-asidemenupage.menu-mobile-opened.menu-mobile-left .wrapper-content {
    left: 260px;
    width: calc(100% - 260px)
}

.p-asidemenupage.menu-mobile-opened.menu-mobile-left .menu {
    right: calc(100%+20px)
}

.p-asidemenupage.menu-mobile-opened.menu-mobile-right .menu-nav {
    right: 280px !important
}

.p-asidemenupage.menu-mobile-opened.menu-mobile-right .wrapper-content {
    left: 0;
    width: calc(100% - 260px)
}

@media(max-width:767px) {
    .p-asidemenupage.menu-mobile-opened.menu-mobile-right .wrapper-content {
        left: -260px
    }
}

.p-asidemenupage.menu-mobile-opened.menu-mobile-right .menu {
    left: calc(100%+20px)
}

.p-asidemenupage.menu-mobile-opened.menu-mobile-right.menu-mobile-hidden .wrapper-content {
    left: -260px
}

.s-main {
    position: relative;
    height: 990px;
    height: 100vh;
    overflow: hidden
}

.main-simple {
    height: 500px;
    text-align: center;
    position: relative;
    overflow: hidden;
    z-index: 0
}

.main-simple:after {
    content: '';
    height: 100%;
    display: inline-block;
    vertical-align: middle
}

.main-simple__bg {
    width: 100%;
    height: 100%;
    top: 0;
    left: 0;
    background-repeat: no-repeat;
    background-position: 50%;
    background-size: cover;
    background-position-y: 0;
    z-index: -1
}

.main-simple__title {
    font-size: 46px;
    font-size: 4.8vmin;
    color: #fff;
    font-weight: 300;
    letter-spacing: 10px;
    text-transform: uppercase
}

.main-simple__subtitle {
    margin-top: 20px;
    font-family: gotham-bold, "Yu Gothic", "游ゴシック", YuGothic, "游ゴシック体", "ヒラギノ角ゴ Pro W3", "メイリオ", sans-serif;
    color: #fff;
    letter-spacing: 10px;
    text-transform: uppercase
}

.main-simple .container {
    width: 90%;
    display: inline-block;
    vertical-align: middle
}

.main-1 {
    height: 990px;
    height: 100vh;
}

.main-1-item {
    position: absolute;
    width: 100%;
    height: 100%
}

.main-1-item-container {
    display: table;
    margin: auto
}

.main-1-item-container:hover a {
    opacity: .7
}

.main-1-item-container a {
    margin: auto;
    -webkit-transition: opacity 400ms ease;
    -moz-transition: opacity 400ms ease;
    -ms-transition: opacity 400ms ease;
    -o-transition: opacity 400ms ease;
    transition: opacity 400ms ease
}

.main-1-item__bg {
    background-size: cover
}

.main-1-item__inner {
    display: block;
    text-align: center
}

.main-1-item__title {
    font-size: 72px;
    font-size: 7.6vmin;
    text-transform: uppercase;
    margin-top: 5%;
    color: #000
}

.main-1-item__title_thin {
    font-weight: 200
}

.main-1-item__title_part_1 {
    display: block;
    line-height: 140%;
    font-size: 40px
}

@media(max-width:767px) {
    .main-1-item__title_part_1 {
        font-size: 22px
    }
}

@media(max-width:320px) {
    .main-1-item__title_part_1 {
        font-size: 18px
    }
}

.main-1-item__title_part_2 {
    display: inline-block
}

.main-1-item__title_part_3 {
    display: inline-block
}

.main-1-item__subtitle {
    font-weight: 300;
    font-size: 24px;
    font-size: 1.8vmin;
    color: #000;
    padding: 0 20px;
    line-height: 180%;
    margin-bottom: 30px
}

@media(max-width:767px) {
    .main-1-item__subtitle {
        padding: 0;
        font-size: 14px;
        font-size: 2.9vmin
    }
}

.main-1-item .container {
    width: 90%;
    top: 10%;
    position: relative
}

@media(max-width:767px) {
    .main-1-item .container {
        top: 3%;
        padding-right: 0;
        padding-left: 0
    }
}

.s-service {
    background: url(/assets/img/bg.jpg);
    background-repeat: no-repeat;
    background-size: cover;
}

.service-item {
    text-align: center;
    padding: 144px 16px;
}

.service-item__text {
    margin: 30px 0 ;
    padding: 0 10%;
    color: #fff;
    font-size: 16px;
    line-height: 1.4
}

@media(max-width:767px) {
    .service-item__text {
        padding: 0
    }
}

.service-item__img {
    text-align: center
}

.s-content {
    position: relative;
    padding-bottom: 0
}

.content-1 {
    margin: 0 0 80px
}

.content-item {
    -webkit-backface-visibility: hidden;
    padding: 0
}

.content-item__wrap {
    position: relative;
    overflow: hidden;
    text-align: center
}

.content-item__img {
    width: 100%;
    display: block
}

@media(min-width:768px) and (max-width:991px) {
    .content-item__description {
        height: 300px
    }
}

.content-item__inner {
    position: absolute;
    top: 50%;
    left: 0;
    width: 100%;
    padding: 0 30px;
    text-align: left;
    z-index: 1;
    -webkit-transform: translateY(-50%);
    -ms-transform: translateY(-50%);
    transform: translateY(-50%)
}

.content-item__link {
    width: 80px;
    height: 80px;
    color: #fff;
    font-size: 50px;
    line-height: 80px !important
}

.content-item__title {
    font-weight: 300;
    text-transform: uppercase;
    font-size: 36px;
    color: #000;
    letter-spacing: 4px
}

@media(min-width:992px) and (max-width:1199px) {
    .content-item__title {
        font-size: 33px
    }
}

.content-item__subtitle {
    margin: auto;
    font-size: 18px;
    color: #000;
    letter-spacing: 2px;
    font-weight: 300;
    text-transform: uppercase
}

.content-item__top-triangle:before {
    display: block;
    position: absolute;
    top: 0;
    left: 0;
    border-right: 20px solid transparent;
    border-top: 20px solid #de0022;
    content: ""
}

.content-item__bottom-triangle:after {
    display: block;
    position: absolute;
    bottom: 0;
    right: 0;
    border-left: 20px solid transparent;
    border-bottom: 20px solid #005bab;
    content: ""
}

.offer-1 {
    display: block;
    padding: 0 0 20px;
    position: relative
}

@media(max-width:767px) {
    .offer-1 {
        padding: 0 0 20px
    }
}

.offer-1-product {
    position: relative;
    margin: 8px 0;
    padding: 8px;
    color: #fff;
    min-height: 100px;
}

.offer-1-product__inner {
    position: absolute;
    width: 100%;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    -webkit-transform: translate(-50%, -50%);
    -ms-transform: translate(-50%, -50%);
}

.offer-1-product__img {
    top: 0;
    left: 0;
    max-width: 100%
}

.offer-1-product-1 {
    background: url(/assets/img/services/service_1.jpg);
    background-repeat: no-repeat;
    background-size: cover;    
}

.offer-1-product-2 {
    background: url(/assets/img/services/service_3.jpg);
    background-repeat: no-repeat;
    background-size: cover;    
}

.offer-1-product-3 {
    background: url(/assets/img/services/service_3.jpg);
    background-repeat: no-repeat;
    background-size: cover;    
}

.offer-1-product-4 {
    background: url(/assets/img/services/service_4.jpg);
    background-repeat: no-repeat;
    background-size: cover;    
}

.offer-1-product-5 {
    background: url(/assets/img/services/service_5.jpg);
    background-repeat: no-repeat;
    background-size: cover;    
}

.offer-1-product-6 {
    background: url(/assets/img/services/service_6.jpg);
    background-repeat: no-repeat;
    background-size: cover;    
}

.offer-1-product-7 {
    background: url(/assets/img/services/service_7.jpg);
    background-repeat: no-repeat;
    background-size: cover;    
}

.offer-1-product-8 {
    background: url(/assets/img/services/service_8.jpg);
    background-repeat: no-repeat;
    background-size: cover;    
}

.offer-1-product-9 {
    background: url(/assets/img/services/service_9.jpg);
    background-repeat: no-repeat;
    background-size: cover;    
}

.offer-1-product-10 {
    background: url(/assets/img/services/service_10.jpg);
    background-repeat: no-repeat;
    background-size: cover;    
}

.offer-1-product-11 {
    background: url(/assets/img/services/service_11.jpg);
    background-repeat: no-repeat;
    background-size: cover;    
}

.offer-1-product-12 {
    background: url(/assets/img/services/service_12.jpg);
    background-repeat: no-repeat;
    background-size: cover;    
}

.offer-1-description {
    position: relative;
    z-index: 1;
    padding: 0;
    background-color: #fff
}

.offer-1-description {
    position: relative;
    z-index: 1;
    padding: 0;
    background-color: #fff;
    left: -30px
}

@media(max-width:767px) {
    .offer-1-product {
        right: 0;
        top: 10px
    }
    .offer-1-description {
        left: 0
    }
}

@media(min-width:768px) and (max-width:991px) {
    .offer-1-product {
        right: 0;
        top: 10px
    }
    .offer-1-description {
        left: 0
    }
}

.offer-1-features {
    padding: 20px 40px;
    text-align: left
}

@media(max-width:767px) {
    .offer-1-features {
        padding: 0;
        font-size: 25px
    }
}

.offer-1-features-item {
    margin-bottom: 20px
}

.offer-1-features-item:before {
    display: inline-block;
    padding: 0 24px 0 1px;
    color: #55c594;
    font-size: 40px;
    vertical-align: middle;
    -webkit-transition: .4s transform;
    transition: .4s transform
}

.offer-1-features-item:hover:before {
    -webkit-transform: scale(1.15);
    -ms-transform: scale(1.15);
    transform: scale(1.15)
}

.offer-1-features-item__title {
    color: #333;
    font-size: 36px
}

.offer-1-features-item__description {
    padding-top: 20px;
    font-size: 18px;
    font-weight: 300
}

@media(max-width:767px) {
    .offer-1-features {
        padding: 16px 20px
    }
    .offer-1-features-item__title {
        font-size: 22px
    }
    .offer-1-features-item__description {
        padding-top: 10px;
        font-size: 16px;
        line-height: 160%
    }
}

@media(min-width:768px) and (max-width:991px) {
    .offer-1-features {
        padding: 16px 40px
    }
    .offer-1-features-item__title {
        font-size: 32px
    }
    .offer-1-features-item__description {
        padding-top: 10px;
        font-size: 16px
    }
}

@media(min-width:992px) and (max-width:1199px) {
    .offer-1-features {
        padding: 16px 40px
    }
    .offer-1-features-item__title {
        font-size: 32px
    }
    .offer-1-features-item__description {
        padding-top: 10px;
        font-size: 16px
    }
}

.offer-2 {
    display: inline-block;
    padding: 0 0 160px;
    position: relative;
    width: 100%
}

@media(max-width:767px) {
    .offer-2 {
        padding: 0 0 60px
    }
}

@media(min-width:768px) and (max-width:991px) {
    .offer-2 {
        padding: 0 0 100px
    }
}

.offer-2-product {
    position: relative;
    left: 518px;
    top: 0;
    padding: 0
}

@media(min-width:1200px) {
    .offer-2-product {
        left: 665px
    }
}

.offer-2-product__img {
    top: 0;
    left: 0;
    max-width: 100%
}

.offer-2-description {
    position: relative;
    z-index: 1;
    padding: 0;
    background-color: #fff
}

.offer-2-description {
    position: absolute;
    z-index: 1;
    padding: 0;
    background-color: #fff;
    left: 30px;
    top: 80px
}

@media(max-width:767px) {
    .offer-2-product {
        left: 0;
        top: 10px
    }
    .offer-2-description {
        position: relative;
        z-index: 1;
        padding: 0;
        background-color: #fff;
        left: 0;
        top: 0
    }
}

@media(min-width:768px) and (max-width:991px) {
    .offer-2-product {
        left: 0;
        top: 10px
    }
    .offer-2-description {
        position: relative;
        z-index: 1;
        padding: 0;
        background-color: #fff;
        left: 0;
        top: 0
    }
}

.offer-2-description:nth-child(1) {
    left: -30px
}

.offer-2-features-item:last-child {
    text-align: left
}

.offer-2-features {
    padding: 20px 40px;
    text-align: left
}

@media(max-width:767px) {
    .offer-2-features {
        padding: 0;
        font-size: 25px
    }
}

.offer-2-features-item {
    margin-bottom: 20px
}

.offer-2-features-item:before {
    display: inline-block;
    padding: 0 24px 0 1px;
    color: #55c594;
    font-size: 40px;
    vertical-align: middle;
    -webkit-transition: .4s transform;
    transition: .4s transform
}

.offer-2-features-item:hover:before {
    -webkit-transform: scale(1.15);
    -ms-transform: scale(1.15);
    transform: scale(1.15)
}

.offer-2-features-item__title {
    color: #333;
    font-size: 36px
}

.offer-2-features-item__description {
    padding-top: 20px;
    font-size: 18px;
    font-weight: 300
}

@media(max-width:767px) {
    .offer-2-features {
        padding: 16px 20px
    }
    .offer-2-features-item__title {
        font-size: 22px
    }
    .offer-2-features-item__description {
        padding-top: 10px;
        font-size: 16px;
        line-height: 160%
    }
}

@media(min-width:768px) and (max-width:991px) {
    .offer-2-features {
        padding: 16px 40px
    }
    .offer-2-features-item__title {
        font-size: 32px
    }
    .offer-2-features-item__description {
        padding-top: 10px;
        font-size: 16px
    }
}

@media(min-width:992px) and (max-width:1199px) {
    .offer-2-features {
        padding: 16px 40px
    }
    .offer-2-features-item__title {
        font-size: 32px
    }
    .offer-2-features-item__description {
        padding-top: 10px;
        font-size: 16px
    }
}

.portfolio {
    text-align: center;
    background-color: #fff;
    padding: 50px;
    margin: 0 2% 50px;
    float: left
}

@media(max-width:767px) {
    .portfolio {
        padding: 30px 0;
        margin: 0
    }
}

@media(min-width:992px) and (max-width:1199px) {
    .portfolio {
        padding: 50px 0;
        margin: 0 2% 50px
    }
}

.portfolio-top-title {
    font-size: 30px
}

.portfolio-top-subtitle {
    font-size: 36px;
    border: solid 4px #000;
    display: table;
    margin: auto;
    padding: 5px 40px
}

@media(max-width:767px) {
    .portfolio-top-subtitle {
        font-size: 20px;
        padding: 5px 50px
    }
}

@media(max-width:320px) {
    .portfolio-top-subtitle {
        font-size: 14px
    }
}

.portfolio-top-description {
    font-size: 20px;
    padding: 20px
}

.portfolio-item {
    position: relative;
    text-align: center
}

.portfolio-item__img {
    width: 100%;
    padding: 20px
}

@media(min-width:768px) and (max-width:991px) {
    .portfolio-item__img {
        width: 500px
    }
}

.portfolio-item__wrap {
    position: relative;
    line-height: 0
}

@media(min-width:768px) and (max-width:991px) {
    .portfolio-item__wrap {
        width: 500px;
        margin: auto
    }
}

.portfolio-item__wrap:before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    width: 100%;
    height: 100%;
    background: #000;
    opacity: 0;
    -webkit-transition: .5s opacity;
    transition: .5s opacity
}

.portfolio-item__wrap:hover .portfolio-item-social__link {
    -webkit-transform: scale(1);
    -ms-transform: scale(1);
    transform: scale(1)
}

.portfolio-item-title {
    font-size: 16px
}

@media(min-width:992px) and (max-width:1199px) {
    .portfolio {
        padding: 50px 0;
        margin: 0 2% 50px
    }
}

.portfolio-item-title:after {
    content: '';
    display: block;
    margin: 15px auto 10px;
    width: 40px;
    height: 3px;
    background: #000
}

.portfolio-item-subtitle {
    font-size: 27px
}

.portfolio-item-social {
    position: absolute;
    left: 0;
    right: 0;
    bottom: 20px;
    width: 100%
}

.portfolio-item-social__link {
    display: inline-block;
    -webkit-transform: scale(0);
    -ms-transform: scale(0);
    transform: scale(0)
}

.portfolio-item-social__link:nth-child(1) {
    -webkit-transition: .3s transform 0s;
    transition: .3s transform 0s
}

.portfolio-item-social__link:nth-child(2) {
    -webkit-transition: .3s transform .1s;
    transition: .3s transform .1s
}

.portfolio-item-social__link:nth-child(3) {
    -webkit-transition: .3s transform .2s;
    transition: .3s transform .2s
}

.portfolio-item-social__link:nth-child(4) {
    -webkit-transition: .3s transform .3s;
    transition: .3s transform .3s
}

.portfolio-item-social__icon {
    margin: 0 2px;
    display: inline-block;
    width: 36px;
    height: 36px;
    border: 1px solid #919191;
    -webkit-transition: .3s border-color;
    transition: .3s border-color
}

.portfolio-item-social__icon:hover {
    border-color: #55c594
}

.portfolio-item-social__icon:before {
    font-size: 16px;
    line-height: 36px !important;
    color: #fff;
    -webkit-transition: .3s color;
    transition: .3s color
}

.portfolio-item-social__icon:hover:before {
    color: #55c594
}

.portfolio-item-details {
    line-height: normal;
    color: #fff;
    padding: 20px;
    width: 100%
}

.portfolio-item-details-up {
    position: absolute;
    top: 0;
    left: 0
}

.portfolio-item-details-down {
    position: absolute;
    top: 0;
    left: 0
}

@media(min-width:768px) and (max-width:991px) {
    .portfolio-item-details {
        top: 20%
    }
}

.portfolio-item-details__name {
    padding: 2.0rem 0 0;
    font-size: 18px
}

@media(min-width:768px) and (max-width:991px) {
    .portfolio-item-details__name {
        padding: 1.5rem 0 0
    }
}

@media(min-width:992px) and (max-width:1199px) {
    .portfolio-item-details__name {
        padding: 1.5rem 0 0
    }
}

@media(max-width:320px) {
    .portfolio-item-details__name {
        padding: 1.2rem 0 0;
        font-size: 18px
    }
}

.portfolio-item-details__value {
    padding: 0 0 20px;
    font-size: 50px;
    line-height: 100%
}

.portfolio-item-details__value-s {
    font-size: 30px
}

.ios-device .portfolio-item {
    cursor: pointer
}

@media(max-width:320px) {
    .portfolio-item-details__value {
        font-size: 40px
    }
}

.supported-sns {
    text-align: center
}

.supported-sns-item {
    position: relative
}

.supported-sns-item__img {
    width: 100%
}

.supported-sns-item__wrap {
    position: relative;
    line-height: 0
}

.supported-sns-item__wrap:hover .supported-sns-item-social__link {
    -webkit-transform: scale(1);
    -ms-transform: scale(1);
    transform: scale(1)
}

.supported-sns-item__wrap:hover:before {
    background: #000;
    opacity: .5
}

.supported-sns-item-social {
    position: absolute;
    left: 0;
    right: 0;
    bottom: 20px;
    width: 100%
}

.supported-sns-item-social__link {
    display: inline-block;
    -webkit-transform: scale(0);
    -ms-transform: scale(0);
    transform: scale(0)
}

.supported-sns-item-social__link:nth-child(1) {
    -webkit-transition: .3s transform 0s;
    transition: .3s transform 0s
}

.supported-sns-item-social__link:nth-child(2) {
    -webkit-transition: .3s transform .1s;
    transition: .3s transform .1s
}

.supported-sns-item-social__link:nth-child(3) {
    -webkit-transition: .3s transform .2s;
    transition: .3s transform .2s
}

.supported-sns-item-social__link:nth-child(4) {
    -webkit-transition: .3s transform .3s;
    transition: .3s transform .3s
}

.supported-sns-item-social__icon {
    margin: 0 2px;
    display: inline-block;
    width: 36px;
    height: 36px;
    border: 1px solid #919191;
    -webkit-transition: .3s border-color;
    transition: .3s border-color
}

.supported-sns-item-social__icon:hover {
    border-color: #55c594
}

.supported-sns-item-social__icon:before {
    font-size: 16px;
    line-height: 36px !important;
    color: #fff;
    -webkit-transition: .3s color;
    transition: .3s color
}

.supported-sns-item-social__icon:hover:before {
    color: #55c594
}

.ios-device .supported-sns-item {
    cursor: pointer
}

.footer-top {
    padding: 50px 0;
    font-weight: 300;
    color: #9aa8a8;
    text-align: center
}

.footer-top [class^="col-"]:hover .footer__title:after {
    width: 15%
}

.footer__title {
    position: relative;
    padding-top: 30px;
    color: #fff;
    font-family: "Helvetica", sans-serif;
    font-size: 16px;
    font-weight: 300;
    margin-bottom: 60px;
    text-transform: uppercase
}

.footer__title:before {
    content: '';
    position: absolute;
    display: block;
    top: calc(100%+15px);
    left: 0;
    width: 100%;
    height: 1px;
    background: #142027
}

.footer__title:after {
    content: '';
    position: absolute;
    display: block;
    top: calc(100%+15px);
    left: 0;
    width: 20px;
    height: 1px;
    background: #55c594;
    -webkit-transition: .6s width;
    transition: .6s width
}

.footer__about {
    line-height: 1.4
}

.footer-contacts__item {
    line-height: 1.7
}

.footer-contacts__link {
    color: #55c594;
    -webkit-transition: .3s color;
    transition: .3s color
}

.footer-contacts__link:hover {
    color: #fff
}

.footer-social__item {
    display: inline-block;
    margin: 30px 10px 0 0
}

.footer-social__item:before {
    font-size: 40px;
    color: #4e5b5b;
    -webkit-transition: .3s color;
    transition: .3s color
}

.footer-social__item:hover:before {
    color: #55c594
}

.footer-twitter-feed-vertical__list a {
    color: #55c594;
    font-size: 14px;
    -webkit-transition: .3s color;
    transition: .3s color
}

.footer-twitter-feed-vertical__list a:hover {
    color: #fff
}

.footer-twitter-feed-vertical__item {
    position: relative;
    padding: 0 0 15px 40px;
    color: #9aa8a8;
    font-size: 14px
}

.footer-twitter-feed-vertical__item:before {
    content: '';
    position: absolute;
    top: 3px;
    left: 0;
    font-size: 22px;
    color: #55c594;
    -webkit-transition: .6s transform;
    transition: .6s transform
}

.footer-twitter-feed-vertical__item .tweet {
    color: #9aa8a8
}

.footer-twitter-feed-vertical__item .timePosted {
    color: #9aa8a8;
    font-size: 12px
}

.footer-form {
    text-align: right
}

.footer-form__input {
    border-radius: 0;
    margin: 0 0 10px;
    padding: 8px 10px;
    border: 0;
    min-width: 100%;
    max-width: 100%;
    background: #0e161b;
    font-family: gotham-bold, "Yu Gothic", "游ゴシック", YuGothic, "游ゴシック体", "ヒラギノ角ゴ Pro W3", "メイリオ", sans-serif;
    color: #9aa8a8;
    overflow: auto;
    -webkit-transition: .3s background-color;
    transition: .3s background-color
}

.footer-form__input:focus {
    background: #101a20
}

.footer-form__submit {
    margin: 0;
    padding: 10px 32px;
    border: 0;
    font-family: gotham-bold, "Yu Gothic", "游ゴシック", YuGothic, "游ゴシック体", "ヒラギノ角ゴ Pro W3", "メイリオ", sans-serif;
    font-weight: 300;
    color: #fff;
    background: #0e161b;
    cursor: pointer;
    -webkit-transition: .4s background-color;
    transition: .4s background-color
}

.footer-form__submit:hover {
    background: #55c594
}

.footer-bottom {
    background: #000;
    padding: 12px 0 30px 0;
    font-size: 14px;
    color: #fff;
    text-align: center;
    min-height: 300px;
}

.footer-bottom__img {
    max-height: 30px;
    position: relative;
    bottom: -10px
}

.footer-company {
    padding-bottom: 0;
    font-size: 16px;
    text-align: right;
    vertical-align: bottom
}

@media(max-width:767px) {
    .footer-company {
        text-align: center
    }
}

.row-equal-height {
    display: flex;
    flex-wrap: wrap;
}

.footer-left-col {
    text-align: left;
    font-family: gotham-bold, "Yu Gothic", "游ゴシック", YuGothic, "游ゴシック体", "ヒラギノ角ゴ Pro W3", "メイリオ", sans-serif;
}

.footer-left-col__title {
    padding-top: 8px;
    font-size: 12px;
}

.footer-left-col__subtitle {
    padding-top: 4px;
    font-weight: 400;
    font-size: 8px;
    line-height: 14px;
}

.footer-right-col {
    position: relative;
    height: 100%;
    font-size: 28px;
    font-weight: 400;
    font-family: gotham-bold, "Yu Gothic", "游ゴシック", YuGothic, "游ゴシック体", "ヒラギノ角ゴ Pro W3", "メイリオ", sans-serif;
}

.footer-right-col__title {
    padding-top: 30px;
    text-align: right;
}

.footer-right-col__subtitle {
    position: absolute;
    font-size: 12px;
    text-decoration: underline;
    text-align: right;
    bottom: 0;
    right: 0;
}

.footer-right-col__subtitle a {
    color:#fff;
}

@media(max-width:767px) {
    .footer-left-col {
        text-align: center;
    }
    .footer-right-col__title {
        text-align: center;
    }
    .footer-right-col__subtitle {
        position: relative;
        margin-top: 16px;
        text-align: center;
    }
}

.footer-logo {
    max-height: 80px;
}

.footer-copy {
    padding-bottom: 0;
    font-size: 12px;
    text-align: right;
    vertical-align: bottom
}

@media(max-width:767px) {
    .footer-copy {
        text-align: center;
        padding-top: 20px
    }
}

.footer-menu {
    padding-bottom: 0;
    text-align: right
}

@media(max-width:767px) {
    .footer-menu {
        text-align: center;
        padding-top: 30px;
        padding-bottom: 20px
    }
}

.footer-menu__item {
    display: inline;
    margin-right: 25px
}

.footer-menu__item:last-child {
    margin-right: 0
}

.footer-menu__link {
    position: relative;
    text-transform: uppercase;
    font-family: "Helvetica", sans-serif;
    font-size: 12px;
    color: #fff;
    -webkit-transition: .4s color;
    transition: .4s color
}

.footer-menu__link:after {
    content: '';
    position: absolute;
    display: block;
    top: 50%;
    left: 0;
    width: 0;
    height: 1px;
    margin-top: 18px;
    background: #55c594;
    -webkit-transition: .6s width;
    transition: .6s width
}

.footer-menu__link:hover {
    color: #55c594
}

.footer-menu__link:hover:after {
    width: 100%
}

.footer-menu__link_active {
    color: #55c594
}

.up-arrow-1 {
    position: relative;
    display: inline-block;
    padding-left: 20px
}

.up-arrow-1:before {
    content: '';
    width: 20px;
    height: 20px;
    border: 0;
    border-top: solid 2px #595858;
    border-right: solid 2px #595858;
    -ms-transform: rotate(-45deg);
    -webkit-transform: rotate(-45deg);
    transform: rotate(-45deg);
    position: absolute;
    top: 50%;
    left: 14px;
    margin-top: -22px
}

.up-arrow-2 {
    position: relative;
    display: inline-block;
    padding-left: 20px
}

.up-arrow-2:before {
    content: '';
    width: 20px;
    height: 20px;
    border: 0;
    border-top: solid 2px #595858;
    border-right: solid 2px #595858;
    -ms-transform: rotate(-45deg);
    -webkit-transform: rotate(-45deg);
    transform: rotate(-45deg);
    position: absolute;
    top: 55%;
    left: -12px;
    margin-top: -10px
}

.four04-title {
    font-size: 40px;
    color: #55c594
}

.four04-text {
    margin-bottom: 100px;
    font-size: 200px;
    color: #55c594
}

.contact-form__content {
    text-align: left;
}

.contact-form__content p {
    padding: 16px 0 4px 0;
    color: #333;
}

.contact-form__input {
    box-sizing: border-box;
    margin-bottom: -5px;
    width: 100%;
    font-size: 16px;
    font-family: "Hiragino Kaku Gothic ProN", メイリオ, sans-serif;
    border-radius: 0px;
    padding: 10px;
    border-width: 1px;
    border-style: solid;
    border-color: rgb(221, 221, 221);
    border-image: initial;
}

.contact-info {
    text-align: left
}

.contact-info__title {
    margin-bottom: 30px;
    padding-left: 30px;
    font-size: 26px;
    font-weight: 300;
    color: #000
}

.contact-info__item {
    position: relative;
    padding-left: 30px;
    color: gray;
    font-weight: 300;
    margin-bottom: 20px
}

.contact-info__item:before {
    position: absolute;
    top: 1px;
    left: 0;
    font-size: 20px
}

.contact-info__link {
    color: gray
}

.contact-info__link:hover {
    color: #000 !important
}

.contact-form__input {
    border-radius: 0;
    padding: 10px;
    margin-bottom: -5px;
    width: 100%;
    border: 1px solid #ddd;
    font-family: gotham-bold, "Yu Gothic", "游ゴシック", YuGothic, "游ゴシック体", "ヒラギノ角ゴ Pro W3", "メイリオ", sans-serif;
}

.contact-form__textarea {
    border-radius: 0;
    padding: 10px;
    width: 100%;
    max-width: 100%;
    border: 1px solid #ddd;
    font-size: 16px;
    font-family: gotham-bold, "Yu Gothic", "游ゴシック", YuGothic, "游ゴシック体", "ヒラギノ角ゴ Pro W3", "メイリオ", sans-serif;
}

.contact-form__submit {
    margin-top: 15px;
    background: #000
}

.contact-form__submit:hover {
    background: transparent
}

.thanks__logo {
    position: relative;
}

.thanks__desc {
    position: relative;
    text-align: center;
}

.section {
    padding: 100px 0;
    text-align: center;
    overflow: hidden
}

.section__title {
    padding: 15px 0 20px;
    font-size: 36px;
    font-weight: 300;
    font-family: "Didact Gothic","Helvetica", sans-serif;
}

.section__title {
    position: relative;
    display: inline-block;
    padding: 0 55px
}

.section__subtitle {
    font-size: 9px;
    letter-spacing: .66em;
    word-spacing: .1em;
    text-transform: uppercase
}

.section:hover .section__title:after {
    width: 80px
}

.section__desc {
    line-height: 1.8rem;
}

.section-black {
    background: #000;
}

.section-black .section__title {
    color: #fff
}

.section-black .section__title:after {
    background: #fff
}

.section-black .section__subtitle {
    color: #fff
}

.section-black .section__desc {
    color: #fff;
}

.section-white {
    background-color: #fff
}

.section-white .section__title {
    color: #333
}

.section-white .section__title:after {
    background: #000
}

.section-white .section__subtitle {
    color: #000
}

.section-lightgray {
    background: #e4e9e9
}

.section-lightgray .section__title {
    color: #333
}

.section-lightgray .section__title:after {
    background: #000
}

.section-lightgray .section__subtitle {
    color: #000
}

.section-beige {
    background: #fff3e7;
}

.section-beige .section__title {
    color: #333
}

.section-beige .section__title:after {
    background: #000
}

.section-beige .section__subtitle {
    color: #000
}

.section-2 {
    padding: 0;
    text-align: center;
    overflow: hidden
}

.section-2 .section__title {
    padding: 15px 0 20px 0;
    font-size: 2rem;
    font-weight: 700;
    margin-top: 50px
}

@media(max-width:767px) {
    .section-2 .section__title {
        margin-top: 20px
    }
}

.section-2 .section__subtitle {
    font-size: 10px;
    letter-spacing: .66em;
    word-spacing: .1em;
    text-transform: uppercase
}

.section-2:hover .section__title:after {
    width: 140px
}

.btn-a {
    position: relative;
    display: inline-block;
    padding: 0 30px;
    text-align: center;
    min-width: 160px;
    height: 40px;
    line-height: 40px;
    vertical-align: middle;
    border: 1px solid #000;
    color: #fff;
    font-family: "Helvetica", sans-serif;
    font-weight: 400;
    font-size: 14px;
    text-transform: uppercase;
    cursor: pointer;
    z-index: 0;
    overflow: hidden;
    -webkit-transition: .4s color;
    transition: .4s color
}

@media(max-width:767px) {
    .btn-a {
        min-width: 100px;
        height: 44px;
        line-height: 44px
    }
}

.btn-a:before {
    padding-right: 10px;
    vertical-align: text-bottom
}

.btn-a:after {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: transparent;
    z-index: -1;
    -webkit-transition: .4s background;
    transition: .4s background
}

.btn-a:hover {
    color: #000
}

.btn-a:hover:after {
    left: 0;
    background: #eee
}

.btn-a_size_small {
    min-width: 80px;
    height: 36px;
    line-height: 36px
}

@media(max-width:767px) {
    .btn-a_size_small {
        min-width: 70px;
        height: 32px;
        line-height: 32px;
        font-size: 12px
    }
}

.btn-a_size_large {
    min-width: 230px;
    height: 64px;
    line-height: 64px;
    font-size: 18px
}

@media(max-width:767px) {
    .btn-a_size_large {
        min-width: 160px;
        height: 40px;
        line-height: 40px;
        font-size: 14px
    }
}

.btn-a_weight_bold {
    border-width: 2px;
    font-weight: 400
}

.btn-a_color_black {
    color: #000;
    border-color: #000
}

.btn-a_color_black:hover {
    color: #fff
}

.btn-a_color_black:hover:after {
    background: #000
}

.btn-a_color_theme {
    color: #55c594;
    border-color: #55c594
}

.btn-a_color_theme:hover {
    color: #fff
}

.btn-a_color_theme:hover:after {
    background: #55c594
}

.btn-a_fill_theme {
    color: #fff;
    border-color: #55c594
}

.btn-a_fill_theme:after {
    background: #55c594
}

.btn-a_fill_theme:hover {
    color: #55c594
}

.btn-a_fill_theme:hover:after {
    background: transparent
}

.btn-a.btn-a_hover_2:after {
    left: -100%;
    -webkit-transition: .4s background, 0.4s left;
    transition: .4s background, 0.4s left
}

.btn-a.btn-a_hover_2:hover:after {
    left: 0
}

.btn-a.btn-a_hover_2.btn-a_fill_theme:after {
    left: 0
}

.btn-a.btn-a_hover_2.btn-a_fill_theme:hover:after {
    left: -100%
}

.btn-t {
    display: block;
    text-align: center;
    width: 350px;
    height: 88px;
    line-height: 88px;
    background: url(../img/button_t.jpg) no-repeat;
    background-size: cover;
    color: #005bab;
    margin: auto;
    font-size: 45px
}

.btn-t {
    box-shadow: 0 6px 0 #6d7ea0;
    position: relative;
    top: 0
}

.btn-t:active {
    box-shadow: none;
    top: 6px
}

@media(max-width:767px) {
    .btn-t {
        width: 250px;
        height: 60px;
        line-height: 60px;
        background: url(../img/button_t.jpg) no-repeat;
        font-size: 27px
    }
}

.btn-b {
    display: block;
    text-align: center;
    width: 500px;
    height: 120px;
    line-height: 120px;
    background: url(../img/button_b.jpg) no-repeat;
    background-size: cover;
    color: #fff;
    margin: auto;
    font-size: 45px
}

.btn-b {
    box-shadow: 0 6px 0 #6d7ea0;
    position: relative;
    top: 0
}

.btn-b:active {
    box-shadow: none;
    top: 6px
}

@media(max-width:767px) {
    .btn-b {
        width: 300px;
        height: 72px;
        line-height: 72px;
        background: url(../img/button_b.jpg) no-repeat;
        font-size: 27px
    }
}

.footer-top-container {
    display: table;
    margin: auto
}

.footer-top-container:hover a {
    opacity: .7
}

.footer-top-container a {
    margin: auto;
    -webkit-transition: opacity 400ms ease;
    -moz-transition: opacity 400ms ease;
    -ms-transition: opacity 400ms ease;
    -o-transition: opacity 400ms ease;
    transition: opacity 400ms ease
}

.footer-top-spacer {
    margin-top: 50px
}

.p-preloader {
    position: fixed;
    width: 100%;
    height: 100%;
    z-index: 999
}

.p-preloader__top,
.p-preloader__bottom {
    content: '';
    position: absolute;
    background: #0d0d0d;
    height: 50%;
    width: 100%
}

.p-preloader__top {
    top: 0
}

.p-preloader__bottom {
    bottom: 0
}

.p-preloader__progressbar {
    position: absolute;
    background: #fff;
    top: 50%;
    left: 0;
    width: 0;
    height: 2px
}

.p-preloader__percentage {
    color: #fff;
    position: relative;
    top: 50%;
    width: 50px;
    margin: auto;
    display: block;
    text-align: center;
    font-family: "Helvetica", sans-serif;
    font-size: 20px;
    font-weight: 300;
    padding-top: 30px
}

.p-preloader__percentage:after {
    content: '%'
}

.preloader {
    display: none;
    position: fixed;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    width: 100%;
    height: 100%;
    z-index: 6
}

.preloader:before {
    content: '';
    position: absolute;
    top: calc(50% - 25px);
    left: calc(50% - 25px);
    width: 50px;
    height: 50px;
    border-radius: 50%;
    border-top: 2px solid #55c594;
    border-left: 2px solid #55c594;
    border-right: 2px solid #55c594;
    border-bottom: 2px solid transparent;
    -webkit-animation: .8s rotate infinite linear normal;
    animation: .8s rotate infinite linear normal
}

.modal {
    display: none;
    position: fixed;
    font-size: 20px;
    font-weight: 300;
    color: #fff;
    text-align: center;
    z-index: 6
}

.modal__close {
    cursor: pointer
}

.modal__close:before {
    position: absolute;
    font-size: 40px;
    color: #ccc;
    top: -10px;
    right: -45px;
    z-index: 1;
    -webkit-transition: .4s transform;
    transition: .4s transform
}

@media(max-width:767px) {
    .modal__close:before {
        top: -5px;
        right: 0
    }
}

.modal__close:hover:before {
    -webkit-transform: scale(1.3);
    -ms-transform: scale(1.3);
    transform: scale(1.3)
}

.modal__info {
    display: none;
    cursor: pointer
}

.modal__info:before {
    position: absolute;
    font-size: 24px;
    color: #ccc;
    top: 35px;
    right: -39px;
    z-index: 1;
    -webkit-transition: .4s color;
    transition: .4s color
}

@media(max-width:767px) {
    .modal__info:before {
        top: 35px;
        right: 6px
    }
}

.modal__info:hover:before {
    color: #e2b608
}

.modal__content {
    position: relative;
    height: 100%
}

.modal__img {
    line-height: normal;
    width: 100%;
    display: block
}

.modal__video {
    line-height: normal;
    width: 100%;
    height: 100%
}

.modal__text {
    line-height: normal;
    display: inline-block
}

.overlay {
    z-index: 5;
    position: fixed;
    background: #111;
    width: 100%;
    height: 100%;
    top: 0;
    left: 0;
    cursor: pointer;
    display: none;
    background: #000;
    opacity: .85
}