/**************************************************************
	Groepen/touroperator
**************************************************************/
html,
body{
	height: 100%;
}
p.small{
	font-size: 12px;
	line-height: 17px;
}
.strong{
	font-weight: 700;
}
.wrapper{
	overflow: hidden;
	min-height: 100%;
}

/*************************************
	Buttons
*************************************/
.button{
	position: relative;
}
.button:focus{
	outline: none;
}
.button.right{
	float:right;
}
.button.blue{
	border-color: transparent;
	background: #c40037;
	color: #FFF;
	text-transform: none;
}
.button.red{
	border-color: transparent;
	background: #c92323;
	color: #FFF;
	text-transform: none;
}
.button.gray{
	border-color: transparent;
	background: #F0F0F0;
	color: #4A4A4A;
	text-transform: none;
}
.button.dark-gray{
	border-color: transparent;
	background: #4A4A4A;
	color: #FFF;
	text-transform: none;
}
.button.white{
	border-color: #c40037;
	background: #FFF;
	color: #c40037;
	text-transform: none;
	font-weight: 700;
}
.button .icon-font.left,
.button .icon-font.right{
	position: absolute;
	top: 50%;
	margin: -6px 0 0;
	font-size: 12px;
}
.button .icon-font.left{
	left: 10px;
}
.button .icon-font.right{
	right: 10px;
}
.paymentTypeButton{
	opacity:0.5;
	cursor:pointer;
}
.paymentTypeButton.paymentTypeActive{
	cursor:pointer;
	opacity:1.0;
}
.icons.icon-cross:before{
	content:"\00D7";
	margin-left: 15px;
	color:#FFF;
}

/*************************************
	displays
*************************************/
.tablet,
.desktop{
	display: none;
}
@media screen and (min-width: 768px){
	.tablet{
		display: block;
	}
	span.tablet{
		display: inline;
	}
	.mobile{
		display: none;
	}
}
@media screen and (min-width: 992px){
	.desktop{
		display: block;
	}
	span.desktop{
		display: inline;
	}
	.desktop-hide{
		display: none;
	}
}

/*************************************
	.input-icon
*************************************/
.input-icon{
	display: inline-block;
	height: 16px;
	width: 16px;
	padding: 2px;
	border: 2px solid #CCCCCC;
}
.input-icon .fill{
	display: none;
	height: 100%;
	width: 100%;
	background: #c40037;
}
.input-icon.radio,
.input-icon .fill{
	-webkit-border-radius: 50%;
	-moz-border-radius: 50%;
	border-radius: 50%;
}

/**************************************************************
	touroperator-login
**************************************************************/
.page-body.page-login {
	background: #000;
}

@media screen and (min-width: 768px){
	.page-body.page-login .header{
		height: 300px;
	}
}

/*************************************
	.login-section
*************************************/
.login-section{
	width: 360px;
	margin: 0 auto;
	color: #FFF;
	text-align: center;
	padding:20px;
	-webkit-border-radius: 24px;
	-moz-border-radius: 24px;
	border-radius: 24px;
	background-color:rgb(0,0,0,0.5);
}
.login-section label{
	cursor: pointer;
}
.login-section .title{
	display: block;
	margin: 0 0 20px;
	font-size: 18px;
	line-height: 18px;
}
.login-section > input{
	margin: 0 0 10px;
}
.page-body.page-login .login-section > input{
	background:#FFFFFF;
}
.login-section [type="checkbox"]{
	display: none;
}
.login-section > .button{
	margin: 20px 0 0;
}
.forgot-password-container{
	font-size: 14px;
	line-height: 16px;
}
.forgot-password-container {
	clear:left;
}
.forgot-password-container h1 {
	color: #c40037;
}
.forgot-password-container .message-container{
	padding: 20px;
	margin: 0;
	background: #FFF;
	color: #4A4A4A;

	-webkit-border-radius: 16px;
	-moz-border-radius: 16px;
	border-radius: 16px;
}
.forgot-password-container .hidden-container{
	overflow: hidden;
	position: relative;
	max-height: 0;
	padding: 0 20px;
}
.forgot-password-container .label-link{
	font-size: 12px;
	line-height: 12px;
	text-decoration: underline;
	color: #FFFFFF;
	padding-left:0;
}
.forgot-password-container #forgot-password-btn {
	font-size:14px;
	width:100%;
	margin-top:20px;
}
#forgot-password-check:checked ~ .hidden-container{
	max-height: 300px;
	padding: 20px;
	margin: 20px 0 0;

	-webkit-transition: max-height 0.3s ease;
	-moz-transition: max-height 0.3s ease;
	-ms-transition: max-height 0.3s ease;
	-o-transition: max-height 0.3s ease;
	transition: max-height 0.3s ease;
}
#forgot-password-check:checked ~ .label-link{
	display: none;
}
.forgot-password-container .hide-button{
	position: absolute;
	top: 10px;
	right: 10px;
}
.forgot-password-container h1{
	margin: 0 0 7px;
	font-size: 14px;
	line-height: 14px;
}

#forgot-password-input.error, input.error{
	border-color: #F03333;
}

.page-ota .form-container .error_message {
	background: #d32230;
	color: #fff;
	width: 262px;
	position: relative;
	top: .625rem;
	left: 0;
	padding: .625rem .625rem!important;
	line-height: 1.375rem!important;
	display: block;
	clear: both;
}
.page-ota .form-container .row-fluid.error .error_message{
	width: 100%;
}

.page-ota .form-container .error_message a
{
	color: #ffffff;
}

.page-ota .form-container .error_message:before, .page-ota .form-ticket .row-fluid.error .error_message:before{
	content: "";
	display: block;
	position: absolute;
	top: -0.625rem;
	left: 0;
	width: 0;
	height: 0;
	margin-left: 40px;
	border: solid 1.25rem transparent;
	border-top-width: 0;
	line-height: 1em!important;
	border-bottom-color: #d32230;
}

.page-ota .form-container .row.error input{
	border: 1px solid #d32230;
	background-color: #fed8e4;
}

/*************************************
	#log-container
*************************************/
#log-container{
	position: relative;
	height: 50px;
	width: 100%;
	padding: 15px 15px 15px 65px;
	background: #c40037;
	color: #FFF;
	font-size: 14px;
	font-weight: 500;
	line-height: 20px;
	text-align: center;
}
#logout-button{
	position: absolute;
	top: 0;
	left: 0;
	height: 100%;
	width: 50px;
	padding: 15px;
	background: #FFF;
	color: #c40037;
	text-decoration: none;
	text-align: center;
}
#logout-button .icon-font{
	vertical-align: middle;
}
@media screen and (min-width: 768px){
	#log-container{
		text-align: right;
	}
	#logout-button{
		width: auto;
	}
	#logout-button .icon-font{
		margin: 0 10px 0 0;
	}
}
@media screen and (max-width:600px){
	#log-container > span{
		position:absolute;
		left:0;
	}
	#logout-button .icon-font:before{
		content:'<';
		font-weight:bold;
	}
}

p.login-error{
	border-radius:15px;
	border:2px solid #ca0000;
	background-color:rgba(255, 255, 255, 0.1);
	padding:5px 0;
}
p.login-error, p.login-error a{
	color:#FFF;
}

/**************************************************************
	.page-ota
**************************************************************/
.page-ota{

}
.page-ota .header{
	position: relative;
}
.page-ota section{
	padding: 0;
}

/*************************************
	.text-container
*************************************/
.text-container{
	margin: 0 0 30px;
}

.notification
{
	background: #F4EBC0;
	padding: 20px;
}

/*************************************
	.selectbox
*************************************/
.page-ota .orders-zone .selectbox{
	position: relative;
	float: left;
	height: 34px;
	border: 1px solid #979797;

	-webkit-border-radius: 17px;
	-moz-border-radius: 17px;
	border-radius: 17px;
}
.page-ota .orders-zone .selectbox select{
	float: left;
	position: relative;
	height: 100%;
	width: 100%;
	border: 0;
	padding: 0 25px 0 15px;
	background: transparent;

	-webkit-appearance: none;
	-moz-appearance: none;
	-o-appearance: none;
	-ms-appearance: none;
	appearance: none;
}
.page-ota .orders-zone .selectbox .icon-font{
	position: absolute;
	top: 50%;
	right: 10px;
	margin: -8px 0 0;
	color: #c40037;
	font-size: 16px;
}
.page-ota #tickets-container .selectbox select option:disabled{
	display:none;
}
.page-ota .selectbox#program-tours-select option:disabled{
	display:none;
}

/*************************************
	.input-container
*************************************/
.input-container{

}
.input-container .input{
	position: relative;
	overflow: hidden;
	height: 33px;
	border: 1px solid #D8D8D8;
	background: #F5F5F5;

	-webkit-border-radius: 33px;
	-moz-border-radius: 33px;
	border-radius: 33px;
}
.input-container .input .placeholder{
	position: absolute;
	top: 50%;
	margin: -9px 0 0;
	font-size: 18px;
	line-height: 18px;
}
.input-container .input .placeholder.left{
	left: 10px;
}
.input-container .input .placeholder.right{
	right: 10px;
}
.input-container .input input{
	height: 100%;
	width: 100%;
	padding: 0 15px;
	border: 0;
	background: transparent;
}
.input-container .input .placeholder.left + input{
	padding-left: 30px;
}
.input-container .input .placeholder.right + input{
	padding-right: 30px;
}

/*************************************
	.checkbox-container
*************************************/
.checkbox-container{
	position: relative;
	padding: 0 0 0 25px;
}
.checkbox-container input{
	position: absolute;
	top: 3px;
	left: 0;
}
.checkbox-container label{
	display: block;
	cursor: pointer;
}

/*************************************
	.table-container
*************************************/
.table-container{
	display: table;
	width: 100%;
	border-bottom: 1px solid #D8D8D8;
}
.table-container .row{
	display: table-row;
	margin: 0;
}
.table-container .cell{
	overflow: hidden;
	display: table-cell;
	vertical-align: middle;
	padding: 10px;
	border-top: 1px solid #D8D8D8;
}
.table-container .cell:first-child{
	padding-left: 15px;
}
.table-container .cell:last-child{
	padding-right: 15px;
}

/*************************************
	.table-input-container
*************************************/
.table-input-container{

}
.table-input-container .row{
	border-bottom: 1px solid rgba(0,0,0,.2);
	margin: 0;
}
.table-input-container .row:first-child{
	border-top: 1px solid rgba(0,0,0,.2);
}
.table-input-container input{
	display: none;
}
.table-input-container label{
	display: block;
	position: relative;
	padding: 15px 0 15px 40px;
	cursor: pointer;
}
.table-input-container .input-icon{
	position: absolute;
	top: 50%;
	left: 0;
	margin: -8px 0 0;
}
.table-input-container :checked ~ label .fill{
	display: block;
}

/*************************************
	.form-container
*************************************/
.form-container{
	color: #1B2024;
	font-size: 14px;
	line-height: 18px;
}
.form-container .row{
	margin: 20px 0 0;
}
.form-container .row:first-child{
	margin: 0;
}
.form-container .row:before,
.form-container .row:after{
	display: none;
}
.form-container .cell{

}
.form-container label{
	display: block;
	margin: 0 0 10px;
	font-size: 16px;
	font-weight: 700;
	line-height: 18px;
}
.form-container input,
.form-container textarea,
.orders-zone textarea{
	font: inherit;
	color: inherit;
	border: 1px solid #D8D8D8;
	background: #F5F5F5;

	-webkit-border-radius: 16px;
	-moz-border-radius: 16px;
	border-radius: 16px;
}
.form-container input{
	height: 32px;
	width: 100%;
	padding: 0 15px;
}
.form-container textarea{
	height: 150px;
	width: 100%;
	padding: 15px;
	resize: none;
}
@media screen and (min-width: 768px){
	.form-container{
		width: 480px;
	}
	.form-container .row{
		display: table;
		width: 100%;
		margin: 30px 0 0;
	}
	.form-container .cell{
		display: table-cell;
	}
	.form-container .cell.input{
		width: 260px;
	}
}

/*************************************
	.row-container
*************************************/
.row-container{
	overflow: hidden;
}
.row-container .top-row,
.row-container .cells-container{
	overflow: hidden;
	display: table;
	width: 100%;
	margin: 0;

	-webkit-transition: all 0.3s ease;
	-moz-transition: all 0.3s ease;
	-ms-transition: all 0.3s ease;
	-o-transition: all 0.3s ease;
	transition: all 0.3s ease;
}
.row-container .top-row,
.row-container .row{
	border-bottom: 1px solid #D8D8D8;
}
.row-container .top-row{
	padding: 10px 0;
	font-weight: 500;
}
.row-container .row{
	padding: 10px;
	margin: 0;
}
.row-container .row:before,
.row-container .row:after{
	display: none;
}
.row-container .row.hidden{
	display: block !important;
	max-height: 0;
	padding: 0;
	opacity: 0;
}
.row-container .cell{
	display: table-cell;
	vertical-align: middle;
}
.row-container .cell:first-child{
	padding-right: 0;
}
.row-container .cell.type{
	width: auto;
}
.row-container .cell.type .mobile-price{
	display: block;
}
.row-container .cell.price{
	display: none;
	width: 20%;
}
.row-container .top-row .cell.number{
	text-align: right
}
.row-container .cell.number{
	width: 70px;
}
.page-ota .row-container .cell.number .selectbox,
.row-container .cell.number .selectbox{
	float: right;
	width: 80px;
}
.row-container .cell.subtotal{
	display: none;
	width: 20%;
	text-align: right;
	white-space: nowrap;
}
.row-container .info-button{
	color: #c40037;
	text-decoration: none;
}
.row-container .description-container{
	display: none;
	margin: 10px 0 0;
}
.row-container .description-container p:first-child{
	margin: 0;
}
.row-container .total-row{
	display: none;
	overflow: hidden;
	width: 100%;
	padding: 10px 10px 0;
	font-weight: 500;
}
.row-container .display-rows{
	position: relative;
	display: inline-block;
	padding-right: 25px;
	color: #c40037;
	font-size: 16px;
	line-height: 16px;
	text-decoration: none;
}
.row-container .display-rows .icon-font{
	position: absolute;
	top: 50%;
	right: 0;
	margin: -4px 0 0;
	font-size: 8px;
}
.row-container #total-price{
	float: right;
}
@media screen and (min-width: 768px){
	.row-container .cell{
		padding: 0 0 0 10px;
	}
	.row-container .cell.type{
		width: 40%;
	}
	.row-container .cell.type .mobile-price{
		display: none;
	}
	.row-container .cell.price{
		display: table-cell;
	}
	.row-container .top-row .cell.number{
		text-align: left
	}
	.row-container .cell.number{
		width: 20%;
	}
	.page-ota .row-container .cell.number .selectbox,
	.row-container .cell.number .selectbox{
		float: left;
	}
	.row-container .cell.subtotal{
		display: table-cell;
	}
}

/*************************************
	.dialog-container
*************************************/
.ui-dialog{
	outline: none;
}
.ui-dialog-titlebar{
	display: none;
}
.dialog-container{
	position: relative;
	margin: 0 auto;
	background: #FFF;
	z-index: 101;
}
.dialog-container.small{
	max-width: 320px;
	line-height: 19px;
	text-align: center;

	-webkit-border-radius: 10px;
	-moz-border-radius: 10px;
	border-radius: 10px;
}
.dialog-container .dialog-header{
	position: relative;
}
.dialog-container .dialog-header .close-dialog-button{
	position: absolute;
	top: 15px;
	right: 15px;
	font-size: 16px;
	text-decoration: none;
}
.dialog-container .dialog-content{
	padding: 40px 30px 20px;
}
.dialog-container .dialog-content p{
	margin: 16px 0 0;
}
.dialog-container .dialog-content p:first-child{
	margin: 0;
}
.page-ota .dialog-container.small{
	height: auto !important;
	padding: 0;
}
.page-ota .dialog-header{
	height: auto;
}
.page-ota .dialog-content{
	width: auto;
}

/*************************************
	.sections-container
*************************************/
.sections-container{
	overflow: hidden;
	max-width: 640px;
	padding: 20px 0;
	margin: 0 auto;
}
@media screen and (min-width: 992px){
	.sections-container{
		max-width: 900px;
		padding: 40px 0;
	}
}

/*************************************
	.ticket-zone
*************************************/
.page-ota .ticket-zone{
	padding: 0 15px 30px;
}
.page-ota .ticket-zone h2{
	margin: 0 0 20px;
	color: #1B2024;
	font-size: 20px;
	line-height: 20px;
}
@media screen and (min-width: 768px){
	.page-ota .ticket-zone{
		width: 640px;
		margin: 0 auto;
	}
}
@media screen and (min-width: 992px){
	.page-ota .ticket-zone{
		float: left;
		padding: 0 15px;
	}
}

/*************************************
	.sidebar-section
*************************************/
.page-ota .sidebar-section{
	padding: 0;
	font-size: 12px;
	line-height: 18px;
}
.sidebar-section h3,
.sidebar-section p{
	margin: 0 0 18px;
}
.sidebar-section h3:last-child,
.sidebar-section h4,
.sidebar-section p:last-child{
	margin: 0;
}
.sidebar-section h3{
	color: #c40037;
	text-align: center;
}
.sidebar-item{
	padding: 15px 0 20px;
	margin: 10px 0 0;
	background: #F0F0F0;
}
.sidebar-item:first-child{
	margin: 0;
}
.item-wrapper{
	max-width: 640px;
	padding: 0 15px;
	margin: 0 auto;
}
#continue-to-payment-button{
	position: relative;
	display: block;
	padding: 10px;
	background: #c40037;
	color: #FFF;
	text-decoration: none;
	text-align: center;
}
#continue-to-payment-button .icon-font{
	position: absolute;
	top: 50%;
	font-size: 20px;
	margin: -10px 0 0;
}
#continue-to-payment-button .left{
	left: 15px;
}
#continue-to-payment-button .right{
	right: 15px;
}

/****** .sidebar-item.toggle ******/
.sidebar-item.toggle{
	padding: 0;
}
.sidebar-item.toggle .handler{
	position: relative;
	padding: 20px 30px;
	cursor: pointer;
}
/*** .icons-container ***/
.sidebar-item.toggle .icons-container{
	position: absolute;
	top: 50%;
	left: 0;
	margin: -3px 0 0;
	font-size: 6px;
	line-height: 1;
}
.sidebar-item.toggle .icons-container .active{
	display: none;
}
.sidebar-item.toggle .title{
	overflow: hidden;
	display: block;
	white-space: nowrap;
	text-overflow: ellipsis;
	font-weight: 500;
}
/*** .actions-container ***/
.sidebar-item.toggle .actions-container{
	position: absolute;
	top: 50%;
	right: 0;
	margin: -7px 0 0;
	font-size: 14px;
}
.sidebar-item.toggle .actions-container a{
	float: left;
	margin: 0 0 0 5px;
	color: #c40037;
	text-decoration: none;
}
.sidebar-item.toggle .actions-container a:first-child{
	margin: 0;
}
/*** .hidden-container ***/
.sidebar-item.toggle .hidden-container{
	overflow: hidden;
	max-height: 0;
	max-width: 360px;
	margin: 0 auto;
	opacity: 0;

	-webkit-transition: all 0.3s ease;
	-moz-transition: all 0.3s ease;
	-ms-transition: all 0.3s ease;
	-o-transition: all 0.3s ease;
	transition: all 0.3s ease;
}
.sidebar-item.toggle .hidden-container .section{
	position: relative;
	padding: 0 0 40px;
	border-bottom: 1px solid rgba(0,0,0,.2);
	margin: 0 0 20px;
}
.sidebar-item.toggle .hidden-container .section:last-child{
	padding-bottom: 25px;
	border: 0;
	margin: 0;
}
.sidebar-item.toggle .hidden-container ul{
	padding: 0;
	margin: 0;
	list-style: none;
}
.sidebar-item.toggle .hidden-container li{
	overflow: hidden;
}
.sidebar-item.toggle .hidden-container .section .edit{
	position: absolute;
	bottom: 15px;
	right: 0;
	color: #c40037;
	font-weight: 500;
	text-decoration: none;
}
.sidebar-item.toggle .hidden-container .section:last-child .edit{
	bottom: 0;
}
/***** .sidebar-table *****/
.sidebar-table{
	width: 100%;
}
.sidebar-table tr{
	margin: 0;
}
.sidebar-table td{
	padding: 0 5px 0 0;
}
.sidebar-table td:last-child{
	padding: 0;
	text-align: right;
}
.sidebar-table td.name{

}
.sidebar-table td.number{
	font-weight: 700;
}
.sidebar-table td.subtotal{
	white-space: nowrap;
}
.sidebar-table tfoot{
	font-weight: 700;
}
/*** .active ***/
.sidebar-item.toggle.active .icons-container .inactive,
.sidebar-item.toggle.active .actions-container .edit{
	display: none;
}
.sidebar-item.toggle.active .icons-container .active{
	display: block;
}
.sidebar-item.toggle.active .hidden-container{
	max-height: 1000px;
	opacity: 1;
	padding: 0 0 20px;
}
/*** #grand-total-price ***/
#grand-total-price{
	max-width: 390px;
	padding: 0 15px;
	margin: 20px auto 0;
	color: #4A4A4A;
	font-weight: 700;
}
#grand-total-price .wrap{
	overflow: hidden;
	padding: 10px 0 0;
	border-top: 1px solid rgba(0,0,0,.2);
	margin: 0 auto;
}
#grand-total-price .right{
	float: right;
}
#sidebar-complete-booking{
	float:right;
	padding:10px 12px;
}
#sidebar-complete-booking a{
	text-decoration:none;
	color:#c40037;
	font-weight:500;
}

@media screen and (min-width: 640px){
	.page-ota .sidebar-section{
		padding: 0 15px;
	}
}
@media screen and (min-width: 992px){
	.page-ota .sidebar-section{
		float: right;
		width: 230px;
		padding: 0;
	}
	.sidebar-item{
		padding: 15px 0 20px;

		-webkit-border-radius: 3px;
		-moz-border-radius: 3px;
		border-radius: 3px;
	}
	#continue-to-payment-button{
		padding: 10px 20px 10px 60px;
		text-align: left;

		-webkit-border-radius: 3px;
		-moz-border-radius: 3px;
		border-radius: 3px;
	}
	#continue-to-payment-button .right{
		display: none;
	}
	/****** .sidebar-item.toggle ******/
	.sidebar-item.toggle .item-wrapper{
		padding: 0;
	}
	.sidebar-item.toggle .handler{
		padding: 20px 50px;
	}
	/*** .icons-container ***/
	.sidebar-item.toggle .icons-container{
		left: 20px;
	}
	/*** .actions-container ***/
	.sidebar-item.toggle .actions-container{
		right: 20px;
	}
	/*** .hidden-container ***/
	.sidebar-item.toggle .hidden-container{
		padding: 0 20px;
	}
	/*** .active ***/
	.sidebar-item.toggle.active .hidden-container{
		padding: 0 20px 20px;
	}

	/*** .sidebar-item.summary ***/
	#sidebar-summary-button{
		padding: 20px 20px 20px 50px;
		text-align: left;

		-webkit-border-radius: 3px;
		-moz-border-radius: 3px;
		border-radius: 3px;
	}
	#sidebar-summary-button .icon-font{
		margin: -5px 0 0;
		font-size: 10px;
	}
}

/*************************************
	#current-tour-description
*************************************/
#current-tour-description{
	display: none;
}
#current-tour-description .info{
	max-width: 360px;
	margin: 0 auto 20px;
}
#current-tour-description .info:last-child{
	margin: 0 auto;
}

/*************************************
	#current-tour-booking
*************************************/
#current-tour-booking{
	display: block;
	padding: 20px 0;
}
#current-tour-booking .hidden-container{
	padding-bottom: 0;
}
#current-tour-booking .info{
	max-width: 360px;
	margin: 0 auto 20px;
}
#current-tour-booking .info:last-child{
	margin: 0 auto;
}
/*** .section.current ***/
#current-tour-booking .section.current{
	font: inherit;
	padding-bottom: 0;
}
#current-tour-booking .section.current .edit{
	display: none;
}

/*************************************
	.nav-bar
*************************************/
/*.nav-bar{
	overflow: hidden;
	margin: 0 0 30px;
	color: #1B2024;
	font-size: 14px;
	line-height: 18px;
	text-align: center;
}
.nav-bar ul{
	display: table;
	table-layout: fixed;
	width: 100%;
	padding: 0;
	margin: 0;
	list-style: none;
}
.nav-bar li{
	display: table-cell;
}
.nav-bar a{
	color: #1B2024;
	text-decoration: none;
}
.nav-bar .active a{
	font-weight: 700;
}
.nav-bar li.prev-inactive,
.nav-bar li.prev-inactive a
{
	color: gray;
}
@media screen and (min-width: 768px){
	.nav-bar{
		text-align: left;
	}
	.nav-bar ul{
		table-layout: auto;
	}
}*/

/*************************************
	#program-container
*************************************/
#program-container{
	margin: 0 0 40px;
	font-size: 16px;
	line-height: normal;
}
#program-container .table-container,
#program-container .row,
#program-container .cell{
	display: block;
}
#program-container .table-container{
	border: 0;
}
#program-container .row{
	margin: 0 0 20px;
}
#program-container .cell{
	padding: 0;
	border: 0;
}
#program-container label{
	display: block;
	margin: 0 0 10px;
	font-weight: 500;
}
#program-container .selectbox{
	float: right;
	width: 100%;
}
#program-total{
	display: none;
	overflow: hidden;
	font-weight: 500;
}
#program-total .right{
	float: right;
}
#program-total .detail{
	display: none;
}
@media screen and (min-width: 768px){
	#program-persons-select.selectbox{
		width: 70px;
	}
	#program-container .table-container{
		display: table;
		border-bottom: 1px solid #D8D8D8;
		margin-bottom: 20px;
	}
	#program-container .row{
		display: table-row;
	}
	#program-container .cell{
		display: table-cell;
		padding:  10px;
		border-top: 1px solid #D8D8D8;
	}
	#program-container .cell:first-child{
		padding-left: 15px;
	}
	#program-container .cell:last-child{
		padding-right: 15px;
	}
	#program-container label{
		margin: 0;
	}
	#program-total{
		padding: 0 15px;
	}
	#program-total .detail{
		display: inline;
	}
}

/*************************************
	#datepicker-container
*************************************/
#datepicker-container{
	position: relative;
	display: none;
	margin: 0 0 40px;
}
#datepicker-container .datepicker-calendar{
	position: relative;
	display: block;
}
#datepicker-container .ui-datepicker-calendar{
	width: 100%;
}
#datepicker-container .ui-datepicker-prev,
#datepicker-container .ui-datepicker-next{
	top: 0;
	height: 30px;
	width: 30px;
}
#datepicker-container .ui-datepicker-prev span.ui-icon,
#datepicker-container .ui-datepicker-next span.ui-icon{
	position: absolute;
	top: 0;
	right: 0;
	bottom: 0;
	left: 0;
	margin: auto;
}
#datepicker-container .ui-datepicker-prev{
	right: auto;
	left: 0;
}
#datepicker-container .ui-datepicker-next{
	right: 0;
}
#datepicker-container .ui-datepicker-prev.ui-state-disabled,
#datepicker-container .ui-datepicker-next.ui-state-disabled{
	display: block;
	opacity: .2;
}
#datepicker-container .ui-datepicker-title{
	margin: 0 !important;
	text-align: center !important;
}
#datepicker-container td.ui-datepicker-current-day a{
	background: #c40037 !important;
}
@media screen and (min-width: 768px){
	#datepicker-container .ui-datepicker-prev{
		right: 35px;
		left: auto;
	}
	#datepicker-container .ui-datepicker-title{
		text-align: left !important;
	}
}

/*************************************
	.reference-container
*************************************/
@media (min-width: 768px) {
	.reference-container .item{
		display: inline-block;
		margin: 0 10px 0 0;
	}
}

/*************************************
	#timeslots-container
*************************************/
#timeslots-container{
	display: none;
	margin: 0 0 40px;
}
#timeslots-container .color-block.green{
	background-color: #5DA14D;
}
#timeslots-container .color-block.orange{
	background-color: #F26F21;
}
.timeslots-container{
	overflow: hidden;
	position: relative;
	line-height: 20px;
	text-align: center;
}
.timeslots-container .wrap{
	overflow: hidden;
	padding: 1px 0 0 1px;
}
.timeslots-container .item{
	float: left;
	width: 33.333%;
	border: 1px solid #E7E7E7;
	margin: -1px 0 0 -1px;
}
.timeslots-container input{
	display: none;
}
.timeslots-container label{
	display: table;
	height: 60px;
	width: 100%;
	cursor: pointer;
}
.timeslots-container label .wrap{
	display: table-cell;
	vertical-align: middle;
}
.timeslots-container .time,
.timeslots-container .availability{
	display: block;
}
.timeslots-container .time{
	font-size: 16px;
}
.timeslots-container .availability{
	overflow: hidden;
	font-size: 11px;
	white-space: nowrap;
	text-overflow: ellipsis;
}
/* colors */
.timeslots-container .green .time{
	color: #5DA14D;
}
.timeslots-container .orange .time{
	color: #F26F21;
}
/*** :checked ***/
.timeslots-container :checked + label,
.timeslots-container :checked + label .time{
	background: #c40037;
	color: #FFF;
}
/*** :disabled ***/
.timeslots-container :disabled + label{
	cursor: default;
}
.timeslots-container :disabled + label .time{
	color: #E7E7E7;
}
@media screen and (min-width: 768px){
	.timeslots-container .item{
		width: 16.666%;
	}
}

/*************************************
	#scroll-down-container & #scroll-up-container
*************************************/
#scroll-down-container,
#scroll-up-container{
	overflow: hidden;
	max-width: 390px;
	margin: 0 auto 20px;
}
#scroll-up-container{
	padding: 0 15px;
}
#scroll-down-container .button,
#scroll-up-container .button{
	float: left;
	width: 100%;
	padding: 9px 25px;
	font-size: 16px;
	line-height: 16px;
	font-weight: 700;
	text-align: center;
}
#scroll-down-container .button .icon-font,
#scroll-up-container .button .icon-font{
	position: absolute;
	top: 50%;
	font-size: 6px;
	margin: -3px 0 0;
}
#scroll-down-container .button .icon-font.left,
#scroll-up-container .button .icon-font.left{
	left: 10px;
}
#scroll-down-container .button .icon-font.right,
#scroll-up-container .button .icon-font.right{
	right: 10px;
}
/*** .full ***/
#scroll-down-container.full{
	max-width: 610px;
	padding: 0;
}
#scroll-down-container.full .button{
	padding-top: 21px;
	padding-bottom: 21px;

	-webkit-border-radius: 0;
	-moz-border-radius: 0;
	border-radius: 0;
}

/*************************************
	#tickets-container
*************************************/
#tickets-container{
	margin: 0 0 30px;
}
#tickets-container .cell.price,
#tickets-container .cell.subtotal,
#tickets-container .cell.subtotal .value{
	display: none;
}
@media screen and (min-width: 768px){
	#tickets-container .cell.price,
	#tickets-container .cell.subtotal{
		display: table-cell;
	}
}

/*************************************
	#match-number-of-persons-dialog
*************************************/
#match-number-of-persons-dialog .button{
	width: 200px;
	margin: 20px 0 0;
}

/*************************************
	#coupon-container
*************************************/
#coupon-container{
	margin: 0 0 30px;
}
#coupon-input-container{
	position: relative;
}
#coupon-container .input-container .input{
	margin: 0 0 10px;
}
#coupon-submit-btn{
	width: 100%;
	padding: 11.5px 15px;
	font-weight: 500;
	text-align: center;

	-webkit-transition: background 0.3s ease;
	-moz-transition: background 0.3s ease;
	-ms-transition: background 0.3s ease;
	-o-transition: background 0.3s ease;
	transition: background 0.3s ease;
}
#coupon-submit-btn .success,
#coupon-submit-btn .loading{
	display: none;
}
#coupon-submit-btn .loading{
	height: 20px;
	width: 20px;
}
#discount-row{
	display: none;
}
#discount-row a{
	color: #c40037;
	font-size: 30px;
	text-decoration: none;
	vertical-align: middle;
}
/*** loading ***/
#coupon-container.loading{

}
#coupon-container.loading .button{
	padding: 7.5px 15px;
}
#coupon-container.loading .button .default{
	display: none;
}
#coupon-container.loading .button .loading{
	display: inline;
}
/*** success ***/
#coupon-container.success{

}
#coupon-container.success .input{
	border-color: #5DA14D;
}
#coupon-container.success .button{
	background-color: #5DA14D;
}
#coupon-container.success .button .default{
	display: none;
}
#coupon-container.success .button .success{
	display: inline;
}
/*** error ***/
#coupon-container.error{

}
#coupon-container.error .error-container{
	display: block;
}
#coupon-container.error .input{
	border-color: #F03333;
}

@media screen and (min-width: 768px){
	#coupon-container .input-container .input{
		float: left;
		width: 260px;
		margin: 0 10px 0 0;
	}
	#coupon-submit-btn{
		width: 150px;
	}
}

/*************************************
	#donation-container
*************************************/
#donation-container{
	margin: 0 0 30px;
}
@media screen and (min-width: 768px){
	#donation-container .input-container .input{
		width: 260px;
	}
}

/*************************************
	#group-info-container
*************************************/
#group-info-container{
	margin: 0 0 30px;
}

/*************************************
	#personal-data-container
*************************************/
#personal-data-container{
	margin: 0 0 30px;
}

/*************************************
	#agreements-container
*************************************/
#agreements-container{
	margin: 0 0 30px;
	font-size: 12px;
	line-height: 17px;
}
#agreements-container .checkbox-container{
	margin: 0 0 20px;
}

/*************************************
	#summary-container
*************************************/
#summary-container{

}
#summary-container .summary-section{
	position: relative;
	padding: 0 0 35px;
	border-bottom: 1px solid rgba(0,0,0,.2);
	margin: 0 0 30px;
}
#summary-container .summary-section .edit{
	position: absolute;
	bottom: 10px;
	right: 0;
	color: #c40037;
	font-weight: 500;
	line-height: 18px;
	text-decoration: none;
}
#summary-container ul{
	padding: 0;
	margin: 0;
	list-style: none;
}
#summary-container .summary-section.personal-data{
	font-weight: 700;
}
#summary-container .cell.number{
	width: 70px;
	text-align: right;
}
#summary-container .cell.subtotal{
	display: table-cell;
	width: 100px;
	padding: 0;
}
#summary-container .row .cell.subtotal{
	font-weight: 500;
}
#donation-row{
	display: none;
}
#summary-container .total-row{
	display: block;
	padding-right: 0;
	padding-left: 0;
}
@media screen and (min-width: 768px){
	#summary-container .cell.number{
		display: table-cell;
	}
	#summary-container .cell.subtotal{
		padding-right: 10px;
	}
	#summary-container .total-row{
		padding-right: 10px;
		padding-left: 10px;
	}
}

/*************************************
	#another-reservation-container
*************************************/
#another-reservation-container{
	margin: 0 0 30px;
}
#another-reservation-container .table-input-container{
	margin: 10px 0 0;
}

/*************************************
	#bookings-container
*************************************/
#bookings-container{
	margin: 0 0 30px;
}
#bookings-container .table-container{
	margin-bottom: 15px;
}
#bookings-container .table-container .cell:first-child{
	padding-left: 0;
}
#bookings-container .table-container .cell:last-child{
	padding-right: 0;
}
#bookings-container .subtotal{
	font-weight: 500;
	text-align: right;
	white-space: nowrap;
}
#bookings-total{
	overflow: hidden;
	font-weight: 500;
}
#bookings-total .right{
	float: right;
	font-weight: 700;
}
#bookings-total .detail{
	display: none;
}
@media screen and (min-width: 768px){
	#bookings-total{
		padding: 0 15px;
	}
	#bookings-total .detail{
		display: inline;
	}
	#bookings-container .table-container .cell:first-child{
		padding-left: 15px;
	}
	#bookings-container .table-container .cell:last-child{
		padding-right: 15px;
	}
}

/*************************************
	#payment-container
*************************************/
#payment-container{
	margin: 0 0 30px;
}
.payment-container{
	overflow: hidden;
	max-width: 440px;
	margin: 0 0 10px;
}
.payment-container .item{
	float: left;
	height: 70px;
	width: 100px;
	margin: 0 10px 10px 0;
}
.payment-container .item.hide{
	display: none;
}
.payment-container input{
	display: none;
}
.payment-container label,
.payment-container img{
	display: block;
	height: 100%;
	width: 100%;
}
.payment-container label{
	border: 1px solid #E7E7E7;
	cursor: pointer;
}
.payment-container :checked + label{
	background: #E7E7E7;
}
#payment-container .more-payment-types-link{
	position: relative;
	padding-right: 25px;
	color: #c40037;
	text-decoration: none;
}
#payment-container .more-payment-types-link .icon-font{
	position: absolute;
	top: 50%;
	right: 0;
	margin: -4px 0 0;
	font-size: 8px;
}

/*************************************
	#continue-to-payment-dialog
*************************************/
#continue-to-payment-dialog .button{
	margin: 20px 0 0;
}

/*************************************
	#tour-descriptions-container
*************************************/
#tour-descriptions-container{
	display: none;
}

/*************************************
	#remove-booking-dialog
*************************************/
#remove-booking-dialog{

}
#remove-booking-dialog .button{
	margin: 20px 0 0;
}

/*************************************
	.buttons-container
*************************************/
.buttons-container{
	overflow: hidden;
}
.buttons-container .button{
	min-width: 110px;
	font-size: 13px;
}
.buttons-container .button.right{
	float: right;
}
#next-step-btn:disabled{
	opacity: .3;
}

/*************************************
	.loading-overlay
*************************************/
.loading-overlay{
	position: absolute;
	top: 0;
	left: 0;
	height: 100%;
	width: 100%;
	background: rgba(0,0,0,.5);
	z-index: 1;
}
.spinner{
	position: absolute;
	top: 0;
	right: 0;
	bottom: 0;
	left: 0;
	height: 50px;
	width: 50px;
	margin: auto;
}
.spinner img{
	max-width: 100%;
}

/*************************************
	#thankyou-container
*************************************/
#thankyou-container{
	color: #1B2024;
}
#thankyou-container h1{
	margin: 0 0 20px;
	font-size: 40px;
	line-height: normal;
}

/*************************************
	.ticket-info
*************************************/
.page-ota .ticket-info{
	padding: 40px 0;
}

/*************************************
	.error-container
*************************************/
.error-container{
	color: #F03333;
}

#clone-items-container{
	display:none;
}

/*************************************
	.orders-zone
*************************************/
.orders-zone{
	padding: 0 30px;
	position:relative;
}
.orders-zone h1{
	padding: 0 0 40px;
	border-bottom: 1px solid rgba(0,0,0,.2);
	margin: 0 0 20px;
	color: #c40037;
	font-size: 14px;
	line-height: 18px;
	text-align: center;
	text-transform: uppercase;
}
.page-ota .orders-zone .filterbox{
	float: right;
	position: absolute;
	right: 0;
	top: 0;
	width:147px;
	background:#FFFFFF;
	border-radius:0;
}
.page-ota .orders-zone .filterbox .ui-selectmenu-text{
	color:#666;
}
.page-ota .orders-zone .inputbox{
	position: absolute;
	float: left;
	top: 0;
	left:0;
	height:34px;
	border:1px solid #989898;
}
.page-ota .orders-zone .inputbox input{
	border:none;
	background:transparent;
	padding:0px 25px 0 15px;
	width:145px;
	line-height:34px;
	height:34px;
}
.page-ota .orders-zone .ui-selectmenu-button.ui-button{
	line-height:34px;
}
.toggle-table-container#reservation-history-container .row:nth-child(odd) .cells-container{
	background:none;
}
.toggle-table-container#reservation-history-container .row.odd-row .cells-container{
	background:#F0F0F0;
}
.toggle-table-container#reservation-history-container .sortCell{
	cursor:ns-resize;
}
.toggle-table-container#reservation-history-container .sortCell > span.sortDown{
	left: 3px;
    display: inline-block;
    width: 0;
    height: 0;
    border: solid 5px transparent;
    margin: 4px 4px 0 3px;
    background: transparent;
    border-bottom: solid 7px #FFF;
    border-top-width: 0;;
}
.toggle-table-container#reservation-history-container .sortCell > span.sortUp{
	left: 3px;
    display: inline-block;
    width: 0;
    height: 0;
    border: solid 5px transparent;
    margin: 4px 4px 0 3px;
    background: transparent;
    border-top: solid 7px #FFF;
    border-bottom-width: 0;
}
#reservation-history-container .small-cell{
	width:32px;
	position:relative;
}
#reservation-history-container .small-cell a, #edit-reservation .pencil{
	text-decoration:none;
}
#reservation-history-container .small-cell a{
	position: absolute;
	top: 0;
	left: 0;
	width: 32px;
	height: 32px;
}
#edit-reservation .pencil{
	top: 0;
	left: 0;
	width: 32px;
	height: 32px;
}
#reservation-history-container .small-cell a:before {
	content: "\e907";
	position: absolute;
	top: 10px;
	left: 10px;
}
#reservation-history-container .small-cell a.pencil:before, #edit-reservation .pencil:before {
	content: "\e916";
	top:0;
	font-size:14px;
	color:#c40037;
}
.orders-zone textarea{
	background:#FFFFFF;
	width:100%;
	padding:5px 15px;
	border:1px solid #979797;
}
.orders-zone .row-container#tickets-container .cell:first-child{
	padding:0;
}

.toggle-table-container .icon-font.arrow-head-up:before {
	content: "\e904";
	position: absolute;
	top: 0;
	left: 10px;
}
.toggle-table-container .icon-font.arrow-head-down:before {
	content: "\e907";
	position: absolute;
	top: 0;
	left: 10px;
}

/*************************************
	.toggle-table-container
*************************************/
.toggle-table-container{
	color: #4A4A4A;
	font-size: 12px;
	line-height: 16px;
}
.toggle-table-container .top-row,
.toggle-table-container .cells-container{
	display: table;
	width: 100%;
	table-layout: fixed;
	padding: 10px 0;

	-webkit-transition: all 0.3s ease;
	-moz-transition: all 0.3s ease;
	-ms-transition: all 0.3s ease;
	-o-transition: all 0.3s ease;
	transition: all 0.3s ease;
}
.toggle-table-container .top-row{
	height: 50px;
	background: #c40037;
	color: #FFF;
	font-size: 14px;
	font-weight: 500;
	line-height: 18px;
}
.toggle-table-container .row{
	margin: 0;
	border: 0;
}
.toggle-table-container .row:nth-child(odd) .cells-container{
	background: #F0F0F0;
}
.toggle-table-container .cells-container:hover,
.toggle-table-container .row:nth-child(odd) .cells-container:hover{
	cursor: pointer;
	background: #DEDEDE;
}
.toggle-table-container .cell{
	display: table-cell;
	padding: 0 0 0 20px;
	vertical-align: middle;
}
.toggle-table-container .cell:last-child{
	padding-right: 26px;
}
.toggle-table-container .cell.action{
	font-size: 6px;
}
.toggle-table-container .cell.action .icon-font{
	float: right;
}
.toggle-table-container .cell.action .active{
	display: none;
}
.toggle-table-container .hidden-container{
	overflow: hidden;
	max-height: 0;
	opacity: 0;

	-webkit-transition: all 0.3s ease;
	-moz-transition: all 0.3s ease;
	-ms-transition: all 0.3s ease;
	-o-transition: all 0.3s ease;
	transition: all 0.3s ease;
}
/*** .active ***/
.toggle-table-container .row.active .active{
	display: inline;
}
.toggle-table-container .row.active .inactive{
	display: none;
}
.toggle-table-container .row.active .hidden-container{
	max-height: 999px;
	opacity: 1;
}

.toggle-table-container .info-table-container{
	margin-bottom: 20px;
}

.toggle-table-container .cell.tablet{
	display: none;
}
@media screen and (min-width: 768px){
	.toggle-table-container .cell.tablet{
		display: table-cell;
	}
}

/*************************************
	.form-table-container
*************************************/
.form-table-container{

}
.form-table-container .label-container{
	padding: 15px;
	background: #c40037;
	color: #FFF;
	font-size: 14px;
	font-weight: 500;
	line-height: 20px;
	text-align: center;
}
.form-table-container .content{
	overflow: hidden;
	padding: 20px 20px 0;
	margin: 0 -10px;
}
.form-table-container .section{
	padding: 0 10px;
	margin: 0 0 20px;
}
.form-table-container ul{
	padding: 0;
	margin: 0;
	list-style: none;
}
.form-table-container li{
	margin: 0 0 10px;
}
.form-table-container label{
	display: block;
	margin: 0 0 5px;
	font-weight: 700;
}
.form-table-container input,
.form-table-container .selectbox{
	float: none !important;
	width: 100%;
}
.form-table-container input{
	height: 34px;
	padding: 0 15px;
	border: 1px solid #979797;

	-webkit-border-radius: 16px;
	-moz-border-radius: 16px;
	border-radius: 16px;
}
.form-table-container .row-container .top-row,
.form-table-container .row-container .cells-container{
	table-layout: fixed;
}
.form-table-container .row-container .row{
	padding: 10px 0;
}
.form-table-container .row-container .cell.type{
	width: auto;
}
.form-table-container .row-container .cell.number{
	width: 90px;
	padding-left: 10px;
}

@media screen and (min-width: 650px){
	.form-table-container .content{
		padding: 20px 0 0;
	}
	.form-table-container .section{
		float: left;
		width: 50%;
	}
}

/*************************************
	.form-table-container
*************************************/
.form-table-container{

}
.form-table-container .label-container{
	padding: 15px;
	background: #c40037;
	color: #FFF;
	font-size: 14px;
	font-weight: 500;
	line-height: 20px;
	text-align: center;
}
.form-table-container .content{
	overflow: hidden;
	padding: 20px 20px 0;
	margin: 0 -10px;
}
.form-table-container .section{
	padding: 0 10px;
	margin: 0 0 20px;
}
.form-table-container ul{
	padding: 0;
	margin: 0;
	list-style: none;
}
.form-table-container li{
	margin: 0 0 10px;
}
.form-table-container label{
	display: block;
	margin: 0 0 5px;
	font-weight: 700;
}
.form-table-container input,
.form-table-container .selectbox{
	float: none !important;
	width: 100%;
}
.form-table-container input{
	height: 34px;
	padding: 0 15px;
	border: 1px solid #979797;

	-webkit-border-radius: 16px;
	-moz-border-radius: 16px;
	border-radius: 16px;
}
.form-table-container .row-container .top-row,
.form-table-container .row-container .cells-container{
	table-layout: fixed;
}
.form-table-container .row-container .row{
	padding: 10px 0;
}
.form-table-container .row-container .cell.type{
	width: auto;
}
.form-table-container .row-container .cell.number{
	width: 90px;
	padding-left: 10px;
}

@media screen and (min-width: 650px){
	.form-table-container .content{
		padding: 20px 0 0;
	}
	.form-table-container .section{
		float: left;
		width: 50%;
	}
}

/*************************************
	.info-table-container
*************************************/
.info-table-container{
	display: table;
	width: 100%;
}
.info-table-container .row{
	display: table-row;
}
.info-table-container .row.hide{
	display: none;
}
.info-table-container .row:not(.hide):nth-child(odd){
	background: #F0F0F0;
}
.info-table-container .cell{
	display: table-cell;
	height: 30px;
	padding-top: 10px;
	padding-bottom: 10px;
	vertical-align: middle;
}
.info-table-container .cell:first-child{
	width: 160px;
	border-right: 1px solid rgb(0,0,0,.2);
	font-weight: 700;
}
#edit-reservation .sections-container {
	padding:0;
}
#edit-reservation #tickets-container .cell.type {
	overflow:hidden;
}

/*************************************
	#new-booking-button
*************************************/
#new-booking-button, #reservation-history-button{
	position: absolute;
	top: 0;
	right: 0;
	bottom: 0;
	left: 0;
	height: 40px;
	width: 175px;
	margin: auto;
	text-align: center;
	color:#FFFFFF;
}
#new-booking-button {
	background-color:#c40037;
}

#order-history{
	margin-right:10px;
	color:#FFFFFF;
}

#editCompleteSuccess{
	display: inline-block;
	padding: 10px 20px !important;
	position: absolute;
	margin-left:10%;
	background-color: #FFF;
	z-index: 10;
	border-radius: 10px;
	border: 2px solid green;
	-webkit-box-shadow: 10px 10px 5px 0px rgba(0,0,0,0.5);
	-moz-box-shadow: 10px 10px 5px 0px rgba(0,0,0,0.5);
	box-shadow: 10px 10px 5px 0px rgba(0,0,0,0.5);
}

/*************************************
	Logged in
*************************************/
.page-ota #log-container {
	margin-left: 140px;
	position:absolute;
	z-index:1;
	width: calc(100% - 140px);
	padding: 15px 15px 15px 15px;
}
.page-ota #log-container #logout-button {
	right:0;
	left:unset;
}
.page-ota #log-container #order-history {
	float:right;
	margin-right:100px;
}
.page-ota #log-container > span {
	float:left;
	margin-left:20px;
}
.page-ota #log-container > span.ota-credit {
	float:none;
	position:absolute;
	left:40%;
	margin-left:0;
	display:none;
}
@media screen and (min-width: 768px){
	.page-ota #log-container > span.ota-credit {
		display:block;
	}
}
