/* Site appearance: header, hero, content cards, blog and contacts. */

/* Match the Our Fleet heading accent without changing contextual spacing. */
.title-block2,
.title-block3,
.title-block4,
.title-block6,
.title-block7,
#page-header .title-block3,
body.home .tm24-benefits .tm24-benefit-card .title-block2,
.woocommerce .woocommerce-order h2::after {
    width: 58px;
    height: 3px;
    border-radius: 999px;
    background-image: linear-gradient(90deg, #65a6e6 0%, #347ac5 100%);
}

html,
body {
    max-width: 100%;
    overflow-x: hidden;
    overflow-x: clip;
}

html {
    scroll-behavior: smooth;
    scroll-padding-top: 150px;
}

@media (prefers-reduced-motion:reduce) {
    html {
        scroll-behavior: auto;
    }
}

body .header-area-2 .header-content {
    max-width: 1110px;
}

.custom-contacts h2 {
    text-align: center;
}

.custom-contacts div {
    display: flex;
    gap: 25px;
    justify-content: center;
    margin-bottom: 35px;
}

.custom-contacts a {
    cursor: pointer;
}

.custom-contacts img {
    width: 40px;
    height: 40px;
}

.home-page-contacts-container .contact-details-list li {
    border-bottom: transparent 1px solid;
    font-size: 2rem;
    padding: 0;
}

.home-page-contacts-container .contact-details-list li::before,
.home-page-contacts-container .contact-details-list li::after {
    display: none;
}

.home-page-contacts-container .contact-details-list li:first-child {
    border-top: transparent 1px solid;
}

.home-page-contacts-container .contact-details-list {
    width: fit-content;
    margin: 0 auto 40px;
}

.header-area-2 .logo {
    width: fit-content;
    align-items: center;
    display: flex;
    flex-direction: column;
}

.header-area-2 .logo img {
    height: 50px;
    width: 250px;
}

.large-header-wrapper {
    background-position: center 50%;
}

.large-header {
    padding: 40px 0;
    height: 568.5px;
}

.wp-gr.wpac a.wp-google-name,
.wp-gr .wp-google-time,
.wp-gr .wp-google-text {
    font-family: "Source Sans Pro";
}

.news-single {
    border-bottom: transparent 1px solid;
}

@media screen and (max-width:850px) {
    #row-with-google-reviews {
        display: none;
    }
}

@media screen and (max-width:667px) {
    .large-header {
        height: 568.5px;
        padding: 0 0;
    }

    .header-area-2 .logo img {
        height: 50px;
        width: 150px;
    }

}

/* Hero message belongs beside the booking form, leaving the logo uncluttered. */
.tm24-hero-copy {
    display: none;
}

@media (min-width:901px) {
    .large-header > .tm24-hero-copy {
        display: block;
        margin: 0;
        max-width: 560px;
        color: #222;
        font-size: clamp(32px, 3vw, 48px);
        font-weight: 700;
        line-height: 1.18;
        letter-spacing: -0.025em;
        text-wrap: balance;
    }

    .tm24-hero-copy > span {
        display: block;
        white-space: pre-line;
    }

    .tm24-hero-copy__accent {
        margin-top: 0;
        color: var(--tm24-theme-main, #1e73be);
    }

}

@media (min-width:900px) {
    .large-header > .tm24-hero-copy {
        position: absolute;
        top: 50%;
        transform: translateY(-50%);
        left: 460px;
        right: 24px;
    }
}

@media (min-width:1021px) {
    .header-area-2 .header-content > .logo { min-width: 350px; }
}

.content-wrapper-outer.clearfix {
    justify-content: center;
    display: flex;
}

.content-wrapper-outer.clearfix .main-content {
    padding: 0;
}

.post-template-default #reviews-section {
    padding: 40px 0;
}

input,
select {
    color: black;
}

#logo-icons {
    position: absolute;
    top: 35px;
    right: 10px;
    display: flex;
    gap: 14px;
    height: 34px;
}

@media screen and (max-width:1020px) {
    #logo-icons {
        display: none;
    }
}

#logo-icons .logo-icon-block {
    display: flex;
    gap: 8px;
    align-items: center;
}

#logo-icons .logo-icons-icon {
    width: 34px;
    height: 34px;
    flex: 0 0 34px;
    background-size: cover;
    background-repeat: no-repeat;
}

#logo-icons .logo-icons-icon.logo-icons-icon-help {
    background-image: url(../icons/header/help.svg?v=tm30);
}

#logo-icons .logo-icons-icon.logo-icons-icon-price {
    background-image: url(../icons/header/price.svg?v=tm30);
}

#logo-icons .logo-icons-icon.logo-icons-quality {
    background-image: url(../icons/header/quality.svg?v=tm30);
}

/* Wrap complete phrases at spaces; translated words keep their natural width. */
#logo-icons .logo-icons-text {
    width: min-content;
    flex-shrink: 0;
    margin: 0;
    line-height: 1.2;
    font-weight: bold;
    font-size: 12px;
    overflow-wrap: normal;
    word-break: normal;
}

.privacy-policy-list li:before {
    display: none;
}

@media (max-width:1020px) {
    .rank-math-html-sitemap {
        padding: 20px;
        width: 100%;
        box-sizing: border-box;
    }
}

@media (min-width:1021px) {
    .rank-math-html-sitemap {
        padding: 60px;
        width: 100%;
        box-sizing: border-box;
    }
}

@media screen and (max-width:1020px) {
    .large-header-wrapper {
        background-image: none !important;
    }

    .large-header {
        padding: 0px;
    }
}

#loginform {
    max-width: 400px;
    margin: 0 auto;
    box-sizing: border-box;
    padding: 0 5%;
}

.main-content-page-driver {
    width: 100%;
    overflow-x: scroll;
}

@media screen and (max-width:1020px) {
    .main-content-page-driver {
        margin-top: 40px;
    }
}

.destinations-countries ul li,
.destinations-cities ul li {
    text-align: center;
}

.destinations-countries ul li a {
    text-transform: uppercase;
    font-weight: bold;
}

.destinations-countries ul li:before,
.destinations-cities ul li:before {
    display: none;
}

.news-block .large-header {
    max-width: 690px;
}

.news-block .header-booking-form-wrapper {
    width: 100%;
}

.header-area-2 {
    overflow: visible;
}

.tr-wrapper {
    position: relative;
    left: 20px;
    top: 10px;
    width: 40px;
    height: 40px;
    float: left;
	z-index: 10001;
}

@media screen and (max-width:1020px) {
    body .header-area-2 .header-content {
        padding: 20px 0;
    }

    .tr-wrapper {
        left: -13px;
    }

    .header-area-2 .logo {
        float: left;
        margin-left: calc((100% - 440px)/2);
        align-items: center;
    }
}

@media screen and (max-width:667px) {
    .tr-wrapper {
        top: 4px;
    }

    .header-area-2 .logo {
        height: 50px;
        width: 150px;

        margin-left: calc(50% - 115px);
    }
}

/* Align the closed language control with the 50px tablet logo. */
@media (min-width:600px) and (max-width:900.98px) {
    .header-area-2 .header-content > .tr-wrapper {
        top: 5px;
    }
}

/* Keep GTranslate's classes so cached CSS exclusions continue to apply. */
.tr-wrapper .gtranslate_wrapper {
    --tm24-language-border: #d8e9f6;
    --tm24-language-surface: #f2f8fe;
    --tm24-language-active: #dcecf9;
    --tm24-language-ink: #155a96;
    --tm24-language-gradient: linear-gradient(135deg, #f2f8fe, #dcecf9);
    position: absolute;
    z-index: 10000;
    box-sizing: border-box;
    width: 68px;
    padding: 3px;
    border: 1px solid transparent;
    border-radius: 10px;
    background: transparent;
    box-shadow: none;
}

.tr-wrapper .gtranslate_wrapper:after {
    content: none;
}

.tr-wrapper .gtranslate_wrapper a.glink {
    display: none;
    box-sizing: border-box;
    min-width: 0;
    min-height: 34px;
    align-items: center;
    gap: 6px;
    padding: 5px 8px 5px 6px;
    border: 1px solid transparent;
    border-radius: 10px;
    color: #263746;
    text-decoration: none;
    line-height: 20px;
}

.tr-wrapper .gtranslate_wrapper a.glink img {
    display: inline-block;
    flex: 0 0 20px;
    width: 20px;
    height: auto;
    vertical-align: middle;
    padding: 0;
    margin: 0;
    opacity: 1;
    border: 1px solid var(--tm24-language-border);
}

.tr-wrapper .gtranslate_wrapper a.glink span {
    display: inline;
    margin: 0;
    font-size: 14px;
    font-weight: 500;
    white-space: nowrap;
}

.tr-wrapper .gtranslate_wrapper a.gt-current-lang {
    display: flex;
    color: var(--tm24-language-ink);
    background: var(--tm24-language-gradient);
    border-color: var(--tm24-language-border);
}

.tr-wrapper .gtranslate_wrapper:not(.gt-selection-made):hover,
.tr-wrapper .gtranslate_wrapper:not(.gt-selection-made):focus-within {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 2px;
    width: min(184px, calc(100vw - 32px));
    max-height: min(540px, calc(100dvh - 110px));
    overflow-y: auto;
    overscroll-behavior: contain;
    padding: 6px;
    background: #fff;
    border-color: var(--tm24-language-border);
    box-shadow: 0 6px 18px rgba(35, 86, 131, .12);
}

.tr-wrapper .gtranslate_wrapper:not(.gt-selection-made):hover a.glink,
.tr-wrapper .gtranslate_wrapper:not(.gt-selection-made):focus-within a.glink {
    display: flex;
}

.tr-wrapper .gtranslate_wrapper a.glink:hover {
    color: var(--tm24-language-ink);
    background: var(--tm24-language-gradient);
    border-color: var(--tm24-language-border);
}

.tr-wrapper .gtranslate_wrapper a.gt-current-lang:hover {
    background: var(--tm24-language-active);
}

.tr-wrapper .gtranslate_wrapper a.glink:focus-visible {
    outline: 2px solid var(--tm24-action-base, #1e73be);
    outline-offset: -2px;
}

.header-booking-form-wrapper {
    height: 568.5px;
}

@media (max-width:767px) {
    .side-by-side-mobile {
        width: 50% !important;
        float: left;
        display: inline-block;
        clear: none !important;
    }
}

.meter {
    height: 30px;
    position: relative;
    background: #f3efe6;
    border-radius: 3px;
    overflow: hidden;
    margin: 5px 0 5px 0;
}

.meter span {
    display: block;
    height: 100%;
}

.progress {
    -webkit-animation: progressBar 3s ease-in-out;
    -webkit-animation-fill-mode: both;
    -moz-animation: progressBar 3s ease-in-out;
    -moz-animation-fill-mode: both;
}

.pg-lightyellow {
    background-color: #f9d66a;
}

.pg-goldorange {
    background-color: #e8b56e;
}

.pg-warmorange {
    background-color: #f49d3b;
}

.pg-mintgreen {
    background-color: #8fd3a5;
}

@-webkit-keyframes progressBar {
    0% {
        width: 0;
    }

    100% {
        width: 100%;
    }
}

@-moz-keyframes progressBar {
    0% {
        width: 0;
    }

    100% {
        width: 100%;
    }
}

.pg-text {
    margin: 0 5px;
    line-height: 30px;
    color: #ffffff;
    font-weight: 700;
}

.transfer_card {
    position: relative;
    z-index: 1;
    display: block;
    background: #fff;
    border: none;
    border-radius: 0;
    padding: 20px 15px;
    text-align: center;
    text-decoration: none;
    color: inherit;
    transition: all 0.25s ease;
    box-shadow: none;
    cursor: default;
}

.transfer_card:hover {
    z-index: 2;
    box-shadow: 0 3px 12px rgba(0,0,0,0.08);
    transform: translateY(-2px);
}

.transfer_card:active {
    transform: none;
    box-shadow: 0 4px 18px rgba(0,0,0,0.15);
}

.transfer_card h4 {
    font-size: 18px;
    font-weight: 600;
    margin-bottom: 8px;
    color: var(--tm24-neutral-text-strong, #242424);
}

.transfer_description {
    text-align: center;
    color: var(--tm24-neutral-text-secondary, #555555);
    font-size: 15px;
    line-height: 1.6;
}

.visually-hidden {
    position: absolute !important;
    width: 1px;
    height: 1px;
    padding: 0;
    margin: -1px;
    overflow: hidden;
    clip: rect(0,0,0,0);
    border: 0;
    white-space: nowrap;
}

/* =========================================================
   SHARED DESTINATION CARDS (MXP DESIGN)
   ========================================================= */

.tm24-destinations {
	width: 100%;
	max-width: 1120px;
	margin: 45px auto;
	box-sizing: border-box;
}

.tm24-destinations__header {
	max-width: 780px;
	margin: 0 auto 28px;
	text-align: center;
}

.tm24-destinations__eyebrow {
	display: inline-block;
	margin: 0 0 10px;
	padding: 6px 12px;

	background: #eaf4fb;
	border: 1px solid #d4e7f5;
	border-radius: 999px;

	color: #236a9c;
	font-size: 11px;
	font-weight: 700;
	line-height: 1.3;
	letter-spacing: 0.08em;
}

.tm24-destinations__header h2 {
	margin: 0 0 12px;

	color: #172a3d;
	font-size: 30px;
	font-weight: 600;
	line-height: 1.25;
}

.tm24-destinations__header p {
	max-width: 720px;
	margin: 0 auto;

	color: #536779;
	font-size: 16px;
	line-height: 1.65;
}


/* =========================================================
   DESTINATION CARD GRID
   ========================================================= */

.tm24-card-grid {
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	grid-auto-rows: 1fr;
	gap: 18px;
	align-items: stretch;
	margin: 0 0 10px;
	padding: 0 12px 12px;
}

.tm24-card {
	display: flex;
	flex-direction: column;
	min-width: 0;
	height: 100%;
	overflow: hidden;
	box-sizing: border-box;

	background: #ffffff;
	border: 1px solid #dce7ef;
	border-radius: 15px;
	box-shadow: 0 6px 20px rgba(27, 65, 94, 0.07);

	color: #172a3d !important;
	text-decoration: none !important;

	transition:
		transform 0.2s ease,
		border-color 0.2s ease,
		box-shadow 0.2s ease;
}

.tm24-card:hover {
	border-color: #b9d5e8;
	box-shadow: 0 12px 28px rgba(27, 65, 94, 0.13);
	transform: translateY(-3px);
}

.tm24-card:focus-visible {
	outline: 3px solid rgba(30, 115, 190, 0.25);
	outline-offset: 3px;
}


/* =========================================================
   DESTINATION CARD IMAGE
   ========================================================= */

.tm24-card > img {
	display: block;
	width: 100%;
	height: 160px;
	flex-shrink: 0;

	object-fit: cover;
	border: 0;
	box-shadow: none;
	background: #eef4f8;
}


/* =========================================================
   DESTINATION CARD CONTENT
   ========================================================= */

.tm24-card-body,
.tm24-card__body {
	display: flex;
	flex: 1;
	flex-direction: column;
	padding: 17px 17px 18px;
	box-sizing: border-box;
	text-align: left;
}

.tm24-card .tm24-card-body h4,
.tm24-card .tm24-card-body h3,
.tm24-card .tm24-card__body h4,
.tm24-card .tm24-card__body h3 {
	margin: 0 0 9px !important;

	color: #172a3d !important;
	font-size: 18px !important;
	font-weight: 700 !important;
	line-height: 1.35 !important;
	letter-spacing: 0 !important;
	text-transform: none !important;
}

.tm24-card .tm24-card-body p,
.tm24-card .tm24-card__body p {
	margin: 0 0 16px !important;

	color: #5a6d7d !important;
	font-size: 14px !important;
	font-weight: 400 !important;
	line-height: 1.55 !important;
}

.tm24-card__link {
	display: inline-flex;
	align-items: center;
	margin-top: auto;

	color: #1e73be;
	font-size: 14px;
	font-weight: 700;
	line-height: 1.4;
}

.tm24-card:hover .tm24-card-body h4,
.tm24-card:hover .tm24-card-body h3,
.tm24-card:hover .tm24-card__body h4,
.tm24-card:hover .tm24-card__body h3,
.tm24-card:hover .tm24-card__link {
	color: #155f9f !important;
}


/* =========================================================
   DESTINATION CARDS — TABLET
   ========================================================= */

@media (max-width: 900px) {

	.tm24-destinations {
		padding: 0 16px;
	}

	.tm24-card-grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.tm24-destinations__header h2 {
		font-size: 27px;
	}

	.tm24-card > img {
		height: 190px;
	}
}


/* =========================================================
   DESTINATION CARDS — MOBILE
   ========================================================= */

@media (max-width: 600px) {

	.tm24-destinations {
		margin: 30px auto;
		padding: 0 12px;
	}

	.tm24-destinations__header {
		margin-bottom: 22px;
	}

	.tm24-destinations__eyebrow {
		font-size: 10px;
	}

	.tm24-destinations__header h2 {
		font-size: 24px;
		line-height: 1.3;
	}

	.tm24-destinations__header p {
		font-size: 15px;
	}

	.tm24-card-grid {
		grid-template-columns: 1fr;
		grid-auto-rows: auto;
		gap: 15px;
	}

	.tm24-card > img {
		height: 190px;
	}

	.tm24-card-body,
.tm24-card__body {
		padding: 16px;
	}

	.tm24-card .tm24-card-body h4,
.tm24-card .tm24-card-body h3,
.tm24-card .tm24-card__body h4,
.tm24-card .tm24-card__body h3 {
		font-size: 18px !important;
	}

	.tm24-card .tm24-card-body p,
.tm24-card .tm24-card__body p {
		margin-bottom: 14px !important;
	}
}
@media (prefers-reduced-motion: reduce) {
	.tm24-card { transition: none; }
	.tm24-card:hover { transform: none; }
}

.main-content img,
.content-wrapper img,
.wpb_content_element img {
    border-radius: 14px;
}

.logo img,
.header-area-2 .logo img,
.gtranslate_wrapper img,
.contact-details-list img,
.wp-google-logo,
.iti img {
    border-radius: 0;
}

.qns-wu-link img {
    border-radius: 10px;
}

body .booking-form-1 button,
body .qns-wu-link {
    border-radius: 14px;
    overflow: hidden;
}

@media screen and (max-width:667px) {
    .header-booking-form-wrapper {
        width: calc(100% - 32px);
        max-width: none;
        height: auto;
        margin: 24px auto 0;
        float: none;
        box-sizing: border-box;
    }

    .header-booking-form-wrapper #booking-tabs {
        width: 100%;
        box-sizing: border-box;
    }
}

@media screen and (min-width:668px) and (max-width:1020px) {
    .header-booking-form-wrapper {
        width: calc(100% - 96px);
        max-width: none;
        height: auto;
        margin: 36px auto 0;
        float: none;
        box-sizing: border-box;
    }

    .header-booking-form-wrapper #booking-tabs {
        width: 100%;
        box-sizing: border-box;
    }
}

@media screen and (max-width:1020px) {
    .header-booking-form-wrapper {
        overflow: visible;
    }

    .header-booking-form-wrapper #booking-tabs {
        overflow: hidden;
        box-shadow: 0 14px 32px rgba(20,60,90,0.16);
    }
}

@media screen and (max-width:1020px) {
    .large-header-wrapper,
    .large-header {
        background-color: #fff;
    }

    .large-header-wrapper {
        position: relative;
        z-index: 2;
        overflow: visible;
    }

    .large-header,
    .header-booking-form-wrapper {
        position: relative;
        overflow: visible;
    }

    .header-booking-form-wrapper {
        z-index: 2;
    }

    .header-booking-form-wrapper #booking-tabs {
        box-shadow: 0 14px 32px rgba(20,60,90,0.16);
    }

    .large-header-wrapper+* {
        position: relative;
        z-index: 1;
        background-color: #fff;
    }
}

@media screen and (max-width:667px) {
    .large-header-wrapper {
        padding-bottom: 20px;
    }
}

@media screen and (min-width:668px) and (max-width:1020px) {
    .large-header-wrapper {
        padding-bottom: 24px;
    }
}

#page-header {
    background: repeating-radial-gradient(ellipse at 15% 120%,transparent 0 28px,rgba(30,115,190,0.055) 29px 31px,transparent 32px 58px),linear-gradient(135deg,#f8fbfe 0%,#eef6fd 55%,#dfeaf5 100%);

    position: relative;
    overflow: hidden;
}

#page-header::after {
    content: "";
    position: absolute;
    left: 0;
    right: 0;
    bottom: 0;
    height: 90px;
    pointer-events: none;
    z-index: 1;
    background: linear-gradient(to bottom,rgba(255,255,255,0) 0%,rgba(255,255,255,0.55) 55%,#fff 100%);
}

#page-header .page-header-inner,
#page-header .page-header-content,
#page-header h1,
#page-header .breadcrumbs {
    position: relative;
    z-index: 2;
}

/* Breadcrumb chevron: visible without Font Awesome. */
#page-header p .sep {
    display: inline-block;
    color: var(--tm24-theme-main, #1e73be);
    box-sizing: border-box;
    width: 6px;
    height: 6px;
    margin: 0 7px;
    border-top: 2px solid currentColor;
    border-right: 2px solid currentColor;
    vertical-align: middle;
    transform: rotate(45deg);
}

@media screen and (min-width:1021px) {
    /* Give the booking card shadow room to fade before the hero clips it. */
    .large-header {
        padding-bottom: 64px;
    }

    .large-header-wrapper {
        position: relative;
        overflow: hidden;
    }

    .large-header-wrapper::after {
        content: "";
        position: absolute;
        left: 0;
        right: 0;
        bottom: 0;
        height: 160px;
        z-index: 1;
        pointer-events: none;
        background: linear-gradient(to bottom,rgba(255,255,255,0) 0%,rgba(255,255,255,0.45) 45%,#fff 100%);
    }

    .large-header,
    .header-booking-form-wrapper {
        position: relative;
        z-index: 2;
    }
}

.vc_grid .vc_grid-item .vc_grid-item-mini,
.news-block-wrapper .news-block {
    background: #fff;
    border-radius: 14px;
    overflow: hidden;
    box-shadow: 0 4px 16px rgba(20,60,90,0.08);
    transition: transform 0.2s ease,box-shadow 0.2s ease;
}

.vc_grid .vc_grid-item img,
.news-block-wrapper .news-block img {
    display: block;
    width: 100%;
    border-radius: 14px;
}

:root {
    --tm24-main-color: var(--tm24-theme-content-action, #467bbf);
    --tm24-main-color-hover: var(--tm24-theme-action-hover, #356cad);
}

/* WPBakery stores inline colors and hover handlers on these links. */
.vc_btn3-container .vc_btn3[class],
.vc_btn3-container .vc_btn3[class]:visited {
    background-color: var(--tm24-action-base) !important;
    border-color: var(--tm24-main-color);
    color: #fff !important;
    border-radius: 10px;
    box-shadow: none;
    transition: background-color 0.2s ease,border-color 0.2s ease,transform 0.2s ease,box-shadow 0.2s ease;
}

.vc_btn3-container .vc_btn3[class]:hover,
.vc_btn3-container .vc_btn3[class]:focus,
.vc_btn3-container .vc_btn3[class]:active {
    background-color: var(--tm24-action-hover) !important;
    border-color: var(--tm24-main-color-hover);
    color: #fff !important;
    box-shadow: 0 6px 16px rgba(70,123,191,0.22);
    transform: translateY(-1px);
}

.tm24-contacts-block {
    position: relative;
    width: 100vw !important;
    max-width: 100vw !important;
    margin-left: calc(50% - 50vw) !important;
    margin-right: calc(50% - 50vw) !important;
    padding: 101px 20px 45px;
    box-sizing: border-box;
    display: flex;
    flex-direction: column;
    align-items: center;
    text-align: center;
    background: linear-gradient(to bottom,#fff 0,#eef6fd 32px,var(--tm24-theme-secondary, #cadbec) 80px,var(--tm24-theme-secondary, #cadbec) 100%);
}

.tm24-contacts-block h4 {
    margin: 0;
    font-size: 24px;
}

.tm24-contacts-block .title-block2 {
    margin: 10px auto;
}

.tm24-contacts-block>p {
    margin: 10px 0;
}

.tm24-contacts-block .contact-details-list {
    list-style: none;
    padding: 0;
    margin: 10px 0;
}

.tm24-contacts-block .contact-details-list li {
    font-size: 18px;
}

.tm24-contacts-block .contact-details-list a {
    text-decoration: none;
}

.tm24-contact-messengers {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 20px;
    margin-top: 10px;
}

.tm24-contact-messengers img {
    display: block;
    width: 50px;
    height: 50px;
    border-radius: 0;
    transition: transform 0.2s ease;
}

.tm24-contact-messengers a:hover img {
    transform: translateY(-2px);
}

.vc_row:has(.tm24-contacts-block),
.vc_row:has(.tm24-contacts-block)>.vc_column_container,
.vc_column_container:has(.tm24-contacts-block),
.vc_column-inner:has(.tm24-contacts-block),
.wpb_wrapper:has(.tm24-contacts-block),
.wpb_content_element:has(.tm24-contacts-block),
.wpb_text_column:has(.tm24-contacts-block) {
    margin: 0 !important;
    padding: 0 !important;
    border: 0;
}

.wpb_content_element:has(.tm24-contacts-block),
.wpb_text_column:has(.tm24-contacts-block) {
    margin-bottom: 0;
}

@media screen and (max-width:667px) {
    .tm24-contacts-block {
        padding: 55px 16px 38px;
    }

    .tm24-contacts-block h4 {
        font-size: 22px;
    }

    .tm24-contacts-block>p {
        font-size: 15px;
    }

    .tm24-contacts-block .contact-details-list li {
        font-size: 17px;
    }

    .tm24-contact-messengers img {
        width: 46px;
        height: 46px;
    }
}

.tm24-contacts-block {
    margin-top: -16px;
}

.tm24-booking-heading {
    pointer-events: none;
    cursor: default;
    text-decoration: none;
}

/* Payment options use native radio controls, without theme list chevrons. */
.main-content #payment ul.payment_methods > li.wc_payment_method::before {
    content: none;
    display: none;
}

/* Plain HTML content links: independent of the retired theme Button shortcode. */
.wpb_raw_code.content-cta-block { margin: 0; }
.content-cta {
    display: flex;
    justify-content: center;
    margin: 0;
    width: 100%;
}
.main-content .content-cta-link,
.main-content .content-cta-link:visited {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    box-sizing: border-box;
    width: 236px;
    max-width: 100%;
    padding: 10px 18px;
    border: 0;
    border-radius: 30px;
    background: var(--content-cta-background, var(--tm24-theme-main, #467bbf));
    color: var(--content-cta-color, #fff);
    font-size: 16px;
    line-height: 1.6;
    text-align: center;
    text-decoration: none;
    transition: background-color .2s ease;
}
.main-content .content-cta-link:hover {
    background: var(--tm24-main-color-hover, #356cad);
    color: #fff;
}
.main-content .content-cta-link:focus-visible {
    outline: 2px solid var(--tm24-theme-main, #467bbf);
    outline-offset: 3px;
}


/* Shared primary actions. Calendar, count controls, dock and branded links are separate controls. */
:root {
    --tm24-action-base: var(--tm24-theme-content-action, #1e73be);
    --tm24-action-hover: var(--tm24-theme-action-hover, #155a96);
    --tm24-action-sheen: linear-gradient(135deg, rgba(255,255,255,.28) 0%, rgba(255,255,255,.12) 55%, rgba(0,0,0,.12) 100%);
    --tm24-action-shadow: 0 6px 14px rgba(47,104,173,.18), inset 0 1px 0 rgba(255,255,255,.18);
}

:is(.main-content button[type="submit"]:not(.tm24-booking-progress__back),
.main-content .content-cta-link,
.main-content .vc_btn3-container .vc_btn3[class],
.main-content .button1,
.main-content .news-read-more,
.main-content .more-link,
.main-content .view-map-button,
.main-content .payment-button,
.main-content .bookingbutton1,
.main-content .bookingbutton2,
.main-content input[type="submit"],
.main-content .woocommerce .button,
.main-content .woocommerce-checkout .button,
.header-booking-form-wrapper .bookingbutton1,
.header-booking-form-wrapper .bookingbutton2,
.widget-booking-form-wrapper .bookingbutton1,
.widget-booking-form-wrapper .bookingbutton2),
:is(.main-content button[type="submit"]:not(.tm24-booking-progress__back),
.main-content .content-cta-link,
.main-content .vc_btn3-container .vc_btn3[class],
.main-content .button1,
.main-content .news-read-more,
.main-content .more-link,
.main-content .view-map-button,
.main-content .payment-button,
.main-content .bookingbutton1,
.main-content .bookingbutton2,
.main-content input[type="submit"],
.main-content .woocommerce .button,
.main-content .woocommerce-checkout .button,
.header-booking-form-wrapper .bookingbutton1,
.header-booking-form-wrapper .bookingbutton2,
.widget-booking-form-wrapper .bookingbutton1,
.widget-booking-form-wrapper .bookingbutton2):visited {
    background-color: var(--tm24-action-base);
    background-image: var(--tm24-action-sheen);
    color: #fff;
    border-color: transparent;
    border-radius: 14px;
    box-shadow: var(--tm24-action-shadow);
    text-decoration: none;
    transition: background-color .2s ease, box-shadow .2s ease, transform .2s ease;
}
:is(.main-content button[type="submit"]:not(.tm24-booking-progress__back),
.main-content .content-cta-link,
.main-content .vc_btn3-container .vc_btn3[class],
.main-content .button1,
.main-content .news-read-more,
.main-content .more-link,
.main-content .view-map-button,
.main-content .payment-button,
.main-content .bookingbutton1,
.main-content .bookingbutton2,
.main-content input[type="submit"],
.main-content .woocommerce .button,
.main-content .woocommerce-checkout .button,
.header-booking-form-wrapper .bookingbutton1,
.header-booking-form-wrapper .bookingbutton2,
.widget-booking-form-wrapper .bookingbutton1,
.widget-booking-form-wrapper .bookingbutton2):is(:hover, :focus-visible):not(:disabled):not([aria-disabled="true"]):not(.disabled) {
    background-color: var(--tm24-action-hover);
    color: #fff;
    box-shadow: 0 9px 18px rgba(47,104,173,.24), inset 0 1px 0 rgba(255,255,255,.20);
    filter: none;
    transform: translateY(-1px);
}
:is(.main-content button[type="submit"]:not(.tm24-booking-progress__back),
.main-content .content-cta-link,
.main-content .vc_btn3-container .vc_btn3[class],
.main-content .button1,
.main-content .news-read-more,
.main-content .more-link,
.main-content .view-map-button,
.main-content .payment-button,
.main-content .bookingbutton1,
.main-content .bookingbutton2,
.main-content input[type="submit"],
.main-content .woocommerce .button,
.main-content .woocommerce-checkout .button,
.header-booking-form-wrapper .bookingbutton1,
.header-booking-form-wrapper .bookingbutton2,
.widget-booking-form-wrapper .bookingbutton1,
.widget-booking-form-wrapper .bookingbutton2):focus-visible {
    outline: 2px solid var(--tm24-action-hover);
    outline-offset: 4px;
}
:is(.main-content button[type="submit"]:not(.tm24-booking-progress__back),
.main-content .content-cta-link,
.main-content .vc_btn3-container .vc_btn3[class],
.main-content .button1,
.main-content .news-read-more,
.main-content .more-link,
.main-content .view-map-button,
.main-content .payment-button,
.main-content .bookingbutton1,
.main-content .bookingbutton2,
.main-content input[type="submit"],
.main-content .woocommerce .button,
.main-content .woocommerce-checkout .button,
.header-booking-form-wrapper .bookingbutton1,
.header-booking-form-wrapper .bookingbutton2,
.widget-booking-form-wrapper .bookingbutton1,
.widget-booking-form-wrapper .bookingbutton2):active:not(:disabled):not([aria-disabled="true"]):not(.disabled) {
    transform: translateY(0) scale(.99);
}

:is(.header-area-2 .navigation #menu-item-684 > a,
.mobile-navigation-wrapper .menu-item-684 > a),
:is(.header-area-2 .navigation #menu-item-684 > a,
.mobile-navigation-wrapper .menu-item-684 > a):visited {
    background-color: var(--tm24-action-base);
    background-image: var(--tm24-action-sheen);
    color: #fff;
    border-color: transparent;
    border-radius: 14px;
    box-shadow: var(--tm24-action-shadow);
    text-decoration: none;
    transition: background-color .2s ease, box-shadow .2s ease, transform .2s ease;
}
:is(.header-area-2 .navigation #menu-item-684 > a,
.mobile-navigation-wrapper .menu-item-684 > a):is(:hover, :focus-visible):not(:disabled):not([aria-disabled="true"]):not(.disabled) {
    background-color: var(--tm24-action-hover);
    color: #fff;
    box-shadow: 0 9px 18px rgba(47,104,173,.24), inset 0 1px 0 rgba(255,255,255,.20);
    filter: none;
    transform: translateY(-1px);
}
:is(.header-area-2 .navigation #menu-item-684 > a,
.mobile-navigation-wrapper .menu-item-684 > a):focus-visible {
    outline: 2px solid var(--tm24-action-hover);
    outline-offset: 4px;
}
:is(.header-area-2 .navigation #menu-item-684 > a,
.mobile-navigation-wrapper .menu-item-684 > a):active:not(:disabled):not([aria-disabled="true"]):not(.disabled) {
    transform: translateY(0) scale(.99);
}

@media (prefers-reduced-motion: reduce) {
:is(.main-content button[type="submit"]:not(.tm24-booking-progress__back),
.main-content .content-cta-link,
.main-content .vc_btn3-container .vc_btn3[class],
.main-content .button1,
.main-content .news-read-more,
.main-content .more-link,
.main-content .view-map-button,
.main-content .payment-button,
.main-content .bookingbutton1,
.main-content .bookingbutton2,
.main-content input[type="submit"],
.main-content .woocommerce .button,
.main-content .woocommerce-checkout .button,
.header-booking-form-wrapper .bookingbutton1,
.header-booking-form-wrapper .bookingbutton2,
.widget-booking-form-wrapper .bookingbutton1,
.widget-booking-form-wrapper .bookingbutton2) { transition: none; }
:is(.header-area-2 .navigation #menu-item-684 > a,
.mobile-navigation-wrapper .menu-item-684 > a) { transition: none; }
}

/* Keep desktop language, logo and service icons in one balanced header row. */
@media (min-width:1021px) {
    body .header-area-2 .header-content {
        display: grid;
        grid-template-columns: minmax(0, 1fr) auto minmax(0, 1fr);
        align-items: center;
        column-gap: 16px;
        row-gap: 20px;
        --tm24-header-side-offset: clamp(0px, calc((100vw - 1110px) / 6), 32px);
    }
    .header-area-2 .header-content > .tr-wrapper {
        float: none;
        left: auto;
        top: auto;
        justify-self: center;
        transform: translateX(calc(0px - var(--tm24-header-side-offset)));
    }
    .header-area-2 .header-content > .logo {
        margin: 0;
        justify-self: center;
    }
    .header-area-2 .header-content > #logo-icons {
        position: static;
        justify-self: center;
        /* Center the price highlight over the CTA; limit the shift in compact headers. */
        transform: translateX(clamp(6px, calc((100vw - 1021px) / 3), 28px));
    }
    .header-area-2 .header-content > .navigation-wrapper {
        grid-column: 1 / -1;
    }
    .header-area-2 .header-content > .clearboth {
        display: none;
    }
}

/* Tablet hero: stacked on narrow tablets, two columns when there is room. */
@media (min-width:600px) and (max-width:899.98px) {
    .large-header {
        display: flex;
        flex-direction: column;
        width: 100%;
        height: auto;
        padding: 28px 0 0;
    }
    .large-header > .header-booking-form-wrapper {
        width: calc(100% - 48px);
        max-width: 560px;
        height: auto;
        margin: 0 auto;
        float: none;
    }
}
@media (min-width:900px) and (max-width:1020px) {
    .large-header-wrapper {
        background-image: var(--tm24-hero-background, none) !important;
        background-size: cover;
        background-position: center;
        background-repeat: no-repeat;
    }
    .large-header {
        width: calc(100% - 48px);
        height: auto;
        min-height: 568.5px;
        padding: 40px 0;
        background-color: transparent;
    }
    .large-header > .header-booking-form-wrapper {
        width: 380px;
        max-width: none;
        margin: 0;
        float: none;
    }
    .large-header > .tm24-hero-copy {
        left: 430px;
        right: 0;
        font-size: 36px;
    }
}
@media (min-width:667px) and (max-width:899.98px) {
    body .header-area-2 .header-content {
        position: relative;
        min-height: 50px;
    }
    .header-area-2 .header-content > .logo {
        position: absolute;
        left: 50%;
        top: 20px;
        margin: 0;
        width: 250px;
        height: 50px;
        transform: translateX(-50%);
    }
    .header-area-2 .header-content > .logo img { width: 250px; }
}

/* Booking heading shares the action sheen, while retaining the theme main color. */
:is(.header-booking-form-wrapper, .widget-booking-form-wrapper) #booking-tabs > ul > li.ui-state-active > a {
 background-image:var(--tm24-action-sheen);
 box-shadow:inset 0 1px 0 rgba(255,255,255,.18), inset 0 -1px 0 rgba(0,0,0,.08);
}

/* Keep the minimal car artwork below the copy and within the right edge. */
@media (min-width:900px) {
 .large-header-wrapper {
  --tm24-hero-shift:clamp(0px,calc(13vw - 117px),70px);
  background-image:linear-gradient(180deg,#fff calc(100% - min(33.333vw,600px) + var(--tm24-hero-shift) + 2px),rgba(255,255,255,0) calc(100% - min(33.333vw,600px) + var(--tm24-hero-shift) + 120px)),var(--tm24-hero-background,none) !important;
  background-position:center,right calc(100% + var(--tm24-hero-shift)) !important;
  background-size:cover,min(100%, 1800px) auto !important;
 }
}

/* One airy surface connects the full header to either title or booking hero. */
@media (min-width:1021px) {
 .header-area-2 {
  background:#f1f7fc;
 }
 #page-header {
  background:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%20720%20180%22%20fill%3D%22none%22%3E%0A%20%20%3Cg%20stroke%3D%22%234287bd%22%20stroke-width%3D%222%22%20opacity%3D%22.22%22%3E%0A%20%20%20%20%3Cpath%20d%3D%22M73.994%20115.589C180.229%20109.181%20185.665%2030%20320%2030C456.463%2030%20488.414%20144.012%20647.378%2071.056%22%20stroke-dasharray%3D%225%209%22%20stroke-linecap%3D%22round%22%2F%3E%0A%20%20%20%20%3Ccircle%20cx%3D%2260%22%20cy%3D%22116%22%20r%3D%228%22%2F%3E%0A%20%20%20%20%3Ccircle%20cx%3D%22660%22%20cy%3D%2265%22%20r%3D%228%22%2F%3E%0A%20%20%20%20%3Cpath%20d%3D%22M57%2096L57%2086L44%2090V86L57%2079V68C57%2063%2063%2063%2063%2068V79L76%2086V90L63%2086V96L68%2099V102L60%20100L52%20102V99Z%22%20stroke-linejoin%3D%22round%22%20transform%3D%22rotate%2890%2060%2083%29%22%2F%3E%0A%20%20%20%20%3Cpath%20d%3D%22M660%2051C660%2051%20648%2038%20648%2030A12%2012%200%200%201%20672%2030C672%2038%20660%2051%20660%2051Z%22%2F%3E%0A%20%20%20%20%3Ccircle%20cx%3D%22660%22%20cy%3D%2230%22%20r%3D%224%22%2F%3E%0A%20%20%3C%2Fg%3E%0A%20%20%3Cg%20fill%3D%22%234287bd%22%20opacity%3D%22.28%22%3E%0A%20%20%20%20%3Ccircle%20cx%3D%2260%22%20cy%3D%22116%22%20r%3D%223%22%2F%3E%0A%20%20%20%20%3Ccircle%20cx%3D%22660%22%20cy%3D%2265%22%20r%3D%223%22%2F%3E%0A%20%20%3C%2Fg%3E%0A%3C%2Fsvg%3E%0A") right 24px top 6px / min(38vw,720px) auto no-repeat,linear-gradient(180deg,#f1f7fc 0%,#f4f9fd 42%,#fff 100%);
 }
 .large-header-wrapper::before {
  content:"";
  position:absolute;
  left:0;
  right:0;
  top:0;
  height:240px;
  background:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%20720%20180%22%20fill%3D%22none%22%3E%0A%20%20%3Cg%20stroke%3D%22%234287bd%22%20stroke-width%3D%222%22%20opacity%3D%22.22%22%3E%0A%20%20%20%20%3Cpath%20d%3D%22M73.994%20115.589C180.229%20109.181%20185.665%2030%20320%2030C456.463%2030%20488.414%20144.012%20647.378%2071.056%22%20stroke-dasharray%3D%225%209%22%20stroke-linecap%3D%22round%22%2F%3E%0A%20%20%20%20%3Ccircle%20cx%3D%2260%22%20cy%3D%22116%22%20r%3D%228%22%2F%3E%0A%20%20%20%20%3Ccircle%20cx%3D%22660%22%20cy%3D%2265%22%20r%3D%228%22%2F%3E%0A%20%20%20%20%3Cpath%20d%3D%22M57%2096L57%2086L44%2090V86L57%2079V68C57%2063%2063%2063%2063%2068V79L76%2086V90L63%2086V96L68%2099V102L60%20100L52%20102V99Z%22%20stroke-linejoin%3D%22round%22%20transform%3D%22rotate%2890%2060%2083%29%22%2F%3E%0A%20%20%20%20%3Cpath%20d%3D%22M660%2051C660%2051%20648%2038%20648%2030A12%2012%200%200%201%20672%2030C672%2038%20660%2051%20660%2051Z%22%2F%3E%0A%20%20%20%20%3Ccircle%20cx%3D%22660%22%20cy%3D%2230%22%20r%3D%224%22%2F%3E%0A%20%20%3C%2Fg%3E%0A%20%20%3Cg%20fill%3D%22%234287bd%22%20opacity%3D%22.28%22%3E%0A%20%20%20%20%3Ccircle%20cx%3D%2260%22%20cy%3D%22116%22%20r%3D%223%22%2F%3E%0A%20%20%20%20%3Ccircle%20cx%3D%22660%22%20cy%3D%2265%22%20r%3D%223%22%2F%3E%0A%20%20%3C%2Fg%3E%0A%3C%2Fsvg%3E%0A") right 24px top 6px / min(38vw,720px) auto no-repeat,linear-gradient(180deg,#f1f7fc 0%,rgba(241,247,252,.65) 35%,rgba(241,247,252,0) 100%);
  pointer-events:none;
 }
}
