

/* COLOURS : can be overridden easily */

:root {
    --itinerary-planner-number: #F5811A;
    --itinerary-planner-icon: #007DC6;
    --itinerary-planner-highlight: #007DC6;
}

.itinerary-planner-logo img.colour{filter: invert(21%) sepia(12%) saturate(4025%) hue-rotate(159deg) brightness(18%) contrast(94%);}
.itinerary-planner-page .well { text-align:center; border-radius:0; box-shadow:none; -webkit-box-shadow:none; }
.itinerary-planner-page .well input { width:100%; max-width:500px; height:50px; padding-left:20px; }
.itinerary-planner-controls { text-align:center; padding:20px 0; }
.itinerary-planner-controls a { text-decoration:none !important; outline:none; }
.itinerary-planner-controls i { border-radius:100px; background:var(--green); color:#fff; padding:10px; font-size:24px; vertical-align:middle; margin:0; }
.itinerary-planner-control { position:relative; display:inline-block; padding-right:30px; }
.itinerary-planner-control > a { padding-right:30px; }
.itinerary-planner-control > a > i { margin-right:3px; }
.itinerary-planner-items { position:relative; margin-bottom:50px; margin-top:60px; }
.itinerary-planner-items:before { content:' '; display:block; position:absolute; z-index:1; top:0; bottom:0; left:30px; width:2px; background:#000; }
.itinerary-planner-items h2 { display:block; position:relative; z-index:2; background:#fff; }
.itinerary-planner-items-day h2 { text-transform:none; margin:60px 0 0 0; padding:10px 0; }
.itinerary-planner-items-dayitems { min-height:220px; }
.itinerary-planner-item { position:relative; z-index:2; background:#fff; margin-top:35px; padding:15px; box-shadow:2px 2px 10px 7px rgba(0,0,0,0.07); }
.itinerary-planner-item-number { border-radius:200px; overflow:hidden; position:absolute; z-index:10; overflow:hidden; left:-15px; top:-10px; font-weight:bold; font-size:22px; width:40px; height:40px; line-height:1.5; display:block; text-align:center; border:solid 3px #fff; }
.itinerary-planner-item-number:before { content:' '; display:block; border:solid 30px var(--green); position:absolute; z-index:5; top:0; left:0; }
.itinerary-planner-item-number span { position:absolute; z-index:12; left:0; right:0; top:0; display:block; color:transparent !important; text-shadow:0 0 0px #fff !important; -webkit-print-color-adjust:exact !important; }
.itinerary-planner-item-remove { position:absolute; z-index:3; right:12px; top:12px; }
.itinerary-planner-item img { width:100%; height:200px; object-fit:cover; }
.itinerary-planner-item h3 { font-size:23px; margin-bottom:15px;text-transform: none; font-weight:400;}
.itinerary-planner-item-type,
.itinerary-planner-item-address { margin:0 30px 16px 0; float:left; font-weight:400; font-size:14px; color:var(--tmpl_font-color); line-height: 1.5; }
.itinerary-planner-item-type i,
.itinerary-planner-item-address i { color:var(--green); font-size:18px; margin-right:5px; }
.itinerary-planner-item-description,
.itinerary-planner-item-description p { font-size:14px; clear:both; line-height:160%; margin:0 0 20px 0; min-height:50px; }
.itinerary-planner-item-contact { display:inline-block; padding-right:46px; font-size:14px; line-height:1;}
.itinerary-planner-item-contact i { font-size:12px; margin-right:2px; }
.itinerary-planner-addday { position:relative; z-index:2; background:#fff; margin-top:100px;  }
.itinerary-planner-addday .btn-primary {padding:5px 40px;}
.itinerary-planner-emptyday { position:relative; z-index:2; padding:50px 0; text-align:center; display:none; }
.itinerary-planner-items-empty .itinerary-planner-emptyday { display:block; }
.draggable-items .itinerary-planner-item { cursor:all-scroll; }
.draggable-items .itinerary-planner-item a { cursor:pointer; font-weight:400; }
#map-canvas { background:#f1f1f1; }
#map-totals { text-align:center; padding:60px 0 30px 0; }
.map-total { color: var(--tmpl_font-color); text-transform:capitalize; font-size: 33px; font-weight: normal; line-height:1; display:inline-block; margin:0 40px; }
.itinerary-map-marker-wrapper { position:absolute; z-index:18; left:-15px; top:-10px; }
.itinerary-map-marker-wrapper .itinerary-planner-item-number { left:0; top:0; }
.itinerary-map-marker-wrapper .umpopout { border-radius:12px; overflow:hidden; position:absolute; z-index:22; width:300px; left:-100px; margin-top:48px; display:block; background:#fff; }
.itinerary-map-marker-wrapper .umpopout.has-content { box-shadow:2px 2px 4px 2px rgba(0,0,0,0.15); }
.itinerary-map-marker-wrapper .umpopout .details { padding:10px 12px; }
.itinerary-map-marker-wrapper .umpopout p { margin-bottom:12px; }
.itinerary-map-marker-wrapper.has-price { z-index:19; }
.itinerary-map-marker-wrapper.has-price .ummarker { opacity:1; border:solid 5px #fff; }
.itinerary-map-marker-wrapper.no-price  .ummarker i { font-size:16px; width:30px; line-height:30px; background:#017DB1; color:#fff; }
.itinerary-map-marker-wrapper.active { z-index:22; }
.itinerary-map-marker-wrapper.active .ummarker { background:#333; border-color:#333 !important; color:#fff; transform:scale(1.2); z-index:99 !important; }
.itinerary-map-marker-wrapper.active .ummarker i { background:#333; color:#fff; }

.gu-mirror { position: fixed !important; margin: 0 !important; z-index: 9999 !important; opacity: 0.8; -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=80)"; filter: alpha(opacity=80); }
.gu-hide { display: none !important; }
.gu-unselectable { -webkit-user-select: none !important; -moz-user-select: none !important; -ms-user-select: none !important; user-select: none !important; }
.gu-transit { opacity: 0.2; -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=20)"; filter: alpha(opacity=20); }

#map-canvas { width:100%; height: 400px; }


@media screen {
    .itinerary-planner-logo { opacity:0; width:1px; height:1px; }
    .itinerary-planner-page h1 { display:none; }
}

@media print {

    a[href]:after { content:"" !important; }

    #cart-bar,
    header,
    .header,
    .custom-share-wrapper,
    .search-gadget-contentpage,
    .contentpage-banner-wrapper,
    .breadcrumbs,
    #system-message-container,
    .itinerary-planner-controls,
    .itinerary-planner-addday,
    .itinerary-planner-emptyday,
    .itinerary-planner-item-remove,
    .itinerary-planner-page .btn-primary,
    .itinerary-planner-item-description a,
    .itinerary-map-marker-wrapper .umpopout,
    .save-your-itinerary,
    .exclusive-deals,
    .partner-logos,
    .content-before,
    .content-after,
    .panel-subscribe,
    .panel-footer-form,
    iframe,
    footer,
    .footer,
    .localhost-dev-warning,
    #system-debug { display:none !important; }

    #banner, .banner,
    #contentpage-banner,
    #messages,
    #sticky-header-megamenu,
    #homepage-social,
    #widget-box-instagram,
    .social-buttons.modern,
    .subscribe-email,
    .newsletter-signup,
    .rotating-offers-wrapper,
    .book-local-experts { display:none !important; }

    main,
    .container { width:100% !important; padding:0 !important; margin:0 !important; max-width:700px; }

    .itinerary-planner-logo { display:block; width:100%; height:auto; padding-bottom:18px; border-bottom:solid 1px #aaa; margin-bottom:30px; }
    .itinerary-planner-logo img { display:block; width:30%;}
    .itinerary-planner-items { display:block !important; page-break-before: always; }
    .itinerary-planner-items .itinerary-planner-item-number { left:0; }
    #contentpage:not(.page-home) .itinerary-planner-page h1 { display:block; border:none; margin:0 0 1em 0; padding:0; }

    #map-totals { padding-top:0; }
    #map-canvas { }

}

@media screen and (max-width:767px) {
    .itinerary-planner-item { padding:10px; margin-top:25px; }
    .itinerary-planner-item .col-md-3 { width:34%; position:absolute; }
    .itinerary-planner-item img { height:70px; background:#333; display:block; }
    .itinerary-planner-item h3 { padding-left:32%; padding-right:15px; min-height:70px; font-size:28px; }
    .itinerary-planner-item-type,
    .itinerary-planner-item-address { margin:0 30px 10px 0; font-size:13px; line-height:1.4; float:none; display:block; }
    .itinerary-planner-item-type i,
    .itinerary-planner-item-address i { font-size:18px; }
    .itinerary-planner-item-type { display:none; }
    .itinerary-planner-item-description { display:none; }
    .itinerary-planner-page .btn-primary { padding:5px 20px; }
}

.layout-itineraryplanner #at4-share { display:none !important; }
ul.itinerary-share { width: 222px; display: -webkit-box; display: -ms-flexbox; display: flex; -webkit-box-align: center; -ms-flex-align: center; align-items: center; -webkit-box-pack: start; -ms-flex-pack: start; justify-content: flex-start; position: absolute; margin: 0; padding: 15px 0; list-style: none; overflow: hidden; will-change: padding; -webkit-transition: padding .3s; transition: padding .3s; z-index: 5; margin-left:-10px; }
ul.itinerary-share.active li:first-of-type { margin-left:10px; }
ul.itinerary-share li { opacity: 0; will-change: opacity; -webkit-transition: opacity .4s; transition: opacity .4s; background: #fff; color: #cf0010; -webkit-box-pack: center; -ms-flex-pack: center; justify-content: center; border-radius: 50px; -webkit-box-shadow: 0 5px 16px rgba(0,0,0,.25); box-shadow: 0 5px 16px rgba(0,0,0,.25); margin-right: 8px; -webkit-transform: scale(1); transform: scale(1); will-change: transform; -webkit-transition: all .2s; transition: all .2s; text-align: center; }
ul.itinerary-share.active li { opacity: 1; }
ul.itinerary-share li:first-of-type { margin-left: 197px; }
ul.itinerary-share li a { color: #0D859B; line-height: 36px; display: inline-block; width: 100%; }
ul.itinerary-share li a:hover { text-decoration: none; -webkit-transform: scale(1.1); transform: scale(1.1); }
@media (max-width: 380px) {
    .com_bookeasy.view-details ul.itinerary-share { clear: both; margin-right: 0; padding-top: 7px; }
}



/* itinerary bundles / itinerary planner, when using search gadget */

.trip-planner-book-iframe-wrapper { padding:0 15px; clear:both; width:100%; }
.trip-planner-book-iframe-wrapper iframe { width:100%; }
.view-itinerarybundle .itinerary-planner-item .col-md-3 { padding-right:0; }
#details-gadget .trip-planner-details-gadget .priceGrid { width:auto; padding:0; margin:0; }
#details-gadget #itemGadget .trip-planner-search-gadget { padding:67px 0 30px 0; }
#details-gadget #itemGadget .trip-planner-search-gadget .currencyId { max-width:100% !important; width:100% !important; margin-bottom:3px !important; }
#details-gadget #itemGadget .trip-planner-search-gadget .gadget__search-column { max-width:100% !important; min-width:50%; margin-bottom:3px !important; }
#details-gadget #itemGadget .trip-planner-search-gadget .gadget__search-column-date { min-width:100%; }
#details-gadget #itemGadget .trip-planner-search-gadget .gadget__search-column .row .row { margin:0; }
.trip-planner-wrapper-row #details-gadget { margin-top:0; }
.trip-planner-wrapper-row #details-gadget #itemGadget table thead td { padding:4px 0; }
.itinerary-planner-item .click-me-click-me { /*animation:clickmeBounce 2s infinite 2s;*/ animation:clickmeDefaultColors 1.5s infinite; animation-direction:alternate; }
@keyframes clickmeDefaultColors { from { } to { background-color:#faae33; } }
@keyframes clickmeBounce { 0%, 20%, 50%, 80%, 100% { transform: translateY(0); } 40% { transform: translateY(-10px); } 60% { transform: translateY(-5px); background-color:#faae33; } }
.itinerary-planner-item.booking-completed .btn-booknow { position:relative; }
.itinerary-planner-item.booking-completed .btn-booknow:after { content:"\f058"; color:#00aa00; font-family: var(--tmpl_font-awsome); font-weight: 900; -moz-osx-font-smoothing: grayscale; -webkit-font-smoothing: antialiased; display: inline-block; font-style: normal; font-variant: normal; text-rendering: auto; line-height: 1; font-size: 36px; vertical-align: top; position:absolute; right:-18px; top:-18px; background:#fff; border-radius:50%; border:solid 3px #fff; }
.itinerary-planner-cart.cartInOverlay { margin-bottom:32px; }
.itinerary-planner-cart.cartInOverlay h2 { background:#444; color:#fff; margin:0; padding:0 28px; line-height:150%; font-size:32px; }
.itinerary-planner-cart.cartInOverlay .shopping-cart .noItems { margin:0; padding:25px 0 0 28px; }
.itinerary-planner-cart.cartInOverlay,
.itinerary-planner-cart .shopping-cart.BE,
.itinerary-planner-cart .shopping-cart.BE div.cartItems { font-family:inherit; font-size:inherit; padding-left:0; padding-right:0; border:none; }

#itinerary-notification-top { position:fixed; z-index:99999; top:160px; left:0; right:0; }
#itinerary-notification-top span { display:block; margin:0 auto; width:90%; max-width:600px; border:solid 3px #ddd; background:#f3f3f3; color:#888; font-size:15px; font-weight:400; border-radius:2px; line-height:160%; padding:5px 15px; box-shadow:2px 2px 4px 0px rgba(0,0,0,0.1); text-align:center; }

#itinerary-notification-bottom { position:fixed; z-index:99999; bottom:90px; left:0; right:0; }
#itinerary-notification-bottom span { display:block; margin:0 auto; width:90%; max-width:600px; border:solid 3px #00aa00; background:#00bb00; color:#fff; font-size:14px; font-weight:400; border-radius:2px; line-height:160%; padding:5px 15px; box-shadow:2px 2px 4px 0px rgba(0,0,0,0.1); text-align:center; }

body div#wdOverlayContent div.add-to-cart-form div.addProgress div.spinner,
body div#wdOverlayContent div.item-details div.addProgress div.spinner { right:30px; bottom:25px; }

@media screen and (max-width:767px) {
    .view-itinerarybundle .itinerary-planner-item .col-md-3 { padding-right:15px; }
    #details-gadget #itemGadget .trip-planner-search-gadget { padding:30px 0 30px 0; }
    .itinerary-planner-item .trip-planner-wrapper-row .col-md-3 { width:100%; position:static; }
}

/* TEMPORARY AUGUST 2021 - REMOVE AFTER 1st SEPTEMBER, once latest gadgets released */
@media (max-width:767px) {
    .search-gadget-trip-booker .be-gadget-col .label { width:80%; }
    .search-gadget-trip-booker .be-gadget-col .input { width:20%; }
}

.itinerary-planner-imagegallery { margin:0 auto 30px auto; max-width:880px; }
.itinerary-planner-imagegallery .cycle-next,
.itinerary-planner-imagegallery .cycle-prev { position: absolute; z-index: 200; top: 50%; margin-top: -30px; width: 60px; height: 60px; line-height: 60px; background-color: rgba(0,0,0,.5); color: hsla(0,0%,100%,.8); text-align: center; cursor: pointer; }
.itinerary-planner-imagegallery .cycle-prev { left: 0; }
.itinerary-planner-imagegallery .cycle-next { right: 0; }
.itinerary-planner-imagegallery .cycle-next i,
.itinerary-planner-imagegallery .cycle-prev i { line-height: 60px; font-size: 24px; }



/* UTILITIES :  simple loading spinners */
.lds-dual-ring-medium-dark { display: block; width: 80px; height: 80px; margin:0 auto; }
.lds-dual-ring-medium-dark:after { content: " "; display: block; width: 64px; height: 64px; margin: 8px; border-radius: 50%; border: 6px solid #555; border-color: #555 transparent #555 transparent; animation: lds-dual-ring 1.2s linear infinite; }
.lds-dual-ring-small-dark { display: block; width: 40px; height: 40px; margin:0 auto; }
.lds-dual-ring-small-dark:after { content: " "; display: block; width: 32px; height: 32px; margin: 4px; border-radius: 50%; border: 3px solid #555; border-color: #555 transparent #555 transparent; animation: lds-dual-ring 1.2s linear infinite; }
@keyframes lds-dual-ring {
    0% { transform: rotate(0deg); }
    100% { transform: rotate(360deg); }
}