

/* COLOURS : can be overridden easily */

:root {
	--itinerary-planner-number: #EE9F71;
	--itinerary-planner-icon: var(--colour-primary);
	--itinerary-planner-highlight: #964523;
}

.itinerary-planner-tabs { position:absolute; z-index:800; left:50%; margin-left:-144px; margin-top:16px; background: #FFFFFF; box-shadow: 0px 3px 6px #00000029; border-radius: 4px; display:flex; width: 287px; padding:3px; }
.itinerary-planner-tabs a { display:block; text-align:center; flex:1 1 50%; color: #52B7BA; font-size:22px; line-height:50px; }
.itinerary-planner-tabs a.active { background: #52B7BA; border-radius: 4px; color:#fff; }
.itinerary-planner-map { position: absolute; left: calc(50% + 175px); width: calc(50vw - 186px); background: #BADEE2; }
.itinerary-planner-map #map-totals-wrapper { position:absolute; left:0; right:0; bottom:30px; padding:0; display: flex; justify-content: center; align-items: center; }
.itinerary-planner-map #map-totals { margin:0 auto; padding:0 10px; display:block; background:#fff; box-shadow: 0px 3px 6px rgba(0,0,0,0.29); border-radius: 4px; line-height:56px; }
.itinerary-planner-map #map-canvas { height: 100vh; min-height:400px; }
.itinerary-planner-map .itinerary-planner-tab { min-height:max(100vh, 400px); }
.itinerary-planner-page .well { border-radius:0; box-shadow:none; -webkit-box-shadow:none; background: #f5f5f5; border:none; padding: 28px 34px; max-width: 810px; margin-bottom: 80px; }
.itinerary-planner-page .well input { height:50px; padding-left:20px; font-weight:bold; font-size:15px; border: 0; border-radius: 4px; width: 100%; }
.itinerary-planner-page .well h2 { font-family: 'Roboto'; font-size: 34px; font-weight: 500; letter-spacing: 0; text-transform: none; }
.itinerary-planner-page .well p {  }
.itinerary-planner-page .btn-primary { background:#007EC5; padding:8px 36px; letter-spacing:0.5px; font-weight:700; }
.itinerary-planner-control ul { list-style-type: none; position: absolute; top: 0; right: -239px; width: 250px; display: none; }
.itinerary-planner-control ul.active { display: block; }
.itinerary-planner-control ul li { display: inline-block; }
.itinerary-planner-control.print a { width: 54px; display: block; text-align: center; margin-left: auto; }
.itinerary-planner-controls { }
.itinerary-planner-controls a { color: var(--colour-primary); text-decoration: none; }
.itinerary-planner-controls a.btn-itinerary-share { width: 54px; display: block; text-align: center; margin-left: auto; margin-bottom: 10px; }
.itinerary-planner-controls i { border-radius:100px; background:var(--itinerary-planner-icon); color:#fff; font-size: 26px; width: 54px; height: 54px; text-align: center; line-height: 54px; }
#itinerary-planner-items-wrapper { max-width: 810px; min-height: 500px; }
.itinerary-planner-items.draggable-items { }
.itinerary-planner-items.draggable-items:before { background:var(--itinerary-planner-icon); }
.itinerary-planner-items h2 { display:block; color: #fff; background-color: #964424; font-family: 'Roboto'; font-size:34px; padding: 6px 30px; background-image: url(flair-itinerary-planner.jpg); background-size: contain; background-repeat: no-repeat; background-position: calc(100% - 10px) 0; letter-spacing: 0; text-transform: none; border-radius: 4px 0px 0px 0px; }
.itinerary-planner-items-dayitems { padding-top:22px; padding-bottom:60px; }

.itinerary-planner-item { position: relative; margin-bottom: 20px; }
.itinerary-planner-item:before { content: ""; background-color: #BADEE2; width: calc(100% - 160px); height: 100%; display: block; position: absolute; left: 30px; box-shadow: 0px 3px 6px #00000029; border-radius: 4px; }
.itinerary-planner-item a { color:var(--itinerary-planner-highlight); text-decoration: none; }
.itinerary-planner-item .btn-primary.btn-booknow { position:absolute; right:60px; top:32px; background: var(--colour-secondary); color:#fff; border-color: var(--colour-secondary); }
.itinerary-planner-item > .row > .col-lg-3 { padding-left: 45px; }
.itinerary-planner-item .itinerary-planner-item-image { aspect-ratio: 1.23; background-color: #ddd; }
.itinerary-planner-item-number { font-weight: bold; top: 35px; font-size: 28px; display: inline-block; position: absolute; background: #EE9F71; border: 2px solid #FFFFFF; width: 49px; height: 49px; border-radius: 50px; text-align: center; color: #fff; z-index: 2; }
.itinerary-planner-item-number:before { border-color:var(--itinerary-planner-number); }
.itinerary-planner-item-remove { position: absolute; z-index:3333; }
.itinerary-planner-text-above { padding:90px 0 60px 0; max-width:800px; margin:0 auto; }
.itinerary-planner-after-content { height:100px; }
.itinerary-planner-after-content:empty { display: none; }
.itinerary-planner-day-content { position:relative; z-index:3; background:#fff; padding:30px 130px 16px 33px; }
.itinerary-planner-item img { }
.itinerary-planner-item h3 { font-size: 24px; padding-top: 16px; max-width: 360px; margin-bottom:7px; }
.itinerary-planner-item-type,
.itinerary-planner-item-address { font-weight:bold; color:var(--itinerary-planner-highlight); }
.itinerary-planner-item-type i,
.itinerary-planner-item-address i { font-size:22px; }
.itinerary-planner-item-description { display: none; font-size:14px; }
.itinerary-planner-item-contacts { display: none; }
.itinerary-planner-item-contact { }
.itinerary-planner-item-contact i { font-size:16px; }
.itinerary-planner-addday { background:#fff; margin-bottom: 15px; }
.itinerary-planner-emptyday { margin-bottom: 15px; }
.map-total { font-size: 22px; font-weight: 500; color: #52B7BA; margin:0; padding:0 15px; text-transform:none; }
.map-total i { color: var(--itinerary-planner-icon); font-weight:400; }
body .itinerary-planner-cart.cartInOverlay h2 { font-size: 34px; background-color: transparent; padding-left: 30px; padding-top: 8px; color: var(--colour-primary); font-family: 'Roboto'; letter-spacing: 0; text-transform: capitalize; font-weight: 500; }
#itinerary-cart-gadget .cartItems { background: #fff !important; padding-left: 30px; padding-right: 22px; padding-top: 0; }
.itinerary-planner-cart {  }
.be-cart-responsive .itinerary-planner-cart div.shopping-cart.BE div.cartItems div.total { width: 100%; left: 0; position: static; float: none; -webkit-box-pack: justify; -ms-flex-pack: justify; justify-content: space-between; }
.be-cart-responsive .itinerary-planner-cart div.shopping-cart.BE div.cartItems div.total strong { font-size: 22px; font-weight: 400; }
.be-cart-responsive .itinerary-planner-cart div.shopping-cart.BE div.cartItems div.total span { font-size: 22px; padding-top: 8px; }
.be-cart-responsive div.cartInOverlay.itinerary-planner-cart div.cartItems div.checkout { position: absolute !important; }
.be-cart-responsive div.cartInOverlay.itinerary-planner-cart div.cartItems div.checkout a { font-size: 22px; font-weight: 500; height: 50px; }
.be-cart-responsive div.cartInOverlay.itinerary-planner-cart div.cartItems div.checkout + div { border-top: 1px solid #ddd; }
body.be-cart-responsive div.shopping-cart.BE div.cartItems div.item div.remove { margin-top: 22px; }
body.be-cart-responsive div.shopping-cart.BE div.cartItems div.item div.remove a:after { font-family: 'TH Font Awesome 6 Pro' !important; content: "\f057"; font-weight: 300; }
body.be-cart-responsive div.shopping-cart.BE div.cartItems div.item div.name { background: none; width: 100%; }
div.shopping-cart.BE div.cartItems div.item div.journey, div.cartInOverlay div.cartItems div.item div.journey:empty { padding: 0; }
body.be-cart-responsive div.shopping-cart.BE div.cartItems div.item div.price { width: auto; position: absolute; right: 30px; top: 31px; font-size: 18px; }
.itinerary-planner-cart.cartInOverlay .item.accom { display: flex; flex-wrap: wrap; }
.itinerary-planner-cart.cartInOverlay .item.accom > .stage { order: 1; }
.itinerary-planner-cart.cartInOverlay .item.accom > .journey { order: 2; }
.itinerary-planner-cart.cartInOverlay .item.accom > .operator { order: 3; width: 100%; }
.itinerary-planner-cart.cartInOverlay .item.accom > .name { order: 4; }
.itinerary-planner-cart.cartInOverlay .item.accom > .price { order: 5; }
.itinerary-planner-cart.cartInOverlay .item.accom > .remove { order: 6; }
.itinerary-planner-cart.cartInOverlay .item.accom > .quantity { order: 7; }
.itinerary-planner-cart.cartInOverlay .item.accom > .date-nights { order: 8; }
.itinerary-planner-cart.cartInOverlay .item.accom > .bookingQuestions { order: 9; }
.itinerary-planner-cart.cartInOverlay .item.accom > .specials { order: 10; }
.be-cart-responsive div.shopping-cart.BE div.cartItems div.item div.date-nights .dateNightsSeparator { display: inline-block; }
.be-cart-responsive div.shopping-cart.BE div.cartItems div.item div.date-nights .dateNightsSeparator:before { content: "|"; margin-left: 4px; margin-right: 4px; font-size: 18px; color: #000; }
.be-cart-responsive div.shopping-cart.BE div.cartItems div.item div.date-nights .text-label { font-weight: 500; }
.be-cart-responsive div.shopping-cart.BE div.cartItems div.item div.name a { font-weight: 500; }
body.be-cart-responsive div.shopping-cart.BE div.cartItems div.item div.operator { font-size: 18px; font-weight: 500; color: #000; }
.be-cart-responsive div.cartInOverlay.itinerary-planner-cart div.cartItems .item { padding-top: 30px; }
body.be-cart-responsive div.shopping-cart.BE div.cartItems div.item div.date-nights span { font-size: 18px; color: #000; }
body.be-cart-responsive div.shopping-cart.BE div.cartItems div.checkout { right: 22px !important; }

@media (max-width: 1399px){
	#itinerary-planner-items-wrapper { max-width: 730px; }
	.itinerary-planner-page .well { max-width: 730px; }
}
@media (max-width: 1199px){
	.itinerary-planner-map .itinerary-planner-tab { padding-top: 100px; }
	.itinerary-planner-cart.cartInOverlay { margin-top: 0; }
	#itinerary-planner-items-wrapper { max-width: 100%; }
	.itinerary-planner-map { position: static; width: 100%; margin-bottom: 30px; }
	.itinerary-planner-after-content { display: none; }
}
@media (max-width: 767px){
	.save-your-itinerary .col-text { margin-bottom: 15px; }
	.itinerary-planner-controls { display: flex; flex-direction: row-reverse; justify-content: flex-end; }
	.itinerary-planner-control ul { left: 14px; right: auto; width: 270px; top: 60px; }
	.itinerary-planner-controls > div { margin-right: 10px; }
	.itinerary-planner-item:before { width: calc(100% - 30px); }
	.itinerary-planner-item .btn-primary.btn-booknow { position: static; }
}
@media (max-width: 575px){
	.itinerary-planner-item > .row > .col-lg-3 { padding-top: 10px; }
	.itinerary-planner-item > .row > .col-lg-9 { padding-left: 45px; }
	body.be-cart-responsive div.shopping-cart.BE div.cartItems div.item div.price { position: static; width: 100%; }
}