/* @media (max-width: 781px) */
/* @media (max-width: 1125px) */

body {
	font-size: var(--font-size-generator) !important;
	--font-size: 16;
}

body [class*="has-"][class*="-font-size"] {
	font-size: var(--font-size-generator) !important;
}

h1,
.has-h-1-font-size {
	--font-size: 55;
}

h2,
.has-h-2-font-size {
	--font-size: 40;
}

h3,
.has-h-3-font-size {
	--font-size: 28;
}

.has-h-1-subcopy-font-size {
	--font-size: 25;
}

.has-h-2-subcopy-font-size {
	--font-size: 22;
}

h4,
.has-h-4-font-size {
	--font-size: 20;
}

h5,
.has-h-5-font-size {
	--font-size: 18;
}

h6,
.has-normal-font-size {
	--font-size: 16;
}

.has-small-medium-font-size {
	--font-size: 14;
}

.has-small-font-size {
	--font-size: 12;
}

/* Social Icons Block */
.wp-block-social-links a {
	--font-size: 26;
}

/* Block Button - Arrow Style Variation */
.wp-block-button.arrow-button .wp-block-button__link {
	position: relative;
}

.wp-block-button.arrow-button .wp-block-button__link::after {
	content: '';
	position: relative;
	top: .1em;
	right: 0;
	display: inline-block;
	width: .56em;
	height: 0.75em;
	mask: url('../images/button-arrow.svg');
	mask-size: cover;
	-webkit-mask: url('../images/button-arrow.svg');
	-webkit-mask-size: cover;
	background-color: currentColor;
	margin-left: .6em;
}

/* Main Navigation */
body.home .main-nav-container {
	position: absolute;
	width: 100%;
	z-index: 3;

	@media screen and (max-width: 781px) {
		position: relative;
	}
}

/* Group block .home-logo decoration absolute position top center */
.wp-block-group.home-logo {
	position: relative;

	@media screen and (max-width: 781px) {
		padding-top: 40px !important;
		padding-bottom: 40px !important;
	}
}

.wp-block-group.home-logo::after {
	position: absolute;
	top: 0;
	left: 50%;
	transform: translate(-50%, -40%);
	z-index: 2;
	width: max(42px, var(--wp--preset--spacing--45));
	height: max(42px, var(--wp--preset--spacing--45));
	background-image: url('../images/home-logo-decoration.svg');
	background-size: contain;
	background-repeat: no-repeat;
	content: '';
}

/* Helpers */
/* Hide on table css helper class max 1200px */
@media screen and (max-width: 1200px) {
	.hide-on-tablet {
		display: none !important;
	}

}

@media screen and (min-width: 1201px) {
	.tablet-only {
		display: none !important;
	}
}

@media screen and (max-width: 781px) {
	.mobile-margin-top-100 {
		margin-top: var(--wp--preset--spacing--100) !important;
	}
}

.flex-shrink-0 {
	flex-shrink: 0 !important;
}

.flex-grow-1 {
	flex-grow: 1 !important
}

.background-bottom-right {
	background-size: 45% auto !important;
	background-repeat: no-repeat;
	background-position: bottom right;

	@media screen and (max-width: 781px) {
		background-size: 100% !important;
		padding-bottom: 28vw !important;
	}
}

.rounded-bottom {
	position: relative;
	/* Negative margin to overlap next section */
	margin-bottom: calc(-1 *(150rem / var(--base-size))) !important;
	z-index: 2;
}

.rounded-bottom::after {
	content: '';
	position: absolute;
	bottom: 0;
	transform: translateY(100%);
	left: 0;
	width: 100%;
	height: calc(150rem / var(--base-size));
	background: inherit;
	clip-path: polygon(0% 0%, 100% 0%, 100% 25%, 98% 40%, 96% 52%, 94% 62%, 92% 70%, 90% 76%, 88% 81%, 86% 85%, 84% 88%, 82% 90%, 80% 92%, 78% 93%, 76% 94%, 74% 95%, 72% 95.5%, 70% 96%, 68% 96.2%, 66% 96.5%, 62% 96.7%, 60% 96.9%, 58% 97%, 56% 97%, 54% 97%, 52% 97%, 50% 97%, 48% 97%, 46% 97%, 44% 97%, 42% 97%, 40% 97%, 38% 96.9%, 36% 96.7%, 34% 96.5%, 32% 96.2%, 30% 96%, 28% 95.5%, 26% 95%, 24% 94%, 22% 93%, 20% 92%, 18% 90%, 16% 88%, 14% 85%, 12% 81%, 10% 76%, 8% 70%, 6% 62%, 4% 52%, 2% 40%, 0% 25%, 0% 0%);
	z-index: -1;
}

.rounded-bottom+* {
	/* Position the next section to fill the clipped area */
	position: relative;
	z-index: 1;
	margin-top: 0 !important;
	padding-top: calc(250rem / var(--base-size)) !important;
}

.rounded-bottom-inverted {
	position: relative;
	/* Negative margin to overlap next section */
	margin-bottom: calc(-1 *(150rem / var(--base-size))) !important;
}

.rounded-bottom-inverted::after {
	content: '';
	position: absolute;
	bottom: 0;
	transform: translateY(0%);
	left: 0;
	width: 100%;
	height: calc(150rem / var(--base-size));
	background: #fff;
	clip-path: polygon(0% 100%, 100% 100%, 100% 75%, 98% 60%, 96% 48%, 94% 38%, 92% 30%, 90% 24%, 88% 19%, 86% 15%, 84% 12%, 82% 10%, 80% 8%, 78% 7%, 76% 6%, 74% 5%, 72% 4.5%, 70% 4%, 68% 3.8%, 66% 3.5%, 64% 3.3%, 62% 3.1%, 60% 3%, 58% 3%, 56% 3%, 54% 3%, 52% 3%, 50% 3%, 48% 3%, 46% 3%, 44% 3%, 42% 3%, 40% 3%, 38% 3.1%, 36% 3.3%, 34% 3.5%, 32% 3.8%, 30% 4%, 28% 4.5%, 26% 5%, 24% 6%, 22% 7%, 20% 8%, 18% 10%, 16% 12%, 14% 15%, 12% 19%, 10% 24%, 8% 30%, 6% 38%, 4% 48%, 2% 60%, 0% 75%, 0% 100%);
	z-index: 1;
}

.rounded-bottom-inverted+* {
	/* Position the next section to fill the clipped area */
	position: relative;
	z-index: 2;
	margin-top: 0 !important;
	padding-top: calc(0rem / var(--base-size)) !important;
}

.rounded-top {
	clip-path: polygon(0% 100%,
			0% 10%,
			5% 8%,
			10% 6.5%,
			15% 5.5%,
			20% 4.8%,
			25% 4.3%,
			30% 4%,
			35% 3.8%,
			40% 3.7%,
			45% 3.6%,
			50% 3.5%,
			55% 3.6%,
			60% 3.7%,
			65% 3.8%,
			70% 4%,
			75% 4.3%,
			80% 4.8%,
			85% 5.5%,
			90% 6.5%,
			95% 8%,
			100% 10%,
			100% 100%,
			0% 100%);
	/* Add padding to compensate for clipped area (15% of container height) */
	padding-top: 5%;
	/* Negative margin to overlap previous section */
	margin-top: -17.5% !important;
	/* Ensure this section stays above the previous section */
	position: relative;
	z-index: 2;
}

.rounded-top+* {
	/* Reset any inherited styles from the rounded-top section */
	position: relative;
	z-index: 1;
	margin-top: 0 !important;
}

/* Forms */
.gform_fields {
	column-gap: var(--wp--preset--spacing--25) !important;
	row-gap: var(--wp--preset--spacing--25) !important;

	input,
	textarea,
	select {
		font-size: var(--font-size-generator) !important;
		--font-size: 20;
	}

	input[type="text"],
	input[type="email"],
	input[type="tel"],
	select {
		padding: var(--wp--preset--spacing--15) !important;
		height: auto !important;
		line-height: 1 !important;
	}

}

input[type="submit"] {
	border-radius: max(32px, calc(40rem / var(--base-size))) !important;
	font-size: var(--font-size-generator) !important;
	--font-size: 22;
	text-transform: uppercase !important;
	font-weight: 700 !important;
	letter-spacing: 0 !important;
	padding: var(--wp--preset--spacing--15) calc(1.333em + 2px) !important;
	margin-top: var(--wp--preset--spacing--25) !important;
}

.gform-footer {
	margin: 0 !important;
}

/* Newsletter Signup */
.newsletter-signup {
	transform: translateY(-50%);

	@media screen and (max-width: 781px) {
		transform: translateY(var(--wp--preset--spacing--negative-100)) !important;
	}

	&.no-transform {
		transform: none !important;
	}

	.gform_fields {
		display: flex !important;
		flex-wrap: wrap;
		align-items: center;
		justify-content: flex-end;
		column-gap: var(--wp--preset--spacing--25) !important;

		@media screen and (max-width: 781px) {
			>.gfield {
				flex: 1 1 100% !important;
			}
		}

		input[type="text"] {
			max-width: clamp(276px, calc(276rem / var(--base-size)), 100%) !important;
			font-size: var(--font-size-generator) !important;
			--font-size: 20;
			padding: var(--wp--preset--spacing--15) !important;
			height: auto !important;
			line-height: 1 !important;

			@media screen and (max-width: 781px) {
				max-width: 100% !important;
			}
		}

		input[type="submit"] {
			border-radius: max(32px, calc(40rem / var(--base-size))) !important;
			font-size: var(--font-size-generator) !important;
			--font-size: 16;
			text-transform: uppercase !important;
			font-weight: 700 !important;
			letter-spacing: 0 !important;
			padding: var(--wp--preset--spacing--15) calc(1.333em + 2px) !important;
			border: 3px solid #fff !important;
			margin: 0 !important;
		}
	}

	.gform-footer {
		margin: 0 !important;
	}
}

/* Main Navigation */
header .wp-block-navigation {

	.wp-block-navigation-item__content {
		padding-left: var(--wp--preset--spacing--10) !important;
	}

	.wp-block-navigation-submenu .wp-block-navigation-submenu {
		min-width: calc(242rem / var(--base-size)) !important;
		padding: var(--wp--preset--spacing--15) 0 !important;
		border: none !important;
		box-shadow: 2px 2px 10px rgba(0, 0, 0, 0.1) !important;

		@media screen and (max-width: 781px) {
			box-shadow: none !important;
			margin-left: var(--wp--preset--spacing--80) !important;
		}

		.wp-block-navigation-item__content {
			padding: var(--wp--preset--spacing--5) var(--wp--preset--spacing--10) !important;

			.wp-block-navigation-item__label {
				--font-size: 18;
				font-size: var(--font-size-generator) !important;
				font-weight: 400;
				text-transform: none !important;
				line-height: 1.2 !important;
			}
		}


	}
}

/* Navigation Breakpoint Control */
/* Change the breakpoint here - current is 1200px */
/* For mobile menu to show earlier, use a larger value (e.g., 1400px) */
/* For mobile menu to show later, use a smaller value (e.g., 768px) */
@media (max-width: 1200px) {


	/* Show mobile hamburger button and hide desktop menu */
	.wp-block-navigation .wp-block-navigation__responsive-container-open {
		display: block !important;
	}

	.wp-block-navigation__responsive-container:not(.hidden-by-default):not(.is-menu-open) {
		display: none !important;
	}

	.wp-block-navigation__responsive-container-close {
		padding: 0;
		margin: 0;
		right: var(--wp--style--root--padding-right);
		top: 58px;
		transform: scale(1.6);
	}

	.wp-block-navigation__container {
		row-gap: var(--wp--preset--spacing--20) !important;

		.wp-block-site-logo {
			margin-bottom: var(--wp--preset--spacing--100) !important;
		}

		.wp-block-navigation-submenu {
			>.wp-block-navigation-item__content {
				position: relative;
				padding-right: 20px !important;

				&::after {
					content: '';
					position: absolute;
					right: 0;
					top: 50%;
					transform: translateY(-50%);
					width: 10px;
					height: 9px;
					display: block;
					background-image: url('../images/mobile-nav-arrow.svg');
					background-size: contain;
					background-repeat: no-repeat;
				}
			}
		}
	}


}

@media (min-width: 1201px) {

	/* Hide mobile hamburger button and show desktop menu */
	.wp-block-navigation .wp-block-navigation__responsive-container-open {
		display: none !important;
	}

	.wp-block-navigation .wp-block-navigation__container {
		display: flex !important;
	}

	.wp-block-navigation__responsive-container:not(.hidden-by-default):not(.is-menu-open) {
		background-color: inherit;
		display: block;
		position: relative;
		width: 100%;
		z-index: auto;
	}
}

/* Social Sharing Fixed Sidebar */
.social-sharing-fixed {
	position: fixed;
	right: 0;
	top: 33%;
	transform: translateY(-50%);
	z-index: 1000;
	display: flex;
	flex-direction: column;
	gap: var(--wp--preset--spacing--10);
}

.social-sharing-buttons {
	display: flex;
	flex-direction: column;
	gap: 10px;
	background: #167BA7;
	padding: 15px 8px;
	border-radius: 0;
	box-shadow: 0 4px 20px rgba(0, 0, 0, 0.1);
	backdrop-filter: blur(10px);
}

.social-btn {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 48px;
	height: 48px;
	border-radius: 50%;
	text-decoration: none;
	transition: all 0.3s ease;
	position: relative;
}

.social-btn:hover {
	transform: translateY(-2px);
	box-shadow: 0 4px 12px rgba(0, 0, 0, 0.15);
}

.social-btn.facebook {
	color: white;
}

.social-btn.facebook:hover {
	background: #166fe5;
}

.social-btn.twitter {
	color: white;
}

.social-btn.twitter:hover {
	background: #0d8bd9;
}

.social-btn.linkedin {
	color: white;
}

.social-btn.linkedin:hover {
	background: #005885;
}

.social-btn.email {
	color: white;
}

.social-btn.email:hover {
	background: #d23321;
}

/* Responsive adjustments */
@media (max-width: 1200px) {
	.social-sharing-fixed {
		right: 10px;
	}
}

@media (max-width: 781px) {
	.social-sharing-fixed {
		position: fixed;
		bottom: 20px;
		top: auto;
		right: 20px;
		transform: none;
		flex-direction: row;
		justify-content: center;
	}

	.social-sharing-buttons {
		flex-direction: row;
		padding: 10px 15px;
	}

	.social-btn {
		width: 44px;
		height: 44px;
	}
}

/* Quote Block */
.wp-block-quote {
	padding-left: calc(63rem/var(--base-size)) !important;
	position: relative;
}

.wp-block-quote::before {
	content: '';
	position: absolute;
	left: 0;
	top: 0;
	width: calc(48rem/var(--base-size));
	height: calc(48rem/var(--base-size));
	background-image: url('../images/quote.svg');
	background-size: contain;
	background-repeat: no-repeat;
	background-position: center;
}

/* Post Navigation Link */
.wp-block-post-navigation-link {
	svg {
		width: max(9px, calc(9.13rem / var(--base-size)));
		height: auto;
		margin-right: var(--wp--preset--spacing--15);
		fill: #327abe;
		display: inline-block;
	}

	&.post-navigation-link-next {
		svg {
			margin-left: var(--wp--preset--spacing--15);
			margin-right: 0px;
		}
	}
}

/* Separator Block */
.wp-block-separator {
	border-width: calc(5rem / var(--base-size)) 0 0 0;
}

/* Image Block */
.wp-block-image,
.wp-block-post-featured-image {
	max-width: 100% !important;
}

/* Fix grid Block on mobile */
@media (max-width: 781px) {
	.wp-block-post-template-is-layout-grid.wp-block-post-template-is-layout-grid.wp-block-post-template-is-layout-grid.wp-block-post-template-is-layout-grid {
		grid-template-columns: minmax(0, 1fr) !important;
	}

	.wp-block-group-is-layout-grid:not(.allow-shrink) {
		grid-template-columns: minmax(0, 1fr) !important;
	}
}