/* you cannot style the Marketo form fields here, because the injects CSS overrides everything */

@import url("https://cdn-ilegepl.nitrocdn.com/qUsjHIoXpBIvutaiJWRKRPUYzrQMWvhf/assets/static/optimized/rev-7c9ea15/www.recastsoftware.com/wp-content/themes/recast2025/style.css");

/* Contact Section Component */
.contact-section {
	display: flex;
	width: 100%;
	padding: var(--margins-base-vert, 100px) var(--margins-base-hori, 100px);
	justify-content: center;
	align-items: flex-start;
	gap: var(--gap-base, 64px);
	background: var(--neutrals-white, #fff);
}

.contact-section__wrapper {
	display: flex;
	max-width: var(--global-maxwidth-maxwidth-m, 1200px);
	align-items: flex-start;
	align-content: flex-start;
	gap: var(--gap-xl, 56px);
	flex: 1 0 0;
	flex-wrap: wrap;
}

/* Content Area */
.contact-section__content {
	display: flex;
	min-width: var(--global-card-minwidth, 300px);
	flex-direction: column;
	align-items: flex-start;
	gap: var(--gap-l, 32px);
	flex: 1 0 0;
}

/* Title Styling */
.contact-section__title {
	align-self: stretch;
	color: var(--neutrals-black, #161f5b);
	font-feature-settings: "liga" off, "clig" off;
	font-family: var(--font-family-headings, "Host Grotesk");
	font-size: var(--size-heading-l, 48px);
	font-style: normal;
	font-weight: 400;
	line-height: 100%;
	letter-spacing: .96px;
}

.contact-section__title span {
	color: var(--primary-recast-blue, #0372ff);
}

/* Embed Section */
.contact-section__embed {
	display: flex;
	padding: var(--gap-m);
	flex-direction: column;
	justify-content: center;
	align-items: center;
	gap: var(--gap-m, 24px);
	align-self: stretch;
	background: var(--neutrals-grey-1, #e1e9f9);
}

.contact-section__embed:has(iframe) {
	padding: 0;
}

.contact-section__embed-content {
	width: 100%;
	height: 100%;
	justify-content: center;
	align-items: center;
}

.contact-section__embed-content--active {
	display: flex;
}

.contact-section__embed-iframe {
	width: 100%;
	height: 100%;
	display: flex;
	justify-content: center;
	align-items: center;
}

.contact-section__embed-iframe iframe {
	width: 100%;
	height: 100%;
	border: none;
}

.contact-section__embed-placeholder {
	display: flex;
	flex-direction: column;
	justify-content: center;
	align-items: center;
	gap: var(--gap-m, 24px);
	width: 100%;
	height: 100%;
}

.contact-section__embed-icon {
	width: 120px;
	height: 97px;
	flex-shrink: 0;
	color: var(--neutrals-grey-2, #b2b5e5);
}

.contact-section__embed-text {
	color: var(--neutrals-grey-2, #b2b5e5);
	text-align: center;
	font-feature-settings: "liga" off, "clig" off;
	font-family: var(--font-family-headings, "Host Grotesk");
	font-size: var(--size-heading-m, 40px);
	font-style: normal;
	font-weight: 400;
	line-height: 100%;
	letter-spacing: 1.2px;
}

/* Location Area */
.contact-section__location-area {
	display: flex;
	min-width: var(--global-card-minwidth, 300px);
	max-width: 400px;
	flex-direction: column;
	align-items: flex-start;
	flex: 1 0 0;
}

/* Tabs */
.contact-section__tabs {
	display: flex;
	align-items: flex-start;
	align-self: stretch;
	flex-direction: column;
}

.contact-section__tab-headers {
	display: flex;
	align-items: flex-start;
	align-self: stretch;
}

.contact-section__tab-header {
	display: flex;
	justify-content: center;
	align-items: center;
	flex: 1 0 0;
	height: 40px;
	padding: 0 var(--gap-xxs, 8px);
	border: var(--stroke-width, 2px) solid var(--neutrals-grey-1, #e1e9f9);
	border-radius: 0;
	background: var(--neutrals-white, #fff);
	color: var(--neutrals-black, #161f5b);
	text-align: center;
	font-feature-settings: "liga" off, "clig" off;
	text-overflow: ellipsis;
	white-space: nowrap;
	font-family: var(--font-family-body, "Host Grotesk");
	font-size: var(--size-body-sub, 14px);
	font-style: normal;
	font-weight: 700;
	line-height: 100%;
	cursor: pointer;
	transition: all .3s ease;
}

.contact-section__tab-header--active {
	background: var(--primary-royal-blue, #1f289c);
	color: var(--neutrals-white, #fff);
	border-color: var(--primary-royal-blue, #1f289c);
}

.contact-section__tab-header:focus, .contact-section__tab-header--active:focus {
	background: var(--primary-royal-blue, #1f289c);
}

.contact-section__tab-header:hover {
	background: var(--neutrals-grey-1, #e1e9f9);
	color: var(--neutrals-black, #161f5b);
}

.contact-section__tab-header--active:hover {
	background: var(--primary-royal-blue, #1f289c);
	color: var(--neutrals-white, #fff);
}

/* Tab Content */
.contact-section__tab-content {
	align-self: stretch;
}

.contact-section__tab-panel {
	display: none;
}

.contact-section__tab-panel--active {
	display: block;
}

.contact-section__map-image {
	width: 100%;
}

/* Map Info */
.contact-section__map-info {
	display: flex;
	padding: var(--margins-s, 20px);
	flex-direction: column;
	align-items: flex-start;
	gap: var(--gap-m, 24px);
	align-self: stretch;
	border: var(--stroke-width, 2px) solid var(--neutrals-grey-1, #e1e9f9);
	background: var(--neutrals-white, #fff);
	border-top: none;
}

.contact-section__map-area {
	display: flex;
	justify-content: center;
	align-items: center;
	align-self: stretch;
	aspect-ratio: 4/3;
	background: var(--neutrals-grey-1, #e1e9f9);
	overflow: hidden;
}

.contact-section__map-iframe {
	width: 100%;
	height: 100%;
	display: flex;
	justify-content: center;
	align-items: center;
}

.contact-section__map-iframe iframe {
	width: 100%;
	height: 100%;
	border: none;
}

.contact-section__map-placeholder {
	display: flex;
	flex-direction: column;
	justify-content: center;
	align-items: center;
	gap: var(--gap-m, 24px);
	width: 100%;
	height: 100%;
	padding: 0 90px;
}

/* Contact Links */
.contact-section__contact-links {
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	gap: var(--gap-m, 24px);
	align-self: stretch;
}

.contact-section__contact-link {
	display: flex;
	justify-content: center;
	align-items: center;
	gap: var(--gap-xs, 16px);
	align-self: stretch;
}

.contact-section__contact-icon {
	width: 32px;
	height: 32px;
	color: var(--neutrals-black, #161f5b);
	flex-shrink: 0;
}

.contact-section__contact-icon path {
	transition: all .2s ease;
}

.contact-section__contact-text {
	flex: 1 0 0;
	color: var(--neutrals-black, #161f5b);
	font-family: var(--font-family-body, "Host Grotesk");
	font-size: var(--size-body-xs, 18px);
	font-style: normal;
	font-weight: 400;
	line-height: 100%;
	text-decoration: none;
	transition: all .2s ease;
}

.contact-section__contact-link:hover  .contact-section__contact-text {
	color: var(--primary-recast-blue, #0372ff);
}

.contact-section__contact-link:hover  .contact-section__contact-icon path {
	fill: var(--primary-recast-blue, #0372ff);
}

/* Responsive Design */

/* Tablet */
@media (min-width: 601px) and (max-width: 1200px) {
	.contact-section {
		padding: var(--margins-base-vert, 56px) var(--margins-base-hori, 40px);
		gap: var(--gap-base, 32px);
	}
	
	.contact-section__wrapper {
		gap: var(--gap-xl, 32px);
	}
	
	.contact-section__content {
		gap: var(--gap-l, 26px);
		width: 50%;
	}
	
	.contact-section__embed {
		padding: var(--margins-base-vert, 56px) var(--margins-base-hori, 40px);
		gap: var(--gap-m, 18px);
	}
	
	.contact-section__title {
		font-size: var(--size-heading-l, 40px);
	}
	
	.contact-section__embed-text {
		font-size: var(--size-heading-m, 36px);
	}
	
	.contact-section__location-area {
		max-width: 100%;
		width: 100%;
	}
	
	/* .contact-section__map-area {
    height: 200px;
  } */
	.contact-section__map-placeholder {
		padding: 0 var(--margins-l, 24px);
	}
	
	.contact-section__contact-links {
		gap: var(--gap-m, 18px);
	}
	
	.contact-section__contact-text {
		font-size: var(--size-body-xs, 16px);
	}
}

/* Mobile */
@media (max-width: 600px) {
	.contact-section {
		padding: var(--margins-base-vert, 40px) var(--margins-base-hori, 20px);
		gap: var(--gap-base, 24px);
	}
	
	.contact-section__wrapper {
		gap: var(--gap-xl, 24px);
		flex-direction: column;
	}
	
	.contact-section__content {
		gap: var(--gap-l, 20px);
		width: 100%;
	}
	
	.contact-section__embed {
		padding: var(--margins-base-vert, 40px) var(--margins-base-hori, 20px);
		gap: var(--gap-m, 16px);
	}
	
	.contact-section__title {
		font-size: var(--size-heading-m, 32px);
		letter-spacing: .64px;
	}
	
	.contact-section__embed-icon {
		width: 80px;
		height: 65px;
	}
	
	.contact-section__embed-text {
		font-size: var(--size-heading-s, 24px);
		letter-spacing: .72px;
	}
	
	.contact-section__location-area {
		max-width: 100%;
		width: 100%;
	}
	
	.contact-section__map-info {
		padding: var(--gap-xs, 16px);
		gap: var(--gap-s, 16px);
	}
	
	.contact-section__map-placeholder {
		padding: 0 var(--margins-s, 20px);
	}
	
	.contact-section__contact-links {
		padding: var(--gap-s, 16px);
	}
	
	.contact-section__contact-link {
		gap: var(--gap-s, 12px);
	}
	
	.contact-section__contact-icon {
		width: 24px;
		height: 24px;
	}
	
	.contact-section__contact-text {
		font-size: var(--size-body-sub, 14px);
	}
}

/* some fixes for Marketo form */
.mktoForm {
	width: 100% !important;
	font-family: var(--font-family-body) !important;
	color: var(--neutrals-black) !important;
}

.mktoForm .mktoFormRow {
	clear: none !important;
	margin-bottom: 0 !important;
}
