/* ============================================================================================================================================================ Reset */
.header html, .header body, .header div, .header span, .header applet, .header object, .header iframe, .header
h1, .header h2, .header h3, .header h4, .header h5, .header h6, .header p, .header blockquote, .header pre, .header
a, .header abbr, .header acronym, .header address, .header big, .header cite, .header code, .header
del, .header dfn, .header em, .header img, .header ins, .header kbd, .header q, .header s, .header samp, .header
small, .header strike, .header strong, .header sub, .header sup, .header tt, .header var, .header
b, .header u, .header i, .header center, .header
dl, .header dt, .header dd, .header ol, .header ul, .header li, .header
fieldset, .header form, .header label, .header legend, .header
table, .header caption, .header tbody, .header tfoot, .header thead, .header tr, .header th, .header td, .header
article, .header aside, .header canvas, .header details, .header embed, .header
figure, .header figcaption, .header footer, .header header, .header hgroup, .header
menu, .header nav, .header output, .header ruby, .header section, .header summary, .header
time, .header mark, .header audio, .header video { padding: 0; border: 0; font-size: 100%; /*vertical-align: baseline;*/ }

/* HTML5 display-role reset for older browsers */
.header article, .header aside, .header details, .header figcaption, .header figure, .header footer, .header header, .header hgroup, .header menu, .header nav, .header section { display: block; }
.header body { line-height: 1; font-size:12px;}
.header ol, .header ul { list-style: none; }
.header ul.nav {margin-right:15px !important;}
.header blockquote, .header q { quotes: none; }
.header blockquote:before, .header blockquote:after, .header q:before, .header q:after { content: ''; content: none; }
.header table { border-collapse: collapse; border-spacing: 0; }

/* ============================================================================================================================================================ Generic */

.header html, .header button, .header input, .header select, .header textarea { color: #333; }
.header html, .header p, .header h1, .header h2, .header h3, .header h4, .header h5, .header h6, .header li { font-size: 16px; line-height: 1.4; }

table {border-collapse: initial;}
.header { font-family: 'PT Sans', Arial, sans-serif; padding-bottom: 10px; padding-top: 10px;}
.header .popover-content {white-space: nowrap; font-size:16px; padding: 9px 14px;}
/* .shopForm{padding-right:10px; }  */

#idSoftripLogo {
	display:none;
}

/* .toc_table{border-spacing: 10px;} */
.toc_table #layout  td { padding: 0 10px 10px 0; }
/* .toc_table .shopForm {width:260px;} */

.whiteBG .header {display:inline-block; width:70%}

.toc_subgroup_products table{margin: 0 0 0 10px;}

h2 { color: #0061aa; }
h3, h4, h5, h6 { color: #333; }

p { margin-bottom: .75em; }
a { color: #0061aa; font-weight: normal; text-decoration: underline; }
a:hover { /*background: #e5f2f9;*/ color: #333; text-decoration: none; }
a:focus { outline: thin dotted #0061aa; }
a:active, a:hover { outline: 0; }

::-moz-selection { background: #0061aa; color: #FFF; text-shadow: none; }
::selection { background: #0061aa; color: #FFF; text-shadow: none; }

hr { display: block; height: 1px; border: 0; border-top: 1px solid #ccc; margin: 1em 0; padding: 0; }
audio, canvas, img, video { vertical-align: middle; }
fieldset { border: 0; margin: 0; padding: 0; }
textarea { resize: vertical; }

h1 { font-size: 2em; font-weight: normal; margin: .5em 0; }
h2 { font-size: 24px; font-weight: 700; margin: 0.83em 0; }
h3 { font-size: 24px; font-weight: 700; line-height: 26px; margin: 0 0 .25em 0; }
h4 { font-size: 18px; font-weight: 700; margin: 0 0 .25em 0; }
h5 { font-size: 16px; font-weight: 700; margin: 0 0 .25em 0; }
h6 { font-size: 16px; margin: 0 0 .25em 0; }

abbr[title] { border-bottom: 1px dotted; }
b, strong { font-weight: 700; }
small { font-size: 80%; }

sub, sup { font-size: 75%; line-height: 0; position: relative; vertical-align: baseline; }
sup { top: -0.5em; }
sub { bottom: -0.25em; }

/* ============================================================================================================================================================ Misc */
.contact-phone {border: 1px solid #0061aa; padding:1em 1em .5em 1em; margin-top:1em; text-align:center;}

/* ============================================================================================================================================================ Navigation */
.bluebg {background-color:#0061aa;}
.whitebg {background-color:#fff; padding:0.8em 0;}

/* following class .nav statements may be redundant, review pending */
.nav li { float: left; padding: 15px 0; position: relative; }
.nav li > a:hover,  .nav li > a:focus, .nav li:focus > a, .nav li:hover > a { background: transparent; outline: 0; text-decoration: underline; }
.nav li:hover ul,  .nav li:focus ul, ul.show-menu { left: 0; opacity: 0.99; }
.nav ul, .nav ul > li:last-child a { border: 0; }
.nav ul li { float: none; padding: 0; position: static; width: 100%; }
.nav ul a { float: none; display: block; color: #FFF; font-size: 14px; text-shadow: none; border: 1px solid #0061aa; border-width: 0 0 1px; padding: 12px 0; -webkit-transition: 0.1s linear all; -moz-transition: 0.1s linear all; -o-transition: 0.1s linear all; transition: 0.1s linear all; }
.nav ul a:hover, .nav ul a:focus { background: #0061aa; color: #fff; text-shadow: none; }

#headerlogo {padding-left:1em;}
#topmenu li a {color:#0061aa; text-decoration:underline; text-decoration:underline; border:0; font-weight: 400; padding: 7px 20px; text-align: center; width: 100%; }
#topmenu li a:hover {color:#0061aa; text-decoration:underline; color:#333;}
#topmenu a.mybooking { background: #f36f21 center; color: #fff; text-decoration: none; }
#topmenu a:hover.mybooking { background: #f36f21 center; color: #fff; text-decoration: none; }

#primary { background: #0061aa; }
#primary .nav { width: 100%; }
#primary .nav > li { width: 14.28%; }
#primary .nav > li { font-size: 18px; white-space:nowrap; }
#primary .nav > li > a { border-right: 1px solid #f36f21; float: left; display: inline; color: #fff; font-weight: 400; text-align: center; text-decoration: none; width: 100%; }
#primary .nav > li:first-child > a { border-left: 0; }
#primary .nav > li:last-child > a { border-right: 0; }
#primary .nav .open > a { text-decoration:none; background-color: transparent; border-color: #f36f21; }
#primary .nav ul { padding: 0; list-style: none; background: #0061aa; width: 100%;}

#primary .dropdown-header {text-transform:uppercase; font-weight:normal; font-size:15px; text-align:center; color: #fff; background-color: #0061aa;}
#primary .dropdown-menu { min-width: 200px; }
#primary .dropdown-menu.columns-2 { min-width: 400px; } /* not yet tested margin-left may apply */
#primary .dropdown-menu.columns-3 { min-width: 600px; text-align:left; margin-left: -460px; }
#primary .dropdown-menu li a { padding: 5px 15px; font-weight: 300; }
#primary .dropdown-menu li a { text-decoration: none; color: #fff; background-color: #0061aa; }
#primary .dropdown-menu li a:hover { text-decoration: none; color: #0061aa; background-color: #fff; }
#primary .multi-column-dropdown { list-style: none; }
#primary .multi-column-dropdown li a { display: block; clear: both; line-height: 1.428571429; color: #fff; white-space: normal; }
#primary .multi-column-dropdown li a:hover { text-decoration: none; color: #0061aa; background-color: #fff; }

.dropdown-menu .divider{
	width: 90%;
	margin-left: 5%;
}

/* mouse out ease out */
.nav ul { opacity: 0; -webkit-transition: 0.2s linear opacity; -moz-transition: 0.2s linear opacity; -o-transition: 0.2s linear opacity; transition: 0.2s linear opacity;  }

.navbar {margin-bottom:0;}
.popover-content {white-space: nowrap; font-size:1.2em;}
.navbar-nav>li>a { padding-top: 5px;  padding-bottom: 5px; }

/* ============================================================================================================================================================ Progress Line  */
ol, ol.progress-line {
margin: 0;
padding: 30px 0;
list-style-type: none;
height: 100%;
background-color: #fff;
}

.lt-ie9 ol.progress-line {
margin-left: -2.5%;
width: 110%;
}

ol.progress-line li {
display: inline-block;
text-align: center;
line-height: 3.5em;
font-size: 16px;
position:relative;
}
ol.progress-line li .progress-bar{
	position:absolute;
	left:50%;
	right:auto;
	width:100%;
	height:1px;
	bottom:0;
	border-bottom: 2px dotted #ccc;
}
/*ol li, ol.progress li {display: inline; }*/

ol.progress-line[data-progress-steps="2"] li { width: 49%; }
ol.progress-line[data-progress-steps="3"] li { width: 33%; }
ol.progress-line[data-progress-steps="4"] li { width: 24%; }
ol.progress-line[data-progress-steps="5"] li { width: 19%; }
ol.progress-line[data-progress-steps="6"] li { width: 16%; }
ol.progress-line[data-progress-steps="7"] li { width: 14%; }
ol.progress-line[data-progress-steps="8"] li { width: 12%; }
ol.progress-line[data-progress-steps="9"] li { width: 11%; }

ol.progress-line li.progress-done {
/*color: red;*/
/*counter-increment: step-counter;*/
/*
border-bottom: 2px solid #ccc;
*/
color:#333;
}
ol.progress-line li.progress-done .progress-bar{
border-bottom: 2px solid #ccc;
}
ol.progress-line li.progress-done.inprogress .progress-bar{
	border-bottom: 2px dotted #ccc;
}
ol.progress-line li:last-child .progress-bar{
border-bottom: none !important;
display: none;
}

/* to support browsers not supporting :last-child */
ol.progress-line li.last-step .progress-bar{
border-bottom: none !important;
display: none;
}
ol.progress-line li.progress-done:before {
/*color: red;*/
/*content: counter(step-counter);*/
/*margin-right: 5px;*/
}


ol.progress-line li.progress-todo {
color: #333;
/*
border-bottom: 2px dotted #ccc;
*/
}

ol.progress-line li:after {
/*content: "\00a0\00a0";*/
content: '';
}
ol.progress-line li:before {
position: absolute;
bottom: -10px;
/*
float: left;
*/
right:50%;
left: 50%;
margin:0 auto;
line-height: 1em;
z-index:1;
}
ol.progress-line li.progress-done:before {
/*content: "\2713";*/
/*content: '';*/
content: '\f00c';
font-family: arial, helvetica, sans-serif;
color: white;
background-color: #0061aa;
border: 2px solid #0061aa;
height: 1.2em;
width: 1.2em;
line-height: 1.2em;/*border: none;*/
border-radius: 1.2em;
}
ol.progress-line li.progress-done.inprogress{
	font-weight:700;
}
ol.progress-line li.progress-done.inprogress:before {
content: '';
}

ol.progress-line li.progress-todo:before {
/*content: "\039F";*/
content: '';
color: black;
background-color: #FFF;
border: 2px solid #0061aa;
font-size: 1.2em;
/*
bottom: -2em;
*/
height: 1.2em;
width: 1.2em;
line-height: 1.2em;
/*border: none;*/
border-radius: 1.2em;
}

/* ============================================================================================================================================================ Duration Bar */
#duration-bar{
	width:100%;
	height:3em;
	box-sizing:border-box;
	border:2px solid #0061aa;	
	text-align:center;
	margin-bottom:1em;
}
#duration-bar li{
	display:block;
	width:20%;
	border-right:2px solid #0061aa;
	box-sizing:border-box;
	height:100%;
	position:relative;
	float:left;
}

#duration-bar li:last-child{ border-right:none; }

#duration-bar li.current{
	background-color:#c2dcf0;
}

#duration-bar li.current a{
	color:#333;
	font-weight:bold;
}

#duration-bar li a{
	line-height:41px;	
	text-decoration:none;
	color:#333;
}

#duration-bar li a:hover{
	font-weight:bold;
	color:#0061aa;
	background-color:transparent;
}

/* ============================================================================================================================================================ Search Results */
.show,
a.show,
a.seefeatures {
background-image: url(../images/icons/arrow-down.png);
background-repeat: no-repeat;
background-position: right center;
padding-right: 20px;
/*text-decoration: none;*/
}

.moreresults > a {
background-color: #e5f2f9;
display: block;
padding: 10px 0;
text-align: center;
}

.moreresults > a:after { 
background: #e5f2f9 url(../images/icons/arrow-down.png) no-repeat center center;
content: ''; 
padding-right: 20px;
}

.moreresults { margin-bottom: 30px; }

.searchresults {
float: left;
color: #0061aa;
font-size: 24px;
}

#resultsrow .edit {
float: left;
margin: 6px 10px; 
}

/* formcompare */
#formcompare { 
float: right; 
/*width: 37.5%;*/
margin-top: -10px;
width: 430px;
}

#formcompare .checkboxes { 
float: left;
margin-top: 0; 
} 

#formcompare input[type="submit"],
#formcompare button { float: right; } 

#formcompare label[for=pricewithtaxes] { margin-right: 0; }

#formcompare input[type="submit"] {
width: 216px;
height: 53px;
}

#formcompare label[for=pricewithtaxes] {
width: 200px;
height: 53px;
line-height: 30px;
}


#formcompare .checkboxes label:before {
left: 5px;
top: 16px;
}

/* arrow box */
#editsearchform,
.features-show {
background: #FFF;
border: 2px solid #396582;
clear: both;
height: 100px;
padding: 15px 8px;
position: relative;
width: 100%;
-webkit-box-sizing: border-box;
-moz-box-sizing: border-box;
-ms-box-sizing: border-box;
box-sizing: border-box;
-webkit-box-shadow: 0px 0px 10px 0px rgba(0, 0, 0, .5);
-moz-box-shadow: 0px 0px 10px 0px rgba(0, 0, 0, .5);
box-shadow: 0px 0px 10px 0px rgba(0, 0, 0, .5);
}

.features-show { 
height: auto; 
}

#editsearchform:after, #editsearchform:before,
.features-show:after, .features-show:before {
bottom: 100%;
left: 50%; /* arrow position */
border: solid transparent;
content: " ";
height: 0;
width: 0;
position: absolute;
pointer-events: none;
}

.features-show.one:after,
.features-show.one:before { left: 25%; }
.features-show.two:after,
.features-show.two:before { left: 75%; }



#editsearchform:after,
.features-show:after {
border-color: rgba(255, 255, 255, 0);
border-bottom-color: #FFFFFF;
border-width: 10px;
margin-left: -10px;
}

#editsearchform:before,
.features-show:before {
border-color: rgba(57, 101, 130, 0);
border-bottom-color: #396582;
border-width: 13px;
margin-left: -13px;
}
#editsearchform select{
	background-color:#fff;
	border:1px solid #A9A9A9;
}

#editsearch .form-group {
float: left;
margin-right: 10px; 
}

#editsearch .form-group:first-of-type,
#editsearch .form-group:nth-of-type(2),
#editsearch .form-group:nth-of-type(3) { width: 16%; }

#editsearch .form-group:nth-of-type(4) { width: 8%;} 
#editsearch .form-group:nth-of-type(5),
#editsearch .form-group:nth-of-type(6),
#editsearch .form-group:nth-of-type(7) { width: 6%;} 

#editsearch .form-group select,
#editsearch .form-group input[type="text"] { width: 100%; }

#editsearch input[type="submit"] {
float: right;
width: 16%;
}
#editsearch label{
	font-size:18px;
}
label[for=editdeparturecity],
label[for=editdestination],
label[for=editdepartdate],
label[for=editnumberofdays],
label[for=editnumberofrooms] { margin-top: 15px; }
#editsearch input[type="submit"] { margin-top: 30px; }

.hide { display: none; }

.edit .show.andhide, { background-image: url(../images/icons/arrow-up.png); }

/* ============================================================================================================================================================ Vertical Booking Box */

#shopping .form-group { margin-right: 0; margin-left: 0; }
#shopping .form-control-ages {
    padding-left: 0;
    width: 49%;
    display: inline;
}
#shopping .phone {font-size:2em; font-weight:bold;}
#shopping select {padding-left:0;}
            
.shoptype .glyphicons {font-size:2em;}
.shoptype a {font-size:0.8em;}

            
.nav-tabs { border-bottom: 1px solid #0061aa; }
.nav-tabs>li {padding:5px 0 0 0; width:33%; text-align:center; }
.nav-tabs>li:first-child {width:34%;}
.nav-tabs>li>a {color: #0061aa;cursor: pointer;background-color: #fff;border: 1px solid #ddd;border-bottom-color: #0061aa;}
.nav-tabs>li>a:focus, .nav-tabs>li>a:hover {color: #0061aa;background-color: #a5d3f5;border: 1px solid #ddd;border-bottom-color: #0061aa;}
.nav-tabs>li.active>a, .nav-tabs>li.active>a:focus, .nav-tabs>li.active>a:hover {color: #fff;background-color: #0061aa;border: 1px solid #ddd;border-bottom-color: #0061aa;}
.nav-tabs>li>a { margin-right:1px;}
            
.aoshow .fa, .aohide .fa {padding-left:0.5em;}



/* ============================================================================================================================================================ Horizontal Booking Box */

#shopping .form-group { margin-right: 0; margin-left: 0; }
#shopping .form-control-ages { width: 3em; display: inline; }
#shopping .phone {font-size:2em; font-weight:bold;}
            
#shopping select {padding-left:0;}
            
.nav-tabs { border-bottom: 1px solid #0061aa; }
.nav-tabs>li {padding:5px 0 0 0;}
.nav-tabs>li>a {color: #0061aa;cursor: default;background-color: #fff;border: 1px solid #ddd;border-bottom-color: #0061aa;}
.nav-tabs>li>a:focus, .nav-tabs>li>a:hover {color: #0061aa;cursor: default;background-color: #a5d3f5;border: 1px solid #ddd;border-bottom-color: #0061aa;}
.nav-tabs>li.active>a, .nav-tabs>li.active>a:focus, .nav-tabs>li.active>a:hover {color: #fff;cursor: default;background-color: #0061aa;border: 1px solid #ddd;border-bottom-color: #0061aa;}
.nav-tabs>li>a { margin-right:1px;}
            
.form-control-ages-horiz { width: 3em; display: inline; }
            
.searchbox {border:1px solid #0061aa;}
            
header {padding-top:1em;}
header h2 {display:inline;}
header p {padding-top:0.5em;}
            
i.fa {padding-left:0.5em;}

/* ============================================================================================================================================================ Footer */
footer { background: #ddd; margin-top: 40px; padding: 30px 0 0 0; text-align: left;font-family: 'PT Sans', Arial, sans-serif;}
footer h4 { border-bottom: 2px solid #FFF; color: #646464; font-weight: 400; margin-bottom: 15px; padding-bottom:10px;}
footer ul li  {list-style:none;}
footer .copyright a{text-decoration: underline !important;}
.legal li { line-height:2em; font-size:14px;}
.legal li a { text-decoration: none; color:#0061aa; background-color:transparent;}
.legal li a:hover { text-decoration: underline; color:#333; background-color:transparent;}
.certified img {margin-bottom: 1em;}
.certified ul li { display: inline; float: left; }
.social ul li { display: inline; float: left; font-size: 2.5em; margin-bottom: 10px; width: 33%; }
.social li a:hover { background-color:transparent;}

.footerbox { float: left; margin-right: 2.5%; width: 18.5%; -webkit-box-sizing: border-box; -moz-box-sizing: border-box; -ms-box-sizing: border-box; box-sizing: border-box; }
.footerbox.inboxdeals { width: 37%; margin-right: 0; }

.fa-facebook-square { color: #3b5998; }
.fa-twitter-square { color: #4099FF; }
.fa-google-plus-square { color: #d34836; }
.fa-youtube-square { color: #e52d27; }
.fa-pinterest-square { color: #C92228; }
.fa-instagram { color: #007bb5; }

.social .fa:hover { color: #0061aa; }

#copyright { background: #ccc; margin-top: 30px; padding: 15px 0; text-align: center; }
#copyright a { color: #333; }
#copyright p { font-size: 12px; margin-bottom: 0; }

/* ============================================================================================================================================================ Signup Footer */
/* Use id to prevent that styles apply to other form elements on the page */
#boxSignupFooter .form-group { width: 44%; float: left; height: 65px; margin-bottom: 10px; }
#boxSignupFooter .form-group:nth-of-type(odd) { margin-right: 6%; }

#boxSignupFooter input[type="text"], 
#boxSignupFooter input[type="email"], 
#boxSignupFooter input[type="password"], 
#boxSignupFooter select 
{ 
	border: 1px solid #ccc; 
	width: 100%;
	font-size: 16px; 
	padding: 10px 0; 
	text-indent: 10px;
	
	-webkit-box-sizing: border-box; 
	-moz-box-sizing: border-box; 
	-ms-box-sizing: border-box; 
	box-sizing: border-box; 
}

#boxSignupFooter label { display: block; font-weight: 700; font-size:14px;}

#boxSignupFooter .checkbox {margin-top:0;}
#boxSignupFooter .checkbox label { font-weight:400; background-color: #ecebe6; border: 1px solid #ecebe6; padding: 5px 15px 10px 28px; -webkit-box-sizing: border-box; -moz-box-sizing: border-box; -ms-box-sizing: border-box; box-sizing: border-box; }
#boxSignupFooter .checkbox label:hover { background-color: #ecebe6; border: 1px solid #0061aa; -webkit-box-sizing: border-box; -moz-box-sizing: border-box; -ms-box-sizing: border-box; box-sizing: border-box; }

#boxSignupFooter button { background: #0061aa; border: 2px solid #0061aa; color: #FFF; cursor: pointer; display: block; font-family: 'PT Sans', Arial, sans-serif; font-size: 18px; font-weight: 700; height: 42px; line-height: 21px; text-decoration: none; -webkit-box-sizing: border-box; -moz-box-sizing: border-box; -ms-box-sizing: border-box; box-sizing: border-box; -webkit-appearance: none; -moz-appearance: none;}
#boxSignupFooter button:hover, input[type="submit"]:hover { background: #FFF; color: #0061aa; }
#boxSignupFooter button.arrow, input[type="submit"].arrow { background-image: url(/media/vacexpress/images/angle-right-white.png); background-position: 99% center; background-repeat: no-repeat; }
#boxSignupFooter button.arrow:hover, input[type="submit"].arrow:hover { background-image: url(/media/vacexpress/images/angle-right.png); }
#boxSignupFooter button { width: 200px; }

#boxSignupFooter button { -webkit-transition: all 0.25s ease-out; -moz-transition: all 0.25s ease-out; -o-transition: all 0.25s ease-out; transition: all 0.25s ease-out; }

#errSignupFooter { background: url(/media/vacexpress/images/required-red.png) no-repeat center left; color: #646464; padding-left: 24px; }
#boxSignupFooter .requiredField { background-color:rgba(243, 111, 33, 0.55); }

/* */
.scrollup { position: fixed; bottom: 50px; right: 50px; display: none; color: #444; }
.scrollup .fa {padding-right:0.5em;}
.lnop {padding:0;}



/* ============================================================================================================================================================ Bootstrap adjustments & Fixes */
.container { margin: 0 auto; max-width: 1170px; min-width: 942px; width: 100%; -webkit-box-sizing: border-box; -moz-box-sizing: border-box; -ms-box-sizing: border-box; box-sizing: border-box; }
.container { padding: 0; }
.row { clear: both; margin: 15px 0; }

.ui-autocomplete {font-size:14px; text-align:left;}
