@font-face {
  font-family: "ITC Cheltenham Std Light Condensed";
  font-style: normal;
  font-weight: normal;
  src: local("ITC Cheltenham Std Light Condensed"), url("../fonts/CheltenhamStdLightCond.woff") format("woff");
}
@font-face {
  font-family: "ITC Cheltenham Std Light Condensed Italic";
  font-style: normal;
  font-weight: normal;
  src: local("ITC Cheltenham Std Light Condensed Italic"), url("../fonts/CheltenhamStdLightCondIt.woff") format("woff");
}

:root{
  --font-primary: "Open Sans", sans-serif;
  --font-secondary: "ITC Cheltenham Std Light Condensed", serif;
  --color-primary: #162d57;
  --color-secondary: #1268b2;
  --color-tertiary: #000000;
  --color-white: #ffffff;
  --color-gray: #333333;
  --color-mediumgray: #666666;
  --color-overlight: rgba(0,0,0,0.05);
  --color-overdark: rgba(0,0,0,0.75);
  --color-extra: #f5f5f5;
  --color-over: rgba(0,0,0,0.5);
  --color-overwhite: rgba(255,255,255,0.75);
  --color-overhover: rgba(22,45,87,0.9);
  --color-lightgray: #eeeeee;
  --color-dotgray: #cccccc;
  --hv-dot-size: 8px;
  --hv-dot-height: 12px;
  --hv-dot-width: 12px;
  --hv-dot-gap: 4px;
  --hv-dot-active-width: 20px;
  --hv-dot-active-height: 20px;
  --hv-ui-margin: 3em;
  --hv-ui-topmargin: 9em;
  --hv-ui-color: rgba(255,255,255,.92);
  --hv-ui-muted: rgba(255,255,255,.55);
  --hv-scrim: linear-gradient(180deg, rgba(0,0,0,0) 45%, rgba(0,0,0,.25) 100%);
  --hv-inset-bg: #102a4a;
  --color-primarysemi: rgba(22,45,87,0.75);
  --color-secondarysemi: rgba(18,104,178,0.9);
}

/* General */
body {
  font-size: 16px;
  font-weight: normal;
}
body p {
  font-size: 16px;
}
.entity-moderation-form {
	margin: 0;
}
.section-visible .hv-content-lg, .section-visible .hi-content-lg {
	animation-delay: 0.5s !important;
}

/* Headings */
h1,h2,h3,h4,h5,h6 {
  font-family: var(--font-secondary);
  font-weight: normal;
  line-height: 1;
}
h4,h5,h6 {
  font-family: var(--font-primary);
}

/* Header */
.header,.interior .header {
  position: fixed;
  top: 0;
  left: 0;
  z-index: 999;
  width: 100%;
  padding: 1em;
  background: var(--color-primary);
  -webkit-transition: all 0.2s;
  -moz-transition: all 0.2s;
  -o-transition: all 0.2s;
  transition: all 0.2s;
}
.is-scrolled .header,.is-scrolled.interior .header {
  padding: 0.75em 1em;
  background: var(--color-white);
}
.interior .nav-logo-light {
	display: block;
}
.interior .nav-logo-dark {
	display: none;
}
.is-scrolled.interior .nav-logo-light {
	display: none;
}
.is-scrolled.interior .nav-logo-dark  {
	display: block;
}
.nav-logo {
  max-width: 160px;
  text-align: center;
}
.nav-logo img {
  max-width: 85px;
  height: auto;
}
.nav-menu li {
  display: inline-block;
  font-size: 0.9em;
  font-weight: 500;
  color: var(--color-white);
  text-transform: unset;
  letter-spacing: 1px;
}
.nav-menu li a {
  position: relative;
  display: inline-block;
  border-bottom: 0 !important;
}
.nav-menu li a:hover {
  border-bottom: 0 !important!;
  opacity: 0.75;
}
.interior .header .nav-menu li,.interior .header .nav-menu li a {
  color: var(--color-white);
}
.is-scrolled.interior .header .nav-menu li,.is-scrolled.interior .header .nav-menu li a {
  color: var(--color-primary);
}
.nav-utility {
  display: flex;
  gap: 2em;
  list-style: none;
  padding: 0;
  margin: 0;
  justify-content: right;
}
.nav-utility a {
  position: relative;
  display: inline-block;
  font-size: 0.9em;
  font-weight: 500;
  color: var(--color-white);
  letter-spacing: 1px;
}
.nav-utility a:hover {
  opacity: 0.75;
}
.is-scrolled .nav-utility a {
  color: var(--color-primary);
}
.mega-opened .header {
  padding: 0;
}
.mega-container {
  padding: 0;
  gap: 0;
}
.mega-opened .mega-container {
  -webkit-box-shadow: 0px 100px 100px rgba(0,0,0,0.5);
  -moz-box-shadow: 0px 100px 100px rgba(0,0,0,0.5);
  box-shadow: 0px 100px 100px rgba(0,0,0,0.5);
}
.mega-sidebar {
  border: 0 !important;
  background: var(--color-extra);
  min-width: 20%;
  max-width: 20%;
}
.mega-sidebar,.mega-options {
  padding: 3em;
}
.mega-opened .nav-menu a.nm-active {
  border: unset;
}
.mega-opened .mega-close {
	position: absolute !important;
	top: 2em;
	right: 2em;
	display: inline-block !important;
	width: 30px !important;
	height: 30px !important;
	background: transparent url('../images/close-icon-primary.png') top left no-repeat !important;
	background-size: 100% auto !important;
	text-indent: 9999px !important;
}
.mega-image-cards .mega-close {
	top: 1.15em;
	right: 1.15em;
}
.ms-header {
  font-family: var(--font-secondary);
  font-weight: normal;
  font-size: 36px;
  text-transform: none;
  letter-spacing: 0;
  margin: 0 0 1em;
}
.ms-group {
  margin: 0 0 2em;
}
.ms-subhead {
  display: block;
  font-family: var(--font-primary);
  font-size: 1em;
  color: var(--color-primary);
  text-transform: unset;
  font-weight: bold;
  letter-spacing: 0;
  margin: 0 0 0.25em;
}
.ms-link {
  font-size: 1em;
  padding: 0;
}
.ms-link:hover,.ms-link.ms-selected {
  color: var(--color-secondary);
}
/* Mega-menu filter groups (Propulsion / Lifestyle / Size). */
.mega-sidebar .ms-group .ms-header {
	font-size: 22px;
	margin: 0 0 0.5em;
}
.msf-link {
  display: block;
  font-size: 1em;
  padding: 0;
  cursor: pointer;
}
.msf-link:hover,.msf-link.msf-selected {
	color: var(--color-secondary);
	font-weight: bold;
}
/* Mobile mega filter bars (reuse .mobile-mega-categories flex container). */
.mobile-mega-filter-label {
  font-family: var(--font-primary);
  font-weight: bold;
  color: var(--color-primary);
  margin: 0 0 0.4em;
}
.mobile-mega-filter-btn {
  background: none;
  border: 1px solid var(--color-lightgray);
  color: var(--color-gray);
  padding: 0.4em 1em;
  white-space: nowrap;
  cursor: pointer;
  font-size: 0.9em;
  border-radius: 2px;
}
.mobile-mega-filter-btn.active {
  border-color: var(--color-primary);
  color: var(--color-primary);
  font-weight: bold;
}
.mega-options .mo-option img {
  border: 1px solid var(--color-dotgray);
  -webkit-transition: all 0.2s;
  -moz-transition: all 0.2s;
  -o-transition: all 0.2s;
  transition: all 0.2s;
}
.mega-options .mo-option:hover img {
  border: 1px solid var(--color-secondary);
  -webkit-transition: all 0.2s;
  -moz-transition: all 0.2s;
  -o-transition: all 0.2s;
  transition: all 0.2s;
}
.mo-option-details {
  display: flex;
  width: 100%;
}
.mo-option-name {
  font-size: 1em;
  text-align: left;
  min-width: 50%;
}
.mo-option-category {
  font-size: 1em;
  text-align: right;
  min-width: 50%;
}
.search-trigger-lg {
  top: 0;
  width: 21px;
  height: 21px;
}
.interior .search-trigger-lg {
	background: transparent url('../images/search-icon.png') top left no-repeat !important;
    background-size: 100% auto !important;
}
.is-scrolled .search-trigger-lg {
	background: transparent url('../images/search-icon-primary.png') top left no-repeat !important;
    background-size: 100% auto !important;
}
.search {
  margin-top: 0.5em;
  background: var(--color-secondary);
}
.search-container .search-btn {
  padding: 0.75em 1em;
  font-size: 0.85em;
  text-transform: unset;
  letter-spacing: 1px;
}
.mega-image-cards .mega-cards-container {
	display: flex;
	gap: 2em;
	flex-wrap: wrap;
	padding: 3em;
}
.interior .mega-image-cards .mega-cards-container {
	background: var(--color-white) !important;
}
.mega-image-cards .mega-cards-container .mega-card {
	flex: 1;
	max-width: 31%;
}
.mm-mega-cat-btn {
	font-family: var(--font-primary) !important;
}
@media (max-width: 767px){
  	.mm-opened .header {
    background: var(--color-lightgray) !important;
  }
  	.mm-list > li > a,.mm-list > li > span,.mm-list a.mm-subopen + a,.mm-list a.mm-subopen + span {
    font-family: var(--font-secondary);
    font-weight: normal;
    font-size: 24px !important;
    text-transform: none;
  }
  	.menu-trigger {
  	top: 0.5em;
  	left: 0;
  }
  	.search-trigger {
  	top: 0.5em;
  	right: 0;
  }
  	.mm-panel .mm-mega-product .mo-option-name,.mm-panel .mm-mega-product .mo-option-category {
		font-family: var(--font-primary) !important;
		text-align: center !important;
	}
	.mm-panel .mm-mega-product .mo-option-name {
		font-size: 0.8em !important;
		margin-bottom: 0.2em;
	}
	.mm-panel .mm-mega-product .mo-option-category {
		font-size: 0.7em !important;
	}
	.mm-opened .menu-trigger,.mm-opened .search-trigger {
		top: 5px;
	}
	.mm-list a.mm-subclose {
		padding-top: 18px;
	}
}
@media (min-width: 768px){
  .header {
    padding: 1em;
  }
  .nav-logo img {
    max-width: 120px;
  }
  .nav-menu li a {
    background: transparent;
    padding: 0.75em;
    -webkit-border-radius: 3px;
    -moz-border-radius: 3px;
    border-radius: 3px;
  }
  .nav-menu li a:hover {
  	border: 0 !important;
  }
  .nav-menu li a.nm-active {
    background: var(--color-overlight);
  }
	.mega-opened .nav-logo-light {
		display: none !important;
	}
	.mega-opened .nav-logo-dark {
		display: block !important;
	}
  .mega-opened .nav {
    	background: var(--color-lightgray) !important;
    padding: 1em;
  }
	.mega-opened .nav-menu li a {
		color: var(--color-primary) !important;
	}
  .mega-opened .nav-menu li a.nm-active {
    background: var(--color-overlight);
		color: var(--color-primary) !important;
  }
  .mega-opened .mega-sidebar {
  	position: fixed;
  }
  .mega-opened .mega-products .mega-container {
	background: var(--color-extra);
  }
  .mega-opened .mega-products .mega-options {
	background: var(--color-white);
	margin-left: 20%;
  }
  	.mega-image-cards .mega-cards-container {
  		justify-content: center;
	}
	.mega-image-cards .mega-cards-container .mega-card {
		min-width: 31%;
	}
}
@media (min-width: 1600px){
	.mo-option {
		min-width: 29%;
        max-width: 30%;
	}
}

/* Footer */
.footer {
  background: var(--color-primary) url('../images/Cobalt-logo-background.png') top right no-repeat;
  background-size: 50% auto;
  color: var(--color-white);
  border-top: 5px solid var(--color-white);
}
.footer .footer-header {
  font-family: var(--font-secondary);
  font-size: 1.4em;
  font-weight: normal;
  text-transform: unset;
  letter-spacing: unset;
}
.footer-company img {
  max-width: 160px;
}
.footer .footer-header,.footer .footer-header a,.footer .footer-col,.footer .footer-col li,.footer .footer-col li a {
  color: var(--color-white);
}
.footer-col > ul > li > a {
	text-transform: unset !important;
	text-transform: unset !important;
	letter-spacing: 0 !important;
}
.footer .footer-col li a:hover {
  color: var(--color-white);
  opacity: 0.75;
}
.footer-links,.footer-links a {
  color: var(--color-white);
}
.footer-links a:hover {
  color: var(--color-white);
  opacity: 0.75;
}
.footer-btns .btn.btn-full.btn-white:hover {
	color: var(--color-white) !important;
    border: 1px solid var(--color-secondary) !important;
    background: var(--color-secondary) !important;
}
@media (min-width: 768px){
  .footer-company img {
    max-width: 240px;
  }
}

/* Buttons */
.btn {
	padding: 0.75em 1em;
	font-size: 0.85em;
	text-transform: unset;
	letter-spacing: 1px;
}
.btn-ghost {
  border: 1px solid var(--color-secondary);
  background: transparent;
  color: var(--color-secondary);
}
.btn-ghost:hover {
  border: 1px solid var(--color-secondary);
  background: var(--color-secondary);
}
.btn-ghost.btn-white:hover {
  color: var(--color-secondary);
}
.btn-full {
  border: 1px solid var(--color-secondary);
  background: var(--color-secondary);
}
.btn-full:hover {
  border: 1px solid var(--color-primary);
  background: var(--color-primary);
}

/* Hero Carousel */
.hv-content {
  background: var(--color-overwhite);
  padding: 2em;
  max-width: 90%;
}
.hv-content-lg,.hv-content-lg h2 {
  font-size: 2rem;
}
.hv-content-lg,.hv-content-lg a {
  font-family: var(--font-secondary);
  color: var(--color-primary);
  margin: 0;
}
.hv-content-p {
  color: var(--color-gray);
}
.hv-content-p p {
  margin: 0 0 1em;
}
.hv-content--dark {
  background: var(--color-overdark);
}
.hv-content--dark .hv-content-lg,.hv-content--dark .hv-content-lg a {
  color: var(--color-white);
}
.hv-content--dark .hv-content-p,.hv-content--dark .hv-content-p a {
  color: var(--color-white);
}
.hv-content--dark .btn-ghost {
  border: 1px solid var(--color-white);
  background: transparent;
  color: var(--color-white);
}
.hv-content--dark .btn-ghost:hover {
  border: 1px solid var(--color-secondary);
  background: var(--color-secondary);
  color: var(--color-white);
}
.hv-content--transparent {
  background: transparent;
  padding: 0;
}
.hv-content--transparent .hv-content-lg,
.hv-content--transparent .hv-content-lg a {
  color: var(--color-white);
}
.hv-content--transparent .hv-content-p,
.hv-content--transparent .hv-content-p a {
  color: var(--color-white);
}
.hv-content--transparent .btn-ghost {
  border: 1px solid var(--color-white);
  background: transparent;
  color: var(--color-white);
}
.hv-content--transparent .btn-ghost:hover {
  border: 1px solid var(--color-secondary);
  background: var(--color-secondary);
  color: var(--color-white);
}
.hv-content--top-left{
  left: var(--hv-ui-margin);
  top: var(--hv-ui-topmargin);
  text-align: left;
}
.hv-content--top-center{
  top: var(--hv-ui-topmargin);
}
.hv-dots{
  gap: 0.75em;
}
.hv-dot{
  width: var(--hv-dot-width);
  height: var(--hv-dot-height);
  border: 5px solid transparent;
  border-radius: 9999px;
  background: var(--color-white);
}
.hv-dot.is-active {
  width: var(--hv-dot-active-width);
  height: var(--hv-dot-active-height);
  border: 5px solid var(--color-secondary);
  border-radius: 9999px;
  margin-left: -5px;
}
.hv-dot.is-active::before {
  background: transparent;
}
.sv-hero .hv-content-btns .btn.btn-full.btn-white {
	color: var(--color-secondary) !important;
    border: 1px solid var(--color-secondary) !important;
    background: transparent !important;
}
.sv-hero .hv-content-btns .btn.btn-full.btn-white:hover {
	color: var(--color-white) !important;
    border: 1px solid var(--color-secondary) !important;
    background: var(--color-secondary) !important;
}
.sv-hero .hv-content-btns .btn.btn-full.btn-white:last-child {
	color: var(--color-white) !important;
    border: 1px solid var(--color-secondary) !important;
    background: var(--color-secondary) !important;
}
.sv-hero .hv-content-btns .btn.btn-full.btn-white:last-child:hover {
	color: var(--color-white) !important;
    border: 1px solid var(--color-primary) !important;
    background: var(--color-primary) !important;
}
@media (max-width: 767px){
  .hv-video-toggle {
    top: 6em;
    bottom: unset;
    right: 1em;
  }
  .hv-content--top-left,.hv-content--bottom-left {
    left: 2em;
  }
  .hv-content--top-left {
    top: unset;
    bottom: 2em;
  }
  .hv-content--bottom-left {
    bottom: 2em;
  }
  .hv-content--top-center {
    top: unset;
    bottom: 2em;
  }
  .hv-content--bottom-center {
    bottom: 2em;
  }
  .hv-content-mobile-center-center {
  	transform: translate(-50%, -50%) !important;
  }
  .hv-content-mobile-bottom-left,.hv-content-mobile-bottom-center {
  	bottom: 2em !important;
  }
  .hv-content-mobile-top-center,.hv-content-mobile-top-left {
  	top: 2em !important;
  	max-width: 88%;
  	padding: 2em;
  	left: 2em !important;
  }
  .hv-content-mobile-bottom-center  {
  	left: 2em !important;
  }
}
@media (min-width: 768px){
  .hv-content {
    max-width: 50%;
  }
  .hv-content-lg,.hv-content-lg h2 {
    font-size: 2.5rem;
  }
  .hv-content--top-left,.hv-content--bottom-left {
    left: 6em;
  }
}

/* Hero Component Animation */
.hi-content-lg {
  font-weight: 700;
}
h1.hv-content-lg,h1.hi-content-lg,.hi-content-lg {
  font-size: 2em !important;
  line-height: 1.1;
}
.hv-content-lg,.hi-content-lg {
  opacity: 0;
  transform: translateY(30px);
}
.section-visible .hv-content-lg,.section-visible .hi-content-lg {
  animation: slideFadeUp 1s cubic-bezier(0.25, 0.8, 0.25, 1) forwards;
  animation-delay: 1.5s;
}
@keyframes slideFadeUp {
  from {
    opacity: 0;
    transform: translateY(30px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}
@media (min-width: 768px){
  h1.hv-content-lg,h1.hi-content-lg,.hi-content-lg {
    font-size: 2.25em !important;
  }
}

/* Two Column Single Block Component */
.tcsb-copy {
  text-align: center;
}
.tcsb-copy ul,.tcsb-copy ol,.tcsb-copy ul li,.tcsb-copy ol li {
	text-align: left;
}
.tcsb-copy-secondary-hd {
	display: block;
	font-family: var(--font-secondary);
    font-size: 1.5em;
    color: var(--color-secondary) !important;
    margin: 0 0 1em;
}
.tcsb.bg-primary .tcsb-copy,.tcsb.bg-secondary .tcsb-copy,.tcsb.bg-tertiary .tcsb-copy,.tcsb.bg-gray .tcsb-copy,.tcsb.primary-gradient .tcsb-copy,.tcsb.secondary-gradient .tcsb-copy,.tcsb.gray-gradient .tcsb-copy {
	color: var(--color-white);
}
.tcsb.bg-primary .tcsb-copy a,.tcsb.bg-secondary .tcsb-copy a,.tcsb.bg-tertiary .tcsb-copy a,.tcsb.bg-gray .tcsb-copy a,.tcsb.primary-gradient .tcsb-copy a,.tcsb.secondary-gradient .tcsb-copy a,.tcsb.gray-gradient .tcsb-copy a {
	color: var(--color-white);
}
.tcsb.bg-primary .tcsb-copy a:hover,.tcsb.bg-secondary .tcsb-copy a:hover,.tcsb.bg-tertiary .tcsb-copy a:hover,.tcsb.bg-gray .tcsb-copy a:hover,.tcsb.primary-gradient .tcsb-copy a:hover,.tcsb.secondary-gradient .tcsb-copy a:hover,.tcsb.gray-gradient .tcsb-copy a:hover {
	color: var(--color-lightgray);
}
.tcsb.bg-primary .tcsb-copy h2,.tcsb.bg-secondary .tcsb-copy h2,.tcsb.bg-tertiary .tcsb-copy h2,.tcsb.bg-gray .tcsb-copy h2,.tcsb.primary-gradient .tcsb-copy h2,.tcsb.secondary-gradient .tcsb-copy h2,.tcsb.gray-gradient .tcsb-copy h2,
.tcsb.bg-primary .tcsb-copy h3,.tcsb.bg-secondary .tcsb-copy h3,.tcsb.bg-tertiary .tcsb-copy h3,.tcsb.bg-gray .tcsb-copy h3,.tcsb.primary-gradient .tcsb-copy h3,.tcsb.secondary-gradient .tcsb-copy h3,.tcsb.gray-gradient .tcsb-copy h3,
.tcsb.bg-primary .tcsb-copy h4,.tcsb.bg-secondary .tcsb-copy h4,.tcsb.bg-tertiary .tcsb-copy h4,.tcsb.bg-gray .tcsb-copy h4,.tcsb.primary-gradient .tcsb-copy h4,.tcsb.secondary-gradient .tcsb-copy h4,.tcsb.gray-gradient .tcsb-copy h4,
.tcsb.bg-primary .tcsb-copy h5,.tcsb.bg-secondary .tcsb-copy h5,.tcsb.bg-tertiary .tcsb-copy h5,.tcsb.bg-gray .tcsb-copy h5,.tcsb.primary-gradient .tcsb-copy h5,.tcsb.secondary-gradient .tcsb-copy h5,.tcsb.gray-gradient .tcsb-copy h5,
.tcsb.bg-primary .tcsb-copy h6,.tcsb.bg-secondary .tcsb-copy h6,.tcsb.bg-tertiary .tcsb-copy h6,.tcsb.bg-gray .tcsb-copy h6,.tcsb.primary-gradient .tcsb-copy h6,.tcsb.secondary-gradient .tcsb-copy h6,.tcsb.gray-gradient .tcsb-copy h6 {
	color: var(--color-white);
}
.tcsb.bg-primary .tcsb-copy h2 a,.tcsb.bg-secondary .tcsb-copy h2 a,.tcsb.bg-tertiary .tcsb-copy h2 a,.tcsb.bg-gray .tcsb-copy h2 a,.tcsb.primary-gradient .tcsb-copy h2 a,.tcsb.secondary-gradient .tcsb-copy h2 a,.tcsb.gray-gradient .tcsb-copy h2 a,
.tcsb.bg-primary .tcsb-copy h3 a,.tcsb.bg-secondary .tcsb-copy h3 a,.tcsb.bg-tertiary .tcsb-copy h3 a,.tcsb.bg-gray .tcsb-copy h3 a,.tcsb.primary-gradient .tcsb-copy h3 a,.tcsb.secondary-gradient .tcsb-copy h3 a,.tcsb.gray-gradient .tcsb-copy h3 a,
.tcsb.bg-primary .tcsb-copy h4 a,.tcsb.bg-secondary .tcsb-copy h4 a,.tcsb.bg-tertiary .tcsb-copy h4 a,.tcsb.bg-gray .tcsb-copy h4 a,.tcsb.primary-gradient .tcsb-copy h4 a,.tcsb.secondary-gradient .tcsb-copy h4 a,.tcsb.gray-gradient .tcsb-copy h4 a,
.tcsb.bg-primary .tcsb-copy h5 a,.tcsb.bg-secondary .tcsb-copy h5 a,.tcsb.bg-tertiary .tcsb-copy h5 a,.tcsb.bg-gray .tcsb-copy h5 a,.tcsb.primary-gradient .tcsb-copy h5 a,.tcsb.secondary-gradient .tcsb-copy h5 a,.tcsb.gray-gradient .tcsb-copy h5 a,
.tcsb.bg-primary .tcsb-copy h6 a,.tcsb.bg-secondary .tcsb-copy h6 a,.tcsb.bg-tertiary .tcsb-copy h6 a,.tcsb.bg-gray .tcsb-copy h6 a,.tcsb.primary-gradient .tcsb-copy h6 a,.tcsb.secondary-gradient .tcsb-copy h6 a,.tcsb.gray-gradient .tcsb-copy h6 a {
	color: var(--color-white);
}
.tcsb.bg-primary .tcsb-copy .btn.btn-ghost,.tcsb.bg-secondary .tcsb-copy .btn.btn-ghost,.tcsb.bg-tertiary .tcsb-copy .btn.btn-ghost,.tcsb.bg-gray .tcsb-copy .btn.btn-ghost,.tcsb.primary-gradient .tcsb-copy .btn.btn-ghost,.tcsb.secondary-gradient .tcsb-copy .btn.btn-ghost,.tcsb.gray-gradient .tcsb-copy .btn.btn-ghost {
	border-color: var(--color-white);
	background: transparent;
	color: var(--color-color);
}
.tcsb.bg-primary .tcsb-copy .btn.btn-full,.tcsb.bg-secondary .tcsb-copy .btn.btn-full,.tcsb.bg-tertiary .tcsb-copy .btn.btn-full,.tcsb.bg-gray .tcsb-copy .btn.btn-full,.tcsb.primary-gradient .tcsb-copy .btn.btn-full,.tcsb.secondary-gradient .tcsb-copy .btn.btn-full,.tcsb.gray-gradient .tcsb-copy .btn.btn-full {
	border-color: var(--color-white);
	background: var(--color-white);
	color: var(--color-secondary);
}
.tcsb.bg-primary .tcsb-copy .btn:hover,.tcsb.bg-secondary .tcsb-copy .btn:hover,.tcsb.bg-tertiary .tcsb-copy .btn:hover,.tcsb.bg-gray .tcsb-copy .btn:hover,.tcsb.primary-gradient .tcsb-copy .btn:hover,.tcsb.secondary-gradient .tcsb-copy .btn:hover,.tcsb.gray-gradient .tcsb-copy .btn:hover {
	border-color: var(--color-primary);
	background: var(--color-primary);
	color: var(--color-white);
}
@media (max-width: 767px){
	.tcsb-copy {
		padding: 1em;
	}
	.tcsb-copy h2, .tcsb-copy h3, .tcsb-copy h4, .tcsb-copy h5, .tcsb-copy h6 {
		font-size: 2em;
	}
	.tcsb-copy-secondary-hd {
		font-size: 1.5em !important;
	}
	.tcsb-copy .btns .btn {
		margin-bottom: 1em;
	}
}
@media (min-width: 768px){
  .tcsb-imgleft .tcsb-img, .tcsb-imgright .tcsb-img {
    min-width: 50% !important;
  }
  .tcsb.tcsb-padded {
    padding: 6em;
  }
  .tcsb.tcsb-padded .tcsb-copy {
  	min-width: 40%;
  }
  .tcsb-copy .btn {
  	margin: 0 0.25em;
  }
}

/* Expanding Feature Component */
.ef-container {
  padding: 2em;
}
.ef-copy {
  padding: 0 !important;
  background: transparent !important;
}
.ef-copy h3 {
  padding: 1em 1em 0.25em 1em !important;
  background: var(--color-primarysemi);
}
.ef-copy p {
  padding: 0 1.5em 1em !important;
  background: var(--color-primarysemi);
}
@media (min-width: 768px){
  .ef-container {
    padding: 6em;
  }
  .ef-blocks {
    gap: 2em;
  }
  .ef-block video,.ef-block img {
    -webkit-transition: all 0.4s;
    -moz-transition: all 0.4s;
    -o-transition: all 0.4s;
    transition: all 0.4s;
  }
  .ef-block:hover video,.ef-block:hover img {
    transform: scale(1.25);
    -webkit-transition: all 0.4s;
    -moz-transition: all 0.4s;
    -o-transition: all 0.4s;
    transition: all 0.4s;
  }
  .ef-copy h3 {
    padding: 1em !important;
    background: var(--color-primarysemi);
  }
  .ef-block a:hover .ef-copy h3 {
    background: var(--color-secondarysemi);
    padding: 1em 0.75em 0.25em 0.75em !important;
  }
  .ef-block a:hover .ef-copy p {
    padding: 0 1.5em 1.5em !important;
    background: var(--color-secondarysemi);
  }
}

/* Hero Single Component */
.hi-container {
  position: relative;
}
.hi-content.hi-center-top {
  text-align: center;
  background: var(--color-overwhite);
  padding: 2em;
  top: 2em;
  left: 50%;
  transform: translateX(-50%);
}
.hi-content.hi-center-middle {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  text-align: center;
  background: var(--color-overwhite);
  padding: 2em;
}
.hi-content.hi-center-bottom {
  text-align: center;
  background: var(--color-overwhite);
  padding: 2em;
  bottom: 2em;
  left: 50%;
  transform: translateX(-50%);
}
.hi-content.hi-left-top {
  position: absolute;
  bottom: auto;
  top: 2em;
  left: 2em;
  text-align: left !important;
  background: var(--color-overwhite);
  padding: 2em;
}
.hi-content.hi-left-center {
  position: absolute;
  top: 50%;
  left: 2em;
  transform: translateY(-50%);
  text-align: left !important;
  background: var(--color-overwhite);
  padding: 2em;
}
.hi-content.hi-left-bottom {
  position: absolute;
  top: auto;
  bottom: 2em;
  left: 2em;
  text-align: left !important;
  background: var(--color-overwhite);
  padding: 2em;
}
.hi-content.hi-left-center .hi-content-btns,.hi-content.hi-left-bottom .hi-content-btns,.hi-content.hi-left-top .hi-content-btns {
  justify-content: left;
}
.hi-content-lg h1,.hi-content-lg h2,.hi-content-lg h3,.hi-content-lg h4,.hi-content-lg h5,.hi-content-lg h6 {
  font-size: 2rem;
  margin: 0 0 0.25em;
}
.hi-content-lg {
  font-family: var(--font-secondary);
  font-size: 2em;
  color: var(--color-primary);
  margin: 0 0 0.25em;
}
.hi-content-lg a {
  color: var(--color-primary) !important;
}
.hi-content-copy {
  color: var(--color-gray);
  margin: 0 auto 1em !important;
  padding: 0;
  max-width: unset;
}
/* stark_child .hv-slide--image .hi-content* defaults the text to white for
   image slides with a dark scrim. Cobalt instead boxes the content (light or
   dark) and needs the box treatment to drive color, so re-assert the cobalt
   colors with matching/higher specificity. */
.hv-slide--image .hi-content .hi-content-sm {
  color: var(--color-gray);
}
.hv-slide--image .hi-content .hi-content-lg,
.hv-slide--image .hi-content .hi-content-lg a {
  color: var(--color-primary);
}
.hv-slide--image .hi-content--dark .hi-content-sm,
.hv-slide--image .hi-content--dark .hi-content-lg,
.hv-slide--image .hi-content--dark .hi-content-lg a,
.hv-slide--image .hi-content--dark .hi-content-copy {
  color: var(--color-white);
}
.hi-content.hi-content--dark {
  background: var(--color-overdark);
}
.hi-content--dark .hi-content-sm,
.hi-content--dark .hi-content-lg,
.hi-content--dark .hi-content-copy {
  color: var(--color-white);
}
/* Override .hi-content-lg a's !important navy color. */
.hi-content--dark .hi-content-lg a {
  color: var(--color-white) !important;
}
.hi-content--dark .btn-ghost {
  border: 1px solid var(--color-white);
  background: transparent;
  color: var(--color-white);
}
.hi-content--dark .btn-ghost:hover {
  border: 1px solid var(--color-secondary);
  background: var(--color-secondary);
  color: var(--color-white);
}
/* Transparent variant: drop the box bg + padding from the position rules
   above. Two-class selector matches .hi-content.hi-left-* specificity, and
   source order puts this rule last so it wins. */
.hi-content.hi-content--transparent {
  background: transparent;
  padding: 0;
}
.hv-slide--image .hi-content--transparent .hi-content-sm,
.hv-slide--image .hi-content--transparent .hi-content-lg,
.hv-slide--image .hi-content--transparent .hi-content-lg a,
.hv-slide--image .hi-content--transparent .hi-content-copy {
  color: var(--color-white);
}
.hi-content--transparent .hi-content-lg a {
  color: var(--color-white) !important;
}
.hi-content--transparent .btn-ghost {
  border: 1px solid var(--color-white);
  background: transparent;
  color: var(--color-white);
}
.hi-content--transparent .btn-ghost:hover {
  border: 1px solid var(--color-secondary);
  background: var(--color-secondary);
  color: var(--color-white);
}
.hi .btn-full:hover {
  background: var(--color-primary) !important;
  border-color: var(--color-primary) !important;
}
.hi-content.hi-center-bottom .hi-content-btns {
  justify-content: center;
}
.hi-content-btns .btn.btn-full.btn-white {
	color: var(--color-secondary) !important;
    border: 1px solid var(--color-secondary) !important;
    background: transparent !important;
}
.hi-content-btns .btn.btn-full.btn-white:hover {
	color: var(--color-white) !important;
    border: 1px solid var(--color-secondary) !important;
    background: var(--color-secondary) !important;
}
.hi-content-btns .btn.btn-full.btn-white:last-child {
	color: var(--color-white) !important;
    border: 1px solid var(--color-secondary) !important;
    background: var(--color-secondary) !important;
}
.hi-content-btns .btn.btn-full.btn-white:last-child:hover {
	color: var(--color-white) !important;
    border: 1px solid var(--color-primary) !important;
    background: var(--color-primary) !important;
}
@media (max-width: 767px){
  /*.hi-content {
    max-width: 80%;
  }
  .hi-content.hi-content.hv-content-mobile-bottom-center {
  	transform: translateX(-50%);
  }*/
  .hi-content {
  	padding: 2em !important;
	max-width: 88% !important;
  }
  .hi-mobile-center-bottom,.hi-mobile-left-bottom {
  	bottom: 2em !important;
  }
  .hi-content.hi-center-middle {
  	transform: translate(-50%, -50%) !important;
  }
  .hi-content.hi-content.hv-content-mobile-center-center {
  	transform: translate(-50%, -50%) !important;
  }
}
@media (min-width: 768px){
  .hi-content-lg h1,.hi-content-lg h2,.hi-content-lg h3,.hi-content-lg h4,.hi-content-lg h5,.hi-content-lg h6 {
    font-size: 2.5rem;
  }
  .hi-content.hi-center-top,.hi-content.hi-center-middle,.hi-content.hi-center-bottom,.hi-content.hi-left-center,.hi-content.hi-left-bottom,.hi-content.hi-left-top {
    max-width: 50% !important;
  }
  .hi-content.hi-center-top {
    top: 6em;
  }
  .hi-content.hi-left-top,.hi-content.hi-left-center,.hi-content.hi-left-bottom {
    left: 6em;
  }
}

/* Single Image Carousel Component */
.sic-slide-copy.hi-left-bottom {
	left: 2em;
	bottom: 2em;
}
.sic-slide-copy.hi-left-top {
	left: 2em;
	top: 2em;
}
.sic-slide-copy.hi-left-center {
	left: 2em;
	top: 50%;
	transform: translateY(-50%);
}
.sic-slide-copy.hi-center-top {
	top: 2em;
}
.sic-slide-copy.hi-center-bottom {
	bottom: 2em;
}
@media (min-width: 768px){
	.sic-slide-copy {
		padding: 2em;
		min-width: 60%;
	}
}

/* Testimonials Component */
.tc-testimonials {
  text-align: center;
}
.tc-testimonials h2,.tc-testimonials h3,.tc-testimonials h4,.tc-testimonials h5,.tc-testimonials h6 {
  color: var(--color-primary);
}
.tc-nav {
  text-align: center;
}
.tc-testimonials-carousel .swiper-pagination-bullet {
  width: var(--hv-dot-width);
  height: var(--hv-dot-height);
  background: var(--color-dotgray) !important;
  opacity: 1;
  margin: 0 0.35em;
  border-radius: 9999px;
}
.tc-testimonials-carousel .swiper-pagination-bullet-active {
  opacity: 1;
  width: var(--hv-dot-active-width);
  height: var(--hv-dot-active-height);
  border: 5px solid var(--color-secondary);
  background: var(--color-dotgray) !important;
}
@media (min-width: 768px){
  .tc-container {
    max-width: 1380px;
  }
}

/* Events Carousel Component */
.ec-container {
	max-width: unset !important;
}
.ec-event img {
	width: 100%;
    max-width: 100%;
    height: auto;
    object-fit: unset;
}
.ec-event h3 {
  font-family: var(--font-primary);
  font-size: 1.1em;
  line-height: 1.3;
  font-weight: bold;
  margin: 0 0 0.25em;
}
.ec-event p {
	margin: 0 0 1em;
}
.ec-location {
  font-style: italic;
  margin: 0 0 0.5em;
}
.ec-events-carousel .swiper-pagination {
  margin: 4em 0 0;
  text-align: center;
}
.ec-events-carousel .swiper-pagination-bullet {
  width: var(--hv-dot-width);
  height: var(--hv-dot-height);
  background: var(--color-dotgray) !important;
  opacity: 1;
  margin: 0 0.35em;
  border-radius: 9999px;
}
.ec-events-carousel .swiper-pagination-bullet-active {
  opacity: 1;
  width: var(--hv-dot-active-width);
  height: var(--hv-dot-active-height);
  border: 5px solid var(--color-secondary);
  background: var(--color-dotgray) !important;
  margin-bottom: -4px !important;
}
.ec.bg-primary .ec-event,.ec.bg-secondary .ec-event,.ec.bg-tertiary .ec-event,.ec.bg-gray .ec-event,.ec.primary-gradient .ec-event,.ec.secondary-gradient .ec-event {
	color: var(--color-white) !important;
}
.ec.bg-primary .ec-event a,.ec.bg-secondary .ec-event a,.ec.bg-tertiary .ec-event a,.ec.bg-gray .ec-event a,.ec.primary-gradient .ec-event a,.ec.secondary-gradient .ec-event a {
	color: var(--color-white) !important;
}
.ec.bg-primary .ec-event a:hover,.ec.bg-secondary .ec-event a:hover,.ec.bg-tertiary .ec-event a:hover,.ec.bg-gray .ec-event a:hover,.ec.primary-gradient .ec-event a:hover,.ec.secondary-gradient .ec-event a:hover {
	color: var(--color-lightgray) !important;
}
.ec.bg-primary .ec-event .btn-ghost,.ec.bg-secondary .ec-event .btn-ghost,.ec.bg-tertiary .ec-event .btn-ghost,.ec.bg-gray .ec-event .btn-ghost,.ec.primary-gradient .ec-event .btn-ghost,.ec.secondary-gradient .ec-event .btn-ghost {
	color: var(--color-white) !important;
    border: 1px solid var(--color-white) !important;
    background: transparent !important;
}
.ec.bg-primary .ec-event .btn-ghost:hover,.ec.bg-secondary .ec-event .btn-ghost:hover,.ec.bg-tertiary .ec-event .btn-ghost:hover,.ec.bg-gray .ec-event .btn-ghost:hover,.ec.primary-gradient .ec-event .btn-ghost:hover,.ec.secondary-gradient .ec-event .btn-ghost:hover {
	color: var(--color-secondary) !important;
    border: 1px solid var(--color-white) !important;
    background: var(--color-white) !important;
}
.ec .swiper-button-prev {
	width: 48px;
	height: 48px;
	background: transparent url('../assets/images/arrow-circle-black-left.png') center center no-repeat !important;
	background-size: 100% auto !important;
}
.ec .swiper-button-next {
	width: 48px;
	height: 48px;
	background: transparent url('../assets/images/arrow-circle-black-right.png') center center no-repeat !important;
	background-size: 100% auto !important;
}
@media (min-width: 768px){
	.ec-event img {
		max-width: 320px;
    }
    .ec .swiper-button-prev {
    	left: 1em;
    }
    .ec .swiper-button-next {
    	right: 1em;
    }
}

/* Dealer Locator Component */
.dealer-result .distance {
  color: var(--color-mediumgray);
}
.directions a {
  display: block;
  background: transparent url('../assets/images/directions-icon.png') center left no-repeat;
  background-size: 18px auto;
  padding-left: 24px;
  margin: 0.25em 0 0;
}
.telephone a {
  display: block;
  background: transparent url('../assets/images/phone-icon.png') center left no-repeat;
  background-size: 18px auto;
  padding-left: 24px;
  margin: 0.25em 0 0;
}
.dealer-page a {
  display: block;
  background: transparent url('../assets/images/person-icon.png') center left no-repeat;
  background-size: 18px auto;
  padding-left: 24px;
  margin: 0.25em 0 0;
}
.dealer-website a {
	display: block;
	background: transparent url('../assets/images/website-icon.png') center left no-repeat;
	background-size: 18px auto;
	padding-left: 24px;
	margin: 0.25em 0 0;
}

/* Models Carousel Component */
.mc-carousel .mc-content-lg {
  font-size: 1.4em;
}
.mc-carousel .swiper-slide img {
  max-width: 80%;
  height: auto;
  margin: 0 auto;
}
.mc-carousel .mc-content-sm {
  text-transform: none;
  letter-spacing: 0;
  margin-top: 1em;
}
.mc-content-attr {
  display: flex;
  flex-direction: column-reverse;
}
.mc-content-attr-dark {
  font-weight: normal;
}
.mc-content-attr-light {
  font-weight: bold;
  text-transform: none;
  letter-spacing: 0;
}
.mc-carousel .swiper-button-prev {
  width: 48px;
  height: 48px;
  background: transparent url('../assets/images/arrow-circle-black-left.png') center center no-repeat !important;
  background-size: 100% auto !important;
}
.mc-carousel .swiper-button-prev::after {
  display: none;
}
.mc-carousel .swiper-button-next {
  width: 48px;
  height: 48px;
  background: transparent url('../assets/images/arrow-circle-black-right.png') center center no-repeat !important;
  background-size: 100% auto !important;
}
.mc-carousel .swiper-button-next::after {
  display: none;
}
.mc-tab-panel {
  position: relative;
}
@media (min-width: 768px){
  .mc-nav {
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    padding: 0 4em;
    width: 100%;
  }
  .mc-carousel .swiper-slide img {
    max-width: 90%;
    opacity: 0;
    transition: opacity 0.3s, transform 0.2s;
  }
  .mc-carousel .swiper-slide-active img {
    opacity: 1;
  }
}

/* Call-to-Action Component */
.cta-link a:after {
  content: '\00BB';
  color: var(--color-white);
  padding-left: 0;
  -webkit-transition: all 0.2s;
  -moz-transition: all 0.2s;
  -o-transition: all 0.2s;
  transition: all 0.2s;
}
.cta-link a:hover:after {
  color: var(--color-secondary);
  padding-left: 0.5em;
}

/* Button Component Animation */
.bc-item {
  overflow: hidden;
  transition: all 0.4s;
}
.bc-item:hover img {
  transform: scale(1.25);
  transition: all 0.4s;
}

/* Product Image Hover Swap */
.mo-option .product-image-swap {
  position: relative;
}
.mo-option .product-image-swap img {
  transition: opacity 0.3s ease;
}
.mo-option .product-image-swap img.product-image-hover {
  position: absolute;
  top: 0;
  left: 0;
  opacity: 0;
}
.mo-option .product-image-swap:hover .product-image-default {
  opacity: 0;
}
.mo-option .product-image-swap:hover .product-image-hover {
  opacity: 1;
}
.mobile-mega-option .product-image-swap {
  position: relative;
}
.mobile-mega-option .product-image-swap img {
  transition: opacity 0.3s ease;
}
.mobile-mega-option .product-image-swap img.product-image-hover {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  object-fit: contain;
  opacity: 0;
}
.mobile-mega-option .product-image-swap:hover .product-image-default {
  opacity: 0;
}
.mobile-mega-option .product-image-swap:hover .product-image-hover {
  opacity: 1;
}

/* Backgrounds */
.primary-gradient {
  background: var(--color-tertiary);
  background: linear-gradient(140deg, rgba(22, 45, 87, 1) 0%, rgba(22, 45, 87, 0.85) 50%, rgba(22, 45, 87, 1) 100%);
}
.secondary-gradient {
  background: var(--color-gray);
  background: linear-gradient(120deg, rgba(51, 51, 51, 1) 0%, rgba(85, 85, 85, 1) 50%, rgba(51, 51, 51, 1) 100%);
}
.gray-gradient {
  background: var(--color-lightgray);
  background: linear-gradient(120deg, rgba(229, 229, 229, 1) 0%, rgba(255, 255, 255, 1) 50%, rgba(229, 229, 229, 1) 100%);
}
.bg-primary {
  background-color: var(--color-primary);
}
.bg-secondary {
  background-color: var(--color-secondary);
}
.bg-tertiary {
  background-color: var(--color-tertiary);
}
.bg-white {
  background-color: var(--color-white);
}
.bg-gray {
  background-color: var(--color-gray);
}
.bg-lightgray {
  background-color: var(--color-lightgray);
}

/* Breadcrumbs */
.bcr {
  padding: 0.5em 1em;
}
.bcr-container {
  font-size: 0.9em;
}
.bcr-container a,
.bcr-container .bcr-active {
  color: var(--color-gray);
}
.bcr-container a:hover {
  color: var(--color-secondary);
}
.bcr-container a:after {
  content: '/';
  color: var(--color-secondary);
  margin: 0 0.5em;
}
.bcr-container a.bcr-active:after {
  content: none;
  margin: 0;
}
@media (min-width: 768px){
  .bcr {
    padding: 1em 1.5em 0.75em;
  }
}

/* Feature Cards Component */
/* Primary-gradient card style: a solid navy panel (brand override of the base
   scrim). Reset the base scrim's extra top padding so it reads as a clean box. 
.fcs-cards.fcs-primary-gradient .fcs-box {
  padding-top: 1.5rem;
  background: var(--color-tertiary);
  background: -webkit-linear-gradient(140deg, rgba(22, 45, 87, 1) 0%, rgba(22, 45, 87, 0.85) 50%, rgba(22, 45, 87, 1) 100%);
  background: -moz-linear-gradient(140deg, rgba(22, 45, 87, 1) 0%, rgba(22, 45, 87, 0.85) 50%, rgba(22, 45, 87, 1) 100%);
  background: linear-gradient(140deg, rgba(22, 45, 87, 1) 0%, rgba(22, 45, 87, 0.85) 50%, rgba(22, 45, 87, 1) 100%);
  color: var(--color-white);
}
.fcs-cards.fcs-primary-gradient .fcs-box h2 a,.fcs-cards.fcs-primary-gradient .fcs-box h3 a,.fcs-cards.fcs-primary-gradient .fcs-box h4 a,.fcs-cards.fcs-primary-gradient .fcs-box h5 a,.fcs-cards.fcs-primary-gradient .fcs-box h6 a {
  color: var(--color-white);
}*/
.fcs-header {
	max-width: 980px !important;
	padding: 0 2em;
}
.fcs-header.align-left {
	text-align: center !important;
}
.fcs-header h2,
.fcs-header h3,
.fcs-header h4,
.fcs-header h5,
.fcs-header h6 {
	display: block;
	font-size: clamp(1.75rem, 2.6vw, 2.5rem);
	padding-bottom: 0;
	margin: 0 0 1.25rem;
}
.fcs-header h2 a,
.fcs-header h3 a,
.fcs-header h4 a,
.fcs-header h5 a,
.fcs-header h6 a {
	color: var(--color-secondary);
}
.fcs-header h2 a:hover,
.fcs-header h3 a:hover,
.fcs-header h4 a:hover,
.fcs-header h5 a:hover,
.fcs-header h6 a:hover {
	color: var(--color-primary);
}
.fcs-header h2.subhead,
.fcs-header h3.subhead,
.fcs-header h4.subhead,
.fcs-header h5.subhead,
.fcs-header h6.subhead {
	font-size: 1.5rem !important;
	margin: 0 0 0.25em;
}
.fcs-box {
	padding: 1.5rem;
}
.fc-unboxed .fcs-box {
	padding: 1.5rem 0;
}
.fcs-box h2,
.fcs-box h3,
.fcs-box h4,
.fcs-box h5,
.fcs-box h6 {
	font-size: 1.25rem !important;
	line-height: 1.2;
}
.fcs-box h2.subhead,
.fcs-box h3.subhead,
.fcs-box h4.subhead,
.fcs-box h5.subhead,
.fcs-box h6.subhead {
	font-size: 1.1rem !important;
	margin: 0.25em 0;
}
.fcs-box p {
	font-size: 1rem !important;
	line-height: 1.4;
}
.fcs-cards .fcs-box .btn {
	background: var(--color-primary) !important;
	border-color: var(--color-primary) !important;
	color: var(--color-white) !important;
}
.fcs-cards .fcs-box .btn:hover {
	background: var(--color-secondary) !important;
	border-color: var(--color-secondary) !important;
	color: var(--color-white) !important;
}
.fcs-card:hover video,.fcs-card:hover img {
	transform: unset !important;
}
.fcs.primary-gradient .fcs-box,.fcs.secondary-gradient .fcs-box,.fcs.gray-gradient .fcs-box,.fcs.bg-primary .fcs-box,.fcs.bg-secondary .fcs-box,.fcs.bg-tertiary .fcs-box,.fcs.bg-gray .fcs-box {
	background: var(--color-white);
	color: var(--color-primary);
}
.fcs.primary-gradient .fcs-box h2,
.fcs.primary-gradient .fcs-box h3,
.fcs.primary-gradient .fcs-box h4,
.fcs.primary-gradient .fcs-box h5,
.fcs.primary-gradient .fcs-box h6,
.fcs.secondary-gradient .fcs-box h2,
.fcs.secondary-gradient .fcs-box h3,
.fcs.secondary-gradient .fcs-box h4,
.fcs.secondary-gradient .fcs-box h5,
.fcs.secondary-gradient .fcs-box h6,
.fcs.gray-gradient .fcs-box h2,
.fcs.gray-gradient .fcs-box h3,
.fcs.gray-gradient .fcs-box h4,
.fcs.gray-gradient .fcs-box h5,
.fcs.gray-gradient .fcs-box h6,
.fcs.bg-primary .fcs-box h2,
.fcs.bg-primary .fcs-box h3,
.fcs.bg-primary .fcs-box h4,
.fcs.bg-primary .fcs-box h5,
.fcs.bg-primary .fcs-box h6,
.fcs.bg-secondary .fcs-box h2,
.fcs.bg-secondary .fcs-box h3,
.fcs.bg-secondary .fcs-box h4,
.fcs.bg-secondary .fcs-box h5,
.fcs.bg-secondary .fcs-box h6,
.fcs.bg-tertiary .fcs-box h2,
.fcs.bg-tertiary .fcs-box h3,
.fcs.bg-tertiary .fcs-box h4,
.fcs.bg-tertiary .fcs-box h5,
.fcs.bg-tertiary .fcs-box h6,
.fcs.bg-gray .fcs-box h2,
.fcs.bg-gray .fcs-box h3,
.fcs.bg-gray .fcs-box h4,
.fcs.bg-gray .fcs-box h5,
.fcs.bg-gray .fcs-box h6 {
	color: var(--color-primary);
}
.fcs.primary-gradient .fcs-box p,.fcs.secondary-gradient .fcs-box p,.fcs.gray-gradient .fcs-box p,.fcs.bg-primary .fcs-box p,.fcs.bg-secondary .fcs-box p,.fcs.bg-tertiary .fcs-box p,.fcs.bg-gray .fcs-box p {
	color: var(--color-gray) !important;
}
.fcs.primary-gradient.fc-unboxed .fcs-box,
.fcs.secondary-gradient.fc-unboxed .fcs-box,
.fcs.gray-gradient.fc-unboxed .fcs-box,
.fcs.bg-primary.fc-unboxed .fcs-box,
.fcs.bg-secondary.fc-unboxed .fcs-box,
.fcs.bg-tertiary.fc-unboxed .fcs-box,
.fcs.bg-gray.fc-unboxed .fcs-box {
	background: transparent;
}
.fcs.primary-gradient.fc-unboxed .fcs-box h2,
.fcs.primary-gradient.fc-unboxed .fcs-box h3,
.fcs.primary-gradient.fc-unboxed .fcs-box h4,
.fcs.primary-gradient.fc-unboxed .fcs-box h5,
.fcs.primary-gradient.fc-unboxed .fcs-box h6,
.fcs.secondary-gradient.fc-unboxed .fcs-box h2,
.fcs.secondary-gradient.fc-unboxed .fcs-box h3,
.fcs.secondary-gradient.fc-unboxed .fcs-box h4,
.fcs.secondary-gradient.fc-unboxed .fcs-box h5,
.fcs.secondary-gradient.fc-unboxed .fcs-box h6,
.fcs.gray-gradient.fc-unboxed .fcs-box h2,
.fcs.gray-gradient.fc-unboxed .fcs-box h3,
.fcs.gray-gradient.fc-unboxed .fcs-box h4,
.fcs.gray-gradient.fc-unboxed .fcs-box h5,
.fcs.gray-gradient.fc-unboxed .fcs-box h6,
.fcs.bg-primary.fc-unboxed .fcs-box h2,
.fcs.bg-primary.fc-unboxed .fcs-box h3,
.fcs.bg-primary.fc-unboxed .fcs-box h4,
.fcs.bg-primary.fc-unboxed .fcs-box h5,
.fcs.bg-primary.fc-unboxed .fcs-box h6,
.fcs.bg-secondary.fc-unboxed .fcs-box h2,
.fcs.bg-secondary.fc-unboxed .fcs-box h3,
.fcs.bg-secondary.fc-unboxed .fcs-box h4,
.fcs.bg-secondary.fc-unboxed .fcs-box h5,
.fcs.bg-secondary.fc-unboxed .fcs-box h6,
.fcs.bg-tertiary.fc-unboxed .fcs-box h2,
.fcs.bg-tertiary.fc-unboxed .fcs-box h3,
.fcs.bg-tertiary.fc-unboxed .fcs-box h4,
.fcs.bg-tertiary.fc-unboxed .fcs-box h5,
.fcs.bg-tertiary.fc-unboxed .fcs-box h6,
.fcs.bg-gray.fc-unboxed .fcs-box h2,
.fcs.bg-gray.fc-unboxed .fcs-box h3,
.fcs.bg-gray.fc-unboxed .fcs-box h4,
.fcs.bg-gray.fc-unboxed .fcs-box h5,
.fcs.bg-gray.fc-unboxed .fcs-box h6 {
	color: var(--color-white) !important;
}
.fcs.primary-gradient.fc-unboxed .fcs-box p,
.fcs.secondary-gradient.fc-unboxed .fcs-box p,
.fcs.gray-gradient.fc-unboxed .fcs-box p,
.fcs.bg-primary.fc-unboxed .fcs-box p,
.fcs.bg-secondary.fc-unboxed .fcs-box p,
.fcs.bg-tertiary.fc-unboxed .fcs-box p,
.fcs.bg-gray.fc-unboxed .fcs-box p {
	color: var(--color-white) !important;
}
.fcs.primary-gradient.fc-unboxed .fcs-box .btn,
.fcs.secondary-gradient.fc-unboxed .fcs-box .btn,
.fcs.gray-gradient.fc-unboxed .fcs-box .btn,
.fcs.bg-primary.fc-unboxed .fcs-box .btn,
.fcs.bg-secondary.fc-unboxed .fcs-box .btn,
.fcs.bg-tertiary.fc-unboxed .fcs-box .btn,
.fcs.bg-gray.fc-unboxed .fcs-box .btn {
	border-color: var(--color-white) !important;
	background: var(--color-white) !important;
	color: var(--color-primary) !important;
}
.fcs.primary-gradient.fc-unboxed .fcs-box .btn:hover,
.fcs.secondary-gradient.fc-unboxed .fcs-box .btn:hover,
.fcs.gray-gradient.fc-unboxed .fcs-box .btn:hover,
.fcs.bg-primary.fc-unboxed .fcs-box .btn:hover,
.fcs.bg-secondary.fc-unboxed .fcs-box .btn:hover,
.fcs.bg-tertiary.fc-unboxed .fcs-box .btn:hover,
.fcs.bg-gray.fc-unboxed .fcs-box .btn:hover {
	border-color: var(--color-secondary) !important;
	background: var(--color-secondary) !important;
	color: var(--color-white) !important;
}
@media (max-width: 767px) {
	.fcs {
		padding: 2rem !important;
	}
	.fcs-cards,.fcs-cards.two {
		gap: 2rem !important;
	}
}
@media (min-width: 768px) {
	.fcs-cards {
		gap: 2rem !important;
	}
	.fcs-box {
		min-height: 240px;
	}
}

/* Form Component */
.fc.bg-primary,.fc.bg-secondary,.fc.bg-tertiary,.fc.bg-gray {
	color: var(--color-white);
}
.fc-header p {
	color: var(--color-gray);
}
.fc.bg-primary .fc-header p,.fc.bg-secondary .fc-header p,.fc.bg-tertiary .fc-header p,.fc.bg-gray .fc-header p {
	color: var(--color-white);
}
.fc.bg-white,.fc.bg-lightgray {
  color: var(--color-gray);
}
.fc.bg-white .fc-header h2,.fc.bg-lightgray .fc-header h2,.fc.bg-white .fc-header h3,.fc.bg-lightgray .fc-header h3,.fc.bg-white .fc-header h4,.fc.bg-lightgray .fc-header h4,.fc.bg-white .fc-header h5,.fc.bg-lightgray .fc-header h5,.fc.bg-white .fc-header h6,.fc.bg-lightgray .fc-header h6 {
  color: var(--color-primary);
}
.fc.bg-white input.form-tel,.fc.bg-white input.form-email,.fc.bg-lightgray input.form-tel,.fc.bg-lightgray input.form-email,.fc.bg-lightgray .form-row input.form-text,.fc.bg-white .form-row input.form-text,.fc.bg-white .form-row input.field,.fc.bg-white .form-row select,.fc.bg-lightgray .form-row input.field,.fc.bg-lightgray .form-row select,.fc.bg-lightgray .form-row textarea,.fc.bg-white textarea {
  border: 1px solid var(--color-dotgray) !important;
}
.form-item-full {
  min-width: 99% !important;
  max-width: 99% !important;
}
.fc.bg-white .form-checkbox,.fc.bg-lightgray .form-checkbox {
  color: var(--color-gray);
}

/* Virtual Tour */
.matterport-iframe-container iframe {
  width: 100%;
  display: block;
  min-height: 600px;
}
@media (min-width: 768px){
  .matterport-iframe-container iframe {
    min-height: 900px;
  }
}

/* Models Carousel — Cobalt uses single-slide layout (no side images). */
.mc-slide img {
  width: 60%;
  margin: 0 auto;
  display: block;
}
@media (min-width: 768px) {
  .mc-carousel .swiper-slide img {
    padding: 0;
    transform: none;
    transition: none;
  }
  .mc-carousel .swiper-slide-active img {
    transform: none;
    transition: none;
  }
  .mc-carousel .swiper-slide .mc-content-sm,
  .mc-carousel .swiper-slide .mc-content-lg,
  .mc-carousel .swiper-slide .mc-content-attributes,
  .mc-carousel .swiper-slide .mc-content-btns {
    visibility: visible;
    opacity: 1;
  }
}

/* Accordion Component */
.acc-item h3 a {
	padding-top: 5px;
}
.acc-content {
	padding-bottom: 1em;
}

/* Text Component */
.text.gray-gradient p {
	color: var(--color-gray);
}
.text.gray-gradient h2,.text.gray-gradient h3,.text.gray-gradient h4,.text.gray-gradient h5,.text.gray-gradient h6 {
	color: var(--color-primary);
}
.text-container.text-center p {
	margin: 0 auto 1em;
}

/* Image Gallery */
.ig.primary-gradient .ig-header,.ig.secondary-gradient .ig-header,.ig.bg-primary .ig-header,.ig.bg-secondary .ig-header,.ig.bg-tertiary .ig-header,.ig.bg-gray .ig-header {
	color: #fff;
}
.ig.primary-gradient .ig-header h3,.ig.secondary-gradient .ig-header h3,.ig.bg-primary .ig-header h3,.ig.bg-secondary .ig-header h3,.ig.bg-tertiary .ig-header h3,.ig.bg-gray .ig-header h3 {
	color: #fff;
}
.ig-tab-active {
	color: var(--color-secondary) !important;
	border-bottom: 2px solid var(--color-secondary) !important;
}
.ig.primary-gradient .ig-tabs,.ig.secondary-gradient .ig-tabs,.ig.bg-primary .ig-tabs,.ig.bg-secondary .ig-tabs,.ig.bg-tertiary .ig-tabs,.ig.bg-gray .ig-tabs {
	border-bottom: 1px solid var(--color-white);
}
.ig.primary-gradient .ig-tab,.ig.secondary-gradient .ig-tab,.ig.bg-primary .ig-tab,.ig.bg-secondary .ig-tab,.ig.bg-tertiary .ig-tab,.ig.bg-gray .ig-tab {
	color: var(--color-white) !important;
	border-bottom: 2px solid transparent !important;
}
.ig.primary-gradient .ig-tab:hover,.ig.secondary-gradient .ig-tab:hover,.ig.bg-primary .ig-tab:hover,.ig.bg-secondary .ig-tab:hover,.ig.bg-tertiary .ig-tab:hover,.ig.bg-gray .ig-tab:hover {
	color: var(--color-lightgray) !important;
}
.ig.primary-gradient .ig-tab-active,.ig.secondary-gradient .ig-tab-active,.ig.bg-primary .ig-tab-active,.ig.bg-secondary .ig-tab-active,.ig.bg-tertiary .ig-tab-active,.ig.bg-gray .ig-tab-active {
	color: var(--color-white) !important;
	border-bottom: 2px solid var(--color-white) !important;
}
.ig.primary-gradient,.ig.secondary-gradient,.ig.bg-primary,.ig.bg-secondary,.ig.bg-tertiary,.ig.bg-gray {
}

/* Video Gallery */
.vg .vg-header {
	padding: 0px 2em;
}
@media (min-width: 768px) {
	.vg .vg-header {
		padding: 0px 4em;
	}
}

/* Product List */
.mg-name p {
	margin: 0 0 1em;
}

/* Accordion Component */
.acc-item h3 a {
	padding-top: 5px;
}
.acc-content {
	padding-bottom: 1em;
}

/* Pagination */
.pager {
	padding: 0;
	margin: 0;
}
ul.pager__items li {
	display: inline-block;
}
.pager__item.is-active a {
	font-weight: 700;
	background: var(--color-secondary) !important;
	color: var(--color-white) !important;
}
.ecs-cards-pagination a {
	display: inline-block;
	background: transparent;
	padding: 0.25em;
}

/* Specificationsa */
.spec-feature-category li {
	color: var(--color-gray);
}
.ts.bg-white .spec-feature-category ul {
	color: var(--color-gray) !important;
}
.ts.bg-white .spec-feature-category h4 {
	border-bottom: 1px solid var(--color-gray);
}
.ts.bg-white a.more-specs {
	border: 1px solid var(--color-secondary) !important;
    background: transparent !important;
    color: var(--color-secondary) !important;
}
.ts.bg-white a.more-specs:hover {
	border: 1px solid var(--color-secondary) !important;
    background: var(--color-secondary) !important;
    color: var(--color-white) !important;
}

/* Search */
.search-results {
	max-width: 1240px;
}
.search-page__form .container-inline {
	display: flex;
	gap: 1em;
	width: 100%;
	max-width: 1024px;
	margin: 0 auto 1em;
    flex-wrap: unset !important;
}
.search-page__form .action.search,.search-page__form input[type="submit"] {
	padding: 0.75em 1em;
	font-size: 1em;
	text-transform: unset;
	letter-spacing: 1px;
	border: 1px solid var(--color-secondary);
	background: var(--color-secondary);
	color: var(--color-white);
	border-radius: 0 !important;
}
.search-page__form .action.search:hover,.search-page__form input[type="submit"]:hover {
	border: 1px solid var(--color-primary);
	background: var(--color-primary);
}
.search-page__content h2 {
	display: none !important;
}
.search-results ol {
	list-style-type: none;
	padding: 0;
	margin: 0; 
}
.search-result__title a {
	text-decoration: none;
}
.search-result__title a:hover {
	color: var(--color-secondary);
	text-decoration: none;
}
nav.pager {
	text-align: center;
	}
nav.pager .pager__item a {
	display: inline-block;
	padding: 0.25em 0.5em;
}
nav.pager .pager__item.is-active {
	font-weight: bold;
	color: var(--color-primary);
}
@media (min-width: 768px) {
	.search-result__title {
		font-size: 2em;
	}
}

/* Are You Ready readiness result. The matched bucket header/body come from the
   quiz_readiness handler config; copy was ported from the WordPress results
   pages, which use class="button" for CTAs (mapped here to the brand button). */
.quiz-result-page__winner {
	text-align: center;
	max-width: 760px;
	margin: 0 auto;
}
.quiz-result-page__winner h1 {
	margin-bottom: 0.5em;
}
.quiz-result-page__winner h2 {
	color: var(--color-secondary);
	margin: 1em 0 0.5em;
}
.quiz-result-page__winner .button {
	display: inline-block;
	margin-top: 1em;
	padding: 0.75em 1.5em;
	font-size: 0.85em;
	letter-spacing: 1px;
	border: 1px solid var(--color-secondary);
	background: var(--color-secondary);
	color: #fff;
	text-decoration: none;
}
.quiz-result-page__winner .button:hover {
	border-color: var(--color-primary);
	background: var(--color-primary);
}

/* June 8 */
.interior .menu-trigger {
	background: transparent url(../images/menu-icon.png) top left no-repeat !important;
    background-size: 100% auto !important;
}
.interior .search-trigger {
    background: transparent url(../images/search-icon.png) top left no-repeat !important;
    background-size: 100% auto !important;
}
.interior.is-scrolled .menu-trigger {
	background: transparent url(../images/menu-icon-primary.png) top left no-repeat !important;
    background-size: 100% auto !important;
}
.interior.is-scrolled .search-trigger {
    background: transparent url(../images/search-icon-primary.png) top left no-repeat !important;
    background-size: 100% auto !important;
}

/* Mobile menu open on interior pages. When the menu is open the base
   .mm-opened rules force the header bar light and swap in the dark logo +
   primary close/search icons (this is what renders the header in the open
   menu). On interior pages cobalt keeps the white logo and the white closed
   state icons above, which then disappear against the light open header,
   leaving a blank menu header. While the menu is open, override back to the
   dark logo and primary icons regardless of scroll state.
   NB: .mm-opened is on <html>; .interior / .is-scrolled are on <body> — so
   these must be descendant selectors, not a compound on one element.
   (The header z-index that lifts it above the mmenu panel is handled in the
   shared stark_child `.mm-opened .header` rule; here we only fix the colors
   cobalt's interior overrides leave illegible on the light open header.) */
.mm-opened .interior .nav-logo-light {
	display: none;
}
.mm-opened .interior .nav-logo-dark {
	display: block;
}
.mm-opened .interior .menu-trigger,
.mm-opened .interior.is-scrolled .menu-trigger {
	background: transparent url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 240 240'><circle cx='120' cy='120' r='110' fill='none' stroke='%231b365d' stroke-width='10'/><path d='M75 75L165 165M165 75L75 165' stroke='%231b365d' stroke-width='14' stroke-linecap='round' fill='none'/></svg>") center center no-repeat !important;
	background-size: contain !important;
}
.mm-opened .interior .search-trigger,
.mm-opened .interior.is-scrolled .search-trigger {
	background: transparent url(../images/search-icon-primary.png) center center no-repeat !important;
	background-size: contain !important;
}

/* Blog Cards */
.bcs-card a {
	display: block;
	overflow: hidden;
	min-height: 300px;
	max-height: 300px;
}
.bcs-card a img {
	height: 100%;
	max-height: 100%;
	width: auto;
	max-width: auto;
}
.bcs-box h2 a,.bcs-box a.btn {
	overflow: hidden;
	min-height: unset;
	max-height: unset;
}
.bcs-box a.btn {
	display: inline-block;
}

/* Columns Component */
.cols .col .col-media {
	margin: 0 0 1em;
}

/* Press Releases */
.page-press-releases .bcs-card {
	padding: 1.5rem !important;
	background: var(--color-lightgray) !important;
	margin: 0 !important;
}
.page-press-releases .bcs-box {
	padding: 0 !important;
}
.node-type-press-release .bdc {
    max-width: 1140px;
    margin: 0 auto;
}
.post-meta {
	border-top: 1px solid var(--color-lightgray) !important;
    border-bottom: 1px solid var(--color-lightgray) !important;
}
@media (max-width: 767px) {
	.page-press-releases .bcs-card {
		margin-bottom: 2em !important;
	}
	.page-press-releases .bcs-card:last-child {
		margin-bottom: 0 !important;
	}
}
@media (min-width: 768px) {
	.page-press-releases .bcs-card {
		padding: 2rem !important;
	}
}

/* DYD Anchor */
#design-your-dream {
	scroll-margin-top: -10px;
}

/* Video Carousel Component */
.vg-videos-carousel .swiper-pagination {
  margin: 4em 0 0;
  text-align: center;
}
.vg-videos-carousel .swiper-pagination-bullet {
  width: var(--hv-dot-width);
  height: var(--hv-dot-height);
  background: var(--color-dotgray) !important;
  opacity: 1;
  margin: 0 0.35em;
  border-radius: 9999px;
}
.vg-videos-carousel .swiper-pagination-bullet-active {
  opacity: 1;
  width: var(--hv-dot-active-width);
  height: var(--hv-dot-active-height);
  border: 5px solid var(--color-secondary);
  background: var(--color-dotgray) !important;
  margin-bottom: -4px !important;
}
.vg .swiper-button-prev {
  width: 48px;
  height: 48px;
  background: transparent url('../assets/images/arrow-circle-black-left.png') center center no-repeat !important;
  background-size: 100% auto !important;
}
.vg .swiper-button-prev::after {
  display: none;
}
.vg .swiper-button-next {
  width: 48px;
  height: 48px;
  background: transparent url('../assets/images/arrow-circle-black-right.png') center center no-repeat !important;
  background-size: 100% auto !important;
}
.vg .swiper-button-next::after {
  display: none;
}
.vg .swiper-button-prev {
  left: 0.5em;
}
.vg .swiper-button-next {
  right: 0.5em;
}