/* TransferMe24 header composition, adapted to TBA Theme Options. */
#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;
}







/* 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;
}

/* Keep the language popup above neighbouring transformed header and hero layers. */
.header-area-2 .tr-wrapper { z-index: 10001; }

/* Keep GTranslate's classes so cached CSS exclusions continue to apply. */
.tr-wrapper .gtranslate_wrapper {
    --tm24-language-border: #d5e7d2;
    --tm24-language-surface: #f1f7f0;
    --tm24-language-active: #e4f0e1;
    --tm24-language-ink: #2c6e26;
    --tm24-language-gradient: linear-gradient(135deg, #f1f7f0, #e4f0e1);
    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;
    /* Compensate for the extra padding so the current flag stays anchored. */
    transform: translate(-3px, -3px);
    background: #fff;
    border-color: var(--tm24-language-border);
    box-shadow: 0 6px 18px rgba(53, 140, 43, .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, #358c2b);
    outline-offset: -2px;
}

/* TM24 navigation: parent-owned, loaded after the legacy base styles. */

@media (max-width:1020px) {
.mobile-navigation-wrapper {
		background: rgba(241, 247, 240, 0.72);
		border: 1px solid rgba(213, 231, 210, 0.45);
		border-radius: 20px;
		box-shadow: 0 14px 34px rgba(53, 140, 43, .09), inset 0 1px 0 rgba(255, 255, 255, 0.68);
		-webkit-backdrop-filter: blur(14px) saturate(145%);
		backdrop-filter: blur(14px) saturate(145%);
		overflow: hidden;
	}

.mobile-navigation-wrapper :is(ul, li, a) { background: transparent; }

.mobile-navigation-wrapper ul li a {
		color: var(--tm24-neutral-text-strong, #242424);
		border-top: 1px solid rgba(255, 255, 255, 0.28);
		box-shadow: none;
	}

.mobile-navigation-wrapper > ul > li:first-child > a {
		border-top: 0;
	}

.mobile-navigation-wrapper ul li ul li > a {
		padding-left: 52px;
	}

.mobile-navigation-wrapper ul li ul li ul li > a {
		padding-left: 68px;
	}

.mobile-navigation-wrapper ul li a:hover,
	.mobile-navigation-wrapper ul li a:focus {
		color: var(--tm24-theme-action-hover, #2c6e26);
		background: rgba(255, 255, 255, 0.32);
		outline: none;
	}

.mobile-navigation-wrapper .current-menu-item > a,
	.mobile-navigation-wrapper .current_page_item > a {
		color: var(--tm24-theme-action-hover, #2c6e26);
		background: rgba(255, 255, 255, 0.38);
	}
}

.header-area-2 .navigation-inner {
	display: flex;
	justify-content: center;
}

.header-area-2 .navigation ul { display: flex; }



@media screen and (max-width:667px) {
#mobile-navigation { margin-top: 17px; }
}

.header-area-2 .fixed-navigation-show { left: 0; }

.tm24-burger {
	display: inline-block;
	width: 26px;
	height: 18px;
	position: relative;
	vertical-align: middle;
	color: inherit;
}

.tm24-burger span {
	position: absolute;
	left: 0;
	width: 100%;
	height: 2px;
	background: currentColor;
	border-radius: 2px;
	transition: all 0.25s ease;
}

.tm24-burger span:nth-child(1) { top: 0; }

.tm24-burger span:nth-child(2) { top: 8px; }

.tm24-burger span:nth-child(3) { bottom: 0; }

#mobile-navigation-btn[aria-expanded="true"] .tm24-burger span:nth-child(1) {
	transform: rotate(45deg);
	top: 8px;
}

#mobile-navigation-btn[aria-expanded="true"] .tm24-burger span:nth-child(2) {
	opacity: 0;
}

#mobile-navigation-btn[aria-expanded="true"] .tm24-burger span:nth-child(3) {
	transform: rotate(-45deg);
	bottom: 8px;
}

.header-area-2 .navigation ul ul {
	padding: 8px;
	background: #fff;
	border: 1px solid var(--tm24-theme-border, #d5e7d2);
	border-radius: 14px;
	overflow: visible;
	box-shadow: 0 12px 30px rgba(20, 45, 70, 0.16);
}

.header-area-2 .navigation ul ul li {
	padding: 0;
	margin: 0;
	border: 0;
	background: transparent;
}

.header-area-2 .navigation ul ul li a {
	display: block;
	padding: 12px 16px;
	margin: 0;
	border: 0;
	border-radius: 8px;
	background: transparent;
	color: #606a73;
	line-height: 1.35;
	transition:
		background-color 0.18s ease,
		color 0.18s ease;
}

.header-area-2 .navigation ul ul li a:hover,
.header-area-2 .navigation ul ul li.current-menu-item > a,
.header-area-2 .navigation ul ul li.current_page_item > a {
	background: var(--tm24-theme-main, #358c2b);
	color: #fff;
}

.header-area-2 .navigation ul ul li:first-child a,
.header-area-2 .navigation ul ul li:last-child a {
	border-radius: 8px;
}

@media screen and (min-width:1021px) {
.header-area-2 .navigation-inner,
	.header-area-2 .navigation,
	.header-area-2 .navigation > ul {
		border-top: 0;
		border-bottom: 0;
		box-shadow: none;
		background: transparent;
	}

.header-area-2 .navigation > ul > li {
		margin: 0 3px;
		padding: 0;
		border: 0;
		background: transparent;
		box-shadow: none;
	}

.header-area-2 .navigation > ul > li > a {
		display: flex;
		align-items: center;
		gap: 7px;
		padding: 13px 18px;
		border: 0;
		border-radius: 14px;
		background: transparent;
		color: #17212b;
		box-shadow: none;
		transition:
			background-color 0.18s ease,
			color 0.18s ease,
			box-shadow 0.18s ease;
	}

.header-area-2 .navigation > ul > li:hover > a,
	.header-area-2 .navigation > ul > li.current-menu-item > a,
	.header-area-2 .navigation > ul > li.current-menu-ancestor > a,
	.header-area-2 .navigation > ul > li.current_page_item > a {
		background-color: var(--tm24-action-base);
		background-image: var(--tm24-action-sheen);
		color: #fff;
		border: 0;
		box-shadow: var(--tm24-action-shadow);
	}

.header-area-2 .navigation > ul > li:hover,
	.header-area-2 .navigation > ul > li.current-menu-item,
	.header-area-2 .navigation > ul > li.current-menu-ancestor,
	.header-area-2 .navigation > ul > li.current_page_item {
		border-top: 0;
		border-bottom: 0;
		box-shadow: none;
	}

.header-area-2 .navigation > ul > li:hover > a i,
	.header-area-2 .navigation > ul > li.current-menu-ancestor > a i,
	.header-area-2 .navigation > ul > li:hover > a .fa,
	.header-area-2 .navigation > ul > li.current-menu-ancestor > a .fa {
		color: #fff;
	}

.header-area-2 .navigation > ul > li.menu-item-has-children:hover > a::after,
	.header-area-2 .navigation > ul > li.menu-item-has-children.current-menu-ancestor > a::after {
		color: #fff;
		border-top-color: #fff;
		border-right-color: #fff;
	}

.header-area-2 .navigation #menu-item-6227 {
		border: 0;
		margin-left: 15px;
	}

.header-area-2 .navigation #menu-item-6227 > a {
		background: var(--tm24-theme-main, #358c2b);
		color: #fff;
		border: 0;
		border-radius: 14px;
		padding-left: 25px;
		padding-right: 25px;
	}

.header-area-2 .header-content,
	.header-area-2 .navigation-wrapper {
		border-top: 0;
		border-bottom: 0;
		box-shadow: none;
	}
}

@media (min-width: 1021px) {
 .header-area-2 #primary-navigation { border-top: 0; border-bottom: 0; }
}

/* Reveal nested links while tabbing, using the same popup layout as hover. */
.header-area-2 .navigation li:focus-within > ul { display: block; }
.header-area-2 .navigation > ul > li:focus-within > a,
.header-area-2 .navigation ul ul li a:focus {
 background: var(--tm24-theme-main, #358c2b);
 color: #fff;
}
.header-area-2 .navigation li > a:focus-visible { outline: 2px solid var(--tm24-theme-main, #358c2b); outline-offset: 2px; }
.header-area-2 .navigation > ul > li:focus-within > a::after { color: #fff; }
#mobile-navigation-btn:focus-visible { outline: 2px solid var(--tm24-theme-action-hover, #2c6e26); outline-offset: 4px; }

/* Match the primary action finish without moving menu hit areas or submenus. */
@media (min-width:1021px) {
 .header-area-2 .navigation > ul > li:is(:hover, :focus-within) > a {
  background-color: var(--tm24-action-hover);
  background-image: var(--tm24-action-sheen);
  box-shadow: 0 9px 18px rgba(53,140,43,.24), inset 0 1px 0 rgba(255,255,255,.20);
 }
}
@media (prefers-reduced-motion:reduce) {
 .header-area-2 .navigation > ul > li > 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;
    }
}


.header-area-2{--tm24-theme-action-hover:color-mix(in srgb,var(--tm24-theme-main,#358c2b) 80%,black);--tm24-action-base:var(--tm24-theme-main,#358c2b);--tm24-action-hover:var(--tm24-theme-action-hover,#2c6e26);--tm24-action-sheen:linear-gradient(135deg,rgba(255,255,255,.28),rgba(255,255,255,.12) 55%,rgba(0,0,0,.12));--tm24-action-shadow:0 6px 14px rgba(53,140,43,.18),inset 0 1px 0 rgba(255,255,255,.18);}
.header-area-2 .logo:after{content:none;}
.header-area-2 .logo img{width:250px;height:50px;max-width:100%;object-fit:contain;}
#logo-icons .logo-icons-icon{box-sizing:border-box;border:1px solid color-mix(in srgb,var(--tm24-theme-main) 18%,white);border-radius:10px;background:linear-gradient(135deg,#f1f7f0,#e4f0e1);color:var(--tm24-theme-main);}
.header-area-2 #logo-icons .logo-icons-icon:has(svg){background-image:none;}
#logo-icons .logo-icons-icon svg{display:block;width:32px;height:32px;}
.tr-wrapper .gtranslate_wrapper{--tm24-language-border:color-mix(in srgb,var(--tm24-theme-main) 18%,white);--tm24-language-ink:var(--tm24-theme-main);}
@media(min-width:1021px){
 .header-area-2{background:color-mix(in srgb,var(--tm24-theme-main) 6%,white);}
 body .header-area-2 .header-content{position:relative;width:calc(100% - 48px);max-width:1110px;padding:28px 0 14px;}
 .header-area-2 .header-content>.logo{min-width:250px;}
 .header-area-2 .navigation-wrapper{margin:0;}
 .header-area-2 .navigation>ul>li>a{padding:13px 14px;white-space:nowrap;}
 .header-area-2 .navigation #menu-item-6227>a{background-color:var(--tm24-action-base);background-image:var(--tm24-action-sheen);color:white;box-shadow:var(--tm24-action-shadow);}
}
@media(max-width:1020px){#logo-icons{display:none;}.header-area-2 .logo img{width:150px;height:50px;}.header-area-2 .logo{height:50px;}.tr-wrapper{width:68px;}}

/* Optional hero text, disabled by default on TBA. */
.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, #358c2b);
    }

}

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

/* Center the logo independently of the tablet language and menu controls. */
@media (min-width: 667px) and (max-width: 1020px) {
    .header-area-2 .header-content { position: relative; }
    .header-area-2 .header-content > .logo { position: absolute; left: 50%; transform: translateX(-50%); margin: 0; }
}
