/*
	Teletorn tickets
	Last modified: 	13/03/2018
	Developer: Goswift
*/

@import url("https://hello.myfonts.net/count/2f1f8f");
@font-face {font-family: 'TTFirs-Bold';src: url('webfonts/2F1F8F_2_0.eot');src: url('webfonts/2F1F8F_2_0.eot?#iefix') format('embedded-opentype'),url('webfonts/2F1F8F_2_0.woff2') format('woff2'),url('webfonts/2F1F8F_2_0.woff') format('woff'),url('webfonts/2F1F8F_2_0.ttf') format('truetype');}
@font-face {font-family: 'TTFirs-ExtraBold';src: url('webfonts/2F1F8F_5_0.eot');src: url('webfonts/2F1F8F_5_0.eot?#iefix') format('embedded-opentype'),url('webfonts/2F1F8F_5_0.woff2') format('woff2'),url('webfonts/2F1F8F_5_0.woff') format('woff'),url('webfonts/2F1F8F_5_0.ttf') format('truetype');}
@font-face {font-family: 'TTFirs-Light';src: url('webfonts/2F1F8F_C_0.eot');src: url('webfonts/2F1F8F_C_0.eot?#iefix') format('embedded-opentype'),url('webfonts/2F1F8F_C_0.woff2') format('woff2'),url('webfonts/2F1F8F_C_0.woff') format('woff'),url('webfonts/2F1F8F_C_0.ttf') format('truetype');}
@font-face {font-family: 'TTFirs-Regular';src: url('webfonts/2F1F8F_F_0.eot');src: url('webfonts/2F1F8F_F_0.eot?#iefix') format('embedded-opentype'),url('webfonts/2F1F8F_F_0.woff2') format('woff2'),url('webfonts/2F1F8F_F_0.woff') format('woff'),url('webfonts/2F1F8F_F_0.ttf') format('truetype');}

html, body, button, input, select, textarea { color: #4a5a5d; }
html, body { background-color: #f3f3f3; }
html * { -webkit-font-smoothing: antialiased;-moz-osx-font-smoothing: grayscale; }

::-moz-selection { background: #2697a7;text-shadow: none;color: #fff; }
::selection { background: #2697a7;text-shadow: none;color: #fff; }

img { vertical-align: middle; }
.browsehappy { margin: 0.2em 0;background: #ccc;color: #000;padding: 0.2em 0; }
menu, ol, ul { padding: 0;margin: 0; }
ul, ol { list-style: none }

h1, h2, h3 { font-weight: normal;margin: 0;padding: 0;line-height: 1.3;letter-spacing: -1px;font-family: 'TTFirs-ExtraBold', arial, sans-serif; }
h1 { font-size: 40px; }
h2 { font-size: 24px; }
h3 { font-size: 18px; }

b, strong {font-weight: normal;font-family: 'TTFirs-ExtraBold', arial, sans-serif; }

a { color: #2697a7;text-decoration: none;-webkit-transition: all 0.3s ease;-moz-transition: all 0.3s ease;-o-transition: all 0.3s ease;transition: all 0.3s ease; }
a:hover { color: #000; }
a:focus,a:active,a:hover { outline: 0; }

.clearfix:before, .clearfix:after { content: " ";display: table; }
.clearfix:after { clear: both; }
.clearfix { *zoom: 1; }

*, *:before, *:after { -webkit-box-sizing: border-box;-moz-box-sizing: border-box;box-sizing: border-box; }

body { font:normal 16px/1.6 'TTFirs-Bold', arial, sans-serif; }
body.subpage { background-image: url('../img/footer-bg.png');background-position: 50% 100%;background-repeat: no-repeat; }

#loadingDiv { position: fixed;width: 100%;height: 100%;top: 0;left: 0;bottom: 0;right: 0;background: #000 url('../img/loader.gif') no-repeat 50% 50%;z-index: 99999; }
#wrapperDiv { position: relative;z-index: 97 }

.container { padding-right: 15px;padding-left: 15px;margin-right: auto;margin-left: auto; }
.container:before, .container:after { display: table;content: " "; }
.container:after { clear: both; }

.container_full { padding-right: 15px;padding-left: 15px;margin-right: auto;margin-left: auto; }
.container_full:before, .container_full:after { display: table;content: " "; }
.container_full:after { clear: both; }

.row { margin-right: -15px;margin-left: -15px; }
.row:before, .row:after { display: table;content: " "; }
.row:after { clear: both; }

.cols_20,.cols_25,.cols_30,.cols_33,.cols_35,.cols_40,.cols_45,.cols_50,.cols_60,.cols_66,.cols_70,.cols_75,.cols_80,.cols_85,.cols_100 {
	min-height: 1px;
    padding-left: 15px;
    padding-right: 15px;
    position: relative;
}
.cols_100 { width:100%; }

.btn, button.btn {
    background-color: transparent;
    border:0;
    border-bottom: 2px solid #bf2b2a;
    color: #2697a7;
    display: inline-block;
    outline: 0;
    font-size: 24px;
    font-weight: normal;
    font-family: 'TTFirs-ExtraBold', arial, sans-serif;
    line-height: 1.4;
    padding: 10px 30px;
    text-align: center;
    -webkit-transition: all 0.3s ease;
    -moz-transition: all 0.3s ease;
    -o-transition: all 0.3s ease;
    transition: all 0.3s ease;
}
.btn:hover { border-color: #2697a7;color: #000;text-decoration: none; }

.btn-small { font-size:18px;padding:8px 16px }

.pull-right { float: right }
.pull-left { float: left }
.small { font-size: 12px }
.text-center { text-align: center; }
.text-right { text-align: right }
.text-caps { text-transform: uppercase; }
.margintop50 { margin-top: 50px }



/* --------------------------
	HEADER
-------------------------- */

.header_container {
	position: relative;
	background-color: #000;
	background-image:url('../img/top-60.jpg');
  background-position: center;
  background-size: cover;
  background-repeat: no-repeat;
  height: 100vh;
  justify-content: center;
  align-items: center;
  display: flex;
}
.subpage .header_container { display:block;height:auto;background: #f3f3f3;padding:25px 0; }

.header_inner { display: flex;height: 100%;width: 100%;background: rgba(0, 0, 0, 0.6);justify-content: center;align-items: center; }

.header_top { position: absolute;top:0;left: 0;right: 0;z-index: 99;width: 100%;padding:50px; }

.logo { position: relative;z-index:3;width: 85px;height: 100px;display: block;text-indent: -9000px;background-image: url('../img/logo.png');background-size: contain;background-position: 0 0;background-repeat: no-repeat;float: left; }
.logo:hover { transform: scale(.95); }

.subpage .logo { width: 85px;height: 100px;background-image: url('../img/teletorn-logo.svg');background-size: contain; }

.nav { padding: 0 0 20px;text-align: center; }
.subpage .nav { padding: 10px 0 20px }
.mainmenu li { margin:0;display: inline-block;font-size: 22px;font-family: 'TTFirs-ExtraBold', arial, sans-serif; }
.subpage .mainmenu li { font-size: 18px; }
.mainmenu li a { padding:10px 20px;border-bottom:1px solid transparent;color:#fff; }
.mainmenu li a span { color:#aaa;font-family: 'TTFirs-Bold', arial, sans-serif; }
.subpage .mainmenu li a { color:#5e5e5e; }
.mainmenu li a.active { color:#2697a7;border-color:#2697a7; }
.subpage .mainmenu li a.active { color:#2697a7;border-color:#2697a7; }
.mainmenu li a.active:hover { border-color:#fff }
.subpage .mainmenu li a.active:hover  { border-color:#000; }
.mainmenu li a:hover { color:#2697a7 }

.nav-trigger { position: absolute;top: 40px;right: 40px;z-index:99;display: none; }
.nav-trigger .icon-bar { display: block;width: 40px;height: 3px;border-radius: 2px;background: #2697a7;-webkit-transition: all 0.3s ease; -moz-transition: all 0.3s ease; -o-transition: all 0.3s ease; transition: all 0.3s ease; }
.icon-bar + .icon-bar { margin-top: 8px; }
.nav-trigger:hover .icon-bar { background:#fff; }
.subpage .nav-trigger:hover .icon-bar { background:#000; }

.usermenu { position: relative;text-align: center; }
.usermenu li { margin:0;display: inline-block; }
.usermenu li a { display: block;padding:6px 10px;font-size: 15px;color:#fff; }
.subpage .usermenu li a { color:#5e5e5e; }
.usermenu li a.active { color:#2697a7;font-family: 'TTFirs-ExtraBold', arial, sans-serif; }
.usermenu li a:hover { color:#2697a7 }

.trigger_login { position: absolute;top:55px;right: 50px;z-index: 9;color:#fff;font-family: 'TTFirs-ExtraBold', arial, sans-serif; }
.trigger_login:hover { color:#2697a7 }

.logout { position: absolute;top:55px;right: 50px;z-index: 9;color:#fff;font-family: 'TTFirs-ExtraBold', arial, sans-serif; }
.logout:hover { color:#2697a7 }
.logout span a {  color:#fff }
.logout span a:hover {  color:#fff }
.subpage .logout { top:15px;color:#2697a7;font-size: 13px; }
.subpage .logout span a {  color:#000 }
.subpage .logout i {  font-size: 20px; }
.subpage .logout span a:hover { color:#000 }
.subpage i { color:#2697a7; font-size: 22px;}

.kiosk-contacts { position: absolute;bottom:50px;right: 40px;z-index: 9; }

.langmenu { position: absolute;bottom:50px;left: 40px;z-index: 9; }
.langmenu li { margin:0;display: inline-block; }
.langmenu li a { padding:10px;border-bottom:1px solid transparent;color:#fff; }
.langmenu li a.active { color:#2697a7;border-color:#2697a7;font-family: 'TTFirs-ExtraBold', arial, sans-serif; }
.langmenu li a.active:hover { border-color:#fff }
.langmenu li a:hover { color:#2697a7; }

.kiosk-langmenu { position: absolute;top:50px;right: 40px;z-index: 100; }
.kiosk-langmenu li { margin:0;display: inline-block; }
.kiosk-langmenu li a { padding:10px;border-bottom:1px solid transparent;color:#fff; }
.kiosk-langmenu li a.active { color:#2697a7;border-color:#2697a7;font-family: 'TTFirs-ExtraBold', arial, sans-serif; }
.kiosk-langmenu li a.active:hover { border-color:#fff }
.kiosk-langmenu li a:hover { color:#2697a7; }

.langmenu-sub { position: absolute;top:0;right: -20px;z-index: 9; }
.langmenu-sub li { margin:0;font-size:12px;text-align: center; }
.langmenu-sub li a { display: block;padding:6px 0;border-bottom:1px solid transparent;color:#5e5e5e; }
.langmenu-sub li a.active { color:#2697a7;border-color:#2697a7;font-family: 'TTFirs-ExtraBold', arial, sans-serif; }
.langmenu-sub li a.active:hover { border-color:#000 }
.langmenu-sub li a:hover { color:#000; }

.kiosk-langmenu-sub { position: absolute;top:0;right: 0;z-index: 100;}
.kiosk-langmenu-sub span { margin:0; margin-right: 15px; font-size:12px;text-align: center;}
.kiosk-langmenu-sub span a { padding:6px 0;border-bottom:1px solid transparent;color:#5e5e5e; }
.kiosk-langmenu-sub span a.active { color:#2697a7;border-color:#2697a7;font-family: 'TTFirs-ExtraBold', arial, sans-serif; }
.kiosk-langmenu-sub span a.active:hover { border-color:#000 }
.kiosk-langmenu-sub span a:hover { color:#000; }

.queueType { position:relative;margin:5px 0;padding-right:40px }
.queueType a { padding:5px 55px 5px 25px;display:block;border:1px solid #ddd;min-height:40px;line-height:40px;vertical-align:middle;color:#2697a7;background-size:16px 34px;background: url('../images/arrow_right.png') no-repeat 97% 50%;
}
.queueType a:hover { color:#fff; background: #2697a7 url('../images/arrow_right_white.png') no-repeat 97% 50%; }
.queueType.active a, .queueType a.active { color:#2697a7;border:1px solid #2697a7; background: #2697a7 url('../images/arrow_right_white.png') no-repeat 97% 50%; }
.queueType.active a { color:#fff;border:1px solid #2697a7;background: #2697a7 url('../images/arrow_right_white.png') no-repeat  97% 50%;}
.queueType.active a:hover {
    color:#fff;border:1px solid #2697a7;background: #2697a7 url('../images/arrow_right_white.png') no-repeat 97% 50%;
}

.queueType.active a i, .queueType a:hover i {
    color: white;
}

.header_container .social { position: absolute;bottom:50px;right: 40px;z-index: 9; }
.header_container .social a { display: inline-block;padding: 0 15px; }
.header_container .social a:hover { transform: scale(1.05); }
.header_container .social img { width:auto;height: 35px; }

.header_content { text-align: center;color:#fff;flex: 1; }
.header_content h1 { font-size: 120px;line-height: 1;font-family: 'TTFirs-ExtraBold', arial, sans-serif;background: -webkit-linear-gradient(#aaa, #fff);-webkit-background-clip: text;-webkit-text-fill-color: transparent; }
.header_content h1 em { font-size: 80px;font-family: 'TTFirs-Light', arial, sans-serif;font-style: normal; }
.header_content .btn { font-size: 40px; }
.header_content .btn:hover { border-color: #fff;color: #fff; }

.kiosk_header_content {position: absolute;top:0;text-align: center;color:#fff;flex: 1; }
.kiosk_header_content h1 { font-size: 120px;line-height: 1;font-family: 'TTFirs-ExtraBold', arial, sans-serif;background: -webkit-linear-gradient(#aaa, #fff);-webkit-background-clip: text;-webkit-text-fill-color: transparent; }
.kiosk_header_content h1 em { font-size: 80px;font-family: 'TTFirs-Light', arial, sans-serif;font-style: normal; }
.kiosk_header_content .btn { font-size: 40px; }
.kiosk_header_content .btn:hover { border-color: #fff;color: #fff; }

/* --------------------------
	LANDING
--------------------------*/

.twinboxes {
    position: relative;
    width:100%;
    /*height: 100vh;*/
    background-repeat: no-repeat;
    background-position: center;
    background-size: cover;
}

.text { position: relative;display:table;float:left;width:30%;max-width:666px;min-width: 300px;background:#2697a7;height: 100vh;color:#fff;padding:4rem;box-shadow:0 0 50px rgba(0,0,0,.4); }
.alt .text { float: right }

.text:after { content: '';position: absolute;top:50%;transform: translate(0,-50%);right: -48px;width: 0;height: 0;border-top: 60px solid transparent;border-bottom: 60px solid transparent;border-left: 50px solid #2697a7; }
.alt .text:after { right:auto;left: -48px;border-right: 50px solid #2697a7;border-left:0; }

.first {
    background-image: url('../img/image-3.jpg');
}

.second {
    background-image: url('../img/image-4.jpg');
}
.second .text { background:#5b666a; }
.second.alt .text:after { border-right: 50px solid #5b666a; }

.third {
    background-image: url('../img/image-1-60.jpg');
}
.third .text { background:#413a3d; }
.third .text:after { border-left: 50px solid #413a3d; }

.fourth {
    background-image: url('../img/image-2.jpg');
}

.text .text_inner { display: table-cell;vertical-align: middle; }

.twinboxes h2 { position: relative;font-size: 60px;padding-bottom: 20px;margin-bottom: 40px; }
.twinboxes h2:after { content: '';position: absolute;bottom: 0;left: 0;width: 30px;height: 1px;border-bottom: 1px solid #fff; }
.twinboxes h2 em { font-style: normal;font-size: 40px;display: block;font-family: 'TTFirs-Light', arial, sans-serif;font-style: normal; }

.twinboxes .btn { margin:25px 0;color:#fff;border-color: #000; }
.twinboxes .btn:hover { color:#000;border-color: #bf2b2a; }



/* --------------------------
	SUBPAGES
--------------------------*/

.content_txt { position: relative;padding: 6%;box-shadow: 0 0 50px rgba(0,0,0,.1);background: #fff; }

.subpage_content h1, .subpage_content h2, .subpage_content h3, .subpage_content h4, .subpage_content p, .subpage_content ul { margin:20px 0; }
.subpage_content h1 { margin:0 0 30px }
.subpage_content h1, .subpage_content h2, .subpage_content h3 { color:#2697a7; }
.subpage_content li { position:relative;margin:5px 0;padding:0 0 0 30px; }
/*.subpage_content li::before { font-family: "Ionicons"; content: "\f24f";font-size:7px;position:absolute;left:0;top:-3px;color:#2697a7; }*/


.form-message .error-msg li::before { font-family: "Ionicons"; content: "\f405"; color: red;}
.form-message .success-msg li::before { font-family: "Ionicons"; content: "\f3fe";color: green;}

.separator { margin-top:50px;height:100px;background-image: url('../img/separator.png');background-position: center;background-repeat: no-repeat; }

.subpage_content img { width: 100%;height:auto; }
.subpage_content .loadingImg img { width: auto;}
.subpage_content img.float-left { float: left;margin:0 30px 30px 0 }
.subpage_content img.float-right { float: right;margin:0 0 30px 30px }
.subpage_content img.small-img { max-width: 200px; }


/* Accordion */
.accordion { position:relative;overflow:hidden;margin:20px 0; }
.accordion h3, .subpage_content .accordion h3 { position:relative;font-size:24px;padding:15px 60px 15px 20px;cursor:pointer;border-bottom:1px solid #eee;margin:0;color:#555; }
.accordion h3::after { font-family: 'TTFirs-Light', arial, sans-serif;content: "+";font-size:40px;position:absolute;right:20px;top:9px;color:#2697a7; }
.accordion h3.active { color:#2697a7; }
.accordion h3.active::after { content: "-"; }
.accordion .acc_txt { position:relative;padding:20px;border-bottom:1px solid #eee; }
.subpage_content .accordion p { margin:5px 0 }


/* Tabel */
.subpage_content table { background:transparent;margin:20px 0;border-collapse:collapse;text-align:left;width:100%; }
.subpage_content table th { font-size:15px;font-weight:700;color:#2697a7;padding:10px;border-bottom:2px solid #2697a7; }
.subpage_content table td { border-bottom:1px solid #f5f5f5;color:#555;padding:10px; }
.subpage_content table tbody tr:hover td { color:#2697a7;background:#f5f5f5 }
.subpage_content table .total { font-size: 18px;color:#2697a7;font-family: 'TTFirs-ExtraBold', arial, sans-serif; }

/* Responsive video */
.videoWrapper { position: relative;padding-bottom: 56.25%;padding-top: 25px;height: 0;margin-top:15px }
.videoWrapper iframe { position: absolute;top: 0;left: 0;width: 100%;height: 100%; }


/* Forms */
.simpleform .form-group { margin: 0 0 10px;padding: 0;position: relative; }
.simpleform label { font-weight:normal;line-height:36px;padding:0 10px;font-family: 'TTFirs-Bold', arial, sans-serif;display:block; }
.simpleform .form-control {
    background-color: #f3f3f3;
    border: 1px solid #e6e6e6;
    border-radius: 5px;
    box-shadow:none;
    color: #2697a7;
    font-family: 'TTFirs-Bold', arial, sans-serif;
    height: 44px;
    line-height: 44px;
    padding: 7px 10px;
    width:100%;
}

.simpleform input[type="radio"] {
    color: #555;
    height: auto;
    line-height: inherit;
    margin: 0 7px 0 0;
    padding: 0;
    width: auto;
}
.simpleform input[type="checkbox"] {
    color: #555;
    height: auto;
    line-height: inherit;
    margin: 0 7px 0 0;
    padding: 0;
    width: auto;
}
.simpleform textarea.form-control { line-height:1;height:200px;padding:10px }
.simpleform select.form-control { padding:0 0 0 10px; }
.simpleform .form-control:focus { background-color:#fff;border:1px solid #999; }

.form-control:disabled { cursor: not-allowed; }

.form-control.invalidField {border-color: red;}

.form-control.bron-code { margin-right:4px }
.form-control.bron-code:last-child { margin-right: 0 }
.form-control.size-xs { width:15% }
.form-control.size-med { width:50% }
.form-control.size-sm { width:30% }

.required {
    color : red;
}

.form-message { font-size:14px;padding:7px 10px }
.error-msg { color:red }
.success-msg { color:green }
.simpleform .req { color:red }

.form-text { color: #2697a7;padding: 7px 10px; }


/* Cart */
.payment img { width:auto }


/* Buy tickets */
.buytickets-top { position: relative;overflow: hidden;padding-bottom: 30px;margin:-25px 0 30px;border-bottom: 1px solid #eee; }

.subpage_content .buytickets-top h1 { float: left;margin:0;padding:23px 0 0; }

.buytickets-top ul { float: right;margin:0;text-align: center; }
.subpage_content .buytickets-top ul li { display: inline-block;margin:0 15px;padding:0;font-size:13px; }
.subpage_content .buytickets-top ul li::before { content: ""; }
.buytickets-top ul li span { display: inline-block;width: 50px;height: 50px;border-radius: 50px;margin-bottom: 10px;background: #eee;font-size: 24px;line-height: 50px; }
.buytickets-top ul li.active span { background: #2697a7;color:#fff; }
.buytickets-top ul li.passive span { background: #9fbbbf;color:#666; }

.choose_service { margin:0 0 30px; }
.choose_service_item {
    position: relative;
    cursor: pointer;
    border: 1px solid #eee;
    color: #888;
    -webkit-transition: all 0.3s ease;
    -moz-transition: all 0.3s ease;
    -o-transition: all 0.3s ease;
    transition: all 0.3s ease;
}
.choose_service_item_header {
    position: relative;
    margin-top: 1em;
    cursor: pointer;
    border: 1px solid white;
    background-color: #2697a7;
    -webkit-transition: all 0.3s ease;
    -moz-transition: all 0.3s ease;
    -o-transition: all 0.3s ease;
    transition: all 0.3s ease;
}
.choose_service_item:not(.no-timeslot):hover, .choose_service_item.active {
    box-shadow: 0 0 25px rgba(38, 151, 167, 0.52);
    color: #333;
}
.no-timeslot *:not(.no-timeslot-exception) {
    color: rgba(180,180,180,0.7) !important;
}
.no-timeslot label {
    /*cursor: not-allowed !important;*/
}
.simpleform .choose_service label { line-height: 1.3;cursor:pointer;padding:20px 30px 20px 60px; }
/*.simpleform .choose_service input[type="radio"] { position: absolute;top: 30px;left: 30px; }*/
.simpleform .choose_service i:not(.default-style) {
    position: absolute;
    top: 30px;
    left: 30px;
    font-size: 20px;
    color: #2697a7;
}
.preferred-time-selection {
    display: flex;
    justify-content: center;
    flex-wrap: wrap;

    position: sticky;
    top: 0;
    z-index: 1;
    background-color: white;
    padding: 15px 0;
}

.choose_service_item h3 { margin:10px 0; }
.choose_service_item p { font-size: 14px;margin:0; }
.choose_service_item h4 { font-size: 15px;margin:0; }
.ticket_price {
    /*position: absolute;*/
    /*top: 0;*/
    /*right: 0;*/
    /*padding: 30px;*/
    font-size: 30px
}
.choose_service_item.active .ticket_price { color:#2697a7 }

.choose_service_item_header h3 { margin:15px 0 0 0; color: white; }
.choose_service_item_header_name {color: white; font-size: 1.5em; }
.choose_service_item_header p { font-size: 14px;margin:0; color: white }
.choose_service_item_header h4 { font-size: 15px;margin:0; color: white }
.simpleform .choose_service .choose_service_item_header i {
    font-size: 1.5em;
    top: auto;
    color: white;
    margin-right: 0.3em;
}

/* Wizard */
.timeslots_desktop { position:relative;justify-content: center;display: flex; }

/*.dayContainer { flex:1;text-align:center }*/
.dayContainer { float:left;width:20%;text-align:center }

.datepicker_wrapper { position:relative; }
.datepicker_wrapper .ion:not(.default-style), .datepicker_wrapper i.ion:not(.default-style) { position:absolute;top:15px;left:10px;font-size:22px;color:#2697a7; }
.datepicker_wrapper input { width:100%;background:#fff;padding:10px 10px 10px 35px;font-family: 'TTFirs-Bold', arial, sans-serif;min-height:29px;line-height:29px;cursor:pointer;color:#333;border:2px solid #fff;-webkit-transition: all 0.3s ease; -moz-transition: all 0.3s ease; -o-transition: all 0.3s ease; transition: all 0.3s ease; }
.datepicker_wrapper input:hover { background:#f5f5f5;color:#2697a7 }

.slotContainer { position:relative;padding:10px;font-size:14px;border:2px solid #fff;cursor:pointer;color:#333;-webkit-transition: all 0.3s ease; -moz-transition: all 0.3s ease; -o-transition: all 0.3s ease; transition: all 0.3s ease; }
.slotContainer.slotFree { background:#e1f4f7 }
.slotContainer.slotLocked { background:#ededed; }
.slotContainer.slot_selected, .slotContainer.slot_selected i,
.slotContainer:hover { background:#2697a7;border-color:#fff;color:#fff }
.slotContainer:hover i { background:#2697a7;border-color:#fff;color:#fff }
.slotContainer.slotLocked:hover { background:#ededed;border-color:#fff;color:#333;cursor:not-allowed }
.no_slots {display: flex;flex-direction: column;padding-bottom: 5px;}
.slotContainer.slotLocked.no_slots_message {display: flex;height: 100%;}

.first_container { float:left;width:70px;text-align:center }
.datepicker_arrows { display:block;padding:10px 20px;min-height:29px;line-height:29px;font-size:30px }
.first_slots { position:relative;padding:12px 0;border:2px solid #fff;color:#aaa;font-size:12px }

.timeslots_mobile { position:relative;display:none }

.timeslots_mobile_header { position:relative;padding:0 50px }
.timeslots_mobile_header .datepicker_arrows { position:absolute;top:0; }
.timeslots_mobile_header .datepicker_arrows.arrow_left { left:0; }
.timeslots_mobile_header .datepicker_arrows.arrow_right { right:0; }

.timeslots_mobile .dayContainer { float:none;width:100%;padding:0 50px }

.buytickets_actions { padding-top: 30px;margin:25px 0 0 }
.topline { border-top: 1px solid #eee; }
.buytickets_actions .btn:first-child { float:left }
.buytickets_actions .btn:last-child { float:right }



/* --------------------------
	FOOTER
-------------------------- */

.footer_container { position: relative;background-color: #fff;background-image: url('../img/footer-bg.png');background-position: 90% 100%;background-repeat: no-repeat; }
.subpage .footer_container { background:transparent }

.footer_inner { padding:50px 50px 220px;background-image: url('../img/teletorn-logo.svg');background-position: 40px 90%;background-repeat: no-repeat;background-size: 140px 165px; }
.subpage .footer_inner { padding:50px 40px 200px;background:transparent }

.footer_block { float:left;padding: 0 60px 30px 0 }
.footer_block:last-child { float:right;padding-right:0 }

.footer_block h3 { font-family: 'TTFirs-Bold', arial, sans-serif;font-size: 18px; }
.footer_block h3 a { font-size:36px;font-family: 'TTFirs-Light', arial, sans-serif; }
.footer_block p { margin:15px 0 }
.footer_block ul {
    margin:15px 0;
    font-size:18px;
    padding: 0;
}

.footer_block .social { text-align: right }
.footer_block .social a { display: inline-block;padding: 0 15px; }
.footer_block .social a:hover { transform: scale(1.05); }
.footer_block .social img { width:auto;height: 30px; }

.footer_container .copy { font-size: 12px;color:#999; }



/* --------------------------
    LOGIN
-------------------------- */

.login-box { position: fixed;width: 290px;top: 20px;right:20px;padding:55px 30px 30px;background: #fff;box-shadow: 0 0 20px rgba(0,0,0,.3);z-index: 9999;display: none;overflow: auto; }
.login-box.active { display: block }

.login-close { font-family:arial, sans-serif;position: absolute;right: 10px;top: 5px;font-size: 27px;line-height: 1;padding: 10px;display: block;color:#2697a7; }
.login-close:focus { color:#000 }

.login-ids { padding:15px 0 }

.login-ids-size img {
    height: 31px;
    width: 88px;
}


/* --------------------------
    MOBILE NAV
-------------------------- */

.nav_overlay { position: fixed;width: 100%;top: 0;left:0;bottom:0;right: 0;padding:40px 60px 40px 0;background: #2697a7;z-index: 999;display: none;overflow: auto; }
.nav_overlay.active { display: block }

.overlay_close { font-family:arial, sans-serif;position: absolute;right: 15px;top: 5px;font-size: 35px;line-height: 1;padding: 10px;display: block;color:#000; }
.overlay_close:focus { color:#fff }

.nav_overlay ul.mobilenav { list-style: none;position: relative;margin:0;padding:0; }
.nav_overlay ul.mobilenav li { display: block;-webkit-backface-visibility: hidden;backface-visibility: hidden;font-size:20px; }
.nav_overlay ul.mobilenav a { padding: 5px 0 5px 40px;text-decoration: none;display: block;border-left: 5px solid #2697a7;color:#fff; }
.nav_overlay ul.mobilenav a:hover, .nav_overlay ul.mobilenav a.active { color: #000;border-left: 5px solid #000; }
.nav_overlay ul.mobilenav span a:hover * {
    color: #000;
}
.nav_overlay ul.mobilenav span a i {
    font-size: 16px;
    color: #fff;
    -webkit-transition: all 0.3s ease;
}

.nav_overlay ul.lang_nav { padding:25px 35px;}
.nav_overlay ul.lang_nav li { margin:0;display: inline-block; }
.nav_overlay ul.lang_nav li a { padding:10px;border-bottom:1px solid transparent;color:#fff; }
.nav_overlay ul.lang_nav li a.active { color:#000;border-color:#000;font-family: 'TTFirs-ExtraBold', arial, sans-serif; }
.nav_overlay ul.lang_nav li a.active:hover { border-color:#000 }
.nav_overlay ul.lang_nav li a:hover { color:#000; }

.nav_overlay .social { padding:10px 35px }
.nav_overlay .social a { display: inline-block;padding: 10px; }
.nav_overlay .social a:hover { transform: scale(1.05); }
.nav_overlay .social img { width:auto;height: 25px; }

.nav_overlay .trigger_login { position: relative;top: auto;right: auto;margin: 0 45px 10px;border: 1px solid #fff;border-radius: 5px;padding: 6px 20px; }
.nav_overlay .trigger_login:hover { border-color: #000;color:#000; }

.header_container_kiosk {
    background-color: #51C7EB;
    justify-content: center;
    align-items: center;
    display: flex;
    min-height: fit-content;
    height: 100vh;
}

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

.kiosk_alert {
    padding: 20px;
    background-color: rgba(167, 38, 94, 0.85);
    color: white;
    width: 80%;
    margin: 0 auto;
    font-size: 30px
}

.homepage_tickets_in_cart_kiosk_link {
    font-size: 35px;
    color:#FFFFFF;
}
.homepage_tickets_in_cart_kiosk_link:hover {
    color:#FFFFFF;
}

/* --------------------------
	MEDIA QUERIES
-------------------------- */

@media only screen and (max-width: 1700px) {
  .twinboxes h2 { font-size: 66px; }
  .text { width: 35%; }
}

@media only screen and (max-width: 1400px) {
  .twinboxes h2 { font-size: 60px; }
  .text { width: 40%; }
}

@media only screen and (max-width: 1300px) {
	.subpage .logout { right: 70px; }
	.langmenu-sub { right:15px }
}

@media only screen and (max-width: 1250px) {
  .header_top { padding:40px; }
  .logo { width: 85px;height: 100px; }
  .mainmenu li { font-size: 18px; }
  .mainmenu li a { padding: 7px 15px; }
  .logout, .trigger_login { top: 40px;right: 35px; }
	.subpage .logout { right: 70px; }
  .langmenu { bottom: 40px;left: 40px; }
  .langmenu li a { font-size:13px;padding:7px; }
  .header_container .social img { height: 30px; }
  .header_content h1 { font-size: 80px; }
  .header_content h1 em { font-size: 60px; }
  .header_content .btn { font-size: 30px; }
  .text { width: 50%;max-width: 100%; }
  .footer_container { background-size: contain; }
}

@media only screen and (max-width: 1180px) {
	.slotContainer { padding: 6px 0; }
	.first_slots { padding: 6px 0;width:60px }
}

@media only screen and (max-width: 1100px) {
	.mainmenu li, .subpage .mainmenu li { font-size: 16px; }
}


@media only screen and (max-width: 970px) {
  .twinboxes { height: auto; }
  .twinboxes h2 { font-size: 50px; }
  .text { padding:40px }
}

@media only screen and (max-width: 940px) {

    .thStyleSmallScreen {
        display: block !important;
    }

    .thStyleBigScreen {
        display: none !important;
    }

  .footer_block:last-child { float: left; }
  .footer_block h3 { font-size: 15px; }
  .footer_block .social { text-align: left; }
}

@media only screen and (max-width: 860px) {
  .logo { width: 85px;height: 100px; }
	.subpage .logo { margin-left:20px }
  .header_content h1 { font-size: 60px; }
  .header_content h1 em { font-size: 40px; }
  .btn, .header_content .btn { font-size: 24px; }
	.btn-small { font-size: 16px; }
	/*.first_container { display: none; }*/
    .dayContainer { float:left;width:19%;text-align:center }
	.buytickets-top { padding-bottom: 20px;margin: -10px 0 30px; }
	.subpage_content .buytickets-top h1 { padding: 10px 0 0; }
	.buytickets-top ul li span { width: 40px;height: 40px;font-size: 20px;line-height: 42px; }
	.nav, .usermenu, .logout, .trigger_login, .langmenu-sub { display:none }
  .nav-trigger, .nav_overlay .trigger_login { display: block; }
  #idCard {
      display: none;
  }
}

@media only screen and (max-width: 768px) {
    .cols_25,.cols_30,.cols_33,.cols_35,.cols_40,.cols_45,.cols_50, .cols_60, .cols_66 { float: left;width: 50%;margin-bottom: 20px }
		/*.timeslots_mobile { display:block }*/
    .dayContainerNotFirst { display:none }
    .dayContainer { width: 50%; }
    .first_container { width: 25%; }
    .first_slots { width: auto; }
}

@media only screen and (max-width: 700px) {
  .cols_25,.cols_30,.cols_33,.cols_35,.cols_40,.cols_45,.cols_50, .cols_60, .cols_66 { float: none;width: 100%; }
  .twinboxes { padding-top: 50vh;background-position: 50% 0;background-size: auto 40%; }
  .text { padding:30px;float: none;width: 100%; }
  .text:after, .alt .text:after, .second.alt .text:after, .third .text:after {
    content: '';
    position: absolute;
    top: -48px;
    transform: translate(-50%, -50%);
    right: auto;
    width: 0;
    height: 0;
    border-left: 50px solid transparent;
    border-right: 50px solid transparent;
    border-bottom: 40px solid #2697a7;
    left: 50%;
  }
  .alt .text:after { border-bottom: 40px solid #2697a7; }
  .second.alt .text:after { border-bottom: 40px solid #5b666a; }
  .third .text:after { border-bottom: 50px solid #413a3d; }
  .footer_block, .footer_block:last-child { float: none;padding:0 0 30px;width:100%; }
}

@media only screen and (max-width: 660px) {
	h1 { font-size: 36px; }
	.subpage_content .buytickets-top h1 { float:none;padding: 0 0 15px; }
	.buytickets-top ul { float: none;text-align: left; }
	.subpage_content .buytickets-top ul li { margin: 0 9px;font-size: 11px;text-align: center; }
}

@media only screen and (max-width: 600px) {
    .grid-container {
        grid-template-columns: auto !important;
    }
  .header_content h1 { font-size: 40px; }
  .header_content h1 em { font-size: 30px; }
  .btn, .header_content .btn { font-size: 20px;padding:7px 15px }
	/*.subpage_content table th, .subpage_content table td { display: block }*/
	.subpage .header_container { padding: 20px 10px; }
	.content_txt { padding: 35px 25px 20px; }
	.simpleform .choose_service label { padding: 60px 30px 20px 45px; }
	.ticket_price {
        /*padding: 30px 20px;*/
        font-size: 24px;
    }
    .buytickets-top ul {
        padding: 0;
    }
}

@media only screen and (max-width: 500px) {
  .header_top { padding: 25px; }
  .nav-trigger { top: 30px;right: 30px; }
  .langmenu { bottom: 15px;left: 10px; }
  .header_container .social { bottom: 20px;right: 16px; }
  .header_container .social a { padding: 10px; }
  .header_container .social img { height: 25px; }
  .footer_inner {
      /*text-align: center;*/
      padding: 30px 30px 330px;
      background-position: 50% 90%;
  }
  .footer_block .social a {
      /*text-align: center;*/
  }
	.subpage_content .buytickets-top ul li { margin: 0 10px 0 0;font-size: 11px; }
	.subpage .footer_inner { padding: 50px 20px 200px; }
	.login-box { width: 100%;top: 0;right:0;left:0;bottom:0; }
    .sometimesHidden {
        display: none;
    }
}

@media only screen and (max-width: 400px) {
	.content_txt { padding: 35px 20px 20px; }
	.timeslots_mobile .dayContainer { padding: 0 10px; }
}

@media only screen and (max-height: 400px) and (min-width: 500px) {
  .langmenu, .header_container .social { display: none }
}

@media only screen and (max-width: 320px) {
    .clearfix h3 a {
        font-size: 25px;
    }
    .langmenu { bottom: 10px;left: 0px; }
    .langmenu li a { padding:3px;font-size: 9px }
    .header_container .social { bottom: 15px;right: 12px; }
    .header_container .social a { padding: 5px; }
    .header_container .social img { height: 20px; }
    .footer_block .social a {
        padding: 5px;
    }
}

@media only screen and (min-width: 768px) {
    .cols_16 {
        width: 16.66666666666667%;
    }
    .cols_20 {
        width: 20%;
    }
    .cols_23 {
        width: 23%;
    }
    .cols_25 {
        width: 25%;
    }
    .cols_30 {
        width: 30%;
    }
    .cols_33 {
        width: 33.3333333%;
    }
    .cols_35 {
        width: 35%;
    }
    .cols_40 {
        width: 40%;
    }
    .cols_45 {
        width: 45%;
    }
    .cols_50 {
        width: 50%;
    }
    .cols_60 {
        width: 60%;
    }
    .cols_66 {
        width: 66.66666666666667%;
    }
    .cols_70 {
        width: 70%;
    }
    .cols_75 {
        width: 75%;
    }
    .cols_80 {
        width: 80%;
    }
    .cols_16,
    .cols_20,
    .cols_25,
    .cols_30,
    .cols_33,
    .cols_35,
    .cols_40,
    .cols_45,
    .cols_50,
    .cols_60,
    .cols_66,
    .cols_70,
    .cols_75,
    .cols_80,
    .cols_100 {
        float: left;
    }
}

@media only screen and (min-width: 1250px) {
    .container { width: 1200px;margin: 0 auto; }
}

@media only screen and (min-width: 941px) {
    .small-sreen .grid-container-inner {
        grid-template-columns: 14% 16% 14% 14% 14% 14% 14% !important;
        box-shadow: none;
    }

    .small-sreen .thStyleBigScreen {
        font-size:15px;
        font-weight:700;
        color:#2697a7;
        padding:10px;
        border-bottom:2px solid #2697a7;
    }
}

@media print {

    .header-wrapper {
        display: none;
    }

    #bg-left {
        display: none;
    }

    #bg-right {
        display: none;
    }

    .printableDiv {
        background-color: white;
        position: fixed;
        top: 0;
        left: 0;
        margin: 0;
        padding: 15px;
    }

    .aside {
        display: none;
    }

    .article {
        width: auto;
        float: left;
        border-left: none;
    }

    .hide-on-print {
        display: none;
    }

    .footer-wrapper {
        display: none;
    }

}

.paymentResultSection {
    overflow: hidden;
    font-size: 13px;
    line-height: 12px;
}

.floatLeftPaymentResult {
    display: inline-block;
    padding-right: 20px;
    float: left;
}

.captchaSize img {
    width: 250px;
    height: 75px;
}

.grid-container {
    display: grid;
    grid-template-columns: auto auto;
    text-align: center;
}

.grid-container-inner {
    display: grid;
    grid-template-columns: 50% 50%;
    box-shadow: 0 0 20px rgba(0,0,0,.3);
}
.grid-item {
    background-color: rgba(255, 255, 255, 0.8);
    padding: 11px;
}

.grid-item:hover {
    background:#f5f5f5
}

.grid-item-inner {
    padding: 9px;
    font-size: 15px;
    text-align: center;
}

.small-sreen .grid-item-inner {
    text-align: left !important;
    margin-left: 10px;
}

.thStyleSmallScreen {
    display: none;
    font-size:15px;
    font-weight:700;
    color:#2697a7;
}

.productDiv {
    max-width: 600px
}

.productDiv p {
    font-size: 13px;
    font-style: italic;
}

.loadingImg {
    text-align: center;
}

.phoneNumberCountryCode {
    width: fit-content;
    padding-right: 1px;
    float: left;
}

.phoneNumber {
    padding-left: 1px;
    overflow: hidden;
}

.phoneNumber .form-message, .phoneNumber p {
    padding: 0;
    margin: 0;
}

.strikethrough {
    position: relative;
    color: rgba(255, 0, 0, 0.5);
    font-size: 16px;
    margin-right: 10px;
}
.strikethrough:before {
    position: absolute;
    content: "";
    left: 0;
    top: 50%;
    right: 0;
    border-top: 1px solid;
    border-color: rgb(255, 0, 0);

    -webkit-transform:rotate(-7deg);
    -moz-transform:rotate(-7deg);
    -ms-transform:rotate(-7deg);
    -o-transform:rotate(-7deg);
    transform:rotate(-7deg);
}

.tooltip {
    display:inline-block;
    position:relative;
    border-bottom:0;
    text-align:center;
}

.tooltip .left {
    min-width:200px;
    top:50%;
    right:100%;
    margin-right:20px;
    transform:translate(0, -50%);
    padding:10px 20px;
    color:#444444;
    background-color: #fff;
    font-weight:normal;
    font-size:13px;
    border-radius:8px;
    border: 4px solid #20B2AA;
    position:absolute;
    z-index:99999999;
    box-sizing:border-box;
    box-shadow:0 1px 8px rgba(0,0,0,0.5);
    visibility:visible; opacity:1;
}

.tooltip .left i {
    color: #20B2AA;
    font-size: 25px;
}

.tooltip .left span {
    position:absolute;
    top:50%;
    left:100%;
    margin-top:-12px;
    width:12px;
    height:24px;
    overflow:hidden;
}

.tooltip .left span::after {
    content:'';
    position:absolute;
    width:12px;
    height:12px;
    left:0;
    top:50%;
    transform:translate(-50%,-50%) rotate(-45deg);
    background-color:#fff;
    box-shadow:0 1px 8px rgba(0,0,0,0.5);
}

.tooltip {
    animation: shake 1.5s;
    animation-iteration-count: 2;
}

@keyframes shake {
    10%, 90% {
        transform: translate3d(-1px, 0, 0);
    }

    20%, 80% {
        transform: translate3d(2px, 0, 0);
    }

    30%, 50%, 70% {
        transform: translate3d(-4px, 0, 0);
    }

    40%, 60% {
        transform: translate3d(4px, 0, 0);
    }
}
