.elementor-kit-56{--e-global-color-primary:#072131;--e-global-color-secondary:#286382;--e-global-color-text:#072131;--e-global-color-accent:#87BFD9;--e-global-color-34b869c:#E2EFF5;--e-global-color-4eefc17:#CD4A23;--e-global-color-a1d1909:#F26417;--e-global-color-44606a4:#FF9D60;--e-global-color-2083e3b:#51646F;--e-global-color-64afaf0:#C2D4DB;--e-global-color-debeea4:#F8F8F8;--e-global-color-5b37336:#FFFFFF;--e-global-color-ab836f6:#C2CCD3;--e-global-color-3130a5f:#E58365;--e-global-color-ea2ed42:#03121B;--e-global-color-bafbec8:#DEF8CA;--e-global-color-7a6197e:#9ACE72;--e-global-color-6b9c9a4:#8F3985;--e-global-typography-primary-font-family:"D-Din Exp";--e-global-typography-primary-font-weight:700;--e-global-typography-primary-text-transform:none;--e-global-typography-secondary-font-family:"commuters-sans";--e-global-typography-secondary-font-weight:600;--e-global-typography-text-font-family:"Causten";--e-global-typography-text-font-size:1.2rem;--e-global-typography-text-font-weight:400;--e-global-typography-text-text-transform:none;--e-global-typography-text-line-height:1.5rem;--e-global-typography-accent-font-family:"commuters-sans";--e-global-typography-accent-font-weight:600;--e-global-typography-accent-text-transform:none;--e-global-typography-05d2053-font-family:"Causten";--e-global-typography-05d2053-font-size:1.2rem;--e-global-typography-05d2053-line-height:1.5rem;--e-global-typography-d87bde1-font-family:"D-Din Exp";--e-global-typography-d87bde1-font-size:4.5rem;--e-global-typography-d87bde1-font-weight:bold;--e-global-typography-d87bde1-text-transform:none;--e-global-typography-d87bde1-line-height:4.5rem;--e-global-typography-4a680d9-font-family:"D-Din Exp";--e-global-typography-4a680d9-font-size:3rem;--e-global-typography-4a680d9-font-weight:700;--e-global-typography-4a680d9-text-transform:none;--e-global-typography-4a680d9-line-height:3rem;--e-global-typography-5b639c9-font-family:"D-Din Exp";--e-global-typography-5b639c9-font-size:2rem;--e-global-typography-5b639c9-font-weight:700;--e-global-typography-5b639c9-text-transform:none;--e-global-typography-5b639c9-line-height:2rem;--e-global-typography-51defc1-font-family:"D-Din Exp";--e-global-typography-51defc1-font-size:1.5rem;--e-global-typography-51defc1-font-weight:700;--e-global-typography-51defc1-text-transform:none;--e-global-typography-51defc1-line-height:1.5rem;--e-global-typography-462c4ae-font-family:"D-Din Exp";--e-global-typography-462c4ae-font-size:1.2rem;--e-global-typography-462c4ae-font-weight:700;--e-global-typography-462c4ae-text-transform:none;--e-global-typography-462c4ae-line-height:1.5rem;--e-global-typography-241f300-font-family:"commuters-sans";--e-global-typography-241f300-font-size:0.8rem;--e-global-typography-241f300-font-weight:400;--e-global-typography-241f300-text-transform:uppercase;--e-global-typography-241f300-line-height:1.2rem;--e-global-typography-241f300-letter-spacing:0.2rem;--e-global-typography-01d1e45-font-family:"Causten";--e-global-typography-01d1e45-font-size:18px;--e-global-typography-01d1e45-font-weight:700;--e-global-typography-01d1e45-text-transform:none;--e-global-typography-01d1e45-line-height:1rem;--e-global-typography-f5aa6d6-font-family:"Causten";--e-global-typography-f5aa6d6-font-size:4rem;--e-global-typography-f5aa6d6-font-weight:200;--e-global-typography-f5aa6d6-text-transform:none;--e-global-typography-f5aa6d6-font-style:normal;--e-global-typography-f5aa6d6-text-decoration:none;--e-global-typography-f5aa6d6-line-height:4rem;--e-global-typography-c24479c-font-family:"commuters-sans";--e-global-typography-c24479c-font-size:0.6rem;--e-global-typography-c24479c-font-weight:400;--e-global-typography-c24479c-text-transform:uppercase;--e-global-typography-c24479c-line-height:1rem;--e-global-typography-c24479c-letter-spacing:0.14rem;--e-global-typography-ab5d55b-font-family:"Causten";--e-global-typography-ab5d55b-font-size:0.9rem;--e-global-typography-ab5d55b-font-weight:400;--e-global-typography-ab5d55b-line-height:1rem;--e-global-typography-05bd356-font-family:"Montserrat";--e-global-typography-05bd356-font-size:2rem;--e-global-typography-05bd356-font-weight:900;--e-global-typography-05bd356-line-height:1.5rem;background-color:var( --e-global-color-debeea4 );color:var( --e-global-color-primary );font-family:"Causten", Sans-serif;font-size:20px;font-weight:400;}.elementor-kit-56 button,.elementor-kit-56 input[type="button"],.elementor-kit-56 input[type="submit"],.elementor-kit-56 .elementor-button{background-color:var( --e-global-color-4eefc17 );font-family:var( --e-global-typography-01d1e45-font-family ), Sans-serif;font-size:var( --e-global-typography-01d1e45-font-size );font-weight:var( --e-global-typography-01d1e45-font-weight );text-transform:var( --e-global-typography-01d1e45-text-transform );line-height:var( --e-global-typography-01d1e45-line-height );color:var( --e-global-color-5b37336 );border-radius:0px 0px 0px 0px;padding:12px 24px 15px 24px;}.elementor-kit-56 button:hover,.elementor-kit-56 button:focus,.elementor-kit-56 input[type="button"]:hover,.elementor-kit-56 input[type="button"]:focus,.elementor-kit-56 input[type="submit"]:hover,.elementor-kit-56 input[type="submit"]:focus,.elementor-kit-56 .elementor-button:hover,.elementor-kit-56 .elementor-button:focus{background-color:var( --e-global-color-a1d1909 );}.elementor-kit-56 e-page-transition{background-color:#FFBC7D;}.elementor-section.elementor-section-boxed > .elementor-container{max-width:1140px;}.e-con{--container-max-width:1140px;}.elementor-widget:not(:last-child){--kit-widget-spacing:20px;}.elementor-element{--widgets-spacing:20px 20px;--widgets-spacing-row:20px;--widgets-spacing-column:20px;}{}h1.entry-title{display:var(--page-title-display);}.site-header .site-branding{flex-direction:column;align-items:stretch;}.site-header{padding-inline-end:0px;padding-inline-start:0px;}.site-footer .site-branding{flex-direction:column;align-items:stretch;}@media(max-width:1024px){.elementor-kit-56{--e-global-typography-f5aa6d6-font-size:3rem;--e-global-typography-f5aa6d6-line-height:3rem;}.elementor-kit-56 button,.elementor-kit-56 input[type="button"],.elementor-kit-56 input[type="submit"],.elementor-kit-56 .elementor-button{font-size:var( --e-global-typography-01d1e45-font-size );line-height:var( --e-global-typography-01d1e45-line-height );}.elementor-section.elementor-section-boxed > .elementor-container{max-width:1024px;}.e-con{--container-max-width:1024px;}}@media(max-width:767px){.elementor-kit-56{--e-global-typography-text-font-size:18px;--e-global-typography-text-line-height:18px;--e-global-typography-d87bde1-font-size:2.2rem;--e-global-typography-d87bde1-line-height:2.2rem;--e-global-typography-4a680d9-font-size:1.8rem;--e-global-typography-4a680d9-line-height:1.8rem;--e-global-typography-5b639c9-font-size:1.4rem;--e-global-typography-5b639c9-line-height:1.4rem;--e-global-typography-51defc1-font-size:1.2rem;--e-global-typography-51defc1-line-height:1.2rem;--e-global-typography-462c4ae-font-size:1.1rem;--e-global-typography-462c4ae-line-height:1.1rem;--e-global-typography-241f300-font-size:0.8rem;--e-global-typography-241f300-line-height:1rem;--e-global-typography-f5aa6d6-font-size:2.5rem;--e-global-typography-f5aa6d6-line-height:2.5rem;--e-global-typography-c24479c-font-size:0.8rem;--e-global-typography-c24479c-line-height:1rem;--e-global-typography-ab5d55b-font-size:18px;--e-global-typography-ab5d55b-line-height:18px;}.elementor-kit-56 button,.elementor-kit-56 input[type="button"],.elementor-kit-56 input[type="submit"],.elementor-kit-56 .elementor-button{font-size:var( --e-global-typography-01d1e45-font-size );line-height:var( --e-global-typography-01d1e45-line-height );}.elementor-section.elementor-section-boxed > .elementor-container{max-width:767px;}.e-con{--container-max-width:767px;}}
/* Start custom CSS *//* ================================================
   GLOBAL TYPOGRAPHY
   ================================================ */

.st-h1bst-h1b, h1 { font-size: clamp(3.125rem, 3.125rem + ((1vw - 0.4375rem) * 4.4000), 4.5rem); line-height: 1.1; }
h2 { font-size: clamp(2.5rem, 2.5rem + ((1vw - 0.52125rem) * 2.1858), 3rem); line-height: 1.2; }
h3 { font-size: clamp(1.875rem, 1.875rem + ((1vw - 0.52125rem) * 0.5464), 2rem); line-height: 1.2; }
h4 { font-size: 1.5rem; line-height: 1.2; }
h5, h6 { font-size: clamp(1.125rem, 1.25rem + ((1vw - 0.52125rem) * -0.5464), 1.25rem); line-height: 1.2; }

h1, h2, h3, h4, h5, h6 {
	font-family: var(--wp--preset--font-family--d-din-exp);
	font-weight: 700;
	margin-top: 0;
	margin-bottom: 20px;
	padding-top: 20px;
}

.h4 { font-size: 24px!important; line-height: 1.2!important; }

.st-company-news-hero h1,
.st-featured-listing-hero__card-textual .h4,
.st-resource-card__textual .st-btn { line-height: 1.15!important; }

.st-h1b { font-size: clamp(3.125rem, 3.125rem + ((1vw - 0.4375rem) * 2.0000), 3.75rem)!important; }

.st-hero-image-video__content h2.h1.st-h1b {
	font-size: 48px!important;
	line-height: 48px!important;
}


/* ================================================
   GLOBAL LINKS & BUTTONS
   ================================================ */

a {
	color: #0a3047;
	text-decoration: underline;
}

a.st-btn {text-decoration:none;}

.st-btn_secondary-dark, .st-btn_secondary-light {
	line-height: 1.75!important;
	padding-right: 34px!important;
}

.st-btn_secondary-dark span:not(.st-btn__custom-icon) svg,
.st-btn_secondary-light span:not(.st-btn__custom-icon) { display: none!important; }

.st-btn_primary-dark, .st-btn_primary-light, a.st-btn {
	background: #CD4A23;
	border-radius: 0;
	box-shadow: none!important;
	font-size: 20px;
	text-transform: none;
	color: #fff;
	padding: 12px 24px!important;
	line-height: 16px!important;
	font-size: 18px;
	height: 40px;
	font-family: "Causten"!important;
}

.st-btn_primary-dark:hover, .st-btn_primary-light:hover, a.st-btn:hover {
	background: #E58365!important;
	color: #fff!important;
	transform: initial!important;
}

.st-btn_primary-dark svg,
.st-btn_primary-light svg,
a.st-btn > span > svg { display: none!important; }

.elementor-flip-box__button { padding: 0px!important; }

button.js-btn-open-modal.st-btn_open-video { background-color: transparent; }

button.st-content-tabs__tab-button:hover { background: transparent; }


/* ================================================
   LAYOUT & GRID UTILITIES
   ================================================ */

main#content { max-width: 100%; }

.st-content-single { max-width: 720px; margin-left: auto; margin-right: auto; }

/* Grid Layout Heroes */
.layout-main-col {
	flex: 0 0 1140px !important;
	width: 1140px !important;
	max-width: 1140px !important;
}

.layout-side-col {
	flex: 1 1 auto !important;
	min-width: 20px !important;
	align-self: stretch;
	min-height: 1px;
}

@media (max-width: 1140px) {
	.layout-outer {
		flex-direction: row !important;
		align-items: stretch !important;
		flex-wrap: nowrap !important;
	}

	.layout-main-col {
		flex: 1 1 auto !important;
		width: auto !important;
		max-width: 100% !important;
	}

	.layout-side-col {
		flex: 0 0 20px !important;
		width: 20px !important;
		align-self: stretch;
	}
}

/* Non-ACF page content fallback (pages without an Elementor layout) */
.page-content:not(:has(.elementor)) > :not([class*="section-element"]) {
	max-width: var(--wp--style--global--content-size);
	margin-left: auto;
	margin-right: auto;
	padding-left: 1.5rem;
	padding-right: 1.5rem;
	box-sizing: border-box;
}

.page-content:not(:has(.elementor)) > :not([class*="section-element"]).alignwide {
	max-width: var(--wp--style--global--wide-size);
}

.page-content:not(:has(.elementor)) > :not([class*="section-element"]).alignfull {
	max-width: 100%;
	padding-left: 0;
	padding-right: 0;
}

@media screen and (max-width: 575px) {
	.page-header .entry-title,
	.site-footer .footer-inner,
	.site-footer:not(.dynamic-footer),
	.site-header .header-inner,
	.site-header:not(.dynamic-header),
	body:not([class*=elementor-page-]) .site-main {
		padding-inline-end: 0px;
		padding-inline-start: 0px;
	}
}


/* ================================================
   BACKGROUNDS & DECORATIVE
   ================================================ */

.stripe-bg {
	background-image: url('/wp-content/uploads/2026/09/stripe-tile-1.svg');
	background-repeat: repeat;
	background-size: 32px 32px;
}

.stripe-bg-logo-teal {
	background-image: url('/wp-content/uploads/2026/02/stripe-tile-logo-teal.svg');
	background-repeat: repeat;
	background-size: 32px 32px;
}

.st-resource-card, .st-industry-cards__item, .st-full-width-cta>.container-wide,
.st-featured-resources__card, .st-featured-listing-hero__card { border-radius: 0!important; }

.elementor-widget-image a img[src$=".svg"] { width: auto; }

.st-associations-logos__gallery picture img {
	width: 100%;
	height: 100%;
	object-fit: contain;
	display: block;
}

.st-associations-logos__gallery picture { display: contents; }


/* ================================================
   MEGA MENU
   ================================================
   NOTE: previously there were two separate z-index rules for
   .mega-menu-wrapper (9999 unqualified, then 10000 !important
   further down the file). The !important always won, so the
   9999 declaration was dead code — consolidated into one rule
   below. No visual change.

   Tab panels now crossfade instead of hard-swapping with
   display:none/flex, and stay stacked on a CSS grid so the
   wrapper height locks to the tallest panel instead of jumping
   as you hover between tabs. Pair this with the following on
   the panel wrapper's own Custom CSS (Elementor element ID
   dcb78fe):

     .elementor-kit-56 { display: grid; }
   ================================================ */

body:not(.elementor-editor-active) .mega-tab-trigger {
	opacity: 0.5;
	transition: opacity 0.2s ease;
}

body:not(.elementor-editor-active) .mega-tab-trigger.active {
	opacity: 1;
	background: #E2EFF5;
}

/* Hide by default; JS toggles .open on hover */
body:not(.elementor-editor-active) .mega-menu-wrapper {
	display: none;
	position: fixed;
	left: 0;
	right: 0;
	width: 1140px;
	max-width: 100%;
	margin: 0 auto;
	z-index: 10000 !important;
	background: #fff;
	box-shadow: 0 10px 30px rgba(0,0,0,0.1);
}

body:not(.elementor-editor-active) .mega-menu-wrapper.open {
	display: block;
}

.mega-menu-wrapper .elementor-icon-list-items,
.mega-menu-wrapper .elementor-icon-list-item { list-style: none; margin: 0; }


/* ================================================
   TIMED TAB CAROUSEL
   ================================================ */

@media screen and (min-width: 1024px) {
	#timed-tab-carousel.gradient-progress-bar #tab-autoplay-bar {
		background: linear-gradient(
			to right,
			hsl(199, 46%, 50%),
			hsl(199, 100%, 81%),
			hsl(94, 67%, 70%),
			hsl(21, 100%, 55%)
		);
	}

	#timed-tab-carousel .e-n-tabs-content {
		display: grid;
	}

	#timed-tab-carousel .e-n-tabs-content > .e-con {
		grid-area: 1 / 1;
		visibility: hidden !important;
		display: flex !important;
		pointer-events: none;
		opacity: 0;
	}

	#timed-tab-carousel .e-n-tabs-content > .e-con.e-active {
		visibility: visible !important;
		opacity: 1;
		pointer-events: all;
	}
}


/* ================================================
   FEATURE / CONTENT TABS
   ================================================ */

.st-content-tabs__tab button span,
.st-feature-tabs-with-cards__tab button span { white-space: normal!important; }

.st-features-listing_dark-blue .st-features-listing-small-list__tab-button.active .h4 {
	text-underline-offset: 0px!important;
}

.st-features-listing-small-list__tab-button.active .h4 { text-decoration: none!important; }


/* ================================================
   AJAX SEARCH PRO — SETTINGS PANEL
   ================================================ */

/* --- Select Inputs --- */
#ajaxsearchprobsettings1_1.asp_w.asp_s select,
#ajaxsearchprobsettings1_1.asp_w.asp_sb select {
	height: 50px !important;
	padding: 12px !important;
	background: #ffff !important;
	border: 1px solid rgba(40, 99, 130, 0.25) !important;
	font-family: "Causten" !important;
	font-size: 18px !important;
	line-height: 16px !important;
}

/* --- Select Padding Reset --- */
div.ajaxsearchpro.searchsettings fieldset .asp_select_single,
div.ajaxsearchpro.searchsettings fieldset .asp_select_multiple {
	padding: 0 !important;
}

/* --- Fieldset Legend --- */
div.asp_w.asp_sb.searchsettings fieldset legend {
	padding: 0 !important;
	font-family: "Commuters Sans" !important;
	font-size: 12px !important;
	text-transform: uppercase !important;
}

/* --- Search Label (Pseudo Before) --- */
.asp_w_container_1_1:before {
	content: 'Search' !important;
	display: block !important;
	padding: 0 !important;
	margin-bottom: 8px !important;
	font-family: "Commuters Sans" !important;
	font-size: 12px !important;
	text-transform: uppercase !important;
}

/* --- Filter Taxonomy Margin Reset --- */
fieldset.asp_filter_tax.asp_filter_tax_category.asp_dropdown_filter_box.asp_filter_id_1.asp_filter_n_0 {
	margin-top: 0 !important;
}

/* --- Select Label – Custom Dropdown Arrow --- */
.asp_select_label { position: relative !important; }

.asp_select_label select {
	appearance: none !important;
	-webkit-appearance: none !important;
	padding-right: 32px !important; /* make room for the arrow */
}

.asp_select_label::after {
	content: "▾" !important;
	position: absolute !important;
	right: 12px !important;
	top: 50% !important;
	transform: translateY(-50%) !important;
	pointer-events: none !important;
	font-size: 14px !important;
	color: #333 !important;
}


/* ================================================
   GREENHOUSE JOBS LISTING
   ================================================ */

.greenhouse-jobs__department {
	display: block;
	font-size: 0.85rem;
	text-transform: uppercase;
	letter-spacing: 0.05em;
	margin-bottom: 0.25rem;
}

.greenhouse-jobs__title { margin: 0; }

.greenhouse-jobs__item {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 1.5rem;
	background: white;
	padding: 20px;
	margin-bottom: 20px;
	border: 1px solid #ebebeb;
}

.greenhouse-jobs__meta {
	flex: 1 1 auto;
	min-width: 0;
}

.greenhouse-jobs__item a.elementor-button {
	flex: 0 0 auto;
	white-space: nowrap;
}


/* ================================================
   TABLES
   ================================================ */

.st-table-wrap {
	overflow-x: auto;
	-webkit-overflow-scrolling: touch;
}

.st-table {
	width: 100%;
	border-collapse: collapse;
	font-size: 0.9em;
}

.st-table th,
.st-table td {
	padding: 0.6em 1em;
	text-align: left;
	vertical-align: top;
	border-bottom: 1px solid #e0e0e0;
}

.st-table thead th {
	font-weight: 600;
	border-bottom: 2px solid #ccc;
}

.st-table tbody tr:nth-child(even) { background-color: #f9f9f9; }


/* ================================================
   MISC / LEGACY PAGE FIXES
   ================================================ */

/* js-copy-link button */
.js-copy-link { display: none!important; }

@media screen and (min-width: 768px) {
	.st-blog-hero__bot { justify-content: center!important; }
}

@media (min-width: 1024px) {
	body:not(.elementor-editor-active) .st-scroll-story {
		visibility: hidden;
	}
}

button.st-hero__back.js-back { display: none; }


.st-form-hero_theme-deep-blue a { color: #fff; }

input.gform_next_button, input.gform_previous_button { box-shadow: none!important; }

body:not(.elementor-editor-active) .mega-tab-panel {
  display: flex;
  opacity: 0;
  pointer-events: none;
  transition: opacity 0.15s ease;
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  box-sizing: border-box;
  padding: 2.5%;
}

body:not(.elementor-editor-active) .mega-tab-panel.active {
  opacity: 1;
  pointer-events: auto;
  z-index: 1;
  position: absolute;
}

body:not(.elementor-editor-active) .mega-tab-panels-wrapper {
  position: relative;
  padding: 0;
}

body:not(.elementor-editor-active) .elementor-element-8cc69ce.mega-tab-panels-wrapper {
  min-height: calc(127px + 5%);
}

body:not(.elementor-editor-active) .elementor-element-930f166.mega-tab-panels-wrapper {
  min-height: calc(131px + 5%);
}

.mega-tab-trigger .elementor-heading-title {
  text-transform: none!important;
}

.st-badge-wrap {
  position: relative !important;
  display: inline-flex !important;
  flex-direction: row !important;
  align-items: center !important;
  align-self: flex-start !important;
  width: auto !important;
  max-width: 100% !important;
  min-width: 0 !important;
  --width: auto !important;
  padding: 0 !important;
  --padding-top: 0px !important;
  --padding-bottom: 0px !important;
  --padding-left: 0px !important;
  --padding-right: 0px !important;
}

.st-badge-glow {
  position: absolute !important;
  top: -6px !important;
  right: -6px !important;
  bottom: -6px !important;
  left: -6px !important;
  background: conic-gradient(from 45deg at 50% 50%, #FF5A00 0deg, #0081BA 72deg, #00AEFF 144deg, #FFF 216deg, #64E500 288deg, #FF5A00 360deg) !important;
  filter: blur(10px) !important;
  opacity: 0.65 !important;
  z-index: 1 !important;
  min-height: 0 !important;
  padding: 0 !important;
  --padding-top: 0px !important;
  --padding-bottom: 0px !important;
  --padding-left: 0px !important;
  --padding-right: 0px !important;
}

.st-badge-border {
  position: absolute !important;
  top: 0 !important;
  right: 0 !important;
  bottom: 0 !important;
  left: 0 !important;
  background: linear-gradient(85deg, #FF6918 6.21%, #4797BA 23.72%, #9FE0FF 41.24%, #ACE57F 76.28%, #FF6918 93.79%) !important;
  z-index: 2 !important;
  min-height: 0 !important;
  padding: 0 !important;
  --padding-top: 0px !important;
  --padding-bottom: 0px !important;
  --padding-left: 0px !important;
  --padding-right: 0px !important;
}

.st-badge-bg {
  position: absolute !important;
  top: 2px !important;
  right: 2px !important;
  bottom: 2px !important;
  left: 2px !important;
  background: #061E2D !important;
  z-index: 3 !important;
  min-height: 0 !important;
  padding: 0 !important;
  --padding-top: 0px !important;
  --padding-bottom: 0px !important;
  --padding-left: 0px !important;
  --padding-right: 0px !important;
}

.st-badge-text {
  position: relative !important;
  font-family: "Commuters Sans";
  font-weight: 600;
  z-index: 4 !important;
  padding: 8px 16px !important;
  color: #fff !important;
  font-size: 12px !important;
  letter-spacing: 3px !important;
  text-transform: uppercase !important;
  white-space: normal !important;
  overflow-wrap: break-word !important;
  text-align: center !important;
  line-height: 1.7 !important;
  cursor: text !important;
}

/* Star ratings — fractional fill driven by --rating (0–5) set inline per instance */
.ct-stars {
  position: relative;
  display: inline-block;
  font-size: 20px;
  line-height: 1;
  letter-spacing: 2px;
  vertical-align: middle;
}
.ct-stars-bg { color: var(--ct-border); }          /* empty-star gray */
.ct-stars-fill {
  position: absolute;
  top: 0;
  left: 0;
  white-space: nowrap;
  overflow: hidden;
  color: var(--ct-brand);                          /* filled-star rust */
  width: calc(var(--rating) / 5 * 100%);
}

/* Rating text under stars */
.ct-rating-text {
  display: block;
  margin-top: 6px;
  font-weight: 600;
  font-size: 15px;
  color: var(--ct-navy);
}
.ct-rating-count {
  font-weight: 400;
  font-size: 13px;
  color: #5a7280;
}

/* Footnote under table */
.ct-footnote {
  margin: 10px 0 0;
  font-family: "Causten", sans-serif;
  font-size: 13px;
  color: var(--ct-navy);
}

/* Inline SVG logo (horizontal lockup) — the original .ct-logo img rule only covers <img> */
.ct-logo svg {
  display: block;
  height: 22px;
  width: auto;
  max-width: 100%;
}

/* Add inside the existing @media (max-width: 640px) block */
.ct-stars { font-size: 16px; letter-spacing: 1px; }
.ct-rating-text { font-size: 13px; }
.ct-rating-count { font-size: 11px; }
.ct-logo svg { height: 15px; }

/* Mobile: shrink first so most badges stay on one line;
   wrapping above is the fallback if they still don't fit */
@media (max-width: 767px) {
  .st-badge-text {
    font-size: 10px !important;
    letter-spacing: 2px !important;
    padding: 7px 12px !important;
  }
}

/* ===================== Scoped styles — namespaced with .ct- to avoid theme collisions ===================== */
/* Causten is loaded by the WP site — no @font-face needed here. */
.ct-wrap {
  width: 100%;
  max-width: 1100px;
  margin: 0 auto;
  font-family: "Causten", sans-serif;
  --ct-border: #C2D4DB;         /* light blue-gray gridlines */
  --ct-navy: #072131;           /* primary text + Features/competitor header fill */
  --ct-brand: #CD4A23;          /* orange/rust brand accent */
  --ct-brand-text: #ffffff;
  --ct-yes: #1f8a5f;
  --ct-no: #b5423d;
  box-sizing: border-box;
}

.ct-wrap * { box-sizing: border-box; }

.ct-table-container {
  overflow-x: auto;
}

.ct-table {
  width: 100%;
  table-layout: fixed;
  border-collapse: collapse;
  background: #FFFFFF;
}

.ct-th {
  padding: 16px 12px;
  text-align: center;
  vertical-align: middle;
  background: var(--ct-navy);
  color: #ffffff;
  font-family: "D-Din Exp", "D-DIN Exp", "D-DIN", sans-serif;
  font-weight: 700;
  font-size: 19px;
  letter-spacing: 0.03em;
  text-transform: uppercase;
  border: 1px solid var(--ct-border);
}

.ct-th-features { width: 30%; }

.ct-th-brand {
  width: 25%;
  background: var(--ct-brand);
  color: var(--ct-brand-text);
}

.ct-th-competitor { width: 25%; }

.ct-th-brand .ct-logo {
  display: block;
  text-align: center;
}

.ct-th-brand .ct-logo svg {
  display: block;
  margin: 0 auto;
}

.ct-th-brand .ct-logo img {
  margin-left: auto;
  margin-right: auto;
}

.ct-logo img {
  max-height: 30px;
  max-width: 150px;
  vertical-align: middle;
  /* swap the logo to white so it reads on the rust fill — remove this filter if your SVG is already white/light */
  filter: brightness(0) invert(1);
}
.ct-logo-desktop { display: inline-block; }
.ct-logo-mobile  { display: none; }

.ct-feature,
.ct-cell {
  padding: 16px 12px;
  border: 1px solid var(--ct-border);
  background: #FFFFFF;
  vertical-align: middle;
  font-family: "Causten", sans-serif;
  font-size: 15px;
  line-height: 1.5;
  color: var(--ct-navy);
}

.ct-feature { text-align: center; }
.ct-cell { text-align: center; }

.ct-feature b { color: var(--ct-navy); }

.ct-icon {
  display: inline-block;
  width: 22px;
  height: 22px;
  border-radius: 50%;
  position: relative;
}

.ct-icon--yes {
  background: color-mix(in srgb, var(--ct-yes) 14%, transparent);
}
.ct-icon--yes::after {
  content: "";
  position: absolute;
  left: 6px;
  top: 3px;
  width: 8px;
  height: 12px;
  border: solid var(--ct-yes);
  border-width: 0 2.5px 2.5px 0;
  transform: rotate(45deg);
}

.ct-icon--no {
  background: color-mix(in srgb, var(--ct-no) 12%, transparent);
}
.ct-icon--no::before,
.ct-icon--no::after {
  content: "";
  position: absolute;
  left: 10px;
  top: 4px;
  width: 2.5px;
  height: 14px;
  background: var(--ct-no);
}
.ct-icon--no::before { transform: rotate(45deg); }
.ct-icon--no::after { transform: rotate(-45deg); }

.ct-text-partial {
  font-size: 14px;
  font-weight: 600;
  color: var(--ct-brand);
}

@media (max-width: 1024px) {
  .ct-logo-desktop { display: none; }
  .ct-logo-mobile  { display: inline-block; max-height: 22px; max-width: 90px; }
  .ct-th {
    padding: 12px 6px;
    font-size: 14px;
    letter-spacing: 0.01em;
  }
  .ct-feature, .ct-cell {
    padding: 12px 8px;
    font-size: 13px;
  }
   .ct-icon { width: 18px; height: 18px; }
  .ct-icon--yes::after { left: 5px; top: 2px; width: 6px; height: 10px; }
  .ct-icon--no::before, .ct-icon--no::after { left: 8px; top: 3px; height: 11px; }
}

/* ===================== Hover protection — table is purely presentational =====================
   pointer-events: none means the browser never puts these elements in a :hover
   state, so theme/Elementor hover styles can never apply. Tradeoff: text in the
   table can't be selected/copied by visitors. */
.ct-wrap .ct-table,
.ct-wrap .ct-table * {
  pointer-events: none;
}


/* Icon Mega Menu CSS WP Rocket Fix */

.mega-menu-wrapper .elementor-icon-list-icon svg.e-font-icon-svg {
    width: 14px;
    height: 14px;
}


/* ===== Termageddon accordion — match ServiceTrade scheduling FAQ ===== */
.policy_embed_div {padding:4rem 1rem;}

.policy_embed_div details.accordion {
  border-bottom: 1px solid rgba(40, 99, 130, 0.2) !important;
  background: transparent; margin: 0;
}
.policy_embed_div details.accordion > summary.accordion-summary {
  display: flex !important; align-items: center; justify-content: space-between;
  gap: 10px; padding: 30px 20px !important; cursor: pointer; list-style: none;
}
.policy_embed_div details.accordion > summary.accordion-summary::-webkit-details-marker { display: none; }
.policy_embed_div details.accordion > summary.accordion-summary::marker { content: ""; }
.policy_embed_div details.accordion > summary .accordion-heading {
  margin: 0 !important;
  font-family: "D-Din Exp", sans-serif !important;
  font-size: 19.2px !important; font-weight: 700 !important;
  line-height: 1.15 !important; color: #1F2124 !important;
}
.policy_embed_div details.accordion > summary.accordion-summary::after {
  content: "" !important; flex: 0 0 auto; width: 30px; height: 30px;
  background-color: #E2EFF5; background-repeat: no-repeat; background-position: center;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='30' height='30' viewBox='0 0 30 30' fill='none'%3E%3Cpath d='M10.6134 15.6648C10.3711 15.9071 10.3711 16.3 10.6134 16.5423L14.562 20.4909C14.8044 20.7333 15.1972 20.7333 15.4395 20.4909L19.3881 16.5423C19.6305 16.3 19.6305 15.9071 19.3881 15.6648C19.1458 15.4225 18.753 15.4225 18.5107 15.6648L15.6209 18.5546L15.6209 9.94755C15.6209 9.60484 15.3435 9.32739 15.0008 9.32739C14.6581 9.32739 14.3806 9.60484 14.3806 9.94755L14.3806 18.5546L11.4909 15.6648C11.2485 15.4225 10.8557 15.4225 10.6134 15.6648Z' fill='%23072131'/%3E%3C/svg%3E") !important;
}
.policy_embed_div details.accordion[open] > summary.accordion-summary::after {
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='30' height='30' viewBox='0 0 30 30' fill='none'%3E%3Cpath d='M10.6134 14.3352C10.3711 14.0929 10.3711 13.7 10.6134 13.4577L14.562 9.50908C14.8044 9.26675 15.1972 9.26675 15.4395 9.50908L19.3881 13.4577C19.6305 13.7 19.6305 14.0929 19.3881 14.3352C19.1458 14.5775 18.753 14.5775 18.5107 14.3352L15.6209 11.4454L15.6209 20.0525C15.6209 20.3952 15.3435 20.6726 15.0008 20.6726C14.6581 20.6726 14.3806 20.3952 14.3806 20.0525L14.3806 11.4454L11.4909 14.3352C11.2485 14.5775 10.8557 14.5775 10.6134 14.3352Z' fill='%23072131'/%3E%3C/svg%3E") !important;
}
.policy_embed_div details.accordion > .accordion-content { padding: 0 20px 20px !important; }
.policy_embed_div .accordion-section-heading {
  margin: 0 0 4px !important; font-family: "Causten", sans-serif !important;
  font-size: 16px !important; font-weight: 700 !important; color: #072131 !important;
}
.policy_embed_div .accordion-section-content,
.policy_embed_div .accordion-content {
  font-family: "Causten", sans-serif !important; font-size: 16px !important;
  font-weight: 400 !important; line-height: 1.4 !important; color: #072131 !important;
}
.policy_embed_div .accordion-section { margin-bottom: 16px !important; }

.wp-has-aspect-ratio .wp-block-embed__wrapper > .fluid-width-video-wrapper {
  position: absolute; inset: 0; padding-top: 0 !important;
}
.wp-has-aspect-ratio .wp-block-embed__wrapper > .fluid-width-video-wrapper iframe {
  position: absolute; inset: 0; width: 100%; height: 100%;
}/* End custom CSS */
/* Start Custom Fonts CSS */@font-face {
	font-family: 'Causten';
	font-style: normal;
	font-weight: normal;
	font-display: auto;
	src: url('https://tradeconnect.servicetrade.com/wp-content/uploads/2026/09/Causten-Regular-1.woff2') format('woff2');
}
@font-face {
	font-family: 'Causten';
	font-style: normal;
	font-weight: 700;
	font-display: auto;
	src: url('https://tradeconnect.servicetrade.com/wp-content/uploads/2026/09/Causten-ExtraBold.woff2') format('woff2');
}
@font-face {
	font-family: 'Causten';
	font-style: normal;
	font-weight: 900;
	font-display: auto;
	src: url('https://tradeconnect.servicetrade.com/wp-content/uploads/2026/09/Causten-Black.woff2') format('woff2');
}
/* End Custom Fonts CSS */