@charset "utf-8";

html,
body,
div,
span,
p,
a,
h1,
h2,
h3,
h4,
img,
strong,
ul,
li,
article,
aside,
canvas,
footer,
header,
menu,
nav,
section,
audio,
video {
    border: 0;
    font: inherit;
    margin: 0;
    padding: 0;
    vertical-align: baseline;
}

body {
    width: 100%;
    height: 100%;
    -webkit-tap-highlight-color: transparent;
    font-family: "PingFang SC", "Microsoft YaHei", "Helvetica Neue", "Helvetica", "Arial", sans-serif;
}

strong {
    font-weight: bolder;
}

html,
body {
    height: 100%;
    background: #efe8dc;
}

img {
    display: block;
    width: 100%;
    height: auto !important;
    max-width: 100% !important;
}

ul li {
    list-style: none;
}

a {
    text-decoration: none;
}

video {
    width: 100%;
    display: block;
}

@media screen and (min-width: 768px) {
    body:before {
        content: "";
        width: 100%;
        height: 100%;
        position: fixed;
        content: "";
        background-color: #fff;
        background-size: cover;
        background-position: 50% 50%;
        background-attachment: fixed;
        filter: blur(100px);
    }

    .wrap {
        box-shadow: 0px 0px 15px #cca98269;
        width: 375px !important;
        background: #fff;
    }

    .popbox {
        width: 375px !important;
        margin: 0 auto !important;
        left: 50% !important;
        transform: translateX(-50%) !important;
    }

    .pop {
        width: 50% !important;
        position: relative;
        margin: 5% auto !important;
    }
}

.wrap {
    margin: 0 auto;
    max-width: 750px;
    position: relative;
    overflow: hidden;
    background: linear-gradient(to bottom, #f4efe6, #cca982);
    background-attachment: fixed;
}

.logo {
    opacity: 0;
    animation: fadeInDown .8s ease-in-out 0.2s 1 normal forwards;
}

.imgs {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
}

.imgs img {
    position: absolute;
    top: 0;
    left: 0;
}

.main {
    position: relative;
    margin: -200px auto 0;
}

.videobox {
    background: #fff;
    border-radius: 10px;
    border: 1px solid #963433;
    margin: 0 2.5% 0;
    padding: 10px 20px;
    opacity: 0;
    animation: fadeInUp 0.5s cubic-bezier(0.250, 0.460, 0.450, 0.940) .8s 1 normal forwards;
}

.videobox .videotitle{
    width: 38.76%;
    margin: 5px auto;
}

.videobox video {
    margin: 0 auto;
    border-radius: 10px;
    width: -webkit-fill-available;
}

.swiper{
    --swiper-theme-color: #ff6600;
    --swiper-pagination-color: #00ff33;/* 两种都可以 */
  }

.nav {
    width: 92%;
    position: relative;
    
    margin: 20px auto 10px;
}

.nav .column-one {
    opacity: 0;
    animation: fadeInBig .5s cubic-bezier(0.250, 0.460, 0.450, 0.940) 1.2s 1 normal forwards;

}

.nav .column-two {
    margin: 0 auto 10px;
    display: flex;
    align-items: center;
    justify-content: space-between;
}

.nav .column-two a:first-child{
    margin-right: 10px;
    opacity: 0;
    animation: fadeInBig .5s cubic-bezier(0.250, 0.460, 0.450, 0.940) .9s 1 normal forwards;
}

.nav .column-two a:last-child{
    opacity: 0;
    animation: fadeInBig .5s cubic-bezier(0.250, 0.460, 0.450, 0.940) 1s 1 normal forwards;
}

.collegelistbox{
    margin: 20px auto 0;
    opacity: 0;
    animation: fadeInUp .5s cubic-bezier(0.250, 0.460, 0.450, 0.940) 1.2s 1 normal forwards;
}

.collegelistbox .majorlist {
    width: 95%;
    margin: -45px auto 0;
}

.majorlist li{
    margin: 0 0 16px 0;
}

.majorlist a{
    color: #fff;
}


.majorlist-page{
    position: relative;
    width: 100%;
    height: 100%;
    background-color: #fff;
}

.majorlistbox{
    position: absolute;
    top: 0;
    left: 2.5%;
    width: 95%;
    padding-top: 150px;
    height: calc(100% - 30px);
    overflow-y: scroll;
    overflow-scrolling: touch;
    -webkit-overflow-scrolling: touch;
    scrollbar-width: none;
}

.newsinfo{
    opacity: 0;
    animation: fadeInUp .5s cubic-bezier(0.250, 0.460, 0.450, 0.940) .2s 1 normal forwards;
}

.majorlistbox::-webkit-scrollbar {
    display: none;
  }

.majorlistbox .title{
    margin-left: 2.8%;
    width: 60%;
}

.majorlistbox .majorlist{
    position: relative;
    overflow: scroll;
    height: 88%;
    padding-bottom: 10px;
    margin-top: 30px;
    background: 
    linear-gradient(330deg, #5c0b97, #af60cd);
    background-size: auto;
    border-radius: 10px 10px 0 0;

    opacity: 0;
    animation: fadeInUp .5s cubic-bezier(0.250, 0.460, 0.450, 0.940) .2s 1 normal forwards;
}

.majorlistbox .majorlist::after{
    content: '';
    width: 80%;
    height: 120px;
    position: fixed;
    bottom: 0;
    left: 50%;
    transform: translateX(-50%);
    background: url(../img/bottom.svg) no-repeat center bottom;
    background-size: auto 100%;
    opacity: .5;
}

.majorlist .table-title{
    position: sticky;
    top: 0;
    z-index: 10;
    padding: 8px 10px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    background: linear-gradient(to right, rgba(255, 200, 36, 1) , rgba(255, 200, 36, 0));
}

.majorlist .table-title .widefont{
    width: 35%;
    max-width: 120px;
}

.majorlist .table-title .thinfont{
    font-size: .7rem;
    text-shadow: 0 1px 1px #501F63;
}

.majorlist .lists{
    position: relative;
    z-index: 1;
    padding: 10px;
}

.majorcategory{
    padding: 18px 0;
    border-bottom: 1px solid rgba(255, 255, 255, .3);
}

.majorcategory .name{
    display: flex;
    align-items: center;
    justify-content: space-between;
}

.majorcategory .name .state{
    position: relative;
    padding-right: 10px;
    font-size: .6rem;
    flex-shrink: 0;
}

.majorcategory .name .state::after{
    position: absolute;
    right: 0;
    top: 4px;
    content: '';
    width: 6px;
    height: 6px;
    background: url(../img/arrawdown.svg) no-repeat center center;
    background-size: 100%;
}

.majorcategory .name .open::after{
    transform: rotate(-180deg);
    transition: transform;
}

.majorcategory h2{
    padding-left: 10px;
    position: relative;
    font-family: "widefont";
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
    -webkit-font-smoothing: antialiased;
}

.majorcategory h2::before{
    content: '';
    width: 4px;
    height: 4px;
    position: absolute;
    top: calc(50% - 2px);
    left: 0;
    border-radius: 2px;
    background: rgba(255, 255, 255, 1);
}

.majorcategory .departments{
    margin: 10px 0 0 10px;
    display: none;
}

.majorcategory .departments .department{
    margin: 10px 0;
    display: flex;
    align-items: center;
    font-family: "thinfont";
}

.majorcategory .departments .department:last-child{
    margin-bottom: 0;
}

.majorcategory .departments .department .name{
    width: 45%;
    flex-shrink: 0;
}

.majorcategory .departments .department a{
    display: inline-block;
    background: #fff url(../img/arrowright-2.svg) no-repeat 94% center;
    background-size: auto 14px;
    border-radius: 30px;
    padding: 4px 25px 4px 10px;
    font-size: .75rem;
    color: #B21D23;
}

.majorcategory .departments .department .majors{
    font-size: .6rem;
}

.collegeinfo video{
    border-radius: 8px;
    overflow: hidden;
}

.collegeinfos .nav{
    margin: 20px auto 5px;
    display: flex;
    justify-content: space-evenly;
    background: #fff;
    color: #B21D23;
    font-weight: bold;
}

.collegeinfos .nav .selected{
    position: relative;
}

.collegeinfos .nav .selected span{
    position: relative;
    z-index: 2;
}

.collegeinfos .nav .selected::after{
    position: absolute;
    bottom: 0;
    left: 50%;
    transform: translateX(-50%);
    content: '';
    width: 80%;
    height: 8px;
    background-color: #F4DB34;
    border-radius: 8px;
}

.collegeinfo{
    margin: 20px 2%;
    padding: 10px;
    min-height: 600px;
    background: #fff;
    border-radius: 10px;
    border: 1px solid #B21D23;
    font-size: 1.2rem;
    font-weight: bolder;
    color: #fff;
    
    opacity: 0;
    animation: fadeInUp .8s cubic-bezier(0.250, 0.460, 0.450, 0.940) .4s 1 normal forwards;

}

footer {
    position: relative;
    background: linear-gradient(to top, #F9EDA3 2%, #fff);
    background: radial-gradient( #F9EDA3 2%, #fff);
    width: 100%;
    height: 120px;
    color: rgba(255, 255, 255, .5);
    text-align: center;
    font-size: 0.6rem;

    opacity: 0;
    animation: fadeInUp .8s cubic-bezier(0.250, 0.460, 0.450, 0.940) .8s 1 normal forwards;
}

footer img{
    position: absolute;
    right: 10%;
    bottom: 0;
    width: 20%;
}

footer p{
    position: absolute;
    bottom: 20%;
    z-index: 10;
    left: 0;
    width: 100%;
    text-align: center;
    color: #963433;
}

.gohome {
    position: absolute;
    top: 10px;
    left: 8px;
    width: 20px;
    z-index: 1;
    font-size: .8rem;
    color: #fff;
    opacity: 0;
    animation: slideInLeft .5s cubic-bezier(0.250, 0.460, 0.450, 0.940) .5s 1 normal forwards;

}

.firstpage{
    background: linear-gradient(to bottom, #F4EFE6, #CCA982);
    overflow: hidden;
}

.secondpage{
    background: #fff;
}

.p2bg{
    mix-blend-mode: screen;
}

.firstpage{
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    z-index: 10;
    margin-left: 50%;
    transform: translateX(-50%);
}

.firstpage .p0-name{
    opacity: 0;
    animation: fadeInUp .8s cubic-bezier(0.250, 0.460, 0.450, 0.940) .5s 1 normal forwards;
}

.firstpage .p0-1{
    opacity: 0;
    animation: fadeInUp .9s cubic-bezier(0.250, 0.460, 0.450, 0.940) .5s 1 normal forwards;
}

.firstpage .p0-2{
    opacity: 0;
    animation: puff-in-center .8s cubic-bezier(0.250, 0.460, 0.450, 0.940) .7s 1 normal forwards;
}

.firstpage .p0-3{
    opacity: 0;
    animation: fadeInUp .5s cubic-bezier(0.250, 0.460, 0.450, 0.940) .8s 1 normal forwards;
}
.firstpage .p0-4{
    opacity: 0;
    animation: fadeInUp .5s cubic-bezier(0.250, 0.460, 0.450, 0.940) .9s 1 normal forwards;
}

.firstpage .p0-5{
    opacity: 0;
    animation: puff-in-center 1s cubic-bezier(0.250, 0.460, 0.450, 0.940) .8s 1 normal forwards;
}

.firstpage .p0-6{
    opacity: 0;
    animation: fadeInUp .8s cubic-bezier(0.250, 0.460, 0.450, 0.940) .8s 1 normal forwards;
}

.firstpage .p0-7{
    opacity: 0;
    animation: puff-in-center .8s cubic-bezier(0.250, 0.460, 0.450, 0.940) .8s 1 normal forwards;
}

.firstpage .enter{
    position: fixed;
    bottom: 8%;
    right: 10%;
    writing-mode: vertical-rl;
    display: block;
    margin: 0 auto;
    padding-bottom: 20px;
    background: url(../img/enter.svg) no-repeat bottom center;
    background-size: 16px;
    text-align: center;
    letter-spacing: 4px;
    color: #fff;


    opacity: 0;
    animation: tracking-in-contract-bck .5s ease-in-out 1s 1 normal forwards;
}

.restartButton{
    position: absolute;
    left: 25px;
    top: 50px;
    width: 50px;
    height: 50px;
    z-index: 9999;
}

.secondpage .p2bg{
    opacity: 0;
    animation: fadeInRight 1.5s ease-in-out 0s 1 normal forwards;
}

.secondpage .conts{
    position: absolute;
    top: 15%;
    z-index: 88;
}

.secondpage .catalog{
    margin-left: 5%;
    width: 28%;
    opacity: 0;
    animation: fadeInUp .5s cubic-bezier(0.250, 0.460, 0.450, 0.940) .3s 1 normal forwards;
}

.secondpage .nav {
    width: 95%;
    position: relative;
    margin: 20px auto 0;
}

.secondpage .img-bg{
    opacity: 0;
    animation: fadeInDown .5s cubic-bezier(0.250, 0.460, 0.450, 0.940) 0s 1 normal forwards;  
}

.secondpage .top-1{
    opacity: 0;
    animation: fadeInUp .5s cubic-bezier(0.250, 0.460, 0.450, 0.940) .5s 1 normal forwards;  
}

.secondpage .top-2{
    opacity: 0;
    animation: puff-in-center .5s cubic-bezier(0.250, 0.460, 0.450, 0.940) .8s 1 normal forwards;  
}

.secondpage .top-3{
    opacity: 0;
    animation: puff-in-center .5s cubic-bezier(0.250, 0.460, 0.450, 0.940) .9s 1 normal forwards;  
}

.secondpage .top-4{
    opacity: 0;
    animation: fadeInUp .5s cubic-bezier(0.250, 0.460, 0.450, 0.940) 1s 1 normal forwards;  
}

.secondpage .top-5{
    opacity: 0;
    animation: fadeInUp .5s cubic-bezier(0.250, 0.460, 0.450, 0.940) 1.2s 1 normal forwards;  
}

.secondpage .top-6{
    opacity: 0;
    animation: fadeInDown .5s cubic-bezier(0.250, 0.460, 0.450, 0.940) .4s 1 normal forwards;  
}

.secondpage .top-7{
    opacity: 0;
    transform-origin: -100% 0;
    animation: fadeInDown .5s cubic-bezier(0.250, 0.460, 0.450, 0.940) .5s 1 normal forwards;  
}

.secondpage .top-8{
    opacity: 0;
    transform-origin: -100% 0;
    animation: fadeInUp .5s cubic-bezier(0.250, 0.460, 0.450, 0.940) .6s 1 normal forwards;  
}

.secondpage .top-9{
    opacity: 0;
    transform-origin: -100% 0;
    animation: fadeInUp .5s cubic-bezier(0.250, 0.460, 0.450, 0.940) .7s 1 normal forwards;  
}


.bottombox{
    position: fixed;
    bottom: 0;
    width: 100%;
}

.bottombox .bottom-1{
    opacity: 0;
    animation: fadeInUp .5s cubic-bezier(0.250, 0.460, 0.450, 0.940) .8s 1 normal forwards;
}

.bottombox .bottom-2{
    opacity: 0;
    animation: fadeInUp .5s cubic-bezier(0.250, 0.460, 0.450, 0.940) 1s 1 normal forwards;
}

.bottombox .bottom-3{
    opacity: 0;
    animation: fadeInUp .5s cubic-bezier(0.250, 0.460, 0.450, 0.940) 1.2s 1 normal forwards;
}

.bottombox .bottom-4{
    opacity: 0;
    animation: fadeInUp .5s cubic-bezier(0.250, 0.460, 0.450, 0.940) 1.4s 1 normal forwards;
}

.swiper-container{
    padding-bottom: 20px;
}

.swiper-pagination{
    bottom: -5px !important;
}

.swiper-pagination span{
    width: 12px;
    height: 12px;
    border-radius: 0;
    filter: hue-rotate(57deg); 
    opacity: .5;
}

.swiper-pagination-bullet{
    opacity: 1;
}

.swiper-pagination span:nth-child(1){
    background: url(../img/pagination-1-selected.png) no-repeat center center;
    background-size: 90%;
}

.swiper-pagination span:nth-child(2){
    background: url(../img/pagination-2-selected.png) no-repeat center center;
    background-size: 90%;
}

.swiper-pagination span:nth-child(3){
    background: url(../img/pagination-3-selected.png) no-repeat center center;
    background-size: 90%;
}

.swiper-pagination span:nth-child(4){
    background: url(../img/pagination-4-selected.png) no-repeat center center;
    background-size: 90%;
}

.swiper-pagination-bullet-active{
    /* fill: #B21D23;
    filter: sepia(1) saturate(10000%) hue-rotate(180deg) brightness(0.6); */
    filter: hue-rotate(1deg) !important;
    opacity: 1 !important;
}

/*元素动画*/

.img-bg {
    opacity: 0;
    animation: puff-in-right .5s ease-in-out 0.2s 1 normal forwards;
}

.img-1{
    opacity: 0;
    animation: puff-in-right .5s ease-in-out 0.4s 1 normal forwards;
}

.img-2{
    opacity: 0;
    animation: puff-in-right .4s ease-in-out 0.5s 1 normal forwards;
}

.img-3{
    opacity: 0;
    animation: backInRight .4s ease-in-out 0.6s 1 normal forwards;
}

.fadeInUp {
    opacity: 0;
    animation: fadeInUp 1s linear 0.3s 1 normal forwards;
}

.puff-in-center {
    opacity: 0;
    animation: puff-in-center 1s linear 0.3s 1 normal forwards;
}

.bottom {
    margin-top: 20px;
    position: relative;
    z-index: 1;
}

/************/
.yun {
    animation: yun 3s linear 0s infinite alternate;
}

.slide-in-blurred-left{
    opacity: 0;
    animation: slide-in-blurred-left .5s cubic-bezier(0.250, 0.460, 0.450, 0.940) both;

}


.sway {
    animation: sway 3s linear 0s infinite alternate;
    transform-origin: 0 0;
}

.swayRight {
    animation: swayRight 3s linear 0s infinite alternate;
    transform-origin: bottom right;
    z-index: 2;
}

.yun-left {
    animation: yun-left 3s linear 0s infinite alternate;
}

.light-next {
    animation: subject-next 2s linear 0s infinite alternate;
}

.fadeIn {
    animation: fadeInUp 0.5s linear 0s 1 normal forwards;
}

.last-pulse {
    animation: pulse 2s linear 0s infinite alternate;
}

.last-fadeInTopRights {
    width: 17%;
    right: -5%;
    top: -2%;
    animation: fadeInTopRights 0.8s linear 0s infinite alternate;
}

.slide-in-bck-center {
    opacity: 0;
    animation: slide-in-bck-center 1s cubic-bezier(0.250, 0.460, 0.450, 0.940) both;
}

.slide-in-blurred-bottom {
    -webkit-animation: slide-in-blurred-bottom 0.6s cubic-bezier(0.230, 1.000, 0.320, 1.000) both;
    animation: slide-in-blurred-bottom 0.6s cubic-bezier(0.230, 1.000, 0.320, 1.000) both;
}

.slideInRight {
    opacity: 0;
    animation: slideInRight 0.2s linear 0s 1 normal forwards;
}

/*动画*/
@keyframes backInLeft {
    0% {
        opacity: .7;
        -webkit-transform: translateX(-2000px) scale(.7);
        transform: translateX(-2000px) scale(.7)
    }

    80% {
        opacity: .7;
        -webkit-transform: translateX(0) scale(.7);
        transform: translateX(0) scale(.7)
    }

    to {
        opacity: 1;
        -webkit-transform: scale(1);
        transform: scale(1)
    }
}

@keyframes backInRight {
    0% {
        opacity: .7;
        -webkit-transform: translateX(2000px) scale(.7);
        transform: translateX(2000px) scale(.7)
    }

    80% {
        opacity: .7;
        -webkit-transform: translateX(0) scale(.7);
        transform: translateX(0) scale(.7)
    }

    to {
        opacity: 1;
        -webkit-transform: scale(1);
        transform: scale(1)
    }
}

@keyframes slide-in-blurred-bottom {
    0% {
        -webkit-transform: translateY(200px) scaleY(2.5) scaleX(0.2);
        transform: translateY(200px) scaleY(2.5) scaleX(0.2);
        -webkit-transform-origin: 50% 100%;
        transform-origin: 50% 100%;
        -webkit-filter: blur(40px);
        filter: blur(40px);
        opacity: 0;
    }

    100% {
        -webkit-transform: translateY(0) scaleY(1) scaleX(1);
        transform: translateY(0) scaleY(1) scaleX(1);
        -webkit-transform-origin: 50% 50%;
        transform-origin: 50% 50%;
        -webkit-filter: blur(0);
        filter: blur(0);
        opacity: 1;
    }
}

@keyframes slide-in-bck-center {
    0% {
        -webkit-transform: translateZ(600px);
        transform: translateZ(600px);
        opacity: 0;
    }

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

@keyframes slide-in-bck-left {
    0% {
        transform: translateZ(700px) translateX(-400px);
        opacity: 0;
    }

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

@keyframes slide-in-bck-right {
    0% {
        transform: translateZ(700px) translateX(400px);
        opacity: 0;
    }

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

@keyframes slit-in-horizontal {
    0% {
        transform: translateZ(-800px) rotateX(90deg);
        opacity: 0;
    }

    54% {
        transform: translateZ(-160px) rotateX(87deg);
    }

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

@keyframes puff-in-right {
    0% {
        transform: scale(2);
        transform-origin: 100% 50%;
        filter: blur(4px);
        opacity: 0;
    }

    100% {
        transform: scale(1);
        transform-origin: 100% 50%;
        filter: blur(0px);
        opacity: 1;
    }
}

@keyframes puff-in-center {
    0% {
        transform: scale(2);
        filter: blur(4px);
        opacity: 0;
    }

    100% {
        transform: scale(1);
        filter: blur(0px);
        opacity: 1;
    }
}

@keyframes tilt-in-tl {
    0% {
        transform: rotateY(35deg) rotateX(20deg) translate(-250px, -250px) skew(12deg, 15deg);
        opacity: 0;
    }

    100% {
        transform: rotateY(0) rotateX(0deg) translate(0, 0) skew(0deg, 0deg);
        opacity: 1;
    }
}

@keyframes tilt-in-tr {
    0% {
        transform: rotateY(-35deg) rotateX(20deg) translate(250px, -250px) skew(-12deg, -15deg);
        opacity: 0;
    }

    100% {
        transform: rotateY(0) rotateX(0deg) translate(0, 0) skew(0deg, 0deg);
        opacity: 1;
    }
}

@keyframes tracking-in-contract-bck {
    0% {
        letter-spacing: 1em;
        transform: translateZ(400px);
        opacity: 0;
    }

    40% {
        opacity: 0.6;
    }

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

@keyframes slideInUp {
    0% {
        opacity: 0;
        transform: translate3d(0, 100%, 0);
    }

    to {
        opacity: 1;
        transform: translate3D(0, 0, 0)
    }
}

@keyframes subject-next {
    0% {
        transform: translate3d(0, 0px, 0);
    }

    25% {
        transform: translate3d(1px, 2px, 0);
    }

    50% {
        transform: translate3d(1px, 0px, 0);
    }

    75% {
        transform: translate3d(-2px, -1px, 0);
    }

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

@keyframes yun {
    0% {
        transform: translate3d(0, 0px, 0);
    }

    50% {
        transform: translate3d(10px, 0px, 0);
    }

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

@keyframes yun-left {
    0% {
        transform: translate3d(0, 0px, 0);
    }

    50% {
        transform: translate3d(-10px, 0px, 0);
    }

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

@keyframes zoomIn {
    0% {
        opacity: 0;
        transform: scale3d(.3, .3, .3)
    }

    100% {
        opacity: 1;
        transform: scale3d(1, 1, 1)
    }
}

@keyframes fadeInBottomLeft {
    0% {
        opacity: 0;
        transform: translate3d(-50%, 50%, 0)
    }

    to {
        opacity: 1;
        transform: translateZ(0)
    }
}

@keyframes fadeInBottomRight {
    0% {
        opacity: 0;
        -webkit-transform: translate3d(100%, 100%, 0);
        transform: translate3d(100%, 100%, 0)
    }

    to {
        opacity: 1;
        -webkit-transform: translateZ(0);
        transform: translateZ(0)
    }
}

@keyframes bounceInUp {

    0%,
    60%,
    75%,
    90%,
    to {
        animation-timing-function: cubic-bezier(.215, .61, .355, 1)
    }

    0% {
        opacity: 0;
        transform: translate3d(0, 3000px, 0) scaleY(5)
    }

    60% {
        opacity: 1;
        transform: translate3d(0, -20px, 0) scaleY(.9)
    }

    75% {
        transform: translate3d(0, 10px, 0) scaleY(.95)
    }

    90% {
        transform: translate3d(0, -5px, 0) scaleY(.985)
    }

    to {
        opacity: 1;
        transform: translateZ(0)
    }
}

@keyframes backInUp {
    0% {
        opacity: .7;
        -webkit-transform: translateY(1200px) scale(.7);
        transform: translateY(1200px) scale(.7)
    }

    80% {
        opacity: .7;
        -webkit-transform: translateY(0) scale(.7);
        transform: translateY(0) scale(.7)
    }

    to {
        opacity: 1;
        -webkit-transform: scale(1);
        transform: scale(1)
    }
}

@keyframes rotateInDownRight {
    0% {
        opacity: 0;
        -webkit-transform: rotate(45deg);
        transform: rotate(45deg);
    }

    to {
        opacity: 1;
        -webkit-transform: translateZ(0);
        transform: translateZ(0);
    }
}

@keyframes slideInRight {
    0% {
        transform: translate3d(100%, 0, 0);
        visibility: visible;
        opacity: 0;
    }

    to {
        transform: translateZ(0);
        opacity: 1;
    }
}

@keyframes light-next {
    0% {
        transform: translate3d(10%, 10%, 0);
    }

    25% {
        transform: translate3d(0%, 0%, 0);
    }

    50% {
        transform: translate3d(0%, 0%, 0);
    }

    75% {
        transform: translate3d(0%, 0%, 0);
    }

    to {
        transform: translateZ(0);
    }
}


@keyframes fadeInRight {
    0% {
        opacity: 0;
        -webkit-transform: translate3d(10%,0,0) scale(.9);
        transform: translate3d(10%,0,0)  scale(.9)
    }

    to {
        opacity: 1;
        -webkit-transform: translateZ(0);
        transform: translateZ(0)
    }
}

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

    14% {
        transform: scale(1.1);
    }

    28% {
        transform: scale(1);
    }

    42% {
        transform: scale(1.1);
    }

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

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

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

    to {
        opacity: 1;
        transform: scale(1);
    }
}

@keyframes fadeIn {
    0% {
        opacity: 0;
    }

    to {
        opacity: 1;
    }
}

@keyframes pulse {
    0% {
        opacity: 1;
        transform: scaleX(1);
    }

    50% {
        opacity: 1;
        transform: scale3d(1.1, 1.01, 1.05);
    }

    to {
        opacity: 1;
        transform: scaleX(1);
    }
}

@keyframes bounceIn {

    0%,
    20%,
    40%,
    60%,
    80%,
    to {
        animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
    }

    0% {
        opacity: 0;
        transform: scale3d(0.3, 0.3, 0.3);
    }

    20% {
        transform: scale3d(1.1, 1.1, 1.1);
    }

    40% {
        transform: scale3d(0.9, 0.9, 0.9);
    }

    60% {
        opacity: 1;
        transform: scale3d(1.03, 1.03, 1.03);
    }

    80% {
        transform: scale3d(0.97, 0.97, 0.97);
    }

    to {
        opacity: 1;
        transform: scaleX(1);
    }
}

@keyframes fadeInUp {
    0% {
        opacity: 0;
        transform: translate3d(0, 10%, 0);
    }

    to {
        opacity: 1;
        transform: translateZ(0);
    }
}

@keyframes fadeInscale {
    0% {
        opacity: 0;
        transform: scale(0.1);
    }

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

@keyframes slideInLeft {
    0% {
        transform: translate3d(-100%, 0, 0);
        opacity: 0;
    }

    to {
        transform: translateZ(0);
        opacity: 1;
    }
}

@keyframes fadeInDown {
    0% {
        opacity: 0;
        transform: translate3d(0, -100%, 0);
    }

    to {
        opacity: 1;
        transform: translateZ(0);
    }
}

@keyframes fadeIntoDown {
    0% {
        opacity: 0;
        transform: translate3d(0, -100%, 0) scale(0);
    }

    to {
        opacity: 1;
        transform: translateZ(0);
    }
}

@keyframes topic {
    0% {
        opacity: 0;
        transform: translate3d(0, 0%, 0) scale(.2);
    }

    to {
        opacity: 1;
        transform: translateZ(0) scale(1);
    }
}

@keyframes light {
    0% {
        opacity: 0;
        transform: translate3d(100%, -100%, 0) scale(0);
    }

    to {
        opacity: 1;
        transform: translateZ(0) scale(1);
    }
}

@keyframes fadeInTopLeft {
    0% {
        opacity: 1;
        transform: translate3d(-100%, -100%, 0);
    }

    to {
        opacity: 1;
        transform: translateZ(0);
    }
}

@keyframes fadeInTopRight {
    0% {
        opacity: 1;
        transform: translate3d(100%, -100%, 0);
    }

    to {
        opacity: 1;
        transform: translateZ(0);
    }
}

@keyframes fadeInTopRights {
    0% {
        transform: translate3d(10%, -10%, 0);
    }

    to {
        transform: translateZ(0);
    }
}

@keyframes jackInTheBox {
    0% {
        opacity: 0;
        transform: scale(0.1) rotate(30deg);
        transform-origin: center bottom;
    }

    50% {
        transform: rotate(-10deg);
    }

    70% {
        transform: rotate(3deg);
    }

    to {
        opacity: 1;
        transform: scale(1);
    }
}

@keyframes rotateIn {
    0% {
        opacity: 0;
        transform: rotate(-200deg)
    }

    to {
        opacity: 1;
        transform: translateZ(0)
    }
}

@keyframes fadeIn {
    0% {
        opacity: 0
    }

    to {
        opacity: 1
    }
}

@keyframes sway {
    0% {
        transform: rotate(0);
    }

    100% {
        transform: rotate(5deg);
    }
}

@keyframes swayRight {
    0% {
        transform: rotate(0);
    }

    100% {
        transform: rotate(-5deg);
    }
}

@keyframes jump {
    0% {
        transform: translateY(0);
    }

    25% {
        transform: translateY(-15px);
    }

    50% {
        transform: translateY(0);
    }

    75% {
        transform: translateY(-10px);
    }

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

.jump {
    animation: jump 1.2s ease infinite;
}

@keyframes slide-in-blurred-left {
    0% {
      -webkit-transform: translateX(-1000px) scaleX(2.5) scaleY(0.2);
              transform: translateX(-1000px) scaleX(2.5) scaleY(0.2);
      -webkit-transform-origin: 100% 50%;
              transform-origin: 100% 50%;
      -webkit-filter: blur(40px);
              filter: blur(40px);
      opacity: 0;
    }
    100% {
      -webkit-transform: translateX(0) scaleY(1) scaleX(1);
              transform: translateX(0) scaleY(1) scaleX(1);
      -webkit-transform-origin: 50% 50%;
              transform-origin: 50% 50%;
      -webkit-filter: blur(0);
              filter: blur(0);
      opacity: 1;
    }
  }