@keyframes loading
{
	from { -webkit-transform : rotate(0deg) }
	to { -webkit-transform : rotate(360deg) }
}

@keyframes loading_dot
{
	  0% { -webkit-transform : scale(1, 1) }
	 25% { -webkit-transform : scale(2, 2) }
	 50% { -webkit-transform : scale(1, 1) }
}

.otabo
{
	overflow : overflow;
	position : relative;
}

.otabo p
{
	margin : 15px 0 5px;
}

.otabo #otabo_loading,
.otabo .otabo_loading
{
	display : none;
}

.otabo,
.otabo .otabo_form input
{
	font-weight : 300;
}

.otabo .loading
{
	line-height : 200px;
	min-height : 200px;
	text-align : center;
	width : 100%;
}

.otabo .loading img
{
	animation-name : loading_dot;
	animation-duration : 2s;
	animation-iteration-count : infinite;
	animation-timing-function : ease;

	display : inline;
	width : 25px;
	height : 25px;
}

.otabo .loading_2
{
	animation-delay : 0.666666666s;
}

.otabo .loading_3
{
	animation-delay : 1.333333333s;
}

.otabo button
{
	background-color : var(--otabo-main);
	border : 1px solid var(--otabo-dark);
	border-radius : 5px;
	color : #fff;
	cursor : pointer;
	font-size : 100%;
	margin : 15px auto 10px;
	opacity : 75%;
	padding : 5px 15px;
	text-align : center;
}

.otabo button:hover
{
	opacity : 100%;
}

.otabo fieldset
{
	text-align : left;
}

.otabo #otabo_error,
.otabo .otabo_error,
.otabo #otabo_no_results
{
	color : #c00;
	display : none;
	font-size : 150%;
	padding : 40px;
	text-align : center;
	width : 100%;
}

.otabo #otabo_error p,
.otabo .otabo_error p,
.otabo #otabo_confirmed p
{
	text-align : center;
}

.otabo #otabo_confirmed
{
	color : var(--otabo-main);
	display : none;
	font-size : 150%;
	padding : 40px;
	text-align : center;
	width : 100%;
}

.otabo .rate
{
	box-sizing : border-box;
	display : inline-block;
	margin : 0;
	vertical-align : top;
}

.otabo .rate
{
	box-sizing : border-box;
	padding-right : 20px;
	text-align : right;
	width : 100%;
}

.otabo .rate span
{
	display : block;
	text-align : right;
}

.otabo .rate span + span
{
	font-size : 150%;
	font-weight : bold;
}

.otabo .rate span.discount
{
	color : #dd2222;
}

.otabo .rate span.discount > span
{
	color : #000;
	display : inline-block;
	font-size : 70%;
	margin : auto 20px;
	text-decoration : line-through;
}

.otabo .rate button
{
	margin : 5px 0;
	padding : 3px 20px;
}

/**
 *
 * FORM CLASSES
 *
 */
.otabo .otabo_form_classes
{
	display : none;
	position : relative;
}

.otabo .otabo_form_classes.visible
{
	display : block;
}

.otabo .otabo_form_classes *
{
	-webkit-user-select : none;
	-khtml-user-select : none;
	-moz-user-select : none;
	-o-user-select : none;
	user-select : none;
}


.otabo .otabo_form_classes ul,
article.page .otabo .otabo_form_classes ul
{
	border-color : #ddd;
	border-style : solid;
	border-width : 1px 1px 0 1px;
	display : flex;
	flex-direction : row;
	height : 50px;
	list-style : none outside;
	margin : 0;
	overflow-x : scroll;
	padding : 0;

	scrollbar-width : none;
	-ms-overflow-style: -ms-autohiding-scrollbar;
}

.otabo .otabo_form_classes ul::-webkit-scrollbar,
article.page .otabo .otabo_form_classes ul::-webkit-scrollbar
{
	display : none;
}

.otabo .otabo_form_classes ul li,
article.page .otabo .otabo_form_classes ul li
{
	border-color : #ddd;
	border-style : solid;
	border-width : 0 1px 1px 0;
	cursor : pointer;
	flex-grow : 1;
/* 	flex-shrink : 0; */
	height : 100%;
	min-width : 150px;
	padding : 5px 15px;
	position : relative;
	vertical-align : middle;

	display : flex;
	align-content : center;
	align-items : center;
	justify-content : flex-start;
	flex-direction : row;

	-webkit-user-select : none;
	-khtml-user-select : none;
	-moz-user-select : none;
	-o-user-select : none;
	user-select : none;
}

.otabo .otabo_form_classes ul li:last-child,
article.page .otabo .otabo_form_classes ul li:last-child
{
	border-right-width : 0;
}

.otabo .otabo_form_classes ul li:hover,
article.page .otabo .otabo_form_classes ul li:hover
{
	background-color : #efefef;
}

.otabo .otabo_form_classes ul li.selected,
article.page .otabo .otabo_form_classes ul li.selected
{
	background-color : var(--color-main);
	border-bottom-width : 0px;
	box-shadow: 0 4px 15px 0 rgba(0, 0, 0, 0.15), 0 3px 60px 0 rgba(0, 0, 0, 0.25);
}

.otabo .otabo_form_classes ul li *,
article.page .otabo .otabo_form_classes ul li *
{
	flex-grow : 0;
	flex-shrink : 1;
}

.otabo .otabo_form_classes ul li img,
article.page .otabo .otabo_form_classes ul li img
{
	height : 100%;
}

.otabo .otabo_form_classes ul li span,
article.page .otabo .otabo_form_classes ul li span
{
	font-weight : 600;
	line-height : 100%;
	vertical-align : middle;
}


.otabo #otabo_results_groups_lscroller,
.otabo #otabo_results_groups_rscroller,
.otabo .otabo_form_classes_lscroller,
.otabo .otabo_form_classes_rscroller
{
	background : rgba(255, 255, 255, 0.8);
	border-radius : 0px;
	box-sizing : border-box;
	display : block;
	text-align : center;
	vertical-align : center;

	position : absolute;
	top : 5px;
	width : 40px;
	bottom : 5px;
}

.otabo #otabo_results_groups_lscroller,
.otabo .otabo_form_classes_lscroller
{
	background : linear-gradient(90deg, rgba(255, 255, 255, 1) 0%, rgba(255, 255, 255, 1) 33%, rgba(255, 255, 255, 0.9) 66%, rgba(255, 255, 255, 0) 100%);
	left : 5px;
}

.otabo .otabo_form_classes_lscroller
{
	left : 1px;
	top : 1px;
	width : 35px;
	bottom : 1px;
}


.otabo #otabo_results_groups_rscroller,
.otabo .otabo_form_classes_rscroller
{
	background : linear-gradient(270deg, rgba(255, 255, 255, 1) 0%, rgba(255, 255, 255, 1) 33%, rgba(255, 255, 255, 0.9) 66%, rgba(255, 255, 255, 0) 100%);
	right : 5px;
}

.otabo .otabo_form_classes_rscroller
{
	right : 1px;
	top : 1px;
	width : 35px;
	bottom : 1px;
}

.otabo #otabo_results_groups_lscroller:hover,
.otabo .otabo_form_classes_lscroller:hover
{
	background : linear-gradient(90deg, rgba(244, 244, 244, 1) 0%, rgba(244, 244, 244, 1) 33%, rgba(244, 244, 244, 0.9) 66%, rgba(244, 244, 244, 0) 100%);
	cursor : pointer;
}

.otabo #otabo_results_groups_rscroller:hover,
.otabo .otabo_form_classes_rscroller:hover
{
	background : linear-gradient(270deg, rgba(244, 244, 244, 1) 0%, rgba(244, 244, 244, 1) 33%, rgba(244, 244, 244, 0.9) 66%, rgba(244, 244, 244, 0) 100%);
	cursor : pointer;
}


.otabo #otabo_results_groups_lscroller::before,
.otabo #otabo_results_groups_rscroller::before,
.otabo .otabo_form_classes_lscroller::before,
.otabo .otabo_form_classes_rscroller::before
{
	color : var(--otabo-main);
	content : '«';
	display : block;
	font-size : 150%;

	position : absolute;
	left : 50%;
	top : 50%;

	transform : translate(-50%, -50%);
	-ms-transform : translate(-50%, -50%);
	-webkit-transform : translate(-50%, -50%);
}

.otabo #otabo_results_groups_rscroller::before,
.otabo .otabo_form_classes_rscroller::before
{
	content : '»';
}

/**
 *
 * FORM
 *
 */
.otabo .otabo_form
{
	display : flex;
	flex-grow : 1;
	flex-shrink : 1;
	flex-wrap : wrap;
	justify-content : center;
	padding : 5px;
}

.otabo .otabo_form > *
{
	margin : 5px;
	width : 100%;
}

.otabo .otabo_form_classes.visible + .otabo_form
{
	border-color : #ddd;
	border-style : solid;
	border-width : 0 1px 1px 1px;
	padding : 15px;
}

.otabo .otabo_form #otabo_error
{
	background : rgba(0, 0, 0, 0.7);
	color : #fff;
	display : none;

	position : absolute;
	left : 0;
	right : 0;
	top : 0;
	bottom : 0;
}

.otabo .otabo_form button
{
	width : 100px;
}

.otabo #otabo_error pre
{
	font-size : 10pt;
	text-align : left;
}

.otabo fieldset
{
	background-color : rgba(0, 0, 0, 0);
	border-width : 0;
	margin : 0;
	padding : 10px;
	position : relative;
}

.otabo .otabo_form .input
{
	background-color : #fff;
	border : 1px solid #ddd;
	border-radius : 0;
	box-sizing : border-box;
	color : #000;
	display : block;
	font-size : 100%;
	font-weight : 300;
	height : 47px;
	position : relative;
	width : 100%;
}

.otabo .otabo_form .input + .input
{
	margin-top : 5px;
}

.otabo .otabo_form h1:not(.site-title):before
{
	background : none ! important;
	content : '' ! important;
	display : none ! important;
}

.otabo .otabo_form input[type=text],
.otabo .otabo_form input[type=text]:focus
{
	border-width : 0;
	box-sizing : border-box;
	outline : none;
	width : 100%;
}

.otabo .otabo_form input[type=checkbox]
{
	margin : auto 10px;
}

.otabo .otabo_form input.error,
.otabo .otabo_form .input.error,
.otabo div.error
{
	border-color : #ff0000 ! important;
}

.otabo .otabo_form p.error
{
	color : #ff0000;
	display : none;
	font-size : 90%;
	margin-top : 5px;
}

.otabo .otabo_form .input
{
	display : inline-block;
	height : 50px;
	width : 100%;
}

.otabo .otabo_form .input input
{
	border-radius : 0;
	border-width : 0;
	box-sizing : border-box;
	color : #000;
	cursor : pointer;
	font-size : 100%;
	height : 47px ! important;
	line-height : 47px;
	margin : 1px auto;
	padding-left : 10px;
	text-align : left;
}

.otabo .otabo_form .input ul,
.otabo .otabo_form .input div
{
	background-color : #fff;
	border : 1px solid #ddd;
	box-sizing : border-box;
	display : none;
	list-style : none outside;
	margin : 0 0 10px;
	min-width : 250px;
	overflow-x : overflow;
	overflow-y : scroll;
	padding : 0;
	z-index : 100;

	position : absolute;
	left : -1px;
	right : -1px;
	top : 100%;
}

.otabo .otabo_form .input ul
{
	max-height : 200px;
}

.otabo .otabo_form .input ul li
{
	border-bottom : 1px solid #ddd;
	padding : 10px;
	text-align : left;
}

.otabo .otabo_form .input ul li:hover
{
	background-color : var(--otabo-main);
	color : #fff;
	cursor : pointer;
}

.otabo .otabo_form .calendar_holder
{
	box-sizing : border-box;
	display : inline-block;
	flex-grow : 1;
	min-width : 300px;
	padding : 0;
	width : calc(50% - 10px);
}

.otabo .otabo_form .calendar_holder .input div
{
	box-sizing : border-box;
	height : auto;
	overflow : hidden;
	padding : 10px;
}

.otabo .otabo_form .calendar_holder .input div img
{
	cursor : pointer;
	position : absolute;
	top : 18px;
	width : 20px;
}

.otabo .otabo_form .calendar_holder .input div img:first-child
{
	left : 15px;
}

.otabo .otabo_form .calendar_holder .input div h1 + img
{
	right : 15px;
}

.otabo .otabo_form .calendar_holder .input div h1
{
	font-size : 100%;
	font-weight : bold;
	line-height : 30px;
	margin : 0;
	padding : 0;
	text-align : center;

	position : absolute;
	left : 30px;
	right : 30px;
	top : 15px;
	height : 30px;
}

.otabo .otabo_form .calendar_holder .input div table
{
	box-sizing : border-box;
	margin : 42px 0 0 0;
	min-width : 200px;
	width : 100%;
}

.otabo .otabo_form .calendar_holder .input div table thead,
.otabo .otabo_form .calendar_holder .input div table thead th,
.otabo .otabo_form .calendar_holder .input div table tbody,
.otabo .otabo_form .calendar_holder .input div table tr
{
	border-bottom : 0px solid #000;
	border-width : 0;
}

.otabo .otabo_form .calendar_holder .input div table th
{
	background-color : #fff;
	font-weight : 600;
	margin : 0;
	padding : 1px;
	text-align : center;
	vertical-align : middle;
}

.otabo .otabo_form .calendar_holder .input div table td
{
	background-color : #fff;
	border-width : 0;
	color : #000;
	cursor : pointer;
	font-weight : normal;
	margin : 0;
	padding : 2px;
	text-align : center;
	vertical-align : middle;
}

.otabo .otabo_form .calendar_holder .input div table td.selected
{
	color : var(--otabo-main);
	font-weight : bold;
}

.otabo .otabo_form .calendar_holder .input div table td:hover
{
	background-color : var(--otabo-main);
	color : #fff;
}

.otabo .otabo_form .calendar_holder .input div table td.disabled,
.otabo .otabo_form .calendar_holder .input div table td.disabled:hover
{
	color : #999;
	cursor : pointer;
}

/**
 *
 * RESULTS
 *
 */
.otabo #otabo_results_header ul
{
	border : 1px solid #ddd;
	list-style : none outside;
	margin : 20px 10px;
	padding : 0;
}

.otabo #otabo_results_header ul li
{
	box-sizing : border-box;
	display : inline-block;
	padding : 10px;
	vertical-align : top;
	width : 50%;
}

.otabo #otabo_results_header ul li + li::before
{
	color : #ddd;
	content : '❯';
	float : left;
	font-size : 200%;
	margin-left : -20px;
}

.otabo #otabo_results_header ul li .input
{
	display : block;
	font-weight : bold;
	margin-left : 10px;
}

.otabo #otabo_results_header ul li .date,
.otabo #otabo_results_header ul li .base
{
	margin-left : 10px;
}

.otabo #otabo_results_header ul li .date
{
	white-space : nowrap;
}

.otabo #otabo_results_groups
{
	box-sizing : border-box;
	position : relative;
}

.otabo #otabo_results_groups ul
{
	box-sizing : border-box;
	display : flex;
	flex-wrap : nowrap;

	list-style : none outside;
	margin : 25px 5px;
	overflow-x : scroll;
	padding : 0;

	scrollbar-width : none;
	-ms-overflow-style: -ms-autohiding-scrollbar;
}

.otabo #otabo_results_groups ul::-webkit-scrollbar
{
	display : none;
}

.otabo #otabo_results_groups ul li
{
	background-position : center;
	background-repeat : no-repeat;
	background-size : contain;
	border : 1px solid #ddd;
	box-sizing : border-box;
	display : inline-block;
	flex-shrink : 0;
	flex-grow : 0;
	margin : 5px;
	min-width : 180px;
	padding-top : calc(25% - 12px);
	position : relative;
	width : calc(25% - 10px);
	height : 180px;
}

.otabo #otabo_results_groups ul li .name
{
	-webkit-backdrop-filter: blur(5px);
	backdrop-filter: blur(5px);
	background-color : rgba(0, 0, 0, 0.1);
	box-sizing : border-box;
	display : block;
	font-weight : bold;
	padding : 10px 5px;
	text-align : left;

	position : absolute;
	left : 0;
	bottom : 0;
	width : 100%;
}

.otabo #otabo_results_groups ul li .rate
{
	box-sizing : border-box;
	display : block;
	font-weight : bold;
	padding : 5px 10px;
	text-align : right;

	position : absolute;
	left : 0;
	top : 0;
	width : 100%;
}

.otabo #otabo_results_groups ul li:hover,
.otabo #otabo_results_groups ul li.selected
{
	border-color : var(--otabo-main);
	cursor : pointer;
}

.otabo #otabo_results_groups ul li.selected
{
	border-color : var(--otabo-dark);
}

.otabo #otabo_results_groups ul li.selected .name
{
	background-color : var(--otabo-transparent);
}

.otabo #otabo_results
{
}

.otabo #otabo_results ul
{
	box-sizing : border-box;
	display : flex;
	flex-direction : row;
	flex-wrap : wrap;
	list-style : none outside;
	padding : 5px;
	margin : 0;
	position : relative;
	width : 100%;
}

.otabo #otabo_results > ul > li
{
	border : 1px solid #ccc;
	box-sizing : border-box;
	display : inline-block;
	flex-grow : 1;
	flex-shrink : 1;
	margin : 5px;
	min-width : 350px;
	padding : 10px;
	position : relative;
	text-align : center;
	width : calc(50% - 10px);
}

.otabo #otabo_results > ul > li.c1
{
	margin-left : 0;
	width : 100%;
}

.otabo #otabo_results > ul > li *
{
	text-align : left;
}

.otabo #otabo_results > ul > li h1
{
	font-size : 120%;
	margin : 0;
	padding : 0 70px 0 0;
}

.otabo #otabo_results > ul > li h2
{
	font-size : 100%;
	font-weight : normal;
	margin : 5px 0 0 0;
	padding : 0 70px 0 0;
}

.otabo #otabo_results > ul > li span.company
{
	background-position : left center;
	background-repeat : no-repeat;
	background-size : 20px 20px;
	box-sizing : border-box;
	cursor : default;
	display : inline-block;
	font-size : 90%;
	line-height : 20px;
	margin : 10px 0;
	padding-left : 30px;
	width : calc(100%);
}

.otabo #otabo_results > ul > li .info img
{
	background-position : center;
	background-size : contain;
	background-repeat : no-repeat;
	margin : 20px 0;
	padding-top : 50%;
	width : 100%;
}

.otabo #otabo_results > ul > li .info table
{
	border-collapse : collapse;
	table-layout : auto;
}

.otabo #otabo_results > ul > li .info table tr
{
	width : 100%;
}

.otabo #otabo_results > ul > li .info table tr,
.otabo #otabo_results > ul > li .info table td
{
	border-width : 0;
	position : relative;
}

.otabo #otabo_results > ul > li .info .params,
.otabo #otabo_results > ul > li .info .rate
{
	vertical-align : top;
}

.otabo #otabo_results > ul > li .info .rate
{
	white-space : nowrap;
}

.otabo #otabo_results > ul > li .info .hint
{
	display : block;
	font-size : 75%;
	line-height : 1.4;
}


.otabo #otabo_results > ul > li .info .params div,
.otabo #otabo_results > ul > li .info .rate div
{
	box-sizing : border-box;
	margin : 0;
}

.otabo #otabo_results > ul > li .info .params div
{
	display : flex;
	flex-wrap : wrap;
}

.otabo #otabo_results > ul > li .info .params div span
{
	background-position : left top;
	background-repeat : no-repeat;
	background-size : 12px 12px;
	box-sizing : border-box;
	cursor : default;
	display : inline-block;
	flex-grow : 1;
	font-size : 80%;
	line-height : 100%;
	margin : 4px;
	padding : 0 0 0 20px;
	width : calc(50% - 8px);
}

.otabo #otabo_results > ul > li .info .params div span.km_limit
{
	width : calc(100% - 8px);
}

.otabo #otabo_results > ul > li .info .rate div
{
	margin-left : 20px;
	text-align : left;
	width : auto;
}

.otabo #otabo_results > ul > li .info .rate span + span
{
	white-space : nowrap;
}




/**
 *
 * OTABO RESULT DETAILS
 *
 */
.otabo #otabo_results div.details
{
	background-color : rgba(255, 255, 255, 0.97);
	box-sizing : border-box;
	display : block;
	margin : 0;
	overflow : hidden;
	padding : 10px;
	width : calc(100%);

	backface-visibility: hidden;
	-webkit-backface-visibility: hidden;
	transform : rotateY(180deg) scale(0.9);
	-webkit-transform : rotateY(180deg) scale(0.9);

	transition: transform 0.8s;
	-webkit-transition: transform 0.8s;
	transform-style: preserve-3d;

	position : absolute;
	left : 0;
	right : 0;
	bottom : 0;
	top : 50px;
}

.otabo #otabo_results div.details.shown
{
	opacity : 1;
	transform : rotateY(0deg) scale(1);
	-webkit-transform : rotateY(0deg) scale(1);
}

.otabo #otabo_results .details_toggle
{
	background : none;
	border-width : 0;
	box-sizing : border-box;
	color : #000;
	font-size : 85%;
	font-weight : normal;
	margin : 0;
	padding : 10px;

	position : absolute;
	top : 0;
	right : 0;
}

.otabo #otabo_results div.details_toggle:hover
{
}

.otabo #otabo_results div.details > div.params
{
	box-sizing : border-box;
	flex-grow : 2;
	font-size : 90%;
	overflow-y : scroll;
	padding : 10px 15px 50px;
	scrollbar-width : none;
	-ms-overflow-style: -ms-autohiding-scrollbar;

	display : flex;
	flex-wrap : wrap;
	align-content : flex-start;
	justify-content : flex-start;

	position : absolute;
	left : 0;
	top : 0;
	right : 0;
	bottom : 0;
}

.otabo #otabo_results div.details > div.params::-webkit-scrollbar
{
	display : none;
}

.otabo #otabo_results div.details > div.params > *
{
	flex-grow : 1;
	flex-shrink : 1;
	max-width : 400px;
	width : 100%;
}

.otabo #otabo_results div.details > div.params h3
{
	display : block;
	font-size : 120%;
	font-weight : 500;
	margin : 0;
	padding : 20px 0 10px;
}

.otabo #otabo_results div.details > div.params ul
{
	box-sizing : border-box;
	display : flex;
	flex-wrap : wrap;
	left : 0;
	margin : 0;
	padding : 5px;
	position : relative;
}

.otabo #otabo_results div.details > div.params ul li
{
	border-width : 0;
	box-sizing : border-box;
	flex-grow : 1;
	float : none;
	left : auto;
	line-height : 120%;
	margin : 0;
	min-width : 130px;
	padding : 2px 5px;
	width :	50%;
}

.otabo #otabo_results div.details ul li span:first-child
{
}

.otabo #otabo_results div.details ul li span:last-child
{
}

.otabo #otabo_results div.details ul li span + span
{
	font-weight : 550;
	padding-left : 5px;
}

.otabo #otabo_results div.details ul.param_Description li
{
	width : 100%;
}

.otabo_result_details_tscroller,
.otabo_result_details_bscroller
{
	background : rgba(255, 255, 255, 0.8);
	background : linear-gradient(rgba(255, 255, 255, 0) 0%, rgba(255, 255, 255, 0.9) 50%, rgba(255, 255, 255, 1) 100%);
	box-sizing : border-box;
	color : #fff;
	display : block;
	text-align : center;
	vertical-align : center;

	position : absolute;
	left : 0;
	right : 0;
	width : 100%;
	height : 50px;
}

.otabo_result_details_tscroller
{
	background : linear-gradient(rgba(255, 255, 255, 1) 0%, rgba(255, 255, 255, 0.9) 50%, rgba(255, 255, 255, 0) 100%);
	top : 0;
}

.otabo_result_details_bscroller
{
	bottom : 0;
}

.otabo_result_details_tscroller:hover
{
	background : linear-gradient(rgba(244, 244, 244, 1) 0%, rgba(244, 244, 244, 0.9) 50%, rgba(244, 244, 244, 0) 100%);
	cursor : pointer;
}

.otabo_result_details_bscroller:hover
{
	background : linear-gradient(rgba(244, 244, 244, 0) 0%, rgba(244, 244, 244, 0.9) 50%, rgba(244, 244, 244, 1) 100%);
	cursor : pointer;
}


.otabo_result_details_tscroller::before,
.otabo_result_details_bscroller::before
{
	color : #000;
	content : '«';
	display : block;
	font-size : 150%;

	position : absolute;
	left : 50%;
	top : 50%;
}

.otabo_result_details_tscroller::before
{
	content : '«';

	transform : translate(0, -75%) rotate(90deg);
	-ms-transform : translate(0, -75%) rotate(90deg);
	-webkit-transform : translate(0, -75%) rotate(90deg);
}

.otabo_result_details_bscroller::before
{
	content : '»';

	transform : translate(0, -25%) rotate(90deg);
	-ms-transform : translate(0, -25%) rotate(90deg);
	-webkit-transform : translate(0, -25%) rotate(90deg);
}



/**
 *
 * FULL WIDTH LAYOUT
 *
 */
.otabo #otabo_results.full-width ul li
{
	width : calc(100% - 20px);
}

.otabo #otabo_results.full-width ul li .box
{
	display : flex;
	align-content : flex-start;
	flex-direction : row;
	flex-grow : 1;
	flex-shrink : 1;
	flex-wrap : wrap;
	justify-content : start;
}

.otabo #otabo_results.full-width ul li .info
{
	flex-grow : 1;
	min-width : 300px;
	width : calc(40% - 10px);
}

.otabo #otabo_results.full-width ul li .info table td
{
	max-width : 100%;
	width : 100%;
}

.otabo #otabo_results.full-width ul li .details_toggle
{
	display : none;
}

.otabo #otabo_results.full-width ul li .details
{
	display : flex;
	align-items : flex-start;
	flex-grow : 2;
	flex-shrink : 1;
	flex-wrap : nowrap;
	justify-content : flex-end;
	font-size : 95%;
	padding : 0;
	position : relative;
	top : 0;
	width : calc(60% - 10px);

	transform : none;
	-webkit-transform : none;
}

.otabo #otabo_results.full-width ul li .details > div.params
{
	flex-grow : 2;
	margin-left : 10px;
	min-width : 100px;
	overflow : visible;
	padding : 0 0 10px 0;
	position : static;
}

.otabo #otabo_results.full-width ul li .details > div.params ul
{
	line-height : 115%;
}

.otabo #otabo_results.full-width ul li .details > div.params ul li
{
	margin : 0;
	padding : 0 2px;
}

.otabo #otabo_results div.options
{
	flex-grow : 1;
	margin-left : 10px;
	max-width : 49%;
	min-width : 180px;
	padding-top : 20px;
	text-align : right;
}

.otabo #otabo_results div.options ul
{
	width : 100%;
}

.otabo #otabo_results div.options ul > li:first-child
{
	background-color : #ddd;
	border : 1px solid #aaa;
	box-sizing : border-box;
	font-size : 100%;
	font-weight : normal;
	padding : 5px 10px;
	text-align : center;
	width : 100%;
}

.otabo #otabo_results div.options ul > li + li
{
	background-color : #fefefe;
	border-color : #aaa;
	border-style : solid;
	border-width : 0 1px 1px 1px;
	box-sizing : border-box;
	cursor : pointer;
	overflow : hidden;
	padding : 5px 10px 5px 30px;
	position : relative;
	text-align : center;
	width : 100%;

	display : flex;
	flex-direction : column;
	align-items : flex-end;
}

.otabo #otabo_results div.options ul > li + li::before,
.otabo #otabo_results div.options ul > li + li::after
{
	background : #efefef;
	content : '';
	position : absolute;
	left : -20px;
	height : 50%;
	width : 30px;

	transition : width 0.5s;
}

.otabo #otabo_results div.options ul > li + li:hover::before,
.otabo #otabo_results div.options ul > li + li:hover::after
{
	background : var(--otabo-main);
	color : #fff;
	width : calc(100% + 40px);
}

.otabo #otabo_results div.options ul > li + li::before
{
	top: 0;
	transform: skew(30deg, 0deg);
}

.otabo #otabo_results div.options ul > li + li::after
{
	bottom: 0;
	transform: skew(-30deg, 0deg);
}

.otabo #otabo_results div.options ul > li + li *
{
	text-align : right;
	width : 100%;
}

.otabo #otabo_results div.options ul > li + li a
{
	color : inherit;
	padding-right : 10%;
}

.otabo #otabo_results div.options ul > li + li:hover a
{
	color : #fff;
	transition : color 0.5s;
	z-index : 10;
}

.otabo #otabo_results div.options ul > li + li a span.tariff
{
	font-size : 80%;
	line-height : 110%;
	vertical-align : middle;
}

.otabo #otabo_results div.options ul > li + li a span.rate
{
	font-size : 130%;
	font-weight : bold;
	line-height : 100%;
	padding : 0;
	white-space : nowrap;
	vertical-align : middle;
}

.otabo #otabo_results div.options ul > li + li a span.discount
{
	color : #dd2222;
}

.otabo #otabo_results div.options ul > li + li a span.discount > span
{
	color : #000;
	display : inline-block;
	font-size : 70%;
	margin : auto 20px;
	text-decoration : line-through;
	width : auto;
}

.otabo #otabo_results div.options ul > li:last-child,
.otabo #otabo_results div.options ul > li:last-child:hover
{
	border-width : 0;
	cursor : default;
	font-size : 75%;
	line-height : 110%;
	opacity : 80%;
	padding-top : 10px;
	text-align : center;
}

.otabo #otabo_results div.options ul > li:last-child:before,
.otabo #otabo_results div.options ul > li:last-child:after
{
	content : none;
}

/**
 *
 * COVERAGES
 *
 */
.otabo #otabo_coverages ul
{
	list-style : none outside;
	padding : 0;
	margin : 0;
	width : 100%;
}

.otabo #otabo_coverages ul li
{
	border : 1px solid #ddd;
	box-sizing : border-box;
	display : block;
	margin : 5px 0;
	padding : 10px;
	text-align : center;
	width : 100%;
}

.otabo #otabo_coverages ul li.c1
{
	margin-left : 0;
	width : 100%;
}

.otabo #otabo_coverages ul li *
{
	text-align : left;
}

.otabo #otabo_coverages ul li h1
{
	font-size : 120%;
	margin : 0;
	padding : 15px 0 10px 0;
}

.otabo #otabo_coverages ul li h2
{
	font-size : 100%;
	font-weight : normal;
	margin : 15px 0 10px 0;
	padding : 0;
}

.otabo #otabo_coverages ul li span.hint
{
	font-size : 80%;
	opacity : 0.9;
}

.otabo #otabo_coverages ul li img
{
	margin : 20px 10px;
}

.otabo #otabo_coverages ul li a.hint
{
	display : block;
	font-size : 70%;
	text-align : right;
}

.otabo #otabo_coverages ul li table
{
	border-collapse : collapse;
	box-sizing : auto;
	margin : 30px 30px 30px 0;
	table-layout : auto;
	width : calc(100% - 30px);
}

.otabo #otabo_coverages ul li table tr td
{
	border-color : #ddd;
	border-style : solid;
	border-width : 0 0 1px 0;
	padding : 10px 0;
	vertical-align : top;
}

.otabo #otabo_coverages ul li table tr td:first-child
{
	font-size : 110%;
	font-weight : normal;
}

.otabo #otabo_coverages ul li table tr td:last-child
{
	font-size : 120%;
	text-align : right;
}

.otabo #otabo_coverages ul li div
{
	position : relative;
}

.otabo #otabo_coverages ul li div.rate
{
	box-sizing : border-box;
	display : inline-block;
	margin : 0;
	vertical-align : top;
	width : calc(70% - 20px);
}

.otabo #otabo_coverages ul li div.rate
{
	box-sizing : border-box;
	padding-right : 20px;
	text-align : right;
	width : 100%;
}

.otabo #otabo_coverages ul li div.rate span
{
	display : block;
	text-align : right;
}

.otabo #otabo_coverages ul li div.rate span + span
{
	font-size : 150%;
	font-weight : bold;
}

.otabo #otabo_coverages ul li div.rate form
{
	margin : 10px 0;
	padding : 0;
	text-align : right;
}


.otabo #otabo_coverages ul li div.rate button
{
	margin : 5px 0;
	padding : 3px 20px;
}

/**
 *
 * OPTIONALS
 *
 */
.otabo #otabo_optionals > h1
{
	margin : 45px 0 30px;
}

.otabo #otabo_optionals > h1:first-child
{
	margin-top : inherit;
}

.otabo #otabo_optionals ul
{
	display : flex;
	flex-wrap : wrap;
	list-style : none outside;
	margin : 5px;
	padding : 0 0 25px 0;
	position : relative;
	width : (100px - 10px);
}

.otabo #otabo_optionals ul li
{
	border : 1px solid #ccc;
	box-sizing : border-box;
	flex-grow : 1;
	float : left;
	margin : 5px;
	min-width : 200px;
	padding : 10px;
	text-align : center;
	width : calc(50% - 10px);
}

@media screen and (max-width: 700px)
{
	#otabo_optionals ul li
	{
		width : calc(100% - 20px);
	}
}

@media screen and (max-width: 330px)
{
	.otabo .otabo_form .calendar_holder
	{
		min-width : 240px;
	}

	.otabo #otabo_booking fieldset > *
	{
		min-width : 220px;
	}

	.otabo #otabo_results.full-width ul li .info
	{
		min-width : 220px;
	}

	.otabo #otabo_results_header ul li
	{
		display : block;
	}

	.otabo #otabo_results_header ul li + li::before
	{
		content : '';
	}

	.otabo #otabo_results > ul > li
	{
		min-width : 200px;
	}

	.otabo #otabo_results > ul > li .info .params div span
	{
		width : auto;
	}

	.otabo #otabo_results > ul > li h1
	{
		color : #000;
	}

}

.otabo #otabo_optionals ul li.c1
{
	margin-left : 0;
	width : 100%;
}

.otabo #otabo_optionals ul li *
{
	text-align : left;
}

.otabo #otabo_optionals ul li h1
{
	font-size : 120%;
	margin : 10px;
	padding : 0;
}

.otabo #otabo_optionals table
{
	border-collapse : collapse;
	margin : 10px 0;
	table-layout : auto;
}

.otabo #otabo_optionals table tr,
.otabo #otabo_optionals table tr td
{
	border-width : 0;
	padding : 0;
}

.otabo #otabo_optionals table tr > td.rate
{
	box-sizing : border-box;
	display : table-cell;
	padding-left : 20px;
	text-align : right;
	vertical-align : bottom;
	width : auto;
}

.otabo #otabo_optionals table tr td.rate span
{
	display : block;
	text-align : right;
	white-space : nowrap;
}

.otabo #otabo_optionals table tr td.rate span + span
{
	font-size : 150%;
	font-weight : bold;
}

.otabo #otabo_optionals table tr td.rate span.hint
{
	font-size : 85%;
	font-weight : inherit;
}

.otabo #otabo_optionals table tr td.rate > button
{
	margin : 5px auto;
	padding : 3px 20px;
}

.otabo #otabo_optionals table tr td.rate > button.remove,
.otabo #otabo_cancel
{
	background-color : #a00;
	border : 1px solid #700;
}

.otabo #otabo_optionals table tr td.rate span.quantity
{
	display : inline-flex;
	align-items : stretch;
	flex-direction : row;
	flex-wrap : nowrap;
	justify-content : flex-end;

	border : 1px solid var(--otabo-dark);
	border-radius : 5px;
	margin : 5px auto;
	overflow : hidden;
	padding : 0;
	width : auto;
	min-width : 100px;
}

.otabo #otabo_optionals table tr td.rate span.quantity span
{
	flex-grow : 4;
	font-size : 75%;
	font-weight : normal;
	margin : 0px 12px;
	padding : 5px;
	text-align : center;
	vertical-align : middle;
}

.otabo #otabo_optionals table tr td.rate span.quantity button
{
	border-radius : 0;
	border-width : 0;
	font-size : 11pt;
	margin : 0;
	padding : 5px;
	text-align : center;
	vertical-align : middle;
	width : 25px;
}

.otabo #otabo_optionals table tr td.rate span.quantity button:first-child
{
	border-right-width : 1px;
}

.otabo #otabo_optionals table tr td.rate span.quantity button:last-child
{
	border-left-width : 1px;
}


/**
 *
 * BOOKING DETAILS
 *
 */
.otabo #otabo_booking
{
	text-align : center;
}

.otabo #otabo_booking fieldset
{
	display : flex;
	flex-direction : row;
	flex-grow : 1;
	flex-wrap : wrap;
	justify-content : start;
	margin : 0 -5px;
	text-align : center;
}

.otabo #otabo_booking fieldset > *
{
	box-sizing : border-box;
	flex-grow : 1;
	min-width : 300px;
	padding : 0 5px;
}

.otabo #otabo_booking fieldset h2,
.otabo #otabo_booking fieldset p
{
	text-align : left;
	width : 100%;
}

.otabo #otabo_booking fieldset > .w100
{
	width : 100%;
}

.otabo #otabo_booking label
{
	display : block;
	font-size : 90%;
	font-weight : normal;
	margin : 5px 5px 2px 5px;
	text-align : left;
	width : calc(100% - 10px);
}

.otabo #otabo_booking input
{
	border : 1px solid #ddd;
	padding : 5px;
}

.otabo #otabo_booking input[type='text'],
.otabo #otabo_booking div.input
{
	display : block;
	width : 100%;
}

.otabo #otabo_booking div.input input[type='text']
{
	width : 100%;
}

.otabo #otabo_booking div.input input[type='checkbox']
{
	float : left;
	margin : 20px 10px 0 15px;
}

.otabo #otabo_booking div.input input[type='checkbox'] + span
{
	display : block;
	padding : 13px 0 5px 40px;
}

.otabo #otabo_booking div.input input[type='checkbox'].error + span
{
	color : #c00;
}

.otabo #otabo_booking button
{
	margin : 15px auto;
	padding : 10px 40px;
}

.otabo #otabo_booking input.error
{
	border-color : #ff0000 ! important;
}

.otabo #otabo_booking div.input
{
	position : relative;
	text-align : left;
}

.otabo #otabo_booking div ul
{
	background-color : #fff;
	border : 1px solid #ddd;
	box-sizing : border-box;
	display : none;
	list-style : none outside;
	margin : 0 0 10px;
	max-height : 200px;
	overflow-x : overflow;
	overflow-y : scroll;
	padding : 0;
	width : 100%;
	z-index : 100;

	position : absolute;
	left : 0px;
	right : -1px;
	top : 100%;
}

.otabo #otabo_booking div ul li
{
	border-bottom : 1px solid #ddd;
	padding : 10px;
	text-align : left;
}

.otabo #otabo_booking div ul li:hover
{
	background-color : var(--otabo-main);
	color : #fff;
	cursor : pointer;
}

/**
 *
 * BOOKING SUMMARY
 *
 */
.otabo #otabo_booking_header
{
	border-color : #ddd;
	border-style : solid;
	border-width : 1px;
	text-align : right;
}

.otabo #otabo_booking_header .summary
{
	background-color : #ddd;
	color : #000;
	display : block;
	font-size : 110%;
	font-weight : bold;
	margin : 0;
	padding : 10px;
	text-align : left;
}

.otabo #otabo_booking_header ul
{
	list-style : none outside;
	margin : 0;
	padding : 5px;
	text-align : left;
}

.otabo #otabo_booking_header ul li
{
	box-sizing : border-box;
	display : block;
	padding : 0 10px;
	width : 100%;
}

.otabo #otabo_booking_header ul li .input
{
	display : block;
	font-weight : bold;
 	margin : 10px 0px 5px;
}

.otabo #otabo_booking_header ul li .input a
{
	font-size : 95%;
	font-weight : normal;
	margin-left : 10px;
}

.otabo #otabo_booking_header ul li .date,
.otabo #otabo_booking_header ul li .base,
.otabo #otabo_booking_header ul li .vehicle,
.otabo #otabo_booking_header ul li .coverage,
.otabo #otabo_booking_header ul li .optionals,
.otabo #otabo_booking_header ul li .totals
{
	padding-left : 15px;
}

.otabo #otabo_booking_header ul li .base,
.otabo #otabo_booking_header ul li .vehicle,
.otabo #otabo_booking_header ul li .coverage,
.otabo #otabo_booking_header ul li .optionals,
.otabo #otabo_booking_header ul li .totals
{
	display : block;
	width : 100%;
}

.otabo #otabo_booking_header ul li .date
{
	white-space : nowrap;
}

.otabo #otabo_booking_header ul li .base::before,
.otabo #otabo_booking_header ul li .vehicle::before,
.otabo #otabo_booking_header ul li .coverage::before,
.otabo #otabo_booking_header ul li .optionals::before,
.otabo #otabo_booking_header ul li .totals::before
{
	color : #ccc;
	content : '❯';
	float : left;
	margin-left : -15px;
}

.otabo #otabo_booking_header ul li + li .base::before
{
	color : #ccc;
	content : '❮';
	float : left;
	margin-left : -15px;
}

.otabo #otabo_booking_header ul li .rate
{
	font-size : 120%;
	font-weight : bold;
	position : relative;
	text-align : right;
	vertical-align : bottom;
	white-space: nowrap;
}

.otabo #otabo_booking_header ul table
{
	border-collapse : collapse;
	border-width : 0;
	box-sizing : border-box;
	margin : 0;
	padding : 0;
	table-layout : auto;
	width : 100%;
}

.otabo #otabo_booking_header ul table tr,
.otabo #otabo_booking_header ul table td
{
	border-width : 0;
	margin : 0;
	padding : 0;
}

.otabo #otabo_booking_header ul table td:first-child
{
	padding-right : 15px;
}

.otabo #otabo_booking_header button
{
	margin : 5px 10px 10px;
	padding : 5px 15px;
	text-align : right;
}
