/* HTML elements
--------------------------------------------- */

/* General */

.hero-brand-logo {
	box-sizing: border-box;
	display: block;
	grid-row: 2;
	height: auto;
	margin: 0;
	max-width: 100%;
	padding-inline: 1.25rem;
	width: min(630px, 100%);
}

.home .gb-container-hero-bg-img .gb-headline-139400a1 {
	align-self: end;
	box-sizing: border-box;
	grid-row: 1;
	margin: 0 0 1.25rem;
	max-width: 100%;
	padding-inline: 1.25rem;
}

/* Header logos */
.site-header .site-logo {
	box-sizing: border-box;
	flex-shrink: 1;
	min-width: 0;
	padding: 0.5rem 0.75rem;
}

.site-header .header-image,
.site-header .site-logo img {
	display: block;
	height: auto;
	max-width: 100%;
	width: min(240px, 100%);
}

.navigation-branding {
	box-sizing: border-box;
	flex-shrink: 1;
	min-width: 0;
	padding-block: 0.35rem;
	padding-inline: 0.75rem;
}

.navigation-branding img,
.sticky-navigation-logo img {
	display: block;
	height: auto;
	max-height: 60px;
	max-width: 100%;
	width: auto;
}

@media (max-width: 960px) {
	.has-inline-mobile-toggle .inside-header {
		align-items: center;
		flex-wrap: wrap;
	}

	.site-header .site-logo {
		flex: 1 1 auto;
		max-width: calc(100% - 3.75rem);
		padding: 0.5rem 0.75rem;
		width: auto;
	}

	.site-header .header-image,
	.site-header .site-logo img {
		height: auto;
		max-height: 40px;
		max-width: 100%;
		width: auto;
	}

	.site-header .mobile-menu-control-wrapper {
		flex: 0 0 auto;
		margin-left: auto;
	}

	.hero-brand-logo {
		padding-inline: 1.5rem;
		width: min(630px, 100%);
	}
}

.hero-scroll-cue {
	align-items: center;
	bottom: 1.75rem;
	color: var(--white);
	display: flex;
	flex-direction: column;
	gap: 0.65rem;
	left: 50%;
	opacity: 0;
	pointer-events: none;
	position: absolute;
	transform: translateX(-50%);
	transition: opacity 0.35s ease, visibility 0.35s ease;
	visibility: hidden;
	z-index: 2;
}

html:not(.mobile-menu-open) body.home.hero-scroll-ready:not(.is-scrolled) .hero-scroll-cue {
	opacity: 0.85;
	visibility: visible;
}

.hero-scroll-cue__label {
	font-size: 0.8rem;
	font-weight: 600;
	letter-spacing: 0.14em;
	text-transform: uppercase;
}

.hero-scroll-cue__arrows {
	display: block;
	height: 14px;
	position: relative;
	width: 22px;
}

.hero-scroll-cue__arrows::before,
.hero-scroll-cue__arrows::after {
	border-bottom: 2px solid currentColor;
	border-right: 2px solid currentColor;
	content: "";
	height: 10px;
	left: 50%;
	position: absolute;
	top: 0;
	transform: translateX(-50%) rotate(45deg);
	width: 10px;
}

.hero-scroll-cue__arrows::after {
	top: 6px;
}

@media (prefers-reduced-motion: no-preference) {
	.hero-scroll-cue__arrows {
		animation: hero-scroll-bounce 1.6s ease-in-out infinite;
	}
}

@keyframes hero-scroll-bounce {
	0%,
	100% {
		opacity: 0.45;
		transform: translateY(0);
	}

	50% {
		opacity: 1;
		transform: translateY(6px);
	}
}

.inline-brand-logo {
	display: inline-block;
	height: 0.85em;
	margin: 0 0.15em;
	vertical-align: -0.05em;
	width: auto;
}

/* Inline when wide enough; otherwise stack THE / logo / ADVANTAGE */
.gb-container-866547ae {
	container-name: advantage-panel;
	container-type: inline-size;
}

.advantage-title {
	align-items: baseline;
	column-gap: 0.35em;
	display: flex;
	flex-direction: row;
	flex-wrap: nowrap;
	justify-content: center;
	line-height: 1;
}

.advantage-title__part {
	flex: 0 0 auto;
}

.advantage-title__part .inline-brand-logo {
	display: block;
	flex-shrink: 0;
	/* SVG letters fill the viewBox — match text cap-height */
	height: 1cap;
	margin: 0;
	width: calc(1cap * 399 / 40);
}

@container advantage-panel (max-width: 30rem) {
	.advantage-title {
		align-items: center;
		flex-direction: column;
		row-gap: 0.15em;
	}
}

@media (max-width: 767px) {
	.gb-container-866547ae {
		padding-left: 30px;
		padding-right: 30px;
	}

	/* Keep icon + text as one centered group when the copy wraps */
	.gb-container-866547ae .gb-headline-heading-icon {
		justify-content: flex-start;
		margin-inline: auto;
		max-width: 20rem;
		text-align: left;
		width: fit-content;
	}

	.gb-container-866547ae .gb-headline-heading-icon .gb-icon {
		flex-shrink: 0;
	}

	.gb-container-866547ae .gb-headline-heading-icon .gb-headline-text {
		min-width: 0;
	}
}

.partner-logos {
	align-items: center;
	display: flex;
	flex-wrap: wrap;
	gap: 2rem 3rem;
	justify-content: center;
	margin-bottom: 1.5em;
}

.partner-logos figure {
	margin: 0;
}

.partner-logos img {
	display: block;
	height: 60px;
	object-fit: contain;
	width: auto;
}

.home .gb-container-hero-bg-img {
	align-items: stretch;
	display: flex;
	justify-content: center;
	min-height: 100vh;
	min-height: 100dvh;
	position: relative;
}

.home .gb-container-hero-black-inner-front {
	align-items: center;
	display: grid;
	flex: 1;
	grid-template-rows: 1fr auto 1fr;
	justify-items: center;
	max-width: none;
	overflow: visible;
	padding: 0;
	text-shadow: none;
	width: 100%;
}

/* Fixed overlay topbar — page offset reserves default bar height */
:root {
	--site-header-offset: 5.25rem;
}

@media (max-width: 960px) {
	:root {
		--site-header-offset: 4.75rem;
	}
}

.site-header {
	left: 0;
	position: fixed;
	right: 0;
	top: 0;
	transition: background-color 0.35s ease;
	width: 100%;
	z-index: 1000;
}

body:not(.home) {
	padding-top: var(--site-header-offset);
}

#sticky-placeholder {
	display: none !important;
	height: 0 !important;
	margin: 0 !important;
	padding: 0 !important;
}

/* Transparent topbar over homepage hero */
html:not(.mobile-menu-open) body.home:not(.is-scrolled) .site-header {
	background-color: transparent;
}

html:not(.mobile-menu-open) body.home:not(.is-scrolled) .site-header .main-navigation,
html:not(.mobile-menu-open) body.home:not(.is-scrolled) .site-header .main-navigation.is_stuck {
	background-color: transparent;
	box-shadow: none;
}

.home .site-header .site-logo {
	transition: opacity 0.35s ease, visibility 0.35s ease;
}

html:not(.mobile-menu-open) body.home:not(.is-scrolled) .site-header .site-logo {
	opacity: 0;
	pointer-events: none;
	visibility: hidden;
}

body.home.is-scrolled .site-header,
html.mobile-menu-open body.home .site-header,
html.mobile-menu-open body.home .site-header .main-navigation,
html.mobile-menu-open body.home .site-header .main-navigation.is_stuck {
	background-color: var(--black);
}

hr {
	margin: 0 0 1.5em;
}

ul, ol {
	margin-left: 2em;
}

/* Separator */

.wp-block-separator {
	border-color: var(--grey-4);
	border-width: 1px 0 0;
	margin-left: 35%;
	margin-right: 35%;
}

.wp-block-separator.is-style-wide {
	border-color: var(--grey-4);
	margin-left: 0;
	margin-right: 0;
}

.wp-block-separator.is-style-dots {
	color: var(--brand);
	font-family: inherit;
	margin: -0.5em 0 0.5em;
}

/* Blockquote */

blockquote {
	border-left: 4px solid var(--brand);
	font-size: 1em;
	line-height: 1.2em;
	margin-bottom: 30px;
	padding: 1.25em 1.5em;
}

blockquote p {
	margin-bottom: 0.75em;
}

/* Pullquote */

.wp-block-pullquote {
	font-size: 1.25em;
	padding: 0;
}

.wp-block-pullquote p {
	margin-bottom: 0.75em;
}

/* Verse */

pre.wp-block-verse {
	padding: 1.5em;
}

/* Table */

.wp-block-table table,
.wp-block-table td,
.wp-block-table th {
	border-color: var(--grey-4);
	padding: 0.75em;
	text-align: center;
}

.wp-block-table th {
	background-color: var(--brand);
	color: var(--white);
}

.wp-block-table.is-style-stripes {
	border-bottom: none;
}

.wp-block-table.is-style-stripes table,
.wp-block-table.is-style-stripes td,
.wp-block-table.is-style-stripes th {
	border-color: var(--grey-4);
}

.wp-block-table.is-style-stripes tbody tr:nth-child(2n+1) {
	background-color: var(--grey-6);
}

.wp-block-table thead {
	border-bottom: none;
}

.wp-block-table tfoot {
	background-color: var(--grey-5);
	border-top: none;
}

/* Forms
--------------------------------------------- */

textarea,
input[type='button'],
input[type='email'],
input[type='reset'],
input[type='search'],
input[type='submit'],
input[type='tel'],
input[type='text'],
textarea {
    -webkit-appearance: none; 
	-moz-appearance: none;
	appearance: none;
	border-radius: 0;
}

input[type="checkbox"],
input[type="image"],
input[type="radio"] {
	border-radius: 0;
	padding: 0;
	width: auto;
}

input[type='checkbox'] {
	-webkit-appearance: checkbox;
}

input[type='radio'] {
	-webkit-appearance: radio;
}

select {
	-webkit-appearance: none;
	-moz-appearance: none;
	appearance: none;
	background: #fff url(../../img/chevron-down.svg) no-repeat right 10px center;
	background-size: 10px auto;
	padding-right: 30px !important;
}

/* GeneratePress
--------------------------------------------- */

/* Primary navigation */

.main-navigation a {
	font-size: 15px;
	font-weight: 700;
	text-transform: uppercase;
}

.main-navigation .main-nav ul li[class*="current-menu-"] > a,
.main-navigation .main-nav ul li[class*="current-menu-"]:hover > a,
.main-navigation .main-nav ul li[class*="current-menu-"]:focus > a,
.main-navigation .main-nav ul li.sfHover[class*="current-menu-"] > a,
.slideout-navigation.main-navigation .main-nav ul li[class*="current-menu-"] > a,
.slideout-navigation.main-navigation .main-nav ul li[class*="current-menu-"]:hover > a,
.slideout-navigation.main-navigation .main-nav ul li[class*="current-menu-"]:focus > a,
.slideout-navigation.main-navigation .main-nav ul li.sfHover[class*="current-menu-"] > a {
	color: var(--brand);
}

.main-navigation ul ul {
	box-shadow: 4px 4px 8px 0 rgba(0, 0, 0, 0.05);
}

/* Inline mobile menu (replaces slideout overlay) */
#generate-slideout-menu,
.slideout-overlay {
	display: none !important;
}

@media (max-width: 960px) {
	.has-inline-mobile-toggle #site-navigation {
		background-color: transparent;
		flex-basis: 100%;
		margin-top: 0;
		order: 10;
		overflow: hidden;
		width: 100%;
	}

	.has-inline-mobile-toggle #site-navigation .main-nav {
		display: block;
		width: 100%;
	}

	.has-inline-mobile-toggle #site-navigation .main-nav > ul {
		background-color: transparent;
		display: block !important;
		margin: 0;
		max-height: 0;
		overflow: hidden;
		padding: 0;
		pointer-events: none;
		transition: max-height 0.35s ease, padding 0.35s ease;
		width: 100%;
	}

	.has-inline-mobile-toggle #site-navigation.toggled .main-nav > ul {
		max-height: calc(100dvh - 5rem);
		overflow-y: auto;
		padding: 0.35rem 0 0.75rem;
		pointer-events: auto;
		-webkit-overflow-scrolling: touch;
	}

	.has-inline-mobile-toggle #site-navigation .main-nav > ul > li {
		border-top: 1px solid rgba(255, 255, 255, 0.08);
	}

	.has-inline-mobile-toggle #site-navigation .main-nav > ul > li > a {
		padding: 0.9rem 1.25rem;
	}

	.mobile-menu-control-wrapper.toggled .menu-toggle {
		color: var(--white);
	}
}

/* Sticky navigation */

.sticky-enabled .main-navigation.is_stuck {
	background-color: var(--black);
	box-shadow: 4px 4px 8px 0 rgba(0, 0, 0, 0.05);
}

.sticky-enabled .main-navigation.is_stuck .inside-navigation.grid-container {
	max-width: none;
}

/* Back to top */

a.generate-back-to-top {
	border-radius: 0;
}

/* GenerateBlocks
--------------------------------------------- */

/* Grid wrapper */

.gb-grid-wrapper-grid-wrapper-mb {
	margin-bottom: 1.5em;
}

/* Images */

.gb-block-image img {
	margin-bottom: 1.5em;
}

/* Accordion */

.gb-accordion__content p {
	margin-bottom: 1em;
}

button.gb-button-acc-btn-brand:active,
button.gb-button-acc-btn-brand:focus {
	background-color: var(--brand);
	color: var(--white);
}

button.gb-button-acc-btn-brand:hover {
	background-color: var(--brand-alt);
	color: var(--white);
}

/* Hero headlines */

.single .gb-container-hero-brand-3-blog h1.gb-headline-text,
.single .gb-container-hero-brand-3-blog h4.gb-headline-text,
.archive .gb-container-hero-brand-3-blog h4.gb-headline-text {
	margin-bottom: 0.25em;
}

/* Posts */

.one-container.archive .post:not(:last-child):not(.is-loop-template-item), 
.one-container.blog .post:not(:last-child):not(.is-loop-template-item) {
	padding-bottom: 35px;
}

/* Images
--------------------------------------------- */

.wp-block-image,
.wp-block-image figure {
    margin-bottom: 1.5em;
}

/* Latest posts
--------------------------------------------- */

.wp-block-latest-posts__post-title {
	font-weight: 700;
}

/* Widgets
--------------------------------------------- */

/* General */

.widget {
	font-size: 15px;
}

.widget-title {
	font-weight: 20px;
	font-weight: 700;
	line-height: 1.2;
	margin-bottom: 20px;
	text-transform: uppercase;
}

.widget p,
.widget ul li {
	margin-bottom: 0.75em;
}

.widget select {
	width: 100%;
}

.top-bar .widget p {
	font-weight: 700;
	margin-bottom: 0;
	text-transform: uppercase;
}

.widget_nav_menu .menu-item a:focus,
.widget_nav_menu .current-menu-item a,
.footer-bar .widget_nav_menu .menu-item a:focus,
.footer-bar .widget_nav_menu .current-menu-item a {
	color: var(--brand);
}

/* Media queries
--------------------------------------------- */

@media (max-width: 768px) {

	.is-right-sidebar {
		margin-top: 40px;
	}

}

/* News listing thumbnails — fixed square, crop (no stretch)
--------------------------------------------- */

body.blog .post-image img.wp-post-image {
	width: 150px;
	height: 150px;
	max-width: 150px;
	object-fit: cover;
	object-position: center;
}

/* Single post back link
--------------------------------------------- */

.post-back {
	margin: 0 0 1.25rem;
}

.post-back a {
	color: var(--brand);
	font-weight: 600;
	text-decoration: none;
}

.post-back a:hover,
.post-back a:focus {
	color: var(--brand-alt);
	text-decoration: underline;
}

/* DC drop
--------------------------------------------- */
