/*
 * ProcessWire project-only CSS layer.
 * Loaded after Carrd main.css.
 * Carrd typography adapter for raw CMS HTML inside .text-body.
 */

/*
 * Carrd shell compatibility:
 * carrd_mode pages may still serve older page-level bundles from carrd-pages/.
 * Keep the baseline contact modal container rendering stable when shell markup
 * has already moved to style-23 but active page CSS still targets style-9.
 */
#contact-section #contact-modal-body.container-component.style-23 {
	display: flex;
	width: 100%;
	align-items: center;
	justify-content: center;
	background-color: #FFFFFF;
	box-shadow: 0rem 0.75rem 2rem 0rem #EBF0F5;
	border-radius: 2.5rem;
}

#contact-section #contact-modal-body.container-component.style-23:not(:last-child) {
	margin-bottom: 1rem !important;
}

#contact-section #contact-modal-body.container-component.style-23 > .wrapper {
	max-width: 35rem;
	width: 100%;
}

#contact-section #contact-modal-body.container-component.style-23 > .wrapper > .inner {
	--gutters: 4rem;
	--padding-vertical: 3.5rem;
	padding: var(--padding-vertical) var(--padding-horizontal);
	border-radius: calc(2.5rem - 0px);
}

#contact-section #contact-modal-body.container-component.style-23.default > .wrapper > .inner > * {
	margin-top: var(--spacing);
	margin-bottom: var(--spacing);
}

#contact-section #contact-modal-body.container-component.style-23.default > .wrapper > .inner > *:first-child {
	margin-top: 0 !important;
}

#contact-section #contact-modal-body.container-component.style-23.default > .wrapper > .inner > *:last-child {
	margin-bottom: 0 !important;
}

@media (max-width: 736px) {
	#contact-section #contact-modal-body.container-component.style-23:not(:last-child) {
		margin-bottom: 0.75rem !important;
	}

	#contact-section #contact-modal-body.container-component.style-23 > .wrapper > .inner {
		--gutters: 0.875rem;
		--padding-vertical: 2rem;
	}
}

@media (max-width: 360px) {
	#contact-section #contact-modal-body.container-component.style-23 > .wrapper > .inner {
		--gutters: 0.875rem;
		--padding-vertical: 1.5rem;
	}
}

.text-body {
	color: var(--theme-color-text, #4A5463);
	font-family: var(--theme-font-family, 'Raleway', sans-serif);
	font-size: 1em;
	line-height: 1.6;
	font-weight: 500;
	letter-spacing: 0;
}

.partner-logo-wrap {
	display: flex;
	align-items: center;
	/* justify-content: center; */
	min-height: 6rem;
}
@media (max-width: 736px) {
	.partner-logo-wrap {
		justify-content: center;
	}
}

.img-default,
.img-partner-logo {
	max-width: 100%;
	height: auto;
	max-height: 6rem;
	width: auto;
	display: block;
}

/* blockquote — highlighted info block */
.text-body blockquote {
	background-color: var(--theme-color-primary-light, #BFE3FF99);
	border-left: 4px solid var(--theme-color-primary, #0085FF);
	border-radius: 0.5rem;
	padding: 1.25rem 1.5rem;
	margin: 1.725rem 0;
	color: var(--theme-color-headlines, #19355A);
	font-weight: 500;
}

.text-body blockquote p {
	color: inherit;
}

.text-body blockquote > :first-child {
	margin-top: 0;
}

.text-body h1 {
	margin-top: 1.5rem;
	margin-bottom: 1rem;
	color: var(--theme-color-headlines, #19355A);
	font-family: var(--theme-font-family, 'Raleway', sans-serif);
	letter-spacing: -0.05rem;
	width: 100%;
	font-size: 2rem;
	line-height: 1;
	font-weight: 600;
}

.text-body h2 {
	margin-top: 2.5rem;
	margin-bottom: 1.5rem;
	border-top: solid 1px rgba(126, 141, 163, 0.216);
	padding-top: 1rem;
	color: var(--theme-color-headlines, #19355A);
	font-family: var(--theme-font-family, 'Raleway', sans-serif);
	letter-spacing: 0;
	width: 100%;
	font-size: 1.875em;
	line-height: 1.125;
	font-weight: 600;
}

.text-body h3 {
	margin-top: 1.5rem;
	margin-bottom: .75rem;
	color: var(--theme-color-headlines, #19355A);
	font-family: var(--theme-font-family, 'Raleway', sans-serif);
	letter-spacing: 0;
	width: 100%;
	font-size: 1.275em;
	line-height: 1.25;
	font-weight: 700;
}

.text-body h4 {
	margin-top: 1.5rem;
	margin-bottom: .5rem;
	color: var(--theme-color-headlines, #19355A);
	font-family: var(--theme-font-family, 'Raleway', sans-serif);
	letter-spacing: 0;
	width: 100%;
	font-size: 1.125em;
	line-height: 1.375;
	font-weight: 700;
}

.text-body p {
	color: var(--theme-color-text, #4A5463);
	font-family: var(--theme-font-family, 'Raleway', sans-serif);
	letter-spacing: 0;
	width: 100%;
	font-size: 1em;
	line-height: 1.5;
	font-weight: 500;
}

.text-body p + p {
	margin-top: 0.75rem !important;
}

/* Inline decoration */
.text-body span[style],
.text-body strong,
.text-body b,
.text-body a,
.text-body code,
.text-body mark {
	-webkit-text-fill-color: currentColor;
}

.text-body strong,
.text-body b {
	color: var(--theme-color-headlines, #19355A);
	font-weight: 700;
}

.text-body em,
.text-body i {
	font-style: italic;
}

.text-body u {
	text-decoration: underline;
}

.text-body code {
	color: #4D5A7A;
	background-color: rgba(77, 90, 122, 0.149);
}

.text-body mark {
	background-color: #DBFFAD;
}

.text-body a {
	color: var(--theme-link-color, var(--theme-color-primary, #0085FF));
	text-decoration: none;
}

.text-body a:hover {
	text-decoration: underline;
}

.text-body h1 a,
.text-body h2 a,
.text-body h3 a,
.text-body h4 a,
.text-body th a {
	color: var(--theme-link-color, var(--theme-color-primary, #0085FF));
	text-decoration: none;
}

.text-body h1 a:hover,
.text-body h2 a:hover,
.text-body h3 a:hover,
.text-body h4 a:hover,
.text-body th a:hover {
	color: var(--theme-link-hover-color, var(--theme-color-primary-hover, #0060B8));
	text-decoration: none;
}

/*
 * list-component base — adapted for raw CMS HTML.
 * Carrd uses flex + <li><p>text</p></li>, but CMS outputs inline content
 * directly inside <li>, so flex breaks layout. We use block + positioned
 * ::before instead.
 */
.text-body ul,
.text-body ol {
	display: block;
	max-width: 100%;
	text-align: var(--site-language-alignment, left);
}

.text-body ul > li,
.text-body ol > li {
	direction: var(--site-language-direction, ltr);
	display: block;
	position: relative;
}

.text-body ul > li::before,
.text-body ol > li::before {
	position: absolute;
	left: 0;
	top: 0;
}

.text-body ul > li::after,
.text-body ol > li::after {
	display: none;
}

.text-body ul > li:first-child,
.text-body ol > li:first-child {
	margin-top: 0 !important;
}

/* list-component instance-5 style-1 -> ul */
.text-body ul:not(:first-child) {
	margin-top: 1rem !important;
}

.text-body ul:not(:last-child) {
	margin-bottom: 1rem !important;
}

.text-body ul {
	color: var(--theme-color-text, #4A5463);
	font-family: var(--theme-font-family, 'Raleway', sans-serif);
	letter-spacing: 0;
	width: 100%;
	font-size: 1em;
	line-height: 1.5;
	font-weight: 500;
	list-style: none;
	padding-left: 0;
}

.text-body ul > li {
	margin-top: 0.875rem;
	padding-left: 1.5rem;
}

.text-body ul > li::before {
	content: '';
	background-image: url("data:image/svg+xml;charset=utf8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20x%3D%220px%22%20y%3D%220px%22%20viewBox%3D%220%200%2040%2040%22%3E%3Cpath%20d%3D%22M32%2C20v.5c-.2.3-.3.5-.6.8l-.2.2-13.4%2C13.8c-.4.3-.8.5-1.3.5s-1-.2-1.3-.5l-2.6-2.5c-.7-.7-.7-1.9%2C0-2.6l9.9-10.1-9.9-10.1c-.7-.7-.7-1.9%2C0-2.6l2.6-2.5c.7-.7%2C1.9-.7%2C2.6%2C0h0s13.5%2C13.9%2C13.5%2C13.9c.4.3.7.8.7%2C1.3Z%22%20fill%3D%22%23444444%22%20%2F%3E%3C%2Fsvg%3E");
	background-position: left center;
	background-repeat: no-repeat;
	background-size: contain;
	width: 0.84375rem;
	height: 1.5rem;
	top: 0.1em;
}

/* list-component instance-4 style-2 -> ol */
.text-body ol:not(:first-child) {
	margin-top: 1.25rem !important;
}

.text-body ol:not(:last-child) {
	margin-bottom: 1.25rem !important;
}

.text-body ol {
	color: var(--theme-color-text, #4A5463);
	font-family: var(--theme-font-family, 'Raleway', sans-serif);
	letter-spacing: 0;
	width: 100%;
	font-size: 1em;
	line-height: 1.5;
	font-weight: 500;
	padding-top: 0.25rem;
	padding-left: 0;
	list-style: none;
	counter-reset: item;
}

.text-body ol > li {
	margin-top: 1rem;
	counter-increment: item;
	padding-left: 2.75rem;
}

.text-body ol > li::before {
	content: counter(item);
	color: var(--theme-btn-text, #FFFFFF);
	font-family: var(--theme-font-family, 'Raleway', sans-serif);
	font-size: 0.875rem;
	font-weight: 400;
	border-radius: 100%;
	background-color: rgba(85, 172, 250, 0.502);
	width: 1.75rem;
	height: 1.75rem;
	line-height: calc(1.75rem - 1px);
	text-align: center;
	top: 0;
}

.text-body ol a {
	color: var(--theme-color-danger, #EF4444);
	text-decoration: none;
}

.text-body ol a:hover {
	text-decoration: underline;
}

/* table-component instance-2 style-1 -> table */
.text-body table:not(:first-child) {
	margin-top: 2rem !important;
}

.text-body table:not(:last-child) {
	margin-bottom: 2rem !important;
}

.text-body table {
	direction: var(--site-language-direction, ltr);
	text-align: var(--site-language-alignment, left);
	width: 100% !important;
	min-width: 100%;
	max-width: 100%;
	border-collapse: collapse;
}

.text-body th {
	text-align: var(--site-language-alignment, left);
	color: var(--theme-color-headlines, #19355A);
	font-family: var(--theme-font-family, 'Raleway', sans-serif);
	letter-spacing: 0;
	font-size: 0.875em;
	line-height: 1.25;
	font-weight: 600;
}

.text-body td {
	color: var(--theme-color-text, #4A5463);
	font-family: var(--theme-font-family, 'Raleway', sans-serif);
	letter-spacing: 0;
	font-size: 0.875em;
	line-height: 1.25;
	font-weight: 500;
}

.text-body td strong {
	color: var(--theme-color-headlines, #19355A);
}

.text-body td a {
	color: var(--theme-link-color, var(--theme-color-primary, #0085FF));
	text-decoration: none;
}

.text-body td a:hover {
	color: var(--theme-color-black, #000000);
	text-decoration: none;
}

.text-body table > thead {
	border-bottom: solid 2px rgba(126, 141, 163, 0.58);
}

.text-body table > tbody > tr {
	border-top: solid 1px rgba(126, 141, 163, 0.216);
}

.text-body table > tbody > tr:first-child {
	border-top: 0;
}

.text-body th,
.text-body td {
	padding: 0.5rem 0.6875rem;
}

.text-body th:first-child,
.text-body td:first-child {
	padding-left: 0;
}

.text-body th:last-child,
.text-body td:last-child {
	padding-right: 0;
}

#documents-nav-links li.is-active,
#documents-nav-links li.is-active p,
#documents-nav-links li.is-active a {
	color: var(--theme-color-headlines, #19355A);
	font-weight: 700;
}

#documents-nav-links li.is-active a {
	text-decoration: none;
}

#documents-nav-links li.is-active a:hover {
	color: var(--theme-link-hover-color, var(--theme-color-primary-hover, #0060B8));
}

/* Responsive sync from Carrd main.css */
@media (max-width: 736px) {
	.text-body h1:not(:first-child) {
		margin-top: 0.9375rem !important;
	}

	.text-body h1:not(:last-child) {
		margin-bottom: 0.9375rem !important;
	}

	.text-body h1 {
		letter-spacing: -0.025rem;
		font-size: 2.25em;
		line-height: 1;
	}

	.text-body h2:not(:first-child) {
		margin-top: 0.9375rem !important;
	}

	.text-body h2:not(:last-child) {
		margin-bottom: 0.9375rem !important;
	}

	.text-body h2 {
		letter-spacing: 0;
		font-size: 1.5em;
		line-height: 1.125;
	}

	.text-body h3:not(:first-child) {
		margin-top: 0.5625rem !important;
	}

	.text-body h3:not(:last-child) {
		margin-bottom: 0.5625rem !important;
	}

	.text-body h3 {
		letter-spacing: 0;
		font-size: 1.125em;
		line-height: 1.25;
	}

	.text-body h4:not(:first-child) {
		margin-top: 0.5625rem !important;
	}

	.text-body h4:not(:last-child) {
		margin-bottom: 0.5625rem !important;
	}

	.text-body h4 {
		letter-spacing: 0;
		font-size: 1.125em;
		line-height: 1.375;
	}

	.text-body p:not(:first-child) {
		margin-top: 0.375rem !important;
	}

	.text-body p:not(:last-child) {
		margin-bottom: 0.375rem !important;
	}

	.text-body p {
		letter-spacing: 0;
		font-size: 1em;
		line-height: 1.375;
	}

	.text-body ul:not(:first-child) {
		margin-top: 0.75rem !important;
	}

	.text-body ul:not(:last-child) {
		margin-bottom: 0.75rem !important;
	}

	.text-body ol:not(:first-child) {
		margin-top: 0.9375rem !important;
	}

	.text-body ol:not(:last-child) {
		margin-bottom: 0.9375rem !important;
	}

	.text-body table:not(:first-child) {
		margin-top: 1.5rem !important;
	}

	.text-body table:not(:last-child) {
		margin-bottom: 1.5rem !important;
	}

	.text-body th {
		letter-spacing: 0;
		font-size: 0.875em;
		line-height: 1.25;
	}

	.text-body td {
		letter-spacing: 0;
		font-size: 0.75em;
		line-height: 1.25;
	}
}
