UNPKG

unika-components

Version:

Unika Vue3 components library

2,761 lines (2,362 loc) 183 kB
/* 添加百位数样式 */ .c-hundred { display: flex; align-items: center; justify-content: center; width: 30px; /* 根据需要调整 */ margin-right: 5px; } .global-v ::v-deep .global-v-show iframe { position: absolute; left: 0; top: 50%; transform: translateY(-60%); min-height: 45%; max-height: 100%; width: 100%; } .call { position: absolute; cursor: pointer; user-select: none; } .call .ani-wrap { display: flex; justify-content: center; align-items: center; width: 100%; height: 100%; overflow: hidden; transition: opacity 0.2s; } .call .ani-wrap:hover { opacity: 0.9; } .call-content { display: flex; align-items: center; justify-content: center; } .btn-text { margin-left: 10px; } .hb-tel:before { content: "\E642"; } .element-video { position: absolute; overflow: hidden; background-color: transparent; } .element-video .ani-wrap, .element-video img { display: block; width: 100%; height: 100%; } .video-container { width: 100%; height: 100%; } .video-container iframe { width: 100%; height: 100%; border: none; } .video-cover { position: relative; width: 100%; height: 100%; background-size: cover; background-position: center; cursor: pointer; } .video-cover .play-btn { position: absolute; left: 50%; top: 50%; transform: translate(-50%, -50%); width: 50px; height: 50px; opacity: 0.8; transition: opacity 0.2s; } .video-cover:hover .play-btn { opacity: 1; }.ele-shape { position: absolute; overflow: hidden; } .ani-wrap { width: 100%; height: 100%; box-sizing: border-box; } .e-shape { width: 100%; height: 100%; } .svg-container :deep(svg) { width: 100%; height: 100%; display: block; } .svg-container { width: 100%; height: 100%; display: block; } .svg-loading, .svg-error { display: flex; align-items: center; justify-content: center; width: 100%; height: 100%; background: rgba(0,0,0,0.05); } .ele-shape .svg-container svg { width: 100%; height: 100%; overflow: visible; }.ele-effect { will-change: transform; } .ele-effect .effect-wrap { position: relative; width: 100%; height: 100%; } .particle { position: absolute; background-repeat: no-repeat; background-size: contain; animation-name: falling; animation-timing-function: linear; animation-iteration-count: infinite; will-change: transform; } @keyframes falling { 0% { transform: translateY(0) rotate(0deg); opacity: 1; } 80% { opacity: 0.8; } 100% { transform: translateY(100vh) rotate(360deg); opacity: 0; } } .ele-lottie .ele-lotwrap { overflow: hidden } .ele-effect .effect-wrap { position: relative; overflow: hidden; width: 100%; height: 100% } .ele-effect .e-small { position: absolute; width: 24px; height: 24px; background-image: url(https://h5cdn.unika.cc/static/img/uniComponents/snow.png); background-size: cover; background-repeat: no-repeat; -webkit-transform-origin: center; transform-origin: center; -webkit-animation: snow 5s linear infinite; animation: snow 5s linear infinite }.form-submit { cursor: pointer; transition: all 0.2s; outline: none; border: none; } .form-submit:hover { opacity: 0.9; transform: translateY(-1px); } .form-submit:active { opacity: 0.8; transform: translateY(0); } .form-submit:disabled { opacity: 0.6; cursor: not-allowed; transform: none !important; } .f-submit { position: relative; display: block } .f-submit .ani-wrap { width: 100%; height: 100%; padding: 10px; overflow: hidden; position: relative } .f-submit .f-ovh { position: absolute; left: 50%; top: 50%; transform: translate(-50%,-50%) } .form-submit:disabled { opacity: 0.7; cursor: not-allowed; }.ele-img { position: absolute; overflow: hidden; } .ele-img .ani-wrap { width: 100%; height: 100%; } .ele-img .ele-image { position: relative; display: block; } .ele-img .rotate-wrap { position: absolute; left: 0; right: 0; top: 0; bottom: 0; } .ele-img .ele-img-bg, .ele-img .rotate-wrap .img-wrap { width: 100%; height: 100%; overflow: hidden; } .ele-img .ele-bg-wrap { width: 100%; height: 100%; background-size: cover; background-position: 50% 50%; background-repeat: no-repeat; background-clip: border-box; } /* 动画关键帧 */ @keyframes zoomIn { from { opacity: 0; transform: scale(0.5); } to { opacity: 1; transform: scale(1); } }#audio { position: absolute; right: 10px; top: 10px; z-index: 103; width: 30px; height: 30px; display: flex; align-items: center; } #audio .mrotate { animation: mrotate 5s linear infinite; } @keyframes mrotate { to { transform: rotate(1turn); } } #audio .audio { width: 100%; height: 100%; display: flex; align-items: center; justify-content: center; color: #fff; background: #666; border-radius: 50%; overflow: hidden; cursor: pointer; transition: all 0.3s ease; } #audio .audio.a-border { border: 1px solid #fff; } #audio .audio .music-icon { display: block; width: 60%; height: 60%; object-fit: contain; } #audio .audio .iconfont { font-size: 2opx; line-height: 1; } #audio .icon-cancel { position: absolute; width: 100%; height: 100%; border-radius: 50%; overflow: hidden; padding: 15px 0; } #audio .icon-cancel .icon-h { transform: rotate(45deg); width: 100%; height: 2px; background: #fff; } #audio .icon-cancel .icon-h:before, #audio .icon-cancel .icon-h:after { content: ''; position: absolute; width: 100%; height: 2px; background: #fff; }.count-down .drag-point { cursor: default!important } .count-down .ani-wrap { width: 100%; height: 100% } .count-down .count-text,.count-down .finish-cont { display: -webkit-box; display: -ms-flexbox; display: flex; height: 100%; -webkit-box-align: center; -ms-flex-align: center; align-items: center; -webkit-box-pack: center; -ms-flex-pack: center; justify-content: center } .count-down .finish-cont { width: 100% } .count-down .count-flip { display: -webkit-box; display: -ms-flexbox; display: flex; height: 100%; -webkit-box-align: center; -ms-flex-align: center; align-items: center; -webkit-box-pack: center; -ms-flex-pack: center; justify-content: center } .count-down .count-flip .numscroll { -webkit-animation: numscroll .4s ease-in-out; animation: numscroll .4s ease-in-out; -webkit-animation-fill-mode: both; animation-fill-mode: both } .count-down .count-flip .numscroll .curr-num { -webkit-transition: all .3s ease-in-out; transition: all .3s ease-in-out; opacity: .6; -webkit-transform: scale(.5)!important; transform: scale(.5)!important } @-webkit-keyframes numscroll { 0% { -webkit-transform: translateZ(0); transform: translateZ(0) } to { -webkit-transform: translate3d(0,100%,0); transform: translate3d(0,100%,0) } } @keyframes numscroll { 0% { -webkit-transform: translateZ(0); transform: translateZ(0) } to { -webkit-transform: translate3d(0,100%,0); transform: translate3d(0,100%,0) } } .count-down .count-flip .c-com { min-width: 50px; height: auto; margin: 6px; padding: 5px 0 6px; background-color: #111 } .count-down .count-flip .c-com .flex-wrap { display: -webkit-box; display: -ms-flexbox; display: flex; position: relative; width: 100%; height: 100%; -webkit-box-align: center; -ms-flex-align: center; align-items: center } .count-down .count-flip .c-com .flex-wrap .curr-num,.count-down .count-flip .c-com .flex-wrap .next-num { line-height: 27px } .count-down .count-flip .c-com .flex-wrap .next-num { position: absolute; top: -100% } .count-down .count-flip .c-com .flex-wrap .curr-num { -webkit-transform: scale(1); transform: scale(1) } .count-down .bottom-center,.count-down .left-bottom,.count-down .left-center,.count-down .left-top,.count-down .right-bottom,.count-down .right-center,.count-down .right-top,.count-down .top-center { display: none!important } .c-wrap { width: 100%; height: 100%; overflow: hidden; font-size: 0 } .c-wrap.c-day-wrap { text-align: center } .c-wrap.c-day-wrap .c-num { width: auto } .c-wrap .c-num { display: inline-block; width: 50%; overflow: hidden; font-size: 20px; color: #999 } .c-wrap .c-left .flex-wrap { display: -webkit-box; display: -ms-flexbox; display: flex; -webkit-box-pack: end; -ms-flex-pack: end; justify-content: flex-end } .c-wrap .c-text { display: -webkit-box; display: -ms-flexbox; display: flex; width: 100%; font-size: 12px; -webkit-box-pack: center; -ms-flex-pack: center; justify-content: center; -webkit-box-align: center; -ms-flex-align: center; align-items: center; white-space: nowrap } .ele-text { position: relative; } .ele-text .ani-wrap { width: 100%; height: 100%; } .text-common { padding: 5px; text-orientation: upright; white-space: pre-wrap; } /* 文本动画类 */ .text-fadeIn { animation: fadeIn 1s ease-in-out; } .text-slideIn { animation: slideIn 1s ease-in-out; } .text-bounceIn { animation: bounceIn 1s ease-in-out; } /* 基础动画关键帧 */ @keyframes fadeIn { from { opacity: 0; } to { opacity: 1; } } @keyframes slideIn { from { transform: translateY(20px); opacity: 0; } to { transform: translateY(0); opacity: 1; } } @keyframes bounceIn { 0% { transform: scale(0.3); opacity: 0; } 50% { transform: scale(1.05); opacity: 0.8; } 70% { transform: scale(0.9); opacity: 0.9; } 100% { transform: scale(1); opacity: 1; } }/* .ele-form { position: absolute; user-select: none; } */ .f-single { cursor: pointer; } .ani-wrap { position: relative; } .f-single .ani-wrap .fs-tit { display: flex; padding: 0 5px; height: 40px; align-items: center; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; border-bottom: 1px solid rgba(153, 153, 153, 1); } .require { padding: 0 5px 0 0; color: red; vertical-align: middle; } .f-single ul { padding: 15px; margin: 0; list-style: none; } .f-single ul li { display: flex; align-items: center; margin-top: 12px; font-size: 0; } .f-single ul li:first-child { margin-top: 0; } .fs-circle { display: inline-block; width: 16px; height: 16px; border-radius: 50%; position: relative; transition: all 0.2s; } .fs-circle.selected { background-color: #2687f1; border-color: #2687f1 !important; } .fs-circle.selected::after { content: ""; position: absolute; top: 3px; left: 3px; width: 8px; height: 8px; border-radius: 50%; background-color: white; } .fs-txt { display: inline-block; width: calc(100% - 16px); padding-left: 8px; vertical-align: top; word-break: break-all; font-size: 14px; line-height: 1.2; } .has-error .fs-tit { border-bottom-color: #ff4d4f; } /* 错误提示样式 */ .error-tip { position: fixed; left: 0; top: 0; width: 100%; height: 100%; z-index: 1000; }#page-list .tip-cover { position: fixed; left: 0; top: 0; width: 100%; height: 100%; display: -ms-flexbox; display: flex; -ms-flex-align: center; align-items: center; -ms-flex-pack: center; justify-content: center; z-index: 999; background-color: rgba(0,0,0,.7) } #page-list .tip-cover .tip { width: 80%; max-width: 250px; padding: 10px; border-radius: 5px; background-color: #fff } #page-list .tip-cover .tip-btn { display: block; margin: 25px auto; width: 120px; height: 30px; color: #fff; border-radius: 4px; text-align: center; font-size: 14px; line-height: 30px; background: #ed5566 } #page-list .tip-cover .tip-content { font-size: 14px; padding-top: 30px; } .tip-cover { position: fixed; left: 0; top: 0; width: 100%; height: 100%; display: -ms-flexbox; display: flex; -ms-flex-align: center; align-items: center; -ms-flex-pack: center; justify-content: center; z-index: 999; background-color: rgba(0,0,0,.7) } .tip-cover .tip { width: 80%; max-width: 250px; padding: 5px; border-radius: 3px; background-color: #fff } .tip-cover .tip-btn { display: block; margin: 13px auto; width: 64px; height: 20px; color: #fff; border-radius: 4px; text-align: center; font-size: 14px; line-height: 20px; background: #ed5566; } body, html { width: 100%; height: 100%; } * { padding: 0; margin: 0; box-sizing: border-box; white-space: normal; word-break: break-all; -webkit-tap-highlight-color: rgba(0, 0, 0, 0); } @font-face { font-family: iconfont; src: url(https://h5cdn.unika.cc/static/font/iconfont/iconfont.f1262e4.woff2) format("woff2"), url(https://h5cdn.unika.cc/static/font/iconfont/iconfont.788d827.woff) format("woff"), url(https://h5cdn.unika.cc/static/font/iconfont/iconfont.9541e59.ttf) format("truetype") } .iconfont { font-family: "iconfont" !important; font-size: 16px; font-style: normal; -webkit-font-smoothing: antialiased; -moz-osx-font-smoothing: grayscale; } #index { position: relative; width: 100%; height: 100%; overflow: hidden; } #page-list { position: relative; width: 100%; height: 100%; max-width: 800px; margin: 0 auto; z-index: 1 } #page-list.hardware .eles { will-change: transform } #page-list .bg-wrap { position: absolute; left: 0; top: 0; right: 0; bottom: 0; z-index: -1 } #page-list .ani-pause .ani-wrap { animation-play-state: paused!important; -webkit-animation-play-state: paused!important } #page-list .audio-wrap { z-index: 10 } #page-list .audio-wrap,#page-list .page-item { position: absolute; left: 0; top: 0; right: 0; bottom: 0 } #page-list .page-item { z-index: 0; overflow: hidden; display: none; visibility: hidden; transform-style: preserve-3d; -webkit-backface-visibility: hidden; backface-visibility: hidden; transition-timing-function: cubic-bezier(.1,.57,.1,1) } #page-list .page-item .count-down { display: none } #page-list .page-item .has-ani { display: none!important } #page-list .page-item .ele-effect,#page-list .page-item .page-bg { display: none } #page-list .page-item .limit-ani .ani-wrap { animation: none!important } #page-list .page-item .ani-pause .ani-wrap { animation-play-state: paused!important; -webkit-animation-play-state: paused!important } #page-list .page-item .showAniEle .has-ani { display: block!important } #page-list .page-item .showAniEle .page-bg { display: block } #page-list .page-item .scroll-wrap { position: relative; width: 100%; overflow: hidden; } #page-list .page-item .scroll-wrap.scroll-long .bg-wrap { position: absolute; top: 0; left: 0; right: 0; bottom: 0; z-index: -1; } #page-list .page-item .amap-maps { display: none } #page-list .page-item.current { z-index: 1; display: block; visibility: visible } #page-list .page-item.current .amap-maps,#page-list .page-item.current .count-down,#page-list .page-item.current .page-wrap .ele-effect { display: block } #page-list .page-item.current .page-wrap .eles { text-align: left } #page-list .page-item.current .page-wrap .page-bg { display: block } #page-list .page-item.current .page-wrap .has-ani { display: block!important } #page-list .page-item.visibility { display: block; visibility: hidden } #page-list .page-item.active { z-index: 2; visibility: visible } #page-list .page-item.active .amap-maps,#page-list .page-item.active .count-down { display: block } #page-list .page-item .page-wrap { position: relative; width: 100%; height: 100%; overflow: hidden; z-index: 1 } #page-list .page-item .page-wrap .ele-wrap,#page-list .page-item .page-wrap .page-bg { position: absolute; right: 0; left: 0; top: 0; bottom: 0; width: 100%; height: 100%; overflow: hidden } #page-list .page-item .page-wrap .page-bg { background-size: cover; background-repeat: no-repeat; background-position: 50% 50%; z-index: 0 } #page-list .page-item .page-wrap .ele-wrap { z-index: 1 } #page-list .page-item .page-wrap .eles { position: absolute } :deep(.vue-transition-group) { display: block; position: relative; width: 100%; height: 100%; } .pages-wrapper { position: relative; width: 100%; height: 100%; overflow: hidden; } .page-container { position: absolute; width: 100%; height: 100%; background-size: cover; background-position: center; will-change: transform; } .no-ani .ani-wrap,.no-ani .ele-text-long { animation: none!important } .scroll-mode .page-container { position: relative; min-height: 100vh; } .slide-enter-active, .slide-leave-active { -webkit-animation: slideToTop .6s ease-in both; animation: slideToTop .6s ease-in both } @-webkit-keyframes slideToTop { to { -webkit-transform: translateY(-100%); transform: translateY(-100%) } } @keyframes slideToTop { to { -webkit-transform: translateY(-100%); transform: translateY(-100%) } } .slide-enter-from { transform: translateX(100%); } .slide-leave-to { transform: translateX(-100%); } .rotateCube-enter-active, .rotateCube-leave-active { -webkit-transform-origin: 50% 100%; transform-origin: 50% 100%; -webkit-animation: rotateCubeTopOut .6s ease-in both; animation: rotateCubeTopOut .6s ease-in both } .rotateCube-enter-from { transform: translateX(100%); } .rotateCube-leave-to { transform: translateX(-100%); } .wind-enter-active, .wind-leave-active { -webkit-animation: windOut .5s ease-in both; animation: windOut .5s ease-in both } .wind-enter-from { transform: translateX(100%); } .wind-leave-to { transform: translateX(-100%); } .popup-enter-active, .popup-leave-active { -webkit-transform-origin: 50% 100%; transform-origin: 50% 100%; -webkit-animation: rotateCarouselTopOut .7s ease both; animation: rotateCarouselTopOut .7s ease both } .popup-enter-from { transform: translateX(100%); } .popup-leave-to { transform: translateX(-100%); } .scaleUpDown-enter-active, .scaleUpDown-leave-active { -webkit-animation: scaleUp .7s ease both; animation: scaleUp .7s ease both } .scaleUpDown-enter-from { transform: translateX(100%); } .scaleUpDown-leave-to { transform: translateX(-100%); } .flipUpDown-enter-active, .flipUpDown-leave-active { -webkit-animation: rotatePushTop .7s ease both; animation: rotatePushTop .7s ease both } .flipUpDown-enter-from { transform: translateX(100%); } .flipUpDown-leave-to { transform: translateX(-100%); } .cover-enter-active, .cover-leave-active { -webkit-animation: coverInDown .5s ease both; animation: coverInDown .5s ease both } .cover-enter-from { transform: translateX(100%); } .cover-leave-to { transform: translateX(-100%); } .inertia-enter-active, .inertia-leave-active { -webkit-animation: inertiaOut .6s ease both; animation: inertiaOut .6s ease both } @-webkit-keyframes inertiaOut { to { -webkit-transform: scale(.2); transform: scale(.2) } } @keyframes inertiaOut { to { -webkit-transform: scale(.2); transform: scale(.2) } } .inertia-enter-from { transform: translateX(100%); } .inertia-leave-to { transform: translateX(-100%); } .push-enter-active, .push-leave-active { -webkit-transform-origin: center top; transform-origin: center top; -webkit-animation: pushInTop .6s linear .2s both; animation: pushInTop .6s linear .2s both } @-webkit-keyframes pushInTop { 0% { -webkit-transform: perspective(700px) rotateX(-90deg); transform: perspective(700px) rotateX(-90deg) } } @keyframes pushInTop { 0% { -webkit-transform: perspective(700px) rotateX(-90deg); transform: perspective(700px) rotateX(-90deg) } } .push-enter-from { transform: translateX(100%); } .push-leave-to { transform: translateX(-100%); } .drop-enter-active, .drop-leave-active { -webkit-transform-origin: 0 0; transform-origin: 0 0; -webkit-animation: dropOut .6s linear both; animation: dropOut .6s linear both } @-webkit-keyframes dropOut { 20% { -webkit-transform: rotate(5deg); transform: rotate(5deg) } to { opacity: .6; -webkit-transform: translate3d(0,100%,0); transform: translate3d(0,100%,0) } } @keyframes dropOut { 20% { -webkit-transform: rotate(5deg); transform: rotate(5deg) } to { opacity: .6; -webkit-transform: translate3d(0,100%,0); transform: translate3d(0,100%,0) } } .drop-enter-from { transform: translateX(100%); } .drop-leave-to { transform: translateX(-100%); } .fadeIn-enter-active, .fadeIn-leave-active { -webkit-animation: pfadeIn .6s linear both; animation: pfadeIn .6s linear both } @-webkit-keyframes pfadeIn { 0% { opacity: 0 } to { opacity: 1 } } @keyframes pfadeIn { 0% { opacity: 0 } to { opacity: 1 } } .fadeIn-enter-from { transform: translateX(100%); } .fadeIn-leave-to { transform: translateX(-100%); } .zoomIn-enter-active, .zoomIn-leave-active { -webkit-animation: pzoomIn .6s linear both; animation: pzoomIn .6s linear both } @-webkit-keyframes pzoomIn { 0% { -webkit-transform: scale3d(0,0,0); transform: scale3d(0,0,0) } } @keyframes pzoomIn { 0% { -webkit-transform: scale3d(0,0,0); transform: scale3d(0,0,0) } } .slide-enter-from { transform: translateX(100%); } .slide-leave-to { transform: translateX(-100%); } .btFadeIn-enter-active, .btFadeIn-leave-active { -webkit-animation: btFadeInTop .6s ease both; animation: btFadeInTop .6s ease both } @keyframes btFadeInTop { 0% { opacity: 0; -webkit-transform: translate3d(0,100%,0); transform: translate3d(0,100%,0) } } .btFadeIn-enter-from { transform: translateX(100%); } .btFadeIn-leave-to { transform: translateX(-100%); } .hideSoon-enter-active, .hideSoon-leave-active { visibility: hidden } .hideSoon-enter-from { transform: translateX(100%); } .hideSoon-leave-to { transform: translateX(-100%); } .upSlide-enter-active, .upSlide-leave-active { transition: transform 0.3s, opacity 0.3s; } .upSlide-enter-from, .upSlide-leave-to { transform: translateY(-100%); opacity: 0; } .upSlide-enter-to, .upSlide-leave-from { transform: translateY(0); opacity: 1; } .downSlide-enter-active, .downSlide-leave-active { transition: transform 0.3s, opacity 0.3s; } .downSlide-enter-from, .downSlide-leave-to { transform: translateY(100%); opacity: 0; } .downSlide-enter-to, .downSlide-leave-from { transform: translateY(0); opacity: 1; } .leftSlide-enter-active, .leftSlide-leave-active { -webkit-animation: leftSlide .7s ease both; animation: leftSlide .7s ease both } @-webkit-keyframes leftSlide { 0% { -webkit-transform: translateX(-100%); transform: translateX(-100%) } to { -webkit-transform: translateX(0); transform: translateX(0) } } @keyframes leftSlide { 0% { -webkit-transform: translateX(-100%); transform: translateX(-100%) } to { -webkit-transform: translateX(0); transform: translateX(0) } } .leftSlide-enter-from { transform: translateX(100%); } .leftSlide-leave-to { transform: translateX(-100%); } .rightSlide-enter-active, .rightSlide-leave-active { -webkit-animation: rightSlide .7s ease both; animation: rightSlide .7s ease both } @-webkit-keyframes rightSlide { 0% { -webkit-transform: translateX(100%); transform: translateX(100%) } to { -webkit-transform: translateX(0); transform: translateX(0) } } @keyframes rightSlide { 0% { -webkit-transform: translateX(100%); transform: translateX(100%) } to { -webkit-transform: translateX(0); transform: translateX(0) } } .rightSlide-enter-from { transform: translateX(100%); } .rightSlide-leave-to { transform: translateX(-100%); } * { -webkit-box-sizing: border-box; box-sizing: border-box; white-space: normal; word-break: break-all } @-webkit-keyframes slideToBottom { to { -webkit-transform: translateY(100%); transform: translateY(100%) } } @keyframes slideToBottom { to { -webkit-transform: translateY(100%); transform: translateY(100%) } } @-webkit-keyframes slideFromTop { 0% { -webkit-transform: translateY(-100%); transform: translateY(-100%) } } @keyframes slideFromTop { 0% { -webkit-transform: translateY(-100%); transform: translateY(-100%) } } @-webkit-keyframes slideFromBottom { 0% { -webkit-transform: translateY(100%); transform: translateY(100%) } } @keyframes slideFromBottom { 0% { -webkit-transform: translateY(100%); transform: translateY(100%) } } @-webkit-keyframes rotateCubeTopOut { 50% { -webkit-transform: translateY(-50%) translateZ(-200px) rotateX(45deg); transform: translateY(-50%) translateZ(-200px) rotateX(45deg); -webkit-animation-timing-function: ease-out; animation-timing-function: ease-out } to { opacity: .3; -webkit-transform: translateY(-100%) rotateX(90deg); transform: translateY(-100%) rotateX(90deg) } } @keyframes rotateCubeTopOut { 50% { -webkit-transform: translateY(-50%) translateZ(-200px) rotateX(45deg); transform: translateY(-50%) translateZ(-200px) rotateX(45deg); -webkit-animation-timing-function: ease-out; animation-timing-function: ease-out } to { opacity: .3; -webkit-transform: translateY(-100%) rotateX(90deg); transform: translateY(-100%) rotateX(90deg) } } @-webkit-keyframes rotateCubeTopIn { 0% { opacity: .3; -webkit-transform: translateY(100%) rotateX(-90deg); transform: translateY(100%) rotateX(-90deg) } 50% { -webkit-transform: translateY(50%) translateZ(-200px) rotateX(-45deg); transform: translateY(50%) translateZ(-200px) rotateX(-45deg); -webkit-animation-timing-function: ease-out; animation-timing-function: ease-out } } @keyframes rotateCubeTopIn { 0% { opacity: .3; -webkit-transform: translateY(100%) rotateX(-90deg); transform: translateY(100%) rotateX(-90deg) } 50% { -webkit-transform: translateY(50%) translateZ(-200px) rotateX(-45deg); transform: translateY(50%) translateZ(-200px) rotateX(-45deg); -webkit-animation-timing-function: ease-out; animation-timing-function: ease-out } } @-webkit-keyframes rotateCubeBottomOut { 50% { -webkit-transform: translateY(50%) translateZ(-200px) rotateX(-45deg); transform: translateY(50%) translateZ(-200px) rotateX(-45deg); -webkit-animation-timing-function: ease-out; animation-timing-function: ease-out } to { opacity: .3; -webkit-transform: translateY(100%) rotateX(-90deg); transform: translateY(100%) rotateX(-90deg) } } @keyframes rotateCubeBottomOut { 50% { -webkit-transform: translateY(50%) translateZ(-200px) rotateX(-45deg); transform: translateY(50%) translateZ(-200px) rotateX(-45deg); -webkit-animation-timing-function: ease-out; animation-timing-function: ease-out } to { opacity: .3; -webkit-transform: translateY(100%) rotateX(-90deg); transform: translateY(100%) rotateX(-90deg) } } @-webkit-keyframes rotateCubeBottomIn { 0% { opacity: .3; -webkit-transform: translateY(-100%) rotateX(90deg); transform: translateY(-100%) rotateX(90deg) } 50% { -webkit-transform: translateY(-50%) translateZ(-200px) rotateX(45deg); transform: translateY(-50%) translateZ(-200px) rotateX(45deg); -webkit-animation-timing-function: ease-out; animation-timing-function: ease-out } } @keyframes rotateCubeBottomIn { 0% { opacity: .3; -webkit-transform: translateY(-100%) rotateX(90deg); transform: translateY(-100%) rotateX(90deg) } 50% { -webkit-transform: translateY(-50%) translateZ(-200px) rotateX(45deg); transform: translateY(-50%) translateZ(-200px) rotateX(45deg); -webkit-animation-timing-function: ease-out; animation-timing-function: ease-out } } @-webkit-keyframes windOut { to { opacity: 0; -webkit-transform: translateZ(-3000px) rotate(1turn); transform: translateZ(-3000px) rotate(1turn) } } @keyframes windOut { to { opacity: 0; -webkit-transform: translateZ(-3000px) rotate(1turn); transform: translateZ(-3000px) rotate(1turn) } } @-webkit-keyframes windIn { 0% { opacity: 0; -webkit-transform: translateZ(-3000px) rotate(-1turn); transform: translateZ(-3000px) rotate(-1turn) } } @keyframes windIn { 0% { opacity: 0; -webkit-transform: translateZ(-3000px) rotate(-1turn); transform: translateZ(-3000px) rotate(-1turn) } } @-webkit-keyframes rotateCarouselTopOut { to { opacity: .3; -webkit-transform: translateY(-150%) scale(.4) rotateX(65deg); transform: translateY(-150%) scale(.4) rotateX(65deg) } } @keyframes rotateCarouselTopOut { to { opacity: .3; -webkit-transform: translateY(-150%) scale(.4) rotateX(65deg); transform: translateY(-150%) scale(.4) rotateX(65deg) } } @-webkit-keyframes rotateCarouselTopIn { 0% { opacity: .3; -webkit-transform: translateY(150%) scale(.4) rotateX(-65deg); transform: translateY(150%) scale(.4) rotateX(-65deg) } } @keyframes rotateCarouselTopIn { 0% { opacity: .3; -webkit-transform: translateY(150%) scale(.4) rotateX(-65deg); transform: translateY(150%) scale(.4) rotateX(-65deg) } } @-webkit-keyframes rotateCarouselBottomOut { to { opacity: .3; -webkit-transform: translateY(150%) scale(.4) rotateX(-65deg); transform: translateY(150%) scale(.4) rotateX(-65deg) } } @keyframes rotateCarouselBottomOut { to { opacity: .3; -webkit-transform: translateY(150%) scale(.4) rotateX(-65deg); transform: translateY(150%) scale(.4) rotateX(-65deg) } } @-webkit-keyframes rotateCarouselBottomIn { 0% { opacity: .3; -webkit-transform: translateY(-150%) scale(.4) rotateX(65deg); transform: translateY(-150%) scale(.4) rotateX(65deg) } } @keyframes rotateCarouselBottomIn { 0% { opacity: .3; -webkit-transform: translateY(-150%) scale(.4) rotateX(65deg); transform: translateY(-150%) scale(.4) rotateX(65deg) } } @-webkit-keyframes scaleDown { to { opacity: 0; -webkit-transform: scale(.8); transform: scale(.8) } } @keyframes scaleDown { to { opacity: 0; -webkit-transform: scale(.8); transform: scale(.8) } } @-webkit-keyframes scaleUp { 0% { opacity: 0; -webkit-transform: scale(.8); transform: scale(.8) } } @keyframes scaleUp { 0% { opacity: 0; -webkit-transform: scale(.8); transform: scale(.8) } } @-webkit-keyframes scaleUpDown { 0% { opacity: 0; -webkit-transform: scale(1.2); transform: scale(1.2) } } @keyframes scaleUpDown { 0% { opacity: 0; -webkit-transform: scale(1.2); transform: scale(1.2) } } @-webkit-keyframes scaleDownUp { to { opacity: 0; -webkit-transform: scale(1.2); transform: scale(1.2) } } @keyframes scaleDownUp { to { opacity: 0; -webkit-transform: scale(1.2); transform: scale(1.2) } } @-webkit-keyframes scaleDownCenter { to { opacity: 0; -webkit-transform: scale(.7); transform: scale(.7) } } @keyframes scaleDownCenter { to { opacity: 0; -webkit-transform: scale(.7); transform: scale(.7) } } @-webkit-keyframes scaleUpCenter { 0% { opacity: 0; -webkit-transform: scale(.7); transform: scale(.7) } } @keyframes scaleUpCenter { 0% { opacity: 0; -webkit-transform: scale(.7); transform: scale(.7) } } @-webkit-keyframes rotatePushTop { to { opacity: 0; -webkit-transform: rotateX(-90deg); transform: rotateX(-90deg) } } @keyframes rotatePushTop { to { opacity: 0; -webkit-transform: rotateX(-90deg); transform: rotateX(-90deg) } } @-webkit-keyframes rotatePushBottom { to { opacity: 0; -webkit-transform: rotateX(90deg); transform: rotateX(90deg) } } @keyframes rotatePushBottom { to { opacity: 0; -webkit-transform: rotateX(90deg); transform: rotateX(90deg) } } @-webkit-keyframes rotatePullTop { 0% { opacity: 0; -webkit-transform: rotateX(-90deg); transform: rotateX(-90deg) } } @keyframes rotatePullTop { 0% { opacity: 0; -webkit-transform: rotateX(-90deg); transform: rotateX(-90deg) } } @-webkit-keyframes rotatePullBottom { 0% { opacity: 0; -webkit-transform: rotateX(90deg); transform: rotateX(90deg) } } @keyframes rotatePullBottom { 0% { opacity: 0; -webkit-transform: rotateX(90deg); transform: rotateX(90deg) } } @-webkit-keyframes coverInUp { 0% { -webkit-transform: translate3d(0,-100%,0); transform: translate3d(0,-100%,0) } } @keyframes coverInUp { 0% { -webkit-transform: translate3d(0,-100%,0); transform: translate3d(0,-100%,0) } } @-webkit-keyframes coverInDown { 0% { -webkit-transform: translate3d(0,100%,0); transform: translate3d(0,100%,0) } } @keyframes coverInDown { 0% { -webkit-transform: translate3d(0,100%,0); transform: translate3d(0,100%,0) } } .rotateInReverse { -webkit-animation-name: rotateInReverse; animation-name: rotateInReverse } @-webkit-keyframes rotateInReverse { 0% { opacity: 0; -webkit-transform: rotate(200deg); transform: rotate(200deg); -webkit-transform-origin: center; transform-origin: center } to { opacity: 1; -webkit-transform: none; transform: none; -webkit-transform-origin: center; transform-origin: center } } @keyframes rotateInReverse { 0% { opacity: 0; -webkit-transform: rotate(200deg); transform: rotate(200deg); -webkit-transform-origin: center; transform-origin: center } to { opacity: 1; -webkit-transform: none; transform: none; -webkit-transform-origin: center; transform-origin: center } } .zoomInBig { -webkit-animation-name: zoomInBig; animation-name: zoomInBig; -webkit-animation-timing-function: cubic-bezier(0,.44,.75,.99); animation-timing-function: cubic-bezier(0,.44,.75,.99) } @-webkit-keyframes zoomInBig { 0% { opacity: 0; -webkit-transform: scale3d(2,2,2); transform: scale3d(2,2,2) } 50% { opacity: 1 } 80% { -webkit-transform: scaleX(1); transform: scaleX(1) } } @keyframes zoomInBig { 0% { opacity: 0; -webkit-transform: scale3d(2,2,2); transform: scale3d(2,2,2) } 50% { opacity: 1 } 80% { -webkit-transform: scaleX(1); transform: scaleX(1) } } .flyIn { -webkit-animation-name: flyIn; animation-name: flyIn } @-webkit-keyframes flyIn { 0%,20%,40%,60%,80%,to { -webkit-transition-timing-function: cubic-bezier(.215,.61,.355,1); transition-timing-function: cubic-bezier(.215,.61,.355,1) } 0% { opacity: 0; -webkit-transform: scale3d(2,2,2); transform: scale3d(2,2,2) } 40% { -webkit-transform: scale3d(.9,.9,.9); transform: scale3d(.9,.9,.9) } 60% { -webkit-transform: scale3d(1.03,1.03,1.03); transform: scale3d(1.03,1.03,1.03) } 80% { opacity: 1; -webkit-transform: scale3d(.97,.97,.97); transform: scale3d(.97,.97,.97) } to { -webkit-transform: scaleX(1); transform: scaleX(1) } } @keyframes flyIn { 0%,20%,40%,60%,80%,to { -webkit-transition-timing-function: cubic-bezier(.215,.61,.355,1); transition-timing-function: cubic-bezier(.215,.61,.355,1) } 0% { opacity: 0; -webkit-transform: scale3d(2,2,2); transform: scale3d(2,2,2) } 40% { -webkit-transform: scale3d(.9,.9,.9); transform: scale3d(.9,.9,.9) } 60% { -webkit-transform: scale3d(1.03,1.03,1.03); transform: scale3d(1.03,1.03,1.03) } 80% { opacity: 1; -webkit-transform: scale3d(.97,.97,.97); transform: scale3d(.97,.97,.97) } to { -webkit-transform: scaleX(1); transform: scaleX(1) } } .bounceSmall { -webkit-animation-name: bounceSmall; animation-name: bounceSmall; -webkit-animation-timing-function: ease-out; animation-timing-function: ease-out } @-webkit-keyframes bounceSmall { 0% { opacity: 0; -webkit-transform: scale(1.7) } 50% { opacity: 1; -webkit-transform: scale(.95) } 80% { -webkit-transform: scale(1.05) } 90% { -webkit-transform: scale(.98) } to { -webkit-transform: scale(1) } } @keyframes bounceSmall { 0% { opacity: 0; -webkit-transform: scale(1.7) } 50% { opacity: 1; -webkit-transform: scale(.95) } 80% { -webkit-transform: scale(1.05) } 90% { -webkit-transform: scale(.98) } to { -webkit-transform: scale(1) } } .pullUp { -webkit-transform-origin: 50% 100%; transform-origin: 50% 100%; -webkit-animation-name: pullUp; animation-name: pullUp; -webkit-animation-timing-function: ease-out; animation-timing-function: ease-out } @-webkit-keyframes pullUp { 0%,40%,60%,80%,99% { -webkit-animation-timing-function: ease-out; animation-timing-function: ease-out } 0% { opacity: 0; -webkit-transform: scaleY(.1); transform: scaleY(.1); -webkit-transform-origin: 50% 100%; transform-origin: 50% 100% } 40% { opacity: 1; -webkit-transform: scaleY(1.02); transform: scaleY(1.02); -webkit-transform-origin: 50% 100%; transform-origin: 50% 100% } 60% { -webkit-transform: scaleY(.98); transform: scaleY(.98); -webkit-transform-origin: 50% 100%; transform-origin: 50% 100% } 80% { -webkit-transform: scaleY(1.01); transform: scaleY(1.01); -webkit-transform-origin: 50% 100%; transform-origin: 50% 100% } 99% { -webkit-transform: scaleY(1); transform: scaleY(1); -webkit-transform-origin: 50% 100%; transform-origin: 50% 100% } to { -webkit-transform: none; transform: none } } @keyframes pullUp { 0%,40%,60%,80%,99% { -webkit-animation-timing-function: ease-out; animation-timing-function: ease-out } 0% { opacity: 0; -webkit-transform: scaleY(.1); transform: scaleY(.1); -webkit-transform-origin: 50% 100%; transform-origin: 50% 100% } 40% { opacity: 1; -webkit-transform: scaleY(1.02); transform: scaleY(1.02); -webkit-transform-origin: 50% 100%; transform-origin: 50% 100% } 60% { -webkit-transform: scaleY(.98); transform: scaleY(.98); -webkit-transform-origin: 50% 100%; transform-origin: 50% 100% } 80% { -webkit-transform: scaleY(1.01); transform: scaleY(1.01); -webkit-transform-origin: 50% 100%; transform-origin: 50% 100% } 99% { -webkit-transform: scaleY(1); transform: scaleY(1); -webkit-transform-origin: 50% 100%; transform-origin: 50% 100% } to { -webkit-transform: none; transform: none } } .pullDown { -webkit-transform-origin: 50% 0; transform-origin: 50% 0; -webkit-animation-name: pullDown; animation-name: pullDown; -webkit-animation-timing-function: ease-out; animation-timing-function: ease-out } @-webkit-keyframes pullDown { 0%,40%,60%,80%,99% { -webkit-animation-timing-function: ease-out; animation-timing-function: ease-out } 0% { opacity: 0; -webkit-transform: scaleY(.1); transform: scaleY(.1); -webkit-transform-origin: 50% 0; transform-origin: 50% 0 } 40% { opacity: 1; -webkit-transform: scaleY(1.02); transform: scaleY(1.02); -webkit-transform-origin: 50% 0; transform-origin: 50% 0 } 60% { -webkit-transform: scaleY(.98); transform: scaleY(.98); -webkit-transform-origin: 50% 0; transform-origin: 50% 0 } 80% { -webkit-transform: scaleY(1.01); transform: scaleY(1.01); -webkit-transform-origin: 50% 0; transform-origin: 50% 0 } 99% { -webkit-transform: scaleY(1); transform: scaleY(1); -webkit-transform-origin: 50% 0; transform-origin: 50% 0 } to { -webkit-transform: none; transform: none } } @keyframes pullDown { 0%,40%,60%,80%,99% { -webkit-animation-timing-function: ease-out; animation-timing-function: ease-out } 0% { opacity: 0; -webkit-transform: scaleY(.1); transform: scaleY(.1); -webkit-transform-origin: 50% 0; transform-origin: 50% 0 } 40% { opacity: 1; -webkit-transform: scaleY(1.02); transform: scaleY(1.02); -webkit-transform-origin: 50% 0; transform-origin: 50% 0 } 60% { -webkit-transform: scaleY(.98); transform: scaleY(.98); -webkit-transform-origin: 50% 0; transform-origin: 50% 0 } 80% { -webkit-transform: scaleY(1.01); transform: scaleY(1.01); -webkit-transform-origin: 50% 0; transform-origin: 50% 0 } 99% { -webkit-transform: scaleY(1); transform: scaleY(1); -webkit-transform-origin: 50% 0; transform-origin: 50% 0 } to { -webkit-transform: none; transform: none } } .twisterInDown { -webkit-animation-name: twisterInDown; animation-name: twisterInDown; -webkit-animation-timing-function: ease-out; animation-timing-function: ease-out } @-webkit-keyframes twisterInDown { 0% { opacity: 0; -webkit-transform: scale(0) rotate(1turn) translateY(-100%); transform: scale(0) rotate(1turn) translateY(-100%); -webkit-transform-origin: 0 100%; transform-origin: 0 100% } 30% { -webkit-transform: scale(0) rotate(1turn) translateY(-100%); transform: scale(0) rotate(1turn) translateY(-100%); -webkit-transform-origin: 0 100%; transform-origin: 0 100% } to { opacity: 1; -webkit-transform: scale(1) rotate(0deg) translateY(0); transform: scale(1) rotate(0deg) translateY(0); -webkit-transform-origin: 100% 100%; transform-origin: 100% 100% } } @keyframes twisterInDown { 0% { opacity: 0; -webkit-transform: scale(0) rotate(1turn) translateY(-100%); transform: scale(0) rotate(1turn) translateY(-100%); -webkit-transform-origin: 0 100%; transform-origin: 0 100% } 30% { -webkit-transform: scale(0) rotate(1turn) translateY(-100%); transform: scale(0) rotate(1turn) translateY(-100%); -webkit-transform-origin: 0 100%; transform-origin: 0 100% } to { opacity: 1; -webkit-transform: scale(1) rotate(0deg) translateY(0); transform: scale(1) rotate(0deg) translateY(0); -webkit-transform-origin: 100% 100%; transform-origin: 100% 100% } } @keyframes float2 { 0% { -webkit-transform: translateZ(0); transform: translateZ(0) } 25% { -webkit-transform: translate3d(-10%,0,0); transform: translate3d(-10%,0,0) } 75% { -webkit-transform: translate3d(10%,0,0); transform: translate3d(10%,0,0) } to { -webkit-transform: translateZ(0); transform: translateZ(0) } } .float { -webkit-animation-name: float; animation-name: float; -webkit-animation-timing-function: ease-in-out; animation-timing-function: ease-in-out } @-webkit-keyframes float { 0% { -webkit-transform: translateZ(0); transform: translateZ(0) } 25% { -webkit-transform: translate3d(0,-10%,0); transform: translate3d(0,-10%,0) } 75% { -webkit-transform: translate3d(0,10%,0); transform: translate3d(0,10%,0) } to { -webkit-transform: translateZ(0); transform: translateZ(0) } } @keyframes float { 0% { -webkit-transform: translateZ(0); transform: translateZ(0) } 25% { -webkit-transform: translate3d(0,-10%,0); transform: translate3d(0,-10%,0) } 75% { -webkit-transform: translate3d(0,10%,0); transform: translate3d(0,10%,0) } to { -webkit-transform: translateZ(0); transform: translateZ(0) } } .form-input { position: absolute; } .input-wrapper { display: flex; align-items: center; width: 100%; height: 100%; padding: 0 10px; box-sizing: border-box; position: relative; transition: border-color 0.3s; } .required-marker { font-size: 12px; padding: 0 5px 0 0; color: red; vertical-align: middle; } input { flex: 1; border: none; outline: none; background: transparent; height: 100%; padding: 0; margin: 0; } /* input::placeholder { color: #ccc; opacity: 1; } */ .dynamic-placeholder-input::placeholder { color: var(--placeholder-color, #999); opacity: 1; } .dynamic-placeholder-input::-webkit-input-placeholder { color: var(--placeholder-color, #999); } .dynamic-placeholder-input::-moz-placeholder { color: var(--placeholder-color, #999); opacity: 1; } .dynamic-placeholder-input:-ms-input-placeholder { color: var(--placeholder-color, #999); }@charset"UTF-8";.animated { animation-duration: 1s; animation-fill-mode: both } .animated.infinite { animation-iteration-count: infinite } .animated.hinge { animation-duration: 2s } .animated.bounceIn, .animated.bounceOut, .animated.flipOutX, .animated.flipOutY { animation-duration: .75s } @keyframes bounce { 0%, 20%, 53%, 80%, to { transform: translateZ(0); animation-timing-function: cubic-bezier(.215, .61, .355, 1); } 40%, 43% { transform: translate3d(0, -30px, 0); animation-timing-function: cubic-bezier(.755, .05, .855, .06); } 70% { transform: translate3d(0, -15px, 0); animation-timing-function: cubic-bezier(.755, .05, .855, .06); } 90% { transform: translate3d(0, -4px, 0) } } .bounce { transform-origin: center bottom; animation-name: bounce; } @keyframes flash { 0%, 50%, to { opacity: 1 } 25%, 75% { opacity: 0 } } .flash { animation-name: flash } @keyframes pulse { 0% { transform: scaleX(1) } 50% { transform: scale3d(1.05, 1.05, 1.05) } to { transform: scaleX(1) } } .pulse { animation-name: pulse } @keyframes rubberBand { 0% { transform: scaleX(1) } 30% { transform: scale3d(1.25, .75, 1) } 40% { transform: scale3d(.75, 1.25, 1) } 50% { transform: scale3d(1.15, .85, 1) } 65% { transform: scale3d(.95, 1.05, 1) } 75% { transform: scale3d(1.05, .95, 1) } to { transform: scaleX(1) } } .rubberBand { animation-name: rubberBand } @keyframes shake { 0%, to { transform: translateZ(0) } 10%, 30%, 50%, 70%, 90% { transform: translate3d(-10px, 0, 0) } 20%, 40%, 60%, 80% { transform: translate3d(10px, 0, 0) } } .shake { animation-name: shake } @keyframes headShake { 0% { transform: translateX(0) } 6.5% { transform: translateX(-6px) rotateY(-9deg) } 18.5% { transform: translateX(5px) rotateY(7deg) } 31.5% { transform: translateX(-3px) rotateY(-5deg) } 43.5% { transform: translateX(2px) rotateY(3deg) } 50% { transform: translateX(0) } } .headShake { animation-name: headShake; animation-timing-function: ease-in-out; } @keyframes swing { 20% { transform: rotate(15deg) } 40% { transform: rotate(-10deg) } 60% { transform: rotate(5deg) } 80% { transform: rotate(-5deg) } to { transform: rotate(0deg) } } .swing { transform-origin: top center; animation-name: swing } @keyframes tada { 0% { transform: scaleX(1) } 10%, 20% { transform: scale3d(.9, .9, .9) rotate(-3deg) } 30%, 50%, 70%, 90% { transform: scale3d(1.1, 1.1, 1.1) rotate(3deg) } 40%, 60%, 80% { transform: scale3d(1.1, 1.1, 1.1) rotate(-3deg) } to { transform: scaleX(1) } } .tada { animation-name: tada } @keyframes wobble { 0% { transform: none } 15% { transform: translate3d(-25%, 0, 0) rotate(-5deg) } 30% { transform: translate3d(20%, 0, 0) rotate(3deg) } 45% { transform: translate3d(-15%, 0, 0) rotate(-3deg) } 60% { transform: translate3d(10%, 0, 0) rotate(2deg) } 75% { transform: translate3d(-5%, 0, 0) rotate(-1deg) } to { transform: none } } .wobble { animation-name: wobble } @keyframes jello { 0%, 11.1%, to { transform: none } 22.2% { transform: skewX(-12.5deg) skewY(-12.5deg) } 33.3% { transform: skewX(6.25deg) skewY(6.25deg) } 44.4% { transform: skewX(-3.125deg) skewY(-3.125deg) } 55.5% { transform: skewX(1.5625deg) skewY(1.5625deg) } 66.6% { transform: skewX(-.78125deg) skewY(-.78125deg) } 77.7% { transform: skewX(.390625deg) skewY(.390625deg) } 88.8% { transform: skewX(-.1953125deg) skewY(-.1953125deg) } } .jello { transform-origin: center; animation-name: jello; } @keyframes bounceIn { 0%, 20%, 40%, 60%, 80%, to { animation-timing-function: cubic-bezier(.215, .61, .355, 1) } 0% { opacity: 0; transform: scale3d(.3, .3, .3) } 20% { transform: scale3d(1.1, 1.1, 1.1) } 40% { transform: scale3d(.9, .9, .9) } 60% { opacity: 1; transform: scale3d(1.03, 1.03, 1.03) } 80% { transform: scale3d(.97, .97, .97) } to { opacity: 1; transform: scaleX(1) } } .bounceIn { animation-name: bounceIn } @keyframes bounceInDown { 0%, 60%, 75%, 90%, to { animation-timing-function: cubic-bezier(.215, .61, .355, 1) } 0% { opacity: 0; transform: translate3d(0, -3000px, 0) } 60% { opacity: 1; transform: translate3d(0, 25px, 0) } 75% { transform: translate3d(0, -10px, 0) } 90% { transform: translate3d(0, 5px, 0) } to { transform: none