@charset "UTF-8"; body { font-family: var(--font-body); background-color: var(--color-white); --_sub-header-height: 35px; --_mobile-nav-height: 50px; --_card-width: 340px; --_section-gap: 36px; --_section-padding-block: 80px; --_section-padding-inline: 30px; --_min-a11y-font-size: 19px; @media screen and (max-width: 1280px) { --_section-padding-block: 48px; --_section-gap: 24px; padding-top: var(--_mobile-nav-height); @media screen and (min-width: 992px) { &:has(.sub-header:not(:empty)) { padding-top: calc( var(--_mobile-nav-height) + var(--_sub-header-height) ); } } } @media screen and (max-width: 780px) { --_section-padding-inline: 30px; } @media screen and (max-width: 480px) { --_section-padding-block: 36px; --_section-padding-inline: 20px; } &.modal-open { .modal { background-color: rgba(255, 255, 255, 0.5); } } &.checkout:has(#chat-widget-container) .mobile-nav.mobile-nav-b .bt-menu { /** move hamburger to left side of screen when chat widget exists */ left: 20px; right: auto; } } h1, h2, h3, h4, h5, h6 { font-family: var(--font-sans) !important; font-weight: normal; text-transform: none !important; text-shadow: none; } h1 { font-size: clamp(3.2rem, 5vw + 1rem, 5.6rem); line-height: 1.2; } h2 { font-size: clamp(2.4rem, 3vw + 1rem, 4rem); line-height: 1.3; } h3 { font-size: clamp(2rem, 2vw + 0.5rem, 3.2rem); line-height: 1.4; } h4 { font-size: clamp(1.8rem, 1.5vw + 0.5rem, 2.4rem); line-height: 1.4; } p { a:not(.button-link):not(#map-resize):not(.fa):not([href*="tel:"]) { color: var(--color-link); font-weight: bold; text-decoration: underline; text-underline-offset: 2px; transition: color 0.3s ease; &:hover { text-decoration: none; } &:visited { color: var(--color-brand-aubergine); } } } input, textarea, select, label, .floating-label > label, input[type="checkbox"] + label, input[type="radio"] + label, .g-captcha-note { font-family: var(--font-body); text-transform: none; } button { text-transform: none; font-family: var(--font-body); font-size: 14px; font-weight: 500; line-height: 1.2; padding: 10px 20px; border-radius: 20px; border: none; cursor: pointer; &:focus { background-color: var(--color-brand-secondary); } } select { text-transform: none; font-family: var(--font-body); font-size: 14px; font-weight: 500; line-height: 1.2; padding: 10px 20px; border-radius: 20px; border: none; cursor: pointer; height: auto; } .preloader { background-color: var(--color-white); .prelogo { height: 46px; width: 230px; margin-left: -115px; margin-top: -23px; } } .main-header, .sub-header { padding: 0 calc(50% - 760px); @media screen and (max-width: 1580px) { padding-inline: 30px; } } .sub-header { display: block; position: fixed; top: 0; z-index: 32; height: var(--_sub-header-height); background-color: var(--color-white); color: var(--color-brand-secondary); transition: transform 0.2s ease-out; &:has(~ .mobile-nav-hide) { transform: translateY(calc(0px - var(--_sub-header-height))); } @media screen and (max-width: 991px) { display: none; } & > ul { display: flex; gap: 10px; & > li { margin: 0; max-height: var(--_sub-header-height); &:before { margin-right: 6px; } &:hover { background-color: var(--color-brand-sandstone); } } a { color: var(--color-brand-secondary); font-family: var(--font-body); text-transform: none; font-size: 12px; } } #currency-btn, #search-submenu { padding-inline: 12px; cursor: pointer; height: var(--_sub-header-height); & > a { padding: 0; line-height: var(--_sub-header-height); } } #search-submenu { --_open-search-width: 240px; input { display: none; } &.open, &.focus { background-color: var(--color-brand-sandstone); min-width: var(--_open-search-width); form { width: var(--_open-search-width); } input { display: inline-block; padding: 0; margin: 0; height: var(--_sub-header-height); box-shadow: none; color: var(--color-brand-charcoal); font-family: var(--font-body); font-size: 14px; line-height: var(--_sub-header-height); font-weight: normal; text-transform: none; &::placeholder { color: var(--color-brand-charcoal-tint); font-family: var(--font-body); font-size: 14px; line-height: var(--_sub-header-height); font-weight: normal; text-transform: none; } } &:before { top: 13px; } } .suggestions { padding: 16px; cursor: auto; border-radius: 0 0 16px 16px; box-shadow: 0 16px 16px rgba(0, 0, 0, 0.25); & > span, #results { padding: 0; font-family: var(--font-body); font-size: 16px; line-height: 1.2; font-weight: normal; text-transform: none; } & > span { font-weight: 500; color: var(--color-brand-charcoal-tint); margin-bottom: 12px; &:after { display: none; } } #results { p { font-size: 16px; line-height: 1; font-weight: normal; text-transform: none; color: var(--color-brand-charcoal-tint); margin-bottom: 0; padding: 0; } } .suggestion { display: flex; gap: 12px; border-color: var(--color-brand-sandstone); padding: 8px; border-radius: 8px; transition: background-color 0.3s ease; &:hover { background-color: var(--color-brand-sandstone); } &:after { display: none; } &:last-child { border-bottom: none; } .img { border-radius: 8px; overflow: hidden; width: 50px; height: 50px; flex-shrink: 0; } p { & > a { font-size: 14px; font-weight: bold; text-transform: none; color: var(--color-brand-secondary); margin-bottom: 0; } } a.view { color: var(--color-brand-marigold); padding: 0; position: static; align-self: flex-end; } } .button-link { margin: 16px auto 0; background-color: var(--color-brand-secondary); color: var(--color-white); font-family: var(--font-body); width: fit-content; font-size: 16px; font-weight: bold; text-transform: none; padding: 9px 22px; border-radius: 30px; transition: background-color 0.3s ease; &:hover { background-color: var(--color-brand-secondary-400); } } } } #currency-btn { ul { background-color: var(--color-white); padding: 10px 0; list-style: none; font-size: 16px; font-weight: bold; text-transform: none; color: var(--color-brand-secondary); border-radius: 0 0 16px 16px; box-shadow: 0 8px 10px rgba(0, 0, 0, 0.25); margin-top: -2px; li { max-height: none; padding: 0; transition: background-color 0.3s ease; &:hover { background-color: var(--color-brand-sandstone); } a { display: block; margin-left: 0; padding: 10px 16px; font-size: 14px; font-weight: 500; text-transform: none; color: var(--color-brand-secondary); line-height: 1; cursor: pointer; } } } } } .suggestions .suggestion p { color: var(--color-link); text-transform: none; } .suggestions .suggestion:hover { background: var(--color-brand-sandstone); } .guide-search .suggestions .suggestion img { border-radius: 8px; } .guide-search .suggestions { border-radius: 16px; margin-top:5px; } .guide-search .suggestions .suggestion p { padding: 10px 0 5px 0; } .guide-search .suggestions .suggestion a.group-search { font-size: 12px; color: var(--color-brand-charcoal); text-transform: none; display: inline-flex; align-items: flex-end; height: 15px; line-height: 7px; } #results .suggestion:first-child { border-radius: 16px 16px 0 0; } .sec-color-grey.search-results-section { min-height: 700px; } .mobile-nav { height: var(--_mobile-nav-height); @media screen and (max-width: 1279px) { &.mobile-nav-hide { & ~ main { .submenu.fixed { top: 0 !important; } } & ~ .submenu.sticktop, & + .mobile-menu-b { top: 0 !important; } } } @media screen and (min-width: 992px) { &.mobile-nav-b { top: var(--_sub-header-height); &.mobile-nav-hide { transform: translateY(calc(-100% - var(--_sub-header-height))); } } } .bt-menu { top: 10px; .bt-menu-trigger { width: 100%; height: 100%; span { background-color: var(--color-brand-primary-700); height: 3px; &:before, &:after { background-color: var(--color-brand-primary-700); height: 3px; } } } &.bt-menu-open .bt-menu-trigger span { background-color: transparent; } } } .mobile-menu { --_padding-inline: 50px; @media screen and (max-width: 480px) { --_padding-inline: 30px; } background-color: var(--color-brand-sandstone); .accordion { .panel-heading { .panel-title { font-family: var(--font-body) !important; font-weight: 500; text-transform: none; font-size: 18px; } } .panel-small { ul { column-count: 1; li { font-size: 14px; } @media screen and (max-width: 480px) { margin-inline: 30px; } } } .panel-general { li { font-size: 1em; font-weight: 500; a { @media screen and (max-width: 480px) { padding-inline: 30px; } } } } .panel-social { padding-inline: 50px; text-align: left; & > span { font-family: var(--font-body); font-weight: 500; font-size: 18px; text-transform: none; color: var(--color-brand-aubergine); } ul { justify-content: flex-start; li { a { color: var(--color-brand-aubergine); font-size: 32px; } } } @media screen and (max-width: 480px) { padding-inline: 30px; } } .panel-address { span { font-family: var(--font-body); color: var(--color-brand-secondary); font-size: 16px; font-weight: 500; text-transform: none; } p { font-family: var(--font-body); text-transform: none; font-weight: 500; font-size: 16px; line-height: 1.75; } } .panel-group { .panel-heading.m-open, .panel-collapse { background: var(--color-white); } .panel-collapse { padding: 20px; } .m-header, .m-group-name, .m-links > a { font-family: var(--font-body); font-weight: normal; font-size: 16px; text-transform: none; line-height: 1.75; color: var(--color-brand-charcoal); padding-inline: 34px; @media screen and (max-width: 480px) { padding-inline: 16px; } & > i { margin-left: 8px; } } .m-header { color: var(--color-brand-secondary); font-weight: 600; font-size: 14px; } .m-links .m-header { padding-inline: 40px; } .m-links a { padding-inline: 55px 0px; } .m-group:has(+ .m-header) { border-bottom: 1px solid var(--color-brand-granite-tint); margin-bottom: 20px; } .m-group + .m-group { border-top: 1px solid var(--color-brand-granite-tint); } .m-group-name { padding: 16px 35px; i, .fa { color: var(--color-brand-secondary); font-size: 24px; } } } } ul { font-family: var(--font-body); text-transform: none; font-weight: 500; font-size: 18px; line-height: 2em; } &.mobile-menu-b { padding-top: var(--_mobile-nav-height); top: var(--_sub-header-height); /** announcement bar above menu */ height: calc(100vh - var(--_sub-header-height)); @media screen and (max-width: 992px) { height: 100vh; top: 0; } &.mobile-menu-list-bottom { transform: translateY(200vh); /** push off bottom of screen */ top: auto; bottom: 0; &.open { transform: translateY(0); /** bring back to bottom of screen */ box-shadow: 0 -4px 5px rgba(0, 0, 0, 0.1); } } .accordion { .panel-group { .panel:first-child { .panel-heading { margin-top:40px; a { padding-inline: var(--_padding-inline); .i-down, .i-up { color: var(--color-brand-secondary); right: var(--_padding-inline); } } } } .panel-address { @media screen and (max-width: 480px) { padding-inline: 30px; } } } } } } .logo { background-image: url(https://www.nordicvisitor.com/files/nordic-visitor-logo-2025.svg); &.logo-united-kingdom { background-image: url("https://www.nordicvisitor.com/files/1/nordic-visitor-unitedkingdom-logo.svg"); } &.logo-alps { background-image: url("https://www.nordicvisitor.com/files/1/logo/nordic-visitor-alps-logo-outline.svg"); } @media (max-width: 992px) { &.logo-blog { width: 240px; } } } .main-header { background-color: var(--color-brand-primary-400); .logo { margin: 0; height: 70px; width: 230px; } .dropdown-nav { background-color: var(--color-brand-primary-400); ul { display: flex; gap: 10px; flex-direction: row-reverse; &:before { content: none; } & > li { margin-right: 0; &:first-child { background: var(--color-brand-secondary); & > a { color: var(--color-white); } &:has(> a:hover) { background: var(--color-brand-secondary-700); } } & > a { color: var(--color-brand-secondary); font-family: var(--font-body); font-size: 16px; text-transform: none; font-weight: bold; padding-block: 23px; display: inline-flex !important; align-items: center; gap: 6px; @media screen and (max-width: 1400px) { font-size: 14px; padding-inline: 12px; } .icon, i { margin: 0; pointer-events: none; } &:after { content: none !important; } } .nav-mega { box-shadow: 0 8px 16px rgba(0, 0, 0, 0.4); top: 0; border-radius: 0 0 16px 16px; } &.open { &:after { content: none; } & > a { & > i { rotate: 180deg; } } .nav-mega { &.nav-mega-tours, &.nav-mega-travel-info, &.nav-mega-destinations { padding-inline: 24px; } } & > ul li { padding-top: 3px; } } .nav-mega-list { border-color: var(--color-brand-sandstone-shade); } .nav-mega-head { font-family: var(--font-body); text-transform: none; font-weight: 500; color: var(--color-brand-secondary); margin-bottom: 8px; } .nav-mega-featured { background-color: var(--color-brand-sandstone); border-radius: 16px; } .nav-mega-info { border-radius: 16px; transition: background-color 0.3s ease, border-color 0.3s ease; & > figure { border-radius: 8px; } .d-title, p { font-family: var(--font-body); } .d-title { color: var(--color-brand-secondary); } &:hover { background: var(--color-brand-sandstone); border-color: var(--color-brand-sandstone-shade); } } .nav-mega-list-destination { button { margin-bottom: 4px; transition: background-color 0.3s ease; &.active, &.active:hover { color: var(--color-brand-primary-600); background: var(--color-brand-sandstone); border-color: transparent; .nav-mega-tag { color: var(--color-brand-primary-800); background-color: var(--color-brand-primary-400); border-color: var(--color-brand-primary-600); } } & > span { display: flex; justify-content: start; align-items: center; gap: 5px; } .nav-mega-tag { background: var(--color-white); color: var(--color-brand-primary-600); } &:hover { background-color: var(--color-brand-sandstone); border-color: transparent; .nav-mega-tag { color: var(--color-brand-primary-800); background-color: var(--color-brand-primary-400); border-color: var(--color-brand-primary-600); } } } } .nav-mega-tag { margin-left: 0; border-color: currentColor; border-radius: 6px; transition: color 0.3s ease, border-color 0.3s ease, background-color 0.3s ease; } .nav-mega-content-head, .nav-mega-image-link { font-family: var(--font-body); font-weight: 500; line-height: 36px; text-transform: none; color: var(--color-brand-secondary); margin-bottom: 16px; transition: color 0.3s ease; &:is(a):hover { color: var(--color-brand-marigold) !important; } } .nav-mega-content-head { & + .row:has(> div > .nav-mega-content-links) { display: grid; grid-template-columns: 1fr 1fr; gap: 24px; &:before, &:after { content: none; } & > div { width: 100%; } } } .nav-mega-image-link { font-weight: bold; } .nav-mega-content-links { & > a { font-family: var(--font-body); color: var(--color-brand-charcoal-tint); text-transform: none; font-weight: normal; gap: 5px; & > span { transition: color 0.3s ease; } .nav-mega-tag { &.blue { color: var(--color-brand-secondary); background-color: var(--color-white); } } &:hover { & > span { text-decoration: none; color: var(--color-brand-marigold); } &.sunset { & > span { color: var(--color-brand-marigold-shade); } } .nav-mega-tag { color: var(--color-white); background-color: var(--color-brand-marigold); border-color: var(--color-brand-marigold); } } } } .nav-mega-guides { background-color: var(--color-brand-sandstone); border-radius: 16px; border-color: var(--color-brand-sandstone-shade); & > p { font-family: var(--font-body); color: var(--color-brand-charcoal); text-transform: none; font-weight: normal; } .nav-mega-guide { border-radius: 8px; border: 1px solid var(--color-brand-sandstone-shade); font-family: var(--font-body); transition: box-shadow 0.3s ease; &:hover { transform: none; box-shadow: 0 2px 6px rgba(0, 0, 0, 0.1); } } } } ul a { padding: 10px 0 10px 5px; } &.nav-b { min-width: 300px; } & > li ul li { padding: 2px 20px; } } } } body { &:not(.hide-topnav) { .main-header.sticktop { @media screen and (min-width: 1279px) { & + div { /* Hide the 70px height div being added - make sure it's this exact div */ &:has(+ .mobile-nav + .mobile-menu ~ main) { display: none; } } & ~ main { padding-top: 70px; } } } } &.hide-topnav { --_sub-header-height: 0; .main-header.sticktop { @media screen and (min-width: 1279px) { & + div + div { /* Hide the SECOND 70px height div being added - make sure it's this exact div */ &:has(+ .mobile-nav + .mobile-menu ~ main) { display: none; } & ~ .submenu.sticktop { /* Hide the 50px height div being added - make sure it's this exact div */ & + div:has(+ main) { display: none; } & ~ main { padding-top: 50px; } } } } } } @media screen and (max-width: 1279px) { &.mobile-nav-show { .section-content-nav-fixed { top: calc(var(--_mobile-nav-height) + var(--_sub-header-height)); } } } @media screen and (max-width: 992px) { &.mobile-nav-show { .section-content-nav-fixed { top: var(--_mobile-nav-height); } } } } .button-link, #map-resize { font-family: var(--font-body); font-size: var(--_min-a11y-font-size); text-transform: none; font-weight: bold; padding: 13px 22px; line-height: 1; border-radius: 30px; transition: background-color 0.3s ease; } .button-link { &.light-green { background-color: var(--color-brand-primary-400); color: var(--color-brand-primary-800); &:hover { background-color: var(--color-brand-primary); } } &.green-light { background-color: var(--color-brand-marigold); &:hover { background-color: var(--color-brand-marigold-shade); } } } input[type="submit"], .button-icon, .button-link, button, .button-filter, .pswp__button--close { &:focus, &:focus-visible { background-color: var(--btn-primary-hover-bg); color: var(--btn-primary-hover-text); } } input.green[type="submit"], .green.button-icon, .green.button-link, button.green, .green.button-filter, .green.pswp__button--close, .button-link.show-more-tours, .button-link.show-more-tours.opened { background-color: var(--color-brand-secondary); color: var(--color-white); transition: background-color 0.3s ease; &:hover, &:focus, &:focus-visible { background-color: var(--color-brand-secondary-400); color: var(--color-white); } } .button-link, .collage .collage-link { &:has(> i) { display: flex; gap: 5px; } &:has(> i:last-child:not(:only-child)) { padding-right: 18px; } } .show-more { background-color: var(--color-brand-secondary); &:hover { background-color: var(--color-brand-secondary-400); } } /** USP BAR */ .sp-small-container { li { display: flex; align-items: center; height: 100%; @media screen and (max-width: 767px) { align-items: flex-start; padding-block: 12px; } } .sp-small { align-items: center; gap: 8px; padding: 6px 20px 6px 10px; .sp-icon { padding: 0; color: var(--color-brand-primary-600); } .sp-text { font-family: var(--font-body); line-height: 1.2; color: var(--color-brand-charcoal-tint); text-wrap: pretty; .sp-title { color: var(--color-brand-primary-600); font-family: var(--font-body); font-size: 14px; line-height: 1.2; text-transform: none; font-weight: 500; margin-bottom: 0; text-wrap: pretty; } } .sp-summary { color: var(--color-brand-charcoal-tint); font-family: var(--font-body); font-size: 14px; font-weight: normal; line-height: 1.2; } @media screen and (max-width: 767px) { width: 130px; padding: 0 10px; .sp-icon { margin: 0; } } } } /** SECTIONS STYLES */ section.sec-color-sandstone, .info-blocks .info-block.block-sandstone, section#most-popular-summer-tours { background-color: var(--color-brand-sandstone); border-top: 0; } div:has(#most-popular-summer-tours) { & + div { section.sec-color-white { border-top: 0; } } } section#most-popular-winter-tours { background-color: var(--color-white); } section.sec-color-grey, .info-blocks .info-block.block-grey { /* background-color: var(--color-brand-granite-tint); */ background-color: #eee; /** TODO: lighter granite */ } section.sec-color-blue, .info-blocks .info-block.block-blue { background-color: var(--color-brand-primary-200); } /** TODO: work out a way to style alternating sections */ /* div:has(> section.sec-color-grey) { &:has(+ div > section.sec-color-grey) { &:nth-child(odd) { & ~ div:nth-child(even) { section.sec-color-grey { background-color: var(--color-white); } } } &:nth-child(even) { & ~ div:nth-child(odd) { section.sec-color-grey { background-color: var(--color-white); } } } } } */ div:has(> section.sec-color-grey) { &:has(+ div > section.sec-color-grey) { & + div:not(:has(.info-blocks)) { section.sec-color-grey { background-color: var(--color-white); .card-info { background-color: var(--color-brand-sandstone); } } /** TODO: might need to tidy up white section border-top nesting here */ & + div:not(:has(.info-blocks)) { section.sec-color-grey { background-color: #eee; .card-info { background-color: var(--color-white); } } section.sec-color-white { border-top: 1px solid var(--color-brand-granite-tint); } & + div:not(:has(.info-blocks)) { section.sec-color-grey { background-color: var(--color-white); .card-info { background-color: var(--color-brand-sandstone); } } & + div:not(:has(.info-blocks)) { section.sec-color-grey { background-color: #eee; .card-info { background-color: var(--color-white); } } section.sec-color-white { border-top: 1px solid var(--color-brand-granite-tint); } & + div:not(:has(.info-blocks)) { section.sec-color-grey { background-color: var(--color-white); .card-info { background-color: var(--color-brand-sandstone); } } & + div:not(:has(.info-blocks)) { section.sec-color-grey { background-color: #eee; .card-info { background-color: var(--color-white); } } section.sec-color-white { border-top: 1px solid var(--color-brand-granite-tint); } & + div:not(:has(.info-blocks)) { section.sec-color-grey { background-color: var(--color-white); .card-info { background-color: var(--color-brand-sandstone); } } & + div:not(:has(.info-blocks)) { section.sec-color-grey { background-color: #eee; .card-info { background-color: var(--color-white); } } section.sec-color-white { border-top: 1px solid var(--color-brand-granite-tint); } & + div:not(:has(.info-blocks)) { section.sec-color-grey { background-color: var(--color-white); .card-info { background-color: var(--color-brand-sandstone); } } & + div:not(:has(.info-blocks)) { section.sec-color-grey { background-color: #eee; .card-info { background-color: var(--color-white); } } section.sec-color-white { border-top: 1px solid var(--color-brand-granite-tint); } } } } } } } } } } } } } div:has(> section.sec-color-sandstone) { &:has(+ div > section.sec-color-sandstone) { & + div:not(:has(.info-blocks)) { section.sec-color-sandstone { background-color: var(--color-white); } /** TODO: might need to tidy up white section border-top nesting here */ & + div:not(:has(.info-blocks)) { section.sec-color-sandstone { background-color: var(--color-brand-sandstone); } section.sec-color-white { border-top: 1px solid var(--color-brand-granite-tint); } & + div:not(:has(.info-blocks)) { section.sec-color-sandstone { background-color: var(--color-white); } & + div:not(:has(.info-blocks)) { section.sec-color-sandstone { background-color: var(--color-brand-sandstone); } section.sec-color-white { border-top: 1px solid var(--color-brand-granite-tint); } & + div:not(:has(.info-blocks)) { section.sec-color-sandstone { background-color: var(--color-white); } & + div:not(:has(.info-blocks)) { section.sec-color-sandstone { background-color: var(--color-brand-sandstone); } section.sec-color-white { border-top: 1px solid var(--color-brand-granite-tint); } & + div:not(:has(.info-blocks)) { section.sec-color-sandstone { background-color: var(--color-white); } & + div:not(:has(.info-blocks)) { section.sec-color-sandstone { background-color: var(--color-brand-sandstone); } section.sec-color-white { border-top: 1px solid var(--color-brand-granite-tint); } & + div:not(:has(.info-blocks)) { section.sec-color-sandstone { background-color: var(--color-white); } & + div:not(:has(.info-blocks)) { section.sec-color-sandstone { background-color: var(--color-brand-sandstone); } section.sec-color-white { border-top: 1px solid var(--color-brand-granite-tint); } } } } } } } } } } } } } div:has(> section.sec-color-white) { & + div { section.sec-color-white { border-top: 1px solid var(--color-brand-granite-tint); } } } /** Treat the customer-review + video-testimonial components as one continuous section when they appear back-to-back, but keep each looking like a normal standalone section otherwise. */ .dc_custom_reviewcustomer + .dc_custom_videoembed { section.sec-video-embed.sec-color-white { border-top: 0; } .container { padding-top: 0; } } .dc_custom_reviewcustomer:has(+ .dc_custom_videoembed) { section.sec-customer-reviews.sec-color-white { .container { padding-bottom: 0; } } } /** Video embed (YouTube testimonial) component **/ .sec-video-embed .video-embed-wrap { display: flex; justify-content: center; } .sec-video-embed .video-embed-container { position: relative; width: 70%; max-width: 100%; aspect-ratio: 16/9; background: #000; border-radius: 16px; overflow: hidden; } .sec-video-embed .video-embed-play { position: absolute; inset: 0; width: 100%; height: 100%; border: 0; padding: 0; margin: 0; cursor: pointer; background: none; display: block; } .sec-video-embed .video-embed-thumb { width: 100%; height: 100%; object-fit: cover; display: block; } .sec-video-embed .video-embed-play-icon { position: absolute; top: 50%; left: 50%; transform: translate(-50%, -50%); width: 72px; height: 72px; border-radius: 50%; background: rgba(0, 0, 0, 0.55); display: flex; align-items: center; justify-content: center; transition: background 0.2s; } .sec-video-embed .video-embed-play:hover .video-embed-play-icon { background: #cd201f; } .sec-video-embed .video-embed-title { position: absolute; left: 0; right: 0; top: 0; padding: 28px 28px; text-align: left; color: #fff; font-family: var(--font-sans); font-size: 22px; font-weight: bold; background: linear-gradient(to bottom, rgba(0, 0, 0, 0.75), rgba(0, 0, 0, 0)); } .sec-video-embed .video-embed-container.is-playing .video-embed-play, .sec-video-embed .video-embed-container.is-playing .video-embed-thumb { display: none; } .sec-video-embed .video-embed-container iframe { position: absolute; inset: 0; width: 100%; height: 100%; border: 0; } @media (max-width: 767px) { .sec-video-embed .video-embed-container { width: 100%; } } section.sec-color-green, .info-blocks .info-block.block-green { background-color: var(--color-brand-secondary); } .info-blocks .info-block.block-aubergine, section.newsletter__signup { background-color: var(--color-brand-aubergine); } /** ORIGINAL NV STYLE */ section.sec-color-white .lead, section.sec-color-white-grey .lead, section.sec-color-grey .lead { color: #5f5c5c; } /** NEW NV STYLE */ section.sec-color-white .headline-section, section.sec-color-white .package-headline, section.sec-color-sandstone .headline-section, section.sec-color-sandstone.blog-feed h2, section.sec-color-sandstone .lead, section.sec-color-sandstone .package-headline, section.sec-color-sandstone .col-package-headline p, section.sec-color-sandstone .package-headline + p, section#most-popular-summer-tours .headline-section, section#most-popular-winter-tours .headline-section { color: var(--color-brand-secondary); } section.section-help .lead, section.sec-color-white .lead, section.sec-color-white .col-package-headline p, section#most-popular-summer-tours .lead, section#most-popular-winter-tours .lead { color: var(--color-brand-charcoal-tint); } section.sec-color-green .headline-section, section.sec-color-green .package-headline, section.sec-color-green .package-headline + p, section.sec-color-green .col-package-headline p, section.sec-color-green .lead, #reviews.sec-color-green .package-headline, #reviews.sec-color-green .col-package-headline p { color: var(--color-white) !important; a:not(.button-link):not(#map-resize):not(.fa):not([href*="tel:"]) { color: var(--color-white) !important; } } section.newsletter__signup .newsletter__signup-headline, section.newsletter__signup label, .info-blocks .info-block.block-aubergine .inner-container .headline-section, .info-blocks .info-block.block-aubergine .inner-container .lead { color: var(--color-brand-sandstone); } .info-blocks .info-block.block-blue .inner-container .headline-section, .info-blocks .info-block.block-blue .inner-container .lead { color: var(--color-brand-primary-800); } .info-blocks .info-block.block-grey .inner-container a { color: var(--color-brand-secondary); text-decoration: underline solid 2px; &:hover { text-decoration: none; } &:visited { color: var(--color-brand-aubergine); } } section { .container, .container-section { display: flex; flex-direction: column; gap: var(--_section-gap); padding-block: var(--_section-padding-block); padding-inline: var(--_section-padding-inline); width: 100%; max-width: 1500px; margin: 0 auto; &:before, &:after { display: none; } &.align-left { margin-left: auto; padding-left: var(--_section-padding-inline); } & + .container, & + .container-section:not(:has(.package-headline)) { padding-top: 0; } &:has(+ .container-padbtm) { padding-bottom: 0; } } &:has(~ .search-results) { .page-header { padding-bottom: var(--_section-gap); } } &.search-results { .container-section { padding-block: 24px; } } &.search-results-filterbar, .cloud-mobile { .container-section { padding-block: 0; } } &.sec-divider-top { border-top: 0; } &.sec-contact-groups { .headline-section, h3 { font-size: 24px; font-weight: bold; line-height: 1.2; text-transform: none; color: var(--color-brand-secondary); font-family: var(--font-body) !important; } .button-link, .col-opt .icon-round { background-color: var(--color-brand-primary-400); color: var(--color-brand-primary-800); width: auto; &:hover { background-color: var(--color-brand-primary); } } .col-opt { p { text-wrap: pretty; color: var(--color-brand-charcoal); } .icon-round { width: 24px; height: 24px; } .icon { color: var(--color-brand-primary); } } } .container-padbtm:last-child { padding-bottom: var(--_section-padding-block); } .container, & > .container-padbtm, & > .container-section { padding-top: var(--_section-padding-block); &.container-l { max-width: 1520px; } &:not(:last-child):not(:has(+ .container-padbtm)) { padding-bottom: var(--_section-gap); } .row { .headline-section { margin-bottom: var(--_section-gap); } & > div:last-child > .headline-section:last-child { margin-bottom: 0; } &:has(+ .row > div:first-child > p:first-child) { & > div:last-child > .headline-section:last-child { margin-bottom: var(--_section-gap); } } } } .mobile-horizontal-container { & + .container-padbtm { padding-top: calc(var(--_section-gap) - var(--_section-padding-block)); } } .headline-section, &.blog-feed h2, .newsletter__signup-headline, .package-headline { font-family: var(--font-sans); text-transform: none !important; font-weight: normal; font-size: 48px; color: var(--color-brand-secondary); line-height: 1.1; margin: 0; margin-top: 0 !important; text-wrap: balance; @media screen and (max-width: 1280px) { font-size: 36px; line-height: 38px; } @media screen and (max-width: 800px) { font-size: 28px; line-height: 32px; } @media screen and (max-width: 480px) { font-size: 24px; line-height: 26px; } } .lead, .col-package-headline p, .package-headline + p { font-size: 24px; text-align: center; font-family: var(--font-serif); font-weight: 300; color: var(--color-brand-charcoal-tint); padding: 0; text-wrap: pretty; max-width: 80ch; margin: 0 auto; a { text-decoration: underline; font-weight: bold; } @media screen and (max-width: 1280px) { font-size: 20px; margin-bottom: 10px; } } .col-package-headline + div > p { margin-bottom: 0; max-width: 100ch; } &#about { .headline-section { & ~ p { margin-bottom: 0; } } } &.section-reviews-saying { .headline-section { margin-top: 0; } .lead { margin-bottom: var(--_section-gap); } } &.section-about-experts { .container { padding-bottom: 0; p { text-wrap: pretty; &.lead { padding-bottom: 0; } } @media screen and (max-width: 1080px) { padding-inline: 45px; .headline-section { text-align: left; } p.lead { margin-left: 0; text-align: left; } } @media screen and (max-width: 768px) { padding-inline: var(--_section-padding-inline); } } .section-about-experts-content { @media screen and (min-width: 1080px) { & > :first-child { padding-right: 50px; } } @media screen and (max-width: 1280px) { display: flex; align-items: flex-end; gap: 24px; &:before, &:after { content: none; } & > * { width: 100%; } .row-dual-sideimg { width: 60%; min-width: 440px; } } @media screen and (max-width: 1080px) { flex-wrap: wrap; justify-content: center; & > * { width: 100%; min-width: 0; } .row-dual-sideimg { width: 100%; background-position: bottom right; } p { max-width: 80ch; &:last-of-type { padding-bottom: 0; margin-bottom: 0; } } } } } } /** END SECTIONS STYLES */ .card .destination-label, .submenu { font-family: var(--font-sans); text-transform: uppercase; font-weight: 700; } .image-content__caption a, .link-red:hover, .link-white:hover, .notice a, .notice a:hover { text-decoration: underline; } .col-decor, .cx-contact, .numberCircle, .terms table thead tr th, .terms table tr td, .terms-modal table tr td { text-align: center; } .logo-hurtigruten { background-image: url(https://www.nordicvisitor.com/files/hurtigruten-logo.svg); } .logo-LIFE { background-image: url(https://www.nordicvisitor.com/files/travelife_logo-white.svg); } .logo-STA { background-image: url(https://www.nordicvisitor.com/files/scottish-tourism-alliance-logo.svg); } input[type="text"].newsletter__input { display: table-cell; float: none; width: 60%; text-transform: none; padding-left: 17px; border-bottom-right-radius: 0; border-top-right-radius: 0; height: 60px; vertical-align: top; color: var(--color-brand-dark); } input[type="submit"].newsletter__submit { display: table-cell; width: 40%; float: none; background-color: var(--btn-primary-bg); border-radius: 0 4px 4px 0; height: 60px; vertical-align: top; &:hover { background-color: var(--btn-primary-hover-bg); } } .section-package-info .package-info-icon, .section-right-image .package-info-icon { display: grid; grid-template-columns: 46px 1fr; grid-template-rows: 20px 1fr; gap: 4px 12px; margin-bottom: 20px; cursor: default; .icon-style-circle { float: none; margin: 0; } h2, .package-info-title { grid-column: 2; } } .sidebar-wide { width: 100%; max-width: 500px; margin-left: auto; } .accordion { h1 { font-size: 0.96666667em; line-height: 2em; padding: 0; margin: 0; color: var(--color-brand-dark); font-weight: 500; } h1 a { text-decoration: none; color: var(--color-brand-dark); display: block; width: 100%; } h1 a:after, h2 a:after { font-family: nordicvisitor; content: "\f077"; margin-left: 10px; font-size: 0.72222222em; line-height: 1.84615385em; } h3 a:after { font-family: nordicvisitor; content: "\f077"; margin-left: 10px; font-size: 0.72222222em; line-height: 1.84615385em; } .panel-group#accordion { .panel { &:last-child { .panel-heading { border-bottom: none; } } &:has(+ .panel .panel-heading [data-toggle="collapse"]:not(.collapsed)) { .panel-heading { border-bottom: none; } } } .panel-heading { padding: 0; border-bottom: 1px solid var(--color-brand-sandstone-shade); .panel-title { font-family: var(--font-body) !important; font-weight: 500; font-size: 18px !important; line-height: 1.15; text-transform: none; color: var(--color-brand-secondary) !important; text-align: left; a { padding: 16px 20px; display: flex; align-items: center; justify-content: space-between; transition: background-color 0.3s ease; &:not(.collapsed) { background-color: var(--color-white); border-radius: 16px 16px 0 0; } &:hover { background-color: var(--color-white); } } } } .panel-body { padding: 16px; margin-bottom: 16px; background-color: var(--color-white); border-radius: 0 0 16px 16px; p { margin-bottom: 1em; font-size: 18px; color: var(--color-brand-charcoal-tint); max-width: 100ch; text-wrap: pretty; } ul { padding-left: 0; column-count: 1; li { color: var(--color-brand-charcoal-tint); font-size: 18px; padding-block: 0; } } a { color: var(--color-brand-charcoal); text-decoration: underline; text-underline-offset: 2px; &:hover { text-decoration: none; color: var(--color-brand-charcoal-shade); } } } } } .mobile-menu.mobile-menu-b .accordion .panel-group .panel-heading a { padding: 0 30px; } .image-content__caption { background-color: rgba(103, 103, 103, 0.84); color: var(--color-neutral-100); font-size: 0.8em; line-height: 1.44em; font-style: italic; position: absolute; bottom: 0; padding: 4px 20px; a { color: var(--color-neutral-100); } } .youtube-player { position: sticky; padding-bottom: 56.23%; height: 0; overflow: hidden; max-width: 100%; background: var(--color-black); margin: 5px; .iframe { position: absolute; top: 0; left: 0; width: 100%; height: 100%; z-index: 100; background: 0 0; } .img { bottom: 0; display: block; left: 0; margin: auto; max-width: 100%; width: 100%; position: absolute; right: 0; top: 0; border: none; height: auto; cursor: pointer; -webkit-transition: 0.4s; -moz-transition: 0.4s; transition: 0.4s; &:hover { -webkit-filter: brightness(75%); } } .play { height: 72px; width: 72px; left: 50%; top: 50%; margin-left: -36px; margin-top: -36px; position: absolute; background: url(https://www.nordicvisitor.com/files/logo/youtube-dark-playbtn.svg) no-repeat; cursor: pointer; } @media (min-width: 300px) and (max-width: 480px) { margin-top: 0 !important; } } .info-tooltip, .ui-tooltip { display: inline-block; text-transform: none; font-family: var(--font-sans); color: var(--color-white); } .info-tooltip { background: var(--color-brand-dark); width: 12px; height: 12px; vertical-align: text-top; line-height: 12px; border-radius: 10px; font-size: 9px; font-weight: 700; margin-top: 1px; cursor: pointer; } .ui-tooltip { font-size: 12px; background: var(--color-brand-dark); padding: 15px 25px; z-index: 888888889; max-width: 320px; width: auto; border-radius: 5px; &.dynamic-width { max-width: 480px; } p { color: var(--color-white); margin: 0; padding: 0; } &.grey { &.bottom:before, &.top:before { display: block; content: ""; height: 0; width: 0; left: 50%; position: absolute; border: 7px solid transparent; -webkit-transform: translateY(-50%); -ms-transform: translateY(-50%); transform: translateY(-50%); } &.top:before { border-bottom: 7px solid var(--color-brand-dark); bottom: 100%; margin-bottom: -7px; } &.bottom:before { border-top: 7px solid var(--color-brand-dark); top: 100%; margin-top: 7px; } } @media (max-width: 768px) { &, &.dynamic-width { padding: 7px; max-width: 170px; } } } .ui-helper-hidden-accessible { display: none; } .card .destination-label { display: inline-block; background: rgba(255, 255, 255, 0.82); position: absolute; top: 15px; height: 30px; line-height: 30px; border-radius: 0 5px 5px 0; padding: 0 10px; font-size: 0.65em; color: var(--color-brand-dark); .tooltip-static-click:hover, .tooltip-static:hover { color: #3a8492; } } .card .infobox + .destination-label { @media (max-width: 1435px) { display: none; } } .itinerary-item p { font-size: 1em; line-height: 1.4em; position: relative; margin-bottom: 15px; color: var(--color-neutral-850); } .accordion h2, .modal-highlight-details ul, p, section.section-everything p { color: var(--color-brand-dark); } .terms-modal ol, .terms-modal ul, section.section-everything ul { padding-left: 30px; } .blog__section li a, .terms ul a, .terms-modal ul a, address a, section.section-everything ul a, td a { color: var(--color-textlink); font-weight: bold; text-decoration: underline; &:hover { color: var(--color-textlink-hover); } } .accordion h2 a, .accordion h3 a, .accordion .panel-title a, .info-blocks .info-block.block-grey .inner-container > * { color: var(--color-brand-dark) !important; } @media (max-width: 768px) and (min-width: 200px) { .request-icon { display: none; } } .promotions p { margin-bottom: 30px; font-weight: 500; font-size: 1.1em; color: var(--color-white); text-shadow: rgba(0, 0, 0, 0.3) 1px 2px 0; } .sub-notice p { color: var(--color-white); margin-left: 10px; font-size: 14px; } .sub-header { .sub-notice { padding: 6px 0; p { color: var(--color-brand-secondary); margin-left: 0; } } } .accordion h2, .footer-main .footer-blog .blog__tags, .footer-main .footer-blog .booking-form-request, .footer-main .footer-blog .package-headline, .footer-main .footer-blog .price, .footer-main .footer-blog h2 { font-size: 0.66666667em; line-height: 2em; } .notice { a { color: var(--color-white); &:hover { color: var(--color-brand-yellow); } } } .ui-datepicker-calendar { .ui-state-hover { background: #acc; color: var(--color-white); } .ui-state-active { border-radius: 0; background: var(--color-brand-dark); } } .accordion { h2 { padding: 0; margin: 0; font-weight: 500; a { text-decoration: none; display: block; width: 100%; } } h3 a { text-decoration: none; display: block; width: 100%; } } .cx-contact { position: relative; height: 100%; padding-bottom: 70px; .icon { font-size: 40px; color: var(--color-brand-green); } h3 { margin: 0; } p { margin: 0; color: var(--color-neutral-900); } p strong { color: var(--color-brand-red-dark); font-size: 1.3em; } .cx-footer { position: absolute; bottom: 10px; left: 0; right: 0; } } .button-link.btn-ctx { margin: 0 auto; font-size: var(--_min-a11y-font-size); line-height: 1; color: var(--color-brand-primary-800); background-color: var(--color-brand-primary-400); border-radius: 30px; padding: 16px 22px; font-weight: 600; font-family: var(--font-body); font-weight: bold; text-transform: none; transition: background-color 0.3s ease; &:hover { background-color: var(--color-brand-primary); } } .button-social-share { font-weight: bold; background-color: var(--color-brand-secondary); color: var(--color-white); text-transform: none; font-size: 16px; padding: 8px 16px; border-radius: 30px; line-height: 1; display: inline-flex; align-items: center; transition: background-color 0.3s ease; .icon::before { top: 0; } &:hover { background-color: var(--color-brand-secondary-400); color: var(--color-white); } } .row-flex { display: flex; &.container:after, &.container:before, &.row:after, &.row:before { content: normal; } } .ctx-form { padding-top: 80px; } .sec-customer-contact-form img { max-width: 100%; } .terms-modal h2, [type="number"] { font-family: var(--font-sans); } .row-dual-70-front h1 { text-align: left; } /** ============================================ * HERO STYLES - CONSOLIDATED * All .hero and .hero-subpage references * Organized with proper media query cascade * ============================================ */ /** BASE STYLES (no media queries) */ .hero-subpage { .hero-text { position: relative; } } .hero-auto { height: auto !important; } .hero-shortest { height: 300px !important; padding-top: 4%; } /** HERO TRANSITION OVERRIDE */ .hero .hero-text figure h1, .hero .hero-text figure .price, .hero .hero-text figure .package-headline, .hero .hero-text figure .booking-form-request, .hero .hero-text figure .blog__tags, .hero .hero-text figure p { opacity: 1; } .hero { --_hero-icon-height: 60px; --_hero-icon-row-gap: 24px; --_hero-icon-row-height: calc( var(--_hero-icon-height) + var(--_hero-icon-row-gap) + 10px ); --_hero-padding-inline: 30px; text-align: left; @media screen and (max-width: 1520px) { --_hero-icon-row-height: calc( var(--_hero-icon-height) + var(--_hero-icon-row-gap) + 24px ); } @media screen and (max-width: 1279px) { --_hero-icon-height: 40px; --_hero-icon-row-height: calc( var(--_hero-icon-height) + var(--_hero-icon-row-gap) ); .hero-icon-row { .package-info-icon { width: max-content; display: inline-flex; align-items: center; gap: 12px; .icon-style-circle { margin-top: 0; float: left; } h4 { text-align: left; margin-bottom: 0; } } } } @media (max-width: 800px) { .hero-icon-row { background-color: transparent; overflow: visible; padding-top: 0; .icon-style-circle { &:before { font-size: 16px; } } h4 { font-size: 14px; } } } @media screen and (max-width: 640px) { --_hero-icon-row-height: 60px; .hero-text { &:has(+ .hero-icon-row) { .button-link { margin-bottom: 0; } } } } &.hero-subpage .hero-text-left.hero-text-long, &.hero-subpage .hero-text, &.hero-subpage-vid .hero-text { height: 100%; bottom: 0 !important; padding-bottom: 40px; display: flex; flex-direction: column; justify-content: flex-end; max-width: 1500px !important; .button-link { &.video-link { border: 5px solid var(--color-white); border-radius: 66px; display: flex; justify-content: center; align-items: center; background: transparent; padding: 13px 14px; &.transparent { color: var(--color-white); transition: background-color 0.3s ease; &:hover { background-color: rgba(255, 255, 255, 0.1); } } } } @media screen and (max-width: 1540px) { max-width: 100% !important; margin-inline: 0; left: 0; } } .hero-text, .hero-text-left, .hero-text-transform { figure { h1 { font-weight: 500; text-transform: none; text-wrap: balance; text-shadow: 0 2px 4px rgba(0, 0, 0, 0.6); } p { text-shadow: 0 2px 4px rgba(0, 0, 0, 0.6); font-family: var(--font-body); text-wrap: pretty; } } h1, .blog-title { font-weight: 500; text-transform: none; text-wrap: balance; text-shadow: 0 2px 4px rgba(0, 0, 0, 0.6); font-family: var(--font-sans); } h2 { text-transform: none !important; text-shadow: 0 2px 4px rgba(0, 0, 0, 0.6); } p, .hero-search-title { text-shadow: 0 2px 4px rgba(0, 0, 0, 0.6); font-family: var(--font-body) !important; text-wrap: pretty; } } .hero-text { width: 1520px; padding: 0; margin: 0 auto; figure { h1, p { max-width: 50%; margin: 0 auto 0.25em 0; padding: 0; text-align: left; } } /** repeat for no figure */ h1, p { max-width: 50%; margin: 0 auto 0.25em 0 !important; padding: 0; text-align: left; } p { font-family: var(--font-body); text-wrap: pretty; font-size: 22px; a { color: var(--color-white) !important; text-decoration: underline; text-underline-offset: 2px; &:hover { text-decoration: none; color: var(--color-white); } &:visited { color: var(--color-brand-sandstone-shade) !important; } } } .button-link { margin-top: 1em; width: max-content; @media screen and (max-width: 800px) { font-size: 16px; } } .button-same-width { display: flex; flex-wrap: wrap; gap: 1em; justify-content: flex-start; align-items: center; margin-top: 1em; .video-link, .button-link { margin: 0; width: auto !important; span { margin-right: 4px; } } .video-link { height: 54px; width: auto !important; order: 3; i { margin-left: 0; } } @media only screen and (max-width: 480px) { flex-direction: row; row-gap: 12px; .button-link.video-link { margin-left: 0; margin-right: 0; } } } #lightGalleryTrigger { color: var(--color-white); border: 5px solid var(--color-white); border-radius: 30px; display: flex; justify-content: center; align-items: center; background: transparent; padding: 14px 20px; transition: color 0.3s ease, border-color 0.3s ease; span { &:before { top: 0; } } &:hover { background: transparent; color: rgba(255, 255, 255, 0.8); border-color: rgba(255, 255, 255, 0.8); } } } & > .hero-text { position: absolute; bottom: 60px !important; left: calc(50vw - 750px); right: calc(50vw - 750px); margin-inline: 0 !important; h1 { padding-left: 0 !important; & + .button-link { margin-left: 0 !important; &.transparent { color: var(--color-white); border: 5px solid var(--color-white); border-radius: 30px; display: flex; justify-content: center; align-items: center; background: transparent; padding: 14px 20px; transition: color 0.3s ease, border-color 0.3s ease; span { &:before { top: 0; } } &:hover { background: transparent; color: rgba(255, 255, 255, 0.8); border-color: rgba(255, 255, 255, 0.8); } } } } /** CHECK IF THERE IS A HERO ICON ROW WITH ACTUAL CONTENT AFTER THE HERO TEXT */ &:has(+ .hero-icon-row *) { padding-bottom: calc( var(--_hero-icon-row-gap) + var(--_hero-icon-row-height) ); } } .hero-slide { .hero-text { padding: 0 calc(50vw - 760px); @media screen and (max-width: 1580px) { padding: 0 var(--_hero-padding-inline); width: 100%; } .button-link { background-color: var(--color-brand-secondary); color: var(--color-white); text-transform: none; font-family: var(--font-body); font-weight: 500; padding: 10px 20px; border-radius: 30px; transition: background-color 0.3s ease; &:hover { background-color: var(--color-brand-secondary-400); color: var(--color-white); } } } } .hero-text-left { .lead { text-align: left; } } .hero-icon-row { /** HIDE THE HERO ICON ROW IF IT DOES NOT HAVE ANY CONTENT. :EMPTY DOESN'T WORK BECAUSE THERE ARE EMPTY SPACES IN THE DIV */ &:not(:has(*)) { display: none !important; } display: flex; flex-wrap: wrap; column-gap: var(--_hero-icon-row-gap); row-gap: 16px; bottom: 0; height: var(--_hero-icon-row-height); padding-inline: calc(50vw - 750px); padding-bottom: var(--_hero-icon-row-gap); @media only screen and (max-width: 480px) { height: auto; } & > * { padding: 0; width: 100%; max-width: 100%; flex: 1; &:hover { .icon-style-circle { background-color: var(--color-white); &:before { color: var(--color-brand-primary-600); } } } } .icon-style-circle { margin-bottom: 0; height: var(--_hero-icon-height); aspect-ratio: 1; transition: background-color 0.3s ease; &:before { font-size: 1.2em; transition: color 0.3s ease; } } h4 { text-transform: none; font-family: var(--font-body) !important; margin-bottom: 8px; text-shadow: 0 2px 4px rgba(0, 0, 0, 0.6); } p { font-family: var(--font-body) !important; margin-bottom: 0; text-shadow: 0 2px 4px rgba(0, 0, 0, 0.6); } } &.hero-short.travel-style-short > .hero-text { bottom: 60px !important; } &:after { height: 100%; width: 100%; --_stop: 70%; background-image: -webkit-gradient( linear, left bottom, right top, color-stop(0%, rgba(0, 0, 0, 0.85)), color-stop(var(--_stop), rgba(125, 185, 232, 0)), color-stop(100%, rgba(125, 185, 232, 0)) ); background-image: -moz-linear-gradient( 45deg, rgba(0, 0, 0, 0.85) 0%, rgba(125, 185, 232, 0) var(--_stop), rgba(125, 185, 232, 0) 100% ); background-image: -webkit-linear-gradient( 45deg, rgba(0, 0, 0, 0.85) 0%, rgba(125, 185, 232, 0) var(--_stop), rgba(125, 185, 232, 0) 100% ); background-image: linear-gradient( 45deg, rgba(0, 0, 0, 0.85) 0%, rgba(125, 185, 232, 0) var(--_stop), rgba(125, 185, 232, 0) 100% ); @media screen and (max-width: 1580px) { --_stop: 85%; } @media screen and (max-width: 1080px) { --_stop: 95%; } } .card-special-offer { background-color: var(--color-brand-citrus); color: var(--color-brand-charcoal-shade); font-family: var(--font-body); font-size: 18px; font-weight: bold; text-transform: none; border-radius: 8px 0 0 8px; padding: 4px 30px 4px 10px; height: auto; box-shadow: 2px 4px 6px rgba(0, 0, 0, 0.5); @media screen and (max-width: 1024px) { font-size: 16px; } &:hover { background-color: var(--color-brand-citrus-tint); } } &.hero-banner-search { .hero-text { h1 { max-width: 100% !important; } .lead { margin-bottom: 24px !important; } form { margin-inline: 0; } } } &:has(.hero-text > h1:only-child) { height: 340px !important; .hero-text { @media only screen and (max-width: 1480px) { h1 { font-size: 60px; } } @media only screen and (max-width: 1280px) { h1 { font-size: 60px; } } @media only screen and (max-width: 1080px) { h1 { font-size: 56px; } } @media only screen and (max-width: 800px) { h1 { font-size: 48px; } } } } &.hero-guide { h1 { margin-top: 60px; } h1, .lead { text-align: left; } .hero-search { margin-top: 80px; .hero-search-title { text-transform: none; margin-bottom: 10px; display: block; } input[type="text"] { font-size: 18px; color: var(--color-brand-charcoal-shade); text-transform: none; border-radius: 16px; font-weight: normal; font-family: var(--font-body); &::placeholder { color: var(--color-brand-charcoal-shade); } } label { top: 20px; } .suggestions { border-radius: 16px; top: 72px; .suggestion { transition: background-color 0.3s ease; &:hover { background-color: var(--color-brand-sandstone); } &:first-child { border-radius: 16px 16px 0 0; } img { border-radius: 8px; } p { padding-top: 4px; text-transform: none; font-family: var(--font-body); text-shadow: none; & > a { color: var(--color-brand-secondary); &:hover { color: var(--color-brand-secondary-400); } } } a.group-search { font-size: 12px; color: var(--color-brand-charcoal); text-transform: none; } } .button-link { background-color: var(--color-brand-secondary); color: var(--color-white); font-size: 16px; text-transform: none; padding: 8px 16px; transition: background-color 0.3s ease; &:hover { background-color: var(--color-brand-secondary-400); color: var(--color-white); } } #results > p { font-size: 18px; line-height: 1; color: var(--color-brand-charcoal); text-transform: none; padding: 16px 0; text-shadow: none; } } } @media screen and (max-width: 767px) { .container { padding-bottom: 0; } .hero-text-left { padding-inline: 20px; max-width: 100%; } h1, .lead { width: 100%; } .hero-search { padding: 0 20px; margin-top: 40px; } } } .kkSimpleSlide.hero-slider--ui .kkdotContainer { padding-left: calc(50vw - 760px); @media screen and (max-width: 1580px) { padding-left: var(--_hero-padding-inline); } .kkactive-dot { background-color: var(--color-brand-secondary); } } &.hero-blog { .hero-blog__info-item { font-size: 16px; line-height: 1.2em; text-transform: none; a { font-weight: bold; &:hover { text-decoration: underline; color: var(--color-brand-secondary-100); } } } .hero__scroll-icon { margin: 0 auto; } } .hero-bg .hero-bg-item { &.slow-zoom, &.slow-zoom-out { transition: none !important; -webkit-transition: none !important; transform: none !important; } } .hero-promo-ticket { @media screen and (max-width: 1580px) { right: var(--_hero-padding-inline); } @media screen and (max-width: 1279px) { top: var(--_hero-padding-inline); } } } .hero-promo-ticket { position: absolute; right: calc(50vw - 760px); top: 32px; z-index: 10; color: var(--color-white); --_bevel-size: 12px; --_border-radius: 20px; --_ticket-color: var(--color-brand-marigold); .hero-promo-ticket__top, .hero-promo-ticket__bottom { position: relative; background-color: var(--_ticket-color); border-radius: var(--_border-radius); padding: var(--_bevel-size) 12px; text-align: center; font-family: var(--font-sans); line-height: 1.2; box-shadow: 0 6px 7px -2px rgba(0, 0, 0, 0.4); transition: background-color 0.3s ease, box-shadow 0.3s ease; &:before { content: ""; position: absolute; left: 0; height: var(--_bevel-size); width: 100%; border: var(--_bevel-size) solid transparent; transition: border-color 0.3s ease; } } .hero-promo-ticket__top { font-size: 40px; border-bottom-right-radius: 0; border-bottom-left-radius: 0; padding-bottom: calc(var(--_bevel-size) / 2); &:before { bottom: calc(0px - var(--_bevel-size)); border-bottom: 0; border-top-color: var(--_ticket-color); } } .hero-promo-ticket__bottom { font-size: 20px; margin-top: calc(var(--_bevel-size) * 2); border-top-left-radius: 0; border-top-right-radius: 0; padding-top: calc(var(--_bevel-size) / 2); &:before { top: calc(0px - var(--_bevel-size)); border-top: 0; border-bottom-color: var(--_ticket-color); } &:after { content: ""; position: absolute; top: calc(-2px - var(--_bevel-size)); left: var(--_bevel-size); width: calc(100% - (2 * var(--_bevel-size))); border-top: 4px dotted white; } .hero-promo-ticket__bottom__content { display: grid; grid-template-columns: auto 1fr; height: 65px; } } .hero-promo-ticket__bottom__num { font-size: 71px; line-height: 74px; grid-row: span 2; align-self: center; } .hero-promo-ticket__bottom__perc { font-size: 36px; line-height: 30px; align-self: end; } @media screen and (max-width: 1279px) { display: flex; --_bevel-size: 8px; .hero-promo-ticket__top, .hero-promo-ticket__bottom { padding: var(--_bevel-size) 14px; &:before { width: var(--_bevel-size); height: 100%; top: 0; bottom: 0; border: var(--_bevel-size) solid transparent; } } .hero-promo-ticket__top { border-top-right-radius: 0; border-bottom-left-radius: var(--_border-radius); padding-right: calc(var(--_bevel-size) / 2); display: flex; align-items: center; width: 80px; line-height: 32px; font-size: 32px; &:before { right: calc(0px - var(--_bevel-size)); left: auto; border-right: 0; border-left-color: var(--_ticket-color); } } .hero-promo-ticket__bottom { border-bottom-left-radius: 0; border-top-right-radius: var(--_border-radius); margin: 0 0 0 calc(var(--_bevel-size) * 2); padding-left: calc(var(--_bevel-size) / 2); &:before { left: calc(0px - var(--_bevel-size)); right: auto; border-left: 0; border-right-color: var(--_ticket-color); } &:after { left: calc(-1px - var(--_bevel-size)); top: var(--_bevel-size); width: 0; height: calc(100% - (2 * var(--_bevel-size))); border-left: 2px dotted white; border-top: none; } .hero-promo-ticket__bottom__content { height: 62px; } } .hero-promo-ticket__bottom__num { font-size: 65px; line-height: 65px; align-self: center; } .hero-promo-ticket__bottom__perc { font-size: 29px; line-height: 25px; } } @media only screen and (max-width: 700px) { right: 24px; --_border-radius: 12px; .hero-promo-ticket__top { width: auto; line-height: 34px; font-size: 19px; border-top-left-radius: var(--_border-radius); padding-left: 8px; } .hero-promo-ticket__bottom { padding-block: 4px; font-size: 19px; line-height: 20px; border-bottom-right-radius: var(--_border-radius); display: flex; align-items: center; padding-right: 8px; .hero-promo-ticket__bottom__content { display: flex; align-items: center; height: 40px; } } .hero-promo-ticket__bottom__num { font-size: 40px; line-height: 20px; } .hero-promo-ticket__bottom__perc { font-size: 28px; line-height: 20px; margin-right: 4px; align-self: center; } } &:hover, &:focus { .hero-promo-ticket__top, .hero-promo-ticket__bottom { --_ticket-color: var(--btn-primary-hover-bg); color: var(--btn-primary-hover-text); box-shadow: 0 4px 3px -2px rgba(0, 0, 0, 0.3); } } } .mobile-front { --_mobile-hero-padding-block: 40px; padding: 170px 0 var(--_mobile-hero-padding-block); h1 { font-size: 36px; font-weight: 500; text-shadow: 0 2px 2px rgba(0, 0, 0, 0.8); margin-bottom: 18px; text-wrap: pretty; margin-inline: 24px; } .hero-promo-ticket { top: var(--_mobile-hero-padding-block); bottom: auto; right: 50vw; transform: translateX(50%); display: none; } .hero-promo-ticket__top { width: 68px; &:before { right: calc(1px - var(--_bevel-size)); } } .hero-promo-ticket__bottom { margin: 0 0 0 calc((var(--_bevel-size) * 2) - 2px); &:before { left: calc(1px - var(--_bevel-size)); } &:after { left: calc(0px - var(--_bevel-size)); } } } .tour { .hero { .hero-text { h1, h2, h3 { color: var(--color-white); text-transform: none; line-height: 0.85; margin-bottom: 0.25em; } h1 { font-size: 48px; line-height: 0.95; } h2, h3 { font-family: var(--font-body) !important; } h2 { margin-top: 12px; max-width: 80%; text-shadow: rgba(0, 0, 0, 0.6) 0px 2px 4px; } h3 { font-size: 24px; margin-top: 0; max-width: 80%; text-shadow: rgba(0, 0, 0, 0.6) 0px 2px 4px; } } .stars { color: var(--color-white); font-family: var(--font-body); margin-top: 12px; display: flex; gap: 4px; width: fit-content; align-items: center; .stars-rating, .stars-count { color: var(--color-white); font-family: var(--font-body); } .stars-count { a { text-decoration: underline; text-underline-offset: 2px; &:hover { text-decoration: none; color: var(--color-white-shade); } } } } } } /** ============================================ * MEDIA QUERIES - MAX-WIDTH (largest to smallest) * ============================================ */ @media only screen and (max-width: 1580px) { .hero-text-container, .hero-subpage .hero-text { padding-inline: var(--_hero-padding-inline); max-width: 100%; .hero-text { width: 100%; } } .hero > .hero-text, .hero.hero-short.travel-style-short > .hero-text { padding-inline: var(--_hero-padding-inline) !important; width: 100%; bottom: 40px !important; left: 0; right: 0; } .hero .hero-icon-row { padding-inline: calc(50vw - 720px); } } @media only screen and (max-width: 1540px) { .hero .hero-icon-row { padding-inline: var(--_hero-padding-inline); } } @media only screen and (min-width: 768px) and (max-width: 1520px) { .hero-subpage .hero-text-left.hero-text-long { max-width: 100%; } } @media only screen and (min-width: 1280px) and (max-width: 1439px) { .hero.hero-blog .hero-text.hero-text-left { bottom: auto !important; } } @media only screen and (max-width: 1480px) { .hero .hero-text { h1 { font-size: 3em; line-height: 54px; max-width: 80% !important; } p { max-width: 60% !important; font-size: 20px; } &.hero-text-transform { p { max-width: 80% !important; } } } /** DUPLICATE FOR LOWER SPECIFICITY */ .hero.hero-short.travel-style-short > .hero-text { h1 { font-size: 3em; line-height: 54px; max-width: 60% !important; } p { max-width: 60% !important; font-size: 20px; } } .tour { .hero { .hero-text { h1 { font-size: 44px; line-height: 0.95; max-width: 80%; } } } } .hero-blog { .hero-text { h1 { font-size: 64px !important; line-height: 68px !important; } } } } @media (min-width: 960px) and (max-width: 1309px) { .hero.hero-subpage-vid, .hero.hero-subpage { height: 590px; } } @media only screen and (max-width: 1280px) { .hero, .hero.hero-short.travel-style-short { .hero-text { figure { h1 { max-width: 100% !important; } p { max-width: 80% !important; } } h1 { max-width: 100% !important; font-size: 44px; } p { max-width: 80% !important; } } } .tour { .hero { .hero-text { h1 { font-size: 40px; } h2 { font-size: 32px; } } } } .hero-blog { .hero-text { top: auto !important; bottom: 90px !important; transform: none; h1 { font-size: 64px !important; } .hero-blog__info { margin-bottom: 0; } .hero-blog__info-item { padding-bottom: 16px; } } } } @media only screen and (max-width: 1080px) { .hero .hero-text, .hero.hero-short.travel-style-short > .hero-text { h1 { font-size: 40px; line-height: 42px; } p { font-size: var(--_min-a11y-font-size); } } .hero-blog { .hero-text { h1 { font-size: 60px !important; line-height: 58px !important; } } } } @media only screen and (max-width: 990px) { .hero { &.hero-banner-search { max-height: 80vh; } } } @media only screen and (max-width: 980px) { .hero { &.hero-destination .hero-text .button-link { margin-bottom: 0; } } } @media only screen and (max-width: 800px) { .hero.hero-subpage .hero-text, .hero.hero-short.travel-style-short > .hero-text { padding-left: 30px; } .hero-blog { .hero-text { h1 { font-size: 48px !important; line-height: 52px !important; } } } } @media screen and (max-width: 767px) { .hero-banner-search { .filter-search-form { margin-left: 0; } } } @media only screen and (max-width: 640px) { .hero .hero-text, .hero.hero-short.travel-style-short > .hero-text { h1, p, figure p { max-width: 100% !important; } } .hero-blog .hero-text { top: auto; bottom: 100px !important; transform: none; max-width: 100%; } } @media only screen and (min-width: 481px) and (max-width: 767px) { .hero-front.hero-front-zero, .hero-subpage { max-height: min(60svh, 540px); } .hero-front.hero-front-zero .hero-text, .hero-subpage .hero-text, .hero.hero-short.travel-style-short > .hero-text { bottom: 36px; width: auto; left: 0; padding-inline: 30px; } } @media only screen and (max-width: 480px) { .hero { &.hero-subpage { height: auto; padding-top: 60px; &:after { content: none; } &:has(.hero-icon-row *) { .hero-bg { &:before { content: ""; position: absolute; z-index: 1; width: 100%; height: 80%; bottom: 0; left: 0; background-image: -webkit-gradient( linear, 50% 100%, 50% 0%, color-stop(0%, rgba(0, 0, 0, 0.85)), color-stop(100%, rgba(125, 185, 232, 0)) ); } } } .hero-text { position: relative; &:before { content: ""; position: absolute; width: 100%; height: 80%; background-image: -webkit-gradient( linear, 50% 100%, 50% 0%, color-stop(0%, rgba(0, 0, 0, 0.85)), color-stop(100%, rgba(125, 185, 232, 0)) ); bottom: 0; left: 0; } &:has(+ .hero-icon-row *) { &:before { content: none; } } h1 { font-size: 36px !important; line-height: 36px !important; } } .filter-search-form { .filter-input-group { height: 40px; } } } &.hero-banner-search { max-height: none; } .hero-text { h2 { font-size: 24px; } } .hero-text-left, .hero-text-left-full { text-align: left; } .hero-destination { height: 700px; display: flex; } .hero-destination .hero-text { position: static; padding-top: 70px; } .hero-destination .hero-icon-row { position: absolute; } } .hero-blog { .hero-text { top: auto; h1 { font-size: 36px !important; line-height: 40px !important; } .hero-blog__info { padding: 0; } .hero-blog__info-item { margin: 0; } .button-social-share { margin-bottom: 0; } } } .hero.hero-subpage .hero-text, .hero.hero-short.travel-style-short > .hero-text { bottom: 0px !important; padding-bottom: 25px !important; } .modal .modal-body #next-highlight, .modal .modal-body #prev-highlight { top: 85%; } .modal .modal-header button { margin-top: 0px; margin-right: 0px; } #modalActivity .modal-header button { margin: 0px; } #modalActivity .modal-title span#activity-day { padding: 10px 0 0; } .blog-title { margin-top: 200px !important; } #additional-services { padding-bottom: 30px; } .tour { .hero { .hero-text { h2 { font-size: 24px; } } } } } @media only screen and (max-width: 400px) { .hero { &.hero-subpage { .hero-text { padding-inline: 16px !important; } } } } @media only screen and (max-height: 760px) { .hero-blog { .hero-text { h1 { font-size: 40px !important; line-height: 40px !important; } } } } /** ============================================ * MEDIA QUERIES - MIN-WIDTH (smallest to largest) * ============================================ */ @media only screen and (min-width: 768px) { .hero-subpage .hero-text { padding-bottom: 30px; } .hero-front, .hero-subpage:not(.hero-auto) { height: 760px !important; } } @media only screen and (min-width: 768px) and (max-width: 1279px) { .hero-front.hero-front-zero, .hero-subpage:not(.hero-auto):not(.hero-banner-search) { max-height: 420px; } } @media only screen and (min-width: 960px) { .hero { height: 700px; } .hero-front, .hero-subpage:not(.hero-auto) { height: 820px; } .hero-destination { height: 550px; } .hero.hero-subpage .hero-text, .hero.hero-subpage.hero-banner-search .hero-text { bottom: 20%; } .hero.hero-destination .hero-text { bottom: 30%; } } @media only screen and (min-width: 992px) { .hero-front, .hero-subpage:not(.hero-auto) { height: 710px !important; } .hero-front { .hero-text-container { bottom: 40px; } } .hero-subpage .hero-text { padding-bottom: 40px; } .hero-blog { .hero-text { .hero-blog__info { padding-top: 0; padding-bottom: 10px; } } } } @media only screen and (min-width: 1140px) { .hero-front, .hero-subpage:not(.hero-auto) { height: 700px !important; } .hero .hero-text-left { bottom: 10%; max-width: 100%; } } @media only screen and (min-width: 1280px) { .hero-front, .hero-subpage:not(.hero-auto) { max-height: 450px; } .hero-front, .hero-subpage:not(.hero-auto) { height: 680px !important; } } @media only screen and (min-width: 1310px) { .hero { height: 500px; } .hero-front, .hero-subpage:not(.hero-auto) { height: 820px; } .hero-destination { height: 650px; } .hero.hero-destination .hero-text { bottom: 30%; } .hero.hero-subpage.hero-banner-search .hero-text { bottom: 25%; padding-right: 10%; } } @media only screen and (min-width: 1440px) { .hero-front.hero-front-zero, .hero-subpage:not(.hero-auto) { max-height: 500px; } } @media only screen and (min-width: 1480px) { .hero-front, .hero-subpage:not(.hero-auto) { height: 720px !important; } .hero .hero-text { h1 { font-size: 64px; line-height: 68px; max-width: 60%; } } .tour { .hero { .hero-text { h1 { max-width: 80%; } } } } } @media only screen and (min-width: 1520px) { .hero, .hero.hero-subpage.hero-banner-search { height: 600px; } .hero-front, .hero-subpage:not(.hero-auto) { height: 940px; } } @media only screen and (min-width: 1680px) { .hero-front { min-height: 760px; } .hero-front .hero-text-container { bottom: 36px; } .hero-subpage .hero-text { padding-bottom: 60px; } .hero .hero-text figure { h1 { font-size: 68px; line-height: 62px; max-width: 50%; } p { font-size: 22px; } } } @media only screen and (min-width: 1900px) { .hero { height: 700px; } .hero-short { height: 510px; } .hero-front, .hero-subpage:not(.hero-auto) { height: 940px; } .hero.hero-subpage.hero-banner-search { height: 600px; } } .box-chat-right { p.ctry, p.ph { letter-spacing: 0; line-height: 23px; margin-bottom: 1px; padding: 0; text-align: left; } ul { padding-left: 1px; margin-bottom: 1px; } li { display: inline-block; width: 32%; margin-bottom: 20px; @media (max-width: 1200px) { width: 49%; } } p.ctry { font-weight: 700; } p.ph { font-weight: 100; } } .kkSimpleSlide { &.full { padding: 0; height: 100%; } &.hero-slider--ui { .right::before { content: "\f105"; } .left::before { content: "\f104"; } } } .kkSimpleSlideContainer { overflow: hidden; height: 100%; } a.anchor { display: block; position: relative; top: -300px; visibility: hidden; } .package-headline + p { display: inline; margin-left: 10px; color: var(--color-brand-charcoal-tint); } .sp-small p { color: var(--color-neutral-750); } .logo-saf { background-image: url(https://www.nordicvisitor.com/files/saf-logo.svg); } .main-header.sticktop { z-index: 32; } .section-booking-progress .tour-email-button { @media only screen and (max-width: 992px) { margin-bottom: 0; } } .cc-revoke.cc-left { @media screen and (max-width: 480px) { display: none; } } .terms .accordion h2, .terms-modal h3 { line-height: 1.2em; margin-bottom: 10px; } .terms { ol, ul { color: var(--color-brand-dark); font-size: 18px; padding-left: 30px; } .accordion h2, p { font-size: 17px; } .lead { font-size: var(--_min-a11y-font-size); margin-bottom: 0; padding-bottom: 0; } .accordion .panel-group .panel-collapse .panel-body { padding-left: 25px; } .accordion .panel-body li { color: var(--color-brand-dark); font-size: 17px; padding-left: 15px; list-style: inherit; overflow: unset; } .accordion li { padding: 0; cursor: auto; } .table-responsive { margin-left: 20px; } table thead tr { background-color: var(--color-neutral-150); th { color: var(--color-brand-dark); border: 1px solid var(--color-neutral-400); letter-spacing: 0.5px; text-transform: none; } } } .terms-modal { .table-responsive { margin-left: 20px; } .panel-body { padding: 0 30px 10px; } .panel-body-last { padding: 0 30px 60px; } h2 { font-size: 20px; margin-top: 35px; } h3 { margin-top: 0; font-size: 16px; } p { margin-bottom: 20px; } ol, p, ul { font-size: 15px; color: var(--color-brand-dark); font-family: var(--font-sans); } table thead tr th { text-align: center; color: var(--color-brand-dark); border: 1px solid var(--color-neutral-680); letter-spacing: 0.5px; } table tr td { border: 1px solid var(--color-neutral-680); background-color: var(--color-neutral-200); } table thead tr { background-color: var(--color-neutral-240); } } .TWC .headline-section, section .guidelines { text-transform: none; } .quote-box { background-color: var(--color-white); border-radius: 16px; box-shadow: 0 4px 7px rgba(0, 0, 0, 0.2); display: inline-block; margin-bottom: 20px; } .quote-right { float: right; } .quote-left { margin-right: 70px; } .TWC-TA { display: block; width: 100%; max-width: 200px; margin: 80px auto 10px; } .review-link { float: right; margin: 5px 20px 15px 10px; } .blockquote--large { color: var(--color-brand-primary-600); padding-left: 72px; &::before { font-size: 120px; font-weight: 700; font-style: italic; line-height: 130px; color: var(--color-brand-primary-200); position: absolute; left: 0; top: 0; font-family: var(--font-serif); font-size: 120px; } } .image-content { & + .blockquote--large { margin-top: 32px; } } .blockquote--mid-large { font-size: 24px; line-height: 30px; padding: 36px; background-image: none; color: var(--color-brand-charcoal); margin-bottom: 0; font-style: normal; em { font-style: normal; &:last-child:not(:only-child) { font-style: italic; font-weight: bold; font-size: 20px; } } &::before { margin-left: -30px; content: "\201C"; font-size: 96px; font-weight: 700; font-style: italic; line-height: 94px; color: var(--color-brand-red); position: absolute; left: 0; top: 0; } } .col-decor h3 { margin-top: 0; } .numberCircle { border-radius: 50%; width: 33px; height: 33px; padding: 8px; border: 2px solid var(--color-brand-primary); color: var(--color-brand-primary); font-size: 22px; line-height: 9px; margin: 0 auto 10px; font-weight: 500; } .space-box { min-height: 220px; padding: 20px 10px; background-color: var(--color-brand-primary) 12; margin: 5px; border-radius: 4px; border: 2px solid var(--color-brand-primary); } .gift, textarea { padding: 10px; } .guidelines a { display: block; color: var(--color-white); background-color: var(--color-brand-green); padding: 20px 10px; margin: 10px; border-radius: 4px; &:hover { background-color: var(--color-green-pastel); } } .TWCFAQ { max-width: inherit; h3 { text-align: left; color: var(--color-brand-dark); } .accordion h2 { text-transform: none; font-size: 0.8em; } .accordion .panel { border-bottom: 0; text-align: left; font-size: 1em; } .panel-body p { font-size: 1.05em !important; } & > p { margin-bottom: 24px !important; } } .TWC-card { justify-content: center; display: flex; flex-wrap: wrap; float: none; .card__horizontal { border: 1px solid var(--color-neutral-450); box-shadow: 0 6px 10px rgba(0, 0, 0, 0.1); background-color: var(--color-white); } .card__horizontal-title { padding: 50px 30px; } .card-result > div { display: table-cell; padding: 70px 30px; } .card-result h1 { text-transform: none; font-size: 1.1em; line-height: 1.2em; } .card-result p { font-size: 1em; } } @media only screen and (max-width: 990px) { .quote-left { margin-right: 33px; } .quote-right { margin-left: 33px; } .blockquote--mid-large { font-size: var(--_min-a11y-font-size); line-height: 25px; padding-left: 40px; &::before { margin-left: -20px; } } .review-link { font-size: 0.9em; } .TWC-TA { margin-top: 10px; margin-bottom: 10px; } .TWC-card .card__horizontal-title { padding: 10px; } .TWC-card .card-result h1 { font-size: 1em; line-height: 1.2em; } } @media only screen and (min-width: 991px) { .TWC-card .card__horizontal .card-img { width: 400px; } } .TWC .info-blocks .info-block { padding: 20px; } .notify-strip { .container { margin-top: 20px; margin-bottom: 10px; } .sec-color-white { border-top: 1px solid var(--color-neutral-300); background-color: #fafafa; } } .filter-search-form { border-radius: 16px; .filter-input-group { height: 48px; padding: 0 12px; width: 290px; border-radius: 12px; &:active, &:hover { border: 1px solid #9d9fa0; } .filter-placeholder { font-size: 14px; margin: 0 0 0 12px; font-family: var(--font-body); } label { font-family: var(--font-body); font-size: 0.57em; top: 6px; left: 45px; } .filter-text-value { font-family: var(--font-body); margin: 12px 0 0 15px; font-size: 0.74em; font-weight: 500; } } .input-checkbox label, .input-radio label { font-family: var(--font-body); color: var(--color-brand-dark); border: 1px solid #dfdfdf; margin: 2px 0; font-size: 0.7666em; cursor: pointer; } .input-radio label { height: 50px; } button[type="submit"] { font-family: var(--font-body); height: 40px; margin: 4px 10px 0 20px; font-size: var(--_min-a11y-font-size); font-weight: bold; line-height: 1; text-transform: none; background-color: var(--color-brand-marigold); color: var(--color-white); transition: background-color 0.3s ease; &:hover { background-color: var(--color-brand-marigold-shade); } } .filter-input-dropdown { border-radius: 8px; font-family: var(--font-body); padding: 15px; box-shadow: 0 7px 8px rgba(0, 0, 0, 0.4); width: 325px; } .input-checkbox input[type="checkbox"]:checked + label, .input-radio input[type="radio"]:checked + label { font-family: var(--font-body); border: 1px solid var(--color-brand-green); } .input-checkbox label { font-family: var(--font-body); height: 45px; padding: 7px 5px; } .input-checkbox label:hover, .input-radio label:hover { color: var(--color-brand-dark); border: 1px solid var(--color-brand-secondary); } .input-checkbox input[type="checkbox"] + label:before { width: 17px; height: 17px; border-radius: 10px; } .input-checkbox input[type="checkbox"]:checked + label:after { top: 8px; left: 10px; } .filter-nav { font-family: var(--font-body); } } @media (max-width: 480px) { .filter-search-form .filter-input-group { width: 260px; } .filter-search-form button { margin: 15px 0 0; } } @media (max-width: 767px) { .cx-contact { padding-bottom: 45px; } .cx-contact p { font-size: 0.9em; } .filter-search-form .input-checkbox input[type="checkbox"] + label:after, .filter-search-form .input-checkbox input[type="checkbox"] + label:before { display: inline-block; } input[type="checkbox"] + label { text-align: initial; } } @media only screen and (min-width: 900px) { .filter-search-form .filter-input-group { width: 230px; } } @media only screen and (min-width: 1125px) { .filter-search-form .filter-input-group { width: 250px; } } @media only screen and (min-width: 1250px) { .filter-search-form .filter-input-group { width: 290px; } } @media (max-width: 990px) { .filter-search-form { display: flex; flex-wrap: wrap; max-width: 400px; gap: 8px; .filter-input-container, .filter-input-group { width: 100%; } button { width: 100%; margin-top: 15px; } & > div + div { margin-left: 0; margin-top: 5px; } } } input[type="number"] { border: 1px solid var(--color-neutral-520); height: 36px; font-size: 0.61111111em; -moz-border-radius: 4px; -webkit-border-radius: 4px; border-radius: 4px; width: 100%; padding: 0 17px 0 8px; line-height: 36px; background-color: var(--color-neutral-100); margin-bottom: 20px; font-weight: 700; &::placeholder { color: var(--color-neutral-700); } &:focus { border-color: var(--color-neutral-700); box-shadow: 0 0 5px rgba(0, 0, 0, 0.1); outline: 0; } &:required + label::after { content: "*"; } } textarea { line-height: inherit; } .lmtd { color: var(--color-brand-primary-700); padding: 4px 10px; border: 1px solid var(--color-brand-primary-700); border-radius: 5px; font-size: 0.5em; } .alert-danger { background-color: var(--color-brand-red) de; border-color: var(--color-brand-red); color: var(--color-white); font-weight: 700; } input[type="checkbox"] { &:disabled + label { &:before { background-color: rgba(59, 59, 59, 0.3); border-color: rgba(118, 118, 118, 0.3); } &:after { content: "\2713"; color: #efefef; } } } .footer-headline { margin: 0; font-family: var(--font-body); color: var(--color-neutral-750); font-weight: 400; text-transform: none; text-align: left; display: block; font-size: 0.77777778em; line-height: 1.71428571em; } @media (max-width: 992px) { .fh-links { display: none; } .getintouch, .licenses { text-align: center; } } .footer-headline-dropdown { font-family: var(--font-sans); text-transform: uppercase; font-weight: 700; color: var(--color-brand-dark); font-size: 1em; line-height: 0.4em; display: block; text-align: left; margin: 0; } .getintouch { font-size: 1em; } .destinations { text-align: center; } .footer-social .twitter-x-social { height: 21px; width: 24px; background-size: contain; background-position: center; background-repeat: no-repeat; position: relative; pointer-events: none; } .blog__share-icons .twitter-x-social { height: 28px; width: 28px; background-size: contain; background-position: center; background-repeat: no-repeat; position: relative; pointer-events: none; } .info-blocks .info-block.block-dark-blue .inner-container a .twitter-x-social { height: 34px; width: 40px; background-size: contain; background-position: center; background-repeat: no-repeat; position: relative; pointer-events: none; } .card .card-front .card-title.long, .card .card-front.long-content .card-title { font-size: 1.25em; } .section-right-image { .container-image { visibility: hidden; height: 100%; &.container-links { visibility: visible; padding: 0px; } } } .subnav-container { &.destinations-dropdown { left: -230px !important; padding-top: 0 !important; width: 610px !important; } &.destinations-dropdown ul { flex: 1 1 auto !important; } .heading { font-size: 0.88888889em; &:before { display: none; } } li.new:after { font-size: 0.88888889em; line-height: 0.88888889em; } li.multi:after { font-size: 0.88888889em; line-height: 0.88888889em; } } .subnav-container .featured, .panel-body .featured { background-color: #ebeced; border-radius: 0 !important; margin: -10px 0 -10px 0; padding: 10px 0 10px 0 !important; } .panel-body .featured { margin: auto -20px 10px -20px !important; padding: 10px 20px !important; } .subnav-container .heading, .panel-body .heading { color: var(--color-neutral-750); pointer-events: none; } .subnav-container .featured .heading:after, .panel-body .featured .heading:after { content: url('data:image/svg+xml,'); padding-left: 10px; } .subnav-container li.new a, .panel-body li.new a, .subnav-container li.multi a, .panel-body li.multi a { display: inline !important; } .subnav-container li.new:after, .panel-body li.new:after { background-color: var(--color-brand-red); border-radius: 4px; color: var(--color-white); content: "New!"; margin-left: 6px; padding: 2px 4px; } .panel-body li.new:after { margin-left: 12px; } .subnav-container li.multi:after, .panel-body li.multi:after { background-color: var(--color-brand-primary); border-radius: 4px; color: var(--color-white); content: "Multi"; margin-left: 6px; padding: 2px 4px; } .panel-body li.multi:after { margin-left: 12px; } .card-tour.has-discount .stars + h5 + h4 + .levels { padding-bottom: 25px; } .latestblog { color: var(--color-neutral-750) !important; font-size: 16px !important; margin-left: 0px !important; } @media (max-width: 992px) { .latestblog { text-align: center; } } .left-info-x ul { color: var(--color-brand-dark) !important; } .left-info-x ul a:hover { color: var(--color-blue-pastel); } .promotions-b .text h2 { font-size: 2em; font-family: var(--font-sans); padding-top: 60px; text-transform: uppercase; } .row-dual h2 { color: var(--color-white); font-family: var(--font-sans); text-transform: uppercase; font-size: 1.66666667em; text-align: center; line-height: 1.04em; font-weight: 500; margin-bottom: 30px; } .row-dual-70-front h2 { text-align: left; } .row-dual-green p { color: var(--color-neutral-100); } .row-dual-green .checklist li { color: var(--color-neutral-100); } .card-info h3 { font-size: 1em; line-height: 1.06666667em; margin-bottom: 12.5px; } .search-results .related-categories .related-title { font-family: var(--font-sans); text-transform: uppercase; font-size: 1em; margin-bottom: 12.5px; font-weight: 500; line-height: 1em; } .contact-strip-b > p.lead { color: var(--color-white); } .links-leads-lists { text-align: center; font-size: 22px; a { display: block; margin-bottom: 15px; } } .blog-feed h2 { font-weight: 700; line-height: 1.06666667em; } .blog__category-header h2 { font-size: 48px; margin-top: 40px; line-height: 48px; font-weight: 500; } .button-filter.clear:hover { color: var(--color-white); } .blog-feed-item .blog-feed__paragraph::after { height: 100px; background: -webkit-linear-gradient( top, rgba(255, 255, 255, 0), rgba(252, 250, 250, 1) ); background: -moz-linear-gradient( top, rgba(255, 255, 255, 0), rgba(252, 250, 250, 1) ); } .checkbox-list .head::after { content: ""; width: 20px; height: 1px; border-bottom: 1px solid var(--color-brand-green); position: absolute; bottom: 0; left: 0; } /* Show desktop close button on larger screens */ .desktop-close { display: inline; } /* Hide mobile close button on larger screens */ .mobile-close { display: none; } /** MODAL STYLES */ .modal { --_header-height: 70px; --_footer-height: 76px; --_form-padding-block: 20px; @media screen and (max-width: 800px) { --_form-padding-block: 10px; --_header-height: 66px; } z-index: 888888888; &.modal-activities-detail { .modal-body { & > section { border-radius: 16px; } } .container-section { gap: 0; } .link-more.link-more-bigger { font-family: var(--font-body); font-size: 18px; font-weight: 500; line-height: 1.2; text-transform: none; color: var(--color-brand-secondary); text-decoration: none; text-underline-offset: 2px; margin-bottom: 0 !important; transition: color 0.3s ease; &:hover { color: var(--color-brand-secondary-400); } } } &.modal-request, &.modal-search { .modal-header { & > div { width: 100%; } div:has(> .modal-title) { @media screen and (max-width: 1580px) { display: flex; gap: 16px; justify-content: space-between; .modal-title { flex-shrink: 1; overflow: hidden; text-wrap: nowrap; text-overflow: ellipsis; } } @media screen and (max-width: 991px) { padding-inline: 0 !important; } } @media screen and (max-width: 991px) { & > .row { margin-inline: 0; } } padding: 0 30px; display: flex; align-items: center; } .modal-title { &:empty { display: none; } @media screen and (max-width: 800px) { font-size: 1em !important; } } .button-submit { background-color: var(--color-brand-primary-400); color: var(--color-brand-primary-800); &:hover { background-color: var(--color-brand-primary); color: var(--color-brand-primary-800); } } } h1, h2, h3 { color: var(--color-brand-secondary); &.modal-title-large { margin-bottom: 16px; } } input[type="text"], input[type="email"], input[type="tel"], textarea, select { font-size: 18px; color: var(--color-brand-charcoal); background-color: var(--color-white); border: 1px solid var(--color-brand-sandstone-shade); border-radius: 16px; padding: 24px 20px; margin-bottom: 16px; width: 100%; font-family: var(--font-body); font-weight: normal; transition: background-color 0.3s ease; &::placeholder { text-transform: none; font-size: 14px; font-family: var(--font-body); font-weight: normal; line-height: 1.2; color: var(--color-brand-granite-shade); } &:focus { background-color: var(--color-white); box-shadow: none; outline: none; } } textarea { min-height: 180px; padding-block: 16px; } select { padding-block: 13px; } input[type="submit"] { font-size: var(--_min-a11y-font-size); line-height: 1; color: var(--color-brand-primary-800); background-color: var(--color-brand-primary-400); border-radius: 30px; padding: 16px 22px; font-weight: 600; font-family: var(--font-body); font-weight: bold; text-transform: capitalize; transition: background-color 0.3s ease; &:hover { background-color: var(--color-brand-primary); color: var(--color-brand-primary-800); } } .modal-dialog { &.modal-sm { .modal-content { max-width: 100%; .close { margin-right: 0; } } } .modal-content { background-color: var(--color-brand-sandstone); border: 1px solid var(--color-brand-sandstone-shade); border-radius: 16px; padding-bottom: 0; max-height: 90vh; box-shadow: 0 4px 7px rgba(0, 0, 0, 0.2); &:has(form) { .modal-header { padding-inline: 16px; padding-bottom: 10px; } .modal-body { padding: 24px 15px; max-height: calc( 90vh - (var(--_form-padding-block) * 2) - var(--_header-height) ) !important; &:has(+ .modal-footer) { max-height: calc( 90vh - (var(--_form-padding-block) * 2) - var(--_header-height) - var(--_footer-height) ) !important; } } form { padding-block: var(--_form-padding-block); max-height: 90vh; @media screen and (max-width: 800px) { padding-inline: 20px; } } } .modal-header { padding-inline: 30px; height: var(--_header-height); border-bottom: 1px solid var(--color-brand-sandstone-shade); .modal-title { font-family: var(--font-sans); color: var(--color-brand-secondary); display: inline; line-height: 40px; font-size: 32px; &:has(#modal-tour-name) { font-size: 24px; } strong { font-weight: 500; } & + span { float: none; clear: none; line-height: 40px; @media screen and (min-width: 1581px) { margin-left: 16px; } @media screen and (max-width: 1024px) { display: none; } } } } .modal-body { padding: 24px 30px; overscroll-behavior: contain; max-height: calc(90vh - var(--_header-height)) !important; &:has(+ .modal-footer) { max-height: calc( 90vh - var(--_header-height) - var(--_footer-height) ) !important; } #generic-content { & > h1, & > h2, & > h3, & > h4, & > h5, & > h6 { &:first-child { margin-top: 0; } color: var(--color-brand-secondary); & > span { color: var(--color-brand-secondary) !important; } } h1, h2 { font-weight: 500; } } .share-tour h2, h3 { text-transform: none; font-family: var(--font-body) !important; font-size: 24px; font-weight: 500; line-height: 1.2; color: var(--color-brand-secondary); margin-bottom: 16px; } .choice { & > label { font-family: var(--font-body); font-size: 14px; font-weight: 500; line-height: 1.2; text-transform: none; color: var(--color-brand-secondary); & > span { display: none; } } & + .choice { &:after { content: none; } } } .list li { a { padding: 3px 0; text-transform: none; font-weight: 500; font-family: var(--font-body); font-size: 14px; border-radius: 8px; transition: background-color 0.3s ease; &:hover { color: var(--color-brand-secondary); } } &.active { a { color: var(--color-brand-secondary); } } @media screen and (max-width: 800px) { a { padding: 3px 8px; background-color: var(--color-brand-sandstone-shade); color: var(--color-brand-charcoal-shade); &:hover { background-color: var(--color-brand-sandstone); color: var(--color-brand-charcoal-shade); } } &.active { a { background-color: var(--color-brand-secondary); color: var(--color-white) !important; } } } } #hotels-content { @media screen and (max-width: 800px) { margin-top: 16px; } } .round-icon, .button-morph, .lSAction > .lSPrev, .lSAction > .lSNext { background-color: var(--color-brand-sandstone-shade) !important; color: var(--color-brand-dark) !important; transition: background-color 0.3s ease, color 0.3s ease; &:hover { background-color: var(--color-brand-charcoal-tint) !important; color: var(--color-white) !important; font-size: var(--_min-a11y-font-size); line-height: 1; } } .button-morph { width: auto; height: 40px; padding-block: 0; display: flex; align-items: center; justify-content: center; gap: 8px; &:hover { padding: 0 22px; height: 40px; span { &:before { top: 0; margin-left: 0; } } } } #accommodation-content { .modal-image { img { border-radius: 16px; } .title { font-family: var(--font-body) !important; border-radius: 0 0 16px 16px; } } } } .modal-highlight-details { .head { font-family: var(--font-body); font-size: 1em; font-weight: 500; line-height: 1.6em; margin-top: 0; margin-bottom: 20px; position: relative; &:after { content: none; } } .checkbox-list { &:not(:has(.checkbox-list-horizontal)) { display: grid; grid-template-columns: repeat(auto-fit, minmax(160px, 1fr)); &#modal-travel-style { grid-template-columns: repeat(auto-fit, minmax(200px, 1fr)); } .head { grid-column: 1 / -1; } } } input[type="checkbox"], input[type="radio"] { & + label { font-size: 14px; text-transform: none; line-height: 1.6; text-transform: none; font-weight: normal; font-family: var(--font-body); .info-tooltip { margin-left: 2px; margin-top: 3px; } } &:checked + label { color: var(--color-brand-secondary); &:before { color: var(--color-brand-secondary); border-color: var(--color-brand-secondary-600); } &:after { top: 4px; } } } #next-highlight, #prev-highlight { bottom: auto !important; top: 45% !important; } img { border-radius: 16px; } @media (max-width: 800px) { padding-bottom: 70px; #next-highlight, #prev-highlight { position: fixed; bottom: 30px !important; top: auto !important; } #next-highlight { right: 16px; } #prev-highlight { left: 16px; } } @media (max-width: 640px) { #next-highlight { right: 16px; } #prev-highlight { left: 16px; } } } .modal-footer { height: var(--_footer-height); border-top: 1px solid var(--color-brand-sandstone-shade); .button-link { .counter-dark { color: var(--color-white); font-family: var(--font-body); font-size: 1em; line-height: 1; } } } } @media (max-width: 1540px) { width: auto; max-width: 90vw; margin: 30px 5vw !important; } @media (max-width: 800px) { max-width: calc(100% - 60px); width: calc(100% - 60px); margin: 30px !important; height: 90vh; max-height: 90vh; min-height: 0; .modal-content { .modal-header { & > .row { & > div { padding-inline: 0; } } .modal-title { font-size: 24px; } } } } @media (max-width: 640px) { width: calc(100% - 40px); max-width: calc(100% - 40px); margin: 20px !important; .modal-content { .modal-body { &.modal-highlight-details { .head { margin-bottom: 10px; } .checkbox-list { padding-inline: 4px; .checkbox-list-horizontal { &:last-child { margin-bottom: 0; } } } } } } } } &.modal-optional-activies { .modal-header { .row { .col-md-1 { display: none; } } } .modal-body { .container-section { padding: 12px 0; gap: 12px; .headline-section { padding: 24px 0 0; font-size: 24px; line-height: 24px; font-weight: bold; font-family: var(--font-body) !important; } .row:first-child { .headline-section { padding-top: 0; } } } .mobile-horizontal-container { margin-top: 0; .mobile-horizontal-row { display: grid; grid-template-columns: repeat(auto-fill, minmax(340px, 1fr)); gap: 24px; margin-inline: 0; padding: 12px 6px; @media screen and (min-width: 1025px) { &:before, &:after { content: none; } & > div { width: 100% !important; max-width: 100% !important; padding-inline: 0 !important; &:before, &:after { content: none; } } } @media screen and (max-width: 1200px) { margin-inline: 0; padding-inline: 36px; } @media screen and (max-width: 1024px) { display: block; margin-inline: -30px; padding: 12px; & > div { width: 340px !important; } } @media screen and (min-width: 540px) and (max-width: 800px) { & > * { width: 340px !important; } } } } @media screen and (max-width: 1024px) { padding: 24px 0 !important; .row, .mobile-horizontal-container { padding-inline: 60px; } } } } .modal-header { button { background-color: var(--color-brand-secondary); color: var(--color-white); border: none; border-radius: 30px; padding: 12px 24px; max-height: 40px; font-size: 14px; font-weight: bold; text-transform: none; line-height: 1; transition: background-color 0.3s ease; &:hover { background-color: var(--color-brand-secondary-400); color: var(--color-white); } } } } .alert-msg { text-transform: none; font-weight: 500; font-size: 14px; line-height: 1.5em; padding: 8px 10px 8px 20px; &.alert-top:after { bottom: -4px; } } .article-catchy-line { font-family: var(--font-sans); text-transform: uppercase; font-size: 0.88888889em !important; margin-bottom: 0px; margin-top: 25px; line-height: 1.5em; font-weight: 500; } @media (max-width: 480px) { .promotions h2 + p, .promotions .price + p, .promotions .package-headline + p, .promotions .booking-form-request + p, .promotions .blog__tags + p { display: none; } .row-dual h2 { font-size: 0.88888889em; line-height: 1.5em; margin-bottom: 15px; text-align: center; } .card-info h3 { padding: 0; margin-top: 0; font-size: 0.77777778em; line-height: 1.37142857em; } .card-front h4.sub-name { font-size: 14px; } .modal-select-tour .modal-header { text-align: left; .button-link { padding: 8px; float: right; font-size: 20px; } } .desktop-close { display: none; } /* Show mobile close button on smaller screens */ .mobile-close { display: block; } } /** DESTINATIONS SECTION */ .destination-boxes { & + .destination-boxes { margin-top: 0; } .destination-box { border-radius: 16px; overflow: visible; height: 190px; box-shadow: 0 6px 4px -2px rgba(0, 0, 0, 0.25); transition: box-shadow 0.2s ease-in-out; &:hover { box-shadow: 0 4px 4px -2px rgba(0, 0, 0, 0.25); .destination-box-image { opacity: 0.8; } } .destination-box-image { position: static; border-radius: 16px 16px 0 0; overflow: hidden; transition: opacity 0.2s ease-in-out; @media screen and (max-width: 767px) { aspect-ratio: 3 / 1; } } .destination-box-title { position: static; font-family: var(--font-body); border-radius: 0 0 16px 16px; overflow: hidden; text-transform: none; } .destination-box-label { left: 50%; top: -15px; background: var(--color-brand-sea-blue); font-family: var(--font-body); font-size: 12px; font-weight: bold; border-radius: 30px; transform: translate(-50%); width: max-content; text-transform: none; } } @media screen and (max-width: 767px) { gap: 16px; .destination-box { height: auto; .destination-box-image { aspect-ratio: 3 / 1; } .destination-box-title { height: 40px; } .destination-box-label { top: -6px; padding: 0px 8px; height: 24px; line-height: 24px; } } } @media screen and (max-width: 460px) { & > * { width: 100%; .destination-box-image { aspect-ratio: 3 / 1; } .destination-box-title { height: 48px; } } } } /** COLLAGE SECTION */ .collage { max-width: 1500px; display: grid; gap: 24px; grid-template-columns: repeat(4, 1fr); padding-bottom: var(--_section-padding-block); padding-inline: var(--_section-padding-inline); .collage-bg { transform: none !important; } & > div, & > figure { float: none; width: auto; background: var(--color-brand-granite-tint); border-radius: 16px; &:hover { .collage-bg { transform: none !important; } &:has(.collage-list) { opacity: 1; .collage-bg { opacity: 0.7; } } } } .collage-main { background: var(--color-brand-charcoal); } .collage-double { grid-column: span 2; .collage-link { margin-left: auto; width: max-content; } } .collage-link { font-family: var(--font-body); font-size: var(--_min-a11y-font-size); text-transform: none; font-weight: bold; padding: 13px 15px; line-height: 1; border-radius: 30px; background-color: var(--color-brand-marigold); color: var(--color-white); text-shadow: none; text-transform: none; transition: background-color 0.3s ease; &:has(> i) { padding-right: 9px; } &:hover { background-color: var(--color-brand-marigold-shade); } } &.collage-w-text { .collage-text-box { display: flex; flex-wrap: wrap; gap: 16px; align-items: flex-end; justify-content: flex-end; margin: 0; padding: 24px; background-image: linear-gradient(to top, black, transparent); background-repeat: no-repeat; transition: background-position 0.3s ease; a:has(h3) { flex: 1; align-self: flex-start; @media screen and (max-width: 1280px) { flex: 0 0 100%; } } &:not(:has(.collage-link)) { flex-direction: column; align-items: flex-start; gap: 0; h3 { margin-left: 0; } } h3 { margin-top: 0; font-family: var(--font-body) !important; text-transform: none; font-weight: bold; font-size: 32px; line-height: 1.05; text-shadow: 0 2px 2px rgba(0, 0, 0, 0.25); color: var(--color-white); margin-bottom: 8px; @media screen and (max-width: 1280px) { font-size: 24px; } } p { font-family: var(--font-serif); font-size: 20px; font-weight: 300; line-height: 1.2; text-shadow: 0 2px 2px rgba(0, 0, 0, 0.25); margin-bottom: 0; text-wrap: pretty; @media screen and (max-width: 1280px) { font-size: 18px; } } @media screen and (max-width: 800px) { padding: 20px 14px 24px 16px; } } .collage-quarter { .collage-text-box { flex-direction: column; } } & > * { &:hover { .collage-text-box { background-position: center 20px; } } } } .collage-text { top: 0; h3, .collage-list li a { font-family: var(--font-body) !important; text-transform: none; text-shadow: 0 2px 2px rgba(0, 0, 0, 0.3); } .collage-list li a { font-size: 14px; } .button-link { position: static; background-color: var(--color-white); color: var(--color-brand-secondary); font-size: 16px; padding: 9px 20px; margin: 12px auto 20px; transform: none; max-width: 130px; transition: background-color 0.3s ease; &:hover { background-color: rgba(255, 255, 255, 0.8); color: var(--color-brand-secondary); } } } .collage-single, .collage-double, .collage-triple { width: 100%; border-radius: 16px; } .collage-triple { grid-column: span 2; } .more-images { p { font-family: var(--font-body); text-transform: none; } } &#tour-gallery { @media screen and (max-width: 980px) { gap: 16px; .collage-single, .collage-double, .collage-triple { grid-column: span 1; } } @media screen and (max-width: 640px) { .collage-single, .collage-double, .collage-triple { height: 180px; } } } @media screen and (min-width: 980px) and (max-width: 1540px) { &:has(> .collage-quarter) { &:not(:has(> .collage-half)) { .collage-quarter { grid-column: span 2; height: 313px; } } } } @media screen and (max-width: 991px) { .collage-main:has(.collage-list) { height: auto; } } @media screen and (max-width: 980px) { grid-template-columns: repeat(2, 1fr); .collage-double:not(.collage-last):not(:first-child) { grid-column: span 1; } & > :nth-child(3n + 1) { grid-column: span 2; } } @media screen and (max-width: 800px) { img { width: 100% !important; object-fit: cover; } } @media screen and (max-width: 767px) { grid-template-columns: repeat(auto-fit, minmax(320px, 1fr)); row-gap: 16px; .collage-double, .collage-quarter { min-height: 300px; height: 300px; } & > :nth-child(3n + 1), .collage-double { grid-column: span 1; } } @media screen and (max-width: 640px) { .collage-double, .collage-quarter { min-height: 260px; height: 260px; } } &:has(:last-child:nth-child(7)) { grid-template-columns: repeat(10, 1fr); gap: 16px; .collage-double { grid-column: span 5; } .collage-single { grid-column: span 2; } @media screen and (max-width: 1520px) { .collage-single { .collage-text-box { padding: 18px; h3 { font-size: 24px; margin-bottom: 6px; } } } } @media screen and (min-width: 801px) and (max-width: 1280px) { grid-template-columns: repeat(6, 1fr); .collage-double { grid-column: span 3; } .collage-single { grid-column: span 2; &:nth-child(6), &:nth-child(7) { grid-column: span 3; } } } @media screen and (max-width: 800px) { grid-template-columns: repeat(2, 1fr); .collage-text-box h3 { font-size: 24px; margin-bottom: 6px; } .collage-single, .collage-double { grid-column: span 1; min-height: 218px; height: 218px; } & > :nth-child(3n + 1) { grid-column: span 2; } } @media screen and (min-width: 641px) and (max-width: 800px) { .collage-main { &:has(.collage-list) { height: auto; grid-column: span 2; & ~ .collage-main:not(:has(.collage-list)) { grid-column: span 1; &:nth-child(5) { grid-column: span 2; } } } } } @media screen and (max-width: 640px) { grid-template-columns: 1fr; .collage-single, .collage-double, .collage-main { grid-column: span 1; min-height: 200px; height: 200px; } } } } /** DEDICATED TRAVEL AGENCY SECTION */ .row-dual, .section-about-values { --_padding-block: 60px; & > div { padding: var(--_padding-block) 40px; height: auto; } & > :first-child { background-color: var(--color-brand-primary-400); width: 60%; padding-left: calc(50vw - 760px); position: relative; .row-travel-experts { margin-inline: 0; & > div { padding: 0; } .row-dual-sideimg { background-position: bottom right; right: -20px; } } h1, h2 { color: var(--color-brand-primary-800); } button, .button-link { background-color: var(--color-brand-primary-800); color: var(--color-brand-primary-400); text-transform: none; font-family: var(--font-body) !important; font-weight: bold; font-size: var(--_min-a11y-font-size); line-height: 1; padding: 13px 22px; border-radius: 30px; border: 0; cursor: pointer; transition: background-color 0.3s ease; &:hover { background-color: var(--color-brand-primary-700); } } } & > :last-child { width: 40%; padding-right: calc(50vw - 760px); background-color: var(--color-brand-secondary); .button-link { background-color: var(--color-brand-primary-400); color: var(--color-brand-primary-800); text-transform: none; font-family: var(--font-body); font-weight: bold; font-size: var(--_min-a11y-font-size); line-height: 1; padding: 13px 22px; border-radius: 30px; border: 0; cursor: pointer; transition: background-color 0.3s ease; margin-bottom: 0 !important; &:hover { background-color: var(--color-brand-primary); color: var(--color-brand-primary-800); } } ul { margin-bottom: 0; li { color: var(--color-white); padding-bottom: 20px; &:last-child { padding-bottom: 0; } } & + div { text-align: left; padding-left: 0; margin-top: 32px; } } } h1, h2 { text-transform: none; font-weight: normal; font-size: 48px; line-height: 44px; margin: 0 0 var(--_section-gap); text-wrap: balance; text-align: left; @media screen and (max-width: 1280px) { font-size: 36px; line-height: 38px; } } p, ul li { color: var(--color-brand-primary-800); font-family: var(--font-body) !important; text-wrap: pretty; font-size: 18px; line-height: 1.25; text-align: left; & > img { margin-right: 8px; /** icon */ } &:last-child { margin-bottom: 0; } &:has(+ button) { margin-bottom: 32px; } } .row-dual-green { p { color: var(--color-white) !important; } .row-travel-experts { p { color: var(--color-brand-primary-800) !important; } } } @media screen and (max-width: 1580px) { & > :first-child { padding-left: var(--_section-padding-inline); .row-travel-experts { .row-dual-sideimg { right: -20px; bottom: 0; } } } & > :last-child { padding-right: var(--_section-padding-inline); } } @media screen and (max-width: 1200px) { display: block; & > :first-child, & > :last-child { display: block; width: 100%; padding-inline: var(--_section-padding-inline); } .col-md-12 { float: none; } & > :first-child { .row-travel-experts { display: flex; .row-dual-sideimg { right: 0; bottom: calc(0px - var(--_padding-block)); margin-top: -100px; margin-left: auto; width: 80%; background-position: bottom right; height: 420px; } } } } @media screen and (max-width: 1024px) { & > :first-child { .row-travel-experts { flex-direction: column; .row-dual-sideimg { margin-top: -160px; } } } } @media screen and (max-width: 800px) { & > div { text-align: left; p { text-align: left; padding-bottom: 0; } } } } .section-about-values { display: grid; grid-template-columns: 1fr; .founder-row { display: flex; align-items: flex-end; gap: 24px; width: 100%; padding-block: 0; & > * { width: 50%; float: none; padding-inline: 0; } .founder-image-large { padding-inline: 0; background-position: bottom right; max-height: 460px; } h1 { margin-top: var(--_padding-block); } blockquote { font-size: 24px; line-height: 1.25; font-weight: normal; font-family: var(--font-body); text-transform: none; color: var(--color-brand-primary-800); text-wrap: pretty; padding-block: 0; @media screen and (max-width: 768px) { font-size: 20px; } } .founder { padding-bottom: 70px; } h2, h3, p { font-size: 18px; font-family: var(--font-body) !important; font-weight: normal; text-transform: none; color: var(--color-brand-primary-800) !important; margin-bottom: 12px; } h2, h3 { margin-bottom: 4px; font-weight: bold; } p { color: var(--color-brand-primary-700) !important; } .button-link { margin-bottom: 0; } } & > :first-child, & > :last-child { width: 100%; padding-inline: calc(50vw - 770px) !important; } & > :last-child { h1 { margin-bottom: var(--_section-gap); } h2, h3, p { color: var(--color-white) !important; font-family: var(--font-body) !important; font-weight: normal; text-transform: none; font-size: 24px; } h2, h3 { margin-top: 0; font-weight: bold; line-height: 22px; margin-bottom: 16px; } p { font-size: 16px; } & > * { margin-inline: auto; } @media screen and (max-width: 992px) { & > div:not(:first-child):not(:last-child) { margin-bottom: 24px; } } @media screen and (max-width: 768px) { & > * { padding-inline: 0; } h3 { font-size: 20px; line-height: 1.25; } } } .founder-row:first-of-type { padding-bottom: 0; gap: 48px; .founder-image-large { position: static; width: 30%; min-width: 260px; & + div { width: 50%; } } & + div { p { margin-bottom: 16px; } & > :last-child { p:last-child { margin-bottom: 0; } } } } @media screen and (max-width: 1540px) { & > :first-child, & > :last-child { padding-inline: var(--_section-padding-inline) !important; } } @media screen and (max-width: 1280px) { & > div { h1 { font-size: 36px; line-height: 38px; } } } @media screen and (max-width: 800px) { .founder-row:first-of-type { .founder-image-large { height: 400px; } } & > div { h1 { font-size: 28px; line-height: 32px; } } } @media screen and (max-width: 767px) { .founder-row:first-of-type { .founder-image-large { & + div { width: 100%; .founder { padding-bottom: 0; } .founder-text { h3 { margin-top: 0; } .button-link { width: auto; } } .founder-image-small { margin: 0; } } } } } @media screen and (max-width: 480px) { & > div { h1 { font-size: 24px; line-height: 26px; } } } } #rebrand { p { &:last-child { margin-bottom: 0; } } } /** PROMOTIONS SECTION */ .row-strip { @media screen and (max-width: 1024px) { flex-direction: column; } .promotions { .cstrip { display: flex; flex-direction: column; justify-content: center; } .offer-label { background-color: var(--color-brand-citrus); color: var(--color-brand-secondary); font-family: var(--font-body); text-transform: none; line-height: 1; font-weight: bold; font-size: 16px; border-radius: 30px; width: fit-content; padding: 10px 14px 10px 12px; top: -16px; left: 24px; } .text { background-color: var(--color-brand-sandstone); padding: 24px; border-radius: 16px; text-align: left; margin-left: calc(50vw - 760px); max-width: 540px; display: grid; grid-template-columns: 1fr 1fr; align-items: end; &:has(.offer-label) { padding-top: 40px; } h2 { font-size: 48px; line-height: 1.05; padding-top: 0; font-family: var(--font-sans) !important; font-weight: normal; text-transform: none; color: var(--color-brand-secondary); margin: 0 0 12px; grid-column: 1 / -1; } p { font-size: 18px; text-shadow: none; font-weight: normal; color: var(--color-brand-charcoal); line-height: 1.25; margin-bottom: 32px; grid-column: 1 / -1; text-wrap: pretty; } .price-from .price-superscript { font-size: 14px; color: var(--color-brand-charcoal-tint); } .price { font-size: 16px; line-height: 1; font-weight: bold; font-family: var(--font-body) !important; text-transform: none; color: var(--color-brand-marigold-shade); text-shadow: none; .mwp { font-size: 40px; } } .button-container { margin-left: auto; button { font-family: var(--font-body); font-size: var(--_min-a11y-font-size); text-transform: none; font-weight: bold; padding: 13px 22px; margin-top: 0; line-height: 1; border-radius: 30px; transition: background-color 0.3s ease; } } } } .col-strip-a { @media screen and (max-width: 1580px) { .promotions { .text { margin-left: var(--_section-padding-inline); } } } @media screen and (max-width: 1340px) { width: 50%; .promotions { .text { margin-left: var(--_section-padding-inline); margin-right: 40px; h2 { font-size: 32px; } } } } @media screen and (max-width: 1024px) { width: 100%; .promotions { height: auto; min-height: unset; .text { margin-inline: auto; } } } @media screen and (max-width: 640px) { .promotions { .text { margin-inline: var(--_section-padding-inline); } } } } .col-strip-b { background-color: var(--color-brand-secondary); display: flex; align-items: center; flex-direction: column; .contact-strip-b { background-color: var(--color-brand-secondary); color: var(--color-white); height: auto; padding-block: var(--_section-padding-block); padding-right: calc(50vw - 760px); @media screen and (max-width: 1340px) { padding-block: 40px; } .headline-section { margin: 0 0 32px; text-align: left; color: var(--color-white); text-wrap: balance; } .lead { font-family: var(--font-body); font-size: 18px; line-height: 1.25; text-align: left; color: var(--color-white); text-wrap: pretty; } .contact-items { margin-inline: 0; width: 400px; display: flex; gap: 36px; &:before, &:after { content: none; } h3 { font-size: 16px; font-family: var(--font-body); font-weight: bold; } .col-opt { .icon { color: var(--color-brand-primary); &:hover { color: var(--color-brand-primary-400); } } } } .buttons { text-align: left; .button-link { background-color: var(--color-brand-primary-400); color: var(--color-brand-primary-800); &:hover { background-color: var(--color-brand-primary); color: var(--color-brand-primary-800); } } } } @media screen and (max-width: 1580px) { padding-right: var(--_section-padding-inline); } @media screen and (max-width: 1340px) { width: 50%; } @media screen and (max-width: 1024px) { width: 100%; padding-right: 0; .contact-strip-b { padding-inline: var(--_section-padding-inline); .headline-section, .lead, .buttons { text-align: center; } .contact-items { width: 100%; margin-inline: auto; .col-opt { width: 100%; a { text-align: center; } } } } } } .featured-b { height: 100%; padding-block: var(--_section-padding-block); padding-left: calc(50vw - 760px); background-color: var(--color-brand-sandstone); @media screen and (max-width: 1580px) { padding-left: var(--_section-padding-inline); } @media screen and (max-width: 1340px) { padding-block: 40px; } h2 { text-transform: none; font-weight: normal; font-size: 48px; line-height: 44px; margin: 0 0 24px; text-wrap: balance; text-align: left; } .lead { margin-bottom: 20px; margin-left: 0; text-align: left; } .card_featured { .card__horizontal { border-radius: 16px; box-shadow: 0 4px 7px rgba(0, 0, 0, 0.1); transition: box-shadow 0.3s ease; &:hover { box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1); } } .card-img { border-radius: 16px 0 0 16px; } .subheadline--card, .card h2 { font-family: var(--font-body) !important; color: var(--color-brand-charcoal-tint); margin-bottom: 4px; font-weight: normal; &:last-child { margin-bottom: 0; } } .headline--small { font-family: var(--font-body) !important; color: var(--color-brand-charcoal-shade); font-weight: bold; } .card-price, .card-currency { font-family: var(--font-body) !important; color: var(--color-brand-marigold); } .card-price { margin-bottom: 8px; font-weight: bold; } .currency-switcher { ul { background-color: var(--color-white); border-radius: 4px; width: 110px; padding: 8px 12px; li { color: var(--color-brand-charcoal); padding: 4px 0; &:hover { color: var(--color-brand-charcoal-shade); } } } } @media screen and (max-width: 1240px) { .card__horizontal-title, .card__horizontal-price { display: block; } .card__horizontal-title { padding-bottom: 0; } .card__horizontal-price { padding-top: 0; } } } } } /** REVIEWS SECTION */ .sec-customer-reviews { .row { margin-inline: 0; & > * { padding-inline: 0; width: 100%; } &:has(.cr-link) { text-align: center; } } .container, .row, .cr-image-container { width: 1520px; max-width: 100%; padding-inline: var(--_section-padding-inline); margin-inline: auto; @media screen and (max-width: 1520px) { width: 100%; max-width: 100%; } } .cr-text-container { gap: 24px; & > * { flex: 1; height: 100%; } } .cr-text { background-color: var(--color-brand-sandstone); border-radius: 16px; padding: 24px 30px 30px; border: 1px solid var(--color-brand-sandstone-shade); .cr-title { color: var(--color-brand-secondary); font-family: var(--font-sans); font-weight: 500; font-size: 20px; line-height: 1.2; text-transform: none; .initial { width: 50px; height: 50px; flex-shrink: 0; background-color: var(--color-brand-primary); color: var(--color-brand-primary-800); font-size: 24px; line-height: 1; border-radius: 50%; display: flex; align-items: center; justify-content: center; margin-right: 16px; } span { /* reviewer's country */ font-family: var(--font-serif); font-weight: normal; font-size: 14px; line-height: 1.2; text-transform: none; color: var(--color-brand-charcoal-tint); } } .cr-stars { color: var(--color-brand-citrus); font-size: 20px; } .text { font-family: var(--font-body); font-weight: normal; font-size: 16px; line-height: 1.2; text-transform: none; color: var(--color-brand-charcoal-tint); text-wrap: pretty; .cr-more { color: var(--color-brand-primary-600); } &:not(.show) { .text-full { opacity: 0; } } } .review-tour { margin-top: 0; a { font-family: var(--font-body); font-size: var(--_min-a11y-font-size); text-transform: none; font-weight: bold; padding: 9px 22px; margin-top: 0; margin-left: -2px; line-height: 1; border-radius: 30px; transition: background-color 0.3s ease; color: var(--color-white); background-color: var(--color-brand-marigold); text-decoration: none; margin-top: 20px; display: inline-block; max-width: 100%; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; &:hover { background-color: var(--color-brand-marigold-shade); color: var(--color-white); } } } } .cr-video { width: 100%; height: auto; border-radius: 16px; aspect-ratio: 16 / 9; max-width: 33%; max-height: 260px; } .cr-image-text { font-family: var(--font-body); font-size: 16px; line-height: 1.2; text-transform: none; color: var(--color-brand-charcoal-tint); text-wrap: pretty; } .cr-link { font-family: var(--font-body); text-transform: none; color: var(--color-brand-primary-800); background-color: var(--color-brand-primary-400); padding: 9px 22px; border-radius: 30px; text-decoration: none; transition: color 0.3s ease; margin: 0 auto var(--_section-gap); display: inline-block; font-size: var(--_min-a11y-font-size); font-weight: bold; transition: background-color 0.3s ease; &:hover { background-color: var(--color-brand-primary); color: var(--color-brand-primary-800); } } .cr-link-b { font-family: var(--font-body); text-transform: none; color: var(--color-brand-primary-600); text-decoration: none; transition: color 0.3s ease; &:hover { color: var(--color-brand-primary-800); } } .cr-image-container { margin-top: 0; } @media screen and (max-width: 1520px) { .cr-text-container { max-width: 1200px; margin-inline: auto; flex-wrap: wrap; & > div { min-width: 400px; } iframe { min-width: 500px; height: 300px; margin-inline: auto; } .cr-text { .text:not(.show) { max-height: 45px; } } } } @media screen and (max-width: 1280px) { .cr-text-container { .cr-text { .text:not(.show) { max-height: 56px; } .review-tour { a { padding-inline: 16px; } } } } } @media screen and (max-width: 940px) { .cr-text-container { .cr-text { .text:not(.show) { max-height: 45px; } .review-tour { a { padding-inline: 22px; white-space: wrap; overflow: visible; text-overflow: unset; } } } } } @media screen and (max-width: 767px) { .row { padding-inline: 0; } .cr-text-container { padding-inline: 0; & > div { min-width: 100%; margin-left: 0 !important; } .cr-text { width: 100%; padding: 20px; .text:not(.show) { max-height: 80px; } } iframe { min-width: 100%; margin-top: 0; } } } } .es-main-content { .es-review-background-container { background-color: var(--color-brand-sandstone) !important; border-color: var(--color-brand-sandstone-shade) !important; border-radius: 16px !important; } .es-rating-item-filled svg path { fill: var(--color-brand-citrus) !important; } .es-text-shortener-control { color: var(--color-brand-secondary) !important; } .es-tab-container { &::before { border-radius: 10px 10px 0 0; inset: 0; transform: scale(1); } } } .es-main-content { .es-review-background-container { background-color: var(--color-brand-sandstone) !important; border-color: var(--color-brand-sandstone-shade) !important; border-radius: 16px !important; } .es-rating-item-filled svg path { fill: var(--color-brand-citrus) !important; } .es-text-shortener-control { color: var(--color-brand-secondary) !important; } .es-tab-container { &::before { border-radius: 10px 10px 0 0; inset: 0; transform: scale(1); } } } /** WHY CHOOSE NORDIC VISITOR SECTION */ #why-us { background-color: var(--color-brand-sandstone); .container { width: 1520px; max-width: 1520px; padding-inline: var(--_section-padding-inline); @media screen and (max-width: 1520px) { width: 100%; max-width: 100%; } .row { margin-inline: 0; } } .headline-section { color: var(--color-brand-secondary); margin-bottom: 0; } .row-sp { display: grid; grid-template-columns: repeat(auto-fill, minmax(440px, 1fr)); gap: 24px; margin-block: 0; .sp-container { width: 100%; margin-bottom: 0; &:nth-child(7):last-child { grid-column: 2; /* Show last item in second column: TODO: this is a hack to get the last item in the second column */ @media screen and (max-width: 1428px) { /** VERY DEPENDENT ON THE MIN-SIZE IN GRID COLUMNS */ grid-column: 1; } } .sp { border-radius: 16px; padding: 32px 36px 32px 32px; border: 1px solid var(--color-brand-sandstone-shade); .sp-icon { width: 75px; height: 75px; margin-bottom: 16px; margin-inline: auto; color: var(--color-brand-primary-600); } h3 { font-size: 24px; line-height: 1.2; margin-bottom: 12px; font-family: var(--font-body) !important; font-weight: bold; color: var(--color-brand-secondary); } p { margin-bottom: 12px; font-family: var(--font-body) !important; color: var(--color-brand-charcoal-tint); text-wrap: pretty; font-size: 16px; &:empty { display: none; } &:last-child, &:has(+ :empty:last-child) { margin-bottom: 0; } .link-red { color: var(--color-brand-secondary) !important; text-decoration: underline; text-underline-offset: 2px; font-family: var(--font-body); font-size: 1em !important; &:hover { text-decoration: none; } } } } } @media screen and (max-width: 767px) { display: flex; .sp-container { min-width: 300px; & + .sp-container { margin-left: 0; } .sp { width: 100%; } } } } } /** TRAVEL IDEAS AND TOUR THEMES SECTION */ .collages-inner { display: grid; grid-template-columns: repeat(4, 1fr); gap: 24px; .collage-inner { width: 100%; margin: 0; border-radius: 16px; overflow: hidden; a { display: flex; height: 100%; flex-direction: column; justify-content: flex-end; .collage-bg { &:after { content: ""; display: block; position: absolute; width: 100%; height: 55%; bottom: 0; background-image: linear-gradient(to top, black, transparent); transition: height 0.3s ease; } } &:hover { .collage-bg:after { height: 80%; } } h3 { font-family: var(--font-body) !important; font-weight: 500; font-size: 24px; line-height: 1.05; text-transform: none; color: var(--color-white); text-shadow: 0 2px 2px rgba(0, 0, 0, 0.25); margin-bottom: 6px; letter-spacing: 0; text-align: left; padding-inline: 16px; margin-inline: 0; top: unset; margin-top: 0; text-wrap: balance; position: static; &:not(:has(+ .desc)) { margin-bottom: 0; padding-bottom: 16px; } } .desc { font-family: var(--font-serif); text-align: left; font-size: 18px; font-weight: 300; line-height: 1.15; text-shadow: 0 2px 2px rgba(0, 0, 0, 0.25); text-transform: none; padding: 0 16px 16px; background: none; position: relative; text-wrap: pretty; } } } &:after { display: none; } @media screen and (max-width: 1280px) { grid-template-columns: repeat(2, 1fr); } @media screen and (max-width: 800px) { padding-inline: var(--_section-padding-inline); gap: 12px; &:not(:has(.collage-inner:nth-child(5))) { grid-template-columns: 1fr; } &:has(.collage-inner:nth-child(5)) { .collage-inner { &:nth-child(3n + 1) { grid-column: span 2; } } } .collage-inner { width: 100% !important; } } } /** BULLET POINT LIST SECTION */ .info-blocks { .info-block .inner-container > * { color: var(--color-brand-dark); } &:has(.info-block:nth-child(2)) { .info-block { width: 50%; &:nth-child(1) { .inner-container, .link-holder { padding-left: calc(50vw - 760px); } } &:nth-child(2) { .inner-container, & > .info-cards, .link-holder { padding-right: calc(50vw - 760px); } } .inner-container { padding-inline: 40px; &:has(.newsletter__signup) { gap: 16px; } .headline-section { & + * p { font-family: var(--font-serif); font-size: 18px; font-weight: 300; line-height: 1.15; text-transform: none; text-align: left; text-wrap: pretty; color: var(--color-brand-charcoal-tint); margin: 0; } } p, ul { max-width: 55ch; } ul { column-count: 1; } .newsletter__signup { margin-top: 72px; margin-bottom: 0; .container-section { padding: 0; gap: 16px; .newsletter__signup-headline { color: var(--color-brand-sandstone); text-transform: none; font-weight: normal; font-size: 48px; line-height: 54px; margin: 0; text-wrap: balance; @media screen and (max-width: 1280px) { font-size: 36px; line-height: 38px; } @media screen and (max-width: 800px) { font-size: 28px; line-height: 32px; } } .row { .col-md-0 { display: none; } &:has(input) { margin-inline: 0; } .newsletter__input-container { padding-inline: 0; display: flex; background-color: var(--color-white); border-radius: calc(var(--_input-height) / 2); --_input-height: 60px; input { height: var(--_input-height); border-radius: calc(var(--_input-height) / 2); margin-bottom: 0; color: var(--color-brand-charcoal-tint) !important; font-family: var(--font-body); font-weight: normal; &[type="email"] { font-size: 16px; border: 0; background-color: var(--color-white); padding-left: 24px !important; } &[type="submit"] { font-family: var(--font-body); background-color: var(--color-brand-peony); color: var(--color-brand-aubergine) !important; font-size: var(--_min-a11y-font-size); text-transform: none; font-weight: bold; padding: 9px 22px; border: 8px solid var(--color-white); line-height: 1; border-radius: calc(var(--_input-height) / 2); transition: background-color 0.3s ease; &:hover { background-color: var(--color-brand-peony-tint); } } ::placeholder { text-transform: none; } } } } } label { padding-bottom: 0; margin-bottom: 0; } .row:has(form) { display: block; margin-top: 12px; max-width: 65ch; } } } } @media screen and (max-width: 1580px) { .info-block { &:first-child { .inner-container, & > .info-cards, .link-holder { padding-left: var(--_section-padding-inline); } } &:last-child { .inner-container, & > .info-cards, .link-holder { padding-right: var(--_section-padding-inline); } } .inner-container { ul { column-count: 1; } } } } @media screen and (max-width: 1024px) { .info-block { width: 100%; &:first-child, &:last-child { .inner-container, & > .info-cards, .link-holder { padding-inline: var(--_section-padding-inline); } } .inner-container { p, ul { max-width: 100%; } .newsletter__signup { margin-top: 40px; .row:has(form) { max-width: 70ch; } } } } } @media screen and (max-width: 480px) { .info-block { .inner-container { .newsletter__signup { .container-section { .row { .newsletter__input-container { display: block; border-radius: 28px; input { &[type="email"] { border-radius: 28px !important; padding-inline: 20px !important; } &[type="submit"] { width: 100% !important; } } } } } } } } } } .info-block { padding: 0; text-align: left; &.block-white { background-color: var(--color-white); } &.block-aubergine, &:has(.newsletter__signup) { background-color: var(--color-brand-aubergine); .inner-container { .headline-section { color: var(--color-brand-sandstone); } p label { color: var(--color-brand-sandstone) !important; } section .row { .text-center { text-align: left; } label { color: var(--color-brand-sandstone) !important; font-size: 1em; font-family: var(--font-serif); } & + div { display: flex; align-items: center; gap: 10px; &:has( .icon-facebook-square, .icon-instagram, .twitter-x-social, .icon-vimeo-square, .icon-pinterest-square ) { margin-top: 16px; } .icon-facebook-square, .icon-instagram, .twitter-x-social, .icon-vimeo-square, .icon-pinterest-square { width: 40px; height: 40px; display: inline-block; margin-right: 0 !important; color: var(--color-brand-peony); } .twitter-x-social { filter: brightness(0) saturate(100%) invert(92%) sepia(57%) saturate(7365%) hue-rotate(277deg) brightness(100%) contrast(105%); } } } a { display: inline-flex; align-items: center; justify-content: center; } .container-section { .row, .row > * { padding-inline: 0; margin-inline: 0; } :before, :after { display: none; } } } } &.block-green { .inner-container { & > p, & > ul, & > ul li { color: var(--color-white) !important; a { text-decoration: underline; text-underline-offset: 2px; color: var(--color-white) !important; &:hover { text-decoration: none; color: var(--color-white) !important; } } } } } &.with-button { .button-link { background-color: var(--color-brand-primary-400); color: var(--color-brand-primary-800); &:hover { background-color: var(--color-brand-primary); color: var(--color-brand-primary-800); } } } .inner-container { width: 100%; max-width: 1520px; margin: 0 auto; display: flex; flex-direction: column; gap: var(--_section-gap); padding-block: var(--_section-padding-block); padding-inline: var(--_section-padding-inline); &:has(+ .info-cards) { padding-bottom: var(--_section-gap); .info-cards { padding-right: calc(50vw - 760px); @media screen and (max-width: 1580px) { padding-right: var(--_section-padding-inline); } } } .icon-facebook-square, .icon-instagram, .twitter-x-social, .icon-vimeo-square, .icon-pinterest-square { width: 40px; height: 40px; display: inline-block; color: var(--color-brand-peony); } .headline-section { padding-bottom: 0; text-align: left; color: var(--color-brand-secondary); & ~ p, & ~ * p, & ~ * p label, & ~ p label { font-family: var(--font-body); font-size: 18px; color: var(--color-brand-charcoal-shade); margin: 0; max-width: 80ch; text-align: left; text-wrap: pretty; a { text-decoration: underline; text-underline-offset: 2px; color: var(--color-brand-charcoal); font-weight: bold; &:hover { text-decoration: none; color: var(--color-brand-charcoal-shade); } } } } .container { padding: 0; width: 100%; } ul { margin: 0; column-count: 2; column-gap: 36px; li { color: var(--color-brand-charcoal); margin-bottom: 12px; padding-left: 24px; font-size: 18px; text-wrap: pretty; strong { a, a.hashclick { color: var(--color-brand-secondary); text-decoration: underline solid 2px; text-underline-offset: 2px; &:hover { text-decoration: none; color: var(--color-brand-secondary-400); } } } } } } } .info-cards { padding-left: var(--_section-padding-inline); padding-right: calc(50vw - 760px); padding-bottom: var(--_section-padding-block); display: grid; grid-template-columns: 1fr; gap: 24px; .card-mini { margin: 0; max-width: var(--_card-width) !important; @media screen and (max-width: 992px) { max-width: 100% !important; } } } .inner-container { .info-cards { padding-right: var(--_section-padding-inline); max-width: 100% !important; } } @media screen and (max-width: 1024px) { .info-block { .inner-container { ul { column-count: 1; } } } } } .info-blocks .info-cards, .sec-travel-guide-hero { .card-mini { border-radius: 16px; padding: 0; max-width: 100%; width: 100%; @media screen and (min-width: 992px) and (max-width: 1540px) { max-width: var(--_card-width); } & > a { padding: 16px; display: grid; grid-template-columns: 100px 1fr; column-gap: 8px; } h3.card-title { font-family: var(--font-body) !important; font-size: 18px; line-height: 1.2; font-weight: 500; color: var(--color-brand-secondary); margin: 0 0 8px; text-transform: none; padding-left: 0; grid-column: 2; } p { font-size: 14px; line-height: 1.2; font-weight: 400; padding-left: 0; color: var(--color-brand-charcoal-tint); margin-bottom: 0; grid-column: 2; } .image-circle { float: none; grid-row: span 2; } } } /** CONTACT FORM SECTION */ #contact, #contactform, .dc_custom_contactform { .container { width: 1520px; max-width: 1520px; .headline-section, .lead { text-align: left; margin-inline: 0; } .lead { color: var(--color-brand-charcoal-tint); margin-bottom: 32px; text-wrap: pretty; } .contact-options { display: flex; flex-direction: row-reverse; gap: 24px; & > * { flex: 1; padding-inline: 0; } form { padding: 0; max-width: 700px; padding-top: 0; label { font-size: 18px; color: var(--color-brand-secondary); .req { color: var(--color-brand-marigold); } } input[type="text"], input[type="email"], input[type="tel"], textarea { font-size: 18px; color: var(--color-brand-charcoal); background-color: var(--color-brand-sandstone); border: 1px solid var(--color-brand-sandstone-shade); border-radius: 16px; padding: 24px 20px; margin-bottom: 16px; width: 100%; font-family: var(--font-body); font-weight: normal; transition: background-color 0.3s ease; &::placeholder { color: var(--color-brand-charcoal-tint); } &:focus { background-color: var(--color-white); box-shadow: none; outline: none; } } textarea { min-height: 180px; padding-block: 16px; } input[type="submit"] { font-size: var(--_min-a11y-font-size); line-height: 1; color: var(--color-brand-primary-800); background-color: var(--color-brand-primary-400); border-radius: 30px; padding: 16px 22px; font-weight: 600; font-family: var(--font-body); font-weight: bold; text-transform: capitalize; transition: background-color 0.3s ease; &:hover { background-color: var(--color-brand-primary); color: var(--color-brand-primary-800); } } .c_mobile { display: none !important; } } .cx-contact { padding-bottom: 0; display: flex; flex-direction: column; &:has(p strong) { min-width: max-content; } .icon { font-size: 60px; color: var(--color-brand-secondary); } h3, p strong { font-family: var(--font-body) !important; font-weight: bold; font-size: 40px; color: var(--color-brand-secondary); line-height: 1.1; margin-bottom: 16px; } p { font-family: var(--font-body) !important; font-weight: normal; font-size: 20px; color: var(--color-brand-charcoal-tint); line-height: 1.2; margin-bottom: 16px; text-wrap: pretty; strong { font-size: 32px; line-height: 1.4; } } .cx-footer { position: static; color: var(--color-brand-charcoal-tint); margin-top: auto; } } } @media screen and (max-width: 1580px) { width: 100%; padding-inline: var(--_section-padding-inline); .row { margin-inline: 0; } .contact-options { .cx-contact { h3, p strong { font-size: 36px; } p { max-width: 30ch; margin-inline: auto; strong { font-size: 30px; } } } } } @media screen and (max-width: 1300px) { .headline-section, .lead { text-align: center; margin-inline: auto; } .contact-options { flex-direction: column; gap: 40px; & > div { width: 100%; form { margin-inline: auto; } } } } @media screen and (max-width: 640px) { .row-flex { flex-direction: column; gap: 24px; & > div { width: 100%; } } .contact-options { form { padding-inline: 20px; } } } } } /** POPULAR BLOG POSTS SECTION */ .blog-feed { padding-block: 0; h2 { text-align: center; } .blog-feed-row { display: flex; gap: 24px; &:before, &:after { content: none; } .blog-feed-item { flex: 1; width: auto; padding: 0; margin: 0; border-radius: 16px; overflow: hidden; box-shadow: 0 6px 4px -2px rgba(0, 0, 0, 0.25); transition: box-shadow 0.2s ease-in-out; &:has(.blog-feed__tags) { background-color: var(--color-brand-sandstone); } &:hover { box-shadow: 0 4px 4px -2px rgba(0, 0, 0, 0.25); } & > a { height: 100%; display: flex; flex-direction: column; &:has(+ .blog-feed__tags) { height: auto; } } .blog-feed-img { width: 100%; height: 320px; background-size: cover; } h3, h4.package-headline { font-family: var(--font-body) !important; font-weight: bold; font-size: 20px; line-height: 1.1; margin: 0 !important; background-color: var(--color-white); color: var(--color-brand-secondary); padding: 16px; text-align: center; flex-grow: 1; } .blog-feed__tags { margin-top: 18px; text-align: center; span { position: static; color: var(--color-brand-secondary); } } .blog-feed__paragraph { padding: 0 20px; background-color: var(--color-white); font-size: 16px; &:after { height: 100px; background: linear-gradient( top, rgba(255, 255, 255, 0), rgba(252, 250, 250, 1) ); } } } @media screen and (max-width: 991px) { padding-bottom: 12px; margin-inline: -30px; &.blog-feed-row-x { .blog-feed-item { &:first-child { margin-left: 30px; } &:last-child { margin-right: 30px; } } } } } .container-padbtm { padding-bottom: 0; margin-top: var(--_section-gap); width: 100%; max-width: 1500px; padding-inline: var(--_section-padding-inline); .button-link { background-color: var(--color-brand-secondary); color: var(--color-white); &:hover { background-color: var(--color-brand-secondary-400); } } } &.sec-color-green { .container-padbtm { .button-link { background-color: var(--color-white); color: var(--color-brand-secondary); &:hover { background-color: rgba(255, 255, 255, 0.8); color: var(--color-brand-secondary); } } } } } section.section-help { .container { padding-bottom: 0; padding-inline: 90px; display: grid; grid-template-columns: 1fr 1fr; grid-template-rows: auto 1fr; .row { margin-inline: 0; &:first-child { grid-column: span 2; } &:has(> div .button-link) { & > div { display: flex; gap: 20px; flex-wrap: wrap; .button-link { margin: 0; } } } &:has(.help-flex-image-container) { grid-column: 2; } .help-flex-image-container { height: 331px; width: 710px; justify-content: flex-start; img { width: 861px; aspect-ratio: 861 / 331; height: 331px; margin-right: 0; } } & > * { padding-inline: 0; text-align: left; } } } .headline-section, .lead { text-align: left; margin-inline: 0; } .button-link { background-color: var(--color-brand-primary-400); color: var(--color-brand-primary-800); &:hover { background-color: var(--color-brand-primary); } } .row-dual-sideimg { grid-column: 2; grid-row: 1 / span 2; width: 100%; } @media screen and (max-width: 1280px) { .container { padding-inline: 40px; .row { .help-flex-image-container { width: 600px; justify-content: center; } } } } @media screen and (max-width: 1100px) { .container { grid-template-columns: 1fr; .row { grid-column: span 1 !important; .help-flex-image-container { width: 861px; margin-left: calc(100% - 710px); height: auto !important; img { height: auto !important; margin-left: 0; max-width: 100%; object-fit: contain; object-position: bottom; } } } } } @media screen and (max-width: 767px) { .container { display: block; padding-inline: var(--_section-padding-inline); .row { & + .row { margin-top: 24px; } & > div:has(> .button-link) { display: flex; flex-wrap: wrap; gap: 24px; .button-link { margin: 0; } } .help-flex-image-container { width: 140%; margin-left: -20%; } } } } } .footer-main { border: 0; width: 100%; max-width: 1520px; margin: 0 auto; z-index: 0 !important; .blog__tags, .booking-form-request, .package-headline, .price, h2 { font-family: var(--font-body) !important; font-size: 0.77777778em; line-height: 1.71428571em; color: var(--color-neutral-750); display: block; font-weight: 400; text-transform: none; margin: 0; } p { font-family: var(--font-body); color: var(--color-brand-charcoal-tint); font-weight: normal; text-transform: none; display: block; } .footer-contents { padding: 60px 100px; background-color: var(--color-brand-sandstone); border-radius: 32px; margin-bottom: 32px; display: flex; flex-direction: column; gap: 48px; } .container, .row { margin: 0; padding: 0; border: 0; width: 100%; max-width: 1500px; & > *:not(a) { width: 100%; } & > a { width: fit-content; } &:before, &:after { content: none; } &:last-of-type { padding-top: 0; } } .logo { height: 80px; background-repeat: no-repeat; background-size: contain; } .container { &:has(.footer-social) { display: flex; justify-content: space-between; .footer-blog { width: max-content; } } } .footer-connect, .footer-blog, .footer-social { padding-inline: 0; float: none; width: auto; max-width: 40%; } .footer-connect { display: grid; grid-template-columns: auto 1fr; grid-template-rows: auto 1fr; column-gap: 24px; background: none; & > span { grid-column: span 2; grid-row: 1; margin-bottom: 0; } span { font-size: 24px; line-height: 24px; color: var(--color-brand-aubergine); } } .footer-social { display: flex; padding-top: 0; gap: 8px; & > * { flex: 1; width: 24px; height: 24px; margin: 0; } span { height: 24px; } } .footer-connect > span, .footer-headline, .footer-blog span, .latestblog { font-size: 20px !important; font-family: var(--font-serif); font-weight: normal; color: var(--color-brand-charcoal-shade) !important; padding: 0; margin-bottom: 8px; text-transform: none; text-align: left; line-height: 1.4; text-wrap: pretty; } .footer-connect { a { color: var(--color-brand-aubergine); font-family: var(--font-body); font-size: 24px; font-weight: bold; text-transform: none; transition: color 0.3s ease; &:hover, &:hover span { color: var(--color-brand-peony); } &:has(.twitter-x-social) { &:hover { filter: brightness(0) saturate(100%) invert(92%) sepia(57%) saturate(7365%) hue-rotate(277deg) brightness(100%) contrast(105%); } } } & > a { &:hover { text-decoration: underline solid 3px var(--color-brand-peony); } } } .footer-blog a { font-size: 24px; font-family: var(--font-body); font-weight: bold; color: var(--color-brand-secondary); text-transform: none; text-decoration: underline; text-underline-offset: 3px; &:hover { text-decoration: none; color: var(--color-brand-secondary-400); } } .footer-destinations { text-align: left; max-width: 70%; ul { margin-bottom: 0; li { font-size: 16px; line-height: 1.1; font-family: var(--font-body); text-transform: none; &:after { color: var(--color-brand-charcoal-tint); line-height: inherit; font-size: inherit; } a { font-weight: bold; color: var(--color-brand-secondary); text-underline-offset: 2px; &:hover { color: var(--color-brand-secondary-400); text-decoration: underline solid 2px; } } } } } .footer-link-cols { text-align: left; display: flex; column-gap: 24px; & > div { float: none; width: auto; padding-inline: 0; flex: 1; } ul { li { font-family: var(--font-body); font-size: 16px; color: var(--color-brand-charcoal-tint); line-height: 2; font-weight: 500; text-transform: none; a { color: var(--color-brand-secondary); text-underline-offset: 3px; &:hover { color: var(--color-brand-secondary-400); text-decoration: underline; } } } } .dropdown { margin-bottom: 0; .footer-headline-dropdown { font-family: var(--font-body); text-transform: none; font-size: 16px; font-weight: normal; color: var(--color-brand-charcoal); } ul { li { a { font-weight: normal; font-size: 16px; line-height: 1.5; color: var(--color-brand-charcoal); &:hover { text-decoration: none; } } } } } } .footer-licenses, .footer-getintouch, .footer-payments { padding-inline: 0; } .footer-licenses { .footer-round-icon { background-color: var(--color-brand-secondary); transition: background-color 0.3s ease; &:hover { background-color: var(--color-brand-secondary-400); } } } .footer-bottom { & > .container { display: flex; justify-content: space-between; align-items: flex-start; } .footer-bottom-right { display: flex; justify-content: flex-end; align-items: flex-start; * { float: none; } } } .footer-payments { width: fit-content; a { display: grid; grid-template-columns: repeat(4, 24px); gap: 8px; width: fit-content; :first-child { grid-column: span 4; margin-bottom: 0; } } } .logo-tripadvisor { margin: 0; padding: 0; width: 153px; } .footer-getintouch { font-family: var(--font-body); font-size: 16px; font-weight: normal; text-transform: none; color: var(--color-brand-charcoal); a { color: var(--color-brand-secondary); text-decoration: underline; text-underline-offset: 3px; &:hover { color: var(--color-brand-secondary-400); text-decoration: none; } } } h5 { font-family: var(--font-body) !important; color: var(--color-brand-charcoal-tint); font-size: 16px !important; } @media screen and (max-width: 1580px) { margin-inline: 30px; width: calc(100% - 60px); max-width: calc(100% - 60px); .footer-contents { padding-inline: 60px; } } @media screen and (max-width: 1279px) { margin-inline: 0; width: 100%; max-width: 100%; .footer-contents { border-radius: 0; padding-inline: 40px; .footer-connect { margin-inline: 0; margin-bottom: 0; } .footer-blog { text-align: left; } } .footer-bottom { .container { flex-direction: column; gap: 24px; & > div { text-align: left; } } .footer-bottom-right { justify-content: flex-start; align-items: flex-start; } } } @media screen and (max-width: 1024px) { .container { &:has(.footer-social) { flex-direction: column; } .footer-connect, .footer-blog { max-width: 100%; } } .footer-link-cols { flex-direction: column; gap: 24px; & > div { width: 100%; max-width: 60ch; } } } @media screen and (max-width: 767px) { .footer-contents { padding-block: 40px; padding-inline: var(--_section-padding-inline); .logo { width: 300px; height: 60px; } .footer-connect { display: block; .footer-social { margin-top: 12px; } } } } } .footer-copyright { width: 100%; max-width: 1500px; margin: 0 auto; padding: 16px 100px 64px !important; color: var(--color-brand-charcoal-tint); & * { float: none; } p { margin-bottom: 0; } } /** TOUR CARDS */ .container-section.mobile-horizontal-container { margin-bottom: var(--_section-gap); } .mobile-tour-horizontal-row { display: flex; gap: 24px; margin: 0; &:has(> :nth-child(5)) { /** eg. TOURS ON LANDING PAGE WITH "SHOW MORE" */ display: grid; grid-template-columns: repeat(auto-fill, minmax(275px, 1fr)); & > * { min-width: 275px; width: 100% !important; max-width: var(--_card-width); margin: 0 auto; .card { margin: 0 auto; } @media screen and (max-width: 1231px) { &:nth-child(5), &:nth-child(6) { display: block !important; } } } } &:not(:has(> :nth-child(5))) { /** eg. TOURS ON HOMEPAGE WITH LINK OUT TO ANOTHER PAGE */ @media screen and (max-width: 1240px) { display: grid; grid-template-columns: 1fr 1fr; grid-template-rows: auto; justify-items: center; margin-inline: auto; & > * { min-width: var(--_card-width); } & > :nth-child(odd) { justify-self: end; } & > :nth-child(even) { justify-self: start; } } @media screen and (max-width: 800px) { grid-template-columns: 1fr; } @media screen and (max-width: 480px) { overflow-x: visible; } @media screen and (max-width: 380px) { & > div { width: 100%; min-width: 0; } } } @media screen and (max-width: 800px) { grid-template-columns: 1fr; & > :nth-child(odd), & > :nth-child(even) { justify-self: center !important; width: var(--_card-width); } } /** horizontal scroll */ @media screen and (max-width: 480px) { display: flex; margin-inline: calc(0px - (var(--_section-padding-inline))); padding-bottom: 16px; align-items: normal; & > div { min-width: var(--_card-width); } } &:before, &:after { content: none; } & > * { padding-inline: 0; flex: 1; width: auto; .card { margin-inline: auto; } } &:not(:has(> :nth-child(4))) { & > * { /** force justify start when less than 4 items */ max-width: var(--_card-width); } &:has(.card-info) { /** justify center when this is a row with a card-info */ justify-content: center; } } } .card { &:hover { transform: none; } /** #CARDBACK: Added card-back for same styling on both sides */ .card-front, .card-back { padding-bottom: 0; border-radius: 16px; min-height: auto; box-shadow: 0 6px 7px rgba(0, 0, 0, 0.25); background-color: var(--color-white); } @media (min-width: 481px) and (max-width: 1310px) { .card-front { h1 { font-size: 1.233337em; &.long { font-size: 1.2em; } } h2.sub-name { font-size: 0.8666em; } } } &.flip { /** repeat */ .card-front, .card-back { padding-bottom: 0; border-radius: 16px; min-height: auto; box-shadow: 0 6px 7px rgba(0, 0, 0, 0.25); background-color: var(--color-white); } @media (max-width: 640px) { &:not(.card-tour) { position: fixed; } } } &.card-accommodation { @media (max-width: 640px) { .card-back .inner-form { min-height: 100px; } } } &.url-link { min-height: 0; } .card-travel-guide { background-color: var(--color-white); border: 1px solid var(--color-brand-granite-tint); border-radius: 16px; padding: 36px 0; box-shadow: 0 6px 7px rgba(0, 0, 0, 0.1); transition: box-shadow 0.3s ease; &:hover { box-shadow: 0 2px 2px rgba(0, 0, 0, 0.25); } h3.card-title { margin-top: 0; margin-bottom: 20px; font-size: 24px; font-weight: 500; line-height: 1; text-transform: none; color: var(--color-brand-secondary); font-family: var(--font-body); padding-inline: 24px; } p { margin-bottom: 0; font-weight: normal; text-transform: none; color: var(--color-brand-charcoal); font-family: var(--font-body); padding-inline: 24px; } .card-map-link { background-color: var(--color-brand-sandstone); color: var(--color-brand-charcoal-shade); padding-inline: 24px; font-size: 14px; font-weight: 500; text-transform: none; text-align: center; font-family: var(--font-body); } } } .card, .card-tour, .card-optional, .card-back-full { --_padding: 24px; --_card-map-link-height: 45px; @media screen and (max-width: 1500px) { --_padding: 16px; } } .card-tour, .card-optional { --_img-height: 231px; --_transport-height: 36px; margin-inline: 0; margin-bottom: 0; min-height: auto; height: 100% !important; @media screen and (max-width: 480px) { --_img-height: 130px; } @media screen and (max-width: 991px) { --_img-height: 130px; } &:hover { transform: none; .card-front, .card-back { box-shadow: 0 2px 2px rgba(0, 0, 0, 0.25); .card-img { opacity: 0.8; } } } .card-content { display: flex; flex-direction: column; width: 100%; height: calc(100% - var(--_img-height)); padding-top: 0; &:not(:has(.card-price-container)) { .card-map-link, .card-flip-link { margin-top: auto; } } } .card-front, .card-back { a:hover { & ~ .card-title, & ~ .card-content .card-title { color: var(--color-brand-primary-700); } & ~ .sub-name, & ~ .card-content .sub-name { color: var(--color-brand-charcoal-tint); } } &:not(:has(> .card-content)) { display: flex; flex-direction: column; width: 100%; } .card-img { height: var(--_img-height); transition: opacity 0.3s ease; } .card-transport { height: var(--_transport-height); margin-top: calc(0px - (var(--_transport-height) / 2)); float: none; position: absolute; top: var(--_img-height); & + * { padding-top: var(--_transport-height) !important; } .card-transport-inner { padding: 10px 12px; height: var(--_transport-height); font-size: 14px; line-height: 1.2; font-weight: bold; font-family: var(--font-body); text-transform: none; color: var(--color-brand-secondary); background-color: var(--color-white); } } .card-duration, h3 + span { order: 2; @media screen and (min-width: 1501px) { order: 1; } } .card-duration-stars { display: grid; gap: 12px; align-items: center; margin: 0 0 12px; grid-template-columns: auto 125px; @media screen and (max-width: 1500px) { gap: 4px; grid-template-columns: 1fr; } } .stars { display: flex; align-items: center; gap: 2px; width: fit-content; order: 1; .stars-rating { font-size: 16px; } @media screen and (min-width: 1501px) { justify-self: end; order: 2; } i { color: var(--color-brand-citrus); width: 0.8em; font-size: 1em; } } .stars-rating { font-family: var(--font-body); color: var(--color-brand-charcoal-tint); margin: 0 0 0 6px; } /** #CARDBACK: added margin-bottom 0 for consistency with front */ .sub-name { font-size: 14px; color: var(--color-brand-primary-700); font-weight: bold; margin-top: 0; margin-bottom: 0; @media screen and (max-width: 480px) { font-size: 14px !important; margin: 0 !important; } } .levels { position: static; padding-bottom: 0 !important; margin-block: 16px; justify-content: flex-start; gap: 18px; &:empty { display: none; } .level { align-items: flex-end; font-size: 14px; font-weight: 500; font-family: var(--font-body); text-transform: none; color: var(--color-brand-charcoal-tint); } } } &.card-optional { .card-front { .card-img { @media screen and (max-width: 1024px) { --_img-height: 130px; } } } } } .card-tour .card-front, .card-tour .card-back, .card-optional .card-front, .card-optional .card-back, .card-back-full { * { text-align: left; } /** #CARDBACK: Added position fixed */ .destination-label, .card-special-offer, .card-label, .card-best-offer { position: fixed; font-family: var(--font-body); font-size: 14px; font-weight: bold; text-transform: none; color: var(--color-brand-charcoal); padding: 8px 12px; border-radius: 0 30px 30px 0; line-height: 1; height: auto; top: 16px; background-color: rgba(255, 255, 255, 0.9); } .card-title, h3, h3 + span, .card-duration-stars, .card-season, .levels, .card-price-container, .card-map-link, .sub-name { margin-inline: 0; padding: 0 var(--_padding); font-family: var(--font-body) !important; } .destination-label { max-width: 50%; } .card-best-offer { background-color: var(--color-neutral-200); color: var(--color-brand-secondary); top: 16px !important; &:before { content: ""; } i { margin-right: 6px; font-size: 0.9em; } } .card-label { background-color: var(--color-brand-sea-blue); color: var(--color-brand-primary-800); border-radius: 30px 0 0 30px; } .card-special-offer, .card-best-offer { border-radius: 30px 0 0 30px; text-align: right; width: auto; } .card-special-offer { background-color: var(--color-brand-citrus) } .card-best-offer { /** best offer always goes first */ & ~ .card-label, & ~ .bestLabel .card-special-offer { top: 50px; } & ~ .bestLabel ~ .card-label { top: 84px; } } .bestLabel { /** special offer always goes second */ &:has(~ .card-best-offer) { .card-special-offer { top: 50px; background-color: var(--color-brand-citrus); } & ~ .card-label { top: 84px; } } & ~ .card-label { top: 50px; } .card-special-offer { &:not(.no-icon) { padding-left: 32px; background-color: var(--color-brand-citrus); } } } .card-label { /** card label always goes last */ &:has(~ .card-best-offer) { top: 50px; &:has(~ .bestLabel) { top: 84px; } } } .card-title, h3 { font-size: 1.25em; font-weight: bold; line-height: 1; text-transform: none; color: var(--color-brand-secondary); margin-bottom: 10px; transition: color 0.3s ease; &:has(> a) { transition: none; & > a { transition: color 0.3s ease; } } } h3 { & + span { display: block; margin: 0 0 12px; } } .card-duration, h3 + span { margin-top: 0; padding-top: 0; font-size: 18px; line-height: 1.2; font-weight: bold; font-family: var(--font-body); text-transform: none; color: var(--color-brand-primary-700); @media screen and (max-width: 480px) { & + .stars { font-size: 14px; } } } .card-season { color: var(--color-brand-charcoal-tint); margin-bottom: 6px; font-weight: bold; font-size: 14px; } .card-price-container { margin-top: auto; margin-bottom: 20px; position: static !important; label { color: var(--color-brand-charcoal-tint); font-size: 14px; font-weight: 500; font-family: var(--font-body); text-transform: none; } .card-price { @media screen and (max-width: 480px) { padding-top: 5px; } } .card-price-before { color: var(--color-brand-charcoal-tint); font-family: var(--font-body); font-size: 24px; .mw-currency { font-size: 16px; margin-left: 4px; } .strike { position: relative; background: none; &:after { content: ""; position: absolute; top: 50%; left: 0; right: 0; height: 2px; background: var(--color-brand-marigold); } } & + .card-price, & + .card-price + .card-currency { color: var(--color-brand-marigold); margin-top: 0; } & + .card-price + .card-currency { &:hover { color: var(--color-brand-marigold-shade); } } } .card-price, .card-currency { font-family: var(--font-body); font-size: 40px; font-weight: bold; line-height: 0.9; color: var(--color-brand-secondary); margin-bottom: 0; } .card-currency { font-size: var(--_min-a11y-font-size); font-weight: bold; cursor: pointer; &:hover { color: var(--color-brand-secondary-400); } } &.card-currency-open { cursor: auto; position: absolute !important; top: 0; bottom: 0 !important; margin-bottom: 0; padding: var(--_padding); background-color: var(--color-brand-sandstone); .card-price { margin-top: 0; } .card-price-before { display: none; } .card-currency { &:after { content: none; } } label, .card-ticket-label { display: none; } .currency-change { padding: 16px; margin-top: 16px; border-radius: 12px; background-color: var(--color-white); .currency-change-header, ul, ul li a, .currency-close { background-color: transparent; font-family: var(--font-body); text-transform: none; } .currency-change-header { font-size: 16px; line-height: 1; font-weight: 500; color: var(--color-brand-secondary); margin-bottom: 16px; } ul { padding-bottom: 0; margin-bottom: 0; li { padding: 6px 8px; border-radius: 8px; transition: background-color 0.3s ease; &:hover { background-color: var(--color-brand-sandstone); } a { color: var(--color-brand-charcoal); font-size: 20px; line-height: 24px; font-weight: bold; padding-left: 0; .currency-symbol { font-size: 16px; color: var(--color-brand-secondary); } } } } .currency-close { width: 100%; position: absolute; bottom: 0; left: 0; padding-block: 12px; background-color: var(--color-brand-sandstone); color: var(--color-brand-charcoal-shade); border-top: 1px solid var(--color-brand-sandstone-shade); display: flex; flex-direction: row-reverse; align-items: center; justify-content: center; font-size: 16px; font-weight: 500; transition: background-color 0.3s ease; &::after { margin: 0 10px 0 0; } &:hover { background-color: var(--color-brand-sandstone-shade); } } } } } .card-map-link, .card-flip-link, .card-bottom { position: static; display: block; padding-block: var(--_padding); text-transform: none; font-size: 16px; font-weight: 500; text-align: center; line-height: 1.2; transition: padding 0.3s ease; span { margin-right: 0; font-size: 1em; } } .card-map-link, .card-flip-link { padding-block: 12px; background-color: var(--color-brand-primary-400); color: var(--color-brand-primary-800); display: flex; align-items: center; justify-content: center; transition: background-color 0.3s ease; &:hover { background-color: var(--color-brand-primary); } } } .card-tour .card-back, .card-optional .card-back, .card-back-full { display: flex; flex-direction: column; /** #CARDBACK: Changed for same styling as on front card */ .card-best-offer { border-radius: 30px 0 0 30px; width: auto !important; right: 0; left: auto; } /** #CARDBACK: Hidden for same styling as on front card */ /* .card-duration { padding-inline: var(--_padding); margin-top: 16px; margin-bottom: 8px; } */ a:has(.tmp_map) { order: -1; padding-top: 30px; /** #CARDBACK: Changed due to travel-style label */ padding-bottom: 15px; /** #CARDBACK: Added due to travel-style label */ background-color: #a2cfd5; /** #a2cfd5 is the color of the map background */ .tmp_map { transition: opacity 0.3s ease; } &:hover { .tmp_map { opacity: 0.8; } } } .card-map-link, .card-flip-link { margin-top: 0; } &:not(:has(.card-price-container)) { .card-map-link, .card-flip-link { margin-top: auto; } } .card-title:hover { color: var(--color-brand-primary-700); } /** #CARDBACK: Hidden for same styling as front card */ /* .card-label { top: 16px !important; &:has(~ .bestLabel) { top: 50px !important; } } */ .bestLabel { /** special offer always goes at top as "best seller" is on left */ /** #CARDBACK: Hidden for same styling as front card */ /* .card-special-offer { top: 16px !important; } & ~ .card-label { top: 50px !important; } */ } } /** #CARDBACK: Added row-gap for extra spacing in mobile map view */ .card-back-full { text-align: left; row-gap: 10px; .button-toggle { input[type="checkbox"], input[type="radio"] { & + label { background-color: var(--color-brand-marigold); margin: 0 20px 20px; padding: 0 14px; max-width: 100%; font-size: var(--_min-a11y-font-size); font-family: var(--font-body); font-weight: bold; text-transform: none; text-align: center; transition: background-color 0.3s ease; &:after { font-size: var(--_min-a11y-font-size); font-family: var(--font-body); font-weight: bold; text-transform: none; } &:hover { background-color: var(--color-brand-marigold-shade); } } } } } /** #CARDBACK: Added separate styling for mobile (card back full) and tablet - makes map view smaller */ @media (max-width: 991px) { .card-back-full .tmp_map { min-height: 220px !important; } .card-back .tmp_map { min-height: 130px !important; } .card-back-full a:has(.tmp_map) { padding-top: 40px !important; padding-bottom: 0px !important; } .card-back a:has(.tmp_map) { padding-top: 0 !important; padding-bottom: 0 !important; } } .card:not(.card-car):not(.card-accommodation), .card-back-full { .card-map-link, .card-flip-link, .currency-close { height: var(--_card-map-link-height); } } /** hide promo when card-back-full is present */ .Campaign { &:has(~ .card-back-full) { display: none !important; } } .card-tour { .card-front > a { height: calc( 100% - var(--_card-map-link-height) - 100px ); /** 100px approx price height */ } } .card-optional { .card-front { display: flex; flex-direction: column; height: 100%; .card-price-container { margin-bottom: 0; } .card-bottom { padding-top: calc(var(--_padding) * 0.75); } } } .card-info { border-radius: 16px; padding: 24px; margin-bottom: 0; h3 { font-family: var(--font-body) !important; margin-top: 0; margin-bottom: 12px; font-size: 18px; font-weight: 500; line-height: 1.2; color: var(--color-brand-secondary); text-transform: none; } ul { li { font-family: var(--font-body); font-size: 16px; font-weight: 400; line-height: 1.2; color: var(--color-brand-charcoal); text-transform: none; } } @media screen and (max-width: 800px) { min-height: 0; } } /** SEARCH */ .search-results-filterbar, .cloud-mobile { background-color: var(--color-brand-granite-tint); button, .button-link { padding: 10px 24px; &:has(> i) { padding-right: 20px; } } .sort-filter { select { max-width: 50vw; } label { font-size: 14px; font-weight: 500; line-height: 1.2; color: var(--color-brand-charcoal-tint); text-transform: none; font-family: var(--font-body); } } .button-filter { background-color: var(--color-brand-secondary); color: var(--color-white); font-size: 14px; font-weight: 500; line-height: 1.2; text-transform: none; font-family: var(--font-body); padding: 10px 32px 10px 14px; border-radius: 8px; margin-bottom: 0; &.clear { background-color: transparent; color: var(--color-brand-charcoal-tint); padding-inline: 14px; text-decoration: underline; text-underline-offset: 2px; } &:after { top: 8px; } } @media screen and (max-width: 1279px) { padding-block: 16px; .row { margin-inline: 0; & > div { padding-inline: 0; margin-bottom: 12px; &:last-child { margin-bottom: 0; } } } } @media screen and (max-width: 800px) { select, button { margin-top: 0; } } } .cloud-mobile { border-radius: 16px; } .search-results { .filter-result-summary h2 { font-family: var(--font-body) !important; font-size: 32px; font-weight: normal; color: var(--color-brand-charcoal-shade); text-transform: none; @media screen and (max-width: 1279px) { margin-bottom: 18px; } span { font-weight: bold; color: var(--color-brand-primary-600); } } .search-results-filters { &.box { padding: 0; border-radius: 0; &.sandstone { .head { background-color: var(--color-brand-sandstone); } } } .head { font-family: var(--font-body) !important; font-size: 20px; font-weight: 500; line-height: 1.2; color: var(--color-brand-charcoal); text-transform: none; padding: 16px 20px; margin-bottom: 0; border: 1px solid var(--color-brand-sandstone-shade); border-radius: 16px 16px 0 0; border-bottom: none; &:after { content: none; } } .accordion { background-color: var(--color-white); border-radius: 0 0 16px 16px; border: 1px solid var(--color-brand-sandstone-shade); border-top: none; .panel-heading { padding: 0; border-bottom: 0 !important; .panel-title { font-family: var(--font-body); text-transform: none; font-size: 16px; font-weight: 500; line-height: 1.2; color: var(--color-brand-charcoal); padding: 0; a { padding: 16px 20px; } } } .panel-group { &:only-child { margin-bottom: 0; } .panel { &:first-child { border-top: none; } border-top: 1px solid var(--color-brand-sandstone-shade); } .panel-collapse { .panel-body { background-color: var(--color-white); padding: 16px 28px 0 !important; &:has(+ .panel-body) { margin-bottom: 0 !important; } &:last-child { padding-bottom: 8px !important; } } } } .date-filter { &:before, &:after { content: none; } } input[type="text"], select { font-family: var(--font-body); font-size: 14px; font-weight: 500; line-height: 1.2; color: var(--color-brand-charcoal); background-color: var(--color-brand-sandstone); text-transform: none; cursor: pointer; transition: color 0.3s ease; } input[type="checkbox"], input[type="radio"] { & + label { display: flex; align-items: center; gap: 8px; font-family: var(--font-body); font-size: 16px; font-weight: 500; line-height: 1.2; color: var(--color-brand-charcoal-tint); text-transform: none; cursor: pointer; transition: color 0.3s ease; .tcount { font-family: var(--font-body); font-size: 1em; font-style: normal; color: var(--color-brand-marigold); text-transform: none; margin-left: 0; align-self: baseline; } &:before { margin-right: 0; transition: background-color 0.3s ease, border-color 0.3s ease; } &:hover { color: var(--color-brand-marigold); } } &:checked { & + label { color: var(--color-brand-marigold); &:before { background-color: var(--color-brand-marigold); border-color: var(--color-brand-marigold-shade); } &:after { content: none; } } } } & + .button-link.clear { margin-top: 16px; margin-left: 0; padding-inline: 20px; background-color: var(--color-brand-secondary); &:hover { background-color: var(--color-brand-secondary-400); } } } & > .button-link { margin-top: 20px; background-color: var(--color-brand-secondary); color: var(--color-white); font-family: var(--font-body); font-size: 16px; font-weight: 500; padding: 10px 20px; transition: background-color 0.3s ease; &:hover { background-color: var(--color-brand-secondary-400); } } } .slider-filter { padding-inline: 16px; .ui-slider .ui-slider-range { background-color: var(--color-brand-sandstone-shade); .ui-slider-handle { border-color: var(--color-brand-charcoal); cursor: pointer; &.ui-state-active { background-color: var(--color-brand-charcoal); } } } .slider-labels { font-family: var(--font-body); font-size: 14px; font-weight: 500; line-height: 1.2; color: var(--color-brand-charcoal-tint); text-transform: none; } } .row#tours, #searchResults { display: grid; grid-template-columns: repeat(auto-fill, minmax(310px, 1fr)); gap: 24px; justify-items: center; @media screen and (max-width: 1279px) { margin-inline: 0; } &:before, &:after { content: none; } & > * { width: 100% !important; max-width: var(--_card-width); padding-inline: 0; @media screen and (max-width: 680px) { width: 90% !important; } } & + .container-padbtm { width: 100% !important; } } @media screen and (max-width: 1279px) { padding-top: 0; } .button-link { &.show-all { margin-top: 24px; background-color: var(--color-brand-secondary); text-transform: none; font-family: var(--font-body); font-size: var(--_min-a11y-font-size); font-weight: 500; padding: 13px 22px; transition: background-color 0.3s ease; &:hover, &:focus { background-color: var(--color-brand-secondary-400); } } } .related-categories { .related-title, .related-links > p { font-family: var(--font-body); font-size: 24px; font-weight: bold; line-height: 1.2; text-transform: none; color: var(--color-brand-secondary); margin-bottom: 0.75em !important; } .related-links { padding-top: 0; ul { font-size: 16px; li { a { text-decoration: underline; text-underline-offset: 2px; color: var(--color-brand-charcoal); &:hover { text-decoration: none; color: var(--color-brand-charcoal-shade); } } } } } } } /** TOUR */ .tour { .article-package { padding-top: 20px; @media screen and (max-width: 1280px) { padding-top: 12px; } @media screen and (max-width: 1024px) { padding-top: 8px; } .headline-section { margin-top: 0; } } #highlights { .package-highlight-row { margin: 0; display: grid; grid-template-columns: repeat(auto-fit, minmax(310px, 1fr)); gap: 16px; justify-items: center; &:before, &:after { content: none; } & > * { padding-inline: 0; width: 100%; } @media screen and (max-width: 1024px) { gap: 4px 24px; & > * { min-height: 60px; .card-tiny { max-width: 100%; } } } } .button-link { background-color: var(--color-brand-secondary); color: var(--color-white); &:hover { background-color: var(--color-brand-secondary-400); } } } #itineraries { .clear { display: none; } .button-pdf, .button-link { float: none; display: inline-flex; width: auto; margin-top: 0; margin-left: 0; padding: 10px 20px; line-height: 1.2; font-weight: bold; text-transform: none; color: var(--color-brand-charcoal); background-color: var(--color-white); border: 1px solid var(--color-brand-charcoal); border-radius: 30px; transition: background-color 0.3s ease; &:hover { color: var(--color-white); background-color: var(--color-brand-secondary); } } .itinerary { padding: 0; margin: 0; li { --_bullet-size: 80px; padding-left: calc(var(--_bullet-size) * 1.25); padding-top: 0; &:before { font-size: calc(var(--_bullet-size) * 0.175); line-height: 1.2; font-weight: normal; letter-spacing: 0.5px; top: 13px; width: var(--_bullet-size); font-family: var(--font-body); color: var(--color-brand-charcoal-tint); } &:after { top: 0; padding-top: 0; width: var(--_bullet-size); height: var(--_bullet-size); line-height: calc(var(--_bullet-size) * 1.25); font-size: calc(var(--_bullet-size) * 0.5); font-weight: bold; font-family: var(--font-body); text-transform: none; color: var(--color-brand-secondary); border-radius: 50%; box-shadow: 0 4px 8px rgba(0, 0, 0, 0.1); } &:first-child { .itinerary-item { border-top: none; } } .itinerary-item { border-radius: 0; padding-left: 0; border-top: 1px solid var(--color-brand-sandstone-shade); &:before { left: calc(var(--_bullet-size) / 2); border-color: var(--color-brand-granite-tint); } h3, p, a { font-family: var(--font-body) !important; text-transform: none; color: var(--color-brand-charcoal-tint); } h3 { font-size: 24px; font-weight: bold; line-height: 1.2; text-transform: none; color: var(--color-brand-secondary); } p { strong { color: var(--color-brand-charcoal); } } a { font-size: 16px; color: var(--color-brand-secondary); transition: color 0.3s ease; &:hover { color: var(--color-brand-secondary-400); } } .itinerary-text { height: auto !important; &:after { content: none; } } } @media screen and (max-width: 1024px) { --_bullet-size: 60px; .itinerary-item { h2 { font-size: 20px; } p { font-size: 16px; } } } } } } #optionals { & > .row, .mobile-horizontal-container { margin-bottom: var(--_section-gap); } .col-package-headline:has(+ .col-package-headline) { margin-bottom: 24px; & > p:last-child { margin-bottom: 0 !important; } } .package-optional { margin-bottom: 0 !important; } .card { .button-link { background-color: var(--color-brand-secondary); color: var(--color-white); &:hover { background-color: var(--color-brand-secondary-400); } } } .button-link { background-color: var(--color-white); color: var(--color-brand-secondary); &:hover { background-color: var(--color-brand-sandstone); } } } #map-canvas { border-radius: 16px; } #map-panel { margin: 0; #map-resize { background-color: var(--color-brand-secondary); color: var(--color-white); padding: 9px 12px; font-size: 16px; &:hover { background-color: var(--color-brand-secondary-400); } } } #included { .container-section { padding-top: var(--_section-padding-block); } h3 { margin-top: 0; margin-bottom: 16px; font-size: 24px; font-family: var(--font-body) !important; font-weight: bold; line-height: 1.2; text-transform: none; color: var(--color-brand-secondary); } .list-included { li { padding-left: 20px; } } ul { margin-bottom: 0; & + h3 { margin-top: 24px; } } li { font-family: var(--font-body); a { color: var(--color-brand-charcoal-tint); line-height: 1.4; text-decoration: underline; text-underline-offset: 2px; &:hover { text-decoration: none; color: var(--color-brand-charcoal-shade); } } } .row { &:has(.box-package-info) { display: grid; grid-template-columns: auto 500px; gap: 48px; @media screen and (max-width: 1200px) { grid-template-columns: 1fr; gap: 24px; & > * { .row { grid-template-columns: 1fr !important; } } } & > * { .row { grid-template-columns: 1fr 1fr !important; gap: 24px; @media screen and (max-width: 768px) { grid-template-columns: 1fr !important; } } } } } .box-package-info { margin-top: 0; } } .col-package-headline { &:has(.package-headline + p) { &:has(+ div > p) { .package-headline + p { margin-bottom: var(--_section-gap) !important; } } } } .package-headline { &:has(+ p) { margin-bottom: var(--_section-gap) !important; } & ~ *, & ~ * p { margin-bottom: 0; } & + p { display: block; font-family: var(--font-serif); margin-inline: 0; text-align: left; } } .booking-price_side, .booking-form__header { .card-price-before { margin-bottom: 8px; font-family: var(--font-body); color: var(--color-brand-charcoal-tint); .strike { &:after { background: var(--color-brand-marigold); } } } .booking-menu-price { margin-bottom: 12px; .total-price, #total-price { font-size: 64px; font-weight: bold; font-family: var(--font-body); color: var(--color-brand-charcoal); @media screen and (max-width: 640px) { font-size: 48px; } } &.discounted { .total-price, #total-price, .currency-link { color: var(--color-brand-marigold); } } .currency-link { margin-left: 0; font-size: 16px; font-weight: 500; font-family: var(--font-body); ul { border: 0; box-shadow: 0 4px 13px rgba(0, 0, 0, 0.1); border-radius: 8px; overflow: hidden; li { &:hover { background-color: var(--white); } a { padding: 10px 16px; transition: color 0.3s ease; &:hover { color: var(--color-brand-marigold); } } } } } } h2 { color: var(--color-brand-charcoal-tint); } } } .card-tiny { margin: 0; border-radius: 8px; transition: box-shadow 0.3s ease; @media screen and (max-width: 1024px) { margin: 0 auto 16px; } &:hover { box-shadow: 0 5px 8px rgba(0, 0, 0, 0.1); .card-tiny-text { h4 { color: var(--color-brand-secondary-400); } } } & > a:has(.image-circle) { height: 100%; display: block; } .card-tiny-text { padding: 12px 12px 12px 0; height: 100%; } h3, h4, span, .card-view-link { text-transform: none; font-family: var(--font-body) !important; font-size: 14px; line-height: 1; font-weight: 500; color: var(--color-brand-charcoal-tint); } h3, h4 { font-size: 18px; font-weight: bold; line-height: 1; margin-top: 0; color: var(--color-brand-secondary); } h3 { padding-top: 12px; } } section.sec-color-grey { &:has(> .breadcrumb) { background-color: var(--color-brand-sandstone); .breadcrumb { li { & + li { &:before { color: var(--color-brand-sandstone-shade); } } a { color: var(--color-brand-secondary); } } } } } .breadcrumb, .submenu { padding-inline: 0; @media screen and (max-width: 1540px) { padding-inline: var(--_section-padding-inline); } } .breadcrumb { font-family: var(--font-body); font-size: 14px; font-weight: 500; line-height: 1.8; text-transform: none; max-width: 1500px; margin: 0 auto; li { & + li { &:before { color: var(--color-brand-granite-shade); padding: 0 7px 0 5px; } } a { color: var(--color-brand-charcoal-tint); text-underline-offset: 2px; &:hover { text-decoration: underline; } } } } .submenu, .submenu.dark { --_submenu-height: 50px; height: var(--_submenu-height); background-color: rgba(255, 255, 255, 0.9); color: var(--color-brand-charcoal); font-size: 12px; line-height: 2em; width: 100%; box-shadow: 0 4px 13px rgba(0, 0, 0, 0.1); margin-bottom: 0; ul { li { a { color: var(--color-brand-charcoal); } &.selected { background-color: var(--color-brand-secondary); margin-inline: -16px; a { color: var(--color-white) !important; padding-inline: 16px; &:hover { color: var(--color-white); } } } } } } .submenu, #sublinks { background-color: rgba(255, 255, 255, 0.95); transition: top 0.3s ease-out; &.sticktop { @media screen and (max-width: 1279px) { top: calc(var(--_sub-header-height) + var(--_mobile-nav-height)); } @media screen and (max-width: 991px) { top: var(--_mobile-nav-height); } } .submenu-normal { max-width: 1500px; padding-inline: 0; margin: 0 auto; } ul { gap: 30px; max-width: 1500px; margin-inline: auto; li { padding-inline: 0; a { display: block; font-family: var(--font-body); font-size: 16px; font-weight: 500; line-height: var(--_submenu-height); text-transform: none; color: var(--color-brand-charcoal-tint); transition: color 0.3s ease; &:hover { color: var(--color-brand-secondary); .card-special-offer { background-color: var(--color-brand-citrus-tint); } } } &.more { ul { padding-bottom: 0; li { a { padding-inline: 20px; &:hover { color: var(--color-brand-secondary); } } @media (max-width: 992px) { &:last-child { a { padding-right: 24px; } } a { padding-inline: 0; } } } } @media screen and (max-width: 1280px) { & > a { /** "More" button */ display: none; } & > ul { /** "More" dropdown */ position: static; display: flex; gap: 30px; background-color: transparent; box-shadow: none; li { height: var(--_submenu-height); a { padding-inline: 0; } &:has(> a:not(.button-link):hover) { &:not(:has(.card-special-offer)) { border-bottom: 3px solid var(--color-brand-secondary); } } } } } } &.info { .button-link { background-color: var(--color-brand-primary-400); color: var(--color-brand-primary-800) !important; &:hover { background-color: var(--color-brand-primary); color: var(--color-brand-primary-800) !important; } } } .card-special-offer { height: 30px; line-height: 30px; margin: calc((var(--_submenu-height) - 30px) / 2) 0; top: 0; text-transform: none; font-family: var(--font-body); background-color: var(--color-brand-citrus); padding: 0 10px; border-radius: 8px; transition: background-color 0.3s ease; &:has(.fa), &:has(.fal), &:has(.far) { padding-left: 8px; } } } } & > ul { & > li { &.highlight, &:has(> a:not(.button-link):hover) { &:not(:has(.card-special-offer)) { border-bottom: 3px solid var(--color-brand-secondary); } } } } .button-link { font-size: 16px; line-height: 36px; color: var(--color-white) !important; display: flex; align-items: center; padding: 0 15px 0 9px; margin: calc((var(--_submenu-height) - 36px) / 2) 0; transition: background-color 0.3s ease; span { font-size: 1.5em; line-height: 1; &:before { top: 0; } } &:hover { background-color: var(--color-brand-marigold-shade); color: var(--color-white); } } @media screen and (max-width: 992px) { li { &:last-child { padding-right: 24px; } } } } .section-package-info, #included { padding-bottom: 0; .container-section { padding-top: 32px; &.align-left { margin-left: auto; padding-inline: 0; @media screen and (max-width: 1580px) { padding-inline: var(--_section-padding-inline); } .row { margin-inline: 0; & > * { width: 100%; left: auto; right: auto; float: none; margin-inline: 0; padding-inline: 0; } } & > .row { & > div { & > .row { display: grid; grid-template-columns: auto 500px; gap: 48px; &::before, &::after { content: none; } @media screen and (max-width: 1200px) { grid-template-columns: 1fr; gap: 24px; } } } } } & > .row { &:before, &:after { content: none; } &:empty { display: none; } } } .tour-email-button { max-width: 100%; .btn { font-family: var(--font-body); font-size: var(--_min-a11y-font-size); padding: 10px 20px; line-height: 1.2; font-weight: bold; text-transform: none; color: var(--color-brand-charcoal); background-color: var(--color-white); border: 1px solid var(--color-brand-charcoal); border-radius: 30px; transition: background-color 0.3s ease; &:hover { color: var(--color-white); background-color: var(--color-brand-secondary); } } @media screen and (max-width: 1200px) { margin-top: 0; } } .pull-right-info { order: 2; } .info-icons { order: 1; & > .row { &:before, &:after { content: none; } display: flex; gap: 12px; align-items: start; justify-content: flex-start; .highlights { ul { list-style: none; padding-left: 20px; font-weight: normal; font-size: 18px; line-height: 1.3; } .heading-1 { font-family: var(--font-serif); text-transform: none; font-size: 24px; font-weight: 500; line-height: 1.2; color: var(--color-brand-secondary); margin-bottom: 16px; } li { &:before { left: 0; } } } .package-info-icon { &:first-child { margin-top: 40px; } h2 { font-weight: bold; margin-top: 2px; } h2, .package-info-title { font-family: var(--font-body) !important; font-size: 16px; line-height: 1.2; text-transform: none; color: var(--color-brand-secondary); } .package-info-title { font-size: 18px; color: var(--color-brand-charcoal-tint); } } @media screen and (max-width: 1024px) { flex-direction: column; gap: 24px; .highlights { margin-bottom: 0; } .package-info-icon { padding-left: 0; &:first-child { margin-top: 0; } } } } } } .box-package-info { background-color: var(--color-brand-sandstone); padding: 24px; border-radius: 16px; max-width: 100%; margin-bottom: 0 !important; .stars-rating, .stars-count, h2, .booking-price_side { font-family: var(--font-body) !important; color: var(--color-brand-charcoal-tint); } .stars { color: var(--color-brand-citrus); display: flex; gap: 3px; width: fit-content; align-items: center; .stars-rating { color: var(--color-brand-charcoal-shade); } .stars-count { a { text-decoration: underline; text-underline-offset: 2px; color: var(--color-brand-charcoal-shade); &:hover { text-decoration: none; } } } } h2 { font-size: 20px; color: var(--color-brand-charcoal-shade); } .buttons { padding-top: 0; display: flex; gap: 12px; margin-inline: 0; &:before, &:after { content: none; } & > * { padding-inline: 0; } @media screen and (max-width: 1200px) { & > * { width: auto; max-width: 300px; } } .button-link { flex: 1; padding: 13px 20px; text-transform: none; font-family: var(--font-body); &.green-light, &.dark-grey { background-color: var(--color-brand-primary-400); color: var(--color-brand-primary-800); span { line-height: 0.75; margin-right: 4px; } &:hover { background-color: var(--color-brand-primary); } } } @media (max-width: 767px) { flex-wrap: wrap; & > * { max-width: 100%; } & > div + div { margin-top: 0; max-width: 100%; } } } .right-info-x { padding-inline: 0; h1.sup, h2.sup, h3.sup { font-family: var(--font-body) !important; font-size: 20px; font-weight: bold; line-height: 1.2; text-transform: none; color: var(--color-brand-secondary); margin: 0 0 20px; } ul { li { color: var(--color-brand-charcoal); font-family: var(--font-body); &:before { left: 0; } } } p { margin-bottom: 0; a, a.link-red { font-family: var(--font-body); font-size: 16px !important; font-weight: bold; text-decoration: underline; text-underline-offset: 2px; cursor: pointer; color: var(--color-brand-secondary) !important; &:hover { text-decoration: none; color: var(--color-brand-charcoal-shade); } } } } .booking-price_side { .headline--sub { font-size: 16px; margin-bottom: 12px; } p { color: var(--color-brand-charcoal-shade); margin-bottom: 8px; &:last-child { margin-bottom: 0; } } } } .box-package-info, .booking-form--package { position: relative; .card-special-offer { font-family: var(--font-body); font-size: 14px; text-transform: none; padding: 0 10px; border-radius: 8px 0 0 8px; transition: background-color 0.3s ease; &:has(.fa), &:has(.fal), &:has(.far) { padding-left: 8px; } &:hover { background-color: var(--color-brand-citrus-tint); } } } .sec-travel-guide-article { .article-package { padding: var(--_section-padding-block) 0; @media screen and (max-width: 1540px) { padding: var(--_section-padding-block) var(--_section-padding-inline); } .headline-section { margin-top: 0; margin-bottom: 0.75em; padding-top: 0; padding-bottom: 0; font-size: 48px; font-weight: normal; line-height: 1.1; text-transform: none; color: var(--color-brand-secondary); @media screen and (max-width: 1024px) { font-size: 36px; } } .left-info-x { h1, h2, h3 { color: var(--color-brand-secondary); font-size: 36px; font-weight: bold; line-height: 1.2; text-transform: none; font-family: var(--font-body) !important; margin: 0 0 20px; } h2, h3 { font-size: 24px; } ul li, p { a { color: var(--color-brand-charcoal-shade); font-weight: bold; text-decoration: underline 2px solid; text-underline-offset: 3px; &:hover { text-decoration: none; } } } } } .container-fluid { max-width: 1500px; .travel-guide-article.travel-guide-accommodation { padding-left: 0; } } .button-fullscreen span, #map-resize span { width: 40px; height: 40px; line-height: 40px; color: var(--color-brand-secondary); font-size: 1em; margin-left: 12px; } @media (max-width: 992px) { #map-resize { background-color: var(--color-white); padding: 10px 10px 10px 20px; color: var(--color-brand-secondary); } } .box-package-info { & + .place-map-image { margin-top: 36px; } } } section { .col-package-headline { .package-headline { display: block; margin-bottom: 32px; } p { display: block; margin-inline: 0; text-align: left; } } } .section-faq { .row { @media screen and (max-width: 1024px) { & > * { width: 100%; } } } .faqs { margin-bottom: 0; .faq { padding: 0; border-bottom: none; &:last-child { .panel-heading { border-bottom: none; } } &:has(+ .faq [data-toggle="collapse"]:not(.collapsed)) { .faq-heading { border-bottom: none; } } } .faq-heading { border-bottom: 1px solid var(--color-brand-sandstone-shade); font-family: var(--font-body); font-weight: 500; font-size: 18px !important; line-height: 1.15; text-transform: none; color: var(--color-brand-secondary); text-align: left; padding: 16px 20px; display: flex; align-items: center; justify-content: space-between; transition: color 0.3s ease, background-color 0.3s ease; &:not(.collapsed) { background-color: var(--color-white); border-radius: 16px 16px 0 0; } &:hover { font-family: var(--font-body); color: var(--color-brand-charcoal); background-color: var(--color-white); } } .faq-collapse { padding: 16px; margin-bottom: 16px; background-color: var(--color-white); border-radius: 0 0 16px 16px; & > div:first-child { margin-top: 0; } p { margin-bottom: 1em; font-size: 18px; color: var(--color-brand-charcoal-tint); } ul { padding-left: 0; column-count: 1; li { color: var(--color-brand-charcoal-tint); font-size: 18px; padding-block: 0; } } a { color: var(--color-brand-charcoal); text-decoration: underline; text-underline-offset: 2px; &:hover { text-decoration: none; color: var(--color-brand-charcoal-shade); } } } } } #gallery { .container-section { padding-bottom: var(--_section-gap); } } .section-package-reviews { .client-review-paragraph { background-color: var(--color-white); border-radius: 16px; padding: 20px 20px 0; h2, h3, h4 p { font-family: var(--font-body) !important; text-transform: none; margin-top: 0; cursor: auto; } h3 { color: var(--color-brand-secondary); font-size: 18px; font-weight: bold; line-height: 1.2; } p { color: var(--color-brand-charcoal); margin-bottom: 24px; } .review-text { cursor: auto; &:after { text-transform: none; font-size: 16px; font-weight: bold; font-family: var(--font-body); background: linear-gradient( to bottom, rgba(255, 255, 255, 0.65), rgba(255, 255, 255, 1) ); } } .client-review-paragraph-footer { background-color: var(--color-brand-sandstone); color: var(--color-brand-secondary); border-color: var(--color-brand-sandstone-shade); font-family: var(--font-body) !important; font-weight: 500; font-size: 20px; line-height: 1.2; text-transform: none; padding: 20px; border-radius: 0 0 16px 16px; h4 { font-family: var(--font-body) !important; font-weight: bold; margin-bottom: 2px; } .client-review-paragraph-img { width: 50px; height: 50px; flex-shrink: 0; background-color: var(--color-brand-primary); color: var(--color-brand-primary-800); font-size: 24px; line-height: 1; border-radius: 50%; display: flex; align-items: center; justify-content: center; .client-review-paragraph-sociallarge { &:before { color: var(--color-brand-primary-800); } } } } .stars { color: var(--color-brand-citrus); font-size: 20px; margin-bottom: 4px; i { width: 20px; margin-right: 4px; } } } a.btn-more-reviews { background-color: var(--color-brand-primary-400); color: var(--color-brand-primary-800); &:hover { background-color: var(--color-brand-primary); } } } .section-package-cards { .mobile-horizontal-container { margin-top: var(--_section-gap); @media screen and (max-width: 1200px) { margin-inline: -30px; overflow-x: auto; } } #accommodations { overflow: visible; } .mobile-accommodation-horizontal-row, .mobile-car-horizontal-row { display: grid; grid-template-columns: repeat(auto-fill, minmax(var(--_card-width), 1fr)); gap: 24px; justify-items: start; margin-inline: 0; &:before, &:after { content: none; } & > * { float: none; width: 100%; margin-inline: 0; padding-inline: 0; height: 100%; max-width: 100%; } .card { margin-bottom: 0; max-width: 100%; height: 100%; &.card-small { min-height: 0; .card-bottom, .button-toggle { position: static; margin-top: auto; } } &:hover { transform: none; } } .card-front, .card-back { display: flex; flex-direction: column; background-color: var(--color-brand-sandstone); border-radius: 16px; padding: 0 0 20px; margin: 0; max-width: 100%; width: 100%; height: 100%; min-height: 0; min-width: 0; box-shadow: 0 6px 7px rgba(0, 0, 0, 0.25); transition: box-shadow 0.3s ease; &:hover { box-shadow: 0 2px 2px rgba(0, 0, 0, 0.25); .card-img { opacity: 0.8; } } .card-img { background-color: var(--color-white); transition: opacity 0.3s ease; } h3 { font-size: 24px; text-align: left; padding-inline: 20px; font-family: var(--font-body) !important; font-weight: bold; line-height: 1; text-transform: none; color: var(--color-brand-secondary); margin: 20px 0 16px; transition: color 0.3s ease; } p { margin-bottom: 20px; } .button-toggle { input[type="checkbox"], input[type="radio"] { & + label { background-color: var(--color-brand-marigold); margin: 0 20px 20px; padding: 0 14px; max-width: 100%; font-size: var(--_min-a11y-font-size); font-family: var(--font-body); font-weight: bold; text-transform: none; transition: background-color 0.3s ease; &:after { font-size: var(--_min-a11y-font-size); font-family: var(--font-body); font-weight: bold; text-transform: none; } &.date-selected { background-color: var(--color-brand-marigold-shade); &:hover { background-color: var(--color-brand-marigold); } } &:hover { background-color: var(--color-brand-marigold-shade); } @media screen and (max-width: 800px) { margin: 0 20px 10px; } } &:checked { & + label { background-color: var(--color-brand-primary-400); color: var(--color-brand-primary-800); &:before { color: var(--color-brand-primary-800); margin-right: 6px; } } } } } .card-view-link, .card-flip-link { display: inline-flex; align-items: center; justify-content: center; padding: 4px 8px; font-family: var(--font-body); font-size: 14px; font-weight: bold; line-height: 1; text-transform: none; color: var(--color-white) !important; background-color: var(--color-brand-secondary); border-radius: 16px; margin: 0 auto; padding: 9px 13px; max-width: 100%; transition: background-color 0.3s ease; &:hover { background-color: var(--color-brand-secondary-400); } } .card-flip-link { .icon { &:before { font-size: 1em; } } } ul { text-align: left; } .card-car-icons { padding-inline: 20px; li { font-size: 16px; line-height: 1; color: var(--color-brand-charcoal-tint); span { color: var(--color-brand-primary-600); &.icon-transmission { font-family: var(--font-body); } } } } } @media screen and (max-width: 1200px) { display: flex; padding: 20px 30px; width: max-content; & > * { width: var(--_card-width); } } @media screen and (max-width: 1024px) { margin-inline: -25px; } } } .section-package-reviews, .section-package-cards { .container-section { max-width: 1500px; } @media screen and (max-width: 1024px) { .card { min-width: 240px; } } } section:has(.container-section-inline-form) { background-color: transparent; overflow: visible; .container-section-inline-form { padding-block: 0; .booking-form--package { --_padding-block: 30px; --_padding-inline: 26px; background-color: var(--color-brand-sandstone); border-radius: 16px; padding: var(--_padding-block) var(--_padding-inline); z-index: 1; input[type="text"], input[type="date"], input[type="number"], select { background-color: var(--color-white); color: var(--color-brand-charcoal); border: 1px solid var(--color-brand-sandstone-shade); border-radius: 16px; padding: 12px 20px; font-size: 18px; font-family: var(--font-body); font-weight: normal; text-transform: none; height: 48px; } label { color: var(--color-brand-charcoal-shade); font-weight: 500; } .price-before, p a { color: var(--color-brand-charcoal); } .price-before { margin-bottom: 8px; } .card-special-offer { top: calc(var(--_padding-block) + 24px); right: var(--_padding-inline); } .row { &:has(#booking_accommodation) { & > * { float: none; @media screen and (max-width: 1200px) { margin-bottom: 16px; } &:last-child { margin-bottom: 0; } } } } #booking_accommodation { min-width: 300px; } .booking-calendar-icon { top: 46px; } ul { padding: 0; background-color: var(--color-white); li { a { color: var(--color-brand-charcoal-tint); font-size: 16px; } } } @media screen and (max-width: 1400px) { .tour-booking-buttons { flex-wrap: wrap; & > * { width: 100%; max-width: 100%; } } } @media screen and (max-width: 1200px) { --_padding-block: 20px; --_padding-inline: 16px; display: grid; grid-template-columns: 1fr; gap: 24px; & > * { float: none; width: auto; } .booking-form__header { margin-inline: auto; max-width: 500px; .row { margin-bottom: 0; & > * { width: 100%; float: none; } } } .card-special-offer { position: static; border-radius: 8px; font-size: 16px; text-align: center; padding: 4px 10px; height: auto; } .row { margin-bottom: 16px; } #booking-side-form { padding-top: 0; } } } .booking-form__header { background-color: var(--color-white); border-radius: 16px; padding: 20px; h2, .booking-menu-price { font-family: var(--font-body) !important; color: var(--color-brand-charcoal-tint); } p { color: var(--color-brand-charcoal-shade); } & > p:first-child { padding-top: 0; } h2 { font-size: 20px; color: var(--color-brand-charcoal-shade); font-weight: bold; margin-bottom: 20px; } p { color: var(--color-brand-charcoal-shade); margin-bottom: 8px; padding-bottom: 0; font-size: 14px; font-style: normal; &:first-child { padding-top: 0; } } .booking-menu-price { #per-person-price, .currency-link { color: var(--color-brand-charcoal); } #per-person-price { font-size: 64px; font-weight: bold; font-family: var(--font-body); } .price-before { & + #per-person-price, & ~ .currency-link { color: var(--color-brand-marigold); } } } .tour-booking-buttons { padding-top: 0; display: flex; gap: 12px; margin-inline: 0; &:before, &:after { content: none; } & > * { padding-inline: 0; } .button-link, .button-submit-form { flex: 1; padding: 13px 20px; text-transform: none; font-family: var(--font-body); font-size: var(--_min-a11y-font-size); line-height: 1; border-radius: 30px; transition: background-color 0.3s ease; margin-bottom: 0; span { font-size: 1em; } &.dark-grey { background-color: var(--color-brand-primary-400); color: var(--color-brand-primary-800); &:hover { background-color: var(--color-brand-primary); } } } } } } } #departures { .box-package-info { background-color: var(--color-white); padding: 24px; margin-top: 0; .booking-price_side { margin-bottom: 0; } .buttons { margin-top: 16px; } @media screen and (max-width: 991px) { max-width: 800px; &.box-package-info-departure .buttons { display: flex; } } } div:has(> .departures-list) { padding-inline: 0; @media screen and (max-width: 1279px) { width: 100%; left: 0; padding-inline: 15px; } } .departures-list { margin-top: 24px; background: var(--color-white); padding: 24px; border-radius: 16px; & :not(i):not([class^="icon-"]) { font-family: var(--font-body); } ul > li > .row { min-height: 0; } .btn-toggle-departures { background-color: var(--color-brand-secondary); color: var(--color-white); display: block; span, i { display: inline-block; } i { margin-left: 8px; } .less { display: none; } &.open { .less { display: inline-block; } .more { display: none; } } &:hover { background-color: var(--color-brand-secondary-400); } } .green-light { background-color: var(--color-brand-primary-400); color: var(--color-brand-primary-800); span { line-height: 0.75; margin-right: 4px; } &:hover { background-color: var(--color-brand-primary); } } .departure-header { padding-top: 0; padding-bottom: 14px; & > span { font-size: 14px; & + span { font-size: 12px; } } } .departure-date { padding-block: 14px; .day { font-size: 14px; } .date { font-size: 16px; } } .departure-price { padding-block: 14px; span { font-size: 16px; &.departure-price-original { position: static; } } } .departure-spaces { padding-block: 14px; & > span { font-size: 16px; & + span { font-size: 14px; } } } .departure-book { padding-block: 14px; .button-link { font-size: var(--_min-a11y-font-size); font-weight: bold; background-color: var(--color-brand-marigold); color: var(--color-white); &:hover { background-color: var(--color-brand-marigold-shade); } } } .btn-departures-extras { display: flex; justify-content: center; gap: 16px; & > * { margin-block: 0; } } } } .accommodation-days { @media screen and (max-width: 768px) { padding-block: 12px; } .accommodation-day-container { .accommodation-day { border-radius: 16px; box-shadow: 0px 4px 5px rgba(0, 0, 0, 0.1); transition: box-shadow 0.3s ease; &:hover { box-shadow: 0px 2px 4px rgba(0, 0, 0, 0.1); } } .accommodation-day-image { a { img { transition: opacity 0.3s ease; } &:hover { img { opacity: 0.8; } } } } .accommodation-day-title { border-radius: 0 16px 16px 0; padding: 0; a { padding: 16px; display: block; &:hover { h2 { color: var(--color-brand-secondary-400); } } } p, h2 { font-family: var(--font-body) !important; } p { color: var(--color-brand-charcoal-tint); } h2 { line-height: 1.1; margin-top: 2px; color: var(--color-brand-secondary); transition: color 0.3s ease; } } .accommodation-day-text { p { color: var(--color-brand-charcoal-tint); font-weight: normal; } } .accommodation-day-link { a { color: var(--color-brand-secondary); text-transform: none; font-weight: bold; font-family: var(--font-body); font-size: 14px; transition: color 0.3s ease; &:hover { color: var(--color-brand-secondary-400); } } } } } .sec-graph { .chart-info__item { font-family: var(--font-body); font-size: 14px; line-height: 1.2; font-weight: normal; text-transform: none; color: var(--color-brand-charcoal-tint); text-align: left; &:hover { .chart-info__bar { background-color: var(--color-brand-secondary-400); } } &:last-child .chart-info__labels { transform: translateX(0); } .chart-info__bar { border-radius: 16px 16px 0 0; &-horizontal { border-radius: 0 16px 16px 0; } &:hover { background-color: var(--color-brand-secondary-400); } } } .container-section .charts { @media screen and (max-width: 1280px) { } .charts-container .chart-container-item .chart-year { font-family: var(--font-body); font-weight: bold; font-size: 48px; line-height: 1; color: var(--color-brand-secondary); display: flex; justify-content: center; align-items: center; gap: 0.35em; .btn-nav { display: block; position: static; margin: 0; transition: padding 0.3s ease; &.btn-right:hover { padding-left: 10px; } &.btn-left:hover { padding-right: 10px; } } } } .chart-info__discount { background-color: var(--color-brand-citrus); color: var(--color-brand-secondary); font-family: var(--font-body); font-size: 14px; font-weight: 500; text-transform: none; padding: 0 8px 0 30px; border-radius: 16px; &:before { font-size: 1.3em; color: var(--color-brand-secondary); } } .chart-info__bestvalue { background-color: var(--color-neutral-200); color: var(--color-brand-secondary); font-family: var(--font-body); font-size: 14px; font-weight: 500; text-transform: none; padding: 0 8px 0 30px; border-radius: 16px; &:before { font-size: 1.3em; color: var(--color-brand-marigold); } } } #sbooking-form-container { border-top: 0; .container-section > .container-section { padding: 0; &.mobile-horizontal-container { margin-inline: calc(0px - (var(--_section-padding-inline))); width: calc(100% + (var(--_section-padding-inline) * 2)); padding-inline: var(--_section-padding-inline); } .mobile-horizontal-row { margin-inline: 0; display: flex; gap: 24px; &:before, &:after { content: none; } & > * { padding-inline: 0; float: none; width: 100%; } &:not(:has(> :nth-child(4))) { & > * { /** force justify start when less than 4 items */ max-width: var(--_card-width); } } .card-front { display: flex; flex-direction: column; height: 100%; .card-price-container { margin-top: auto; } } @media screen and (max-width: 1240px) { display: grid; grid-template-columns: 1fr 1fr; grid-template-rows: auto; justify-items: center; & > * { min-width: var(--_card-width); width: auto; &:nth-child(2n + 1) { justify-self: end; } &:nth-child(2n) { justify-self: start; } } } @media screen and (max-width: 800px) { display: flex; flex-direction: column; gap: 24px; & > * { margin-inline: auto; } } @media screen and (max-width: 480px) { flex-direction: row; padding-bottom: 16px; align-items: normal; width: max-content !important; } } } } .travel-guide-article { display: grid; grid-template-columns: 3fr 1fr; gap: 24px; @media screen and (max-width: 1540px) { grid-template-columns: auto var(--_card-width); } @media screen and (max-width: 991px) { grid-template-columns: 1fr; } & > :not(.button-link) { padding-inline: 0; float: none; width: 100%; } @media screen and (min-width: 1024px) { & > h2:first-child { margin-top: 0; } } .left-info-x { & + *:has(+ .right-info-x) { display: none; } } .right-info-x { background-color: var(--color-brand-sandstone); border-radius: 16px; padding: 24px; height: fit-content; .sup { color: var(--color-brand-charcoal); text-transform: none; font-family: var(--font-body); margin-left: 0; margin-bottom: 14px; &:first-child { margin-top: 0; } } h1 { color: var(--color-brand-secondary) !important; font-family: var(--font-body) !important; text-transform: none; line-height: 1.1; margin: 0 0 20px; a { span { color: var(--color-brand-secondary) !important; } } } p { color: var(--color-brand-charcoal-shade) !important; } ul { li { font-family: var(--font-body); font-weight: normal; &:before { left: 26px; } a { color: var(--color-brand-charcoal); font-weight: bold; &:hover { text-decoration: none !important; } } } } } } #tour-gallery { @media screen and (max-width: 980px) { .collage-single { img { width: 100%; } } } } .card-view-link, .card-flip-link, .card-view-link.accommodation-card-update { display: inline-flex; align-items: center; justify-content: center; gap: 8px; color: var(--color-brand-secondary); font-family: var(--font-body) !important; font-size: 16px !important; font-weight: bold; text-transform: none !important; padding: 9px 18px !important; line-height: 1; margin-bottom: 0 !important; transition: color 0.3s ease; &:hover { color: var(--color-brand-secondary-400); } } #mobile-car-card { h1 { color: var(--color-brand-secondary); span { font-size: 14px; } } h3 { margin: 50px 0 16px; } ul { color: var(--color-brand-charcoal); padding-left: 30px; padding-right: 30px; } .card-bottom { padding-bottom: 20px; bottom: 0; } .card-flip-link { border-radius: 30px !important; } } /** CHECKOUT */ .checkout { .container-section { padding-block: 24px; } .sec-slipper { padding-left: calc(50vw - 760px); & > .container-section, & > .container { padding-block: 24px; @media screen and (min-width: 1580px) { margin-inline: 0; } } } .page-header { margin-top: 0; margin-bottom: 12px; padding-bottom: 0; line-height: 1.2; a { color: var(--color-brand-secondary); transition: color 0.3s ease; &:hover { color: var(--color-brand-secondary-400); } } .card-special-offer { background-color: var(--color-brand-citrus); font-family: var(--font-body); border-radius: 8px; font-weight: bold; } @media screen and (max-width: 800px) { font-size: 24px; & > a { &:first-child { display: block; } &.infobox { margin: 8px 0 0 0; display: inline-block; } } .card-special-offer { margin: 16px 0 0 0; font-size: 16px; } } @media screen and (max-width: 640px) { .card-special-offer { font-size: 14px; } } @media screen and (max-width: 480px) { font-size: 20px; .card-special-offer { margin: 0; position: relative; top: 0; } } } .lead { margin-inline: 0; } .booking-steps { display: flex; li { flex: 1; font-family: var(--font-body); font-size: 14px; font-weight: 500; text-transform: none; color: var(--color-brand-charcoal-tint); @media screen and (max-width: 480px) { font-size: 12px; } } } #booking-form-container { padding-block: 36px; padding-left: calc(50vw - 760px); background-color: var(--color-brand-sandstone) !important; & > .container-padbtm { max-width: 100%; margin-left: 0; @media screen and (min-width: 801px) { padding-top: 0; } @media screen and (max-width: 1200px) { width: 100%; } } @media screen and (max-width: 800px) { padding-block: 0; } .package-headline, .col-md-12 > h1, .lead { color: var(--color-brand-secondary); } .package-headline, .col-md-12 > h1 { font-size: 28px; margin-bottom: 24px; margin-top: 24px; &:has(+ p) { margin-bottom: 0; } & + p { font-size: 18px; margin-inline: 0; text-align: left; margin-bottom: 18px; display: block; } } textarea, select, input[type="password"], input[type="file"], input[type="email"], input[type="date"], input[type="text"], input[type="tel"], input[type="password"]::placeholder, input[type="file"]::placeholder, input[type="email"]::placeholder, input[type="date"]::placeholder, input[type="text"]::placeholder, input[type="tel"]::placeholder, .dropdown-toggle { text-transform: none; font-size: 14px; font-family: var(--font-body); font-weight: normal; line-height: 1.2; color: var(--color-brand-granite-shade); } textarea, select, input[type="password"], input[type="file"], input[type="email"], input[type="date"], input[type="text"], input[type="tel"], .dropdown-toggle { color: var(--color-brand-charcoal); background-color: var(--color-white); border-radius: 16px; border: 1px solid var(--color-brand-sandstone-shade); padding: 12px; margin-bottom: 16px; } @media (max-width: 768px) { textarea, select, input[type="password"], input[type="file"], input[type="email"], input[type="date"], input[type="text"], input[type="tel"], input[type="password"]::placeholder, input[type="file"]::placeholder, input[type="email"]::placeholder, input[type="date"]::placeholder, input[type="text"]::placeholder, input[type="tel"]::placeholder, .dropdown-toggle { font-size: 16px; } } .req { color: var(--color-brand-marigold); margin-left: 4px; } #datepicker-arrival { font-size: 18px; padding-left: 50px; } .booking-item-container.large-input { margin-bottom: 32px; .booking-calendar-icon { bottom: 28px; left: 12px; } } input[type="checkbox"], input[type="radio"] { & + label, & + label:after { font-size: 14px; } &.card-selector, &.car-card-select { & + label { font-size: var(--_min-a11y-font-size); background-color: var(--color-brand-marigold); &:after { font-size: var(--_min-a11y-font-size); font-weight: bold; } } &:disabled { & + label { color: var(--color-brand-granite-tint); background-color: var(--color-brand-granite); } &:after { color: var(--color-brand-granite-tint); } } } } input.date + div { bottom: 26px; } select { padding-block: 0; } #frmPersonal { select { padding-block: 8px; } } .counter-form { background-color: transparent; ul { li { background-color: var(--color-white); color: var(--color-brand-charcoal); border-radius: 16px; border: 1px solid var(--color-brand-sandstone-shade); font-family: var(--font-body); font-size: 18px; text-transform: none; margin: 0 0 16px; padding: 16px; .counter-form-value { font-size: 24px; } .counter-form-label { font-size: 18px; } .counter-form-controls { a { font-family: var(--font-body); font-size: 18px; font-weight: 500; transition: background-color 0.3s ease; &:hover { background-color: var(--color-brand-secondary-400); color: var(--color-white); } @media screen and (max-width: 800px) { font-size: 28px; line-height: 43px; } } } @media screen and (max-width: 640px) { padding: 12px; .counter-form-value { font-size: 20px; } .counter-form-label { font-size: 14px; } } } } } #availability { z-index: 2; font-family: var(--font-body); top: -24px; } .card-accommodation { .card-front, .card-back { background-color: var(--color-white); border-radius: 16px; border: 1px solid var(--color-brand-sandstone-shade); &:hover:not(.card-large-back.flip) { box-shadow: 0 2px 4px rgba(0, 0, 0, 0.25); } } .dropdown-form { background-color: var(--color-white); border-radius: 16px; border: 1px solid var(--color-brand-sandstone-shade); margin-bottom: 16px; &.expanded { border-color: var(--color-brand-marigold); } h2, ul li { font-family: var(--font-body) !important; } } .preferences { margin: 0 0 20px !important; } } .card-accommodation, .card-car { h1, p { font-family: var(--font-body) !important; } @media screen and (max-width: 480px) { h1 { font-size: 20px; } } .card-bottom { position: static; padding-block: 14px; .button-toggle input[type="checkbox"], .button-toggle input[type="radio"] { label { background-color: var(--color-brand-marigold); color: var(--color-white); padding: 9px 13px; line-height: 1; height: auto; transition: background-color 0.3s ease; &:before { color: var(--color-white); } &:after { color: var(--color-white); font-family: var(--font-body); font-size: var(--_min-a11y-font-size); text-transform: none; font-weight: bold; line-height: 1; } &:hover { background-color: var(--color-brand-marigold-shade); color: var(--color-white); } } &:checked + label, & + label.checked { background-color: var(--color-brand-primary-400) !important; color: var(--color-brand-primary-800) !important; &:before, &:after { color: var(--color-brand-primary-800) !important; font-weight: bold; font-size: var(--_min-a11y-font-size); } } } } .card-back { display: flex; flex-direction: column; .card-bottom { margin-top: auto; .card-confirm { background-color: var(--color-brand-marigold); color: var(--color-white); font-family: var(--font-body); font-size: var(--_min-a11y-font-size); text-transform: none; padding: 9px 13px; margin-bottom: 10px; line-height: 1; transition: background-color 0.3s ease; &:hover { background-color: var(--color-brand-marigold-shade); color: var(--color-white); } } } } &.card-large-back { .card-back { min-height: 100%; height: 110%; width: 140%; top: -5%; left: -20%; .card-bottom { padding-bottom: 0; .card-button-container { position: static; padding-bottom: 20px; } } @media screen and (max-width: 640px) { position: fixed; top: 0; left: 0; width: 100%; height: 100%; max-width: 100%; z-index: 1000; padding-top: 65px; } } } &.selected { .card-front, .card-back { border-color: var(--color-brand-marigold); } } } .card-car { .card-front { display: flex; flex-direction: column; .card-bottom { margin-top: auto; } } .card-back { h1 { span { font-size: 14px; } } ul { color: var(--color-brand-charcoal); } } .card-car-icons { li { font-size: 16px; line-height: 1; color: var(--color-brand-charcoal-tint); span { color: var(--color-brand-primary-600); } } } } .card-leftmost .card-large-back .card-back { left: 0 !important; } .card-extra-night { z-index: 0; .text { font-size: 14px; & > * { color: var(--color-brand-charcoal); } } .price, .currency-link { font-family: var(--font-body); } } #accommodations { .mobile-horizontal-row { @media (min-width: 1100px) { padding-block: 30px; &:has(> :nth-child(3):last-child) { & > div { width: 33.33% !important; } } .card { .card-front { display: flex; flex-direction: column; .card-bottom { margin-top: auto; } } } } @media (max-width: 1100px) { width: 100% !important; margin-inline: 0; padding-bottom: 30px; & > div { float: none; width: 100%; padding-inline: 0; } .card { --_img-size: 197px; --_summary-width: calc(100% - var(--_img-size)); max-width: 100% !important; width: 100% !important; height: auto !important; min-height: var(--_img-size) !important; margin-bottom: 16px; .card-img { float: left; width: var(--_img-size); height: var(--_img-size); } .card-front { min-height: var(--_img-size) !important; h1, .card-summary, .card-selection-summary { float: left; width: var(--_summary-width); } h1 { text-align: left; margin-top: 20px; } h1, .card-summary p { padding-inline: 20px; } .card-summary p { margin-bottom: 0; } .card-selection-summary { padding-bottom: 0; } } .card-back { --_summary-width: 100%; display: none; min-height: var(--_img-size) !important; position: relative; left: 0; top: 0; margin-top: calc(0px - var(--_img-size)); width: 100%; height: 100%; padding-bottom: 0; h1, p, .inner-form { float: left; width: var(--_summary-width); } .preferences { p { float: none; } } .card-button-container { position: static; display: flex; align-items: center; width: max-content; gap: 16px; padding-bottom: 0; } } &.flip { .card-back { display: block; } } .card-bottom { float: left; width: var(--_summary-width); display: flex; align-items: center; flex-wrap: wrap; padding: 20px; gap: 16px; .button-toggle input[type="checkbox"] + label, .button-link { width: max-content; min-width: 130px; margin-left: 00; margin-bottom: 0; } } } } @media screen and (max-width: 800px) { .card-front h1 { margin-bottom: 0; } } /** duplicate to override old styles */ @media (max-width: 640px) { .card.flip { min-height: 70vh !important; height: 100vh !important; .card-back { overflow: auto; position: fixed; top: 0; left: 0; width: 100%; height: 100%; max-width: 100%; padding-top: 65px; margin-top: 0; } } .card-bottom { flex-direction: column; } } @media (max-width: 480px) { .card.flip { min-height: 70vh !important; } .card-bottom { flex-direction: column; } } @media (max-width: 420px) { .card { .card-front { h1, .card-summary, .card-selection-summary, .card-img { float: none; width: 100%; } } } } } .card.selected .card-front .card-selection-summary .rooms { font-family: var(--font-body); color: var(--color-brand-charcoal-shade); } select.rooms-selector { padding-block: 10px; } .col-guided-accommodation { /** ONLY ONE CARD */ @media screen and (max-width: 1024px) { width: 50% !important; } @media screen and (max-width: 768px) { width: 100% !important; } .card { max-width: 100% !important; .card-back { display: none; } &.flip { position: static; height: fit-content !important; min-height: 0; .card-front { display: none; } .card-back { display: block; position: static; width: 100%; height: fit-content; padding-top: 0; overflow: auto; } &.card-small-package { .card-back { @media (min-width: 481px) and (max-width: 800px) { margin-top: 0; padding-bottom: 0; } } } } } } } .card-extra-night, .card-services { background-color: var(--color-white); border-radius: 16px; box-shadow: 0 4px 7px rgba(0, 0, 0, 0.1); transition: box-shadow 0.3s ease; &:hover { box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1); transform: none; } h2, .text p, .summary p, ul, li, a, [type="number"] { font-family: var(--font-body) !important; text-transform: none; } .apply, .num-selection button { font-weight: bold; background: var(--btn-primary-bg); } .num-selection button { &:hover { background: var(--btn-primary-hover-bg); color: var(--btn-primary-hover-text); } } &.selected .apply, &.selected .apply:hover { color: var(--color-brand-primary-800); background: var(--color-brand-primary-400); } /* Style for disabled extra nights buttons */ .num-selection button:disabled, .num-selection button:disabled:hover, button.apply.grey, button.apply.grey:hover { background-color: var(--btn-gray-bg); color: var(--btn-gray-text); cursor: not-allowed; opacity: 0.6; } .currency-link ul { bottom: 30px; top: auto; border-radius: 8px; } } .row:has(.card-extra-night) ~ .row { margin-top: var(--_section-gap); } .card-services { padding-bottom: 20px; .card-footer { position: static; margin-top: 20px; } } .mobile-horizontal-container { &:has(.section-cars) { @media screen and (max-width: 1024px) { margin-inline: -30px; } @media screen and (max-width: 768px) { margin-inline: -20px; } } @media screen and (min-width: 540px) and (max-width: 800px) { &.day-activities { .mobile-horizontal-row { &:has(.card-tour), &:has(.card-optional) { & > * { width: 240px !important; } } } } } } .sub-anchors { margin-bottom: 24px; font-family: var(--font-body); font-size: 14px; font-weight: 500; text-transform: none; color: var(--color-brand-charcoal-tint); ul { padding: 0; } } .headline-section, input[type="checkbox"] + label, input[type="radio"] + label { font-family: var(--font-body) !important; text-transform: none; } .package-optional { .row-optional { .headline-section { font-size: 20px; font-weight: bold; line-height: 1; margin-bottom: 8px; color: var(--color-brand-secondary); } .itinerary-day { font-weight: 500; } } } .card-optional { margin-bottom: 40px; & > * { text-align: center; } h1, h2, p, a, label, .duration, .card-small-price, .card-currency, .dropdown-form ul li { font-family: var(--font-body) !important; } .card-currency { color: var(--color-brand-charcoal-shade); } .card-bottom { margin-top: auto; .card-cancel { background-color: var(--color-brand-primary-400) !important; color: var(--color-brand-primary-800) !important; &:hover { background-color: var(--color-brand-primary) !important; color: var(--color-brand-primary-800) !important; } } } .card-button-container div { text-align: center; } .card-front { h1 { text-align: center; font-weight: 500; color: var(--color-brand-secondary); } .card-details-link { color: var(--color-brand-secondary); text-decoration: underline; text-underline-offset: 2px; font-family: var(--font-body); font-size: 14px; font-weight: 500; margin: 14px auto; text-transform: none; border: 1px solid var(--color-white); transition: color 0.3s ease; &:hover { color: var(--color-brand-secondary-400); } } .quick-info { margin-inline: 0; padding-inline: 15px; display: flex; justify-content: center; gap: 24px; &:before, &:after { content: none; } & > * { width: fit-content; padding-inline: 0; } } } &.selected { .card-front { background-color: var(--color-white); border: 1px solid var(--color-brand-marigold); } } .card-back, .card-back * { text-align: center; } .dropdown-form { background-color: var(--color-brand-sandstone); border-radius: 16px; h2, ul li { font-family: var(--font-body) !important; text-align: left; text-transform: none; } } @media screen and (max-width: 767px) { &.flip { .card-back { padding-top: 0; } } } @media screen and (max-width: 640px) { &.flip { position: fixed; top: 0; left: 0; width: 100%; height: 100% !important; max-width: 100%; .card-back { padding-top: 65px; .card-button-container { position: static; } } .dropdown-form-value, .dropdown-form-label { font-size: 16px; } .dropdown-form-controls { width: 110px; .button-circle { width: 44px; height: 44px; font-weight: bold; line-height: 44px; } } } } } #frmServices { .row:not(:first-child) { .package-headline { margin-top: var(--_section-gap); } } @media screen and (min-width: 992px) { width: 100%; } } .row-optional:not(:first-child) { margin-top: var(--_section-gap); } .row-extras { @media screen and (min-width: 1201px) { max-width: 100%; } @media screen and (min-width: 1025px) { margin-inline: 0; padding-inline: 0; display: grid; grid-template-columns: repeat(auto-fill, minmax(240px, 1fr)); gap: 24px; &:before, &:after { content: none; } & > * { padding-inline: 0; width: 100%; } } @media screen and (max-width: 1024px) { padding-block: 24px; } } @media screen and (max-width: 1280px) { #frmPersonal .row > * { width: 50%; } } @media screen and (max-width: 1200px) { #frmPersonal { width: 100%; max-width: calc(100vw - 30px); } } @media screen and (max-width: 991px) { #frmPersonal .row > * { width: 100%; } textarea, select, input[type="password"], input[type="file"], input[type="email"], input[type="date"], input[type="text"], input[type="tel"], .dropdown-toggle { max-width: 500px; } } } .button-back, .button-submit { display: inline-flex; gap: 6px; align-items: center; } .button-back { &:hover { background-color: var(--color-brand-sandstone-shade) !important; color: var(--color-brand-charcoal) !important; } } .row div:has( > .button-back, > .button-submit, > .button-credit-card, > .button-multiple, > .button-bank ) { display: flex; align-items: center; justify-content: flex-start; gap: 16px; @media screen and (max-width: 991px) { justify-content: center; flex-wrap: wrap; column-gap: 16px; row-gap: 0; } @media screen and (max-width: 480px) { flex-direction: column-reverse; } } .button-submit, .button-credit-card, .button-multiple, .button-bank { cursor: pointer; background-color: var(--color-brand-marigold); color: var(--color-white); font-family: var(--font-body); font-weight: bold; text-transform: none; line-height: 1; transition: background-color 0.3s ease; &:hover { background-color: var(--color-brand-marigold-shade); color: var(--color-white); } } /* Style for disabled buttons */ button.button-submit:disabled, button.button-submit:disabled:hover { background-color: var(--btn-gray-bg); color: var(--btn-gray-text); cursor: not-allowed; opacity: 0.6; } input[type="radio"] + .payment-select, .payment-select { border-radius: 8px; } input[type="radio"]:checked + .payment-select { border-color: var(--color-brand-marigold); } .booking-form { background-color: var(--color-white); &.booking-form--white, &.booking-form--green { @media screen and (max-width: 1279px) { box-shadow: 0 4px 6px rgba(0, 0, 0, 0.1); } } h2, .price, table, .coupon-code { font-family: var(--font-body) !important; } table { color: var(--color-brand-charcoal); } .button-link { display: inline-flex; gap: 6px; align-items: center; justify-content: center; } .coupon-code-input { input { background-color: var(--color-brand-sandstone); color: var(--color-brand-charcoal); border-radius: 16px 0 0 16px; border: 1px solid var(--color-brand-sandstone-shade); font-family: var(--font-body); font-weight: normal; text-transform: none; } button { background-color: var(--color-brand-secondary); color: var(--color-white); font-family: var(--font-body); font-weight: bold; border-radius: 0 16px 16px 0; text-transform: none; line-height: 1; transition: background-color 0.3s ease; &:hover { background-color: var(--color-brand-secondary-400); } } } } .container-booking-sticky { &.sticktop .booking-form--results { z-index: 40; max-height: calc(100vh - 70px); @media (max-width: 1279px) { header { padding-left: var(--_section-padding-inline); .booking-form__mobile-toggle { right: var(--_section-padding-inline); } } } } &.package-booking { /** NORMAL CHECKOUT */ border-color: var(--color-brand-sandstone-shade); } &:has(.booking-form-header-summary) { /** CUSTOM BOOKING */ padding-right: 0; @media only screen and (max-width: 767px) { position: static !important; } .booking-form { border-radius: 16px 0 0 16px; .booking-form-header-summary { background-color: var(--color-brand-secondary); .price { margin-right: 0; } p { font-size: 14px; font-family: var(--font-body) !important; a { color: var(--color-white) !important; } } } } } } &:has(.container-booking-sticky) { &:has(.booking-form-header-summary) { /** CUSTOM BOOKING */ @media only screen and (max-width: 767px) { #content { display: flex; flex-direction: column; & > * { width: 100%; max-width: 100%; &:first-child, &.container-booking-sticky { /** booking steps and booking form */ order: -1; .booking-form { border-radius: 0; .button-link { width: fit-content; margin-inline: auto; display: flex; } } } } } } } } .formError .formErrorContent { background-color: var(--color-brand-secondary); color: var(--color-white); font-family: var(--font-body); font-weight: normal; text-transform: none; } .booking-form--white header .booking-form__mobile-open, .booking-form--green header .booking-form__mobile-open { font-family: var(--font-body); text-transform: none; color: var(--color-brand-charcoal); &:hover { color: var(--color-brand-charcoal-shade); } } footer { .container { display: flex; flex-direction: column; gap: 24px; padding-block: 24px 48px !important; @media screen and (max-width: 1580px) { padding-inline: 30px; } @media screen and (max-width: 1280px) { justify-content: space-between; align-items: center; & > *, & > * > * { text-align: center; margin-inline: auto; float: none; } } } } } .contact-page { .page-header, .lead { text-align: center !important; text-wrap: pretty; } .page-header { color: var(--color-brand-primary-600); line-height: 32px; font-size: 36px !important; margin-top: 0; } .lead { margin-bottom: 24px; color: var(--color-brand-charcoal); } section { &:has(.page-header) { padding-block: var(--_section-gap); @media screen and (max-width: 1200px) { & > * { width: 100%; max-width: 100%; } .sidebar { &:before { content: none; } } } } } .section-contact-form { @media screen and (min-width: 800px) { padding-left: 36px; } @media screen and (max-width: 992px) { div:has(> .box-chat) { margin-top: 24px; } } .dc_webcomponents_html { & + .dc_webcomponents_html { margin-top: 24px; } } h1 { font-family: var(--font-body) !important; text-transform: none; font-weight: bold; margin-top: 0; font-size: 24px; color: var(--color-brand-secondary); } h4 { font-family: var(--font-body) !important; text-transform: none; font-weight: bold; font-size: 18px; color: var(--color-brand-secondary); } form, .box.white { border-radius: 16px; .box-chat-right { padding: 24px; ul { li { .ctry { color: var(--color-brand-primary-600); } } } } & + h1 { margin-top: 24px; } } form { @media screen and (max-width: 640px) { padding: 24px; } } textarea, select, input[type="password"], input[type="file"], input[type="email"], input[type="date"], input[type="text"], input[type="tel"], input[type="password"]::placeholder, input[type="file"]::placeholder, input[type="email"]::placeholder, input[type="date"]::placeholder, input[type="text"]::placeholder, input[type="tel"]::placeholder, .dropdown-toggle { text-transform: none; font-size: 14px; font-family: var(--font-body) !important; font-weight: normal; line-height: 1.2; color: var(--color-brand-granite-shade); } textarea, select, input[type="password"], input[type="file"], input[type="email"], input[type="date"], input[type="text"], input[type="tel"], .dropdown-toggle { color: var(--color-brand-charcoal); background-color: var(--color-white); border-radius: 16px; border: 1px solid var(--color-brand-sandstone-shade); padding: 12px; margin-bottom: 16px; } .g-captcha-note { font-family: var(--font-body); } .box-office-locations > div:last-of-type { padding-bottom: 0; } } .submit-right, .button-link.green { background-color: var(--color-brand-primary-400); color: var(--color-brand-primary-800); font-family: var(--font-body); font-size: var(--_min-a11y-font-size); font-weight: bold; text-transform: none; line-height: 1; transition: background-color 0.3s ease; padding: 13px 22px; border-radius: 30px; &:hover { background-color: var(--color-brand-primary); color: var(--color-brand-primary-800); } } .box-chat { .icon-chat { color: var(--color-brand-primary); } } .sidebar { &:before { border-color: var(--color-brand-sandstone-shade); } &.sec-color-green { background-color: var(--color-brand-primary-400); padding: 24px; * { color: var(--color-brand-primary-800); } &:before { border-color: var(--color-brand-primary-600); } } h1, .phone, p { font-family: var(--font-body); } h1 { color: var(--color-brand-charcoal); margin-top: 0; font-weight: bold; font-size: 24px; text-wrap: balance; } .phone a { color: var(--color-brand-primary-600); } p { color: var(--color-brand-charcoal-tint); } } .box-office-locations { border-radius: 16px; padding: 24px; h1 { color: var(--color-brand-charcoal); font-family: var(--font-body) !important; } ul { li { a { text-decoration: underline; } } } } .section-help { h5.head.headline-section, .lead { text-align: left !important; } h5.head.headline-section { font-weight: normal; font-size: 48px; line-height: 44px; } } @media (max-width: 800px) { .section-contact-form > .container, .dropdown-nav.section-contact-form > ul, .section-contact-form > .container-padbtm, .section-contact-form > .container-padtop { padding-inline: 30px; width: 100%; float: none; } } } .ui-datepicker { width: 400px; max-width: 90vw; border-radius: 16px; box-shadow: 0px 4px 5px rgba(0, 0, 0, 0.1); .ui-datepicker-title, thead, th, td span, td a, table thead tr th { font-family: var(--font-body); text-transform: none; } .ui-datepicker-title { font-size: 14px; } td span, td a { color: var(--color-brand-charcoal); } table thead tr th, table thead span { color: var(--color-brand-primary-600); font-size: 12px; } td a { transition: background-color 0.3s ease, color 0.3s ease; &.ui-state-hover { background-color: var(--color-brand-sandstone); color: var(--color-brand-charcoal); } &.ui-state-active { background-color: var(--color-brand-marigold); color: var(--color-white); &.ui-state-hover { background-color: var(--color-brand-marigold-shade); color: var(--color-white); } } } .ui-datepicker-prev { span { &:before { color: var(--color-brand-primary-600); } } } .ui-datepicker-next { span { &:after { color: var(--color-brand-primary-600); } } } &.ui-datepicker-multi-2 { &:before { color: var(--color-brand-secondary); padding-block: 18px; /* content: "Select your arrival date"; */ border-radius: 16px 16px 0 0; } .ui-datepicker-title { padding-top: 0; } } } .picker { .picker__month, .picker__year { font-size: 14px; font-family: var(--font-body) !important; font-weight: bold; text-transform: none; } .picker__weekday { font-size: 14px; font-family: var(--font-body) !important; font-weight: 500; color: var(--color-brand-primary-600); text-transform: none; } .picker-footer { .picker__button--close { background-color: var(--color-brand-secondary); color: var(--color-white); font-size: 14px; font-family: var(--font-body) !important; font-weight: bold; &:hover { background-color: var(--color-brand-secondary-400); color: var(--color-white); } } } } .client-review-paragraph { border-radius: 8px; h3, p, .review-subtitle > div { font-family: var(--font-body) !important; text-transform: none; } h3 { font-weight: bold; } .review-text { &:after { color: var(--color-brand-secondary); text-transform: none; } } } .sec-travel-guide-hero { &.sec-color-blue { .headline-section, .lead { color: var(--color-brand-primary-800); } } .card-mini { margin-bottom: 16px; &:last-child { margin-bottom: 0; } } .button-link { background-color: var(--color-brand-primary-400); color: var(--color-brand-primary-800); &:hover { background-color: var(--color-brand-primary); color: var(--color-brand-primary-800); } } div:has(> .card-mini) { @media screen and (min-width: 992px) and (max-width: 1200px) { display: flex; gap: 16px; width: 100%; padding-inline: 24px; margin-top: var(--_section-gap); .card-mini { margin: 0; flex: 1; @media screen and (max-width: 1100px) { p { grid-column: span 2; margin-top: 12px; } } } } @media screen and (max-width: 991px) { .card-mini { max-width: var(--_card-width); } } } } #people { .container-padbtm { width: 100%; padding-inline: var(--_section-padding-inline); } h1:not(.headline-section), h2 { font-family: var(--font-body) !important; text-transform: none; color: var(--color-brand-secondary); } .employee-row { margin-top: 0; } .employee { width: 20%; margin-bottom: 16px; img { border-radius: 16px; } h1 { font-size: 16px; line-height: 20px; margin-bottom: 4px; } h2 { font-size: 14px; } } @media screen and (max-width: 1280px) { .row { margin-inline: 0; } .employee-row { h1 { padding-inline: 0; } } .employee { padding-inline: 6px; } } @media screen and (max-width: 1080px) { .employee { width: 25%; } } @media screen and (max-width: 768px) { .employee { width: 33.33%; } } @media screen and (max-width: 640px) { .employee { text-align: center; h2 { font-size: 12px; margin-bottom: 0; } img { max-height: 150px; width: 100%; object-fit: cover; object-position: top; } } } @media screen and (max-width: 580px) { .employee-row { h1 { text-align: center; } } .employee { width: 50%; img { width: 90px; height: 90px; } } } @media screen and (max-width: 480px) { .employee-row { h1 { text-align: left; } } .employee { width: 100%; display: grid; grid-template-columns: 70px 1fr; column-gap: 12px; margin-bottom: 12px; img { width: 70px; height: 70px; grid-row: span 2; } h1, h2 { grid-column: 2; text-align: left; margin: 0; line-height: 16px; } } } .employee-show-more { display: flex; justify-content: center; align-items: center; .button-link { background-color: var(--color-brand-secondary); &:hover { background-color: var(--color-brand-secondary-400); } } } .employees-row { @media screen and (max-width: 580px) { .button-link { font-size: 14px; padding: 10px 14px; } & > .employee:not(.active):nth-child(n + 5) { display: none !important; } & > .employee-show-more:nth-child(-n + 5) { /** hide show more button if there aren't enough employees */ display: none; } } @media screen and (min-width: 581px) and (max-width: 768px) { & > .employee:not(.active):nth-child(n + 4) { display: none; } & > .employee-show-more:nth-child(-n + 4) { /** hide show more button if there aren't enough employees */ display: none; } } @media screen and (min-width: 769px) and (max-width: 1080px) { & > .employee:not(.active):nth-child(n + 5) { display: none; } & > .employee-show-more:nth-child(-n + 5) { /** hide show more button if there aren't enough employees */ display: none; } } @media screen and (min-width: 1081px) { & > .employee:not(.active):nth-child(n + 6) { display: none; } & > .employee-show-more:nth-child(-n + 6) { /** hide show more button if there aren't enough employees */ display: none; } } } } #story { padding-bottom: 0; .lead { margin-bottom: var(--_section-gap); } article { font-size: 18px; line-height: 1.45; p { a { font-weight: bold; text-decoration: underline; text-underline-offset: 2px; &:hover { text-decoration: none; color: var(--color-brand-charcoal-shade); } } } } } div:has(~ .section-reviews-saying) { .container-padbtm { padding-block: 0; .page-header { color: var(--color-brand-secondary); } } .link-more { text-transform: none; font-family: var(--font-body); font-size: 14px; } & ~ .search-results-filterbar { .container { padding-block: 0; } } } section.section-travelguide-links { & > .container-padbtm, & > .container-padbtm:last-of-type { width: 1500px; padding-inline: calc(50% - 750px); padding-bottom: 30px; &:only-of-type { padding-top: var(--_section-gap); } .row { margin-inline: 0; & > div:last-of-type { background-color: var(--color-brand-secondary); padding: 20px; margin-top: -20px; margin-bottom: 0; border-radius: 16px; .headline-section { color: var(--color-white); margin-top: 0; line-height: 1.5; margin-bottom: 12px; } ul { margin-bottom: 0; li { color: var(--color-white); } } } } } .headline-section { margin-bottom: 24px; } h3 { font-family: var(--font-body) !important; font-size: 20px; font-weight: bold; margin-top: 0; margin-bottom: 12px; color: var(--color-brand-secondary); } .list-popular { color: var(--color-brand-charcoal); font-size: 20px; li { font-family: var(--font-body); a { color: var(--color-brand-charcoal); font-size: 18px; text-transform: none; text-decoration: underline; text-underline-offset: 2px; &:hover { text-decoration: none; color: var(--color-brand-charcoal-shade); } } } } @media screen and (max-width: 1540px) { & > .container-padbtm, & > .container-padbtm:last-of-type { max-width: 100%; padding-inline: 30px; } } @media screen and (max-width: 992px) { & > .container-padbtm, & > .container-padbtm:last-of-type { .row { & > div:last-of-type { margin-top: 0; } } } } } .dc_custom_travelguidecollages { .headline-section { margin-top: 0 !important; } } .dc_custom_travelguideinfocards { p { color: var(--color-brand-charcoal) !important; } .card-mini { background-color: var(--color-brand-sandstone); border-radius: 16px; padding: 16px; transition: background-color 0.3s ease; &:hover { background-color: var(--color-white); } h3.card-title { text-transform: none; font-family: var(--font-body); font-size: 18px; line-height: 1.2; font-weight: 500; color: var(--color-brand-secondary); margin: 0 0 8px; } p, .card-tiny p { color: var(--color-brand-charcoal); } } } .dc_custom_travelguidecards { & > .container-padbtm { width: 1500px; padding: var(--_section-padding-block) 30px; .headline-section, .lead { margin-bottom: var(--_section-gap); } @media screen and (max-width: 1540px) { width: 100%; } } } .dc_custom_relatedblog { .container-padbtm { padding-top: 0; } } .dc_custom_travelguide { .sec-travel-guide-article { h1.headline-section-huge { padding-left: 0; @media screen and (max-width: 1540px) { padding-left: 30px; font-size: 48px; } @media screen and (max-width: 1024px) { font-size: 36px; } } .article-package { padding-top: var(--_section-gap); @media screen and (max-width: 1024px) { padding-top: 0; } .travel-guide-article { display: block; .article-catchy-line, h2, table thead tr th { text-transform: none; font-family: var(--font-body) !important; } p, ul li { font-size: 20px; a { text-decoration: underline; text-underline-offset: 2px; font-weight: bold; color: var(--color-brand-secondary) !important; &:hover { text-decoration: none; color: var(--color-brand-secondary-400) !important; } } } .article-catchy-line { font-size: 24px !important; line-height: 1.2; font-weight: 500; color: var(--color-brand-secondary); margin-bottom: 12px; } h2 { font-size: 20px; color: var(--color-brand-secondary); font-weight: bold; } table thead tr { background-color: var(--color-brand-secondary); th { border-color: var(--color-brand-secondary-200); font-size: 16px; } } } } .container-links { @media screen and (min-width: 1280px) { width: 30%; } ul { text-transform: none; font-weight: normal; font-family: var(--font-body); font-size: 16px; li a { color: var(--color-brand-charcoal); &:hover { text-decoration: underline; color: var(--color-brand-charcoal-shade); border-left: 4px solid var(--color-brand-sandstone-shade); } &.active { color: var(--color-brand-secondary); border-left: 4px solid var(--color-brand-secondary); &:hover { text-decoration: none; } } } } } } section > .row { &:has(> div > .headline-section) { & > div > .headline-section { margin-bottom: var(--_section-gap); } & + .container-section { padding-top: var(--_section-gap); } } } } .blog-feed { .blog-feed-row:not(.blog-feed-row-x) { &:before, &:after { content: none; } display: grid; grid-template-columns: repeat(auto-fit, minmax(340px, 1fr)); gap: 24px; justify-items: center; .blog-feed-item { width: 340px; & > a { height: auto; } } @media screen and (max-width: 991px) { padding-inline: 30px; } } .blog-feed-item { h2 { font-size: 20px; font-family: var(--font-body) !important; text-transform: none; font-weight: 500; line-height: 1.2; color: var(--color-brand-secondary); padding: 16px; background-color: var(--color-white); } .blog-feed__tags { color: var(--color-brand-charcoal); text-transform: none; padding: 0 20px 20px; margin-bottom: 0; a { color: var(--color-brand-secondary); text-decoration: none !important; &:hover { text-decoration: underline; color: var(--color-brand-secondary-400); } } } } .button-down { background-color: var(--color-brand-secondary); transition: background-color 0.3s ease; &:hover { background-color: var(--color-brand-secondary-400); } } } .newsletter__signup { margin-bottom: 36px; label { font-size: 18px; text-wrap: pretty; } } .newsletter__input-container { display: block; input[type="email"] { background-color: var(--color-brand-sandstone); color: var(--color-brand-charcoal); border-radius: 30px !important; border: 1px solid var(--color-brand-sandstone-shade); padding: 12px; margin-bottom: 16px; text-transform: none; max-width: 500px; display: block; margin-inline: auto; font-size: 16px; &::placeholder { text-transform: none; color: var(--color-brand-charcoal); font-family: var(--font-body); font-weight: normal; font-size: 16px; } } input[type="submit"].newsletter__submit { background-color: var(--color-brand-peony); color: var(--color-brand-aubergine); font-family: var(--font-body); font-weight: bold; text-transform: none; line-height: 1; transition: background-color 0.3s ease; padding: 13px 22px; border-radius: 30px; font-size: var(--_min-a11y-font-size); height: auto; width: auto; &:hover { background-color: var(--color-brand-peony-tint); color: var(--color-brand-aubergine); } } } .blog__category { .container-section { padding-top: 0; } .blog__category-header { .blog__category-img { border-radius: 16px; background-position: center; } h2 { text-align: left; } .blog__author-short a { color: var(--color-brand-secondary); } .button-link { bottom: -60px; top: auto; background-color: var(--color-brand-secondary); color: var(--color-white); &:hover { background-color: var(--color-brand-secondary-400); color: var(--color-white); } } @media screen and (max-width: 1200px) { & > div { width: 50%; } .blog__category-img { min-height: 490px; } } @media screen and (max-width: 767px) { & > div { width: 100%; } .blog__category-img { margin-bottom: 24px; min-height: 300px; } } } } .blog__section { .container { padding-top: 0; } .blog__share-icons { background-color: var(--color-brand-aubergine); padding: 22px 20px; border-radius: 16px; width: 78px; margin-right: 10%; & > a { color: var(--color-brand-peony); } @media screen and (max-width: 991px) { display: flex; width: auto; gap: 24px; margin: 0 0 36px 15px; & > a { margin: 0; } .share-twitter { padding-top: 2px; } } @media screen and (max-width: 767px) { margin-right: 15px; } } ol { font-size: 0.9em; } .blog__article { h2, h3 { color: var(--color-brand-secondary); } h3 { font-size: 24px; } p { font-size: 20px; } p, li { a { font-weight: bold; text-decoration: underline; &:hover { text-decoration: none; color: var(--color-brand-charcoal-tint); } } } .image-content { img { border-radius: 16px; } .image-content__caption { background-color: var(--color-brand-charcoal); color: var(--color-white); padding: 4px 9px 4px 16px; border-radius: 0 10px 0 16px; } } .blog__tags { a { font-family: var(--font-body); font-weight: bold; color: var(--color-brand-secondary); text-decoration: underline; text-transform: none; &:hover { text-decoration: none; color: var(--color-brand-secondary-400); } } } .blog__share-buttons { padding-bottom: 0; } } @media only screen and (max-width: 992px) { .vspace-l-top { padding-top: 40px; } } } .blog__author { .container { padding-block: 0; } a { font-weight: bold; text-decoration: underline; &:hover { text-decoration: none; color: var(--color-brand-secondary); } } } .blog__article { h3.blog__headline { color: var(--color-brand-secondary); font-size: 24px; font-weight: bold; text-transform: none; line-height: 1.2; font-family: var(--font-body); } .blog__lead:first-of-type:first-letter { float: left; color: var(--color-brand-primary-600); font-size: 72px; line-height: 56px; padding-right: 6px; font-weight: bold; } .blockquote--large { aspect-ratio: auto; } @media screen and (max-width: 991px) { h3.blog__headline { margin-top: 0; } .extend-outside, .image-content, .collage--inline, .video-content, .blockquote--large { width: 100%; margin-left: 0; } } } .vspace-l-top.vspace-l-bottom:has(.blog-related) { padding-block: 0; } .blog-related { .card__horizontal { border-radius: 16px; box-shadow: 0 4px 7px rgba(0, 0, 0, 0.1); transition: box-shadow 0.3s ease; &:hover { box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1); .headline--card { color: var(--color-brand-primary-700); } } } .card-img { border-radius: 16px 0 0 16px; } @media (max-width: 480px) { .card__horizontal .card-img { border-radius: 16px 16px 0 0; } } .subheadline--card { font-family: var(--font-body); color: var(--color-brand-charcoal-tint) !important; margin-bottom: 4px; font-weight: normal; &:last-child { margin-bottom: 0; } } .headline--card { font-family: var(--font-body) !important; font-size: 24px; color: var(--color-brand-charcoal-shade); font-weight: bold; transition: color 0.3s ease; text-transform: none; } .card-price, .card-currency { font-family: var(--font-body); color: var(--color-brand-marigold); } .card-price { margin-bottom: 8px; font-weight: bold; } .currency-switcher { ul { background-color: var(--color-white); border-radius: 4px; width: 110px; padding: 8px 12px; li { color: var(--color-brand-charcoal); padding: 4px 0; &:hover { color: var(--color-brand-charcoal-shade); } } } } @media screen and (max-width: 1240px) { .card__horizontal-title, .card__horizontal-price { display: block; } .card__horizontal-title { padding-bottom: 0; } .card__horizontal-price { padding-block: 10px; display: inline-flex; align-items: flex-end; gap: 10px; } .card__horizontal-price .card-price { font-size: 24px; } } } .container:has(.blog__author-row) { width: 1200px; padding-block: 0; .blog__author-img { text-align: right; img { width: 345px; height: 345px; } } h1 { margin-top: 40px; } } .section-attractions { .travel-guide-article { .button-link { background-color: var(--color-brand-secondary); color: var(--color-white); margin-top: 30px; &:hover { background-color: var(--color-brand-secondary-400); color: var(--color-white); } } p + .button-link { margin-top: 0; } } } .card-result { border-radius: 16px; h3 { margin-top: 0; font-family: var(--font-body) !important; font-size: 18px; font-weight: bold; color: var(--color-brand-secondary); text-transform: none; } p { font-size: 16px; color: var(--color-brand-charcoal); a { text-decoration: underline; text-underline-offset: 2px; color: var(--color-brand-charcoal-shade); &:hover { text-decoration: none; color: var(--color-brand-charcoal-tint); } } } } #certifications { padding-bottom: 0; .container, &:is(div) .headline-section { margin-bottom: 0 !important; } .lead { margin-bottom: 0; } h4 { color: var(--color-brand-secondary); } .row { &:has(> div > img) { @media only screen and (max-width: 992px) { display: flex; & > * { flex: 1; width: 100%; } } } div:has(.certificate-text) { &:after { content: ""; clear: both; display: block; } &.row { margin-inline: 0; } } } article { margin-bottom: 24px; font-size: 18px; line-height: 1.45; } } .certificate-text { font-family: var(--font-body); color: var(--color-brand-secondary); font-size: 1em; padding: 8px 20px 8px 0; display: grid; grid-template-columns: 40px 1fr; gap: 10px; width: 100%; align-items: center; .round-icon { float: none; margin: 0; background-color: var(--color-brand-secondary); } } #reviews { section { margin-bottom: 0 !important; } p:not(.col-package-headline p):not(.cr-text p):not(.lead) { color: var(--color-brand-charcoal) !important; font-family: var(--font-body); font-size: 16px; line-height: 1.5; text-transform: none; margin-bottom: 24px; &.review-link a { color: var(--color-brand-secondary) !important; } a { text-decoration: underline; text-underline-offset: 2px; color: var(--color-brand-charcoal-shade); font-weight: bold; &:hover { text-decoration: none; color: var(--color-brand-charcoal-tint); } } } .col-package-headline { p { font-family: var(--font-serif); font-size: 24px; } } &:not(.sec-color-green) .button-link { background-color: var(--color-brand-secondary); color: var(--color-white); &:hover { background-color: var(--color-brand-secondary-400); color: var(--color-white); } } } .terms { section { padding-top: var(--_section-padding-block); .headline-section { margin-bottom: var(--_section-gap); } .container { padding-top: var(--_section-gap); } } } .dc_webcomponents_html { .container { & > .row:first-child { & > div:first-child { & > .page-header:first-child { margin-top: 0; } } } } .page-header { font-size: 3em; & ~ div { a { color: var(--color-brand-secondary) !important; font-weight: bold; text-decoration: underline; text-underline-offset: 2px; &:hover { text-decoration: none; color: var(--color-brand-secondary-400) !important; } } } } .container { &:has(.section-help) { padding-bottom: 0; } .lead { margin-bottom: var(--_section-gap); } } .section-help { display: grid; align-items: end; grid-template-columns: 2fr 1fr; gap: var(--_section-gap); @media screen and (max-width: 1580px) { grid-template-columns: 3fr 2fr; } @media screen and (max-width: 1280px) { grid-template-columns: 1fr 1fr; } @media screen and (max-width: 1024px) { grid-template-columns: 1fr; & > div:has(> img) { text-align: center; img { max-height: 400px; width: auto; max-width: 100%; } } } & > * { width: 100%; float: none; } } } .lg-sub-html p { font-family: var(--font-body); font-size: 1.5rem !important; color: var(--color-white) !important; } .dc_custom_tours { section { &:has(> .headline-section) { padding: var(--_section-padding-block) 0; .headline-section { margin-bottom: var(--_section-gap); } } } } /* Send to inbox modal window styling */ #tour-email-modal .modal-dialog { max-width: 700px; margin: 30px auto !important; } /* Responsive breakpoints */ @media (max-width: 991px) { #tour-email-modal .modal-dialog { max-width: 70%; margin: 30px 15vw !important; } } @media (max-width: 767px) { #tour-email-modal .modal-dialog { max-width: 90%; max-height: 40vh; margin: 30px 5vw !important; } } @media (max-width: 480px) { #tour-email-modal .modal-dialog { max-width: 95%; margin: 30px !important; } } .cr-title h3 { font-size: 18px; } .iti__selected-flag { border-radius: 16px 0 0 16px; height: calc(100% - 16px); } .iti__country-list { max-width: 80vw; } .iti--allow-dropdown input, .iti--allow-dropdown input[type="tel"], .iti--allow-dropdown input[type="text"], .iti--separate-dial-code input, .iti--separate-dial-code input[type="tel"], .iti--separate-dial-code input[type="text"] { padding-left: 52px !important; margin-bottom: 16px !important; } /** HIDING LABEL ELEMENT ON DATE PICKER FOR HOTELS */ .visually-hidden-picker { position: absolute; width: 1px; height: 1px; margin: -1px; padding: 0; overflow: hidden; clip: rect(0, 0, 0, 0); white-space: nowrap; border: 0; } .search-simple input[type="text"] { font-size: 18px !important; color: var(--color-brand-charcoal-shade); text-transform: none; border-radius: 16px; font-weight: normal; font-family: var(--font-body); } .suggestions #results > p { font-size: 22px; color: var(--color-brand-dark); text-transform: none; padding: 10px; } .search-simple .guide-search .suggestions a.button-link#all-results { background-color: var(--color-brand-secondary); color: var(--color-white); font-size: 16px; text-transform: none; padding: 8px 16px; transition: background-color 0.3s ease; } .search-simple .guide-search .suggestions a.button-link#all-results:hover { background-color: var(--color-brand-secondary-400); color: var(--color-white); } /** #CARDBACK: Reduced whole-card link height, to make map link clickable */ .card-tour .card-back .card-main-link { height: calc(10% - 150px) } .nv-border { height: 20px; background-color: var(--color-brand-primary); mask-image: url(https://www.nordicvisitor.com/files/nv-border-186.svg); mask-size: 93px; &.secondary { background-color: var(--color-brand-secondary); } &.aubergine { background-color: var(--color-brand-aubergine); } &.citrus { background-color: var(--color-brand-citrus); } &.sea-blue { background-color: var(--color-brand-sea-blue); } &.marigold { background-color: var(--color-brand-marigold); } &.peony { background-color: var(--color-brand-peony); } &.granite { background-color: var(--color-brand-granite); } &.charcoal { background-color: var(--color-brand-charcoal); } &.white { background-color: var(--color-white); } } /** #FontAwesome SVG icon styling */ .icon { width: 1.4em; height: 1.4em; display: inline-block; vertical-align: -0.125em; fill: currentColor; } .icon--gold { color: var(--color-brand-marigold-tint); } .icon--teal { color: var(--color-brand-primary); } .icon--green { color: var(--color-brand-secondary); } .icon--pink { color: var(--color-brand-peony); } .icon--yellow { color: var(--color-brand-citrus); } .info-list dt { font-weight: bold; display: flex; align-items: center; gap: 1em; margin-bottom: 0.15em; } .info-list dd { margin-left: calc(1.4em + 1em); /* icon width + gap */ margin-bottom: 1.4em; } #modalActivityBody .container-section.align-left { padding-block: 10px; } .modal-activities-detail img { width: 100%; border-radius: 16px; } /* Remove outline only for mouse/touch clicks, keep for keyboard nav */ a:focus:not(:focus-visible) { outline: none; } /* Makes View button visible on attraction cards */ .card-tiny--square .card-view-link:last-of-type { padding-left: 92px !important; } /** #Riddle Quiz Embed */ .section-riddle-content { background-color: var(--color-brand-sandstone) !important; padding: 60px 0; } .riddle-article { max-width: 1200px; margin: 0 auto; padding: 0 20px; } .riddle-row { display: flex; align-items: center; gap: 110px; } .riddle-heading { font-size: 48px; color: var(--color-brand-secondary); margin-bottom: 20px; } .riddle-col-text { flex: 0 0 38%; max-width: 38%; } .riddle-col-embed { flex: 0 0 calc(45% - 48px); max-width: calc(45% - 48px); min-height: 630px; } @media (max-width: 1024px) { .riddle-row { gap: 50px; } } @media (max-width: 768px) { .riddle-row { flex-direction: column; gap: 32px; } .riddle-col-text, .riddle-col-embed { flex: 0 0 100%; max-width: 100%; } .riddle-heading { font-size: 3rem; } } .blockquote--large::before { content: '\201C'; } /*Included modals car grid */ .tim-cars-grid { display: grid; grid-template-columns: repeat(2, 1fr); gap: 16px; list-style: none; padding: 0; margin: 0; } .tim-car-card { border: 1px solid var(--color-brand-sandstone-shade); border-radius: 8px; overflow: hidden; background-color: var(--color-neutral-100); } .tim-car-card img { width: 100%; height: 180px; object-fit: contain; border-radius: 0px !important; background-color: var(--color-white); margin-bottom: 0px; display: block; } .tim-car-card-body { padding: 10px 12px; } .tim-car-name { font-weight: 600; margin: 0 0 6px; } .tim-car-summary { font-size: 14px; color: var(--color-neutral-900); margin: 0; white-space: pre-line; } @media (max-width: 767px) { .tim-cars-grid{ grid-template-columns: 1fr; } } /*End of Included modals car grid */ /* GROUP DEPARTURES OVERVIEW LIST */ .departures-list { .departure-book > a { text-transform: none; font-size: var(--_min-a11y-font-size); background-color: var(--color-brand-primary-400); color: var(--color-brand-secondary); font-weight: bold; border-radius: 30px; padding: 10px; &:hover { background-color: var(--color-brand-primary); text-decoration: none; } } .departure-header > span { color: var(--color-brand-charcoal-shade); & + span { color: var(--color-brand-charcoal-tint); } } .soldout { .departure-spaces > .qty, .departure-date > span { color: var(--color-neutral-700); } } } /* END OF GROUP DEPARTURES OVERVIEW LIST */ /* EMBEDDED VIMEO SECTION */ /* MediaSplit - button override on green background */ .sec-color-green.section-media-split--green .button-link { background-color: var(--color-brand-primary-400); color: var(--color-brand-primary-800); &:hover { background-color: var(--color-brand-primary); } } .section-vimeo-content .vimeo-article { max-width: 1280px; margin: 0 auto; padding-block: var(--_section-padding-block); padding-inline: var(--_section-padding-inline); } .section-vimeo-content .vimeo-row { display: flex; align-items: center; flex-wrap: wrap; } .section-vimeo-content .vimeo-col-video { width: 100%; padding-right: 0; padding-bottom: 2rem; } .section-vimeo-content .vimeo-col-text { width: 100%; padding-left: 0; padding-top: 2rem; } .section-vimeo-content .vimeo-embed { border-radius: 1em; overflow: hidden; } .section-vimeo-content .vimeo-image { display: block; width: 100%; aspect-ratio: 16 / 9; object-fit: cover; border-radius: 1em; } .section-vimeo-content .vimeo-heading { font-size: 2rem; margin-top: 0; } /* sm: 768px+ */ @media (min-width: 768px) { .section-vimeo-content .vimeo-heading { font-size: 2.25rem; } } /* md: 992px+ — side by side */ @media (min-width: 992px) { .section-vimeo-content .vimeo-col-video { width: 50%; padding-right: 2rem; padding-bottom: 0; } .section-vimeo-content .vimeo-col-text { width: 50%; padding-left: 2rem; padding-top: 0; } .section-vimeo-content .vimeo-heading { font-size: 2.5rem; } /* Reversed: text left, video right */ .section-vimeo-content--reversed .vimeo-col-video { order: 2; padding-right: 0; padding-left: 2rem; } .section-vimeo-content--reversed .vimeo-col-text { order: 1; padding-left: 0; padding-right: 2rem; } } /* lg: 1200px+ */ @media (min-width: 1200px) { .section-vimeo-content .vimeo-col-video { padding-right: 3rem; } .section-vimeo-content .vimeo-col-text { padding-left: 3rem; } .section-vimeo-content--reversed .vimeo-col-video { padding-left: 3rem; padding-right: 0; } .section-vimeo-content--reversed .vimeo-col-text { padding-right: 3rem; padding-left: 0; } .section-vimeo-content .vimeo-heading { font-size: 3rem; } } /* END OF EMBEDDED VIMEO SECTION */ @media (max-width: 768px) { .sp-small .sp-icon .icon--xxl { width: 2em; height: 2em; } } .tour .picker .picker__frame:before { display: block; content: 'Select your arrival date'; color: #ffffff; background: var(--color-brand-secondary-400); padding: 10px 20px; margin: -40px 0; font-family: var(--font-sans); font-size: 16px; font-weight: bold; position: absolute; width: 100%; } /* pickadate picker*/ .picker .picker__table tbody tr td { border-bottom: 0; font-size: 1em; padding: 0; line-height: 1em; border: 1px solid #f7f7f7 !important; } .picker .picker__day { display: block; height: 100% !important; width: 100% !important; margin: 0; line-height: 30px; } .picker .picker__day--selected { border-radius: 0px; background: var(--color-brand-dark); } .picker .picker__day--outfocus { display: none; } .picker .picker__day--disabled { color: #b4b3b3; background: #f9f9f9; } .picker .picker__day--disabled:after { display: none; } .hero-img-11 { background-image: url(https://www.nordicvisitor.com/resources/2015/stylesheets/images/hero11.jpg) } @media (width<=480px) { .hero-img-11 { background-image: url(https://www.nordicvisitor.com/resources/2015/stylesheets/images/mobile/hero11.jpg) } } /* Breadcrumb overlay on hero banner */ .breadcrumb-hero-overlay { position: absolute; top: 0; left: 0; right: 0; z-index: 10; background: linear-gradient(to bottom, rgba(0, 0, 0, 0.55) 0%, rgba(0, 0, 0, 0.20) 60%, transparent 100%); } .breadcrumb-hero-overlay .breadcrumb { margin: 0; padding: 10px 16px; background: transparent; border-radius: 0; } /* All text and separators white */ .breadcrumb-hero-overlay .breadcrumb > li, .breadcrumb-hero-overlay .breadcrumb > li + li::before { color: #ffffff; } /* Links white with underline on hover */ .breadcrumb-hero-overlay .breadcrumb > li a { color: #ffffff; text-decoration: none; } .breadcrumb-hero-overlay .breadcrumb > li a:hover, .breadcrumb-hero-overlay .breadcrumb > li a:focus { text-decoration: underline; } /* Active (current page) — slightly dimmed white, no brand colour on images */ .breadcrumb-hero-overlay .breadcrumb > li.active span { color: rgba(255, 255, 255, 0.85); font-weight: 600; } /* Home icon */ .breadcrumb-hero-overlay .breadcrumb .glyphicon-home { color: #ffffff; } /* END OF Breadcrumb overlay on hero banner */ /* HERO-PROMO-BANNER — mobile fix for .hero-subpage / dc_custom_destinationhero */ @media only screen and (min-width: 481px) and (max-width: 700px) { .dc_custom_destinationhero .hero-promo-ticket, .hero-subpage .hero-promo-ticket { top: 16px; } } @media only screen and (max-width: 480px) { /* Ensure the section is the positioning context (it already is via the existing hero styles, but be explicit for the destination hero). */ .dc_custom_destinationhero .hero.hero-subpage, .hero.hero-subpage:has(.hero-promo-ticket) { position: relative; } .dc_custom_destinationhero .hero-promo-ticket, .hero-subpage .hero-promo-ticket { /* Keep absolute so it doesn't push hero-text down */ position: absolute; /* Sit at the very top of the section, inside the 60px padding-top */ top: 10px; right: 16px; /* Shrink it further so it fits in the narrow top strip */ --_border-radius: 10px; --_bevel-size: 6px; } .dc_custom_destinationhero .hero-promo-ticket .hero-promo-ticket__top, .hero-subpage .hero-promo-ticket .hero-promo-ticket__top { font-size: 16px; line-height: 1.2; width: auto; padding: var(--_bevel-size) 10px; padding-right: calc(var(--_bevel-size) / 2); } .dc_custom_destinationhero .hero-promo-ticket .hero-promo-ticket__bottom, .hero-subpage .hero-promo-ticket .hero-promo-ticket__bottom { padding: 6px 10px 4px 8px; padding-left: calc(var(--_bevel-size) / 2); font-size: 16px; line-height: 1.2; } .dc_custom_destinationhero .hero-promo-ticket .hero-promo-ticket__bottom__content, .hero-subpage .hero-promo-ticket .hero-promo-ticket__bottom__content { height: 28px; } .dc_custom_destinationhero .hero-promo-ticket .hero-promo-ticket__bottom__num, .hero-subpage .hero-promo-ticket .hero-promo-ticket__bottom__num { font-size: 22px; line-height: 24px; } .dc_custom_destinationhero .hero-promo-ticket .hero-promo-ticket__bottom__perc, .hero-subpage .hero-promo-ticket .hero-promo-ticket__bottom__perc { font-size: 16px; line-height: 16px; margin-right: 3px; } /* Push hero-text down enough so the ticket strip (≈44px tall) + top offset (10px) + a comfortable gap (8px) doesn't overlap the H1. */ .dc_custom_destinationhero .hero.hero-subpage .hero-text, .hero.hero-subpage:has(.hero-promo-ticket) .hero-text { padding-top: 50px; } } /** * hero-badge */ .hero-badge { position: absolute; bottom: 60px; right: calc(50vw - 760px); z-index: 10; line-height: 0; /* collapse any inline whitespace around the img */ } .hero-badge__img { display: block; width: 100%; height: 100%; max-width: 160px; max-height: 110px; /* Subtle drop-shadow so light badges read on bright backgrounds */ filter: drop-shadow(0 2px 6px rgba(0, 0, 0, 0.35)); } .hero-badge { @media screen and (max-width: 1580px) { right: var(--_hero-padding-inline); } } /* ── 481 px – 700 px ────────────────────────────────────────────────────────── Ticket is horizontal at this range; badge sits below it if both are present. Reduce size slightly to keep things tidy on narrower viewports. */ @media only screen and (min-width: 481px) and (max-width: 700px) { .hero-badge { bottom: 60px; right: var(--_hero-padding-inline); } .hero-badge__img { max-width: 120px; max-height: 80px; } } /* ── ≤ 480 px ───────────────────────────────────────────────────────────────── hero-subpage is height:auto here. Badge anchors to the bottom-right of the section; hero-text gets extra bottom padding so the badge doesn't overlap the last button (mirrors the padding-top fix done for the promo ticket). */ @media only screen and (max-width: 480px) { .hero-badge { bottom: 24px; right: 24px; } .hero-badge__img { max-width: 110px; max-height: 58px; } /* Ensure the button row doesn't slide under the badge. 110px badge + 16px bottom offset + 8px gap = ~134px; round up to 140px. */ .dc_custom_destinationhero .hero.hero-subpage .hero-text, .hero.hero-subpage:has(.hero-badge) .hero-text { padding-bottom: 140px; } } .hero-subpage .hero-text h1 .highlight { color: var(--color-brand-primary); } /* END OF HERO PROMO BANNER */ /* MEDIA CENTRE STYLES */ /* ============================================================ MEDIA CENTRE - SHARED UTILITIES ============================================================ */ /* Shared section shell: full-width card with rounded corners */ .contact-section, .terms-section, .assets-section, .hero-section, .whoweare-section { border-radius: 32px; overflow: hidden; max-width: 1200px; width: 95%; margin-top: 24px; } /* hero-section overrides: shadow needs to bleed outside */ .hero-section { overflow: visible; } /* contact-section specific overrides */ .contact-section { background-color: var(--color-brand-secondary); margin-top: 40px; } /* terms-section specific overrides */ .terms-section { background-color: var(--color-neutral-200); } /* Shared container padding */ .contact-section .container, .terms-section .container, .assets-section .container, .hero-section .container, .whoweare-section .container, .press-section .container { padding: 56px 60px; } /* Shared serif headline pattern (terms / assets / whoweare / press) */ .terms-headline, .assets-headline, .whoweare-headline, .press-headline { font-weight: 300; font-size: clamp(36px, 4vw, 56px); line-height: 1.1; color: var(--color-brand-secondary); margin: 0; } /* ============================================================ CONTACT SECTION ============================================================ */ .contact-section .media-row { display: grid; grid-template-columns: 1fr 1fr; gap: 48px; align-items: center; } /* Both columns share the same flex column layout */ .col-left, .col-right { display: flex; flex-direction: column; gap: 16px; } /* EYEBROW */ .eyebrow { display: flex; align-items: center; gap: 10px; font-size: 12px; font-weight: 500; letter-spacing: 0.12em; color: var(--color-neutral-600); } .eyebrow--dark { color: var(--color-neutral-850); } .eyebrow-dot { width: 8px; height: 8px; background-color: var(--color-brand-primary); border-radius: 1px; flex-shrink: 0; } /* HEADLINE */ .headline { font-weight: 300; font-size: clamp(42px, 5vw, 68px); line-height: 1.05; color: #ffffff; word-break: break-word; margin-top: 10px; } .headline .highlight { color: var(--color-brand-primary); } /* BODY TEXT */ .body-text { color: var(--color-brand-granite-tint); max-width: 420px; } /* MEDIA CARDS */ .media-card { background-color: var(--color-brand-secondary-600); border: 1px solid var(--color-brand-secondary-400); border-radius: 10px; padding: 28px 32px; display: flex; flex-direction: column; gap: 10px; } .media-card-label { font-size: 10px; font-weight: 500; letter-spacing: 0.14em; text-transform: uppercase; color: var(--color-brand-granite-tint); } /* Shared serif link style used by email + generic link */ .media-card-email, .media-card-link { font-family: var(--font-serif); font-weight: 300; color: #ffffff; text-decoration: none; } .media-card-email { font-size: clamp(16px, 4vw, 26px); word-break: break-all; } .media-card-link { font-size: 22px; display: flex; align-items: center; gap: 8px; } .media-card-email:hover, .media-card-link:hover { color: var(--color-brand-primary); } .card-meta { font-size: 13px; color: var(--color-brand-granite-shade); } /* ============================================================ TERMS SECTION ============================================================ */ .terms-section .terms-row { display: grid; grid-template-columns: 1fr 2fr; gap: 64px; align-items: start; } .terms-left { display: flex; flex-direction: column; gap: 16px; position: sticky; top: 24px; } .terms-right { display: flex; flex-direction: column; gap: 28px; } .terms-headline { word-break: break-word; } .terms-lead { font-size: 15px; line-height: 1.65; color: var(--color-brand-secondary); opacity: 0.75; } .terms-block { display: flex; flex-direction: column; gap: 8px; padding-bottom: 28px; border-bottom: 1px solid rgba(0, 0, 0, 0.1); } .terms-block:last-child { border-bottom: none; padding-bottom: 0; } /* Both block title and body share font-size + brand-secondary color */ .terms-block-title, .terms-block-body { font-size: 16px; color: var(--color-brand-secondary); } .terms-block-title { font-weight: 600; } .terms-block-body { line-height: 1.7; margin-bottom: 5px; } .terms-block-body a { color: var(--color-brand-secondary); font-weight: 500; text-decoration: underline; text-underline-offset: 3px; } .terms-block-body a:hover { opacity: 0.7; } /* ============================================================ ASSETS SECTION ============================================================ */ .assets-top-row { display: flex; flex-direction: column; gap: 12px; margin-bottom: 10px; } .assets-intro { max-width: 560px; margin: 0; } .assets-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 24px; } .asset-card { background-color: #ffffff; border: 1px solid rgba(0, 0, 0, 0.1); border-radius: 16px; overflow: hidden; display: flex; flex-direction: column; } .asset-card-image { width: 100%; aspect-ratio: 4 / 3; background-color: var(--color-brand-secondary); opacity: 0.15; } .asset-card-body { padding: 20px 24px 24px; display: flex; flex-direction: column; gap: 8px; flex: 1; } .asset-card-title { font-size: 36px; line-height: 1; color: var(--color-brand-secondary); margin: 0; } .asset-card-btn { display: inline-flex; align-items: center; gap: 8px; margin-top: 12px; padding: 10px 18px; background-color: transparent; border: 1px solid var(--color-brand-secondary); border-radius: 100px; font-size: 14px; font-weight: 600; color: var(--color-brand-secondary); text-decoration: none; transition: background-color 0.2s, color 0.2s; align-self: flex-start; } .asset-card-btn:hover { background-color: var(--color-brand-secondary); color: #ffffff; } /* ASSET CARD THEMES */ /* Fact Sheet — sandstone */ .asset-card--sandstone { background-color: var(--color-brand-sandstone); border-color: var(--color-brand-sandstone-shade); } .asset-card--sandstone .asset-card-image { background-color: var(--color-brand-sandstone-shade); opacity: 1; } /* Image Library — forest (dark bg, light text) */ .asset-card--forest { background-color: var(--color-brand-secondary); border-color: var(--color-brand-secondary-600); } .asset-card--forest .asset-card-image { background-color: var(--color-brand-secondary-600); opacity: 1; } /* desc color set first, then title overrides to sandstone */ .asset-card--forest .asset-card-title, .asset-card--forest .asset-card-desc { color: var(--color-brand-granite-tint); } .asset-card--forest .asset-card-title { color: var(--color-brand-sandstone); } .asset-card--forest .asset-card-btn { border-color: var(--color-brand-secondary-300); color: var(--color-brand-sandstone); } .asset-card--forest .asset-card-btn:hover { background-color: #ffffff; color: var(--color-brand-secondary); } /* Press Quotes — aubergine */ .asset-card--aubergine { background-color: var(--color-brand-aubergine); border-color: var(--color-brand-aubergine-shade); } .asset-card--aubergine .asset-card-image { background-color: var(--color-brand-aubergine-tint); opacity: 1; } .asset-card--aubergine .asset-card-title, .asset-card--aubergine .asset-card-desc { color: var(--color-brand-sandstone-shade); } .asset-card--aubergine .asset-card-title { color: var(--color-brand-sandstone); } .asset-card--aubergine .asset-card-btn { border-color: var(--color-brand-aubergine-tint); color: var(--color-brand-granite-tint); } .asset-card--aubergine .asset-card-btn:hover { background-color: var(--color-brand-peony); border-color: var(--color-brand-peony); color: var(--color-brand-aubergine-shade); } /* Brand Pack — teal */ .asset-card--teal { background-color: var(--color-brand-primary-400); border-color: var(--color-brand-primary-500); } .asset-card--teal .asset-card-image { background-color: var(--color-brand-primary-200); opacity: 1; } .asset-card--teal .asset-card-title, .asset-card--teal .asset-card-desc { color: var(--color-brand-primary-800); } .asset-card--teal .asset-card-btn { border-color: var(--color-brand-primary-700); color: var(--color-brand-primary-800); } .asset-card--teal .asset-card-btn:hover { background-color: var(--color-brand-primary-800); border-color: var(--color-brand-primary-800); color: #ffffff; } /* ============================================================ HERO SECTION ============================================================ */ .hero-inner { display: grid; grid-template-columns: 1fr 1fr; gap: 48px; align-items: center; } .hero-content { display: flex; flex-direction: column; gap: 20px; } .hero-content .lead { font-size: clamp(15px, 1.4vw, 17px); line-height: 1.7; color: var(--color-brand-secondary); margin: 0; } .hero-media { position: relative; padding: 0 16px 16px 0; } .hero-image-wrap { border-radius: 20px; overflow: hidden; position: relative; box-shadow: 16px 16px 0 0 var(--color-brand-marigold), 0 8px 40px 0 rgba(0, 0, 0, 0.12); } .hero-media-image { display: block; width: 100%; height: auto; aspect-ratio: 4 / 3; object-fit: cover; border-radius: 20px; } /* ============================================================ WHO WE ARE SECTION ============================================================ */ .whoweare-intro-block { display: flex; flex-direction: column; gap: 16px; margin-bottom: 30px; } .whoweare-intro-text { color: var(--color-brand-secondary); margin-bottom: 0; } .whoweare-top-row { display: flex; flex-direction: column; gap: 12px; } .whoweare-headline { word-break: break-word; } .whoweare-intro { font-size: 16px; line-height: 1.7; color: var(--color-brand-secondary); max-width: 680px; margin: 0; } /* BENTO GRID — 12-column base */ .bento-grid { display: grid; grid-template-columns: repeat(12, 1fr); grid-auto-rows: auto; gap: 16px; } .bento-cell { border-radius: 20px; padding: 32px; display: flex; flex-direction: column; gap: 12px; overflow: hidden; position: relative; } /* Column span helpers */ .bento-col-1 { grid-column: span 1; } .bento-col-2 { grid-column: span 2; } .bento-col-3 { grid-column: span 3; } .bento-col-4 { grid-column: span 4; } .bento-col-5 { grid-column: span 5; } .bento-col-6 { grid-column: span 6; } .bento-col-7 { grid-column: span 7; } .bento-col-8 { grid-column: span 8; } .bento-col-9 { grid-column: span 9; } .bento-col-10 { grid-column: span 10; } .bento-col-11 { grid-column: span 11; } .bento-col-12 { grid-column: span 12; } .bento-row-2 { grid-row: span 2; } .bento-office-list--horizontal { flex-direction: row; flex-wrap: wrap; gap: 10px 28px; } /* BENTO CELL THEMES */ .bento-cell--forest { background-color: var(--color-brand-secondary); } .bento-cell--forest-mid { background-color: var(--color-brand-secondary-600); } .bento-cell--teal { background-color: var(--color-brand-primary-500); } .bento-cell--teal-light { background-color: var(--color-brand-primary-100); } .bento-cell--teal-dark { background-color: var(--color-brand-primary-800); } .bento-cell--sandstone { background-color: var(--color-brand-sandstone); border: 1px solid var(--color-brand-sandstone-shade); } .bento-cell--aubergine { background-color: var(--color-brand-aubergine); } .bento-cell--neutral { background-color: var(--color-neutral-150); border: 1px solid var(--color-neutral-300); } /* BENTO EYEBROW */ .bento-eyebrow { font-size: 12px; font-weight: 500; letter-spacing: 0.12em; } .bento-award-list a { text-decoration: underline; text-underline-offset: 2px; text-decoration-thickness: 1px; transition: color 0.2s ease, text-decoration-color 0.2s ease; } .bento-eyebrow--light { color: var(--color-brand-granite-tint); } .bento-eyebrow--dark { color: var(--color-brand-secondary-400); } .bento-eyebrow--teal { color: var(--color-brand-primary-800); } .bento-eyebrow--peony { color: var(--color-brand-peony); } /* BENTO STAT */ .bento-stat { font-family: var(--font-serif) !important; font-weight: 500; line-height: 1; margin: 0; } .bento-stat--xl { font-size: clamp(78px, 7vw, 96px); } .bento-stat--lg { font-size: clamp(68px, 5vw, 72px); } .bento-stat--light { color: #ffffff; } .bento-stat--teal { color: var(--color-brand-primary-800); } .bento-stat--sandstone{ color: var(--color-brand-secondary); } .bento-stat--peony { color: var(--color-brand-peony); } /* BENTO TITLE */ .bento-title { font-family: var(--font-sans) !important; font-weight: 300; line-height: 1.15; margin: 0; } .bento-title--lg { font-size: clamp(28px, 3.5vw, 42px); } .bento-title--md { font-size: clamp(20px, 2.5vw, 28px); } .bento-title--sm { font-size: clamp(18px, 2.5vw, 22px); } .bento-title--light { color: #ffffff; } .bento-title--sandstone{ color: var(--color-brand-secondary); } .bento-title--teal { color: var(--color-brand-primary-800); } /* BENTO BODY */ .bento-body { font-size: 16px; line-height: 1.65; margin: 0; } .bento-body--light { color: var(--color-brand-granite-tint); } .bento-body--muted { color: var(--color-brand-secondary); } .bento-body--teal { color: var(--color-brand-primary-800); opacity: 0.85; } /* BENTO QUOTE */ .bento-quote { font-family: var(--font-serif) !important; font-weight: 300; font-style: italic; font-size: clamp(16px, 2vw, 22px); line-height: 1.5; color: var(--color-brand-primary-300); border-left: 2px solid var(--color-brand-primary); padding-left: 16px; margin: 8px 0 0; } /* BENTO TAGS */ .bento-tags { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 4px; } .bento-tag { font-size: 14px; font-weight: 500; padding: 5px 12px; border-radius: 100px; white-space: nowrap; } .bento-tag--peony { background-color: var(--color-brand-aubergine-tint); color: var(--color-brand-peony-tint); } .bento-tag--forest { background-color: var(--color-brand-secondary-600); color: var(--color-brand-granite-tint); border: 1px solid var(--color-brand-secondary-400); } /* BENTO AWARD LIST */ .bento-award-list { list-style: none; padding: 0; margin: 4px 0 0; display: flex; flex-direction: column; gap: 10px; } .bento-award-list li { display: flex; align-items: flex-start; gap: 10px; font-size: 16px; color: var(--color-brand-secondary); line-height: 1.4; } .bento-award-list li::before { content: ''; width: 6px; height: 6px; border-radius: 1px; background-color: var(--color-brand-primary); flex-shrink: 0; margin-top: 5px; } /* BENTO OFFICE LIST */ .bento-office-list { list-style: none; padding: 0; margin: 4px 0 0; display: flex; gap: 8px; } .bento-office-list li { display: flex; align-items: center; gap: 10px; font-size: 14px; color: var(--color-brand-granite-tint); border-radius: 30px; border: 1px solid var(--color-brand-primary); padding: 4px 16px 4px 12px; } .bento-office-list li i { font-size: 14px; color: var(--color-brand-primary); flex-shrink: 0; } /* BENTO TCF ACCENT */ .bento-tcf-accent { font-size: 13px; color: var(--color-brand-primary-800); opacity: 0.8; margin-top: auto; padding-top: 12px; border-top: 1px solid var(--color-brand-primary-600); } /* ============================================================ PRESS RELEASES SECTION ============================================================ */ .press-section { max-width: 1200px; width: 95%; margin-top: 24px; } .press-top-row { margin-bottom: 18px; } .press-headline { word-break: break-word; } /* Shared pill-button pattern (press + asset) */ .press-view-all { display: inline-flex; align-items: center; gap: 8px; padding: 10px 20px; border: 1px solid var(--color-brand-secondary); border-radius: 100px; font-size: 13px; font-weight: 600; color: var(--color-brand-secondary); text-decoration: none; white-space: nowrap; flex-shrink: 0; transition: background-color 0.2s, color 0.2s; } .press-view-all:hover { background-color: var(--color-brand-secondary); color: #ffffff; } .press-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 20px; } /* PRESS CARD */ .press-card { background-color: #fff8ee66; border: 1px solid var(--color-brand-sandstone-shade); border-radius: 20px; padding: 28px 32px 24px; display: flex; flex-direction: column; gap: 0; transition: border-color 0.2s; } .press-card:hover { border-color: var(--color-brand-secondary-300); } .press-card-meta { display: flex; align-items: center; gap: 12px; margin-bottom: 16px; } .press-card-date { font-size: 12px; font-weight: 500; color: var(--color-brand-granite-shade); letter-spacing: 0.04em; text-transform: uppercase; white-space: nowrap; } /* PRESS BADGE */ .press-badge { font-size: 10px; font-weight: 600; letter-spacing: 0.1em; text-transform: uppercase; padding: 4px 12px; border-radius: 100px; border: 1px solid; white-space: nowrap; } .press-badge--announcement { color: var(--color-brand-primary-700); border-color: var(--color-brand-primary-400); background-color: #eef6f2; } .press-badge--press-release { color: var(--color-brand-secondary-400); border-color: var(--color-brand-secondary-300); background-color: #ffffff; } .press-badge--coverage { color: var(--color-brand-aubergine-tint); border-color: var(--color-brand-aubergine-tint); background-color: #ffd0f278; } /* PRESS CARD CONTENT */ .press-card-title { font-family: var(--font-serif) !important; font-weight: 600; font-size: clamp(22px, 2vw, 28px); line-height: 1.25; color: var(--color-brand-secondary); margin: 0 0 10px; } .press-card-summary { font-size: 14px; line-height: 1.65; color: var(--color-brand-charcoal-tint); margin: 0; flex: 1; } .press-card-actions { display: flex; align-items: center; gap: 10px; margin-top: 24px; padding-top: 20px; border-top: 1px solid var(--color-neutral-300); justify-content: flex-end; } /* PRESS CARD BUTTONS */ .press-card-btn { display: inline-flex; align-items: center; gap: 7px; padding: 9px 18px; border-radius: 100px; font-size: 13px; font-weight: 600; text-decoration: none; transition: background-color 0.2s, color 0.2s, border-color 0.2s; white-space: nowrap; } .press-card-btn--outline { border: 1px solid var(--color-brand-secondary); color: var(--color-brand-secondary); background-color: transparent; } .press-card-btn--outline:hover { border-color: var(--color-brand-secondary-400); } .press-card-btn--solid { background-color: var(--color-brand-secondary); border: 1px solid var(--color-brand-secondary); color: #ffffff; } .press-card-btn--solid:hover { background-color: var(--color-brand-secondary-400); border-color: var(--color-brand-secondary-400); color: #ffffff; } .press-card-btn .icon-fa { width: 13px; height: 13px; vertical-align: -1px; fill: currentColor; } /* AS SEEN ON — logo strip */ .press-logos { display: flex; align-items: center; justify-content: center; gap: 48px; flex-wrap: wrap; } .press-logo-wrap { width: auto; height: auto; display: flex; align-items: center; justify-content: center; } .press-logo { max-width: 200px; max-height: 50px; width: 100%; height: 100%; opacity: 0.65; transition: opacity 0.2s; filter: brightness(0) saturate(100%); } .press-logo-wrap:hover .press-logo { opacity: 1; filter: brightness(1) saturate(100%); } #as-seen-on .press-headline { text-align: center; } /* ============================================================ RESPONSIVE ============================================================ */ @media (max-width: 1150px) { .press-grid { grid-template-columns: repeat(2, 1fr); } } @media (max-width: 970px) { /* Contact */ .media-card-email { font-size: clamp(14px, 2.5vw, 20px); } .media-card-link { font-size: clamp(14px, 2.5vw, 20px); } /* Terms */ .terms-section .terms-row { grid-template-columns: 1fr; gap: 32px; } .terms-left { position: static; } /* Assets */ .assets-grid { grid-template-columns: repeat(2, 1fr); } /* Hero */ .hero-inner { grid-template-columns: 1fr; gap: 32px; } .hero-media { order: -1; } .hero-section .container { padding: 40px 32px; } /* Bento */ .bento-grid { grid-template-columns: repeat(6, 1fr); } .bento-col-1 { grid-column: span 1; } .bento-col-2 { grid-column: span 1; } .bento-col-3 { grid-column: span 3; } .bento-col-4 { grid-column: span 2; } .bento-col-5 { grid-column: span 3; } .bento-col-6 { grid-column: span 3; } .bento-col-7 { grid-column: span 3; } .bento-col-8 { grid-column: span 4; } .bento-col-9 { grid-column: span 4; } .bento-col-10 { grid-column: span 5; } .bento-col-11 { grid-column: span 6; } .bento-col-12 { grid-column: span 6; } .bento-row-2 { grid-row: span 1; } .bento-cell { padding: 24px; } } @media (max-width: 900px) { /* Hero (own breakpoint) */ .hero-inner { grid-template-columns: 1fr; gap: 32px; } .hero-media { order: -1; } .hero-section .container { padding: 40px 32px; } } @media (max-width: 825px) { /* Shared container padding reset */ .contact-section .container, .terms-section .container, .assets-section .container, .whoweare-section .container, .press-section .container { padding: 32px 24px; } /* Contact */ .contact-section .media-row { grid-template-columns: 1fr; gap: 0; } .body-text { max-width: 100%; } .media-card { padding: 20px; } .media-card-link, .media-card-email { font-size: 20px; } /* Assets */ .assets-top-row { margin-bottom: 6px; } .assets-grid { grid-template-columns: 1fr 1fr; gap: 16px; } .asset-card-body { padding: 32px 16px; } .asset-card-btn { font-size: 16px; } .asset-card-title { font-size: 24px; } /* Bento */ .bento-grid { grid-template-columns: repeat(2, 1fr); } .bento-col-1, .bento-col-2, .bento-col-3, .bento-col-4, .bento-col-5, .bento-col-6, .bento-col-7, .bento-col-8, .bento-col-9, .bento-col-10,.bento-col-11, .bento-col-12 { grid-column: span 1; } /* Press */ .press-grid { grid-template-columns: 1fr; } } @media (max-width: 540px) { /* Assets */ .assets-grid { grid-template-columns: 1fr; } /* Hero */ .hero-section .container { padding: 32px 24px; } .hero-image-wrap { box-shadow: 10px 10px 0 0 var(--color-brand-marigold), 0 4px 24px 0 rgba(0, 0, 0, 0.1); } /* Bento */ .bento-grid { grid-template-columns: 1fr; } .bento-col-1, .bento-col-2, .bento-col-3, .bento-col-4, .bento-col-5, .bento-col-6, .bento-col-7, .bento-col-8, .bento-col-9, .bento-col-10,.bento-col-11, .bento-col-12 { grid-column: span 1; } /* Press logos */ .press-logos { gap: 24px; } .press-logo { height: 38px; } } /* END OF MEDIA CENTRE STYLES */ /* LAZY LOADING FOOTER ICONS */ .footer-bottom { content-visibility: auto; contain-intrinsic-size: auto 297px; /* mobile first */ } @media (min-width: 768px) { .footer-bottom { contain-intrinsic-size: auto 98px; } } .footer-main .logo-saf { background-position: 0px 0px; } .scndry-btn { background-color: var(--color-brand-secondary); &:hover { background-color: var(--color-brand-secondary-400); } } .img-holder img { max-width: 100%; border-radius: 16px; } .highlight-main-image { margin-bottom: 1em; display: block; max-width: 800px; } .blockquote--media-split { font-size: 18px; line-height: 1.5; } .blockquote--media-split p { color: var(--color-brand-primary-700); } .ui-datepicker-calendar .ui-state-disabled .ui-state-default { color: var(--color-neutral-600); text-decoration: line-through; text-decoration-color: var(--color-neutral-600); text-decoration-thickness: 1px; } .hero-img-01 { background-image: url(https://www.nordicvisitor.com/resources/2015/stylesheets/images/hero.jpg) }