/* Cresset — base.css
   Element defaults and typography/layout utility classes. */

/* Resets */

h1,
h2,
h3,
h4,
h5,
h6,
p {
	margin: 0;
}

/* Heading Utility Classes */
._h1 {
	font-size: var(--font-size-h1) !important;
	font-weight: var(--font-weight-extrabold) !important;
}

._h2 {
	font-size: var(--font-size-h2) !important;
	font-weight: var(--font-weight-extrabold) !important;
}

._h3 {
	font-size: var(--font-size-h3) !important;
	font-weight: var(--font-weight-extrabold) !important;
}

._h4 {
	font-size: var(--font-size-h4) !important;
	font-weight: var(--font-weight-bold) !important;
}

._h5 {
	font-size: var(--font-size-h5) !important;
	font-weight: var(--font-weight-semibold) !important;
}

._p {
	font-size: var(--font-size-md) !important;
	font-weight: var(--font-weight-regular) !important;
}

._p-lg {
	font-size: var(--font-size-lg) !important;
	font-weight: var(--font-weight-regular) !important;
}

._p-sm {
	font-size: var(--font-size-sm) !important;
	font-weight: var(--font-weight-regular) !important;
}

._p-xs {
	font-size: var(--font-size-xs) !important;
	font-weight: var(--font-weight-regular) !important;
}

.p-semi-bold {
	font-weight: var(--font-weight-semibold);
}


/* Link Utility Classes */
/* This is an alternative for the current legacy link style that is sitewide. Will re-vamp when design creates new link animations */
._link-light {
	color: white !important;
	font-weight: 500;
	text-decoration: none;
	background-image: linear-gradient(#ffffff3a, #ffffff52),
		linear-gradient(#d1d3d47c, #d1d3d47c),
		linear-gradient(#ffffff, #ffffff);
	background-size: 10px 1px, 100% 1px, 0 1px;
	background-position: calc(10px * -1) 100%, 100% 100%, 0 100%;
	background-repeat: no-repeat;
	transition: background-size .5s ease-out, background-position .5s ease-out, color .5s ease;
}

._link-light a.e-paragraph-link-base,
._link-light a.e-paragraph-link-base:hover {
	color: white !important;
}

._link-light:hover {
	color: white;
	background-size: 10px 1px, 0 1px, 100% 1px;
	background-position: calc(100% + 10px) 100%, 100% 100%, 0 100%;
}

/* Current legacy link style - utility class made to override atomic blocks styling for links */
._link-dark {
	color: var(--cr-ink);
	font-weight: 500;
	text-decoration: none;
	background-image: linear-gradient(#ffffff, #ffffff),
		linear-gradient(#D1D3D4, #D1D3D4),
		linear-gradient(var(--cr-ink), var(--cr-ink));
	background-size: 10px 1px, 100% 1px, 0 1px;
	background-position: calc(10px * -1) 100%, 100% 100%, 0 100%;
	background-repeat: no-repeat;
	transition: background-size .5s ease-out, background-position .5s ease-out, color .5s ease;
}

._link-dark a.e-paragraph-link-base,
._link-dark a.e-paragraph-link-base:hover {
	color: var(--cr-ink);
}

._link-dark:hover {
	color: var(--cr-ink);
	background-size: 10px 1px, 0 1px, 100% 1px;
	background-position: calc(100% + 10px) 100%, 100% 100%, 0 100%;
}

._link-navy {
	color: var(--cr-blue) !important;

	font-weight: 500;

	text-decoration: none;

	background-image: linear-gradient(#ffffff, #ffffff),
		linear-gradient(#D1D3D4, #D1D3D4),
		linear-gradient(var(--cr-blue), var(--cr-blue));

	background-size: 10px 1px, 100% 1px, 0 1px;

	background-position: calc(10px * -1) 100%, 100% 100%, 0 100%;

	background-repeat: no-repeat;

	transition: background-size .5s ease-out, background-position .5s ease-out, color .5s ease;
}

._link-navy a.e-paragraph-link-base,
._link-navy a.e-paragraph-link-base:hover {
	color: var(--cr-blue);
}

._link-navy:hover {
	color: var(--cr-blue);

	background-size: 10px 1px, 0 1px, 100% 1px;

	background-position: calc(100% + 10px) 100%, 100% 100%, 0 100%;
}

/* Image Utility Classes */

.absolute_cover {
	width: 100% !important;
	height: 100% !important;
	object-fit: cover !important;
	position: absolute !important;
}

/* Prevent horizontal scroll on body, can be caused by popups/other animated elements*/
body {
	overflow-x: clip;
}

/* Keep Elementor's hidden form fields hidden.
   Every form field group carries .elementor-column { display: flex }, and a
   hidden one also carries .elementor-field-type-hidden { display: none }. Both
   are specificity (0,1,0), so without !important the winner is decided purely
   by source order — and Autoptimize can reorder them, which is how the footer
   newsletter form's gclid/utm inputs once rendered as empty boxes sitewide.
   !important settles it on importance instead, so it holds whatever order
   Autoptimize produces.
   Recovered 2026-08-25 from the autoptimize_css_defer_inline PLUGIN SETTING,
   where it was invisible to git, to the drift check, and to every audit —
   it would have vanished on any Autoptimize reset or migration. */
.elementor-field-type-hidden {
	display: none !important;
}

/* Elementor media queries are below for reference with mobile-first CSS*/




/* Tablet: 768px–1024px */
@media (min-width: 768px) {}


/* Laptop / small desktop: 1025px–1366px */
@media (min-width: 1025px) {}

/* Large desktop: 1367px+ */
@media (min-width: 1367px) {}