.validation{ font-weight:normal; }
.validation ul { list-style-type:disc; padding: 2px 0 0 16px;}
.clear{ clear:both;}
/* old css rules for compatibility*/

.v_panel {
    font-size: 14px!important;
    border-bottom: 1px rgba(255, 0, 0, 0.23) solid;
    padding: 8px 0;
}
.v_panel label{
    font-weight: normal;
}
input.v_radio {
    display: inline-block;
    position: relative;
    width: 20px;
    height: 20px;
    margin-right: 10px;
    margin-bottom: 0px;
    top:5px;
}


.newtheme-divider{
	border-bottom: 8px solid #ee1c25 !important;
    padding: 0 0 50px!important;
}

/* Availability */
.parallax-effect .color-overlay {
    background-color: #fedd54;
    padding: 15px 0;
}
.comboheader {
    padding-top: 30px;
}
.btn{
       -webkit-appearance: none;

}
#parallax-pagetitle .row {
  display: flex;
  align-items: center;
}
.parallax-effect #parallax-pagetitle h1{padding:0px 15px 0px;font-size: 1.8em;width: 25%;text-align: center;}
.parallax-effect #parallax-pagetitle h1.availability-h1{width:auto;font-size: 1.5em;padding 0;text-align: left;}
#parallax-pagetitle h4 {width: calc(100% - 25% - 90px);text-align: center;margin-left: 60px;}
.datearea label{ display:inline-block; position:relative; top:-1px; margin-right:3px; }
.datearea .labelyear{ padding-left:13px;}
.datechoose { float: right; margin: 3% 1%; }
.refreshdate{ text-align:right; margin-top:5px;}
.refreshdate .btn{ display:inline-block; border-radius:5px; padding:0px; cursor:pointer; margin-top: 20px;background-color:#ed1c25!important;border-top:0!important;}
.refreshdate .btn:first-child{ margin-right:8px;}
.availtable {
	background-color: transparent;
    max-width: 100%;
	border-collapse: collapse;
    border-spacing: 0;
    border: 1px solid #cccccc;
	width:100%;
}
.noprint {
    margin-bottom: 20px;
}
.availtable td, .availtable th {
    border: 1px solid #cccccc; padding:4px;
}
.availtable td{ font-size:14px;}
.availtable .day {
    display: block;
    font-size: 20px;
    padding-top: 10px;
    text-align: center;
    width: 100%;
}
.av_many a,.av_some a { color: #008800; font-weight:normal; }
.av_many a:hover, .av_some a:hover{ text-decoration:underline; }

/* Book */
section.mainbook{ margin-top:40px;}
.leftside {
    background: #f5f5f5 none repeat scroll 0 0;
    padding: 12px 15px 15px;
	float:left;
	width: 25%;
	font-size:14px;
}
.leftside h2{ font-size: 20px; margin-bottom: 10px; margin-top: 20px; }
.leftside h4{ font-size: 14px; }
.media-heading { margin: 0 0 5px;}
.leftside .txt{ font-weight:normal; }

.bookingform {
	float:left;
	margin-left:60px;
    padding-bottom: 15px;
	width: calc(75% - 90px);
}
.bookingform h2{ font-size: 24px; margin-bottom: 20px; margin-top: 20px;padding-left: 0px; }
.bookingform h4 {
    background: #eee none repeat scroll 0 0;
    margin-top: 20px;
    padding: 7px 5px 7px 10px;
	font-size:14px;
  margin-left: -7px;
}
.table{ width:100%; }
/*.table-bordered {
    border: 1px solid #dddddd;
}*/
.table-condenced {
    margin-bottom: 0 !important;
}
.bookingform input[type="text"], .bookingform select, .bookingform textarea {
    max-width: 300px;
    width: 100%;
	border-radius:0;
	display:inline-block;
}

.bookingform textarea {
    margin-top: 0px;
    height: 150px;
}

.bookingform input[type="checkbox"], .bookingform input[type="radio"]{
	width:inherit; height:inherit; display:inline; max-width:inherit; 
}
.pickradio input[type="radio"] { width:12px;}
.bookingform table td{
	padding: 4px 8px 4px 0px;
    vertical-align: top;
	font-size:14px;
}
.bookingform table td label{ font-weight:500; }
.bookingform table tr:first-child td{ padding-top:8px; }
input, button, select, textarea {
    font-family: inherit;
    font-size: inherit;
    line-height: inherit;
}
.terms {
    
    /*font-family: serif;*/
    font-size: 14px;
    min-height: 75px;
    width: 100%;
	font-weight:normal;
        margin-bottom: 40px;
}
.bookingform .single-row label{ display:inline-block; }
.bookingform .formbuttons .btn{ display:inline-block; border-radius:0; padding:0px; cursor:pointer; }
.bookingform .formbuttons .btn:first-child{ margin-right:8px;}
.bookingform .formbuttons .btn{ font-weight:normal; padding:0 5px; text-align:center; }
.bookingform .formbuttons .btn-lg.v1{ line-height:34px; height: 34px; border-radius: 10px; background-color: transparent; color: #000;}
.bookingform .formbuttons .btn-lg.v2{ width:inherit; background-color:#090; line-height: 14px;height: 34px;border-radius: 10px;font-weight: 800; padding: 10px;}
.bookingform .agree{ font-size:17px;}
.bookingform .agree_data{font-size: 14px;line-height: 20px;font-weight: 400;display: inline-block;left:26px;max-width: calc(100% - 26px);}
.conditions{ font-size:12px; font-weight:normal; line-height: 16px; }
.conditions a{  font-weight:normal; color:#ED1C25; }
.conditions a:hover{ text-decoration:underline;}
.pickup_selected_div h3.unselected_opt_h3{ color:#F2580B; margin:0 0 10px 5px;}
.pickcontent {
    border-bottom: 1px solid #d7d7d7;
    margin: 0 2% !important;
    padding: 2px;
}
.pickup-points-panel .col-md-9{ width:100%;}
.pickup_section {
    border: 1px solid #d7d7d7;
    max-height: 350px;
    overflow-y:auto;
    overflow-x: hidden;
    margin-left: -15px;
    margin-top: 15px;
}
.pickup-points-panel {
    margin-bottom: 40px;
}
.pickup_section, .pickup-points-panel {
  margin-left: -15px;
  margin-top: 15px;
}
.pickup-points-panel .pickup_section {
  margin-left: 0;
}
.pickradio {
    padding: 8px 0;
}
.pickmap {
    padding: 2.4% 0;
	text-align:center;
	width: 19%;
}
.pickradio,.pickmap{
	float:left;
	/*font-family: serif;*/
    font-size: 14px;
    font-weight: normal;
}
.floatl{ float:left;}
.pickmap a, .moreopts {border-radius: 10px; padding: 10px;}
.pickmap a {display: block;width:200px;margin-top: 0;padding:5px 10px;}
.pickmap a:hover, .moreopts:hover { text-decoration:underline;}
.pickmap {
    display: flex;
    width: 100%;
    align-items: center;
}
	
.map_button {
    -moz-border-bottom-colors: none;
    -moz-border-left-colors: none;
    -moz-border-right-colors: none;
    -moz-border-top-colors: none;
    border-color: #35929e !important;
    border-image: none;
    border-radius: 4px;
    border-style: solid;
    border-width: 2px;
    color: #023180 !important;
    font-size: 10px;
    font-weight: bold;
    padding: 2%;
    text-transform: uppercase;
}
.textcolor {
    font-weight: bold;
}
.textsimple {
    font-weight: normal;
}
.text_color {
    font-weight: bold;
    text-align: center;
	 padding: 1% 0;
}
.details {
    border: 2px dotted;
}
.det_pad {
    padding: 1.5% 0;
}
.der {
    border-bottom: 2px solid;
	padding-top: 2%;
}
.pickfrom {
    border-bottom: 2px solid #999;
	padding: 1% 2%;
}
.pickup_selected{ margin-left:15px;}
.pickup_selected_div h3{ margin:5px 0; font-size:15px; font-weight:bold;}
.selected_div_opt{ border:1px dashed #000;}
.selected_opt_h3{ padding-left:5px; margin-bottom:0px;}
.pickup_selected_div h3.unselected_opt_h3{ color:#F2580B; margin:0 0 10px 5px;}
.clear{ clear:both;}
.pointer{ cursor:pointer;}
a.moreopts{ font-weight:normal; font-size:13px; margin-left:20px; float: right;  }
a.moreopts {   float: none;
    margin-left: 20px;
    margin-right: 0px;
    width: 200px;
    font-size: .85em;
    line-height: 1.4;
    text-align: left;
}
.pickup_section a.moreopts {
  display: none;
}
/*Confirm*/
.voucher_btn{ text-align:center; padding:10px 0 5px 0;}
.voucher_btn .btn{ display:inline-block; border-radius:10px;height: 34px;line-height: 34px; padding:0px; cursor:pointer; }
.vtab td{}

.conditions {
    margin-bottom: 30px;
}

#adult_list, #infaint_list, #child_list {
    max-width: 600px;
}

#sex {
    margin-right: 10px;
}

#child_qty_select, #adult_qty_select, #infant_qty_select {
    min-width: 50px;
}

#mobileview {
    display: none;
}



@media print {
  * {
    color: #000 !important;
    text-shadow: none !important;
    box-shadow: none !important;
  }
  body {-webkit-print-color-adjust: exact;}
   td {-webkit-print-color-adjust: exact;}
  a,
  a:visited {
    text-decoration: underline;
  }
  a[href]:after {
    content: none!important;
  }
  abbr[title]:after {
    content: " (" attr(title) ")";
  }
  a[href^="javascript:"]:after,
  a[href^="#"]:after {
    content: "";
  }
  pre,
  blockquote {
    border: 1px solid #999;
    page-break-inside: avoid;
  }
  thead {
    display: table-header-group;
  }
  tr,
  img {
    page-break-inside: avoid;
  }
  img {
    max-width: 100% !important;
  }
  
  .mobile-nav, .menu, #mobile_invitation_container {
      display: none!important;
  }
 
  
  @page  {
    margin: 2cm .5cm;
  }
  p,
  h2,
  h3 {
    orphans: 3;
    widows: 3;
  }
  h2,
  h3 {
    page-break-after: avoid;
  }
  select {
    background: #fff !important;
  }
  .navbar {
    display: none;
  }
  .btn > .caret,
  .dropup > .btn > .caret {
    border-top-color: #000 !important;
  }
  .label {
    border: 1px solid #000;
  }
  .table {
    border-collapse: collapse !important;
  }
  .table-bordered th,
  .table-bordered td {
    border: 1px solid #ddd !important;
  }
  .main{ border:none;}
  .body-border,.header{ display:none;}
  .vtab{ font-size:13px;}
  #footer{ display:none;}
  .newtheme-divider{
	border: none !important;
    padding: 0 !important;
}
}

@media (max-width: 898px){

    .bookingform {
        width: 100%;
    }
    
    .leftside { width:90%; margin-bottom: 30px;}
    
    .bookingform {
        margin-left: auto;
    }
}

@media (max-width: 750px){
    .parallax-effect .color-overlay {
        padding: 20px 0;
    }
    
    .color-overlay h1 {
        text-align: center;
    }
    
    .refreshdate {
        transform: scale(0.9);
        margin-bottom: 5px;
    }
    
    #deskview {
        display: none;
    }
    
    #mobileview {
        display: block;
    }
    
    .availtable td {
        background-color: rgba(0,0,0,0.03);
        padding: 12px 4px;
        font-size: 14px;
        text-align: center;
    }
    
    .availtable td, .availtable th {
        border: 0;
        font-size: .8em;
    }
    
    .table-bordered {
        border: 1px solid rgba(0,0,0,0.11);
        border-collapse: initial;
        background-color: transparent;
        border-spacing: 2px;
    }
    
    .td-available {
        background-color: yellowgreen!important;
    }
    
    .td-available a {
        font-weight: 400!important;
    }
    
    .parallax-effect #parallax-pagetitle h1 {
        padding-bottom: 0;
    }
    
    .no-mobile {
        display: none;
    }
    
    .no-mob-border {
        border: 0;
    }
    
    .pickup-points-panel .col-md-9 {
        width: 100%;
    }
    
    .pickmap {
        padding: 20px 0 20px;
        text-align: left;
        width: 100%;
        transform: scale(.9) translateX(-20px);
    }
    
    .color-overlay h4 {
        padding-top: 10px;
        text-align: center;
    }
    
    .bookingform h2 {
        font-size: 20px;
    }
}

#accept_terms, #accept_data {
    border: 1px solid rgba(0,0,0,0.4);
    -webkit-appearance: none;
    width: 18px;
    height: 18px;
    cursor: pointer;
    border-radius: 3px;
    margin-top: 4px;
    float: left;
    margin-right: 8px;
    margin-bottom: 0;
}

input[name=pickup_required] {
    border: 1px solid rgba(0,0,0,0.4);
    -webkit-appearance: none;
    width: 18px!important;
    height: 18px!important;
    cursor: pointer;
    border-radius: 3px;
    display: inline-block!important;
    transform: translateY(8px);
}

#accept_terms:checked, #accept_data:checked,input[name=pickup_required]:checked {
    background-color: #090;
    background-image: url(../img/check-mark.png);
    background-size: cover;
    background-repeat: no-repeat;
    border-color: #090;
}

.confirm-ul {
  width: auto;
  display: flex;
  align-items: center;
}

.booking-confirmed {
  width: 100%;
  display: flex;
}

.booking-confirmed .btn {
  margin: 0;
}

.parallax-effect #parallax-pagetitle .booking-confirmed h1 {
  width: auto;
}

.print-div {
  position: relative;
  top: 0;
}