/* layout */

	html { background:#fff url(../images/loading.svg) 50% 50% no-repeat; height:100%; }
	body { /* do not remove this padding, this is to fix problems with keyboards on screens with little content, especially for touch devices like surface pro */ padding-bottom:25vh; }
	body.step3-results { /* do not remove this padding, this is to fix problems with keyboards on screens with little content, especially for touch devices like surface pro */ padding-bottom:65vh; }
	body { background:none; font-family:'Ubuntu', Arial, Helvetica, sans-serif; }
	body.fullscreen-frame-wrapper { height:100%; padding-bottom:0; }
	#logo { padding:2vh 15px 0 15px; text-align:center; display:block; vertical-align:middle; }
	#logo img { border:none; width:5vh; vertical-align:middle; }
	#logo span { color:#333; text-transform:uppercase; font-size:3vh; font-weight:400; vertical-align:middle; margin-left:18px; }
	#main { background:#fff; display:none; }

	@media screen and (max-width:767px) {
		#main { margin-top:16vh; }
	}

	#downarrow { position:fixed; bottom:0; left:0; right:0; box-shadow:0 0 50px 50px #fff; cursor:pointer; }
	#downarrow:before { position:fixed; bottom:0; left:0; right:0; height:40px; background:url(../images/downarrow.png) 50% 0 no-repeat; content:' '; }
	.btn { border-radius:3px; padding:10px 15px; border:none; text-transform:uppercase; }
	.btn-primary { }
	.btn-success { }
	.clear { clear: both; }
	
	@media (min-width: 992px) {
		.col-md-seventh { float:left; width:14.28%; }
		.col-md-seventhdoubled { float:left; width:28.56%; }
	}
	
	@media screen and (min-width:2100px) {
		body .container { width:70%; }
		body .type-tours .details-gadget.BE .im-grid .im-btn { min-width:150px; }
	}
	
/* fullscreen */
	
	body.fullscreen-frame-wrapper { background:#fff url(../images/intro-bg.jpg) 50% 50% no-repeat; background-size:cover; }
	#beTouchStartBar { background:#046ab8; background:rgba(4,106,184,0.90); color:#fff; position:absolute; top:50%; margin-top:-14vh; line-height:8vh; padding:3vh 2vw; left:0; right:0; text-align:center; }
	#beTouchStartBar h1 { margin:0; padding:0 0 3vh 0; font-size:5vh; font-family:'Ubuntu', Arial, Helvetica, sans-serif; }
	#beTouchStartBar button { background:#fff; color:#046ab8; border:none; padding-left:2vw; padding-right:2vw; height:8vh; font-size:4vh; font-family:'Ubuntu', Arial, Helvetica, sans-serif; font-weight:bold; border-radius:0.9vh; }
	
	
/* breadcrumbs */

	.breadcrumbs { background: #fff; padding:2vh 0 0 0; position: inherit; left:0; top:0; right:0; z-index:1000; }
	.breadcrumbs__crumb { display:block; color:#2D59A0; text-transform:uppercase; font-size:1.8vh; }
	.breadcrumbs__crumb:hover {text-decoration:none;}
	.breadcrumbs__crumb_on { background: #2c59a0; color:#fff; }
	.breadcrumbs__crumb_on:focus,
	.breadcrumbs__crumb_on:hover { background-color:#333; color:#fff; }
	.breadcrumbs__crumb span { display:block; line-height:5.5vh; padding:0 30px 0 40px; background-size:contain; }
	.breadcrumbs__crumb_active span { background:url(../images/breadcrumbs_mask.png) 100% 50% repeat-y; }
	.breadcrumbs__crumb6.breadcrumbs__crumb_active span { background:none; }
	
	#breadcrumbs_container { display:table; }
	#breadcrumbs_row { margin:0; display:table-row; background:#EBEBEB; }
	#breadcrumbs_row .col-sm-2 { padding-left:0; padding-right:0; width:inherit; float:none; display:table-cell; }
	

/* step 1 - search */

	.step1buttons { }
	.step1buttons__button { display:block; margin-top:3vh; background:#3e3e3e; color:#fff; text-align:center; text-transform:uppercase; font-size:7vh; letter-spacing:3px; font-weight:400; text-decoration:none !important; }
	.step1buttons__button_accom { background-size:cover; }
	.step1buttons__button_tours { background-size:cover; }
	.step1buttons__button_events { background-size:cover; }
	.step1buttons__button_carhire { background-size:cover; }
	.step1buttons__button_packages { background-size:cover; }
	.step1buttons__button span { display:block; padding:9vh 0; }
	.step1buttons__button span:focus,
	.step1buttons__button span:hover { background:#2c59a0; color:#ffcc00; }
	.step1buttons__button_events, .step1buttons__button_carhire, .step1buttons__button_packages { display:none }


/* step 2 - date */

	.step2buttons { }
	.step2buttons__button { display:block; margin-top:3vh; background:#3e3e3e; color:#fff; text-align:center; text-transform:uppercase; font-size:6.5vh; letter-spacing:3px; font-weight:400; text-decoration:none !important; }
	.step2buttons__button_today { background-size:cover; }
	.step2buttons__button_tomorrow { background-size:cover; }
	.step2buttons__button_choose { background-size:cover; }
	.step2buttons__button span { display:block; padding:6vh 0; }
	.step2buttons__button span:focus,
	.step2buttons__button span:hover { background:#2c59a0; color:#ffcc00; }
	#bootstrap-datepicker li { list-style:none; }
	#datepicker-selected-date { text-align:center; background:#e9e9e9; padding:10px 0; border-top:solid 1px #ccc; border-bottom:solid 1px #ccc; margin-top:15px; font-weight:bold; }
	#datepicker-continue { text-align:center; padding:10px 0 30px 0; }


/* step 3 - results */

	.step3-results { }
	.step3-results .search-gadget.BE .infants { display:none !important; }
	
	.BE .im-grid table td { cursor:pointer; }
	.BE .embedded-search { background:#EBEBEB; margin-top:5vh; padding:8px 1.5vw 0 1.5vw; }
	.BE .embedded-search .search-gadget.BE { border:none; }
	.BE .embedded-search .search-gadget.BE .showHideMap a { margin-top:3vh; border:none; background:#FB535F; color:#fff; height:4.9vh; line-height:4.9vh; font-size:2.3vh; padding:0 5px; text-align:center; overflow:hidden; text-transform:uppercase; display:block; }
	#results.type-tours .search-gadget.BE .showHideMap { display:none; }
	
	.BE .tabs-group,
	.BE .im-grid table td.total .type_aaa,
	.BE .im-grid table td.total .type_self { display:none; }
	
	.BE .search-gadget.BE .product { display:none; }
	.BE .search-gadget.BE .row { margin:0 -4px; }
	.BE .search-gadget.BE .col-xs-12 { padding:0 4px; }
	.BE .search-gadget.BE .label { color: #333; font-size:1.5vh; line-height:3vh; margin:0; padding:0; font-weight:normal;text-align:left;border-radius:0; display:block; }
	.BE .search-gadget.BE .input { color:#333; background: #fff; width:10vw; width:100%; height:4.9vh; line-height:4.9vh; font-size:1.6vh; margin-bottom:8px; display:block; }
	.BE .search-gadget.BE select { border:none; width:100%; -webkit-appearance:none; -moz-appearance:none; height:4.9vh; padding-left:10px; padding-right:36px; background:url(../images/icon-dropdown.png) 100% 50% no-repeat; background-size:auto 100%; cursor:pointer; }
	.BE .search-gadget.BE input[type='text'] { border:none; width:100%; height:4.9vh; padding-left:10px; padding-right:10px; }
	.BE .search-gadget.BE span.input select { background-size:auto 100%; }
	.BE .search-gadget.BE #pseudo { background:#fff url(../images/icon-datepicker.png) 100% 50% no-repeat; background-size:auto 100%; height:4.9vh; line-height:4.9vh; padding:0px 10px; font-size:1.6vh; display:block; cursor:pointer; }
	
/*
	.type-tours .BE .search-gadget.BE > div { width:9.5%; }
	.type-tours .BE .search-gadget.BE .date { width:28.3%; }
*/
	
	.BE .im-grid table { width:100%; }
	.BE .im-grid td { padding:12px 8px; }
	.BE .im-grid td:first-child { padding-left:1.5vw; vertical-align:top; }
	.BE .im-grid td:last-child { padding-right:1.5vw; }
	.BE .im-grid tr.request-only { display:none; }
	.BE .im-grid tr.even td { background:#F5F5F5; }
	.BE .im-grid td.total { text-transform:uppercase; font-size:2.8vh; text-align:center; width:16%; }
	.BE .im-grid td.quantity { text-transform:uppercase; font-size:2.8vh; text-align:center; }
	.BE .im-grid td.property { vertical-align:top; font-size:1.7vh; color:#111; padding-top:3vh; }
	.BE .im-grid td.property .name a { font-size:2.3vh; text-transform:uppercase; }
	.BE .im-grid td.property .address { color:#777; text-transform:uppercase; margin-bottom:10px; display:block; }
	.BE .im-grid td.roominfo { vertical-align:top; font-size:1.7vh; color:#111; padding-top:7px; }
	.BE .im-grid td.roominfo .name a { font-size:2.3vh; text-transform:uppercase; }
	.BE .im-grid td.roominfo .btn { font-size:1.7vh; }
	.BE .im-grid td.roominfo .subtitle { color:#777; text-transform:uppercase; margin-bottom:10px; display:block; }
	.BE .im-grid td.roominfo .RoomConfig { padding-top:1em; }
	.BE .im-grid td.roominfo .OperatorItemHeading { margin:0.5em 0; font-weight:600; }
	.BE .im-grid td.roominfo .OperatorItemContent { margin:0.5em 0; }
	
	.im-pricebutton { background:#333; color:#fff; text-transform:uppercase; text-align:center; border:none; display:block; margin:0 auto; }
	.sold-out .im-pricebutton { background:#898989; }
	.change-dates .im-pricebutton { background:#898989; }
	.im-pricebutton:focus,
	.im-pricebutton:hover { background:#111; text-decoration:none; }
	.im-pricebutton-label { font-size:1.6vh; line-height:100%; padding:9px 10px 5px 10px; display: block; white-space: nowrap; }
	.im-pricebutton-amount { font-size:4.0vh; line-height:100%; padding:0 10px 9px 10px; display:block; margin:0; }
	.map-container .im-pricebutton a { display:block; border:none; text-align:center; font-size:150%; line-height:77px; font-weight:bold; margin:0; padding:0; color:#fff; }
	.map-container .im-pricebutton-label { line-height:77px; }
	.sold-out .im-pricebutton-label { font-size:2.6vh; white-space:normal; line-height:3vh; padding:9px 0; }
	
      	#mapcanvas { height:74vh; background:#eee url(../images/loading.svg) 50% 50% no-repeat; }
	#mapcanvas .map-container { position:relative; }
	#mapcanvas .map-window > div { height:74vh !important; position:static !important; background:none !important; }
	#mapcanvas .product-types { position:absolute; top:1vw; left:1vw; z-index:999; background:#fff; padding:12px; }
	
	.wdDatePicker-Outer { background: #EEE; border-radius: 3px; padding: 8px 15px; box-shadow:3px 3px 10px #000; transform:scale(1.5); margin:65px 0 0 118px; }
	.wdDatePicker-Outer * { box-sizing: content-box; }
	.wdDatePicker-Outer select { width:100%; margin:8px 0; font-weight:normal; cursor:pointer; }
	.wdDatePicker-Outer th,
	.wdDatePicker-Outer td { text-align:right; padding:5px 8px; }
	.wdDatePicker-Outer td.selected { background:#333; color:#fff; }
	.wdDatePicker-Outer td:hover { background:#fff; color:#333; cursor:pointer; }
	.wdDatePicker-Outer i { color:#666; }
	#wdDatePicker-chronNav { min-height:21px; }
	#wdDatePicker-previous { float:left; cursor:pointer; }
	#wdDatePicker-next { float:right; cursor:pointer; }
	
	
/* step 4 - details */
	
	.step4-details h1 { color:#2c59a0; font-weight:normal; font-size:200%; letter-spacing:1px; margin:5vh 0 0 0; }
	.step4-details h2 { color:#2c59a0; font-weight:normal; font-size:200%; letter-spacing:1px; margin:7vh 0 2vh 0; }
	.location { font-size:92%; line-height:160%; }
	
	.details-gadget.BE .im-grid td.total,
	.details-gadget.BE .im-grid td.quantity { font-size:2.3vh; }
	select.sgQty { border:solid 1px #ccc; width:100%; max-width:100px; -webkit-appearance:none; -moz-appearance:none; height:4.9vh; padding-left:10px; padding-right:10px; background:url(../images/icon-dropdown.png) 100% 50% no-repeat; background-size:auto 100%; cursor:pointer; }
	
	.type-tours .details-gadget.BE .im-grid .im-pricebutton-amount + .im-pricebutton-label { padding-top:0; }  /* TOURS OCCURENCES */
	.type-tours .details-gadget.BE .im-grid .total { width:30%; }
	.type-tours .details-gadget.BE .im-grid .im-btn { float:left; margin:0 0.3vw 0.3vw 0; min-width:110px; }
	
	#detailsdesc { max-height:450px; overflow:hidden; margin:25px 0 0 0; position:relative; }
	#detailsdesc.quitelarge:after { content:' '; position:absolute; bottom:0; left:0; right:0; box-shadow:0 0 50px 50px #fff; cursor:pointer; }
	#detailsdesc.quitelarge + .btn { display:inline-block !important; }
	#detailsdesc.expanded { max-height:inherit; overflow:visible; }
	#detailsdesc.expanded:after { display:none; }
	
	.details-gadget-difference { font-size:118%; font-weight:500; color:#333; line-height:150%; padding:50px 0; padding:1em 0 0.7em 0; }
	
	.details-gadget-facilities ul { margin:0; padding:0; list-style-type:none; }
	.details-gadget-facilities li { margin:4px; padding:4px 10px; display:block; background:#333; color:#fff; font-size:88%; border-radius:2px; float:left; }
	
	#detailsgallery { margin:5vh -0.8vw 0 -0.8vw; }
	
	#detailsmap { margin-top:1.6vw; }
	
	#detailsproducts .thumbnail-image { padding-left:0; }
	
	#map_inner2,
	#map_canvas { width:100%; height:400px; }
	
	#detailscancellation p { line-height:150%; width:95%; }
	
	body div#wdOverlayContent.extraContent { font-size:22px; left:20px !important; right:20px !important; width:auto !important; height:auto !important; margin:0 !important; position:absolute !important; top:20px !important; max-height:1200px !important; }
	body div#wdOverlayContent.extraContent b#wdOverlayClose { top:18px; right:20px; }
	#wdOverlayContent .addButton .addToCart { display:none !important; }
	#wdOverlayContent .addButton a.checkOutNow { transform:scale(1.5); margin-right:35px !important; }
	#wdOverlayContent .addButton a.next { transform:scale(1.5); margin-right:35px !important; }
	#wdOverlayContent .addButton a.previous { transform:scale(1.5); margin-left:35px !important; }
	.step4-details #wdOverlayContent, .step4-details #wdOverlayBlockout { display:none !important; }
	.step4-details.BE-calendar-open .wdDatePicker-Outer { z-index:1000003 !important; }
	#wdOverlayContent select, #wdOverlayContent select, #wdOverlayContent input[type="textbox"], #wdOverlayContent input[type="text"] { border:solid 1px #aaa !important; padding:5px 10px !important; width:100%; height:42px; }
	#wdOverlayContent .bookingQuestionSets { padding:12px 15px; }
	#wdOverlayContent .bookingQuestion-container { clear:both; width:100%; }
	#wdOverlayContent .bookingQuestion-title { float:left !important; width:20% !important; min-width:380px; margin-right:15px; display:block; }
	#wdOverlayContent .bookingQuestion-answers { float:left !important; width:25%; min-width:380px !important; margin-left:0; margin-top:-10px; margin-bottom:8px !important; display:block !important; }
	#wdOverlayContent .bookingQuestion-answers label { display:block !important; }
	.modal-backdrop { z-index:9999998; }
	.modal, #userStillExistsWarning { z-index:9999999; }
	
	
/* step 5 - book */
	
	.step5-book #main { min-height:80vh; }
	
	#bookgadget { margin-top:5vh; }
	
	#bookgadget h3 { text-transform:uppercase; font-size:20px; font-weight:normal; color:#333; }

	#bookgadget .BE { font-family:inherit; }

	#bookgadget .BE .shopping-cart { float:left; width:41%; border:none; min-height:100px; margin-right:0; padding-right:1vw; }
	#bookgadget .BE .cartItems { background:#fff; border:none; padding:0; min-height:100px; }
	#bookgadget .BE .cartItems > h3 { background:#EBEBEB; margin:0; padding:1vw 1vw 0 1vw; }
	#bookgadget .BE .cartItems .item { background:#fff; margin:0; padding:1.5vw 120px 2vw 1.5vw; border:solid 1vw #EBEBEB; border-bottom-width:2.5vw; }
	#bookgadget .BE .cartItems .fee { border-top:none; border-bottom:solid 1px #ccc; margin-top:2vw; padding-top:0; }
	#bookgadget .BE .cartItems .fee label { padding-left:2.5vw; font-weight:normal; }
	#bookgadget .BE .cartItems .fee label:before { content:'+ '; }
	#bookgadget .BE .cartItems .fee span { right:2vw; top:inherit; }
	#bookgadget .BE .cartItems .total { position:relative; right:inherit; bottom:inherit; border:none; padding-right:8em; line-height:38px; }
	#bookgadget .BE .cartItems .total label { padding-left:2.5vw; font-weight:normal; text-transform:uppercase; }
	#bookgadget .BE .cartItems .total label:before { content:'= '; }
	#bookgadget .BE .cartItems .total span { position:absolute; right:2vw; font-size:28px; font-weight:500; }
	#bookgadget .BE .cartItems .name { background:none; padding:0; }
	#bookgadget .BE .cartItems .name a { font-size:20px; text-transform:uppercase; line-height:125%; }
	#bookgadget .BE .cartItems .operator { padding:0; color:#333; text-transform:uppercase; padding-bottom:16px; }
	#bookgadget .BE .cartItems .price label  { font-size:28px; font-weight:normal; color:#333; }
	#bookgadget .BE .cartItems .date-nights { padding:0; color:#333; }
	#bookgadget .BE .cartItems .date-nights label { font-weight:normal; }
	#bookgadget .BE .cartItems .date-nights span { font-weight:normal; }

	#bookgadget .BE .personalDetails,
	#bookgadget .BE .ccDetails { float:right; width:59%; background:#EBEBEB; border-radius:0; border:none; min-height:100px; padding:1vw; position:relative; margin-bottom:1vw; margin-left:0; }
	
	#wdOverlayContent #wdOverlayClose { transform:scale(2.0); }
	
	.personalDetails .address,
	.personalDetails .city,
	.personalDetails .state,
	.personalDetails .postcode,
	.personalDetails .country,
	.personalDetails .comment,
	.personalDetails .WhereDidYouHearId,
	.personalDetails .event-tracking,
	.personalDetails .receiveENewsletter { display:none; }

	#bookgadget .BE .personalDetails .button a,
	#bookgadget .BE .ccDetails .button .paynow,
	#bookgadget .BE .ccDetails .button a { background:#333; color:#fff; text-transform:uppercase; padding:0 25px; border:none; border-radius:2px; width:auto; height:auto; line-height:100%; text-decoration:none; font-weight:normal; }
	
	#bookgadget .BE .personalDetails .button,
	#bookgadget.onepagecheckout .BE .button { text-align:left; font-size:20px; }
	
	#bookgadget.multipagecheckout .BE .personalDetails .button,
	#bookgadget.multipagecheckout .BE .personalDetails .button a,
	#bookgadget.multipagecheckout .BE .ccDetails .button .paynow,
	#bookgadget.multipagecheckout .BE .ccDetails .button a { position:absolute; top:10px; right:10px; margin:0; }

	#bookgadget .BE .personalDetails label { display:block; width:100%; font-weight:normal; margin:0; padding:10px 0 2px 0; color:#333; }
	#bookgadget .BE .personalDetails select { border:none; width:100%; -webkit-appearance:none; -moz-appearance:none; height:39px; padding-left:10px; padding-right:10px; background:#fff url(../images/icon-dropdown.png) 100% 50% no-repeat; background-size:auto 100%; cursor:pointer; }
	#bookgadget .BE .personalDetails input { width:100%;-moz-appearance:none;background: #ffffff;border:none;height:39px; }
	#bookgadget .BE .personalDetails .acceptCancellationPolicy input { background:#fff; width:35px; height:35px; position:static; }
	#bookgadget .BE .personalDetails .acceptCancellationPolicy input:checked { background:#fff url(../images/tick-7.png) 50% 50% no-repeat; background-size:contain; }
	
	/*
	.personalDetails .salutation { float:left; width:26%; }
	.personalDetails .firstname { float:right; width:72%; }
	*/
	.personalDetails .surname { float:left; width:56%; clear:both; }
	.personalDetails .phone { float:right; width:42%; }
	.personalDetails .email { clear:both; }
	
	div.shopping-cart.BE div.cartItems div.item div.operator, div.cartInOverlay div.cartItems div.item div.operator,
	div.shopping-cart.BE div.cartItems div.item div.date-nights, div.cartInOverlay div.cartItems div.item div.date-nights,
	div.shopping-cart.BE div.cartItems div.item div.dropoff, div.cartInOverlay div.cartItems div.item div.dropoff,
	div.shopping-cart.BE div.cartItems div.item div.pickup, div.cartInOverlay div.cartItems div.item div.pickup { color:#777 !important; }
	div.shopping-cart.BE div.cartItems div.item div.bookingQuestions,
	div.cartInOverlay div.cartItems div.item div.bookingQuestions { color:#333 !important; }
	
	#bookgadget .BE .BE_error span.validationError { padding:0 8px; background:#990000; color:#fff; }

	#bookgadget .BE .ccDetails label { display:block; width:100%; font-weight:normal; margin:0; padding:10px 0 2px 0; color:#333; }
	#bookgadget .BE .ccDetails select { border:none; width:50%; -webkit-appearance:none; -moz-appearance:none; height:39px; padding-left:10px; padding-right:10px; background:#fff url(../images/icon-dropdown.png) 100% 50% no-repeat; background-size:auto 100%; cursor:pointer; float:left; }
	#bookgadget .BE .ccDetails select.year { border-left:solid 1vw #EBEBEB; }
	#bookgadget .BE .ccDetails input { width:100%;-moz-appearance:none;background: #fff;border:none;height:39px; }
	#bookgadget .BE .ccDetails .cardTypes { margin-top:-50px; margin-left:250px; }
	#bookgadget .BE .ccDetails .cardTypes .cardList .ccLabel { background-color:#fff; border:solid 2px #fff; width:36px; height:28px; margin-right:5px; }
	#bookgadget .BE .ccDetails .deferredGateway { border:none; padding:0; background:none; color:#333; }
	#bookgadget .BE .ccDetails .expirySelects { display:block; height:39px; }
	
	#bookgadget .BE .finalising { background-color:#fff; background-size:auto 50%; background-position:50% 50%; height:46px; margin-top:15px; }
	#bookgadget .BE .finalising a { display:none; }
	
	
	
	#bookgadget .BE .personalDetails input,
	#bookgadget .BE .ccDetails input { padding-left:10px; }

	#bookgadget .BE .personalDetails input:focus,
	#bookgadget .BE .ccDetails input:focus { background:#fff; }

	#bookgadget div.shopping-cart.BE div.cartItems div.item div.remove a,
	#bookgadget div.cartInOverlay div.cartItems div.item div.remove a { display:block; width:50px; height:50px; margin-top:-5px; background:url(../images/icon-cancel.png) 50% 50% no-repeat; }

	#bookgadget div.shopping-cart.BE div.cartItems div.item div.price label,
	#bookgadget div.cartInOverlay div.cartItems div.item div.price label { right:1vw; bottom:2vw; font-weight:500; top:inherit; margin:0; line-height:100%; }


/* step 6 - confirm */

	#confirmgadget { display:none; }
	#confirmresult { padding-bottom:20vh; }
	.step6-confirm h1 { color:#2c59a0; font-size:42px; margin:30px auto; padding:0; }
	.step6-confirm h2 { color:#333; font-size:42px; margin:50px auto; padding:0; }
	.step6-confirm p { color:#333; font-size:27px; margin:50px 0; padding:0; line-height:130%; }
	