:root { --ttt-accent: #066a73; --ttt-accent-hover: #044e55; --ttt-background: #f7fafb; --ttt-border: #dfe5e7; --ttt-text: #1f2937; --ttt-muted: #667176; --ttt-surface: #fff; --ttt-button-text: #fff; --ttt-badge-bg: #eaf4f5; --ttt-badge-text: #075c64; --ttt-input-bg: #fff; --ttt-radius: 16px; } body.ttt-product-theme { background-color: var(--ttt-background); color: var(--ttt-text); } body.ttt-product-theme :where(.site-main, main, .woocommerce, .product) { color: var(--ttt-text); } body.ttt-product-theme :where(.woocommerce-tabs, .woocommerce-Tabs-panel, .related.products, .up-sells.products), .ttt-product-theme :where(.ttt-card-content, .ttt-checkout-section, .ttt-basket-block, .ttt-tour-bar-panel) { border-color: var(--ttt-border); } body.ttt-product-theme :where(.site-main, main, .woocommerce, .product) :where(a:not(.button):not(.ttt-card-button):not(.ttt-search-button)) { color: var(--ttt-accent); } body.ttt-product-theme :where(.site-main, main, .woocommerce, .product) :where(button, .button, input[type="submit"]):not(.ttt-tour-bar-maximise):not(.ttt-media-arrow):not(.ttt-carousel-arrow) { border-color: var(--ttt-accent); } .ttt-product-theme, .ttt-tour-grid-widget, .ttt-tour-search-widget, .ttt-tour-checkout, .ttt-tour-bar, .ttt-tour-field { color: var(--ttt-text); } .ttt-tour-grid-widget, .ttt-tour-search-widget, .ttt-tour-checkout, .ttt-tour-bar { box-sizing: border-box; min-width: 0; } .ttt-tour-grid-widget *, .ttt-tour-search-widget *, .ttt-tour-checkout *, .ttt-tour-bar * { box-sizing: border-box; } .ttt-card-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 24px; width: 100%; align-items: start; } .ttt-tour-card { position: relative; display: var(--ttt-card-display, flex); grid-template-columns: var(--ttt-card-columns, none); min-width: 0; flex-direction: column; gap: 12px; overflow: hidden; border: 1px solid var(--ttt-border); border-radius: var(--ttt-radius); background: var(--ttt-surface); box-shadow: 0 8px 26px rgba(20, 42, 48, .08); isolation: isolate; transition: transform .2s ease, box-shadow .2s ease; align-self: start; height: auto; max-height: var(--ttt-card-max-height, none); } .ttt-tour-card:hover { transform: translateY(-3px); box-shadow: 0 14px 36px rgba(20, 42, 48, .14); } .ttt-card-section { min-width: 0; } .ttt-layout-rows { display: flex; flex-direction: column; min-width: 0; } .ttt-layout-content-row { display: flex; flex-wrap: wrap; align-items: flex-start; gap: var(--ttt-row-gap, var(--ttt-section-gap, 12px)); min-width: 0; width: 100%; } .ttt-row-item { min-width: 0; max-width: 100%; } .ttt-row-width-auto { flex: 0 1 auto; width: auto; } .ttt-row-width-25 { flex: 0 1 calc(25% - var(--ttt-row-gap, 12px)); width: calc(25% - var(--ttt-row-gap, 12px)); } .ttt-row-width-33 { flex: 0 1 calc(33.333% - var(--ttt-row-gap, 12px)); width: calc(33.333% - var(--ttt-row-gap, 12px)); } .ttt-row-width-50 { flex: 0 1 calc(50% - var(--ttt-row-gap, 12px)); width: calc(50% - var(--ttt-row-gap, 12px)); } .ttt-row-width-66 { flex: 0 1 calc(66.666% - var(--ttt-row-gap, 12px)); width: calc(66.666% - var(--ttt-row-gap, 12px)); } .ttt-row-width-75 { flex: 0 1 calc(75% - var(--ttt-row-gap, 12px)); width: calc(75% - var(--ttt-row-gap, 12px)); } .ttt-row-width-100 { flex: 1 1 100%; width: 100%; } .ttt-row-width-custom { flex: 0 1 min(var(--ttt-row-item-width, 260px), 100%); width: min(var(--ttt-row-item-width, 260px), 100%); } .ttt-card-content { display: flex; flex-direction: column; grid-column: var(--ttt-card-body-column, auto); grid-row: 1; min-width: 0; min-height: 0; gap: var(--ttt-section-gap, 12px); padding-top: var(--ttt-card-top, 20px); padding-right: var(--ttt-card-right, 20px); padding-bottom: var(--ttt-card-bottom, 20px); padding-left: var(--ttt-card-left, 20px); } .ttt-card-content > .ttt-layout-content-row { --ttt-row-gap: var(--ttt-section-gap, 12px); } .ttt-card-content > .ttt-layout-content-row > .ttt-card-section { margin-block: 0; } .ttt-card-section:not(.ttt-section-image):not([class*="ttt-position-overlay-"]) { margin: 0; } .ttt-section-image { grid-column: var(--ttt-card-image-column, auto); grid-row: 1; align-self: start; width: 100%; height: var(--ttt-card-image-height, auto); overflow: hidden; } .ttt-section-image > .ttt-card-image, .ttt-section-image > .ttt-card-media-slider, .ttt-section-image > .ttt-card-video, .ttt-section-image > .ttt-card-video-embed, .ttt-section-image .ttt-media-viewport, .ttt-section-image .ttt-media-track, .ttt-section-image .ttt-media-slide { min-height: var(--ttt-card-image-height, auto); height: var(--ttt-card-image-height, auto); } .ttt-card-orientation-landscape-left, .ttt-card-orientation-landscape-right { --ttt-card-display: grid; --ttt-card-columns: minmax(150px, var(--ttt-side-media-width, 40%)) minmax(0, 1fr); --ttt-card-image-column: 1; --ttt-card-body-column: 2; align-items: start; } .ttt-card-orientation-landscape-right { --ttt-card-columns: minmax(0, 1fr) minmax(150px, var(--ttt-side-media-width, 40%)); --ttt-card-image-column: 2; --ttt-card-body-column: 1; } .ttt-card-orientation-landscape-left .ttt-section-image .ttt-card-image, .ttt-card-orientation-landscape-right .ttt-section-image .ttt-card-image, .ttt-card-orientation-landscape-left .ttt-section-image img, .ttt-card-orientation-landscape-right .ttt-section-image img, .ttt-card-orientation-landscape-left .ttt-card-media-slider, .ttt-card-orientation-landscape-right .ttt-card-media-slider, .ttt-card-orientation-landscape-left .ttt-media-viewport, .ttt-card-orientation-landscape-right .ttt-media-viewport, .ttt-card-orientation-landscape-left .ttt-media-track, .ttt-card-orientation-landscape-right .ttt-media-track, .ttt-card-orientation-landscape-left .ttt-media-slide, .ttt-card-orientation-landscape-right .ttt-media-slide { min-height: 0; align-self: start; } .ttt-align-left { text-align: left; } .ttt-align-center { text-align: center; } .ttt-align-right { text-align: right; } .ttt-align-justify { text-align: justify; } .ttt-align-space-evenly { text-align: center; } .ttt-layout-row, .ttt-layout-column { display: flex; flex-wrap: wrap; gap: 8px; } .ttt-layout-row { flex-direction: row; align-items: center; } .ttt-layout-column { flex-direction: column; } .ttt-align-center.ttt-layout-row { justify-content: center; } .ttt-align-right.ttt-layout-row { justify-content: flex-end; } .ttt-align-justify.ttt-layout-row { justify-content: space-between; } .ttt-align-space-evenly.ttt-layout-row { justify-content: space-evenly; } [class*="ttt-position-overlay-"] { position: absolute; z-index: 4; width: max-content; max-width: calc(100% - 32px); margin: 0; } .ttt-position-overlay-top-left { top: 16px; left: 16px; } .ttt-position-overlay-top-centre { top: 16px; left: 50%; transform: translateX(-50%); } .ttt-position-overlay-top-right { top: 16px; right: 16px; } .ttt-position-overlay-centre { top: 50%; left: 50%; transform: translate(-50%, -50%); } .ttt-position-overlay-bottom-left { bottom: 16px; left: 16px; } .ttt-position-overlay-bottom-centre { bottom: 16px; left: 50%; transform: translateX(-50%); } .ttt-position-overlay-bottom-right { right: 16px; bottom: 16px; } .ttt-card-image { display: block; width: 100%; overflow: hidden; } .ttt-card-image img { display: block; width: 100%; height: auto; object-fit: cover; object-position: 50% var(--ttt-image-y, 50%); transition: transform .35s ease, filter .25s ease; } .ttt-card-video, .ttt-card-video-embed, .ttt-card-video-embed iframe { display: block; width: 100%; height: auto; aspect-ratio: 16 / 9; border: 0; object-fit: cover; } .ttt-card-title { margin: 0; font-size: clamp(1.15rem, 2vw, 1.45rem); line-height: 1.2; } .ttt-card-title a { color: inherit; text-decoration: none !important; } .ttt-card-strapline p, .ttt-labelled-section p, .ttt-custom-field-value p { margin-block: 0; } .ttt-card-badges, .ttt-card-terms, .ttt-card-buttons, .ttt-card-dates, .ttt-card-locations, .ttt-card-availability { display: flex; flex-wrap: wrap; align-items: center; gap: 8px; } .ttt-card-badges span, .ttt-card-terms span { display: inline-flex; align-items: center; min-height: 28px; padding: 4px 10px; border-radius: 999px; background: var(--ttt-badge-bg); color: var(--ttt-badge-text); font-size: .78rem; font-weight: 650; } .ttt-status-sold-out .ttt-status-badge, .ttt-status-completed .ttt-status-badge { background: #f2f2f2; color: #555; } .ttt-status-limited .ttt-status-badge { background: #fff1d6; color: #7a4a00; } .ttt-solo-badge { background: #efe9ff !important; color: #53368b !important; } .ttt-card-dates, .ttt-card-duration, .ttt-card-locations, .ttt-card-stops, .ttt-card-suitability, .ttt-card-availability, .ttt-card-booking-closes { color: var(--ttt-muted); font-size: .92rem; } .ttt-card-availability { justify-content: space-between; } .ttt-card-price, .ttt-checkout-price { margin-top: auto; color: var(--ttt-accent); font-size: 1.28rem; font-weight: 750; } .ttt-price-basis, .ttt-price-prefix, .ttt-checkout-price span { font-size: .78em; font-weight: 500; } .ttt-alternative-label, .ttt-traveller-control, .ttt-filter-field, .ttt-checkout-quantity, .ttt-collection-field { display: flex; flex-direction: column; gap: 6px; font-size: .86rem; font-weight: 650; } .ttt-filter-label { display: inline-flex; align-items: center; gap: 7px; } .ttt-filter-icon { display: inline-flex; flex: 0 0 auto; line-height: 1; } .ttt-filter-icon svg { width: 1em; height: 1em; fill: currentColor; } .ttt-filter-example { color: var(--ttt-muted); font-size: .78rem; font-weight: 400; } .ttt-alternative-select, .ttt-traveller-quantity, .ttt-filter-field input, .ttt-filter-field select, .ttt-checkout-quantity select, .ttt-collection-field input, .ttt-collection-field select, .ttt-collection-field textarea { width: 100%; min-height: 44px; padding: 8px 12px; border: 1px solid var(--ttt-border); border-radius: 8px; background: var(--ttt-input-bg); color: var(--ttt-text); } .ttt-collection-field textarea { min-height: 120px; resize: vertical; } .ttt-product-theme :where(input:not([type="checkbox"]):not([type="radio"]), select, textarea), body.ttt-product-theme :where(.ttt-tour-checkout, .ttt-tour-bar, .ttt-tour-field) :where(input:not([type="checkbox"]):not([type="radio"]), select, textarea) { border-color: var(--ttt-border); background-color: var(--ttt-input-bg); color: var(--ttt-text); } .ttt-traveller-control { flex-direction: column; align-items: stretch; justify-content: space-between; min-width: 0; } .ttt-card-booking-controls { display: flex; flex-direction: column; gap: 12px; width: 100%; min-width: 0; } .ttt-flexible-date-control { display: grid; gap: 6px; width: 100%; min-width: 0; font-size: .86rem; } .ttt-flexible-date-control > span { font-weight: 650; } .ttt-flexible-date-control input { box-sizing: border-box; width: 100%; min-height: 44px; padding: 8px 12px; border: 1px solid var(--ttt-border); border-radius: 8px; background: var(--ttt-input-bg); color: var(--ttt-text); } .ttt-flexible-date-control small, .ttt-flexible-date-end { color: var(--ttt-muted); font-size: .78rem; font-weight: 400; } .ttt-flexible-date-end:empty { display: none; } .ttt-traveller-control.ttt-traveller-label-inline { flex-direction: row; align-items: center; } .ttt-traveller-control.ttt-traveller-label-hidden > span { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; } .ttt-traveller-quantity { width: auto; min-width: 76px; } .ttt-card-buttons { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; width: 100%; } .ttt-checkout-product-buttons { grid-template-columns: repeat(auto-fit, minmax(min(var(--ttt-checkout-button-min-width, 140px), 100%), 1fr)); } .ttt-card-buttons > :only-child { grid-column: 1 / -1; } .ttt-card-section-link { display: inherit; width: 100%; color: inherit; text-decoration: none !important; } :where(.ttt-card-button, .ttt-search-button, .ttt-filter-toggle, .ttt-load-more, .ttt-checkout-submit) { display: inline-flex; align-items: center; justify-content: center; min-height: 44px; padding: 10px 16px; border: 1px solid var(--ttt-accent); border-radius: 8px; background: var(--ttt-accent); color: var(--ttt-button-text); cursor: pointer; line-height: 1.15; text-align: center; text-decoration: none; transition: background .18s ease, border-color .18s ease, color .18s ease, opacity .18s ease; } :where(.ttt-card-button, .ttt-search-button, .ttt-filter-toggle, .ttt-load-more, .ttt-checkout-submit):hover { border-color: var(--ttt-accent-hover); background: var(--ttt-accent-hover); color: var(--ttt-button-text); } .ttt-card-button:disabled, .ttt-search-button:disabled, .ttt-checkout-submit:disabled { cursor: wait; opacity: .6; } .ttt-button-2, .ttt-search-action-reset { background: transparent; color: var(--ttt-accent); } .ttt-card-button.ttt-icon-top, .ttt-search-button.ttt-icon-top { flex-direction: column; } .ttt-card-button.ttt-icon-bottom, .ttt-search-button.ttt-icon-bottom { flex-direction: column-reverse; } .ttt-card-button.ttt-icon-after, .ttt-search-button.ttt-icon-after { flex-direction: row-reverse; } .ttt-button-icon { display: inline-flex; flex: 0 0 auto; line-height: 1; } .ttt-button-icon { align-items: center; justify-content: center; min-width: 1em; min-height: 1em; } .ttt-button-icon :is(i,svg) { display: block; flex: 0 0 auto; font-size: inherit; line-height: 1; } .ttt-button-icon svg { width: 1em; height: 1em; fill: currentColor; } .ttt-card-button, .ttt-search-button, .ttt-checkout-action { gap: var(--ttt-button-icon-gap, 8px); } .ttt-card-style-lite { gap: 8px; border-radius: 10px; box-shadow: 0 4px 16px rgba(20, 42, 48, .07); } .ttt-card-style-lite .ttt-card-image img, .ttt-card-style-lite .ttt-card-video, .ttt-card-style-lite .ttt-card-video-embed, .ttt-card-style-lite .ttt-card-video-embed iframe { height: 180px; } .ttt-card-style-lite .ttt-card-section:not(.ttt-section-image):not([class*="ttt-position-overlay-"]) { margin-inline: 14px; } .ttt-card-style-lite .ttt-card-section:not(.ttt-section-image):last-child { margin-bottom: 14px; } .ttt-card-style-checkout { border-top: 4px solid var(--ttt-accent); } .ttt-card-style-checkout .ttt-card-price { font-size: 1.45rem; } .ttt-card-media-slider { position: relative; width: 100%; overflow: hidden; --ttt-media-visible: 1; } .ttt-media-viewport { width: 100%; overflow: hidden; } .ttt-media-track { display: flex; width: 100%; gap: var(--ttt-media-gap, 0px); transition: transform .45s ease; will-change: transform; } .ttt-media-slide { position: relative; flex: 0 0 calc((100% + var(--ttt-media-gap, 0px)) / var(--ttt-media-visible) - var(--ttt-media-gap, 0px)); min-width: 0; } .ttt-media-caption { position: absolute; right: 12px; bottom: 12px; left: 12px; padding: 7px 10px; border-radius: 6px; background: rgba(0, 0, 0, .62); color: #fff; font-size: .82rem; z-index: 5; pointer-events: none; } .ttt-media-arrow, .ttt-carousel-arrow { display: inline-grid; place-items: center; width: 42px; height: 42px; padding: 0; border: 1px solid var(--ttt-border); border-radius: 50%; background: var(--ttt-surface); color: var(--ttt-accent); cursor: pointer; font-size: 1.6rem; line-height: 1; } .ttt-media-arrow { position: absolute; z-index: 3; top: 50%; transform: translateY(-50%); } .ttt-media-prev { left: 10px; } .ttt-media-next { right: 10px; } .ttt-media-dots, .ttt-carousel-dots { display: flex; justify-content: center; gap: 7px; margin-top: 12px; } .ttt-media-dots { position: absolute; z-index: 3; right: 12px; bottom: 10px; left: 12px; margin: 0; } .ttt-media-dot, .ttt-carousel-dot { width: 10px; height: 10px; padding: 0; border: 1px solid var(--ttt-accent); border-radius: 50%; background: var(--ttt-surface); cursor: pointer; } .ttt-media-dot.is-current, .ttt-carousel-dot.is-current { background: var(--ttt-accent); } .ttt-card-carousel { position: relative; --ttt-carousel-items: 3; --ttt-carousel-gap: 24px; } .ttt-carousel-viewport { width: 100%; overflow: hidden; } .ttt-card-grid.ttt-carousel-track { display: flex; width: 100%; gap: var(--ttt-carousel-gap); transition: transform var(--ttt-carousel-speed, .5s) ease; will-change: transform; } .ttt-carousel-track > .ttt-tour-card { flex: 0 0 calc((100% - (var(--ttt-carousel-items) - 1) * var(--ttt-carousel-gap)) / var(--ttt-carousel-items)); } .ttt-carousel-prev, .ttt-carousel-next { position: absolute; z-index: 6; top: 50%; transform: translateY(-50%); } .ttt-carousel-prev { left: -18px; } .ttt-carousel-next { right: -18px; } .ttt-carousel-mode-fade .ttt-carousel-track { transition-property: transform, opacity; } .ttt-carousel-mode-fade.is-changing .ttt-carousel-track { opacity: .25; } .ttt-carousel-mode-marquee .ttt-carousel-viewport { overflow: hidden; } .ttt-carousel-mode-marquee .ttt-carousel-track { width: max-content; animation: ttt-marquee var(--ttt-marquee-duration, 30s) linear infinite; } .ttt-carousel-mode-marquee:hover .ttt-carousel-track { animation-play-state: paused; } .ttt-carousel-mode-marquee .ttt-tour-card { width: min(380px, 80vw); flex-basis: min(380px, 80vw); } @keyframes ttt-marquee { to { transform: translateX(calc(-50% - var(--ttt-carousel-gap) / 2)); } } .ttt-tour-grid-widget.is-loading { min-height: 180px; opacity: .55; pointer-events: none; } .ttt-pagination { display: flex; flex-wrap: wrap; justify-content: center; gap: 8px; margin-top: 28px; } .ttt-page-button { min-width: 40px; min-height: 40px; border: 1px solid var(--ttt-border); border-radius: 8px; background: var(--ttt-surface); color: inherit; cursor: pointer; } .ttt-page-button.is-current { border-color: var(--ttt-accent); background: var(--ttt-accent); color: var(--ttt-button-text); } .ttt-load-more-wrap { display: flex; justify-content: center; margin-top: 28px; } .ttt-empty-results { padding: 32px; border: 1px dashed var(--ttt-border); border-radius: 12px; text-align: center; } .ttt-search-shell { display: flex; flex-direction: var(--ttt-search-direction, column); gap: 24px; width: 100%; --ttt-panel-order: 1; --ttt-results-order: 2; --ttt-panel-flex: 1 1 auto; } .ttt-search-panel, .ttt-search-results { min-width: 0; } .ttt-search-panel { order: var(--ttt-panel-order); flex: var(--ttt-panel-flex); } .ttt-search-results { order: var(--ttt-results-order); flex: 1 1 auto; } .ttt-search-external-results .ttt-search-panel { width: 100%; flex: 1 1 auto; } .ttt-filter-position-left .ttt-search-shell { --ttt-search-direction: row; --ttt-panel-flex: 0 0 var(--ttt-filter-width, 32%); } .ttt-filter-position-right .ttt-search-shell { --ttt-search-direction: row; --ttt-panel-order: 2; --ttt-results-order: 1; --ttt-panel-flex: 0 0 var(--ttt-filter-width, 32%); } .ttt-filter-position-bottom .ttt-search-shell { --ttt-panel-order: 2; --ttt-results-order: 1; } .ttt-filters-form { padding: 20px; border: 1px solid var(--ttt-border); border-radius: 12px; background: var(--ttt-surface); color: var(--ttt-text); } .ttt-filter-fields { display: var(--ttt-filter-display, flex); flex-wrap: var(--ttt-filter-wrap, wrap); grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 16px; align-items: flex-end; overflow: visible; } .ttt-filter-fields.ttt-layout-rows { display: flex; flex-direction: column; align-items: stretch; gap: var(--ttt-filter-gap, 16px); } .ttt-filter-row { --ttt-row-gap: var(--ttt-filter-gap, 16px); align-items: flex-end; } .ttt-filter-row .ttt-filter-field { max-width: 100%; } .ttt-filter-field { flex: 1 1 220px; min-width: 0; } .ttt-filter-position-left .ttt-filter-fields, .ttt-filter-position-right .ttt-filter-fields { grid-template-columns: 1fr; --ttt-filter-display: flex; --ttt-filter-wrap: wrap; } .ttt-filter-actions { display: flex; flex-wrap: wrap; gap: 10px; margin-top: 18px; } .ttt-search-button { gap: 8px; } .ttt-filter-summary { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 12px; margin-top: 12px; color: var(--ttt-muted); font-size: .88rem; } .ttt-active-filters { display: flex; flex-wrap: wrap; gap: 6px; } .ttt-active-filter { padding: 5px 9px; border: 1px solid var(--ttt-border); border-radius: 999px; background: var(--ttt-surface); color: inherit; cursor: pointer; } .ttt-filter-toggle-wrap, .ttt-filter-toggle, .ttt-filter-drawer-header, .ttt-filter-overlay { display: none !important; } .ttt-filter-toggle-wrap { width: 100%; justify-content: var(--ttt-mobile-toggle-align, flex-start); margin-bottom: 12px; } .ttt-search-lite .ttt-filters-form { padding: 12px; } .ttt-search-lite .ttt-filter-fields { grid-template-columns: repeat(2, minmax(0, 1fr)); } .ttt-search-lite .ttt-filter-actions { margin-top: 10px; } .ttt-tour-checkout { padding: 28px; border: 1px solid var(--ttt-border); border-radius: var(--ttt-radius); background: var(--ttt-surface); box-shadow: 0 8px 26px rgba(20, 42, 48, .08); } .ttt-checkout-heading { margin-top: 0; } .ttt-checkout-sections.ttt-layout-rows { --ttt-row-gap: 20px; } .ttt-checkout-sections > .ttt-layout-content-row { align-items: stretch; } .ttt-checkout-section.ttt-row-item { display: flex; flex-direction: column; } .ttt-checkout-sections { display: flex; flex-direction: column; gap: 20px; } .ttt-checkout-section { min-width: 0; } .ttt-checkout-section h3 { margin-block: 0; } .ttt-checkout-media { overflow: hidden; border-radius: calc(var(--ttt-radius) / 1.5); } .ttt-checkout-locations { margin-top: 8px; color: var(--ttt-muted); } .ttt-collection-fields { display: flex; flex-wrap: wrap; gap: 16px; } .ttt-collection-field { flex: 1 1 calc(var(--ttt-field-width, 100%) - 16px); max-width: var(--ttt-field-width, 100%); } .ttt-checkout-submit { width: 100%; } .ttt-checkout-message { display: block; margin-top: 8px; color: #9b1c1c; } .ttt-embedded-wc-checkout { margin-top: 32px; } .ttt-checkout-actions { display: flex; flex-wrap: wrap; align-items: center; gap: 12px; margin: 20px 0; } .ttt-checkout-action { display: inline-flex; align-items: center; justify-content: center; gap: 8px; min-height: 44px; padding: 10px 16px; border: 1px solid var(--ttt-accent); border-radius: 8px; background: var(--ttt-accent); color: var(--ttt-button-text); cursor: pointer; } .ttt-checkout-action:hover { background: var(--ttt-accent-hover); color: var(--ttt-button-text); } .ttt-checkout-action-icon { display: inline-flex; line-height: 1; } .ttt-checkout-action-icon svg { width: 1em; height: 1em; fill: currentColor; } .ttt-deposit-note { margin: 16px 0; padding: 12px 14px; border: 1px solid var(--ttt-border); border-radius: calc(var(--ttt-radius) / 2); background: var(--ttt-badge-bg); color: var(--ttt-badge-text); } .ttt-deposit-amount { display: block; margin-top: 6px; color: var(--ttt-muted); font-size: .86rem; line-height: 1.35; } .ttt-deposit-amount strong { color: inherit; } .ttt-deposit-amount small { font-size: .86em; } .ttt-email-enquiry-form { margin: 16px 0 24px; padding: 18px; border: 1px solid var(--ttt-border); border-radius: 10px; background: var(--ttt-surface); } .ttt-email-enquiry-fields { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 14px; } .ttt-email-enquiry-fields label { display: flex; flex-direction: column; gap: 6px; font-weight: 650; } .ttt-email-enquiry-fields input, .ttt-email-enquiry-fields textarea { width: 100%; min-height: 44px; padding: 9px 12px; border: 1px solid var(--ttt-border); border-radius: 8px; } .ttt-email-message-field, .ttt-email-enquiry-status { grid-column: 1 / -1; } .ttt-email-message-field textarea { min-height: 110px; resize: vertical; } .ttt-enquiry-honeypot { position: absolute !important; left: -9999px !important; width: 1px !important; height: 1px !important; } .ttt-email-enquiry-status { color: var(--ttt-muted); } .ttt-email-enquiry-modal, .ttt-waitlist-modal { position: fixed; z-index: 100010; inset: 0; display: none; place-items: center; padding: 20px; background: rgba(0, 0, 0, .58); } .ttt-email-enquiry-modal.is-open, .ttt-waitlist-modal.is-open { display: grid; } .ttt-email-enquiry-dialog, .ttt-waitlist-dialog { position: relative; width: min(680px, 100%); max-height: 90vh; overflow: auto; padding: 26px; border: 1px solid var(--ttt-border); border-radius: var(--ttt-radius); background: var(--ttt-surface); color: var(--ttt-text); } .ttt-email-modal-close, .ttt-waitlist-close { position: absolute; top: 8px; right: 10px; border: 0; background: transparent; cursor: pointer; font-size: 2rem; } .ttt-waitlist-dialog { width: min(620px,100%); } .ttt-waitlist-form { display: grid; gap: 14px; } .ttt-waitlist-form > label:not(.ttt-waitlist-consent) { display: grid; gap: 6px; font-weight: 650; } .ttt-waitlist-form input[type="text"], .ttt-waitlist-form input[type="email"] { width: 100%; min-height: 44px; padding: 9px 12px; border: 1px solid var(--ttt-border); border-radius: 8px; } .ttt-waitlist-consent { display: flex; gap: 9px; align-items: flex-start; } .ttt-waitlist-consent input { margin-top: .25em; accent-color: var(--ttt-accent); } .ttt-waitlist-status { min-height: 1.5em; color: var(--ttt-muted); } .ttt-checkout-travel-information { margin: 18px 0; } .ttt-checkout-empty-basket { display: flex; flex-direction: column; gap: 6px; } .ttt-editor-preview-notice, .ttt-checkout-preview-placeholder { margin: 0 0 16px; padding: 11px 13px; border: 1px dashed var(--ttt-border); border-radius: 9px; background: var(--ttt-input-bg); color: var(--ttt-muted); font-size: .88rem; } .ttt-checkout-preview-placeholder { margin-top: 18px; } .ttt-checkout-product-list { display: grid; gap: 16px; margin: 0 0 20px; } .ttt-basket-product-summary { display: grid; gap: 16px; padding: 18px; border: 1px solid var(--ttt-border); border-radius: 14px; background: var(--ttt-surface); color: var(--ttt-text); box-shadow: 0 6px 20px rgba(20,42,48,.06); } .ttt-basket-product-main { display: grid; grid-template-columns: minmax(90px,140px) minmax(0,1fr); gap: 18px; align-items: center; } .ttt-basket-product-summary.ttt-basket-no-image .ttt-basket-product-main { grid-template-columns: minmax(0,1fr); } .ttt-basket-product-image img { display: block; width: 100%; height: 110px; border-radius: 10px; object-fit: cover; } .ttt-basket-product-copy h3 { margin: 0 0 8px; } .ttt-product-full-summary { width: 100%; border: 1px solid var(--ttt-border); border-radius: 10px; background: var(--ttt-input-bg); color: var(--ttt-text); overflow: hidden; } .ttt-product-full-summary > summary { display: flex; align-items: center; gap: 10px; padding: 11px 13px; cursor: pointer; list-style: none; font-weight: 700; } .ttt-product-full-summary > summary::-webkit-details-marker { display: none; } .ttt-summary-label { min-width: 0; overflow-wrap: anywhere; } .ttt-summary-hint { margin-left: auto; color: var(--ttt-muted); font-size: .84em; font-weight: 500; } .ttt-summary-chevron { flex: 0 0 auto; transition: transform .2s ease; } .ttt-product-full-summary[open] .ttt-summary-chevron { transform: rotate(180deg); } .ttt-product-full-summary-content { display: grid; gap: 12px; padding: 0 13px 14px; } .ttt-product-full-summary-content :where(h4,p) { margin: 0; } .ttt-summary-facts { display: flex; flex-wrap: wrap; gap: 8px 18px; } .ttt-summary-block { display: grid; gap: 4px; } .ttt-summary-product-link { justify-self: start; font-weight: 700; } .ttt-layout-content-row > .ttt-row-width-auto { flex: 0 1 auto; width: auto; } .ttt-layout-content-row > .ttt-row-width-25 { flex: 0 1 calc(25% - var(--ttt-row-gap,12px)); width: calc(25% - var(--ttt-row-gap,12px)); } .ttt-layout-content-row > .ttt-row-width-33 { flex: 0 1 calc(33.333% - var(--ttt-row-gap,12px)); width: calc(33.333% - var(--ttt-row-gap,12px)); } .ttt-layout-content-row > .ttt-row-width-50 { flex: 0 1 calc(50% - var(--ttt-row-gap,12px)); width: calc(50% - var(--ttt-row-gap,12px)); } .ttt-layout-content-row > .ttt-row-width-66 { flex: 0 1 calc(66.666% - var(--ttt-row-gap,12px)); width: calc(66.666% - var(--ttt-row-gap,12px)); } .ttt-layout-content-row > .ttt-row-width-75 { flex: 0 1 calc(75% - var(--ttt-row-gap,12px)); width: calc(75% - var(--ttt-row-gap,12px)); } .ttt-layout-content-row > .ttt-row-width-100 { flex: 1 1 100%; width: 100%; } .ttt-layout-content-row > .ttt-row-width-custom { flex: 0 1 min(var(--ttt-row-item-width,260px),100%); width: min(var(--ttt-row-item-width,260px),100%); } .ttt-basket-product-meta { display: flex; flex-wrap: wrap; justify-content: space-between; gap: 8px 18px; } .ttt-basket-product-summary .ttt-checkout-actions { margin: 0; padding-top: 12px; border-top: 1px solid var(--ttt-border); } .ttt-basket-product-summary > .ttt-email-enquiry-form { padding-top: 4px; } .ttt-basket-travel-product { margin: 0 0 16px; padding: 18px; border: 1px solid var(--ttt-border); border-radius: 10px; background: var(--ttt-surface); } .ttt-basket-travel-product h3 { margin-top: 0; } .ttt-basket-checkout form.checkout { display: grid; grid-template-columns: minmax(0, 1fr) minmax(320px, .85fr); align-items: start; gap: var(--ttt-checkout-column-gap, 28px); } .ttt-basket-checkout form.checkout #customer_details { grid-column: 1; grid-row: 1 / span 3; width: 100%; } .ttt-basket-checkout form.checkout #order_review_heading { grid-column: 2; grid-row: 1; margin-top: 0; } .ttt-basket-checkout form.checkout #order_review { grid-column: 2; grid-row: 2; width: 100%; } .ttt-basket-checkout form.checkout > .ttt-checkout-extras { grid-column: 2; width: 100%; } .ttt-basket-checkout form.checkout .col2-set .col-1, .ttt-basket-checkout form.checkout .col2-set .col-2 { float: none; width: 100%; } .ttt-basket-checkout form.checkout .col2-set .col-2 { margin-top: 20px; } .ttt-basket-checkout .woocommerce-checkout-review-order-table { width: 100%; border-collapse: separate; border-spacing: 0; } .ttt-basket-checkout .woocommerce-checkout-review-order-table th, .ttt-basket-checkout .woocommerce-checkout-review-order-table td { padding: 12px; vertical-align: top; } .ttt-basket-checkout #payment { overflow: hidden; border: 1px solid var(--ttt-border); background: var(--ttt-surface); color: var(--ttt-text); } .ttt-basket-checkout #payment ul.payment_methods { display: grid; gap: 10px; padding: 16px; border: 0; } .ttt-basket-checkout #payment ul.payment_methods li { padding: 13px 14px; border: 1px solid var(--ttt-border); border-radius: 10px; background: var(--ttt-input-bg); color: var(--ttt-text); } .ttt-basket-checkout #payment ul.payment_methods li > label { display: inline-flex; align-items: center; gap: 8px; font-weight: 700; } .ttt-basket-checkout #payment input[type="radio"] { accent-color: var(--ttt-accent); } .ttt-basket-checkout #payment div.payment_box { margin-bottom: 0; border-radius: 8px; background: var(--ttt-input-bg); color: var(--ttt-text); } .ttt-basket-checkout #payment .place-order { display: grid; gap: 14px; padding: 18px; } .ttt-basket-checkout #place_order { float: none; width: 100%; min-height: 50px; border: 1px solid var(--ttt-accent); border-radius: 9px; background: var(--ttt-accent); color: var(--ttt-button-text); font-weight: 750; cursor: pointer; } .ttt-basket-checkout #place_order:hover { background: var(--ttt-accent-hover); } .ttt-checkout-coupon-slot { margin: 18px 0; padding: 18px; border: 1px solid var(--ttt-border); border-radius: 12px; background: var(--ttt-surface); } .ttt-checkout-coupon-slot h3 { margin: 0 0 12px; } .ttt-checkout-coupon-slot form.woocommerce-form-coupon { display: flex !important; flex-wrap: wrap; gap: 10px; margin: 0; padding: 0; border: 0; } .ttt-checkout-coupon-slot form.woocommerce-form-coupon > p { float: none; width: auto; margin: 0; } .ttt-checkout-coupon-slot form.woocommerce-form-coupon .form-row-first { flex: 1 1 220px; } .ttt-checkout-coupon-slot form.woocommerce-form-coupon input { width: 100%; min-height: 44px; } .ttt-checkout-extras { display: grid; gap: 12px; margin: 18px 0; padding: 16px; border: 1px solid var(--ttt-border); border-radius: 10px; background: var(--ttt-surface); } .ttt-checkout-extras h3 { margin: 0; } .ttt-checkout-document-links { display: flex; flex-wrap: wrap; gap: 8px 18px; } .ttt-checkout-agreements { display: grid; gap: 10px; } .ttt-checkout-agreements label { display: flex; gap: 9px; align-items: flex-start; cursor: pointer; } .ttt-checkout-agreements input { margin-top: .25em; accent-color: var(--ttt-accent); } .ttt-checkout-line-quantity { display: flex; flex-direction: column; align-items: flex-start; gap: 4px; margin-top: 7px; } .ttt-checkout-line-quantity input { width: 76px !important; min-height: 38px; } .ttt-checkout-quantity-stepper { display: inline-grid; grid-template-columns: 38px minmax(52px, 70px) 38px; align-items: stretch; } .ttt-checkout-quantity-stepper input { width: 100% !important; min-width: 0; min-height: 38px; margin: 0; border-radius: 0 !important; text-align: center; appearance: textfield; -moz-appearance: textfield; } .ttt-checkout-quantity-stepper input::-webkit-outer-spin-button, .ttt-checkout-quantity-stepper input::-webkit-inner-spin-button { margin: 0; -webkit-appearance: none; } .ttt-checkout-quantity-button { min-width: 38px; min-height: 38px; margin: 0; padding: 0 8px; border: 1px solid var(--ttt-border); background: var(--ttt-surface); color: var(--ttt-text); font: inherit; font-weight: 750; line-height: 1; cursor: pointer; } .ttt-checkout-quantity-minus { border-radius: 8px 0 0 8px; border-right-width: 0; } .ttt-checkout-quantity-plus { border-radius: 0 8px 8px 0; border-left-width: 0; } .ttt-checkout-quantity-button:hover:not(:disabled) { background: var(--ttt-input-bg); } .ttt-checkout-quantity-button:disabled { opacity: .45; cursor: not-allowed; } .ttt-basket-quantity-editor { margin: 0; } .ttt-checkout-line-quantity small { color: var(--ttt-muted); font-size: .76rem; font-weight: 400; } .ttt-quantity-label-hidden > span { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; } .ttt-cart-departure { display: block; margin-top: 4px; color: var(--ttt-muted); } .ttt-product-traveller-label { display: block; margin-bottom: 5px; font-weight: 700; } .ttt-tour-field { display: flex; flex-direction: column; gap: 4px; } .ttt-field-label { color: var(--ttt-muted); font-size: .82em; } .ttt-tour-bar { position: fixed; z-index: 9999; top: var(--ttt-bar-top, 0); right: var(--ttt-bar-right, 0); bottom: var(--ttt-bar-bottom, auto); left: var(--ttt-bar-left, 0); width: min(var(--ttt-bar-width, 100%), 100vw); height: var(--ttt-bar-height, auto); max-width: 100vw; opacity: 0; visibility: hidden; pointer-events: none; transform: var(--ttt-bar-anchor, none); } .ttt-tour-bar.is-visible { opacity: 1; visibility: visible; } .ttt-tour-bar-panel { width: 100%; height: 100%; max-height: 100vh; overflow: auto; padding: 14px 22px; border: 1px solid var(--ttt-border); background: var(--ttt-surface); color: var(--ttt-text); box-shadow: 0 8px 30px rgba(20, 42, 48, .15); pointer-events: auto; transition: transform var(--ttt-bar-speed, 450ms) ease, opacity var(--ttt-bar-speed, 450ms) ease; } .ttt-bar-display-click:not(.is-open) .ttt-tour-bar-panel, .ttt-bar-display-hover:not(.is-open) .ttt-tour-bar-panel { opacity: 0; transform: var(--ttt-bar-closed, translateY(-110%)); pointer-events: none; } .ttt-tour-bar.is-open .ttt-tour-bar-panel, .ttt-bar-display-always .ttt-tour-bar-panel { opacity: 1; transform: none; } .ttt-tour-bar-rows { display: flex; flex-direction: column; justify-content: center; gap: var(--ttt-bar-row-gap, 12px); min-width: 0; min-height: var(--ttt-row-min-height, auto); } .ttt-tour-bar-row { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: var(--ttt-bar-element-gap, 16px); min-width: 0; } .ttt-tour-bar-element { display: flex; min-width: 0; max-width: 100%; align-items: center; overflow-wrap: anywhere; } .ttt-tour-bar-element.ttt-bar-width-auto { flex: 0 1 auto; width: auto; } .ttt-layout-content-row { display: flex; flex-wrap: wrap; align-items: flex-start; gap: var(--ttt-row-gap, var(--ttt-section-gap, 12px)); min-width: 0; width: 100%; } .ttt-card-content.ttt-layout-rows, .ttt-checkout-sections.ttt-layout-rows { display: flex; flex-direction: column; row-gap: var(--ttt-section-gap, var(--ttt-row-gap, 12px)); min-width: 0; } .ttt-card-content.ttt-layout-rows > .ttt-layout-content-row, .ttt-checkout-sections.ttt-layout-rows > .ttt-layout-content-row { display: flex; flex-wrap: wrap; align-items: flex-start; gap: var(--ttt-row-gap, var(--ttt-section-gap, 12px)); width: 100%; } .ttt-card-content .ttt-section-buttons .ttt-card-booking-controls, .ttt-card-content .ttt-section-buttons .ttt-card-buttons { height: auto; align-self: start; } .ttt-layout-content-row > .ttt-row-width-custom, .ttt-layout-content-row > .ttt-row-item[style*="--ttt-row-item-width"] { flex: 0 1 min(var(--ttt-row-item-width, 100%), 100%); width: min(var(--ttt-row-item-width, 100%), 100%); } .ttt-tour-bar-row { display: flex; flex-wrap: wrap; align-items: center; justify-content: flex-start; column-gap: var(--ttt-bar-element-gap, 16px); row-gap: var(--ttt-bar-element-gap, 16px); } .ttt-basket-product-sections { display: grid; grid-template-columns: minmax(96px,auto) minmax(0,1fr); gap: 12px 18px; align-items: start; } .ttt-basket-block-image { grid-row: span 4; } .ttt-basket-block-actions, .ttt-basket-block-passenger { grid-column: 1 / -1; } .ttt-basket-block-quantity, .ttt-basket-block-price { display: flex; align-items: center; justify-content: space-between; gap: 12px; } @media (max-width: 767px) { .ttt-tour-bar-row > .ttt-row-item { grid-column: 1 / -1; } .ttt-basket-product-sections { grid-template-columns: 1fr; } .ttt-basket-block-image { grid-row: auto; } } .ttt-tour-bar-element.ttt-bar-width-auto { flex: 0 1 auto; width: auto; } .ttt-tour-bar-element.ttt-bar-width-fill { flex: 1 1 180px; width: auto; } .ttt-tour-bar-element.ttt-bar-width-25 { flex: 0 1 calc(25% - (var(--ttt-bar-element-gap, 16px) / 4) - (var(--ttt-bar-element-gap, 16px) / 4) - (var(--ttt-bar-element-gap, 16px) / 4)); width: calc(25% - (var(--ttt-bar-element-gap, 16px) / 4) - (var(--ttt-bar-element-gap, 16px) / 4) - (var(--ttt-bar-element-gap, 16px) / 4)); } .ttt-tour-bar-element.ttt-bar-width-33 { flex: 0 1 calc(33.333% - (var(--ttt-bar-element-gap, 16px) / 3) - (var(--ttt-bar-element-gap, 16px) / 3)); width: calc(33.333% - (var(--ttt-bar-element-gap, 16px) / 3) - (var(--ttt-bar-element-gap, 16px) / 3)); } .ttt-tour-bar-element.ttt-bar-width-50 { flex: 0 1 calc(50% - (var(--ttt-bar-element-gap, 16px) / 2)); width: calc(50% - (var(--ttt-bar-element-gap, 16px) / 2)); } .ttt-tour-bar-element.ttt-bar-width-66 { flex: 0 1 calc(66.667% - (var(--ttt-bar-element-gap, 16px) / 3)); width: calc(66.667% - (var(--ttt-bar-element-gap, 16px) / 3)); } .ttt-tour-bar-element.ttt-bar-width-75 { flex: 0 1 calc(75% - (var(--ttt-bar-element-gap, 16px) / 4)); width: calc(75% - (var(--ttt-bar-element-gap, 16px) / 4)); } .ttt-tour-bar-element.ttt-bar-width-100 { flex: 0 0 100%; width: 100%; } .ttt-tour-bar-element.ttt-bar-width-custom { flex: 0 1 min(var(--ttt-bar-item-width, 260px), 100%); width: min(var(--ttt-bar-item-width, 260px), 100%); } .ttt-tour-bar-element :where(h2, h3, p) { margin: 0; } .ttt-tour-bar-element .ttt-card-image, .ttt-tour-bar-element .ttt-card-media-slider { width: var(--ttt-bar-media-width, auto); max-width: min(100%, 30vw); height: var(--ttt-bar-media-height, auto); } .ttt-tour-bar-element .ttt-card-image img, .ttt-tour-bar-element .ttt-card-video, .ttt-tour-bar-element .ttt-card-video-embed, .ttt-tour-bar-element .ttt-card-video-embed iframe { display: block; width: var(--ttt-bar-media-width, auto); max-width: 100%; height: var(--ttt-bar-media-height, auto); object-fit: cover; } .ttt-tour-bar-element .ttt-card-buttons { display: flex; flex-wrap: wrap; gap: 8px; } .ttt-tour-bar-element .ttt-card-button { width: auto; min-height: 40px; } .ttt-tour-bar-element .ttt-card-booking-controls.has-quantity { display: grid; grid-template-columns: minmax(96px, auto) minmax(0, 1fr); align-items: end; } .ttt-tour-bar-element .ttt-card-booking-controls.has-quantity .ttt-card-buttons { align-self: end; } .ttt-tour-bar-element .ttt-card-badges { position: static; } .ttt-tour-bar-element .ttt-card-alternatives { margin: 0; padding: 0; border: 0; } .ttt-tour-bar-trigger { position: absolute; z-index: 2; display: inline-flex; align-items: center; justify-content: center; gap: 7px; min-height: 42px; padding: 9px 15px; border: 1px solid var(--ttt-accent); border-radius: 8px; background: var(--ttt-accent); color: var(--ttt-button-text); box-shadow: 0 6px 18px rgba(20, 42, 48, .18); cursor: pointer; pointer-events: auto; top: var(--ttt-trigger-top, 100%); right: var(--ttt-trigger-right, auto); bottom: var(--ttt-trigger-bottom, auto); left: var(--ttt-trigger-left, 50%); transform: var(--ttt-trigger-transform, translateX(-50%)); writing-mode: var(--ttt-trigger-writing, horizontal-tb); } .ttt-tour-bar-trigger-icon { display: inline-flex; line-height: 1; } .ttt-tour-bar-trigger-icon svg { width: 1em; height: 1em; fill: currentColor; } .ttt-tour-bar-position-top:not(.is-docked) .ttt-tour-bar-trigger { top: 0; } .ttt-tour-bar-position-top.is-docked .ttt-tour-bar-trigger { top: 100%; } .ttt-tour-bar-maximise { position: absolute; z-index: 5; top: 8px; right: 8px; display: inline-grid; width: 38px; height: 38px; place-items: center; padding: 0; border: 1px solid var(--ttt-border); border-radius: 8px; background: var(--ttt-surface); color: inherit; font-size: 1.25rem; cursor: pointer; } .ttt-tour-bar.is-maximised { top: 0 !important; right: 0 !important; bottom: 0 !important; left: 0 !important; width: 100vw !important; height: 100vh !important; max-width: 100vw; transform: none !important; } .ttt-tour-bar.is-maximised .ttt-tour-bar-panel { width: 100%; height: 100%; max-height: 100vh; } .ttt-tour-bar.is-visible.ttt-bar-display-always.ttt-bar-animation-slide-down .ttt-tour-bar-panel, .ttt-tour-bar.is-visible.is-open.ttt-bar-animation-slide-down .ttt-tour-bar-panel { animation: ttt-bar-slide-down var(--ttt-bar-speed, 450ms) both; } .ttt-tour-bar.is-visible.ttt-bar-display-always.ttt-bar-animation-slide-up .ttt-tour-bar-panel, .ttt-tour-bar.is-visible.is-open.ttt-bar-animation-slide-up .ttt-tour-bar-panel { animation: ttt-bar-slide-up var(--ttt-bar-speed, 450ms) both; } .ttt-tour-bar.is-visible.ttt-bar-display-always.ttt-bar-animation-slide-left .ttt-tour-bar-panel, .ttt-tour-bar.is-visible.is-open.ttt-bar-animation-slide-left .ttt-tour-bar-panel { animation: ttt-bar-slide-left var(--ttt-bar-speed, 450ms) both; } .ttt-tour-bar.is-visible.ttt-bar-display-always.ttt-bar-animation-slide-right .ttt-tour-bar-panel, .ttt-tour-bar.is-visible.is-open.ttt-bar-animation-slide-right .ttt-tour-bar-panel { animation: ttt-bar-slide-right var(--ttt-bar-speed, 450ms) both; } .ttt-tour-bar.is-visible.ttt-bar-display-always.ttt-bar-animation-fade .ttt-tour-bar-panel, .ttt-tour-bar.is-visible.is-open.ttt-bar-animation-fade .ttt-tour-bar-panel { animation: ttt-bar-fade var(--ttt-bar-speed, 450ms) both; } .ttt-tour-bar.is-visible.ttt-bar-display-always.ttt-bar-animation-pop .ttt-tour-bar-panel, .ttt-tour-bar.is-visible.is-open.ttt-bar-animation-pop .ttt-tour-bar-panel { animation: ttt-bar-pop var(--ttt-bar-speed, 450ms) both; } @keyframes ttt-bar-slide-down { from { opacity: 0; transform: translateY(-100%); } } @keyframes ttt-bar-slide-up { from { opacity: 0; transform: translateY(100%); } } @keyframes ttt-bar-slide-left { from { opacity: 0; transform: translateX(100%); } } @keyframes ttt-bar-slide-right { from { opacity: 0; transform: translateX(-100%); } } @keyframes ttt-bar-fade { from { opacity: 0; } } @keyframes ttt-bar-pop { from { opacity: 0; transform: scale(.85); } } .ttt-tour-bar.is-exiting.ttt-bar-exit-slide-down .ttt-tour-bar-panel { animation: ttt-bar-exit-down var(--ttt-bar-exit-speed,350ms) both !important; } .ttt-tour-bar.is-exiting.ttt-bar-exit-slide-up .ttt-tour-bar-panel { animation: ttt-bar-exit-up var(--ttt-bar-exit-speed,350ms) both !important; } .ttt-tour-bar.is-exiting.ttt-bar-exit-slide-left .ttt-tour-bar-panel { animation: ttt-bar-exit-left var(--ttt-bar-exit-speed,350ms) both !important; } .ttt-tour-bar.is-exiting.ttt-bar-exit-slide-right .ttt-tour-bar-panel { animation: ttt-bar-exit-right var(--ttt-bar-exit-speed,350ms) both !important; } .ttt-tour-bar.is-exiting.ttt-bar-exit-fade .ttt-tour-bar-panel { animation: ttt-bar-exit-fade var(--ttt-bar-exit-speed,350ms) both !important; } .ttt-tour-bar.is-exiting.ttt-bar-exit-pop .ttt-tour-bar-panel { animation: ttt-bar-exit-pop var(--ttt-bar-exit-speed,350ms) both !important; } .ttt-tour-bar.is-exiting.ttt-bar-exit-none .ttt-tour-bar-panel { animation: none !important; } @keyframes ttt-bar-exit-down { to { opacity: 0; transform: translateY(110%); } } @keyframes ttt-bar-exit-up { to { opacity: 0; transform: translateY(-110%); } } @keyframes ttt-bar-exit-left { to { opacity: 0; transform: translateX(-110%); } } @keyframes ttt-bar-exit-right { to { opacity: 0; transform: translateX(110%); } } @keyframes ttt-bar-exit-fade { to { opacity: 0; } } @keyframes ttt-bar-exit-pop { to { opacity: 0; transform: scale(.85); } } .ttt-animation-fade { animation: ttt-fade .55s both; } .ttt-animation-slide-up { animation: ttt-slide-up .55s both; } .ttt-animation-slide-left { animation: ttt-slide-left .55s both; } .ttt-animation-zoom { animation: ttt-zoom .5s both; } .ttt-animation-stagger { animation: ttt-fade .5s both; animation-delay: calc(var(--ttt-card-index, 0) * 80ms); } @keyframes ttt-fade { from { opacity: 0; } } @keyframes ttt-slide-up { from { opacity: 0; transform: translateY(24px); } } @keyframes ttt-slide-left { from { opacity: 0; transform: translateX(24px); } } @keyframes ttt-zoom { from { opacity: 0; transform: scale(.92); } } @media (max-width: 1024px) { .ttt-row-tablet-auto { flex: 0 1 auto; width: auto; } .ttt-row-tablet-25 { flex-basis: calc(25% - var(--ttt-row-gap,12px)); width: calc(25% - var(--ttt-row-gap,12px)); } .ttt-row-tablet-33 { flex-basis: calc(33.333% - var(--ttt-row-gap,12px)); width: calc(33.333% - var(--ttt-row-gap,12px)); } .ttt-row-tablet-50 { flex-basis: calc(50% - var(--ttt-row-gap,12px)); width: calc(50% - var(--ttt-row-gap,12px)); } .ttt-row-tablet-66 { flex-basis: calc(66.666% - var(--ttt-row-gap,12px)); width: calc(66.666% - var(--ttt-row-gap,12px)); } .ttt-row-tablet-75 { flex-basis: calc(75% - var(--ttt-row-gap,12px)); width: calc(75% - var(--ttt-row-gap,12px)); } .ttt-row-tablet-100 { flex-basis: 100%; width: 100%; } .ttt-row-tablet-custom { flex-basis: min(var(--ttt-row-item-width-tablet,var(--ttt-row-item-width,260px)),100%); width: min(var(--ttt-row-item-width-tablet,var(--ttt-row-item-width,260px)),100%); } .ttt-tour-bar-element.ttt-bar-tablet-width-auto { flex: 0 1 auto; width: auto; } .ttt-tour-bar-element.ttt-bar-tablet-width-fill { flex: 1 1 160px; width: auto; } .ttt-tour-bar-element.ttt-bar-tablet-width-25 { flex: 0 1 calc(25% - (var(--ttt-bar-element-gap, 16px) / 4) - (var(--ttt-bar-element-gap, 16px) / 4) - (var(--ttt-bar-element-gap, 16px) / 4)); width: calc(25% - (var(--ttt-bar-element-gap, 16px) / 4) - (var(--ttt-bar-element-gap, 16px) / 4) - (var(--ttt-bar-element-gap, 16px) / 4)); } .ttt-tour-bar-element.ttt-bar-tablet-width-33 { flex: 0 1 calc(33.333% - (var(--ttt-bar-element-gap, 16px) / 3) - (var(--ttt-bar-element-gap, 16px) / 3)); width: calc(33.333% - (var(--ttt-bar-element-gap, 16px) / 3) - (var(--ttt-bar-element-gap, 16px) / 3)); } .ttt-tour-bar-element.ttt-bar-tablet-width-50 { flex: 0 1 calc(50% - (var(--ttt-bar-element-gap, 16px) / 2)); width: calc(50% - (var(--ttt-bar-element-gap, 16px) / 2)); } .ttt-tour-bar-element.ttt-bar-tablet-width-66 { flex: 0 1 calc(66.667% - (var(--ttt-bar-element-gap, 16px) / 3)); width: calc(66.667% - (var(--ttt-bar-element-gap, 16px) / 3)); } .ttt-tour-bar-element.ttt-bar-tablet-width-75 { flex: 0 1 calc(75% - (var(--ttt-bar-element-gap, 16px) / 4)); width: calc(75% - (var(--ttt-bar-element-gap, 16px) / 4)); } .ttt-tour-bar-element.ttt-bar-tablet-width-100 { flex: 0 0 100%; width: 100%; } .ttt-tour-bar-element.ttt-bar-tablet-width-custom { flex-basis: min(var(--ttt-bar-item-width-tablet, var(--ttt-bar-item-width, 260px)), 100%); width: min(var(--ttt-bar-item-width-tablet, var(--ttt-bar-item-width, 260px)), 100%); } .ttt-card-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); } .ttt-filter-fields { grid-template-columns: repeat(2, minmax(0, 1fr)); } .ttt-card-carousel { --ttt-carousel-items: 2; } } @media (max-width: 767px) { .ttt-row-mobile-auto { flex: 0 1 auto; width: auto; } .ttt-row-mobile-25 { flex-basis: calc(25% - var(--ttt-row-gap,10px)); width: calc(25% - var(--ttt-row-gap,10px)); } .ttt-row-mobile-33 { flex-basis: calc(33.333% - var(--ttt-row-gap,10px)); width: calc(33.333% - var(--ttt-row-gap,10px)); } .ttt-row-mobile-50 { flex-basis: calc(50% - var(--ttt-row-gap,10px)); width: calc(50% - var(--ttt-row-gap,10px)); } .ttt-row-mobile-66 { flex-basis: calc(66.666% - var(--ttt-row-gap,10px)); width: calc(66.666% - var(--ttt-row-gap,10px)); } .ttt-row-mobile-75 { flex-basis: calc(75% - var(--ttt-row-gap,10px)); width: calc(75% - var(--ttt-row-gap,10px)); } .ttt-row-mobile-100 { flex-basis: 100%; width: 100%; } .ttt-row-mobile-custom { flex-basis: min(var(--ttt-row-item-width-mobile,var(--ttt-row-item-width-tablet,var(--ttt-row-item-width,260px))),100%); width: min(var(--ttt-row-item-width-mobile,var(--ttt-row-item-width-tablet,var(--ttt-row-item-width,260px))),100%); } .ttt-summary-hint { display: none; } .ttt-tour-bar-element.ttt-bar-mobile-width-auto { flex: 0 1 auto; width: auto; } .ttt-tour-bar-element.ttt-bar-mobile-width-fill { flex: 1 1 140px; width: auto; } .ttt-tour-bar-element.ttt-bar-mobile-width-25 { flex: 0 1 calc(25% - (var(--ttt-bar-element-gap, 10px) / 4) - (var(--ttt-bar-element-gap, 10px) / 4) - (var(--ttt-bar-element-gap, 10px) / 4)); width: calc(25% - (var(--ttt-bar-element-gap, 10px) / 4) - (var(--ttt-bar-element-gap, 10px) / 4) - (var(--ttt-bar-element-gap, 10px) / 4)); } .ttt-tour-bar-element.ttt-bar-mobile-width-33 { flex: 0 1 calc(33.333% - (var(--ttt-bar-element-gap, 10px) / 3) - (var(--ttt-bar-element-gap, 10px) / 3)); width: calc(33.333% - (var(--ttt-bar-element-gap, 10px) / 3) - (var(--ttt-bar-element-gap, 10px) / 3)); } .ttt-tour-bar-element.ttt-bar-mobile-width-50 { flex: 0 1 calc(50% - (var(--ttt-bar-element-gap, 10px) / 2)); width: calc(50% - (var(--ttt-bar-element-gap, 10px) / 2)); } .ttt-tour-bar-element.ttt-bar-mobile-width-66 { flex: 0 1 calc(66.667% - (var(--ttt-bar-element-gap, 10px) / 3)); width: calc(66.667% - (var(--ttt-bar-element-gap, 10px) / 3)); } .ttt-tour-bar-element.ttt-bar-mobile-width-75 { flex: 0 1 calc(75% - (var(--ttt-bar-element-gap, 10px) / 4)); width: calc(75% - (var(--ttt-bar-element-gap, 10px) / 4)); } .ttt-tour-bar-element.ttt-bar-mobile-width-100 { flex: 0 0 100%; width: 100%; } .ttt-tour-bar-element.ttt-bar-mobile-width-custom { flex-basis: min(var(--ttt-bar-item-width-mobile, var(--ttt-bar-item-width-tablet, var(--ttt-bar-item-width, 260px))), 100%); width: min(var(--ttt-bar-item-width-mobile, var(--ttt-bar-item-width-tablet, var(--ttt-bar-item-width, 260px))), 100%); } .ttt-card-buttons { grid-template-columns: repeat(auto-fit, minmax(min(var(--ttt-button-min-width, 120px), 100%), 1fr)); } .ttt-card-buttons > * { width: 100%; } .ttt-basket-product-main { grid-template-columns: 86px minmax(0,1fr); gap: 12px; } .ttt-basket-product-image img { height: 86px; } .ttt-carousel-prev { left: 8px; } .ttt-carousel-next { right: 8px; } .ttt-search-panel, .ttt-search-results { width: 100%; } .ttt-has-mobile-drawer .ttt-filter-toggle-wrap { display: flex !important; } .ttt-has-mobile-drawer .ttt-filter-toggle { display: inline-flex !important; } .ttt-has-mobile-drawer .ttt-filters-form { position: fixed; z-index: 100002; top: 0; right: 0; bottom: 0; width: min(90vw, 420px); overflow-y: auto; border-radius: 0; transform: translateX(105%); transition: transform .25s ease; } .ttt-has-mobile-drawer.is-open .ttt-filters-form { transform: translateX(0); } .ttt-has-mobile-drawer .ttt-filter-drawer-header { display: flex; align-items: center; justify-content: space-between; margin-bottom: 18px; } .ttt-filter-close { border: 0; background: transparent; font-size: 2rem; cursor: pointer; } .ttt-has-mobile-drawer .ttt-filter-overlay { position: fixed; z-index: 100001; inset: 0; background: rgba(0, 0, 0, .45); } .ttt-has-mobile-drawer.is-open .ttt-filter-overlay { display: block; } .ttt-filter-fields, .ttt-search-lite .ttt-filter-fields { grid-template-columns: 1fr; } body.ttt-filter-drawer-open { overflow: hidden; } .ttt-tour-checkout { padding: 18px; } .ttt-collection-field { flex-basis: 100%; max-width: 100%; } .ttt-email-enquiry-fields { grid-template-columns: 1fr; } .ttt-email-message-field, .ttt-email-enquiry-status { grid-column: 1; } .ttt-checkout-actions { align-items: stretch; } .ttt-checkout-action { width: 100%; } .ttt-basket-checkout form.checkout { display: block; } .ttt-basket-checkout form.checkout #order_review_heading { margin-top: 28px; } .ttt-tour-bar { max-height: 100vh; } .ttt-tour-bar-panel { padding: 12px 14px; } .ttt-tour-bar-row { gap: var(--ttt-bar-element-gap, 10px); } .ttt-tour-bar-element .ttt-card-buttons { width: 100%; } .ttt-tour-bar-element .ttt-card-button { flex: 1 1 auto; } .ttt-tour-bar-element .ttt-card-booking-controls.has-quantity { display: flex; } } @media (prefers-reduced-motion: reduce) { .ttt-tour-card, .ttt-card-image img, .ttt-carousel-track, .ttt-media-track, .ttt-tour-bar, .ttt-tour-bar-panel { transition: none !important; animation: none !important; } .ttt-carousel-mode-marquee .ttt-carousel-track { animation: none !important; } } .ttt-tour-grid-widget :focus-visible,.ttt-tour-filters-widget :focus-visible,.ttt-tour-checkout :focus-visible,.ttt-tour-bar :focus-visible,.ttt-email-enquiry-modal :focus-visible,.ttt-waitlist-modal :focus-visible{outline:3px solid #1d4ed8;outline-offset:3px} .ttt-reservation-notice{margin:0 0 18px;padding:12px 14px;border-left:4px solid currentColor;background:rgba(0,0,0,.045)} .ttt-tour-grid-widget .screen-reader-text,.ttt-card-media-slider .screen-reader-text,.ttt-card-carousel .screen-reader-text{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important} .ttt-fluent-canvas { position: fixed; inset: 0; z-index: 100100; visibility: hidden; pointer-events: none; } .ttt-fluent-canvas.is-open { visibility: visible; pointer-events: auto; } .ttt-fluent-canvas-overlay { position: absolute; inset: 0; width: 100%; height: 100%; margin: 0; padding: 0; border: 0; border-radius: 0; background: rgba(0,0,0,var(--ttt-canvas-overlay-opacity,.55)); opacity: 0; cursor: pointer; transition: opacity .3s ease; } .ttt-fluent-canvas.is-open .ttt-fluent-canvas-overlay { opacity: 1; } .ttt-fluent-canvas.ttt-product-theme { --ttt-canvas-bg: var(--ttt-surface); --ttt-canvas-colour: var(--ttt-text); } .ttt-fluent-canvas.ttt-product-theme :where(input:not([type="checkbox"]):not([type="radio"]), select, textarea) { border-color: var(--ttt-border); background: var(--ttt-input-bg); color: var(--ttt-text); } .ttt-fluent-canvas-panel { position: absolute; top: 0; bottom: 0; width: min(var(--ttt-canvas-width,640px),100vw); max-width: 100vw; height: 100dvh; box-sizing: border-box; overflow-x: hidden; overflow-y: auto; overscroll-behavior: contain; padding: var(--ttt-canvas-padding,32px); background: var(--ttt-canvas-bg,#fff); color: var(--ttt-canvas-colour,#1f2937); box-shadow: 0 0 40px rgba(0,0,0,.22); opacity: 0; transition: transform .32s ease, opacity .32s ease; } .ttt-canvas-position-right .ttt-fluent-canvas-panel { right: 0; transform: translateX(105%); } .ttt-canvas-position-left .ttt-fluent-canvas-panel { left: 0; transform: translateX(-105%); } .ttt-canvas-animation-fade .ttt-fluent-canvas-panel { transform: none; } .ttt-canvas-animation-pop .ttt-fluent-canvas-panel { left: 50%; right: auto; top: 50%; bottom: auto; height: min(90dvh,900px); transform: translate(-50%,-50%) scale(.92); } .ttt-fluent-canvas.is-open .ttt-fluent-canvas-panel { opacity: 1; transform: translateX(0); } .ttt-canvas-animation-pop .ttt-fluent-canvas.is-open .ttt-fluent-canvas-panel { transform: translate(-50%,-50%) scale(1); } .ttt-fluent-canvas-close { position: sticky; top: 0; z-index: 2; display: flex; align-items: center; justify-content: center; width: 44px; height: 44px; margin: 0 0 8px auto; padding: 0; border: 1px solid currentColor; border-radius: 999px; background: var(--ttt-canvas-bg,#fff); color: inherit; font-size: 28px; line-height: 1; cursor: pointer; } .ttt-fluent-canvas-title { margin: 0 52px 12px 0; color: inherit; } .ttt-fluent-canvas-form,.ttt-fluent-canvas-form form,.ttt-fluent-canvas-form .fluentform { width: 100%; max-width: 100%; } .ttt-fluent-canvas .ttt-enquiry-summary:not(:empty) { margin: 0 0 20px; padding: 10px 12px; border-left: 3px solid currentColor; background: rgba(0,0,0,.045); } body.ttt-fluent-canvas-open { overflow: hidden; } .ttt-fluent-canvas :focus-visible { outline: 3px solid #1d4ed8; outline-offset: 3px; } @media (max-width: 1024px) { .ttt-fluent-canvas-panel { width: min(var(--ttt-canvas-tablet-width,560px),100vw); } } @media (max-width: 767px) { .ttt-fluent-canvas-panel { width: var(--ttt-canvas-mobile-width,100%); } .ttt-canvas-animation-pop .ttt-fluent-canvas-panel { width: min(var(--ttt-canvas-mobile-width,100%),94vw); } } @media (prefers-reduced-motion: reduce) { .ttt-fluent-canvas-panel,.ttt-fluent-canvas-overlay { transition: none !important; } } .ttt-tour-bar-modal-open { overflow: hidden; } .ttt-tour-bar-grid { display: grid; grid-template-columns: repeat(var(--ttt-bar-grid-columns, 12), minmax(0, 1fr)); grid-auto-flow: var(--ttt-bar-grid-flow, row dense); grid-auto-rows: minmax(var(--ttt-bar-grid-min-row, min-content), auto); column-gap: var(--ttt-bar-grid-column-gap, 16px); row-gap: var(--ttt-bar-grid-row-gap, 10px); align-items: var(--ttt-bar-grid-align-items, center); justify-items: var(--ttt-bar-grid-justify-items, stretch); width: 100%; min-width: 0; min-height: var(--ttt-row-min-height, auto); } .ttt-tour-bar-grid > .ttt-tour-bar-element { display: flex; grid-column: var(--ttt-grid-column-start, auto) / span var(--ttt-grid-column-span, 1); grid-row: var(--ttt-grid-row-start, auto) / span var(--ttt-grid-row-span, 1); order: var(--ttt-grid-order, 0); align-self: var(--ttt-grid-align-self, center); justify-self: var(--ttt-grid-justify-self, stretch); width: 100%; min-width: 0; max-width: 100%; box-sizing: border-box; overflow-wrap: anywhere; } .ttt-tour-bar-grid > .ttt-tour-bar-element > :where(.ttt-card-section-link, .ttt-card-booking-controls, .ttt-card-buttons, .ttt-card-image, .ttt-card-media-slider) { min-width: 0; max-width: 100%; } .ttt-tour-bar-grid .ttt-card-section-link { width: 100%; } .ttt-tour-bar-grid .ttt-card-booking-controls { width: 100%; gap: 10px; } .ttt-tour-bar-grid .ttt-card-booking-controls.buttons-only { display: block; } .ttt-tour-bar-grid .ttt-card-booking-controls.buttons-only .ttt-card-buttons { width: 100%; } .ttt-tour-bar-grid .ttt-card-booking-controls.has-quantity .ttt-traveller-control { min-width: 0; } .ttt-tour-bar-grid .ttt-card-booking-controls.has-quantity .ttt-card-buttons { min-width: 0; } .ttt-tour-bar-grid .ttt-card-buttons { display: flex; align-items: stretch; } @media (max-width: 1024px) { .ttt-tour-bar-grid > .ttt-tour-bar-element { grid-column: var(--ttt-grid-column-start-tablet, auto) / span var(--ttt-grid-column-span-tablet, var(--ttt-grid-column-span, 1)); grid-row: var(--ttt-grid-row-start-tablet, auto) / span var(--ttt-grid-row-span-tablet, var(--ttt-grid-row-span, 1)); order: var(--ttt-grid-order-tablet, var(--ttt-grid-order, 0)); align-self: var(--ttt-grid-align-self-tablet, var(--ttt-grid-align-self, center)); justify-self: var(--ttt-grid-justify-self-tablet, var(--ttt-grid-justify-self, stretch)); } } @media (max-width: 767px) { .ttt-tour-bar-grid > .ttt-tour-bar-element { grid-column: var(--ttt-grid-column-start-mobile, auto) / span var(--ttt-grid-column-span-mobile, var(--ttt-grid-column-span-tablet, var(--ttt-grid-column-span, 1))); grid-row: var(--ttt-grid-row-start-mobile, auto) / span var(--ttt-grid-row-span-mobile, var(--ttt-grid-row-span-tablet, var(--ttt-grid-row-span, 1))); order: var(--ttt-grid-order-mobile, var(--ttt-grid-order-tablet, var(--ttt-grid-order, 0))); align-self: var(--ttt-grid-align-self-mobile, var(--ttt-grid-align-self-tablet, var(--ttt-grid-align-self, center))); justify-self: var(--ttt-grid-justify-self-mobile, var(--ttt-grid-justify-self-tablet, var(--ttt-grid-justify-self, stretch))); } .ttt-tour-bar-grid .ttt-card-booking-controls.has-quantity { grid-template-columns: minmax(82px, auto) minmax(0, 1fr); } } .ttt-section-image { position: relative; isolation: isolate; } :where(.ttt-button-icon,.ttt-filter-icon,.ttt-navigation-icon,.ttt-close-icon,.ttt-tour-bar-trigger-icon,.ttt-checkout-action-icon) { display: inline-flex !important; align-items: center; justify-content: center; flex: 0 0 auto; box-sizing: content-box !important; min-width: 0; min-height: 0; margin: 0 !important; line-height: 1 !important; } :where(.ttt-button-icon,.ttt-filter-icon,.ttt-navigation-icon,.ttt-close-icon,.ttt-tour-bar-trigger-icon,.ttt-checkout-action-icon) :is(i,svg), :is(i,svg):where(.ttt-button-icon,.ttt-filter-icon,.ttt-navigation-icon,.ttt-close-icon,.ttt-tour-bar-trigger-icon,.ttt-checkout-action-icon) { display: block !important; box-sizing: border-box !important; width: 1em !important; height: 1em !important; margin: 0 !important; padding: 0 !important; line-height: 1 !important; fill: currentColor; } :where(.ttt-card-button,.ttt-search-button,.ttt-filter-toggle,.ttt-filter-close,.ttt-page-button,.ttt-carousel-arrow,.ttt-media-arrow) { align-items: center; justify-content: center; } .ttt-tour-filters-widget, .ttt-card-filter-area { --ttt-filter-columns: 4; --ttt-filter-gap: 16px; } .ttt-filter-fields.ttt-layout-rows { display: flex !important; flex-direction: column; align-items: stretch; gap: var(--ttt-filter-gap, 16px) !important; } .ttt-filter-fields.ttt-layout-rows > .ttt-filter-row { display: flex !important; grid-template-columns: none !important; flex-wrap: wrap; align-items: flex-end; gap: var(--ttt-filter-gap, 16px) !important; width: 100%; min-width: 0; } .ttt-filter-row > .ttt-filter-field.ttt-row-width-auto { --ttt-calculated-filter-width: calc((100% - ((var(--ttt-filter-columns, 4) - 1) * var(--ttt-filter-gap, 16px))) / var(--ttt-filter-columns, 4)); flex: 0 1 var(--ttt-filter-column-width, var(--ttt-calculated-filter-width)) !important; width: var(--ttt-filter-column-width, var(--ttt-calculated-filter-width)) !important; max-width: 100%; } .ttt-filter-row > .ttt-filter-field.ttt-row-width-custom { flex: 0 1 min(var(--ttt-row-item-width, 50%), 100%) !important; width: min(var(--ttt-row-item-width, 50%), 100%) !important; max-width: 100%; } .ttt-filter-row > .ttt-filter-field.ttt-row-width-100 { flex: 1 1 100% !important; width: 100% !important; max-width: 100%; } .ttt-filter-actions > .ttt-search-width-auto { flex: 0 1 auto; width: auto; } .ttt-filter-actions > .ttt-search-width-full { flex: 1 1 100%; width: 100%; } .ttt-filter-actions > .ttt-search-width-custom { flex: 0 1 min(var(--ttt-search-button-width, 50%), 100%); width: min(var(--ttt-search-button-width, 50%), 100%); } :where(.ttt-carousel-arrow,.ttt-media-arrow,.ttt-page-button) { box-sizing: border-box; line-height: 1 !important; } :where(.ttt-carousel-arrow,.ttt-media-arrow) { transform: translateY(calc(-50% + var(--ttt-nav-y-offset, 0px))) !important; } .ttt-navigation-icon { pointer-events: none; } .ttt-page-button.ttt-navigation-arrow { display: inline-flex; } .ttt-card-image-status { position: absolute; z-index: 8; display: flex; max-width: calc(100% - (2 * var(--ttt-status-x, 14px))); pointer-events: none; } .ttt-card-image-status .ttt-card-badges { display: flex; flex-wrap: wrap; gap: 8px; } .ttt-status-position-top-left { top: var(--ttt-status-y, 14px); left: var(--ttt-status-x, 14px); justify-content: flex-start; } .ttt-status-position-top-centre { top: var(--ttt-status-y, 14px); left: 50%; transform: translateX(-50%); justify-content: center; } .ttt-status-position-top-right { top: var(--ttt-status-y, 14px); right: var(--ttt-status-x, 14px); justify-content: flex-end; } .ttt-status-position-bottom-left { bottom: var(--ttt-status-y, 14px); left: var(--ttt-status-x, 14px); justify-content: flex-start; } .ttt-status-position-bottom-centre { bottom: var(--ttt-status-y, 14px); left: 50%; transform: translateX(-50%); justify-content: center; } .ttt-status-position-bottom-right { right: var(--ttt-status-x, 14px); bottom: var(--ttt-status-y, 14px); justify-content: flex-end; } .ttt-card-image-banner { position: absolute; z-index: 7; top: 50%; left: -12%; width: 124%; padding: 12px 18px; border-block: 1px solid rgba(255,255,255,.5); background: rgba(125, 18, 18, .9); color: #fff; font-size: clamp(1.15rem, 2.5vw, 2rem); font-weight: 800; letter-spacing: .08em; line-height: 1.1; text-align: center; text-transform: uppercase; transform: translateY(-50%) rotate(var(--ttt-status-banner-angle, -5deg)); transform-origin: center; pointer-events: none; } .ttt-banner-waiting-list { background: rgba(102, 68, 0, .9); } @media (max-width: 1024px) { .ttt-filter-row > .ttt-filter-field.ttt-row-tablet-auto { --ttt-calculated-filter-width: calc((100% - ((var(--ttt-filter-columns, 2) - 1) * var(--ttt-filter-gap, 16px))) / var(--ttt-filter-columns, 2)); flex: 0 1 var(--ttt-filter-column-width, var(--ttt-calculated-filter-width)) !important; width: var(--ttt-filter-column-width, var(--ttt-calculated-filter-width)) !important; } .ttt-filter-row > .ttt-filter-field.ttt-row-tablet-custom { flex-basis: min(var(--ttt-row-item-width-tablet, var(--ttt-row-item-width, 50%)), 100%) !important; width: min(var(--ttt-row-item-width-tablet, var(--ttt-row-item-width, 50%)), 100%) !important; } .ttt-filter-row > .ttt-filter-field.ttt-row-tablet-100 { flex-basis: 100% !important; width: 100% !important; } } @media (max-width: 767px) { .ttt-filter-row > .ttt-filter-field.ttt-row-mobile-auto, .ttt-filter-row > .ttt-filter-field.ttt-row-width-auto:not([class*="ttt-row-mobile-"]) { --ttt-calculated-filter-width: calc((100% - ((var(--ttt-filter-columns, 1) - 1) * var(--ttt-filter-gap, 16px))) / var(--ttt-filter-columns, 1)); flex: 0 1 var(--ttt-filter-column-width, var(--ttt-calculated-filter-width)) !important; width: var(--ttt-filter-column-width, var(--ttt-calculated-filter-width)) !important; } .ttt-filter-row > .ttt-filter-field.ttt-row-mobile-custom { flex-basis: min(var(--ttt-row-item-width-mobile, var(--ttt-row-item-width-tablet, var(--ttt-row-item-width, 100%))), 100%) !important; width: min(var(--ttt-row-item-width-mobile, var(--ttt-row-item-width-tablet, var(--ttt-row-item-width, 100%))), 100%) !important; } .ttt-filter-row > .ttt-filter-field.ttt-row-mobile-100 { flex-basis: 100% !important; width: 100% !important; } .ttt-has-mobile-drawer .ttt-filter-toggle-wrap { display: flex !important; justify-content: var(--ttt-mobile-toggle-align, flex-start); } .ttt-has-mobile-drawer .ttt-filter-toggle { display: inline-flex !important; } .ttt-has-mobile-drawer .ttt-filter-drawer-header { display: flex !important; align-items: center; justify-content: space-between; gap: 16px; margin-bottom: 18px; } .ttt-filter-close { display: inline-flex; border: 0; background: transparent; cursor: pointer; } .ttt-has-mobile-drawer .ttt-filters-form { width: min(var(--ttt-mobile-drawer-width, 90vw), 100vw) !important; max-width: 100vw; } .ttt-has-mobile-drawer.ttt-mobile-drawer-right .ttt-filters-form { right: 0 !important; left: auto !important; transform: translateX(105%); } .ttt-has-mobile-drawer.ttt-mobile-drawer-left .ttt-filters-form { right: auto !important; left: 0 !important; transform: translateX(-105%); } .ttt-has-mobile-drawer.is-open .ttt-filters-form { transform: translateX(0) !important; } } .ttt-currency-selector { display: inline-flex; align-items: center; gap: 8px; } .ttt-currency-selector > span:first-child { font-weight: 600; } .ttt-currency-select { min-height: 40px; padding: 7px 34px 7px 10px; border: 1px solid currentColor; border-radius: 6px; } .ttt-currency-status { font-size: .85em; } .ttt-passenger-manifest { clear: both; margin-top: 28px; padding-top: 24px; border-top: 1px solid rgba(0,0,0,.14); } .ttt-passenger-intro { margin-bottom: 20px; } .ttt-passenger-tour { margin: 20px 0 28px; } .ttt-passenger-tour > h4 { margin-bottom: 12px; } .ttt-passenger-person { margin: 14px 0; padding: 16px; border: 1px solid rgba(0,0,0,.14); border-radius: var(--ttt-radius, 10px); } .ttt-passenger-person legend { padding: 0 7px; font-weight: 700; } .ttt-passenger-fields { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 14px 18px; } .ttt-passenger-field { display: grid; gap: 6px; margin: 0; } .ttt-passenger-field > span { font-weight: 600; } .ttt-passenger-field input, .ttt-passenger-field select, .ttt-passenger-field textarea { width: 100%; min-height: 42px; } .ttt-passenger-field-traveller_notes { grid-column: 1 / -1; } .ttt-flexible-departure { max-width: 420px; margin: 12px 0 18px; } .ttt-flexible-departure small { opacity: .75; } .ttt-fixed-departure { margin: 8px 0 16px; } .ttt-deposit-non-refundable { margin-top: 6px; font-size: .88em; opacity: .82; } @media (max-width: 767px) { .ttt-passenger-fields { grid-template-columns: 1fr; } .ttt-passenger-field-traveller_notes { grid-column: auto; } } .ttt-currency-selector { position: relative; max-width: 100%; } .ttt-currency-trigger { display: inline-flex; align-items: center; justify-content: center; gap: 7px; min-height: 40px; padding: 7px 10px; border: 1px solid currentColor; border-radius: 6px; background: transparent; color: inherit; font: inherit; line-height: 1; cursor: pointer; } .ttt-currency-trigger-icon { display: inline-flex; align-items: center; justify-content: center; width: 1em; height: 1em; font-size: 1em; line-height: 1; flex: 0 0 auto; } .ttt-currency-trigger-icon :where(svg, i) { display: block; width: 1em; height: 1em; fill: currentColor; color: currentColor; } .ttt-currency-mode-icon .ttt-currency-trigger { aspect-ratio: 1; padding: 8px; } .ttt-currency-menu { position: absolute; top: calc(100% + 7px); left: 0; z-index: 10050; display: grid; gap: 3px; width: max-content; min-width: 210px; max-width: min(300px, calc(100vw - 24px)); padding: 6px; border: 1px solid var(--ttt-border, rgba(0,0,0,.16)); border-radius: 9px; background: var(--ttt-surface, #fff); color: var(--ttt-text, #1f2937); box-shadow: 0 12px 32px rgba(0,0,0,.16); } .ttt-currency-menu[hidden] { display: none !important; } .ttt-currency-option { display: grid; grid-template-columns: 46px minmax(0,1fr); gap: 10px; align-items: center; width: 100%; padding: 9px 10px; border: 0; border-radius: 6px; background: transparent; color: inherit; text-align: left; font: inherit; cursor: pointer; } .ttt-currency-option:hover, .ttt-currency-option:focus-visible { background: var(--ttt-input-bg, rgba(0,0,0,.06)); outline: none; } .ttt-currency-option.is-current { font-weight: 700; } .ttt-currency-option span { opacity: .78; font-weight: 400; } .ttt-currency-selector.is-loading { opacity: .72; } .ttt-currency-selector.is-loading :where(button, select) { cursor: wait; } .ttt-basket-product-summary { position: relative; } .ttt-basket-remove-item { position: absolute; top: 10px; right: 10px; z-index: 2; } .ttt-checkout-remove-item { display: inline-flex; align-items: center; justify-content: center; gap: 5px; min-height: 32px; padding: 5px 9px; border: 1px solid var(--ttt-border, rgba(0,0,0,.18)); border-radius: 7px; background: var(--ttt-surface, #fff); color: var(--ttt-text, #1f2937); font: inherit; font-size: .82em; line-height: 1.2; cursor: pointer; } .ttt-checkout-remove-item:hover { border-color: currentColor; } .ttt-checkout-remove-item:disabled { opacity: .55; cursor: wait; } .ttt-checkout-line-controls { display: grid; gap: 7px; justify-items: start; } .ttt-checkout-remove-item-inline { position: static; } .ttt-labelled-section { display: grid; gap: 7px; } .ttt-labelled-section > strong { display: block; } .ttt-content-list { margin: 0; padding-left: 1.3em; display: grid; gap: .35em; } .ttt-content-list > li { margin: 0; } .ttt-checkout-rich-text { margin-top: 6px; } .ttt-checkout-rich-text > :first-child { margin-top: 0; } .ttt-checkout-rich-text > :last-child { margin-bottom: 0; } @media (max-width: 767px) { .ttt-basket-remove-item { top: 8px; right: 8px; } .ttt-currency-menu { left: auto; right: 0; } } .ttt-currency-selector { position: relative; display: inline-flex; align-items: center; flex-wrap: wrap; max-width: 100%; } .ttt-currency-trigger, .ttt-currency-select { -webkit-tap-highlight-color: transparent; appearance: none; -webkit-appearance: none; box-sizing: border-box; border: 1px solid var(--ttt-border, rgba(0,0,0,.18)); background: var(--ttt-surface, transparent); color: var(--ttt-text, inherit); } .ttt-currency-trigger { display: inline-flex; align-items: center; justify-content: center; text-decoration: none !important; } .ttt-currency-trigger:focus, .ttt-currency-trigger:focus-visible, .ttt-currency-select:focus { outline: 2px solid currentColor; outline-offset: 2px; } .ttt-currency-trigger-icon { display: inline-flex; align-items: center; justify-content: center; flex: 0 0 auto; } .ttt-currency-trigger-icon svg { width: 1em; height: 1em; fill: currentColor; } .ttt-currency-menu { position: absolute; top: calc(100% + 8px); left: 0; z-index: 99999; min-width: 180px; padding: 6px; border: 1px solid var(--ttt-border, rgba(0,0,0,.16)); border-radius: 8px; background: var(--ttt-surface, #fff); color: var(--ttt-text, #1f2937); box-shadow: 0 12px 30px rgba(0,0,0,.14); } .ttt-currency-option { width: 100%; min-height: 40px; display: flex; align-items: center; justify-content: space-between; gap: 12px; padding: 9px 11px; border: 0; border-radius: 6px; background: transparent; color: inherit; text-align: left; -webkit-tap-highlight-color: transparent; } .ttt-currency-option:hover, .ttt-currency-option:focus-visible { background: rgba(0,0,0,.06); color: inherit; } .ttt-currency-option.is-current { background: rgba(0,0,0,.08); color: inherit; font-weight: 700; } .ttt-currency-option:focus-visible { outline: 2px solid currentColor; outline-offset: -2px; } a.ttt-checkout-remove-item { text-decoration: none !important; touch-action: manipulation; -webkit-tap-highlight-color: transparent; } a.ttt-checkout-remove-item:visited { color: var(--ttt-text, #1f2937); } @media (max-width: 767px) { .ttt-checkout-remove-item { min-height: 40px; min-width: 40px; position: relative; z-index: 20; pointer-events: auto; } .ttt-basket-remove-item { position: absolute; top: 8px; right: 8px; } .ttt-currency-selector { width: auto; max-width: 100%; } .ttt-currency-menu { max-width: min(92vw, 360px); max-height: 65vh; overflow-y: auto; overscroll-behavior: contain; } } .ttt-checkout-mobile-line-controls { display: none; } @media (max-width: 767px) { .woocommerce-checkout-review-order-table .product-name .ttt-checkout-mobile-line-controls, .ttt-checkout-mobile-line-controls { display: grid; gap: 10px; margin-top: 12px; width: 100%; justify-items: stretch; } .ttt-checkout-mobile-line-controls .ttt-checkout-line-quantity { width: 100%; } .ttt-checkout-mobile-line-controls .ttt-checkout-quantity-stepper { width: 100%; grid-template-columns: 44px minmax(54px, 1fr) 44px; } .ttt-checkout-mobile-line-controls .ttt-checkout-remove-item { width: 100%; min-height: 44px; } .woocommerce-checkout-review-order-table td.product-total > .ttt-checkout-line-controls { display: none; } } .ttt-mobile-checkout-controls-fallback { display: none; } @media (max-width: 767px) { .ttt-mobile-checkout-controls-fallback { display: grid; gap: 14px; margin: 18px 0; padding: 14px; border: 1px solid rgba(0,0,0,.12); border-radius: 10px; background: var(--ttt-surface, #fff); color: var(--ttt-text, #1f2937); } .ttt-mobile-checkout-controls-fallback-title { font-weight: 700; } .ttt-mobile-checkout-control-item { display: grid; gap: 10px; padding-top: 12px; border-top: 1px solid rgba(0,0,0,.10); } .ttt-mobile-checkout-control-item:first-of-type { padding-top: 0; border-top: 0; } .ttt-mobile-checkout-control-name { font-weight: 600; } .ttt-mobile-checkout-controls-fallback .ttt-checkout-line-controls { display: grid; gap: 10px; width: 100%; } .ttt-mobile-checkout-controls-fallback .ttt-checkout-remove-item { width: 100%; min-height: 44px; justify-content: center; } } @media (max-width: 767px) { .ttt-tour-checkout .ttt-basket-remove-item { position: static; inset: auto; display: inline-flex !important; width: 100%; min-height: 44px; margin: 0 0 10px; align-items: center; justify-content: center; gap: 7px; visibility: visible !important; opacity: 1 !important; overflow: visible; } .ttt-tour-checkout .ttt-basket-product-summary { overflow: visible; } .ttt-tour-checkout .ttt-basket-quantity-editor { width: 100%; } .ttt-tour-checkout .ttt-basket-quantity-editor .ttt-checkout-quantity-stepper { width: 100%; grid-template-columns: 44px minmax(54px, 1fr) 44px; } } .ttt-currency-selector { width: max-content; max-width: 100%; flex: 0 0 auto; } .ttt-currency-control { position: relative; display: inline-flex; width: max-content; max-width: 100%; flex: 0 0 auto; } .ttt-currency-trigger { width: auto; max-width: 100%; white-space: nowrap; box-sizing: border-box; flex: 0 0 auto; } .ttt-currency-trigger-value, .ttt-currency-option-value { display: inline-flex; align-items: center; gap: .45em; min-width: 0; } .ttt-currency-symbol { display: inline-flex; align-items: center; justify-content: center; line-height: 1; flex: 0 0 auto; } .ttt-currency-chevron { display: inline-flex; align-items: center; justify-content: center; font-size: .9em; line-height: 1; margin-left: .15em; transition: transform .18s ease; flex: 0 0 auto; } .ttt-currency-trigger[aria-expanded="true"] .ttt-currency-chevron { transform: rotate(180deg); } .ttt-currency-mode-symbol .ttt-currency-trigger, .ttt-currency-mode-icon .ttt-currency-trigger { aspect-ratio: 1; width: auto; } .ttt-currency-menu { width: max-content; max-width: min(320px, calc(100vw - 24px)); min-width: max(100%, 120px); } .ttt-currency-option { display: flex; grid-template-columns: none; width: 100%; max-width: 100%; } .ttt-currency-option-value { width: 100%; } .ttt-currency-option .ttt-currency-name { opacity: .78; font-weight: 400; white-space: nowrap; } .ttt-currency-option .ttt-currency-code { white-space: nowrap; } .ttt-currency-mode-dropdown .ttt-currency-trigger { justify-content: flex-start; } .ttt-currency-mode-dropdown .ttt-currency-chevron { margin-left: auto; } @media (max-width: 767px) { .ttt-currency-selector, .ttt-currency-control { width: max-content; max-width: 100%; } .ttt-currency-trigger { width: auto; max-width: min(100%, calc(100vw - 24px)); } .ttt-currency-menu { max-width: calc(100vw - 24px); } } .ttt-search-ordering{display:flex;flex-wrap:wrap;align-items:flex-end;gap:10px;margin-top:12px;max-width:100%;} .ttt-order-field{display:flex;flex:1 1 180px;min-width:0;flex-direction:column;gap:6px;} .ttt-order-field select{width:100%;max-width:100%;box-sizing:border-box;} @media (max-width:767px){.ttt-search-ordering{width:100%;}.ttt-order-field{flex:1 1 100%;}} .ttt-flights-badge{display:inline-flex;align-items:center;max-width:100%;padding:.4em .7em;border-radius:999px;background:var(--ttt-badge-bg,#eef4f5);color:var(--ttt-badge-text,#174b50);font-size:.82em;font-weight:600;line-height:1.15;box-sizing:border-box} .ttt-card-image-flights{position:absolute;z-index:6;left:var(--ttt-flight-x,12px);bottom:var(--ttt-flight-y,12px);max-width:calc(100% - (2 * var(--ttt-flight-x,12px)));pointer-events:none} .ttt-card-image-flights .ttt-flights-badge{pointer-events:auto} .ttt-flights-included{--ttt-badge-bg:#e8f6ed;--ttt-badge-text:#24653a} .ttt-flights-not_included{--ttt-badge-bg:#f2f3f4;--ttt-badge-text:#555} .ttt-flights-available_separately{--ttt-badge-bg:#eaf2ff;--ttt-badge-text:#284f88} .ttt-flights-selected_airports{--ttt-badge-bg:#f7f0df;--ttt-badge-text:#74571d} .ttt-checkout-progress{ display:flex; flex-wrap:wrap; align-items:center; gap:var(--ttt-space-sm, .75rem); margin:0 0 var(--ttt-space-md, 1rem); } .ttt-checkout-progress > span{ display:inline-flex; align-items:center; justify-content:center; min-width:0; } .ttt-clear-all-filters{appearance:none;border:0;background:transparent;color:inherit;text-decoration:underline;cursor:pointer;padding:var(--ttt-space-xs,4px) var(--ttt-space-sm,8px);font:inherit;line-height:1.2} .ttt-clear-all-filters:focus-visible{outline:2px solid currentColor;outline-offset:2px} .ttt-flight-request-widget{box-sizing:border-box;max-width:100%;} .ttt-native-flight-form{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--ttt-space-md,16px);width:100%;max-width:100%;} .ttt-native-flight-form .ttt-field{display:flex;flex-direction:column;gap:var(--ttt-space-xs,4px);min-width:0;} .ttt-native-flight-form input,.ttt-native-flight-form textarea{box-sizing:border-box;width:100%;max-width:100%;min-height:var(--ttt-control-height,44px);} .ttt-native-flight-form textarea,.ttt-native-flight-form .ttt-button,.ttt-native-flight-form .ttt-form-message{grid-column:1/-1;} .ttt-native-flight-form .ttt-button{justify-self:start;} .ttt-public-quote{box-sizing:border-box;width:min(92%,760px);margin:clamp(24px,6vw,72px) auto;padding:clamp(18px,4vw,40px);border:var(--ttt-border-width,1px) solid rgba(0,0,0,.14);border-radius:var(--ttt-radius-lg,16px);background:#fff;} .ttt-quote-lines>div,.ttt-quote-total{display:flex;justify-content:space-between;gap:var(--ttt-space-md,16px);padding-block:var(--ttt-space-sm,8px);} .ttt-quote-total{margin-top:var(--ttt-space-md,16px);border-top:var(--ttt-border-width,1px) solid rgba(0,0,0,.14);font-size:1.15em;} @media(max-width:767px){.ttt-native-flight-form{grid-template-columns:1fr}.ttt-public-quote{width:calc(100% - 24px);margin:12px auto;padding:18px}}
.ttt-quote-options{display:grid;gap:12px;margin:16px 0}.ttt-quote-options>h3{margin:0}.ttt-quote-option-group{display:grid;gap:7px}.ttt-quote-option-group select,.ttt-quote-option-group input[type=number]{max-width:100%}.ttt-option-choice{display:flex;align-items:flex-start;gap:8px}.ttt-checkout-product-options{grid-column:1/-1;width:100%}
