/*Fonts*/
@font-face { font-family: 'panton'; src: url('../fonts/panton-light-italic.woff') format('woff'); font-weight: 300; font-style: normal; }
@font-face { font-family: 'panton'; src: url('../fonts/panton-regular-italic.woff') format('woff'); font-weight: 400; font-style: normal; }
@font-face { font-family: 'panton'; src: url('../fonts/panton-bold-italic.woff') format('woff'); font-weight: 600; font-style: normal; }
@font-face { font-family: 'panton'; src: url('../fonts/panton-extrabold-italic.woff') format('woff'); font-weight: 700; font-style: normal; }
@font-face { font-family: 'panton'; src: url('../fonts/panton-black-italic.woff') format('woff'); font-weight: 800; font-style: normal; }
@font-face { font-family: 'panton'; src: url('../fonts/panton-heavy-italic.woff') format('woff'); font-weight: 900; font-style: normal; }
@font-face { font-family: 'source_sans_pro'; src: url('../fonts/sourcesanspro-regular.woff') format('woff'); font-weight: 400; font-style: normal; }
@font-face { font-family: 'source_sans_pro'; src: url('../fonts/sourcesanspro-semibold.woff') format('woff'); font-weight: 500; font-style: normal; }
@font-face { font-family: 'source_sans_pro'; src: url('../fonts/sourcesanspro-black.woff') format('woff'); font-weight: 800; font-style: normal; }

/*Reset*/
a,abbr,acronym,address,applet,article,aside,audio,b,big,blockquote,body,canvas,caption,center,cite,code,dd,del,details,dfn,div,dl,dt,em,embed,fieldset,figcaption,figure,footer,form,h1,h2,h3,h4,h5,h6,header,hgroup,html,i,iframe,img,ins,kbd,label,legend,li,mark,menu,nav,object,ol,output,p,pre,q,ruby,s,samp,section,small,span,strike,strong,sub,summary,sup,table,tbody,td,tfoot,th,thead,time,tr,tt,u,ul,var,video{margin:0;padding:0;border:0;font:inherit;vertical-align:baseline}article,aside,details,figcaption,figure,footer,header,hgroup,menu,nav,section{display:block}body{line-height:1}ol,ul{list-style:none}blockquote,q{quotes:none}blockquote:after,blockquote:before,q:after,q:before{content:'';content:none}table{border-collapse:collapse;border-spacing:0}
html { box-sizing: border-box; }
*, *:before, *:after { box-sizing: inherit; }
input, button {
  -webkit-appearance: none;
}

/*Common*/
html {overflow-y: scroll;}
body { background: #f1f3f8 !important; }
.container { margin: 0 auto; width: 80%; }
.clearfix:after {content:"";display:table;clear:both;}
p, h1, h2, h3, h4, span, a, input { font-family: 'panton', sans-serif; font-weight: 400; color: #323640; font-size: 15px; text-decoration: none; }
input { outline: none!important; }
.margin-top-20 { margin-top: 20px; }

.btn { display: inline-block; border: none; line-height: 50px; border-radius: 8px; font-weight: 700; text-align: center; cursor: pointer; transition: all .3s; -webkit-transition: all .3s; box-sizing:border-box; -moz-box-sizing:border-box; -webkit-box-sizing:border-box; }
.btn.btn--nav { position: relative;  margin: 0 20px; font-size: 16px; font-weight: 400; }
.btn.btn--nav:after { position: absolute; bottom: 15px; left: 0; width: 0; height: 1px; content: ""; transition: all .15s; -webkit-transition: all .15s; background: #000; }
.no-touch .btn.btn--nav:hover:after { width: 100%; }
.btn.btn--nav-highlight { padding: 0 20px; background: #fff; color: #323640; font-weight: 400; }
.btn.btn--nav-highlight:hover { color: #fff; background: #7e00ff; }
.btn.btn--default { padding: 0 25px; background: #00ffb5; color: #323640; }
.btn.btn--default:hover { background: #00e6a4; }
.btn.btn--disabled, .btn.btn--disabled:hover { background: #F1F3F8; cursor: default; }
.btn.btn--simple { position: relative; margin: 0 25px; color: #fff; }
.btn.btn--simple:after { position: absolute; bottom: 15px; left: 0; width: 0; height: 1px; content: ""; transition: all .15s; -webkit-transition: all .15s; background: #fff; }
.btn.btn--simple:hover:after { width: 100%; }
/*
.btn.btn--dark { background: #323640; color: #fff; }
.btn.btn--light { background: #fff; color: #323640; }
.btn.btn--trans { border: solid 2px #7e00ff; color: #7e0fff; }/*
.btn--underline { position: relative; }
.btn--underline:after { content: ""; position: absolute; left: 22px; right: 22px; bottom: 15px; height: 1px; background: #7e00ff; transition: opacity .3s; -webkit-transition: opacity .3s; }
.btn--underline:hover { opacity: 0.7 }
.btn--underline:hover:after { opacity: 0; }
.btn--outline { border: solid 2px transparent; }
.btn--outline:hover { border-color: #7e00ff; }
*/
.pull-right { text-align: right; }
.float-right { float: right; }
.center { text-align: center; }

/*Dropdown selector (for language selection)*/
div.dropdown-selector { display: inline-block; }
.dropdown-selector ul { display: block; position: relative; border: none; background: #f1f3f8; list-style: none; }
.dropdown-selector li { cursor: pointer; width: 100%; }
.dropdown-selector li a { display: block; background: #f1f3f8; line-height: 50px; padding: 0 25px; text-align: left; text-decoration: none; transition: all .25s ease; }
.dropdown-selector li ul { position: absolute; visibility: hidden; opacity: 0; z-index: 1; width: 250px; transition: all .25s ease; border-radius: 0 0 20px 20px; }
.dropdown-selector li:hover ul { opacity: 1; visibility: visible; }
.dropdown-selector li ul li:last-child { border-radius: 0 0 20px 20px; }
.dropdown-selector li ul li a:hover { background: #bbb; }
.dropdown-selector li ul li a { border-radius: inherit; }

/*Header*/
.site-header { padding: 7% 20px 3%; transition: padding .3s; -webkit-transition: padding .3s; }
.site-header.overlay { padding: 10px 20px 10px; }
.site-header nav { float: right; }
.site-header nav .btn:last-child { margin-right: 0; }
header .logo { float: left; font-size: 0; height: 50px; width: 142px; background: url('../images/logo.svg') center no-repeat; background-size: contain; cursor: pointer; }
.fixed-header { display: table; position: absolute; top: 0; left: 10%; width: 80%; height: 10%; padding: 0 20px; }
.fixed-header-inner { display: table-cell; vertical-align: middle; }

/*Hero*/
.hero { position: relative; background: url('../images/herobg.jpg') center no-repeat; background-size: cover; border-radius: 20px 20px 0 0; padding-top: 60%; }
.hero .content-holder { position: absolute; top: 50%; left: 0; bottom: 0; right: 0; }
.hero .content { position: relative; top:0; left: 0; transform: translateY(-40%); padding: 0 80px; }
.hero p, .hero h1 { margin-bottom: 30px; color: #fff; }
.hero h1 { font-size: 82px; font-weight: 900; }
.hero p:first-child { margin-bottom: 10px; }

/*Registration*/
.registration { padding: 90px 80px 110px; background: #323640; z-index: 10; transition: border-radius .3s; -webkit-transition: border-radius .3s; }
.registration h2 { color: #fff; font-size: 20px; font-weight: 700; margin-bottom: 30px; transition: all .5s; -webkit-transition: all .5s; }
.flex { display: table; width: 100%; }
.registration-mail, .registration-facebook { display: table-cell; }
.registration-mail { width: 100%; padding-right: 40px; font-size: 0; }
.registration-mail input { height: 50px; border: none; display: table-cell; width: 100%; border-radius: 8px 0 0 8px; padding: 0 30px; }
.registration-mail input.full-size { border-radius: 8px; max-width: 500px; }
.registration-mail .input-addon { display: table-cell; white-space: nowrap; width: 1%; height: 50px; vertical-align: top; overflow: hidden; }
.registration-mail .input-addon .btn { border-radius: 0 8px 8px 0; height: 50px; }
.registration-mail .btn .text { font-weight: 700; }
.registration-mail .btn .icon { display: none; }
.registration-mail .btn .icon img { vertical-align: middle; margin-top: -1px; }
.registration-facebook .btn { white-space: nowrap; font-weight: 600; background: #49639e; color: #fff; padding: 0 25px; }
.registration-facebook .btn img { vertical-align: middle; margin: -3px 8px 0 0; }
.registration-facebook p { font-family: 'source_sans_pro', sans-serif; font-size: 12px; color: #77787d; margin-top: 5px; text-align: center; }
.registration-facebook .btn:hover { opacity: 0.85; }
.registration p.error { color: #ff1500; font-family: "source_sans_pro",sans-serif; font-weight: 600; padding: 10px; }
.registration p.success { color: #00ef9d; font-family: "source_sans_pro",sans-serif; font-weight: 600; padding: 10px; }
.registration .login form { display: block; width: 100%; /*max-width: 800px; margin: 0 auto;*/ }
.registration .login input[type="email"], .registration .login input[type="password"] { height: 50px; border: none; display: block; width: 100%; border-radius: 8px; padding: 0 30px; }
.registration .login label { display: block; font-family: 'source_sans_pro', sans-serif; color: #fff; font-size: 15px; margin: 8px 0 4px; top: 0; padding: 0; transition: none; background: transparent;}
.registration .buttons { padding-top: 42px; }
.registration .buttons--center { padding-top: 42px; text-align: center;}
.registration .buttons--far { padding-top: 120px; }

.registration.overlay { position: absolute; left: 10%; width: 80%; border-radius: 20px;  }
.registration.overlay-width { width: 80%; }
.registration.overlay .history { display: table; font-family: 'source_sans_pro', sans-serif; text-align: left; font-size: 15px; color: #616673; font-weight: 400; margin-bottom: 30px; }
.registration.overlay .history .item { display: table-row; cursor: pointer; transition: color .3s; }
.registration.overlay .history .item:hover { color: #fff; }
.registration.overlay .history .item .name, .registration.overlay .history .item .value { display: table-cell; padding-bottom: 10px; }
.registration.overlay .history .item .name { padding-right: 32px; }
.registration.overlay h2 { text-align: left; font-size: 32px; color: #fff; font-weight: 700; margin-bottom: 16px; transition: all .2s; -webkit-transition: all .2s; }
.registration.overlay h2.spaced { margin-bottom: 50px; }
.registration.overlay h2.center { text-align: center; margin-top: 24px; }
.registration.overlay h3 { text-align: left; font-size: 24px; color: #fff; font-weight: 700; margin-bottom: 12px; transition: all .2s; -webkit-transition: all .2s; }
.registration.overlay p.description { font-family: 'source_sans_pro', sans-serif; text-align: left; font-size: 15px; color: #fff; font-weight: 400; margin-bottom: 50px; }
.registration.overlay p.description.center { font-family: 'panton', sans-serif; font-size: 22px; font-weight: 300; text-align: center; margin: 50px 0 24px; }

.registration.overlay .table { display: table; width: 100%; table-layout: fixed; margin-bottom: 40px; border-collapse: collapse; }
.registration.overlay .table .option { display: table-cell; vertical-align: middle; border-collapse: collapse; cursor: pointer; }
.registration.overlay .table .option .content { padding: 40px 0 26px; margin: 10px 0; color: #fff; border: solid 2px #363a44; transition: all .3s; -webkit-transition: all .3s; }
.registration.overlay .table .option .icon { width: 80px; fill: #fff; stroke: #fff; margin: 0 auto 42px; }
.registration.overlay .table .option .icon .svg-container { width: 100%; height: 0; padding-bottom: 100%; position: relative; }
.registration.overlay .table .option .icon .svg-container svg { position: absolute; height: 100%; width: 100%; left: 0; top: 0; }
.registration.overlay .table .option .icon .svg-container svg path {  transition: all .3s; -webkit-transition: all .3s; }
.registration.overlay .table .option h3 { color: inherit; font-size: 32px; font-weight: 700; text-align: center; margin-bottom: 38px; transition: all .3s; -webkit-transition: all .3s; }
.registration.overlay .table .option p { color: inherit; font-size: 16px; text-align: center; margin-bottom: 20px; }
.registration.overlay .table .option:hover .content { border-color: #fff; padding: 50px 0 36px; margin: 0; border-radius: 8px; }
.registration.overlay .table .option.active .content { position: relative; border-color: #00ef9d; padding: 50px 0 36px; margin: 0; border-radius: 8px; }
.registration.overlay .table .option.active .content:before { content: ""; position: absolute; top: 0; right: 0; width: 0; height: 0; border-style: solid; border-width: 0 60px 60px 0; border-color: transparent #00ef9d transparent transparent; }
.registration.overlay .table .option.active .content:after { content: ""; position: absolute; top: 0; right: 0; width: 36px; height: 36px; background: url('../images/tick.png') center no-repeat; }
.registration.overlay .table .option.active h3 { color: #00ef9d; }
.registration.overlay .table .option.active .icon { fill: #00ef9d; stroke: #00ef9d; }

.registration.overlay table { background-color: transparent; border: none; width: 33%; margin-bottom: 50px;}
.registration.overlay table thead { text-align: left; }
.registration.overlay table p { color: #fff; font-family: 'source_sans_pro', sans-serif; font-size: 15px; line-height: 20px;}

/*TODO use a class instead, and apply after first load*/

[ui-view].active.ng-enter, [ui-view].active.ng-leave { position: relative; }
[ui-view].active.ng-enter .view-wrapper, [ui-view].active.ng-leave .view-wrapper { position: absolute; top: 0; left: 0; width: 100%; }
[ui-view].active.ng-enter { transition: opacity .3s ease .3s; opacity: 0; }
[ui-view].active.ng-enter-active { opacity: 1; }
[ui-view].active.ng-leave { transition: opacity .3s ease; opacity: 1; }
[ui-view].active.ng-leave-active { opacity: 0; }

.fade-effect.ng-enter { transition: opacity .3s ease .3s; opacity: 0; }
.fade-effect.ng-enter-active { opacity: 1; }
.fade-effect.ng-leave { transition: opacity .3s ease; opacity: 1; }
.fade-effect.ng-leave-active { opacity: 0; }

.registration.overlay .text-input, .ui-select-search, .ui-select-toggle { height: 70px; border: none; width: 100%; border-radius: 8px; padding: 0 30px; background: #fff; font-size: 20px; }
.ui-select-container.open.choices .ui-select-search { border-radius: 8px 8px 0 0; }
.ui-select-match-text span, .ui-select-placeholder { font-size: 20px; line-height: 70px; }
.ui-select-placeholder { color: #999; }
.btn-default-focus { box-shadow: none!important; outline-offset: 0!important; border-radius: 8px; }
.ui-select-container { position: relative; }
.ui-select-choices { position: absolute; background: #fff; border-radius: 0 0 8px 8px; }
.ui-select-container.open .ui-select-choices { padding: 12px 0; }
.ui-select-choices-row { padding: 0 12px; }
.ui-select-choices-row { padding: 0 12px; }
.ui-select-choices-row a { line-height: 32px; }
.ui-select-choices-row.active a { border-radius: 5px; background: #7e00ff!important; }
.ui-select-highlight { color: inherit; }

.registration.overlay .ticket { position: relative; background: #fff; border-radius: 12px; padding: 30px 30px 30px 80px; }
.registration.overlay .ticket:before, .registration.overlay .ticket:after { position: absolute; top: 50%; height: 40px; width: 40px; margin-top: -20px; background: #323640; border-radius: 50%; content: ""; z-index: 10; }
.registration.overlay .ticket:before { left: -20px; }
.registration.overlay .ticket:after { right: -20px; }
.registration.overlay .ticket .strip { position: absolute; top: 0; bottom: 0; left: 0; width: 50px; background: #f2f2f2; border-radius: 12px 0 0 12px; }
.registration.overlay .ticket .ticket-details { display: table; }
.registration.overlay .ticket .ticket-details>div { display: table-cell; vertical-align: top; padding-right: 20px; }
.registration.overlay .ticket .ticket-details .ticket-info { width: 100%; font-size: 0; }
.registration.overlay .ticket .ticket-details p.label { font-family: 'source_sans_pro',sans-serif; font-size: 13px; margin-bottom: 8px; }
.registration.overlay .ticket .ticket-details .ticket-input { display: inline-block; width: 100%; font-family:'panton',sans-serif; font-size: 26px; border: 0; margin-bottom: 30px; }
.registration.overlay .ticket .ticket-details .ticket-input.price { width: 100px; margin-bottom: 0; padding-bottom: 5px; }
/*.registration.overlay .ticket .ticket-details .ticket-input.currency { width: 80px; margin-bottom: 0; }*/
.registration.overlay .ticket .ticket-details .ticket-input.currency { -webkit-appearance: none; -moz-appearance: none; appearance: none; border: none; background: url('../images/select-arrow.png') right no-repeat #fff; border-radius: 12px; width: 100px; margin-bottom: 0; color: #323640; cursor: pointer; }
.registration.overlay .ticket .ticket-details p.ticket-input.currency { background: none; cursor: default; }
.registration.overlay .ticket .ticket-details .ui-select-placeholder { display: none!important; }

.registration.overlay .ticket .ticket-details .ticket-image .image { width: 220px; height: 220px; background-color: #fff; background-position: center; background-repeat: no-repeat; background-size: cover; border-radius: 10px; transition: all .3s; -webkit-transition: all .3s; }
.registration.overlay .ticket .ticket-details .ticket-image .image:hover { background-color: #F2F2F2; /*cursor: pointer;*/ }
.registration.overlay .ticket .ticket-details .ticket-code .code { width: 220px; height: 220px; background: url('../images/qr-code.png') center no-repeat; background-size: contain; }

.registration.overlay .tickets-holder { position: relative; width: 100%; height: 360px; }
.registration.overlay .ticket.ticket-transform { position: absolute; max-width: 850px; width: 100%; left: 50%; box-shadow: 0px 6px 8px -4px rgba(0,0,0,0.2); }
.registration.overlay .ticket.ticket-transform-1 { top: 50px; transform: translateX(-50%) scale(0.7,0.7) rotate(-1deg); }
.registration.overlay .ticket.ticket-transform-2 { top: 25px; transform: translateX(-50%) scale(0.75,0.75); }
.registration.overlay .ticket.ticket-transform-3 { top: 0; transform: translateX(-50%) scale(0.8,0.8) rotate(1deg); }

.registration.overlay .btn--back { background: transparent; color: #616673; text-decoration: underline; padding: 0; transition: all .3s; -webkit-transition: all .3s; }
.registration.overlay .btn--back:hover { color: #fff; }
.registration.overlay .btn--next { background: #00ffb5; color: #323640; transition: all .3s; -webkit-transition: all .3s; padding: 0 25px; }
.registration.overlay .btn--next:hover { background: #00e6a4; }
.registration.overlay .btn--next:disabled { opacity: 0.3; background: #00ffb5; cursor: default; }

[date-picker] .now { background: transparent; color: #8b96b2; text-shadow: none; }
[date-picker] .now:hover, [date-picker] .now:active, [date-picker] .now.active, [date-picker] .now.disabled, [date-picker] .now[disabled] { background: #eeeeee; color: #8b96b2; text-shadow: none; }
[date-picker] .disabled { color: #ddd!important; }
[date-picker] span { font-family: "Open Sans", sans-serif; font-size: 13px; font-weight: 600; /*padding: 0 12px; margin: 4px;*/ color: #8b96b2; }
[date-picker] th { color: #000; font-size: 14px; font-family: "Panton", sans-serif; font-weight: 600; line-height: 20px; }
[date-picker] th[ng-click="prev()"], [date-picker] th[ng-click="next()"], th[ng-click="prev(24)"], [date-picker] th[ng-click="next(24)"] { font-size: 20px; background: #f2f2f2; /*padding: 0;*/ }
[date-picker] thead tr:last-child th:hover { background: transparent; cursor: default; }
[date-picker] .active:hover, [date-picker] .now:hover, [date-picker] .active:active, [date-picker] .now:active, [date-picker] .active.active, [date-picker] .now.active, [date-picker] .active.disabled,
[date-picker] .now.disabled, [date-picker] .active[disabled], [date-picker] .now[disabled] { color: #ffffff; background: #7e00ff; }

.ui-select-container.currency { display: inline-block; max-width: 120px; }
.ui-select-container.currency .ui-select-toggle { background: #FFF url("../images/select-arrow.png") no-repeat right bottom; }
.ui-select-container.currency .ui-select-match-text span, .ui-select-container.currency .ui-select-placeholder { font-size: 26px; line-height: 26px; }
.ui-select-container.currency .registration.overlay .text-input, .ui-select-container.currency .ui-select-search, .ui-select-container.currency .ui-select-toggle { font-size: 26px; line-height: 26px; height: 32px; }
.ui-select-choices-row.active span { color: #fff!important; }
.ui-select-container.currency .ui-select-search { padding-bottom: 6px; }

  /*Features*/
.features { background: #fff; padding: 50px 40px; text-align: center; }
.features h2 { font-size: 0; }
.feature { display: inline-block; width: 33%; padding: 5% 3%; text-align: center; vertical-align: top; }
.feature h3 { font-size: 32px; font-weight: 800; margin: 32px 0 16px; }
.feature p { font-family: 'source_sans_pro', sans-serif; font-weight: 500; }
.feature .feature-icon { width: 30%; padding-bottom: 30%; margin: 0 auto; background-position: center; background-repeat: no-repeat; background-size: contain; }
.feature .feature-1 { background-image: url('../images/feature-1.svg'); }
.feature .feature-2 { background-image: url('../images/feature-2.svg'); }
.feature .feature-3 { background-image: url('../images/feature-3.svg'); }
.feature .feature-4 { background-image: url('../images/feature-4.svg'); }
.feature .feature-5 { background-image: url('../images/feature-5.svg'); }
.feature .feature-6 { background-image: url('../images/feature-6.svg'); }

/*Pricing*/
.pricing { background: #fff; padding: 80px; border-radius: 0 0 20px 20px; }
.pricing h2 { text-align: center; font-size: 48px; font-weight: 800; margin-bottom: 16px; }
.pricing p { text-align: center; font-family: 'source_sans_pro', sans-serif; }
.pricing .pricing-table { display: table; width: 100%; table-layout: fixed; margin-top: 92px; color: #323640; }
.pricing .pricing-table .option-cell { display: table-cell; vertical-align: middle; }
.pricing .pricing-table .option { }
.pricing .pricing-table .option h3 { color: inherit; line-height: 120px; font-size: 32px; font-weight: 800; text-align: center; }
.pricing .pricing-table .option .details { padding-top: 24px; }
.pricing .pricing-table .medium .details { padding-top: 4px; }
.pricing .pricing-table .small { background: #EBEBF3; border-radius: 20px 0 0 20px; }
.pricing .pricing-table .medium { background: #00EF9E; border-radius: 20px; }
.pricing .pricing-table .medium h3 { line-height: 32px; padding-top: 40px; }
.pricing .pricing-table .medium .inactive-fee { font-size: 16px; font-weight: 400; padding-bottom: 40px; padding-top: 6px; text-decoration: line-through; }
.pricing .pricing-table .large { background: #D8DBE4; }
.pricing .pricing-table .partners { background: #EBEBF3; border-radius: 0 20px 20px 0; }
.pricing .pricing-table .details p { padding-bottom: 24px; }
.pricing .pricing-table .option .price { position: relative; font-family: 'Panton', sans-serif; font-size: 40px; font-weight: 300; text-transform: uppercase; padding: 16px 0; height: 90px; }
.pricing .pricing-table .small .price { font-size: 24px; padding-top: 30px; }
.pricing .pricing-table .medium .price { min-height: 112px; }
.pricing .pricing-table .option .price .period { display: block; }
.pricing .pricing-table .medium .details { padding-bottom: 24px; }
.pricing .pricing-table .option .fee strong { display: inline-block; margin-top: 7px; }
.pricing .pricing-table .option .fee.custom { padding-top: 10px; padding-bottom: 36px; }
.pricing .pricing-table .price-overlay { position: absolute; left: -10px; right: -10px; top: -20px; background: #7E00FF; color: #fff; font-size: 28px; font-weight: 500; text-transform: none; text-align: center; line-height: 100px; transform: skewY(-8deg); }
.pricing .pricing-table .price-overlay:before, .pricing .pricing-table .price-overlay:after { position: absolute; bottom: -9px; width: 10px; height: 10px; background: #303747; content: ""; }
.pricing .pricing-table .price-overlay:before { left: 0; border-radius: 0 0 0 100%; }
.pricing .pricing-table .price-overlay:after { right: 0; border-radius: 0 0 100% 0; }
.pricing .pricing-table .pricing-button { padding: 40px 0; min-height: 130px; }
.pricing .pricing-table .btn { width: 80%; font-weight: 400; background: #fff; color: #0f0d0e; }
.pricing .pricing-table .btn.bold { font-weight: 700; }
.pricing .pricing-table .option strong { font-weight: 600; }

/*Dashboard and doorman pages*/
.layout { display: table; width: 100%; }
.layout .column { display: table-cell; width: 50%; position: relative; vertical-align: middle; }
.layout h2 { text-align: center; font-size: 36px; font-weight: 800; margin-bottom: 16px; }
.layout p { text-align: center; font-size: 16px; font-family: 'source_sans_pro', sans-serif; }

.dashboard { background: #00ffb9; }
.dashboard .left { text-align: center; padding-left: 30px; }
.dashboard .right {  padding-bottom: 50%; }
.dashboard .layout { background-image: url('../images/laptop.png'); background-repeat: no-repeat; background-position: 180% 50%; background-size: 70%; }
.dashboard .button { padding: 0 30px; line-height: 50px; display: inline-block; background: #FFF; color: #323640; font-weight: 700; border-radius: 5px; margin-top: 40px; cursor: pointer; }

.doorman { background: #ffffff; border-radius: 0 0 20px 20px; }
.doorman .doorman-icons { font-size: 0; margin: 40px 0 20px; text-align: center; }
.doorman .doorman-icons img { display: inline-block; margin: 10px; }
.doorman .left { background: url('../images/phones.png') no-repeat center; background-size: 80%; }
.doorman .right { padding: 20% 25px; }

/*Progress footer*/
footer .progress { display: table; width: 100%; padding: 25px 0; }
footer .bar { display: table-cell; width: 100%; }
footer .percentage { height: 6px; background: #747a88; border-radius: 3px; transition: width .4s; -webkit-transition: width .4s; }
/*
footer .percentage-0 { width: 0; }
footer .percentage-1 { width: 16.6%; }
footer .percentage-2 { width: 33.3%; }
footer .percentage-3 { width: 50%; }
footer .percentage-4 { width: 66.6%; }
footer .percentage-5 { width: 83.3%; }
*/
footer .percentage-0 { width: 0; }
footer .percentage-1 { width: 14%; }
footer .percentage-2 { width: 28%; }
footer .percentage-3 { width: 43%; }
footer .percentage-4 { width: 57%; }
footer .percentage-5 { width: 71%; }
footer .percentage-6 { width: 86%; }
footer .percentage-7 { width: 100%; }
footer .page { display: table-cell; width: 1%; padding-left: 20px; font-weight: 700; color: #747881; }

/*Spinner*/
.spinner { margin: 15px auto 0; width: 70px; text-align: center; }
.spinner > div { width: 18px; height: 18px; background-color: #00FFB5; border-radius: 100%; display: inline-block; animation: bouncedelay 1.4s infinite ease-in-out;
  /* Prevent first frame from flickering when animation starts */ animation-fill-mode: both; }
.spinner .bounce1 { animation-delay: -0.32s; }
.spinner .bounce2 { animation-delay: -0.16s; }
@keyframes bouncedelay {  0%, 80%, 100% { transform: scale(0.0); -webkit-transform: scale(0.0); } 40% { transform: scale(1.0);  -webkit-transform: scale(1.0); } }


/*Footer*/
.site-footer { padding: 3% 20px 7%; }
.site-footer .btn { font-size: 16px; font-weight: 400; }
.site-footer nav { float: right; }
.site-footer .copyright { float: left; line-height: 50px; color: #a9acb7; }
.site-footer .btn--footer-highlight { color: #7e00ff; }
.site-footer .btn--footer-highlight:after { background: #7e00ff; }

/*Fade animations*/
.fade.overlay { display: none }
.fade.overlay-add { display: block; transition: opacity .3s; opacity: 1; }
.fade.overlay-add-active { opacity: 0; }
.fade.overlay-remove { transition: opacity .3s; display: block; opacity: 0; }
.fade.overlay-remove-active { opacity: 1; }

/*Responsive breakpoints*/
@media (max-width: 1419px) {
  .hero h1 { font-size: 60px; }
  .feature { width: 49%; }
  .pricing { padding: 80px 0 0; }
  .pricing .pricing-table .price-overlay { font-size: 24px; }
  .pricing .pricing-table .medium .price { min-height: 88px; }
  .pricing .pricing-table .medium .details { padding-bottom: 0; padding-top: 24px; }
  .pricing .pricing-table .medium { padding-top: 0; border-radius: 0; }
  .pricing .pricing-table .small { border-radius: 0 0 0 20px; }
  .pricing .pricing-table .partners { border-radius: 0 0 20px 0; }
  .pricing .pricing-table .medium .inactive-fee { padding-bottom: 26px; }
  .registration.overlay table { width: 50%;}
}
@media (max-width: 1239px) {
  .registration.overlay .ticket .ticket-details .ticket-code { display: none; }
}
@media (max-width: 1119px) {
  .container { width: 86%; }
  .registration.overlay, .registration.overlay-width { width: 86%; left: 7%; }
  .registration.overlay table { width: 66%;}
  .hero .content { padding: 0 50px; }
  .hero p, .hero h1 { margin-bottom: 20px; }
  .hero p:first-child { margin-bottom: 2px; }
  .hero h1 { font-size: 52px; }
  .registration { padding: 70px 50px 90px; }
  .features { padding: 50px 25px; }
  .layout h2 { font-size: 32px; }
  .pricing .pricing-table .option h3 { font-size: 28px; }
  .pricing .pricing-table .option p { padding-bottom: 20px; }
  .pricing .pricing-table .pricing-button { padding: 20px 0; min-height: 112px; }
  .pricing .pricing-table .price-overlay { line-height: 80px; top: -10px; }
  .site-footer .btn { margin: 0 15px; }
}
@media (max-width: 959px) {
  .site-header { padding: 10px 30px; }
  .site-header nav .desktop { display: none!important; }
  .site-header nav .desktop { display: none!important; }
  .hero { border-radius: 15px 15px 0 0; }
  .hero .content { padding: 0 30px; }
  .hero p, .hero h1 { margin-bottom: 16px; }
  .hero p:first-child { margin-bottom: 4px; }
  .hero h1 { font-size: 44px; }
  .registration { padding: 50px 30px; }
  .registration .btn .text { display: none; }
  .registration .btn .icon { display: inline; }
  .registration-mail .btn.btn--default { padding: 0 17px; }
  .registration.overlay .ticket .ticket-details .ticket-image { display: none; }
  .registration.overlay .table .option .icon { display: none; }
  .registration.overlay .table .option h3 { margin: 0; padding: 20px 0 24px; }
  .registration.overlay .table .option .content, .registration.overlay .table .option .content:hover, .registration.overlay .table .option.active .content { padding: 0; }
  .registration.overlay .table .option:hover .content { margin: 10px 0; }
  .registration.overlay table { width: 82%;}
  .features { padding: 30px 15px; }
  .feature { padding: 40px 20px; }
  .feature h3 { margin-top: 30px; font-size: 28px; }
  .layout h2 { font-size: 26px; }
  .pricing { padding: 50px 30px; border-radius: 0 0 15px 15px; }
  .pricing h2 { font-size: 38px; }
  .pricing .pricing-table, .pricing .pricing-table .option-cell { display: block; }
  .accordeon, .accordeon .option { display: block!important; }
  .pricing .pricing-table .pricing-button { padding: 10px 0; min-height: 0; }
  .pricing .pricing-table .price-overlay { top: 0; border-radius: 5px 5px 0 0; transform: skewY(0deg); }
  .pricing .pricing-table .option .price { min-height: 0; padding: 0; line-height: 60px; height: 60px; }
  .pricing .pricing-table .medium .price { height: 92px; }
  .pricing .pricing-table .partners .price { height: 0; }
  .pricing .pricing-table .option .price .period { display: inline; }
  .pricing .pricing-table .small .pricing-button { display: none; }
  .pricing .pricing-table .option { border-radius: 8px; margin-bottom: 12px; }
  .pricing .pricing-table .option h3 {line-height: 60px; font-size: 22px; cursor: pointer; font-weight: 700; }
  .pricing .pricing-table .medium h3 { padding-top: 0; }
  .pricing .pricing-table .option .details { border-radius: 0; padding-top: 16px; border-top: none; }
  .pricing .pricing-table .option p { padding-bottom: 18px; }
  .pricing .pricing-table .option .fee.custom { padding-bottom: 18px; padding-top: 0; }
  .site-footer .copyright, .site-footer nav { float: none; text-align: center; font-size: 14px; }
  .site-footer nav .btn { margin: 0 10px; font-size: 14px;}
}
@media (max-width: 799px) {
  .registration>.flex, .registration-mail, .registration-facebook { display: block; }
  .registration-mail { padding-right: 0; margin-bottom: 12px; }
  .registration-facebook p { text-align: center; margin-left: 0; }
  .registration-facebook .btn { display: block; }
}
@media (max-width: 639px) {
  .hero { padding-top: 330px; border-radius: 12px 12px 0 0; }
  .hero p, .hero h1 { margin-bottom: 16px; }
  .hero p:first-child { margin-bottom: 4px; }
  .hero h1 { font-size: 32px; }
  .hero .btn { display: none; }
  /*.hero:before { position: absolute; top:0; left:0; right:0; bottom:0; content: ""; background: #9397A0; opacity: 0.5; border-radius: 12px 12px 0 0; }*/
  .registration.overlay .ticket { padding: 16px; }
  .registration.overlay .ticket:before, .registration.overlay .ticket:after, .registration.overlay .ticket .strip { display: none; }
  .registration.overlay .table .option h3 { font-size: 24px; padding: 18px 0 22px; }
  .registration.overlay table { width: 100%;}
  .feature { width: 100%; }
  .dashboard .layout, .dashboard .column, .doorman .layout, .doorman .column { display: block; width: 100%; }
  .dashboard .layout, .dashboard .column { background: transparent; }
  .doorman .layout { padding-top: 30px; }
  .doorman .column.left { padding-bottom: 50%; background-size: contain; }
  .doorman .column.right { padding: 10% 15px; }
  .dashboard .left { padding: 60% 20px 35px; background-image: url('../images/laptop.png'); background-repeat: no-repeat; background-position: 50% 20%; background-size: 70%; }
  .dashboard .right { padding: 0; }
  .pricing h2 { font-size: 30px; }
  .pricing .pricing-table .price-overlay { font-size: 20px; }
  .site-footer nav .btn { height: 30px; line-height: 30px; }
  .site-footer nav .btn:after { bottom: 5px; }
}
@media (max-width: 419px) {
  .site-header .logo { width: 120px; }
  .container { width: 100%; }
  .registration.overlay, .registration.overlay-width { width: calc(100% - 20px); left: 10px; }
  body { padding: 0 10px; }
  .btn--default { padding: 0 20px; }
  .site-header { padding: 10px 20px; }
  .hero { padding-top: 280px; }
  .hero .content { padding: 0 20px; }
  .hero h1 { font-size: 22px; font-weight: 800; }
  .registration { padding: 50px 20px; }
  .registration h2 { font-size: 18px; }
  .registration.overlay .table .option h3 { font-size: 20px; padding: 12px 0 14px; }
  .registration.overlay .table .option p { font-size: 14px; margin-bottom: 12px; }
  .registration.overlay .table .option .details { padding: 10px 0; }
  .registration.overlay .ticket .ticket-details .ticket-input.price { width: 90px; }
  .ui-select-container.currency .btn, .ui-select-container.currency input { padding-left: 10px; max-width: 110px; }
  .registration.overlay .ticket .ticket-details .ticket-input,
  .ui-select-container.currency .ui-select-match-text span, .ui-select-container.currency .ui-select-placeholder { font-size: 22px; }
  .features, .feature { padding: 20px 10px; }
  .feature img { width: 60px; }
  .feature h3 { font-size: 22px; margin: 10px 0; }
  .feature p { font-size: 14px; }
  .layout h2 { font-size: 22px; }
  .pricing { padding: 40px 20px; }
  .pricing h2 { font-size: 24px; }
  .pricing .pricing-table { margin-top: 52px; }
  .pricing .pricing-table .medium .price { min-height: 60px; }
  .pricing .pricing-table .price-overlay { font-size: 16px; line-height: 50px; }
  .pricing .pricing-table .option h3 { line-height: 50px; font-size: 16px; }
  .pricing .pricing-table .option p.price { font-size: 28px; }
}/*
@media (min-width: 1599px) {
  .features .feature img { width: 120px; }
  .feature h3 { margin-top: 40px; }
  .pricing .pricing-table { margin-top: 140px; }
  .pricing .pricing-table .option h3 { line-height: 168px; }
  .pricing .pricing-table .option p { padding-bottom: 42px; font-size: 18px; }
  .pricing .pricing-table .option .details { padding-bottom: 20px; }
}

*/

/*Animations*/


/*

.fade.ng-enter {
    opacity: 0;
    animation: fadeIn .4s ease .2s;
    -webkit-animation: fadeIn .4s ease .2s;
}
.fade.ng-leave {
    opacity: 1;
    animation: fadeOut .4s ease .2s;
    -webkit-animation: fadeOut .4s ease .2s;
}

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

*/

/*!
 * ui-select
 * http://github.com/angular-ui/ui-select
 * Version: 0.19.8 - 2017-04-18T05:43:43.881Z
 * License: MIT
 */


/* Style when highlighting a search. */
.ui-select-highlight {
  font-weight: bold;
}

.ui-select-offscreen {
  clip: rect(0 0 0 0) !important;
  width: 1px !important;
  height: 1px !important;
  border: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
  overflow: hidden !important;
  position: absolute !important;
  outline: 0 !important;
  left: 0px !important;
  top: 0px !important;
}


.ui-select-choices-row:hover {
  background-color: #f5f5f5;
}

/* Select2 theme */

/* Mark invalid Select2 */
.ng-dirty.ng-invalid > a.select2-choice {
    border-color: #D44950;
}

.select2-result-single {
  padding-left: 0;
}

.select2-locked > .select2-search-choice-close{
  display:none;
}

.select-locked > .ui-select-match-close{
    display:none;
}

body > .select2-container.open {
  z-index: 9999; /* The z-index Select2 applies to the select2-drop */
}

/* Handle up direction Select2 */
.ui-select-container[theme="select2"].direction-up .ui-select-match,
.ui-select-container.select2.direction-up .ui-select-match {
    border-radius: 4px; /* FIXME hardcoded value :-/ */
    border-top-left-radius: 0;
    border-top-right-radius: 0;
}
.ui-select-container[theme="select2"].direction-up .ui-select-dropdown,
.ui-select-container.select2.direction-up .ui-select-dropdown {
    border-radius: 4px; /* FIXME hardcoded value :-/ */
    border-bottom-left-radius: 0;
    border-bottom-right-radius: 0;

    border-top-width: 1px;  /* FIXME hardcoded value :-/ */
    border-top-style: solid;

    box-shadow: 0 -4px 8px rgba(0, 0, 0, 0.25);

    margin-top: -4px; /* FIXME hardcoded value :-/ */
}
.ui-select-container[theme="select2"].direction-up .ui-select-dropdown .select2-search,
.ui-select-container.select2.direction-up .ui-select-dropdown .select2-search {
    margin-top: 4px; /* FIXME hardcoded value :-/ */
}
.ui-select-container[theme="select2"].direction-up.select2-dropdown-open .ui-select-match,
.ui-select-container.select2.direction-up.select2-dropdown-open .ui-select-match {
    border-bottom-color: #5897fb;
}

.ui-select-container[theme="select2"] .ui-select-dropdown .ui-select-search-hidden,
.ui-select-container[theme="select2"] .ui-select-dropdown .ui-select-search-hidden input{
    opacity: 0;
    height: 0;
    min-height: 0;
    padding: 0;
    margin: 0;
    border:0;
}

/* Selectize theme */

/* Helper class to show styles when focus */
.selectize-input.selectize-focus{
  border-color: #007FBB !important;
}

/* Fix input width for Selectize theme */
.selectize-control.single > .selectize-input > input {
  width: 100%;
}

/* Fix line break when there's at least one item selected with the Selectize theme */
.selectize-control.multi > .selectize-input > input {
  margin: 0 !important;
}

/* Fix dropdown width for Selectize theme */
.selectize-control > .selectize-dropdown {
  width: 100%;
}

/* Mark invalid Selectize */
.ng-dirty.ng-invalid > div.selectize-input {
    border-color: #D44950;
}

/* Handle up direction Selectize */
.ui-select-container[theme="selectize"].direction-up .ui-select-dropdown {
    box-shadow: 0 -4px 8px rgba(0, 0, 0, 0.25);
    margin-top: -2px; /* FIXME hardcoded value :-/ */
}

.ui-select-container[theme="selectize"] input.ui-select-search-hidden{
    opacity: 0;
    height: 0;
    min-height: 0;
    padding: 0;
    margin: 0;
    border:0;
    width: 0;
}

/* Bootstrap theme */

/* Helper class to show styles when focus */
.btn-default-focus {
  color: #333;
  background-color: #EBEBEB;
  border-color: #ADADAD;
  text-decoration: none;
  outline: 5px auto -webkit-focus-ring-color;
  outline-offset: -2px;
  box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 8px rgba(102, 175, 233, 0.6);
}

.ui-select-bootstrap .ui-select-toggle {
  position: relative;
}

.ui-select-bootstrap .ui-select-toggle > .caret {
  position: absolute;
  height: 10px;
  top: 50%;
  right: 10px;
  margin-top: -2px;
}

/* Fix Bootstrap dropdown position when inside a input-group */
.input-group > .ui-select-bootstrap.dropdown {
  /* Instead of relative */
  position: static;
}

.input-group > .ui-select-bootstrap > input.ui-select-search.form-control {
  border-radius: 4px; /* FIXME hardcoded value :-/ */
  border-top-right-radius: 0;
  border-bottom-right-radius: 0;
}
.input-group > .ui-select-bootstrap > input.ui-select-search.form-control.direction-up {
  border-radius: 4px !important; /* FIXME hardcoded value :-/ */
  border-top-right-radius: 0 !important;
  border-bottom-right-radius: 0 !important;
}

.ui-select-bootstrap .ui-select-search-hidden{
    opacity: 0;
    height: 0;
    min-height: 0;
    padding: 0;
    margin: 0;
    border:0;
}

.ui-select-bootstrap > .ui-select-match > .btn{
  /* Instead of center because of .btn */
  text-align: left !important;
}

.ui-select-bootstrap > .ui-select-match > .caret {
  position: absolute;
  top: 45%;
  right: 15px;
}

/* See Scrollable Menu with Bootstrap 3 http://stackoverflow.com/questions/19227496 */
.ui-select-bootstrap > .ui-select-choices ,.ui-select-bootstrap > .ui-select-no-choice {
  width: 100%;
  height: auto;
  max-height: 200px;
  overflow-x: hidden;
  margin-top: -1px;
}

body > .ui-select-bootstrap.open {
  z-index: 1000; /* Standard Bootstrap dropdown z-index */
}

.ui-select-multiple.ui-select-bootstrap {
  height: auto;
  padding: 3px 3px 0 3px;
}

.ui-select-multiple.ui-select-bootstrap input.ui-select-search {
  background-color: transparent !important; /* To prevent double background when disabled */
  border: none;
  outline: none;
  height: 1.666666em;
  margin-bottom: 3px;
}

.ui-select-multiple.ui-select-bootstrap .ui-select-match .close {
  font-size: 1.6em;
  line-height: 0.75;
}

.ui-select-multiple.ui-select-bootstrap .ui-select-match-item {
  outline: 0;
  margin: 0 3px 3px 0;
}

.ui-select-multiple .ui-select-match-item {
  position: relative;
}

.ui-select-multiple .ui-select-match-item.dropping .ui-select-match-close {
  pointer-events: none;
}

.ui-select-multiple:hover .ui-select-match-item.dropping-before:before {
  content: "";
  position: absolute;
  top: 0;
  right: 100%;
  height: 100%;
  margin-right: 2px;
  border-left: 1px solid #428bca;
}

.ui-select-multiple:hover .ui-select-match-item.dropping-after:after {
  content: "";
  position: absolute;
  top: 0;
  left: 100%;
  height: 100%;
  margin-left: 2px;
  border-right: 1px solid #428bca;
}

.ui-select-bootstrap .ui-select-choices-row>span {
    cursor: pointer;
    display: block;
    padding: 3px 20px;
    clear: both;
    font-weight: 400;
    line-height: 1.42857143;
    color: #333;
    white-space: nowrap;
}

.ui-select-bootstrap .ui-select-choices-row>span:hover, .ui-select-bootstrap .ui-select-choices-row>span:focus {
    text-decoration: none;
    color: #262626;
    background-color: #f5f5f5;
}

.ui-select-bootstrap .ui-select-choices-row.active>span {
    color: #fff;
    text-decoration: none;
    outline: 0;
    background-color: #428bca;
}

.ui-select-bootstrap .ui-select-choices-row.disabled>span,
.ui-select-bootstrap .ui-select-choices-row.active.disabled>span {
    color: #777;
    cursor: not-allowed;
    background-color: #fff;
}

/* fix hide/show angular animation */
.ui-select-match.ng-hide-add,
.ui-select-search.ng-hide-add {
    display: none !important;
}

/* Mark invalid Bootstrap */
.ui-select-bootstrap.ng-dirty.ng-invalid > button.btn.ui-select-match {
    border-color: #D44950;
}

/* Handle up direction Bootstrap */
.ui-select-container[theme="bootstrap"].direction-up .ui-select-dropdown {
    box-shadow: 0 -4px 8px rgba(0, 0, 0, 0.25);
}

.ui-select-bootstrap .ui-select-match-text {
    width: 100%;
    padding-right: 1em;
}
.ui-select-bootstrap .ui-select-match-text span {
    display: inline-block;
    width: 100%;
    overflow: hidden;
}
.ui-select-bootstrap .ui-select-toggle > a.btn {
  position: absolute;
  height: 10px;
  right: 10px;
  margin-top: -2px;
}

/* Spinner */
.ui-select-refreshing.glyphicon {
    position: absolute;
    right: 0;
    padding: 8px 27px;
 }
@keyframes ui-select-spin {
  0% {
    transform: rotate(0deg);
  }
  100% {
    transform: rotate(359deg);
  }
}

.ui-select-spin {
  animation: ui-select-spin 2s infinite linear;
}

.ui-select-refreshing.ng-animate {
  -webkit-animation: none 0s;
}
