/**
 * St Marys Cement: site-specific styles.
 *
 * Moved verbatim from this site's Customizer > Additional CSS on 2026-10-05
 * (local copy of staging, refreshed 2026-10-01). The only edits are image
 * URLs, which now point at copies in assets/images/ instead of a site's
 * uploads folder, so they work on every page and in every environment.
 *
 * Printed where WordPress prints Customizer CSS (end of <head>), so these rules
 * win exactly as before. Customizer CSS, if any is added later, still prints
 * after this file and overrides it.
 *
 * @package VCNA_Child_Theme
 */

html[lang="fr-CA"] #menu-new-menu {
	gap: 18px !important;
}

.moove-gdpr-branding-cnt {
	display: none !important;
}

@media screen and (max-width: 767px) {

    .vcna-header .spark-dropdown-nav {
        border: 0px !important; 
        padding: 0px !important; 
    }

	.elementor-search-form--skin-full_screen .elementor-search-form__container {
		align-items: start;
		padding-top: 100px;
	}

	#moove_gdpr_cookie_modal
		.moove-gdpr-modal-content.moove_gdpr_modal_theme_v2
		.moove-gdpr-modal-right-content {
		max-height: 50vh;
		height: inherit;
	}

	#moove_gdpr_cookie_modal {
		margin-top: 120px;
	}
}

span.elementor-button-text:hover {
	text-decoration: underline !important;
}

.durability-card h3 {
	color: #101828;
	font-family: "Votorantim Typeface", sans-serif;
	font-size: 28px;
	font-style: normal;
	font-weight: 400;
	line-height: normal;
}

.durability-card p {
	color: #101828;
	font-family: "Votorantim Typeface", sans-serif;
	font-size: 16px;
	font-style: normal;
	font-weight: 400;
	line-height: 24px;
}

/* Repeater Field */
.key-repeater-section .jet-listing-dynamic-repeater__items {
	display: grid;
	grid-template-columns: repeat(2, 1fr);
	gap: 20px;
}

.durability-card {
	position: relative;
	overflow: hidden;
	border-radius: 20px;
	padding: 40px;
	color: #0b1b2b;
}

.durability-card p {
	padding: 0 120px 0 0;
}

.background-image {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	z-index: 1;
}

.background-image img {
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.card-content {
	position: relative;
	z-index: 2;
	margin: 30px 0;
}

.img-content-section .jet-listing-dynamic-repeater__items {
	display: flex;
	flex-direction: column;
	gap: 60px;
}

.ic-section {
	display: flex;
	align-items: center;
	gap: 40px;
}

.ic-image {
	width: 50%;
}

.ic-image img {
	width: 100%;
	border-radius: 10px;
}

.ic-content {
	width: 50%;
}

.key-repeater-section .durability-card .card-content {
	padding: 0 150px 0 0;
}

.img-content-section
	.jet-listing-dynamic-repeater__item:nth-child(even)
	.ic-section {
	flex-direction: row-reverse;
}

.pdf-button :hover {
	color: #fff;
}

.Jet-2col-repeater .jet-listing-dynamic-repeater__items {
	display: block;
}

/* ==========================================================================
   SDS / Document Download Sections (repeatable, alternating)
   Two-column rows that alternate: media left / card right, then flipped.
 ========================================================================== */
.sds-section__inner .sds-section__media {
	border-radius: 8px;
}

.sds-section {

	/* Layout */
	--sds-pad-block: 64px;
	--sds-pad-inline: 112px;
	--sds-gap: 32px;
	--sds-max-width: 1140px;

	/* Column tracks. Equal halves, so both columns are the same width on every
     row and flipping a row cannot change the geometry. If you ever want the
     media wider, change this to minmax(0, 1.04fr) minmax(0, 1fr) AND add the
     flipped counterpart back in the alternating-rows block below, otherwise
     the gutter will read as uneven when rows swap sides. */
	--sds-cols: minmax(0, 1fr) minmax(0, 1fr);

	/* Color */
	--sds-bg: #fff;
	--sds-bg-alt: #e9ecef; /* grey band on even rows - Figma Sections 5 */
	--sds-card-bg: #fff;
	--sds-accent: #f1be48; /* St Marys Yellow */
	--sds-heading: #101828;
	--sds-body: #101828;
	--sds-link: #101010;
	--sds-link-hover: #a3132a;
	--sds-rule: #e6e6e6;
	--sds-media-bg: #f2f2f2;

	/* Type */
	--sds-font: inherit;
	--sds-heading-size: 36px; /* Figma H1 36/46 */
	--sds-body-size: 20px; /* Figma Body Large 20/30 */

	/* Card */
	--sds-card-pad: 0px; /* text aligns to the section inline padding */
	--sds-card-radius: 2px;
	--sds-card-shadow:
		0 1px 2px rgba(16, 16, 16, 0.06), 0 8px 28px rgba(16, 16, 16, 0.08);

	box-sizing: border-box;
	padding: var(--sds-pad-block) var(--sds-pad-inline);
	background: var(--sds-bg);
	font-family: var(--sds-font);
}

.sds-section *,
.sds-section *::before,
.sds-section *::after {
	box-sizing: inherit;
}

/* --- Grid ---------------------------------------------------------------- */

.sds-section__inner {
	display: grid;
	grid-template-columns: var(--sds-row-cols, var(--sds-cols));
	align-items: stretch;
	gap: var(--sds-gap);
	max-width: var(--sds-max-width);
	margin-inline: auto;
}

.sds-section__media {
	grid-column: var(--sds-media-col, 2);
	grid-row: 1;
}

.sds-card {
	grid-column: var(--sds-card-col, 1);
	grid-row: 1;
}

/* --- Alternating rows ----------------------------------------------------
   Any of these ancestors flips the row inside it. Add more selectors here
   if the page builder wraps rows in something else again.
   -------------------------------------------------------------------------- */

/* JetEngine dynamic repeater: every second item */
.jet-listing-dynamic-repeater__items > .jet-listing-dynamic-repeater__item:nth-child(even),
/* JetEngine listing grid / other Jet listings: every second item */
.jet-listing-grid__items > .jet-listing-grid__item:nth-child(even),
/* Plain wrapper: every second section */
.sds-repeater > .sds-section:nth-child(even),
/* Manual flip on a single row */
.sds-section--reverse {
	--sds-media-col: 1;
	--sds-card-col: 2;
}

/* --- Alternating band background ------------------------------------------
   White / grey / white, banding down the page. The tint goes on .sds-section,
   not on the item wrapper, because the section paints its own background and
   would cover a colour set on the wrapper.

   Every row keeps its full top and bottom padding here, so each colour band
   is evenly weighted. Change the grey with --sds-bg-alt.
   -------------------------------------------------------------------------- */

.jet-listing-dynamic-repeater__item:nth-child(odd) .sds-section,
.jet-listing-grid__item:nth-child(odd) .sds-section,
.sds-repeater > .sds-section:nth-child(odd) {
	background: var(--sds-bg-alt);
}

/* --- Row rhythm, unbanded -------------------------------------------------
   Add .sds-flat to the widget wrapper for the all-white version. Rows then
   share one background, so the 64px + 64px join between them is collapsed
   to a single --sds-pad-block gap.
   -------------------------------------------------------------------------- */

.sds-flat .jet-listing-dynamic-repeater__item:nth-child(even) .sds-section,
.sds-flat .jet-listing-grid__item:nth-child(even) .sds-section,
.sds-flat.sds-repeater > .sds-section:nth-child(even) {
	background: var(--sds-bg);
}

.sds-flat
	.jet-listing-dynamic-repeater__item
	+ .jet-listing-dynamic-repeater__item
	.sds-section,
.sds-flat .jet-listing-grid__item + .jet-listing-grid__item .sds-section,
.sds-flat.sds-repeater > .sds-section + .sds-section {
	padding-top: 0;
}

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

.sds-section__media {
	position: relative;
	margin: 0;
	width: 100%;
	min-height: 420px; /* Figma image 592x420 */
	background: var(--sds-media-bg);
	overflow: hidden;
}

.sds-section__media img {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
}

/* --- Card ---------------------------------------------------------------- */

.sds-card {
	position: relative;
	align-self: start; /* Figma: text column hugs content, image is taller */
	padding: var(--sds-card-pad);
	border-radius: var(--sds-card-radius);
}

/* Gold rule on the top edge of the card */
.sds-card::before {
	content: "";
	position: absolute;
	top: 0;
	left: var(--sds-card-pad);
	width: 64px;
	height: 5px;
	border-radius: 10px;
	background: var(--sds-accent);
}

.sds-card__title {
	margin: 37px 0 0; /* 5px bar + 32px gap */
	color: var(--sds-heading);
	font-size: var(--sds-heading-size);
	font-weight: 400;
	line-height: 46px;
	letter-spacing: 0;
}

.sds-card__intro {
	margin: 16px 0 0;
	max-width: 60ch;
	color: var(--sds-body);
	font-size: var(--sds-body-size);
	line-height: 30px;
	letter-spacing: -0.3px;
}

/* --- Document list ------------------------------------------------------- */

/* Button-style download rows: outlined card by default, filled accent on
   hover, with the icon swapping from a link glyph to a PDF glyph. The icons
   are CSS masks, so they inherit the current text colour and need no extra
   markup. */

.sds-docs {
	margin: 32px 0 0;
	padding: 0;
	list-style: none;
	border-top: 0; /* the rules are replaced by the cards */
	display: flex;
	flex-direction: column;
	gap: 12px;
}

.sds-docs__item {
	margin: 0;
	border-bottom: 0;
}

.sds-docs__link {

	/* Button tokens. Swap --sds-btn-accent to var(--sds-link-hover) if you
     want the fill to be the St Marys red instead of the blue. */
	--sds-btn-accent: #0f2ad9;
	--sds-icon-color: #0000bf; /* Figma PDF glyph colour */
	--sds-btn-text: #1c1c1c;
	--sds-btn-border: #e3e6ec;
	--sds-btn-bg: #fff;

	--sds-icon-link: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round'%3E%3Cpath d='M10 13a5 5 0 0 0 7.07 0l3-3A5 5 0 0 0 13 3l-1.5 1.5'/%3E%3Cpath d='M14 11a5 5 0 0 0-7.07 0l-3 3A5 5 0 0 0 11 21l1.5-1.5'/%3E%3C/svg%3E");
	--sds-icon-pdf: url(data:image/svg+xml,%3Csvg%20overflow%3D%27visible%27%20width%3D%2719.5393%27%20height%3D%2724%27%20viewBox%3D%270%200%2019.5393%2024%27%20fill%3D%27none%27%20xmlns%3D%27http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%27%3E%20%3Cg%20id%3D%27Group%27%3E%20%3Cpath%20id%3D%27Vector%27%20d%3D%27M4.83932%2015.4409C4.83932%2015.0423%204.56276%2014.8046%204.07478%2014.8046C3.87552%2014.8046%203.74057%2014.8243%203.66999%2014.8431V16.1219C3.75357%2016.1407%203.85631%2016.147%203.99793%2016.147C4.51806%2016.147%204.83932%2015.8842%204.83932%2015.4409Z%27%20fill%3D%27%230000BF%27%2F%3E%20%3Cpath%20id%3D%27Vector_2%27%20d%3D%27M7.86011%2014.818C7.64158%2014.818%207.50036%2014.8369%207.41683%2014.8564V17.6886C7.50041%2017.7082%207.63536%2017.7082%207.75736%2017.7082C8.64386%2017.7145%209.22203%2017.2265%209.22203%2016.1925C9.22831%2015.2934%208.70146%2014.818%207.86011%2014.818Z%27%20fill%3D%27%230000BF%27%2F%3E%20%3Cpath%20id%3D%27Vector_3%27%20d%3D%27M13.4725%200H3.83316C2.42494%200%201.2788%201.14694%201.2788%202.55436V12H1.02931C0.460945%2012%200%2012.4604%200%2013.0293V19.2717C0%2019.8405%200.460895%2020.3009%201.02931%2020.3009H1.2788V21.4456C1.2788%2022.8546%202.42494%2024%203.83316%2024H16.9857C18.393%2024%2019.5393%2022.8545%2019.5393%2021.4456V6.0455L13.4725%200ZM2.70031%2014.1558C3.00197%2014.1049%203.42598%2014.0664%204.02336%2014.0664C4.62707%2014.0664%205.05735%2014.1817%205.34646%2014.4131C5.62263%2014.6313%205.809%2014.9913%205.809%2015.415C5.809%2015.8386%205.66778%2016.1988%205.41083%2016.4427C5.07662%2016.7573%204.58237%2016.8986%204.0042%2016.8986C3.87552%2016.8986%203.76019%2016.8922%203.66999%2016.8797V18.4276H2.70031V14.1558ZM16.9857%2022.4356H3.83316C3.28789%2022.4356%202.84387%2021.9916%202.84387%2021.4456V20.3009H15.1047C15.6732%2020.3009%2016.1341%2019.8405%2016.1341%2019.2717V13.0293C16.1341%2012.4604%2015.6732%2012%2015.1047%2012H2.84387V2.55436C2.84387%202.00989%203.28794%201.56587%203.83316%201.56587L12.8873%201.55641V4.90314C12.8873%205.88068%2013.6805%206.67459%2014.6587%206.67459L17.9372%206.66518L17.9741%2021.4455C17.9741%2021.9916%2017.5309%2022.4356%2016.9857%2022.4356ZM6.43426%2018.408V14.1558C6.79391%2014.0986%207.26267%2014.0664%207.75736%2014.0664C8.5795%2014.0664%209.11262%2014.2139%209.53036%2014.5285C9.97991%2014.8627%2010.2623%2015.3954%2010.2623%2016.1603C10.2623%2016.9887%209.96064%2017.5607%209.54285%2017.9136C9.08704%2018.2925%208.39318%2018.4722%207.54551%2018.4722C7.03787%2018.4722%206.67823%2018.4401%206.43426%2018.408ZM13.4444%2015.8905V16.6867H11.8898V18.4276H10.9072V14.0986H13.5534V14.9011H11.8898V15.8905H13.4444Z%27%20fill%3D%27%230000BF%27%2F%3E%20%3C%2Fg%3E%20%3C%2Fsvg%3E);

	display: flex;
	align-items: center;
	gap: 12px;
	width: 100%;
	padding: 12px 24px;
	border: 0;
	border-radius: 3px;
	background-color: var(--sds-btn-bg);
	color: var(--sds-btn-text);
	font-size: 1rem;
	font-weight: 400;
	line-height: normal;
	text-decoration: none;
	box-shadow: 0 0 4.9px 0 rgba(0, 0, 191, 0.13) !important;
	transition:
		background-color 0.22s ease,
		border-color 0.22s ease,
		color 0.22s ease,
		box-shadow 0.22s ease,
		transform 0.22s ease;
}

/* Icon: link glyph in the accent colour by default */
.sds-docs__link::before {
	content: "";
	flex: 0 0 auto;
	width: 24px;
	height: 24px;
	background-color: var(--sds-icon-color);
	background-image: none; /* overrides the old coloured SVG */
	-webkit-mask: var(--sds-icon-pdf) center / contain no-repeat;
	mask: var(--sds-icon-pdf) center / contain no-repeat;
	transition: background-color 0.22s ease;
}

.sds-docs__label {
	flex: 1 1 auto;
	font-size: 18px;
	font-weight: 600;
}

.sds-docs__meta {
	flex: 0 0 auto;
	padding: 3px 8px;
	border: 1px solid currentcolor;
	border-radius: 3px;
	color: #7a7a7a;
	font-size: 0.6875rem;
	font-weight: 600;
	letter-spacing: 0.04em;
	text-transform: uppercase;
	white-space: nowrap;
	transition:
		color 0.22s ease,
		border-color 0.22s ease,
		background-color 0.22s ease;
}

/* --- Hover / focus: filled accent + PDF glyph ---------------------------- */

.sds-docs__link:hover,
.sds-docs__link:focus-visible {
	background-color: var(--sds-btn-accent);
	border-color: var(--sds-btn-accent);
	color: #fff;
	box-shadow: 0 8px 18px rgba(15, 42, 217, 0.22);
	transform: translateY(-1px);
}

.sds-docs__link:hover::before,
.sds-docs__link:focus-visible::before {
	background-color: #fff;
	-webkit-mask-image: var(--sds-icon-pdf);
	mask-image: var(--sds-icon-pdf);
}

.sds-docs__link:hover .sds-docs__meta,
.sds-docs__link:focus-visible .sds-docs__meta {
	color: #fff;
	background-color: rgba(255, 255, 255, 0.14);
}

.sds-docs__link:focus-visible {
	outline: 2px solid var(--sds-btn-accent);
	outline-offset: 3px;
}

/* Kept for backwards compatibility if an inline <svg class="sds-docs__icon">
   survives in the markup. Hide the CSS icon so it does not double up. */
.sds-docs__icon {
	flex: 0 0 auto;
	width: 20px;
	height: 20px;
}

.sds-docs__link:has(.sds-docs__icon)::before {
	display: none;
}

@media (prefers-reduced-motion: reduce) {

	.sds-docs__link,
	.sds-docs__link::before,
	.sds-docs__meta {
		transition: none;
	}

	.sds-docs__link:hover {
		transform: none;
	}
}

/* --- Builder resets -------------------------------------------------------
   JetEngine / Elementor wrappers should not add their own box model.
   -------------------------------------------------------------------------- */

.jet-listing-dynamic-repeater__item,
.jet-listing-dynamic-repeater__items {
	margin: 0;
	padding: 0;
}

/* --- Responsive ---------------------------------------------------------- */

@media (max-width: 1200px) {

	.sds-section {
		--sds-pad-inline: 64px;
	}
}

@media (max-width: 900px) {

	.sds-section {
		--sds-pad-inline: 32px;
		--sds-pad-block: 48px;
		--sds-gap: 24px;
	}

	/* Stacked: alternation is off, media always sits above the card. */
	.sds-section__inner {
		grid-template-columns: minmax(0, 1fr);
	}

	.sds-section__media {
		grid-column: 1;
		grid-row: 1;
		min-height: 0;
		aspect-ratio: 16 / 9;
	}

	.sds-section__media img {
		height: 100%;
	}

	.sds-card {
		grid-column: 1;
		grid-row: 2;
	}
}

@media (max-width: 560px) {

	.sds-section {
		--sds-pad-inline: 20px;
		--sds-card-pad: 24px;
	}
}

/* ---- EPD / SDS document links -------------------------------- */

/* ---- make the repeater chain full width ---------------------- */
.elementor-widget-jet-listing-dynamic-repeater,
.elementor-widget-jet-listing-dynamic-repeater > .elementor-widget-container,
.jet-listing.jet-listing-dynamic-repeater {
	width: 100%;
}

.jet-listing-dynamic-repeater__items {
	display: flex;
	flex-direction: column; /* one per row; see note for side by side */
	flex-wrap: wrap;
	align-items: stretch; /* kills the "shrink to content" look */
	width: 100%;
	gap: 12px;
}

.jet-listing-dynamic-repeater__item {
	flex: 1 1 100%;
	width: 100%;
	max-width: 100%;
	min-width: 0; /* prevents long labels from overflowing */
}

.jet-listing-dynamic-repeater .epds-section,
.jet-listing-dynamic-repeater .epds-section__inner {
	width: 100%;
}

.jet-listing-dynamic-repeater .epds-docs {
	list-style: none;
	margin: 0;
	padding: 0;
	display: flex;
	flex-direction: column;
	gap: 12px;
}

.jet-listing-dynamic-repeater .epds-docs__item {
	margin: 0;
}

.jet-listing-dynamic-repeater .epds-docs__link {
	--epds-accent: #0000bf; /* your button blue */
	--epds-text: #12233f;
	--epds-border: #e3e6ec;
	--epds-icon-link: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round'%3E%3Cpath d='M10 13a5 5 0 0 0 7.07 0l3-3A5 5 0 0 0 13 3l-1.5 1.5'/%3E%3Cpath d='M14 11a5 5 0 0 0-7.07 0l-3 3A5 5 0 0 0 11 21l1.5-1.5'/%3E%3C/svg%3E");
	--epds-icon-pdf: url(data:image/svg+xml,%3Csvg%20overflow%3D%27visible%27%20width%3D%2719.5393%27%20height%3D%2724%27%20viewBox%3D%270%200%2019.5393%2024%27%20fill%3D%27none%27%20xmlns%3D%27http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%27%3E%20%3Cg%20id%3D%27Group%27%3E%20%3Cpath%20id%3D%27Vector%27%20d%3D%27M4.83932%2015.4409C4.83932%2015.0423%204.56276%2014.8046%204.07478%2014.8046C3.87552%2014.8046%203.74057%2014.8243%203.66999%2014.8431V16.1219C3.75357%2016.1407%203.85631%2016.147%203.99793%2016.147C4.51806%2016.147%204.83932%2015.8842%204.83932%2015.4409Z%27%20fill%3D%27%230000BF%27%2F%3E%20%3Cpath%20id%3D%27Vector_2%27%20d%3D%27M7.86011%2014.818C7.64158%2014.818%207.50036%2014.8369%207.41683%2014.8564V17.6886C7.50041%2017.7082%207.63536%2017.7082%207.75736%2017.7082C8.64386%2017.7145%209.22203%2017.2265%209.22203%2016.1925C9.22831%2015.2934%208.70146%2014.818%207.86011%2014.818Z%27%20fill%3D%27%230000BF%27%2F%3E%20%3Cpath%20id%3D%27Vector_3%27%20d%3D%27M13.4725%200H3.83316C2.42494%200%201.2788%201.14694%201.2788%202.55436V12H1.02931C0.460945%2012%200%2012.4604%200%2013.0293V19.2717C0%2019.8405%200.460895%2020.3009%201.02931%2020.3009H1.2788V21.4456C1.2788%2022.8546%202.42494%2024%203.83316%2024H16.9857C18.393%2024%2019.5393%2022.8545%2019.5393%2021.4456V6.0455L13.4725%200ZM2.70031%2014.1558C3.00197%2014.1049%203.42598%2014.0664%204.02336%2014.0664C4.62707%2014.0664%205.05735%2014.1817%205.34646%2014.4131C5.62263%2014.6313%205.809%2014.9913%205.809%2015.415C5.809%2015.8386%205.66778%2016.1988%205.41083%2016.4427C5.07662%2016.7573%204.58237%2016.8986%204.0042%2016.8986C3.87552%2016.8986%203.76019%2016.8922%203.66999%2016.8797V18.4276H2.70031V14.1558ZM16.9857%2022.4356H3.83316C3.28789%2022.4356%202.84387%2021.9916%202.84387%2021.4456V20.3009H15.1047C15.6732%2020.3009%2016.1341%2019.8405%2016.1341%2019.2717V13.0293C16.1341%2012.4604%2015.6732%2012%2015.1047%2012H2.84387V2.55436C2.84387%202.00989%203.28794%201.56587%203.83316%201.56587L12.8873%201.55641V4.90314C12.8873%205.88068%2013.6805%206.67459%2014.6587%206.67459L17.9372%206.66518L17.9741%2021.4455C17.9741%2021.9916%2017.5309%2022.4356%2016.9857%2022.4356ZM6.43426%2018.408V14.1558C6.79391%2014.0986%207.26267%2014.0664%207.75736%2014.0664C8.5795%2014.0664%209.11262%2014.2139%209.53036%2014.5285C9.97991%2014.8627%2010.2623%2015.3954%2010.2623%2016.1603C10.2623%2016.9887%209.96064%2017.5607%209.54285%2017.9136C9.08704%2018.2925%208.39318%2018.4722%207.54551%2018.4722C7.03787%2018.4722%206.67823%2018.4401%206.43426%2018.408ZM13.4444%2015.8905V16.6867H11.8898V18.4276H10.9072V14.0986H13.5534V14.9011H11.8898V15.8905H13.4444Z%27%20fill%3D%27%230000BF%27%2F%3E%20%3C%2Fg%3E%20%3C%2Fsvg%3E);

	display: flex;
	align-items: center;
	justify-content: left;
	gap: 12px;
	width: 100%;
	padding: 16px 24px;
	border: 1px solid var(--epds-border);
	border-radius: 6px;
	background-color: #fff;
	color: var(--epds-text);
	font-size: 17px;
	font-weight: 500;
	line-height: 1.3;
	text-align: left;
	text-decoration: none;
	box-shadow: 0 1px 2px rgba(18, 35, 63, 0.05);
	transition:
		background-color 0.25s ease,
		border-color 0.25s ease,
		color 0.25s ease,
		box-shadow 0.25s ease,
		transform 0.25s ease;
}

/* icon: link glyph by default */
.jet-listing-dynamic-repeater .epds-docs__link::before {
	content: "";
	flex: 0 0 auto;
	width: 22px;
	height: 22px;
	background-color: var(--epds-accent);
	-webkit-mask: var(--epds-icon-pdf) center / contain no-repeat;
	mask: var(--epds-icon-pdf) center / contain no-repeat;
	transition: background-color 0.25s ease;
}

/* ---- hover / focus: filled blue + PDF glyph ------------------ */
.jet-listing-dynamic-repeater .epds-docs__link:hover,
.jet-listing-dynamic-repeater .epds-docs__link:focus-visible {
	background-color: var(--epds-accent);
	border-color: var(--epds-accent);
	color: #fff;
	box-shadow: 0 8px 18px rgba(15, 42, 217, 0.25);
	transform: translateY(-1px);
}

.jet-listing-dynamic-repeater .epds-docs__link:hover::before,
.jet-listing-dynamic-repeater .epds-docs__link:focus-visible::before {
	background-color: #fff;
	-webkit-mask-image: var(--epds-icon-pdf);
	mask-image: var(--epds-icon-pdf);
}

.jet-listing-dynamic-repeater .epds-docs__link:focus-visible {
	outline: 2px solid var(--epds-accent);
	outline-offset: 3px;
}

@media (prefers-reduced-motion: reduce) {

	.jet-listing-dynamic-repeater .epds-docs__link {
		transition: none;
	}

	.jet-listing-dynamic-repeater .epds-docs__link:hover {
		transform: none;
	}
}

/* SPARK: key features card vertical centring
   The JetEngine repeater always outputs <p></p> when kfbs_description is blank
   (true for all 18 products), which reserved ~56px under the heading and made
   the card text read as top-aligned. Collapse it, then centre what remains. */
.key-repeater-section .card-content > p:empty {
	display: none;
}

.key-repeater-section .durability-card {
	display: flex;
	flex-direction: column;
	justify-content: center;
}

.key-repeater-section .card-content {
	flex: 1;
	display: flex;
	flex-direction: column;
	justify-content: center;
}

/* SPARK: hide the document list when the repeater has no button
   The JetEngine template always outputs the <ul>, so an item with no
   2col_button_label / 2col_button_link renders as an empty white pill
   (href="" plus an empty label span) - true for 6 of the 18 products.
   Note: .sds-docs__link:empty can never match, because the <a> always
   contains the label <span>; test the label and the href instead.
   If :has() is unsupported the rule is simply dropped, so nothing breaks. */
.sds-docs:has(.sds-docs__link[href=""]),
.sds-docs:has(.sds-docs__label:empty) {
	display: none;
}

/* SPARK: Reports and Documents link cards - Figma node 5440:26214
   Scoped to .rd-section so only this section is affected, not every
   .pdf-button on the site. Elementor containers are driven by custom
   properties (--width, --height, --border-radius, --row-gap), so those
   are set rather than overridden. !important is used only where a
   per-element Elementor rule such as
   .elementor-2619 .elementor-element-ec468c5 outranks these selectors. */
.rd-section .pdf-button {
	--row-gap: 12px;
	--column-gap: 12px;
	--border-radius: 3px;
	align-items: center;
	background-color: #fff;
	padding: 12px 24px !important;
	box-shadow: 0 0 4.9px 0 rgba(0, 0, 191, 0.13) !important;
}

/* Icon box. Figma specifies a 24x24 square; it renders 34.5x24 unscoped. */
.rd-section .pdf-button > .e-con:first-child {
	--width: 24px;
	--height: 24px;
	flex: 0 0 24px !important;
	background-size: contain;
	background-repeat: no-repeat;
	background-position: center;
}

/* Title: Figma 18px bold, -0.27px tracking. */
.rd-section .pdf-button .pdf-button-text .elementor-heading-title {
	font-size: 18px;
	font-weight: 600;
	line-height: normal;
	letter-spacing: -0.27px;
	color: #1c1c1c;
}

/* Keep the label readable: the pre-existing ".pdf-button :hover{color:#fff}"
   would turn the text white on a now-white card. */
.rd-section .pdf-button:hover .elementor-heading-title {
	color: #1c1c1c;
}

.epd-sp-btm-section .jet-listing-dynamic-repeater .epds-docs__link::before {
	-webkit-mask: var(--epds-icon-link) center / contain no-repeat;
	mask: var(--epds-icon-link) center / contain no-repeat;
}

.epd-sp-btm-section:not(:has(a.epds-docs__link[href]:not([href=""]))),
.epd-sp-btm-section-col1:not(:has(a.epds-docs__link[href]:not([href=""]))),
.epd-sp-btm-section-col2:not(:has(a.epds-docs__link[href]:not([href=""]))) {
	display: none;
}

.sds-card,
.sds-docs__label {
	font-family: "Votorantim Typeface", sans-serif;
}

.sds-card::before {
	border-radius: 0;
}

.rds-section-pdf .pdf-button:hover .e-con-full.e-flex.e-con.e-child {
	background-image: url(../../images/pdf-file.svg);
}

.st-marys-form input.reset-button{
	border-radius: 50px !important;
	background-color: white !important;
	border: 2px solid #0000BF !important;
	color: #0000BF !important;
}

.st-marys-form button#gform_submit_button_1{
	border-radius: 50px !important;
	background-color: #0000BF !important;
}

.st-marys-form button#gform_submit_button_1:hover{
	background-color: white !important;
	border: 2px solid #0000BF !important;
	color: #0000BF !important;
}


.st-marys-form #gform_fields_1 input.reset-button:hover {
	background-color: #0000BF !important;
	color: white !important;
}

.st-marys-form textarea#input_1_7 {
	border-radius: 14px !important;
}

.gform-theme--foundation .gfield--width-half {
	grid-column: span 3 !important;
}

.gform-theme--foundation .gfield--width-two-thirds {
	grid-column: span 3 !important;
	display: flex !important;
}

.st-marys-form .gform-theme--foundation .gform_fields{
	--gf-form-gap-y: 15px !important;
}

.st-marys-form input, .st-marys-form select{
	border-radius: 50px !important;
}

fieldset#field_1_11{
	margin: 30px 0 !important;
}

fieldset#field_1_11 input{
	border-radius: 1px !important;
}

.st-marys-form .gform-theme--foundation .gform-field-label__text:where(:has(+ .gfield_required)){
	font-size: 11px !important;
	line-height: 20px !important;
	font-family: "Votorantim Typeface", Sans-serif !important;
}