@charset "utf-8";

/* 2016-03-08 */

body, div, dl, dt, dd, ul, ol, li, h1, h2, h3, h4, h5, h6, pre, code, form, fieldset, legend, input, textarea, p, blockquote, th, td, hr, button, article, aside, details, figcaption, figure, footer, header, hgroup, menu, nav, section { margin: 0; padding: 0 }

body, button, input, select, textarea { font-family: -apple-system,Helvetica,'Hiragino Sans GB W3','Microsoft YaHei',arial,sans-serif;font-size: 0.7rem;line-height: 1.5; }

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

h1, h2, h3, h4, h5, h6 { font-size: 100%; font-weight: 500 }

address, cite, dfn, em, var, i { font-style: normal; font-weight: 400 }

dfn { font-family: Arial }

ul, ol { list-style: none }

a { color: #000; text-decoration: none }

fieldset, img, button, input { border: 0 }

button, input, select, textarea { font-size: 100% }

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

input { -webkit-appearance: none; border-radius: 0;-webkit-user-select: text; }

body { min-width: 16rem; background: #f5f5f5; overflow-x: hidden; -webkit-text-size-adjust: none; -webkit-tap-highlight-color: rgba(0, 0, 0, 0); -webkit-font-smoothing: antialiased; -moz-user-select: none; color: #000 }

:focus { outline: 0 }

.clearfix:after { clear: both; content: '.'; display: block; height: 0; visibility: hidden; line-height: 0 }

.clearfix { *zoom: 1 }

.fl { float: left }

.fr { float: right }

.p10 { padding: 0.5rem }

.pos_rel { position: relative }

h1 { font-weight: 600;font-size: 1rem;line-height: 2;}

h2 { font-weight: 600;font-size: 0.9rem;line-height: 2; }

h3 { font-weight: 600;font-size: 0.8rem;line-height: 1.5; }

/*公共svg*/

@font-face { font-family: 'font-g'; src: url('data:;base64,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') format('truetype'); font-weight: normal; font-style: normal; }

[class^="font-g"], [class*=" font-g"] {  /* use !important to prevent issues with browser extensions that change fonts */
font-family: 'font-g' !important; speak: none; font-style: normal; font-weight: normal; font-variant: normal; text-transform: none; line-height: 1;  /* Better Font Rendering =========== */ -webkit-font-smoothing: antialiased; -moz-osx-font-smoothing: grayscale; }

.font-g-circle-close:before {content: "\E903";}

.font-g-arrow-right:before {content: "\E902";}

.font-g-arrow-up:before { content: "\E901"; }

.font-g-close:before { content: "\E900"; }

.font-g-arrow-down:before { content: "\E90C"; }

.font-g-arrow-left:before { content: "\E90D"; }

.font-g-nearby:before { content: "\E90E"; }

.font-g-search:before { content: "\E90F"; }

.font-g-full-heart:before { content: "\E907"; }

/*align*/

.tc {text-align: center;}

/*ios android 头部处理*/

.isapp-ios-full{padding-top: 2rem !important;box-sizing: border-box;}

/*盒模型*/

.g-fn12 {font-size: 0.6rem}

.g-fn13 {font-size: 0.65rem}

.ml5 {margin-left: 0.25rem}

/*皮肤*/

.g-color { color: #808080 }

.g-color2 { color: #2b2b2b }

.g-color3 { color: #4289ff }

@media only screen and (device-width : 320px) {
    html {
    font-size: 18px!important
   }
}

@media only screen and (min-device-width: 414px) and (max-device-width: 736px) {
   html {
    font-size: 21px!important
   }
}

/*Star 公共btn*/

.g_btn_s { color: #FFF; font-size: 0.9rem; width: 100%; height: 2.2rem; line-height: 2.2rem; display: block; border-radius: 0.15rem; margin: 0 auto; text-align: center; background-color: #ff9a14; -webkit-tap-highlight-color: #ff8c00 }

.g_btn_s.g_btns_disable { background-color: #cdcdcd }

.ellips { white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }

/*header*/

.cm-header .cm-header-btn { padding: 0 0.5rem }

/*html body*/

html, body, .h100, #main { height: 100% }

.main-frame { height: 100% }

.main-viewport { position: relative; height: 100% }

input { width: 100%; height: 2.1rem; border: 0; padding: 0 0.25rem; background: transparent; box-sizing: border-box; outline: 0 }

/*Star fixed 向下*/

.cui-bottom-fixed { position: fixed; bottom: 0; left: 0;  }

.fix_bottom { position: fixed; bottom: 0; width: 100%; left: 0; z-index: 9999 }

/*小海豚loading*/

.cui-pro-load { width: 0.9rem; height: 0.9rem; position: absolute; right: 1.9rem; top: 50%; margin-top: -0.45rem }

.cui-pro-radius { animation: cui-loading 1.58s linear infinite; transform-origin: 50% 50%; width: 0.9rem; height: 0.9rem; border-left: #c5c5c5 1px solid; display: block; border-bottom: #c5c5c5 1px solid; border-radius: 50% }

.cui-pro-logo { width: 0.6rem; height: 0.65rem; display: block; margin: -0.8rem 0 0 0.15rem; background: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABgAAAAaBAMAAABfkYHAAAAAJFBMVEUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACmWAJHAAAADHRSTlMzAC4gJikUBh0MGhA7i3O4AAAA1UlEQVQY0z3PsUoDYQzA8b/f9TuvOEWqR6/LB4KIU+98gSuKs3Zzs5Or1cG1CoJr38C+QekTNkk/mim/kIQEsah/Ca3IAVMgZOyAOQtHY/Xr9LJk3JEU8bvnlFc8whyGXs7e8Hae88K2ZTyK4TA0EMdTbnJYek/pGFt5QntE+3Grx64dQSy2laOqF4p+INQwbNb2RlcgiZORtf1PQVaKpbX1infORjpTx6RoKJqZyEVFRPSer1IuU0eJ1nhe3T38JWbY0vhJgCgKbbn5sUcdMungSjfuASTxHjtAEOWeAAAAAElFTkSuQmCC); background-size: contain; }

/*Star 城市列表*/

/*.cui-citys-hd { background: #e6f1f7; padding: 0.4rem 0.5rem; overflow: hidden; -webkit-box-sizing: border-box;box-sizing: border-box }
.cui-citys-hd .cui-input-bd { position: relative }
.cui-citys-hd .cui-btn-cancle { display: none }
.cui-citys-hd.cui-input-focus .cui-input-bd { width: 80%; float: left }
.cui-citys-hd.cui-input-focus .cui-btn-cancle { width: 18%; float: left; line-height: 1.4rem; text-align: center; font-size: 0.8rem; color: #1491C5; background: rgba(0, 0, 0, 0); border: 0; display: block }
.cui-citys-hd .cui-input-bd:before, .cui-citys-hd .cui-input-bd:after { position: absolute; content: "" }
.cui-citys-hd .cui-input-bd:before { width: 0.6rem; height: 0.6rem; left: 0.3rem; top: 0.3rem; border: 1px solid #999; -webkit-border-radius: 50%; -moz-border-radius: 50%; border-radius: 50% }
.cui-citys-hd .cui-input-bd:after { width: 0.05rem; height: 0.4rem; left: 1rem; top: 0.8rem; background: #999; -webkit-transform: rotate(-45deg); transform: rotate(-45deg) }
.cui-citys-hd .cui-input-box { width: 100%; height: 1.4rem; line-height: normal; display: inline-block; padding: 0 3rem 0 1.4rem; background-color: #FFF; border-radius: 1rem }
.cui-focus-close { color: #999; position: absolute; top: 50%; right: 0; margin: -0.85rem 0 0 0; width: 2rem; height: 1.7rem; line-height: 1.5rem; text-align: center;font-weight: 700;font-size: 1.1rem;line-height: 1.7;}
.cui-citys-hd .cui-input-box::-webkit-input-placeholder { color: #ccc }
.cui-arrow-close .cui-city-n { display: none }
.cui-arrow-close .cui-city-t:before, .cui-arrow-close .cui-city-t:after, .cui-arrow-open .cui-city-t:before, .cui-arrow-open .cui-city-t:after { float: right; content: ""; width: 0.1rem; height: 0.5rem; background-color: #aaa; margin: 0.25rem 0.2rem 0 0 }
.cui-arrow-close .cui-city-t:before, .cui-arrow-open .cui-city-t:after { -webkit-transform: rotate(45deg); transform: rotate(45deg) }
.cui-arrow-close .cui-city-t:after, .cui-arrow-open .cui-city-t:before { -webkit-transform: rotate(-45deg); transform: rotate(-45deg) }
.cui-city-itmes .cui-city-t { color: #666; background-color: #efefef; border-bottom: #bcbcbc 1px solid; line-height: 1rem; padding: 0.25rem 0.5rem; display: block }
.cui-city-itmes .cui-city-n { background-color: #fff }
.cui-city-itmes .cui-city-n li { border-bottom: #bcbcbc 1px solid; font-size: 0.75rem; line-height: 1rem; padding: 0.5rem 1.5rem 0.5rem 0.5rem; word-break: break-all; color: #000 }
.cui-city-itmes .cui-city-n li.current { background: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACQAAAAcCAMAAAA+9+1qAAAAP1BMVEUAAAAJn94Jn94Jn94Jn94Jn94Jn94Jn94Jn94Jn94Jn94Jn94Jn94Jn94Jn94Jn94Jn94Jn94Jn94Jn94Jn95q8vaOAAAAFHRSTlMAw8/cp5q2BxEDG4zwf3BbSzbmJoL/OqMAAACpSURBVDjLhdNZDoQgEEXRVpkRB6j9r7UtEgK27av60xwCyYWPNGVyogkrzVYwbiEiI5iZrjmgsRObHRpv2Gx4M8UmYhPZaGwSG+Wh2dgYC83OZsbmYLO4YdHTn2zyYBIp/8+s4XbAX1WIpwx/NDU1hL/mbJ9d6Vv4Z1SvqgLhe0cthLdVRRC+L48tfEK3KwnhbT1upUq4zWJ4t1APjxWHxypTDvJrnV7MF34yDmacQrD2AAAAAElFTkSuQmCC) 97% center no-repeat; background-size: 0.9rem 0.7rem }
.cui-city-associate li { background: #fff; border-bottom: #bcbcbc 1px solid; font-size: 0.75rem; line-height: 1rem; padding: 0.5rem 1.5rem 0.5rem 0.5rem; word-break: break-all; color: #000 }
.cui-btn-history { width: 95%; color: #4289ff; border: #dbdbdb 1px solid; padding: 0.4rem; background: #fff; border-radius: 0.15rem; display: block; margin: 1rem auto; font-size: 0.75rem }
.cui-city-novalue { color: #cdcdcd; text-align: center; font-size: 0.75rem; padding: 1rem; line-height: 1rem }*/

/*Star 日历*/

/*.cui_cldwrap { padding-top: 1.25rem; color: #585858 }
.cui_cldwrap_h { padding-top: 2rem }
.cui_cldmsg { padding: 0 0.5rem; line-height: 0.75rem }
.cui_cldweek { position: fixed; z-index: 2; top: 2.2rem; left: 0; width: 100%; height: auto; overflow: hidden;font-weight: 400;font-size: 0.6rem;line-height: 1.2rem;border-bottom: 1px solid #c8c8c8; background: #f7f7f7 }
.cui_cldweek_top0 { top: 0 }
.cui_cldweek li { float: left; width: 14%; text-align: center }
.cui_cldweek li:first-child, .cui_cldweek li:last-child { width: 15%; color: #ff902d }
.cui_cldmonth { height: 2rem; text-align: center;font-weight: 400;font-size: 0.8rem;line-height: 2.5rem; background: #fff }
.cui_cldunit { margin-bottom: 0.7rem }
.cui_cld_daybox { overflow: hidden; background: #fff }
.cui_cld_daybox li { float: left; width: 14%; height: 2rem; padding: 0.2rem 0; font-weight: 400;font-size: 0.7rem;line-height: 2.25rem; overflow: hidden; text-align: center }
.cui_cld_daybox li:nth-of-type(7n), .cui_cld_daybox li:nth-of-type(7n+1) { width: 15%; color: #ff902d }
.cui_cld_dayfuture { background: #fff }
.cui_cld_day_nocrtmonth { visibility: hidden }
.cui_cld_day_havetxt em, .cui_cld_nopro em, .cui_cld_haspro em, .cui_cld_daycrt em { display: block; line-height: 1rem; font-size: 0.6rem }
.cui_cld_day_havetxt i, .cui_cld_nopro i, .cui_cld_haspro i, .cui_cld_daycrt i { display: block; line-height: 0.75rem; font-size: 0.55rem }
.cui_cld_daycrt.cui_cld_daycrt_sl em { line-height: inherit }
.cui_spandate { line-height: 1.1rem; display: block }
.cui_cld_daybox li.cui_cld_day_hint { color: #06a2d0 }
.cui_cld_daybox li.cui_cld_daypass { color: #cfcfcf !important }
.cui_cld_daycrt { background: #06a2d0; color: #fff !important }

.cui_cld_daybox li {position: relative;}
.cui_cld_daybox li:nth-child(7n), .cui_cld_daybox li:nth-child(7n+1){width:14%;color:inherit;}
.cui_cld_daybox li:nth-of-type(7n), .cui_cld_daybox li:nth-of-type(7n+1){width:15%;color:#ff902d;}
.cui_cld_daybox li.cui_cld_invalid {color: #cfcfcf;}
.icon-calendar-holiday, .icon-calendar-work { position: absolute; right: 0; top: 0; border: 1px solid #ff902d; line-height: 0.7rem; height: 0.8rem; width: 0.8rem; background: #fff; text-align: center; font-size: 0.6rem; -webkit-transform: scale(0.7); -ms-transform: scale(0.7); transform: scale(0.7); -webkit-transform-origin: right top; -ms-transform-origin: right top; transform-origin: right top; box-sizing: border-box }
.icon-calendar-holiday { color: #52bce8; border-color: #52bce8 }
.icon-calendar-work {color: #ff902d;}*/

.cm-field-title--active { animation: cm-field-title--active 1.8s linear; }

/*Star 日历底部节日*/

.cm-calendar .cm-calendar-ft { border-top: 1px solid #dbdbdb; background-color: #efefef; position: fixed; left: 0; right: 0; bottom: 0; padding: 0.25rem 0; overflow-x: auto }

.cm-calendar .cm-calendar-ft .cm-calendar-quick-nav { white-space: nowrap }

.cm-calendar .cm-calendar-ft li { display: inline-block; line-height: 1.5rem; padding: 0 0.5rem; border-radius: 0.2rem; text-align: center; background-color: #ccc; margin: 0 0.15rem }

.cm-calendar .cm-calendar-ft li.active { background-color: #4289ff; color: #fff }

/*Star 蓝色弹出框*/

.cui-pop-box .cui-hd { height: 2rem; line-height: 2rem; font-size: 1.2em; color: #fff;padding: 0 0.5rem; position: relative;}

.cui-pop-box .cui-hd .lab-close-area { position: absolute; width: 2.5rem; height: 100%; right: 0; top: 0 }

.cui-pop-box .cui-hd .cui-top-close { width: 2rem; height: 2rem; float: right; line-height: 2rem; color: transparent; text-align: center; font-weight: 700; position: relative }

.cui-pop-box .cui-hd .cui-top-close:before, .cui-pop-box .cui-hd .cui-top-close:after { width: 0.1rem; height: 0.8rem; position: absolute; left: 50%; top: 50%; margin: -0.4rem 0 0 -0.05rem; background: #fff; content: "" }

.cui-pop-box .cui-hd .cui-top-close:before { transform: rotate(45deg) }

.cui-pop-box .cui-hd .cui-top-close:after { transform: rotate(-45deg) }

.close-area-btn{
    width: 2.5rem;
    height: 2rem;
    right: 0;
    top: 0;
    position: absolute;
    z-index: 999;
}

.close-area-btn .close-top-btn{
    width: .85rem;
    height: .85rem;
    border-radius: 50%;
    border: 1px solid #fff;
    top: 50%;
    left: 50%;
    transform: translateX(-50%) translateY(-50%);
    position: absolute;
}

.close-area-btn .close-top-btn:before{
    transform: rotate(45deg);
}

.close-area-btn .close-top-btn:before,.close-area-btn .close-top-btn:after{
    width: 1px;
    height: .5rem;
    content: "";
    position: absolute;
    left: 50%;
    top: 50%;
    background: #fff;
    margin: -.25rem 0 0;
}

.close-area-btn .close-top-btn:after{
    transform: rotate(-45deg);
}

/*Star Switch*/

.cui-switch { position: relative; width: 2.2rem; height: 1.2rem; display: inline-block; vertical-align: middle; border-radius: 1.2rem; background-color: #ccc; cursor: pointer; transition: 200ms background-color ease-in }

.cui-switch.current { background-color: #43d551 }

.cui-switch .cui-switch-bg { position: absolute; top: 0; left: 0; width: 2.2rem; height: 1.2rem; border-radius: 1.2rem; background-color: #ccc; -webkit-transform: scale(1, 1); transform-origin: center center; transition: 200ms transform ease-in }

.cui-switch .cui-switch-bg.current { width: 2.2rem; height: 1.2rem; transform: scale(0, 0) }

.cui-switch .cui-switch-scroll { position: absolute; top: 0.05rem; left: 0.05rem; right: 1.05rem; height: 1.1rem; border-radius: 1.1rem; background-color: #fff; box-shadow: 0.05rem 0.05rem 0.25rem rgba(0, 0, 0, 0.3); transition: 200ms width ease-in, 200ms left ease-in, 200ms right ease-in }

.cui-switch.current .cui-switch-scroll { left: 1.05rem; right: 0.05rem }

.cui-switch .cui-switch-scroll.wide { left: 0.1rem; right: 0.7rem }

.cui-switch.current .cui-switch-scroll.wide { left: 0.7rem; right: 0.05rem }

/*star 评分*/

.cui-rate { position: relative; display: inline-block; height: 0.8rem; margin: 0 0.5rem;}

.cui-rate i { width: 0.8rem; height: 0.8rem; box-shadow: inset 0 0 0 0.15rem #fff; border: 2px solid #c8c8c8; border-radius: 50%; background: #c8c8c8; position: relative; display: inline-block; margin: 0 0.1rem }

.cui-rate i:before { content: ""; position: absolute; right: 0; top: 0.35rem; width: 0.25rem; height: 0.1rem; background: #c8c8c8 }

.cui-rate-r2 { position: absolute; left: 0; top: 0; white-space: nowrap; overflow: hidden }

.cui-rate-r2 i { border-color: #4289ff; background: #4289ff }

.cui-rate-r2 i:before { background: #4289ff }

/*弹框从上、从下*/

.cm-down-in, .cm-down-out { animation-duration: 0.3s; animation-fill-mode: both }

.cm-down-in { animation-name: downIn }

.cm-down-out { animation-name: downOut }

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

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

/*底部弹框，信息纠错*/

.popup-operate { position: fixed; bottom: 0; left: 0; width: 100% }

.popup-operate ul { margin: 0.5rem; overflow: hidden; border-radius: 0.3rem }

.popup-operate ul li { height: 2.2rem; margin: 0.05rem 0; line-height: 2.2rem; text-align: center; font-size: 1rem; color: #4289ff; background-color: #FFF }

/*Star 控件*/

.cui-layer {width: 100%; position: fixed; left: 50%; top: 50%; z-index: 2100; border-radius: 0.5rem; padding: 0.25rem;box-sizing:border-box; }

.cui-pop-box { width: 100%; margin: auto; position: relative; overflow: hidden;z-index: 9999 }

.cui-pop-box .cui-roller-bd { background: #fff; }

/*.cui-roller-bd { -webkit-box-flex: 1; -moz-box-flex: 1; -webkit-flex: 1; -ms-flex: 1; flex: 1 }*/

.cui-select-view li { border-bottom: #dfdfdf 1px solid; padding: 0.5rem 1rem 0.5rem 0.5rem; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; position: relative }

/*定位中*/

.cui-grayload-text{width:7.5rem;margin:0 auto;font-size:0.8rem;text-align:center;background:rgba(0,0,0,.7);color:#fff;border-radius:0.25rem;z-index:99}

.cui-grayload-close{width: 1.1rem;height: 1.1rem;position: absolute;top:0.3rem;right:0.3rem;background-image: linear-gradient(#fff , #fff),linear-gradient(#fff,#fff);background-size: 1px 100%,100% 1px;background-position: 50% 0,0 50%;background-repeat: no-repeat;-webkit-transform:rotate(45deg);}

.cui-grayload-bfont{margin:3.5rem 0 0.3rem;font-size: 0.7rem}

/*CUI*/

.cui-mask { z-index: 2000; position: fixed; top: 0; left: 0; right: 0; bottom: 0; height: 100%; width: 100%; background-color: rgba(0, 0, 0, .5); }

/*无结果推荐*/

.components-result-tips {padding:1.65rem 1rem;text-align: center;}

.components-result-tips .txt1 {color: #2b2b2b;font-size: 0.85rem}

.components-result-tips .txt2 {color: #808080;font-size: 0.75rem;padding: 0.25rem 0 0.5rem}

/*ios android 头部处理*/

/*ios android 全适用,native有头*/

/*ios 全屏即H5模似假头，native无头*/

.isapp-ios-full .cm-header {height:3rem;padding-top: 0.8rem; box-sizing: border-box;}

/*animation*/

/*导航栏功能下移*/

.request-submit {
	background-image: linear-gradient(-132deg, #8BB6FF 0%, #4289FF 100%);
	margin: 0 0.55rem 0 0.55rem;
	padding: 0.56rem 0;
	box-shadow: 0.1rem 0.1rem 0.4rem 0 rgba(66,137,255,0.40);
	border-radius: 0.2rem;
	font-size: 1rem;
	color: #FFFFFF;
	text-align: center;
	line-height: 1rem;
}

.passenger-submit {
      padding: 0.7rem 0;
      bottom: 0;
      background: #4289FF;
      box-shadow: 0 0 0.1rem 0 rgba(86,91,101,0.18);
      font-size: 1rem;
      color: #FFFFFF;
      letter-spacing: 0;
      text-align: center;
      line-height: 1rem;
      position: fixed;
      width: 100%;
  }

.lt-fn8 {
    font-size: .4rem
}

.lt-fn11 {
    font-size: .55rem
}

[class*=" lt-font-"],[class^=lt-font-] {
    font-family: lt-font!important;
    speak: none;
    font-style: normal;
    font-weight: 400;
    font-variant: normal;
    text-transform: none;
    line-height: 1;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale
}

@font-face {
    font-family: lt-font;
    src: url("data:;base64,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") format("truetype");
    font-weight: 400;
    font-style: normal
}
#header{height:2.2rem}

.cm-header,
.cm-header-sub {
  position: fixed;
  left: 0;
  right: 0
}

.cm-header {
  top: 0;
  height: 2.2rem;
  line-height: 2.2rem;
  text-align: center;
  background-color: #4289ff;
  color: #fff;
  z-index: 960
}

.cm-header-hybrid-wrap {
  height: 3.2rem
}

.cm-header-hybrid-wrap .cm-header {
  padding-top: 1rem;
  height: 3.2rem
}

.icon-back {
  width: 2.2rem;
  height: 2.2rem;
  line-height: 2.2rem;
  padding: 1;
}

.cm-header-sub {
  top: 2.2rem;
  z-index: 960
}

.cm-header h1 {
  font-weight: normal;
  font-family: inherit
}

.cm-header .cm-page-title {
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap
}

.cm-header .cm-page-title,
.cm-header .cm-page-mutil-title,
.cm-header .cm-page-select-title {
  position: absolute;
  left: 4.4rem;
  right: 4.4rem
}

.cm-header .cm-page-title {
  line-height: 2.2rem;
  font-size: 0.9rem
}

.cm-header .cm-page-title .cm-title-l {
  line-height: 1.4rem;
  display: block
}

.cm-header .cm-page-title .cm-title-s {
  line-height: 1;
  font-size: 0.6rem;
  display: block
}

.cm-header .cm-page-mutil-title {
  font-size: 0.7rem;
  line-height: 0.95rem;
  padding-top: 0.2rem;
  overflow: hidden;
  text-overflow: ellipsis;
  -webkit-line-clamp: 2;
  height: 2.2rem
}

.cm-header .cm-page-tabs-title {
  position: absolute;
  left: 50%;
  transform: translate(-50%, 0);
  display: inline-block;
  background-color: #066f9b;
  border-radius: 0.2rem;
  padding: 1px;
  line-height: 1.45rem;
  margin: 0.35rem 0 0 0
}

.cm-header .cm-page-tabs-title span {
  float: left;
  font-size: 0.75rem;
  min-width: 3rem;
  max-width: 3.5rem;
  text-overflow: ellipsis;
  overflow: hidden;
  white-space: nowrap;
  padding: 0 0.25rem
}

.cm-header .cm-page-tabs-title span.active {
  background-color: #4289ff;
  color: #fff
}

.cm-header .cm-page-tabs-title span:first-child {
  border-radius: 0.2rem 0 0 0.2rem
}

.cm-header .cm-page-tabs-title span:last-child {
  border-radius: 0 0.2rem 0.2rem 0
}

.cm-header .cm-page-select-title {
  line-height: 2.2rem
}

.cm-header .cm-page-select-title::after {
    content: "";
    width: .25rem;
    height: .25rem;
    border-left: 2px solid #fff;
    border-bottom: 2px solid #fff;
    position: absolute;
    top: 50%;
    left: .25rem;
    transition: all .3s ease-in-out;
    transform: translateY(-50%) rotate(-45deg);
}

.cm-header .cm-page-select-title.expanded::after {
  transform: rotate(135deg);
  top: 0.05rem
}

.cm-header .cm-header-icon,
.cm-header .cm-header-btn {
  cursor: pointer
}

.cm-header .cm-header-icon:active,
.cm-header .cm-header-btn:active {
  background-color: #306ed5
}

.cm-header .cm-header-icon {
  width: 2.2rem;
  height: 2.2rem;
  display: inline-block;
  text-align: center
}

.cm-header .cm-header-btn {
  padding: 0 0.5rem
}

.cm-header--light {
  background: #fff;
  color: #4289ff
}

.cm-header--light .icon-back {
  background: none
}

.cm-header--light .icon-back::before {
  border-color: #4289ff
}

.cm-header--light .cm-page-tabs-title {
  color: #fff
}

.cm-header--light .cm-header-icon:active,
.cm-header--light .cm-header-btn:active {
  background-color: transparent
}

.cm-header--light .cm-page-tabs-title span {
  color: #4289ff;
  background-color: #fff
}

.cm-header--light .cm-page-select-title::after {
  border-color: #4289ff
}

.cm-header--light .icon-email {
  background-position: -1.2rem -6.2rem
}

.cm-header--light .icon-home {
  background-position: 0 -6.2rem
}

.icon-back::before {
  content: "";
  display: inline-block;
  width: .5rem;
  height: .5rem;
  vertical-align: middle;
  border-left: 2px solid #fff;
  border-bottom: 2px solid #fff;
  transform: rotate(45deg);
  box-sizing: border-box;
}
@charset "UTF-8";
.animated {
  animation-duration: 250ms;
  animation-fill-mode: both;
}
.animated.infinite {
  animation-iteration-count: infinite;
}
.animated.hinge {
  animation-duration: 2s;
}
.animated.flipOutX,
.animated.flipOutY,
.animated.bounceIn,
.animated.bounceOut {
  animation-duration: .75s;
}
.animated.animated1 {
  animation-duration: 1s;
}
.animated.animated2 {
  animation-duration: 0.5s;
}
@keyframes bounce {
  from, 20%, 53%, 80%, to {
    animation-timing-function: cubic-bezier(0.215, 0.610, 0.355, 1.000);
    transform: translate3d(0,0,0);
  }

  40%, 43% {
    animation-timing-function: cubic-bezier(0.755, 0.050, 0.855, 0.060);
    transform: translate3d(0, -30px, 0);
  }

  70% {
    animation-timing-function: cubic-bezier(0.755, 0.050, 0.855, 0.060);
    transform: translate3d(0, -15px, 0);
  }

  90% {
    transform: translate3d(0,-4px,0);
  }
}
.bounce {
  animation-name: bounce;
  transform-origin: center bottom;
}
@keyframes flash {
  from, 50%, to {
    opacity: 1;
  }

  25%, 75% {
    opacity: 0;
  }
}
.flash {
  animation-name: flash;
}
/* originally authored by Nick Pettit - https://github.com/nickpettit/glide */
@keyframes pulse {
  from {
    transform: scale3d(1, 1, 1);
  }

  50% {
    transform: scale3d(1.05, 1.05, 1.05);
  }

  to {
    transform: scale3d(1, 1, 1);
  }
}
.pulse {
  animation-name: pulse;
}
@keyframes rubberBand {
  from {
    transform: scale3d(1, 1, 1);
  }

  30% {
    transform: scale3d(1.25, 0.75, 1);
  }

  40% {
    transform: scale3d(0.75, 1.25, 1);
  }

  50% {
    transform: scale3d(1.15, 0.85, 1);
  }

  65% {
    transform: scale3d(.95, 1.05, 1);
  }

  75% {
    transform: scale3d(1.05, .95, 1);
  }

  to {
    transform: scale3d(1, 1, 1);
  }
}
.rubberBand {
  animation-name: rubberBand;
}
@keyframes shake {
  from, to {
    transform: translate3d(0, 0, 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-timing-function: ease-in-out;
  animation-name: headShake;
}
@keyframes swing {
  20% {
    transform: rotate3d(0, 0, 1, 15deg);
  }

  40% {
    transform: rotate3d(0, 0, 1, -10deg);
  }

  60% {
    transform: rotate3d(0, 0, 1, 5deg);
  }

  80% {
    transform: rotate3d(0, 0, 1, -5deg);
  }

  to {
    transform: rotate3d(0, 0, 1, 0deg);
  }
}
.swing {
  transform-origin: top center;
  animation-name: swing;
}
@keyframes tada {
  from {
    transform: scale3d(1, 1, 1);
  }

  10%, 20% {
    transform: scale3d(.9, .9, .9) rotate3d(0, 0, 1, -3deg);
  }

  30%, 50%, 70%, 90% {
    transform: scale3d(1.1, 1.1, 1.1) rotate3d(0, 0, 1, 3deg);
  }

  40%, 60%, 80% {
    transform: scale3d(1.1, 1.1, 1.1) rotate3d(0, 0, 1, -3deg);
  }

  to {
    transform: scale3d(1, 1, 1);
  }
}
.tada {
  animation-name: tada;
}
/* originally authored by Nick Pettit - https://github.com/nickpettit/glide */
@keyframes wobble {
  from {
    transform: none;
  }

  15% {
    transform: translate3d(-25%, 0, 0) rotate3d(0, 0, 1, -5deg);
  }

  30% {
    transform: translate3d(20%, 0, 0) rotate3d(0, 0, 1, 3deg);
  }

  45% {
    transform: translate3d(-15%, 0, 0) rotate3d(0, 0, 1, -3deg);
  }

  60% {
    transform: translate3d(10%, 0, 0) rotate3d(0, 0, 1, 2deg);
  }

  75% {
    transform: translate3d(-5%, 0, 0) rotate3d(0, 0, 1, -1deg);
  }

  to {
    transform: none;
  }
}
.wobble {
  animation-name: wobble;
}
@keyframes jello {
  from, 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(-0.78125deg) skewY(-0.78125deg);
  }

  77.7% {
    transform: skewX(0.390625deg) skewY(0.390625deg);
  }

  88.8% {
    transform: skewX(-0.1953125deg) skewY(-0.1953125deg);
  }
}
.jello {
  animation-name: jello;
  transform-origin: center;
}
@keyframes bounceIn {
  from, 20%, 40%, 60%, 80%, to {
    animation-timing-function: cubic-bezier(0.215, 0.610, 0.355, 1.000);
  }

  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: scale3d(1, 1, 1);
  }
}
.bounceIn {
  animation-name: bounceIn;
}
@keyframes bounceInDown {
  from, 60%, 75%, 90%, to {
    animation-timing-function: cubic-bezier(0.215, 0.610, 0.355, 1.000);
  }

  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;
  }
}
.bounceInDown {
  animation-name: bounceInDown;
}
@keyframes bounceInLeft {
  from, 60%, 75%, 90%, to {
    animation-timing-function: cubic-bezier(0.215, 0.610, 0.355, 1.000);
  }

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

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

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

  90% {
    transform: translate3d(5px, 0, 0);
  }

  to {
    transform: none;
  }
}
.bounceInLeft {
  animation-name: bounceInLeft;
}
@keyframes bounceInRight {
  from, 60%, 75%, 90%, to {
    animation-timing-function: cubic-bezier(0.215, 0.610, 0.355, 1.000);
  }

  from {
    opacity: 0;
    transform: translate3d(3000px, 0, 0);
  }

  60% {
    opacity: 1;
    transform: translate3d(-25px, 0, 0);
  }

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

  90% {
    transform: translate3d(-5px, 0, 0);
  }

  to {
    transform: none;
  }
}
.bounceInRight {
  animation-name: bounceInRight;
}
@keyframes bounceInUp {
  from, 60%, 75%, 90%, to {
    animation-timing-function: cubic-bezier(0.215, 0.610, 0.355, 1.000);
  }

  from {
    opacity: 0;
    transform: translate3d(0, 3000px, 0);
  }

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

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

  90% {
    transform: translate3d(0, -5px, 0);
  }

  to {
    transform: translate3d(0, 0, 0);
  }
}
.bounceInUp {
  animation-name: bounceInUp;
}
@keyframes bounceOut {
  20% {
    transform: scale3d(.9, .9, .9);
  }

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

  to {
    opacity: 0;
    transform: scale3d(.3, .3, .3);
  }
}
.bounceOut {
  animation-name: bounceOut;
}
@keyframes bounceOutDown {
  20% {
    transform: translate3d(0, 10px, 0);
  }

  40%, 45% {
    opacity: 1;
    transform: translate3d(0, -20px, 0);
  }

  to {
    opacity: 0;
    transform: translate3d(0, 2000px, 0);
  }
}
.bounceOutDown {
  animation-name: bounceOutDown;
}
@keyframes bounceOutLeft {
  20% {
    opacity: 1;
    transform: translate3d(20px, 0, 0);
  }

  to {
    opacity: 0;
    transform: translate3d(-2000px, 0, 0);
  }
}
.bounceOutLeft {
  animation-name: bounceOutLeft;
}
@keyframes bounceOutRight {
  20% {
    opacity: 1;
    transform: translate3d(-20px, 0, 0);
  }

  to {
    opacity: 0;
    transform: translate3d(2000px, 0, 0);
  }
}
.bounceOutRight {
  animation-name: bounceOutRight;
}
@keyframes bounceOutUp {
  20% {
    transform: translate3d(0, -10px, 0);
  }

  40%, 45% {
    opacity: 1;
    transform: translate3d(0, 20px, 0);
  }

  to {
    opacity: 0;
    transform: translate3d(0, -2000px, 0);
  }
}
.bounceOutUp {
  animation-name: bounceOutUp;
}
@keyframes fadeIn {
  from {
    opacity: 0;
  }

  to {
    opacity: 1;
  }
}
.fadeIn {
  animation-name: fadeIn;
}
@keyframes fadeInDown {
  from {
    opacity: 0;
    transform: translate3d(0, -100%, 0);
  }

  to {
    opacity: 1;
    transform: none;
  }
}
.fadeInDown {
  animation-name: fadeInDown;
}
@keyframes fadeInDownBig {
  from {
    opacity: 0;
    transform: translate3d(0, -2000px, 0);
  }

  to {
    opacity: 1;
    transform: none;
  }
}
.fadeInDownBig {
  animation-name: fadeInDownBig;
}
@keyframes fadeInLeft {
  from {
    opacity: 0;
    transform: translate3d(-100%, 0, 0);
  }

  to {
    opacity: 1;
    transform: none;
  }
}
.fadeInLeft {
  animation-name: fadeInLeft;
}
@keyframes fadeInLeftBig {
  from {
    opacity: 0;
    transform: translate3d(-2000px, 0, 0);
  }

  to {
    opacity: 1;
    transform: none;
  }
}
.fadeInLeftBig {
  animation-name: fadeInLeftBig;
}
@keyframes fadeInRight {
  from {
    opacity: 0;
    transform: translate3d(100%, 0, 0);
  }

  to {
    opacity: 1;
    transform: none;
  }
}
.fadeInRight {
  animation-name: fadeInRight;
}
@keyframes fadeInRightBig {
  from {
    opacity: 0;
    transform: translate3d(2000px, 0, 0);
  }

  to {
    opacity: 1;
    transform: none;
  }
}
.fadeInRightBig {
  animation-name: fadeInRightBig;
}
@keyframes fadeInUp {
  from {
    opacity: 0;
    transform: translate3d(0, 100%, 0);
  }

  to {
    opacity: 1;
    transform: none;
  }
}
.fadeInUp {
  animation-name: fadeInUp;
}
@keyframes fadeInUpBig {
  from {
    opacity: 0;
    transform: translate3d(0, 2000px, 0);
  }

  to {
    opacity: 1;
    transform: none;
  }
}
.fadeInUpBig {
  animation-name: fadeInUpBig;
}
@keyframes fadeOut {
  from {
    opacity: 1;
  }

  to {
    opacity: 0;
  }
}
.fadeOut {
  animation-name: fadeOut;
}
@keyframes fadeOutDown {
  from {
    opacity: 1;
  }

  to {
    opacity: 0;
    transform: translate3d(0, 100%, 0);
  }
}
.fadeOutDown {
  animation-name: fadeOutDown;
}
@keyframes fadeOutDownBig {
  from {
    opacity: 1;
  }

  to {
    opacity: 0;
    transform: translate3d(0, 2000px, 0);
  }
}
.fadeOutDownBig {
  animation-name: fadeOutDownBig;
}
@keyframes fadeOutLeft {
  from {
    opacity: 1;
  }

  to {
    opacity: 0;
    transform: translate3d(-100%, 0, 0);
  }
}
.fadeOutLeft {
  animation-name: fadeOutLeft;
}
@keyframes fadeOutLeftBig {
  from {
    opacity: 1;
  }

  to {
    opacity: 0;
    transform: translate3d(-2000px, 0, 0);
  }
}
.fadeOutLeftBig {
  animation-name: fadeOutLeftBig;
}
@keyframes fadeOutRight {
  from {
    opacity: 1;
  }

  to {
    opacity: 0;
    transform: translate3d(100%, 0, 0);
  }
}
.fadeOutRight {
  animation-name: fadeOutRight;
}
@keyframes fadeOutRightBig {
  from {
    opacity: 1;
  }

  to {
    opacity: 0;
    transform: translate3d(2000px, 0, 0);
  }
}
.fadeOutRightBig {
  animation-name: fadeOutRightBig;
}
@keyframes fadeOutUp {
  from {
    opacity: 1;
  }

  to {
    opacity: 0;
    transform: translate3d(0, -100%, 0);
  }
}
.fadeOutUp {
  animation-name: fadeOutUp;
}
@keyframes fadeOutUpBig {
  from {
    opacity: 1;
  }

  to {
    opacity: 0;
    transform: translate3d(0, -2000px, 0);
  }
}
.fadeOutUpBig {
  animation-name: fadeOutUpBig;
}
@keyframes flip {
  from {
    transform: perspective(400px) rotate3d(0, 1, 0, -360deg);
    animation-timing-function: ease-out;
  }

  40% {
    transform: perspective(400px) translate3d(0, 0, 150px) rotate3d(0, 1, 0, -190deg);
    animation-timing-function: ease-out;
  }

  50% {
    transform: perspective(400px) translate3d(0, 0, 150px) rotate3d(0, 1, 0, -170deg);
    animation-timing-function: ease-in;
  }

  80% {
    transform: perspective(400px) scale3d(.95, .95, .95);
    animation-timing-function: ease-in;
  }

  to {
    transform: perspective(400px);
    animation-timing-function: ease-in;
  }
}
.animated.flip {
  backface-visibility: visible;
  animation-name: flip;
}
@keyframes flipInX {
  from {
    transform: perspective(400px) rotate3d(1, 0, 0, 90deg);
    animation-timing-function: ease-in;
    opacity: 0;
  }

  40% {
    transform: perspective(400px) rotate3d(1, 0, 0, -20deg);
    animation-timing-function: ease-in;
  }

  60% {
    transform: perspective(400px) rotate3d(1, 0, 0, 10deg);
    opacity: 1;
  }

  80% {
    transform: perspective(400px) rotate3d(1, 0, 0, -5deg);
  }

  to {
    transform: perspective(400px);
  }
}
.flipInX {
  backface-visibility: visible !important;
  animation-name: flipInX;
}
@keyframes flipInY {
  from {
    transform: perspective(400px) rotate3d(0, 1, 0, 90deg);
    animation-timing-function: ease-in;
    opacity: 0;
  }

  40% {
    transform: perspective(400px) rotate3d(0, 1, 0, -20deg);
    animation-timing-function: ease-in;
  }

  60% {
    transform: perspective(400px) rotate3d(0, 1, 0, 10deg);
    opacity: 1;
  }

  80% {
    transform: perspective(400px) rotate3d(0, 1, 0, -5deg);
  }

  to {
    transform: perspective(400px);
  }
}
.flipInY {
  backface-visibility: visible !important;
  animation-name: flipInY;
}
@keyframes flipOutX {
  from {
    transform: perspective(400px);
  }

  30% {
    transform: perspective(400px) rotate3d(1, 0, 0, -20deg);
    opacity: 1;
  }

  to {
    transform: perspective(400px) rotate3d(1, 0, 0, 90deg);
    opacity: 0;
  }
}
.flipOutX {
  animation-name: flipOutX;
  backface-visibility: visible !important;
}
@keyframes flipOutY {
  from {
    transform: perspective(400px);
  }

  30% {
    transform: perspective(400px) rotate3d(0, 1, 0, -15deg);
    opacity: 1;
  }

  to {
    transform: perspective(400px) rotate3d(0, 1, 0, 90deg);
    opacity: 0;
  }
}
.flipOutY {
  backface-visibility: visible !important;
  animation-name: flipOutY;
}
@keyframes lightSpeedIn {
  from {
    transform: translate3d(100%, 0, 0) skewX(-30deg);
    opacity: 0;
  }

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

  80% {
    transform: skewX(-5deg);
    opacity: 1;
  }

  to {
    transform: none;
    opacity: 1;
  }
}
.lightSpeedIn {
  animation-name: lightSpeedIn;
  animation-timing-function: ease-out;
}
@keyframes lightSpeedOut {
  from {
    opacity: 1;
  }

  to {
    transform: translate3d(100%, 0, 0) skewX(30deg);
    opacity: 0;
  }
}
.lightSpeedOut {
  animation-name: lightSpeedOut;
  animation-timing-function: ease-in;
}
@keyframes rotateIn {
  from {
    transform-origin: center;
    transform: rotate3d(0, 0, 1, -200deg);
    opacity: 0;
  }

  to {
    transform-origin: center;
    transform: none;
    opacity: 1;
  }
}
.rotateIn {
  animation-name: rotateIn;
}
@keyframes rotateInDownLeft {
  from {
    transform-origin: left bottom;
    transform: rotate3d(0, 0, 1, -45deg);
    opacity: 0;
  }

  to {
    transform-origin: left bottom;
    transform: none;
    opacity: 1;
  }
}
.rotateInDownLeft {
  animation-name: rotateInDownLeft;
}
@keyframes rotateInDownRight {
  from {
    transform-origin: right bottom;
    transform: rotate3d(0, 0, 1, 45deg);
    opacity: 0;
  }

  to {
    transform-origin: right bottom;
    transform: none;
    opacity: 1;
  }
}
.rotateInDownRight {
  animation-name: rotateInDownRight;
}
@keyframes rotateInUpLeft {
  from {
    transform-origin: left bottom;
    transform: rotate3d(0, 0, 1, 45deg);
    opacity: 0;
  }

  to {
    transform-origin: left bottom;
    transform: none;
    opacity: 1;
  }
}
.rotateInUpLeft {
  animation-name: rotateInUpLeft;
}
@keyframes rotateInUpRight {
  from {
    transform-origin: right bottom;
    transform: rotate3d(0, 0, 1, -90deg);
    opacity: 0;
  }

  to {
    transform-origin: right bottom;
    transform: none;
    opacity: 1;
  }
}
.rotateInUpRight {
  animation-name: rotateInUpRight;
}
@keyframes rotateOut {
  from {
    transform-origin: center;
    opacity: 1;
  }

  to {
    transform-origin: center;
    transform: rotate3d(0, 0, 1, 200deg);
    opacity: 0;
  }
}
.rotateOut {
  animation-name: rotateOut;
}
@keyframes rotateOutDownLeft {
  from {
    transform-origin: left bottom;
    opacity: 1;
  }

  to {
    transform-origin: left bottom;
    transform: rotate3d(0, 0, 1, 45deg);
    opacity: 0;
  }
}
.rotateOutDownLeft {
  animation-name: rotateOutDownLeft;
}
@keyframes rotateOutDownRight {
  from {
    transform-origin: right bottom;
    opacity: 1;
  }

  to {
    transform-origin: right bottom;
    transform: rotate3d(0, 0, 1, -45deg);
    opacity: 0;
  }
}
.rotateOutDownRight {
  animation-name: rotateOutDownRight;
}
@keyframes rotateOutUpLeft {
  from {
    transform-origin: left bottom;
    opacity: 1;
  }

  to {
    transform-origin: left bottom;
    transform: rotate3d(0, 0, 1, -45deg);
    opacity: 0;
  }
}
.rotateOutUpLeft {
  animation-name: rotateOutUpLeft;
}
@keyframes rotateOutUpRight {
  from {
    transform-origin: right bottom;
    opacity: 1;
  }

  to {
    transform-origin: right bottom;
    transform: rotate3d(0, 0, 1, 90deg);
    opacity: 0;
  }
}
.rotateOutUpRight {
  animation-name: rotateOutUpRight;
}
@keyframes hinge {
  0% {
    transform-origin: top left;
    animation-timing-function: ease-in-out;
  }

  20%, 60% {
    transform: rotate3d(0, 0, 1, 80deg);
    transform-origin: top left;
    animation-timing-function: ease-in-out;
  }

  40%, 80% {
    transform: rotate3d(0, 0, 1, 60deg);
    transform-origin: top left;
    animation-timing-function: ease-in-out;
    opacity: 1;
  }

  to {
    transform: translate3d(0, 700px, 0);
    opacity: 0;
  }
}
.hinge {
  animation-name: hinge;
}
/* originally authored by Nick Pettit - https://github.com/nickpettit/glide */
@keyframes rollIn {
  from {
    opacity: 0;
    transform: translate3d(-100%, 0, 0) rotate3d(0, 0, 1, -120deg);
  }

  to {
    opacity: 1;
    transform: none;
  }
}
.rollIn {
  animation-name: rollIn;
}
/* originally authored by Nick Pettit - https://github.com/nickpettit/glide */
@keyframes rollOut {
  from {
    opacity: 1;
  }

  to {
    opacity: 0;
    transform: translate3d(100%, 0, 0) rotate3d(0, 0, 1, 120deg);
  }
}
.rollOut {
  animation-name: rollOut;
}
@keyframes zoomIn {
  from {
    opacity: 0;
    transform: scale3d(.3, .3, .3);
  }

  50% {
    opacity: 1;
  }
}
.zoomIn {
  animation-name: zoomIn;
}
@keyframes zoomInDown {
  from {
    opacity: 0;
    transform: scale3d(.1, .1, .1) translate3d(0, -1000px, 0);
    animation-timing-function: cubic-bezier(0.550, 0.055, 0.675, 0.190);
  }

  60% {
    opacity: 1;
    transform: scale3d(.475, .475, .475) translate3d(0, 60px, 0);
    animation-timing-function: cubic-bezier(0.175, 0.885, 0.320, 1);
  }
}
.zoomInDown {
  animation-name: zoomInDown;
}
@keyframes zoomInLeft {
  from {
    opacity: 0;
    transform: scale3d(.1, .1, .1) translate3d(-1000px, 0, 0);
    animation-timing-function: cubic-bezier(0.550, 0.055, 0.675, 0.190);
  }

  60% {
    opacity: 1;
    transform: scale3d(.475, .475, .475) translate3d(10px, 0, 0);
    animation-timing-function: cubic-bezier(0.175, 0.885, 0.320, 1);
  }
}
.zoomInLeft {
  animation-name: zoomInLeft;
}
@keyframes zoomInRight {
  from {
    opacity: 0;
    transform: scale3d(.1, .1, .1) translate3d(1000px, 0, 0);
    animation-timing-function: cubic-bezier(0.550, 0.055, 0.675, 0.190);
  }

  60% {
    opacity: 1;
    transform: scale3d(.475, .475, .475) translate3d(-10px, 0, 0);
    animation-timing-function: cubic-bezier(0.175, 0.885, 0.320, 1);
  }
}
.zoomInRight {
  animation-name: zoomInRight;
}
@keyframes zoomInUp {
  from {
    opacity: 0;
    transform: scale3d(.1, .1, .1) translate3d(0, 1000px, 0);
    animation-timing-function: cubic-bezier(0.550, 0.055, 0.675, 0.190);
  }

  60% {
    opacity: 1;
    transform: scale3d(.475, .475, .475) translate3d(0, -60px, 0);
    animation-timing-function: cubic-bezier(0.175, 0.885, 0.320, 1);
  }
}
.zoomInUp {
  animation-name: zoomInUp;
}
@keyframes zoomOut {
  from {
    opacity: 1;
  }

  50% {
    opacity: 0;
    transform: scale3d(.3, .3, .3);
  }

  to {
    opacity: 0;
  }
}
.zoomOut {
  animation-name: zoomOut;
}
@keyframes zoomOutDown {
  40% {
    opacity: 1;
    transform: scale3d(.475, .475, .475) translate3d(0, -60px, 0);
    animation-timing-function: cubic-bezier(0.550, 0.055, 0.675, 0.190);
  }

  to {
    opacity: 0;
    transform: scale3d(.1, .1, .1) translate3d(0, 2000px, 0);
    transform-origin: center bottom;
    animation-timing-function: cubic-bezier(0.175, 0.885, 0.320, 1);
  }
}
.zoomOutDown {
  animation-name: zoomOutDown;
}
@keyframes zoomOutLeft {
  40% {
    opacity: 1;
    transform: scale3d(.475, .475, .475) translate3d(42px, 0, 0);
  }

  to {
    opacity: 0;
    transform: scale(.1) translate3d(-2000px, 0, 0);
    transform-origin: left center;
  }
}
.zoomOutLeft {
  animation-name: zoomOutLeft;
}
@keyframes zoomOutRight {
  40% {
    opacity: 1;
    transform: scale3d(.475, .475, .475) translate3d(-42px, 0, 0);
  }

  to {
    opacity: 0;
    transform: scale(.1) translate3d(2000px, 0, 0);
    transform-origin: right center;
  }
}
.zoomOutRight {
  animation-name: zoomOutRight;
}
@keyframes zoomOutUp {
  40% {
    opacity: 1;
    transform: scale3d(.475, .475, .475) translate3d(0, 60px, 0);
    animation-timing-function: cubic-bezier(0.550, 0.055, 0.675, 0.190);
  }

  to {
    opacity: 0;
    transform: scale3d(.1, .1, .1) translate3d(0, -2000px, 0);
    transform-origin: center bottom;
    animation-timing-function: cubic-bezier(0.175, 0.885, 0.320, 1);
  }
}
.zoomOutUp {
  animation-name: zoomOutUp;
}
@keyframes slideInDown {
  from {
    transform: translate3d(0, -100%, 0);
    visibility: visible;
  }

  to {
    transform: translate3d(0, 0, 0);
  }
}
.slideInDown {
  animation-name: slideInDown;
}
@keyframes slideInLeft {
  from {
    transform: translate3d(-100%, 0, 0);
    visibility: visible;
  }

  to {
    transform: translate3d(0, 0, 0);
  }
}
.slideInLeft {
  animation-name: slideInLeft;
}
@keyframes slideInRight {
  from {
    transform: translate3d(100%, 0, 0);
    visibility: visible;
  }

  to {
    transform: translate3d(0, 0, 0);
  }
}
.slideInRight {
  animation-name: slideInRight;
}
@keyframes slideInUp {
  from {
    transform: translate3d(0, 100%, 0);
    visibility: visible;
  }

  to {
    transform: translate3d(0, 0, 0);
  }
}
.slideInUp {
  animation-name: slideInUp;
}
@keyframes slideOutDown {
  from {
    transform: translate3d(0, 0, 0);
  }

  to {
    visibility: hidden;
    transform: translate3d(0, 100%, 0);
  }
}
.slideOutDown {
  animation-name: slideOutDown;
}
@keyframes slideOutLeft {
  from {
    transform: translate3d(0, 0, 0);
  }

  to {
    visibility: hidden;
    transform: translate3d(-100%, 0, 0);
  }
}
.slideOutLeft {
  animation-name: slideOutLeft;
}
@keyframes slideOutRight {
  from {
    transform: translate3d(0, 0, 0);
  }

  to {
    visibility: hidden;
    transform: translate3d(100%, 0, 0);
  }
}
.slideOutRight {
  animation-name: slideOutRight;
}
@keyframes slideOutUp {
  from {
    transform: translate3d(0, 0, 0);
  }

  to {
    visibility: hidden;
    transform: translate3d(0, -100%, 0);
  }
}
.slideOutUp {
  animation-name: slideOutUp;
}
