@charset "UTF-8";
:root {
  --asset-url:"https://assets.doctorlogic.com/Images/Sites/S/SD-JohnsonOrtho";
  --global-asset-url:"https://assets.doctorlogic.com/Images/Sites/GlobalAssets";
}

/* Universal Color Matches */
/* Site Fonts */
/* Change These For Your Design */
/* Site Wide */
/* Fonts */
/* Logos */
/* CTAs */
/* Nav */
/* Header */
/* Section Widths */
/* Section Padding */
/* Box Padding */
/* Grid or Flexbox Gap */
/* Interior Page Elements */
/* Homepage */
/* Category Column Span */
/* Category Min Height */
/* Parallax Image */
/* Aisle Column Span */
/* Aisle Min Height */
/* Homepage Images */
/* Interior Images */
/* Universal Color Matches */
/* Site Wide */
/* Fonts */
/* Logos */
/* CTAs */
/* Header */
/* Footer */
/* Nav */
/* Section Widths */
/* Section Padding */
/* Border Radius */
/* Box Padding */
/* Grid or Flexbox Gap */
/* Interior Page Elements */
/* Procedure Item */
/* Homepage */
/* Category Column Span */
/* Category Min Height */
/* Parallax Image */
/* Aisle Column Span */
/* Aisle Min Height */
:root {
  --phone-min: 421px;
  --phone-wide-min: 569px;
  --tablet-min: 768px;
  --tablet-wide-min: 991px;
  --desktop-sm-min: 1025px;
  --desktop-min: 1241px;
  --desktop-wide-min: 1441px;
}

/* Lazy load */
.lazy-load-image,
.lazy-background,
.lazy-iframe {
  opacity: 0;
  transition: 0.3s opacity linear;
}
.lazy-load-image:not(.visible),
.lazy-background:not(.visible),
.lazy-iframe:not(.visible) {
  min-height: 1px;
  margin: 0 !important;
}
.lazy-load-image.visible.complete,
.lazy-background.visible.complete,
.lazy-iframe.visible.complete {
  opacity: 1;
}

/*! normalize.css v8.0.1 | MIT License | github.com/necolas/normalize.css */
/* Document
   ========================================================================== */
/* box-sizing for flexbox */
*,
*::before,
*::after {
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  box-sizing: border-box;
}

/**
 * 1. Correct the line height in all browsers.
 * 2. Prevent adjustments of font size after orientation changes in iOS.
 */
html {
  line-height: 1.15; /* 1 */
  -webkit-text-size-adjust: 100%; /* 2 */
}

/* Sections
   ========================================================================== */
/**
 * Remove the margin in all browsers.
 */
body {
  margin: 0;
}

/**
 * Render the `main` element consistently in IE.
 */
main {
  display: block;
}

/**
 * Correct the font size and margin on `h1` elements within `section` and
 * `article` contexts in Chrome, Firefox, and Safari.
 */
h1, .h1 {
  font-size: 2em;
  margin: 0.67em 0;
}

/* Grouping content
   ========================================================================== */
/**
 * 1. Add the correct box sizing in Firefox.
 * 2. Show the overflow in Edge and IE.
 */
hr {
  box-sizing: content-box; /* 1 */
  height: 0; /* 1 */
  overflow: visible; /* 2 */
}

/**
 * 1. Correct the inheritance and scaling of font size in all browsers.
 * 2. Correct the odd `em` font sizing in all browsers.
 */
pre {
  font-family: monospace, monospace; /* 1 */
  font-size: 1em; /* 2 */
}

/* Text-level semantics
   ========================================================================== */
/**
 * Remove the gray background on active links in IE 10.
 */
a {
  background-color: transparent;
}

/**
 * 1. Remove the bottom border in Chrome 57-
 * 2. Add the correct text decoration in Chrome, Edge, IE, Opera, and Safari.
 */
abbr[title] {
  border-bottom: none; /* 1 */
  text-decoration: underline; /* 2 */
  text-decoration: underline dotted; /* 2 */
}

/**
 * Add the correct font weight in Chrome, Edge, and Safari.
 */
b,
strong {
  font-weight: bolder;
}

/**
 * 1. Correct the inheritance and scaling of font size in all browsers.
 * 2. Correct the odd `em` font sizing in all browsers.
 */
code,
kbd,
samp {
  font-family: monospace, monospace; /* 1 */
  font-size: 1em; /* 2 */
}

/**
 * Add the correct font size in all browsers.
 */
small {
  font-size: 80%;
}

/**
 * Prevent `sub` and `sup` elements from affecting the line height in
 * all browsers.
 */
sub,
sup {
  font-size: 75%;
  line-height: 0;
  position: relative;
  vertical-align: baseline;
}

sub {
  bottom: -0.25em;
}

sup {
  top: -0.5em;
}

/* Embedded content
   ========================================================================== */
/**
 * Remove the border on images inside links in IE 10.
 */
img {
  border-style: none;
}

/* Forms
   ========================================================================== */
/**
 * 1. Change the font styles in all browsers.
 * 2. Remove the margin in Firefox and Safari.
 */
button,
input,
optgroup,
select,
textarea {
  font-family: inherit; /* 1 */
  font-size: 100%; /* 1 */
  line-height: 1.15; /* 1 */
  margin: 0; /* 2 */
}

/**
 * Show the overflow in IE.
 * 1. Show the overflow in Edge.
 */
button,
input {
  /* 1 */
  overflow: visible;
}

/**
 * Remove the inheritance of text transform in Edge, Firefox, and IE.
 * 1. Remove the inheritance of text transform in Firefox.
 */
button,
select {
  /* 1 */
  text-transform: none;
}

/**
 * Correct the inability to style clickable types in iOS and Safari.
 */
button,
[type=button],
[type=reset],
[type=submit] {
  -webkit-appearance: button;
}

/**
 * Remove the inner border and padding in Firefox.
 */
button::-moz-focus-inner,
[type=button]::-moz-focus-inner,
[type=reset]::-moz-focus-inner,
[type=submit]::-moz-focus-inner {
  border-style: none;
  padding: 0;
}

/**
 * Restore the focus styles unset by the previous rule.
 */
button:-moz-focusring,
[type=button]:-moz-focusring,
[type=reset]:-moz-focusring,
[type=submit]:-moz-focusring {
  outline: 1px dotted ButtonText;
}

/**
 * Correct the padding in Firefox.
 */
fieldset {
  padding: 0.35em 0.75em 0.625em;
}

/**
 * 1. Correct the text wrapping in Edge and IE.
 * 2. Correct the color inheritance from `fieldset` elements in IE.
 * 3. Remove the padding so developers are not caught out when they zero out
 *    `fieldset` elements in all browsers.
 */
legend {
  box-sizing: border-box; /* 1 */
  color: inherit; /* 2 */
  display: table; /* 1 */
  max-width: 100%; /* 1 */
  padding: 0; /* 3 */
  white-space: normal; /* 1 */
}

/**
 * Add the correct vertical alignment in Chrome, Firefox, and Opera.
 */
progress {
  vertical-align: baseline;
}

/**
 * Remove the default vertical scrollbar in IE 10+.
 */
textarea {
  overflow: auto;
}

/**
 * 1. Add the correct box sizing in IE 10.
 * 2. Remove the padding in IE 10.
 */
[type=checkbox],
[type=radio] {
  box-sizing: border-box; /* 1 */
  padding: 0; /* 2 */
}

/**
 * Correct the cursor style of increment and decrement buttons in Chrome.
 */
[type=number]::-webkit-inner-spin-button,
[type=number]::-webkit-outer-spin-button {
  height: auto;
}

/**
 * 1. Correct the odd appearance in Chrome and Safari.
 * 2. Correct the outline style in Safari.
 */
[type=search] {
  -webkit-appearance: textfield; /* 1 */
  outline-offset: -2px; /* 2 */
}

/**
 * Remove the inner padding in Chrome and Safari on macOS.
 */
[type=search]::-webkit-search-decoration {
  -webkit-appearance: none;
}

/**
 * 1. Correct the inability to style clickable types in iOS and Safari.
 * 2. Change font properties to `inherit` in Safari.
 */
::-webkit-file-upload-button {
  -webkit-appearance: button; /* 1 */
  font: inherit; /* 2 */
}

/* Interactive
   ========================================================================== */
/*
 * Add the correct display in Edge, IE 10+, and Firefox.
 */
details {
  display: block;
}

/*
 * Add the correct display in all browsers.
 */
summary {
  display: list-item;
}

/* Misc
   ========================================================================== */
/**
 * Add the correct display in IE 10+.
 */
template {
  display: none;
}

/**
 * Add the correct display in IE 10.
 */
[hidden] {
  display: none;
}

/* Don't Change These */
:root {
  --logo-color: url("https://assets.doctorlogic.com/Images/Sites/S/SD-JohnsonOrtho/MasterPage/1594138.svg");
  --logo-white: url("https://assets.doctorlogic.com/Images/Sites/S/SD-JohnsonOrtho/MasterPage/1608935.svg");
  --font-family: inter-variable, sans-serif;
  --font-family-alt: merriweather, serif;
  --subheadline-size: clamp(1rem, 2vw, 1.4rem);
  --cta-color: #FFFFFF;
  --cta-color-sticky: #1C2221;
  --cta-color-hover: #369C8E;
  --nav-color: #1C2221;
  --nav-color-hover: #369C8E;
  --nav-color-sticky: #1C2221;
  --header-max-width: 1690px;
  --header-padding-x: 48px;
  --header-padding-y: 12px;
  --max-width: 1200px;
  --max-width-narrow: 1000px;
  --padding-y: 60px;
  --padding-x: 32px;
  --padding-y-mobile: 40px;
  --padding-x-mobile: 32px;
  --padding-y-tablet: 60px;
  --padding-x-tablet: 32px;
  --box-padding: 24px;
  --box-padding-mobile: 24px 0;
  --gap: 1rem;
  --gap-mobile: 10px;
  --category-columns-sm: 24;
  --category-columns-md: 12;
  --category-columns-lg: 12;
  --category-min-height: 600px;
  --category-min-height-mobile: 350px;
  --parallax: url("//assets.doctorlogic.com/Images/Sites/T/ThePlasticsClinic_Sparks/MasterPage/1046955.jpg");
  --aisle-columns-sm: 24;
  --aisle-columns-md: 12;
  --aisle-columns-lg: 12;
  --aisle-min-height: 600px;
  --aisle-min-height-mobile: 300px;
  --interior-feature-heading-bg: #F9F9F9;
  --interior-feature-bg: #F9F9F9;
  --interior-parallax-1: url("https://assets.doctorlogic.com/Images/Sites/S/SD-JohnsonOrtho/MasterPage/1594157.jpg");
  --interior-parallax-2: url("https://assets.doctorlogic.com/Images/Sites/S/SD-JohnsonOrtho/MasterPage/1594156.jpg");
  --interior-parallax-3: url("https://assets.doctorlogic.com/Images/Sites/S/SD-JohnsonOrtho/MasterPage/1594159.jpg");
  --color-1: #1C2221;
  --color-2: #FFFFFF;
  --color-3: #45C2B1;
  --color-4: #369C8E;
  --color-5: #F9F9F9;
  --color-6: #3D4543;
}

html {
  scroll-behavior: smooth;
  scroll-padding-top: calc(var(--header-height, 0px) * 1.5 + 2rem);
}

body {
  position: relative;
  transition: all ease-in-out 0.3s;
}
body.nav-opens--right {
  right: 0;
}
body.nav-opens--left {
  left: 0;
}

li {
  line-height: 1.5;
}

.hidden {
  display: none;
}

.btn {
  white-space: nowrap;
}

.alma-grid {
  padding: 20px;
  max-width: 1400px;
  margin: 0 auto;
  display: grid;
  grid-template-columns: repeat(24, 1fr);
  grid-row-gap: 10px;
  grid-column-gap: 10px;
  grid-gap: 10px;
}
.alma-grid ul.breadcrumb {
  grid-column: auto/span 24;
  display: flex;
  list-style: none;
  padding: 0;
}
.alma-grid ul.breadcrumb li {
  padding-right: 10px;
}
.alma-grid ul.breadcrumb li a {
  text-decoration: none;
  color: #1C2221;
}
.alma-grid ul.breadcrumb > li + li:before {
  color: #000000;
  content: "> ";
  padding: 0 5px;
  text-align: center;
}
.alma-grid__title {
  grid-column: auto/span 24;
}
.alma-grid__content {
  grid-column: auto/span 24;
  display: grid;
  grid-template-columns: repeat(24, 1fr);
  grid-row-gap: 10px;
  grid-column-gap: 10px;
  grid-gap: 10px;
}
.alma-grid__content-left {
  grid-column: auto/span 12;
}
@media (min-width: 768px) {
  .alma-grid__content-left {
    grid-column: auto;
  }
}
.alma-grid__content-left img {
  width: 100%;
  height: auto;
  display: block;
  min-width: 300px;
}
.alma-grid__content-right {
  grid-column: auto/span 24;
}
@media (min-width: 768px) {
  .alma-grid__content-right {
    grid-column: auto/span 18;
  }
}
.alma-grid__content-logo {
  padding: 0 0 40px;
}
.alma-grid__content-logo img {
  max-width: 300px;
  width: 100%;
  height: auto;
  display: block;
}
.alma-grid__gallery {
  grid-column: auto/span 24;
  display: grid;
  grid-template-columns: repeat(24, 1fr);
  grid-row-gap: 10px;
  grid-column-gap: 10px;
  grid-gap: 10px;
  padding: 40px 0;
}
.alma-grid__gallery-headline {
  grid-column: auto/span 24;
}
.alma-grid__gallery-slider {
  grid-column: auto/span 24;
}
.alma-grid__gallery-cell {
  width: 100%;
  margin: 0 10px;
}
.alma-grid__gallery-cell img {
  width: 100%;
  height: auto;
  display: block;
}
@media (min-width: 768px) {
  .alma-grid__gallery-cell {
    width: 50%;
  }
}
@media (min-width: 1241px) {
  .alma-grid__gallery-cell {
    width: 30%;
  }
}
.alma-grid__videos {
  grid-column: auto/span 24;
  display: grid;
  grid-template-columns: repeat(24, 1fr);
  grid-row-gap: 10px;
  grid-column-gap: 10px;
  grid-gap: 10px;
  padding: 40px 0;
}
.alma-grid__videos-headline {
  grid-column: auto/span 24;
}
.alma-grid__videos-slider {
  grid-column: auto/span 24;
}
.alma-grid__videos-cell {
  width: 100%;
  margin: 0 10px;
}
@media (min-width: 768px) {
  .alma-grid__videos-cell {
    width: 50%;
  }
}
@media (min-width: 1241px) {
  .alma-grid__videos-cell {
    width: 30%;
  }
}
.alma-grid__videos-item {
  position: relative;
  padding-bottom: 56.25%;
  height: 0;
  overflow: hidden;
}
.alma-grid__videos-item iframe {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}
.alma-grid__faqs {
  grid-column: auto/span 24;
}
.alma-grid__faqs-items {
  padding: 20px 0 40px;
}
.alma-grid__faqs-item {
  padding: 0 0 40px;
}

.header--3 {
  position: sticky;
  top: 0;
  z-index: 500;
}
body.nav-opens--right .header--3 {
  right: 0;
}
body.nav-opens--left .header--3 {
  left: 0;
}
.header--3 .nav__items--sub li:first-of-type:has(.slide-menu__backlink) {
  padding: 0 !important;
}
.header--3 .slide-menu {
  width: 320px;
  height: 100% !important;
  min-height: 100dvh !important;
  display: grid !important;
  grid-template-rows: 1fr auto !important;
}
@media (min-width: 1241px) {
  .header--3 .slide-menu {
    min-height: unset !important;
    display: flex;
    height: auto;
  }
}
.header--3 .slide-menu__backlink {
  color: #1C2221;
  padding: 18px 10px;
}
.dark-mode .header--3 .slide-menu__backlink {
  color: #FFFFFF;
}
.header--3 .slide-menu__backlink:hover {
  color: #1C2221;
}
.dark-mode .header--3 .slide-menu__backlink:hover {
  color: #FFFFFF;
}

body.openNav .header {
  right: 0 !important;
}
body.openNav .header__nav {
  display: block;
}

.header {
  height: calc(var(--header-height) * 1px);
  background-color: primary;
  background-color: #FFFFFF;
}
.dark-mode .header {
  background-color: #1C2221;
  background-color: #1C2221;
}
.header__container {
  margin: 0 auto;
  padding: 20px 48px !important;
  display: flex;
  align-items: center;
}
@media (min-width: 1241px) {
  .header__container {
    display: grid;
    grid-template-columns: minmax(48px, calc((100vw - 1690px) / 2 + 48px)) 1fr 1fr minmax(48px, calc((100vw - 1690px) / 2 + 48px));
    padding: 0 !important;
  }
}
.header ul {
  padding: 0;
  list-style: none;
}
.header__logo {
  background-image: url("https://assets.doctorlogic.com/Images/Sites/S/SD-JohnsonOrtho/MasterPage/1608935.svg");
  background-position: left center;
  background-size: contain;
  background-repeat: no-repeat;
  margin: 10px 0;
}
.header__notification {
  padding: 10px;
}
.header__notification-text {
  padding: 0 20px;
  margin: 0 10px;
}
.header__logo-container {
  flex: 1;
  padding: 0;
}
@media (min-width: 1241px) {
  .header__logo-container {
    grid-column: 2/span 1;
    padding: 12px 0 12px 20px;
  }
}
.header__logo {
  height: 46px;
}
@media (min-width: 1241px) {
  .header__logo {
    height: 64px;
  }
}
.header__logo-text {
  height: 60px;
  display: flex;
  align-items: center;
  font-size: clamp(0.9rem, 1.5vw, 2rem);
  color: #FFFFFF;
}
.header__cta-container {
  flex: 0 0 auto;
  margin-left: auto;
  padding: 0 0 0 20px;
  display: flex;
  align-items: center;
}
@media (min-width: 1241px) {
  .header__cta-container {
    grid-column: 3/span 1;
    padding-right: 20px;
  }
}
.header__cta-container .nav__items {
  display: flex;
  align-items: center;
  margin-top: 0;
}
.header__cta-container .nav__item,
.header__cta-container .nav__link {
  padding: 0 0 0 16px !important;
}
.header .slide-menu {
  padding-right: 0px;
  padding-top: 28px;
}
@media (min-width: 1241px) {
  .header .slide-menu {
    padding-top: 0;
  }
}
.header .nav-toggle {
  width: 42px !important;
  left: auto !important;
  right: 0 !important;
}
.header__nav-toggle {
  display: block;
  position: relative;
  width: 24px;
  height: 24px;
  margin-inline-start: 15px;
}
.header__nav-toggle label {
  cursor: pointer;
  width: 24px;
  height: 24px;
  display: inline-block;
}
.header__nav-toggle input {
  display: none;
}
.header__nav-toggle span {
  transition-duration: 0s;
  transition-delay: 0.2s;
  display: inline-block;
  width: 24px;
  height: 3px;
  background-color: black;
  border-radius: 3px;
  position: absolute;
  top: 51%;
  transform: translateY(-50%);
}
.header__nav-toggle span::after, .header__nav-toggle span::before {
  transition-delay: 0.2s, 0s;
  transition-duration: 0.2s;
  transition-property: margin, transform;
  content: "";
  position: absolute;
  width: 24px;
  height: 3px;
  background-color: black;
  border-radius: 3px;
}
.header__nav-toggle span::after {
  margin-top: 8px;
}
.header__nav-toggle span::before {
  margin-top: -8px;
}
.header__nav-toggle .header__nav-toggle--open span {
  background-color: transparent;
  display: none;
}
.header__nav-toggle .header__nav-toggle--open span::before, .header__nav-toggle .header__nav-toggle--open span::after {
  transition-delay: 0s, 0.2s;
  margin-top: 0;
}
.header__nav-toggle .header__nav-toggle--open span::before {
  transform: rotate(45deg);
}
.header__nav-toggle .header__nav-toggle--open span::after {
  transform: rotate(-45deg);
}
@media (min-width: 1241px) {
  .header:has(.header__mobile-ctas) .slide-menu {
    flex-direction: row;
  }
}
.header__mobile-ctas {
  display: flex;
  flex-direction: column;
  flex: 1;
  background: rgb(236.25, 236.25, 236.25);
  padding: 24px 10px;
  border-top: solid 1px #c6c6c6;
  margin-top: auto;
}
@media (min-width: 1241px) {
  .header__mobile-ctas {
    display: none;
  }
}
.header.hamburger .header__mobile-ctas {
  display: flex;
  flex-direction: column;
  flex: 1;
  background: rgb(236.25, 236.25, 236.25);
  padding: 24px 10px;
  border-top: solid 1px #c6c6c6;
  max-height: 50%;
  margin-top: auto;
}
.header__mobile-cta {
  display: flex;
  align-items: center;
  padding: 8px 20px;
}
.header__mobile-cta svg {
  width: 16px;
  height: 16px;
}
.header__mobile-cta span {
  padding-left: 12px;
  font-weight: 700;
  font-size: 0.8rem;
  text-transform: uppercase;
  color: #1C2221;
}
.dark-mode .header__mobile-cta span {
  color: #1C2221;
}
.header__nav-toggle--left {
  margin-inline-start: 0px;
  margin-inline-end: 24px;
}
@media (min-width: 1241px) {
  .header__nav {
    grid-column: 1/span 5;
  }
}
.header__nav .nav__link {
  text-decoration: none;
  color: #1C2221;
  display: block;
}
.header__nav .nav__item--sub:hover .nav__item--tert {
  padding: 10px;
}
.header__nav .nav-toggle {
  position: absolute;
  inset: calc(var(--header-height) / 4) 0 0;
  width: 100%;
  height: calc(var(--header-height) / 2);
  display: flex;
  align-items: center;
  justify-content: flex-end;
  padding: 8px 24px;
  z-index: 999;
  cursor: pointer;
}
.header__nav .nav-toggle span {
  background-color: transparent !important;
}
.header__nav .nav-toggle span::before {
  content: "✕";
  cursor: pointer;
  font-size: clamp(1rem, 1.5vw, 1.3rem);
}
.header__notification {
  display: flex;
  align-items: center;
  justify-content: center;
}
@media (min-width: 1241px) {
  .header:not(.hamburger) .header__nav .nav__item:last-of-type .nav__items--sub {
    left: auto;
    right: 0;
  }
}
@media (min-width: 1241px) {
  .header:not(.hamburger) .header__nav .slide-menu .nav__item:last-of-type ul ul {
    left: -100% !important;
  }
}

.cta__icon {
  width: 24px;
  display: flex;
  align-items: center;
}
.cta__icon svg {
  width: 24px;
  height: 24px;
}
@media (min-width: 1241px) {
  .cta__icon {
    display: none;
  }
}

.nav__link {
  display: none;
}
@media (min-width: 1241px) {
  .nav__link {
    display: block;
  }
}

.slide-menu ul ul {
  padding: 8px 10px !important;
  width: 320px;
}
@media (min-width: 1241px) {
  .slide-menu ul ul {
    padding: 20px 0 !important;
    width: 320px;
  }
}

@media (min-width: 1241px) {
  .header:not(.hamburger) .header__logo {
    height: 56px;
  }
}
@media (min-width: 1241px) {
  .header:not(.hamburger) .header__nav-toggle {
    display: none;
  }
}
@media (min-width: 1241px) {
  .header:not(.hamburger) .header__nav {
    flex: 0 0 100%;
    padding: 10px 0;
    position: relative;
    display: block;
  }
}
@media (min-width: 1241px) {
  .header:not(.hamburger) .header__nav .nav-toggle {
    display: none;
  }
}
@media (min-width: 1241px) {
  .header:not(.hamburger) .header__nav .nav__items {
    display: flex;
    flex-direction: row;
    align-items: center;
    justify-content: center;
    padding: 0;
  }
  .header:not(.hamburger) .header__nav .nav__items--sub {
    flex-direction: column;
    align-items: flex-start;
    top: 20px;
    left: 0;
    opacity: 0;
    visibility: hidden;
    transition: opacity 0.3s;
    min-width: 300px;
    width: 100%;
  }
  .header:not(.hamburger) .header__nav .nav__items--tert {
    flex-direction: column;
    min-width: 100%;
  }
}
@media (min-width: 1241px) and (min-width: 1241px) {
  .header:not(.hamburger) .header__nav .nav__items--tert {
    padding-top: 0;
  }
  .header:not(.hamburger) .header__nav .nav__items--tert::after {
    content: "";
    position: absolute;
    inset: 0;
    width: 100%;
    min-height: 40vh;
    z-index: -1;
  }
}
@media (min-width: 1241px) {
  .header:not(.hamburger) .header__nav .nav__item {
    padding: 0 10px;
    position: relative;
  }
  .header:not(.hamburger) .header__nav .nav__item > .nav__items {
    display: none;
  }
  .header:not(.hamburger) .header__nav .nav__item:hover .nav__items--sub {
    visibility: visible;
    opacity: 1;
  }
  .header:not(.hamburger) .header__nav .nav__item:hover > .nav__items {
    display: flex;
  }
}
.header:not(.hamburger) .header__nav .nav__item--sub {
  width: 100%;
  padding: 10px;
}
.header:not(.hamburger) .header__nav .nav__item--sub:has(.nav__items--tert) > .nav__link {
  position: relative;
  width: 100%;
}
.header:not(.hamburger) .header__nav .nav__item--sub:has(.nav__items--tert) > .nav__link::after {
  content: "＞";
  position: absolute;
  left: auto;
  right: 20px;
  top: 50%;
  transform: translateY(-50%);
  opacity: 0;
  transition: opacity 0.3s ease;
}
@media (min-width: 1241px) {
  .header:not(.hamburger) .header__nav .nav__item--sub {
    background: #FFFFFF;
  }
}
@media (min-width: 1025px) {
  .header:not(.hamburger) .header__nav .nav__item--sub:hover .nav__link::after {
    opacity: 1;
  }
}
.header:not(.hamburger) .header__nav .nav__item--tert {
  width: 100%;
  padding: 10px;
}
@media (min-width: 1241px) {
  .header:not(.hamburger) .header__nav .nav__item--tert {
    background: #FFFFFF;
    display: none;
  }
}
@media (min-width: 1241px) {
  .header:not(.hamburger) .header__nav .nav__item--sub:hover .nav__item--tert {
    min-width: 180px;
    display: block;
  }
}
.header:not(.hamburger) .header__notification {
  display: flex;
  align-items: center;
  justify-content: center;
}

.header--scroll {
  box-shadow: rgba(17, 12, 46, 0.15) 0px 0 100px 0px;
}
.header--scroll .header__logo-text {
  color: #45C2B1;
}

html:not(.home-page) .header {
  position: sticky;
}
html:not(.home-page) .header__logo-text {
  color: #1C2221;
}

.slide-menu__decorator span {
  margin: 0 !important;
}
.slide-menu__decorator span::before {
  left: 0.45em !important;
  top: 50% !important;
}

.slide-menu__backlink span::before {
  right: 0.45em !important;
  top: 33% !important;
}

.slide-menu {
  background-color: primary;
  background-color: #FFFFFF;
}
.dark-mode .slide-menu {
  background-color: #1C2221;
  background-color: #1C2221;
}

.nav__item {
  padding: 8px 16px;
}
.nav__item .nav__link {
  color: #1C2221;
}
.dark-mode .nav__item .nav__link {
  color: #FFFFFF;
}

.nav-toggle span::before {
  color: #1C2221;
}
.dark-mode .nav-toggle span::before {
  color: #FFFFFF;
}

.header:not(.hamburger) .header__container {
  background-color: primary;
  background-color: #FFFFFF;
}
.dark-mode .header:not(.hamburger) .header__container {
  background-color: #1C2221;
  background-color: #1C2221;
}
.header:not(.hamburger) .header__logo {
  background-image: url("https://assets.doctorlogic.com/Images/Sites/S/SD-JohnsonOrtho/MasterPage/1594138.svg");
}
@media (min-width: 1241px) {
  .header:not(.hamburger) .nav__item .nav__link {
    color: #1C2221;
  }
  .dark-mode .header:not(.hamburger) .nav__item .nav__link {
    color: #FFFFFF;
  }
  .header:not(.hamburger) .nav__item--sub,
  .header:not(.hamburger) .nav__item--tert {
    background-color: primary;
    background-color: #FFFFFF;
  }
  .dark-mode .header:not(.hamburger) .nav__item--sub,
  .dark-mode .header:not(.hamburger) .nav__item--tert {
    background-color: #1C2221;
    background-color: #1C2221;
  }
  .header:not(.hamburger) .nav__item--sub:hover,
  .header:not(.hamburger) .nav__item--tert:hover {
    background: #c6c6c6;
  }
}

html.dark-mode .header:not(.hamburger) .header__logo {
  background-image: url("https://assets.doctorlogic.com/Images/Sites/S/SD-JohnsonOrtho/MasterPage/1608935.svg");
}

.header.hamburger .header__logo {
  background-image: url("https://assets.doctorlogic.com/Images/Sites/S/SD-JohnsonOrtho/MasterPage/1594138.svg");
}
.header.hamburger .header__container {
  background-color: primary;
  background-color: #FFFFFF;
}
.dark-mode .header.hamburger .header__container {
  background-color: #1C2221;
  background-color: #1C2221;
}
.header.hamburger .slide-menu ul {
  padding: 78px 10px 20px 10px !important;
}

html.dark-mode .header.hamburger .header__logo {
  background-image: url("https://assets.doctorlogic.com/Images/Sites/S/SD-JohnsonOrtho/MasterPage/1608935.svg");
}

.header.header--scroll .header__container {
  background-color: primary;
  background-color: #FFFFFF;
}
.dark-mode .header.header--scroll .header__container {
  background-color: #1C2221;
  background-color: #1C2221;
}

html .header.header--scroll .header__cta-container .nav__link {
  color: #1C2221;
}
.dark-mode html .header.header--scroll .header__cta-container .nav__link {
  color: #FFFFFF;
}

html.dark-mode .header__nav-toggle span::before,
html.dark-mode .header__nav-toggle span::after,
html.dark-mode .header__nav-toggle span {
  background: #FFFFFF;
}
html.dark-mode .header__logo {
  background-image: url("https://assets.doctorlogic.com/Images/Sites/S/SD-JohnsonOrtho/MasterPage/1608935.svg");
}
html.dark-mode .header.header--scroll .header__logo {
  background-image: url("https://assets.doctorlogic.com/Images/Sites/S/SD-JohnsonOrtho/MasterPage/1608935.svg");
}
html.dark-mode .header.header--scroll .header__nav-toggle span::before,
html.dark-mode .header.header--scroll .header__nav-toggle span::after,
html.dark-mode .header.header--scroll .header__nav-toggle span {
  background: #FFFFFF;
}
html.dark-mode .header .header__cta-container g.st0 {
  fill: #FFFFFF;
}

@media (min-width: 1241px) {
  .header:not(.hamburger) .nav__items--sub {
    max-width: 300px !important;
  }
  .header:not(.hamburger) .nav__item--sub {
    position: unset !important;
  }
  .header:not(.hamburger) .nav__items--tert {
    top: 20px !important;
  }
  .header:not(.hamburger) .slide-menu {
    background: transparent;
  }
}
@media (min-width: 1241px) {
  .header:not(.hamburger):not(.header--scroll) .nav__item--sub:hover,
  .header:not(.hamburger):not(.header--scroll) .nav__item--tert:hover {
    background: #c6c6c6 !important;
    color: #1C2221;
  }
}

html.home-page .header {
  background: transparent;
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
}
html.home-page .header .header__container {
  background: transparent;
}
html.home-page .header .header__logo {
  background: url("https://assets.doctorlogic.com/Images/Sites/S/SD-JohnsonOrtho/MasterPage/1608935.svg");
  background-size: contain;
  background-position: left center;
  background-repeat: no-repeat;
}
html.home-page .header .header__cta-container::before {
  background: #FFFFFF;
}
html.home-page .header .header__nav-toggle span, html.home-page .header .header__nav-toggle span::before, html.home-page .header .header__nav-toggle span::after {
  background: #FFFFFF;
}
html.home-page .header .header__cta-container .nav__link {
  color: #FFFFFF;
}
html.home-page .header .cta__icon .st0 {
  fill: #FFFFFF;
}

html.dark-mode.home-page .header:not(.hamburger) .header__container {
  background: transparent;
}

html.dark-mode.home-page .header:not(.hamburger).header--scroll .header__container {
  background-color: #1C2221;
}
html.dark-mode.home-page .header:not(.hamburger).header--scroll .header__logo {
  background: url("https://assets.doctorlogic.com/Images/Sites/S/SD-JohnsonOrtho/MasterPage/1608935.svg");
  background-size: contain;
  background-position: left center;
  background-repeat: no-repeat;
}
html.dark-mode.home-page .header:not(.hamburger).header--scroll .header__cta-container .nav__link {
  color: #FFFFFF;
}

html.home-page .header.header--scroll .header__container {
  background-color: primary;
  background-color: #FFFFFF;
}
.dark-mode html.home-page .header.header--scroll .header__container {
  background-color: #1C2221;
  background-color: #1C2221;
}
html.home-page .header.header--scroll .header__logo {
  background: url("https://assets.doctorlogic.com/Images/Sites/S/SD-JohnsonOrtho/MasterPage/1594138.svg");
  background-size: contain;
  background-position: left center;
  background-repeat: no-repeat;
}
html.home-page .header.header--scroll .header__cta-container .nav__link {
  color: #1C2221;
}
html.home-page .header.header--scroll .header__cta-container::before {
  background: #c6c6c6;
}
html.home-page .header.header--scroll .header__nav-toggle span, html.home-page .header.header--scroll .header__nav-toggle span::before, html.home-page .header.header--scroll .header__nav-toggle span::after {
  background: #1C2221;
}
html.home-page .header.header--scroll .cta__icon .st0 {
  fill: #1C2221;
}

html.home-page.dark-mode .header__container {
  background: transparent !important;
}

html.home-page.dark-mode .header.header--scroll .header__container {
  background: #1C2221 !important;
}
html.home-page.dark-mode .header.header--scroll .header__logo {
  background: url("https://assets.doctorlogic.com/Images/Sites/S/SD-JohnsonOrtho/MasterPage/1608935.svg");
  background-size: contain;
  background-position: left center;
  background-repeat: no-repeat;
}
html.home-page.dark-mode .header.header--scroll .nav__link {
  color: #FFFFFF;
}

html.dark-mode.home-page .header.header--scroll .cta__icon .st0 {
  fill: #FFFFFF;
}

html.dark-mode.home-page .header.header--scroll .header__nav-toggle span, html.dark-mode.home-page .header.header--scroll .header__nav-toggle span::before, html.dark-mode.home-page .header.header--scroll .header__nav-toggle span::after {
  background: #FFFFFF;
}

@media (min-width: 1241px) {
  html.home-page .header:not(.hamburger):not(.header--scroll) .nav__item .nav__link:not(.nav__item--sub .nav__link):not(.nav__item--tert .nav__link):not(.header__cta-container) {
    color: #FFFFFF;
  }
}

.header.hamburger .slide-menu {
  display: flex !important;
  flex-direction: column;
}
@media (min-width: 1241px) {
  .header.hamburger .slide-menu {
    flex-direction: column !important;
  }
}

.header__logo-container {
  max-width: 1200px !important;
}
.header__logo-container--user-defined .header__logo {
  display: block !important;
  height: 100% !important;
  width: 100% !important;
}
.header__logo-container--small {
  height: 70px !important;
  width: 100% !important;
  max-width: 400px !important;
}
.header__logo-container--medium {
  height: 100px !important;
  width: 100% !important;
  max-width: 800px !important;
}
.header__logo-container--large {
  height: 130px !important;
  width: 100% !important;
  max-width: 1200px !important;
}
.header .header__logo--user-defined.header__logo--small {
  width: 150px !important;
}
.header .header__logo--user-defined.header__logo--medium {
  width: 180px !important;
}
.header .header__logo--user-defined.header__logo--large {
  width: 210px !important;
}
@media (min-width: 1024px) {
  .header .header__logo-container {
    max-width: 1200px !important;
  }
  .header .header__logo {
    max-width: 1200px !important;
  }
}
@media (min-width: 768px) and (max-width: 1023px) {
  .header .header__logo-container {
    max-width: 800px !important;
  }
  .header .header__logo {
    max-width: 600px !important;
  }
}
@media (max-width: 767px) {
  .header .header__logo-container {
    max-width: 400px !important;
  }
  .header .header__logo-container--small {
    max-width: 340px !important;
  }
  .header .header__logo-container--medium {
    max-width: 370px !important;
  }
  .header .header__logo-container--large {
    max-width: 400px !important;
  }
  .header .header__logo {
    max-width: 140px !important;
  }
  .header .header__logo--small {
    max-width: 90px !important;
  }
  .header .header__logo--medium {
    max-width: 120px !important;
  }
  .header .header__logo--large {
    max-width: 140px !important;
  }
}

.header__notification {
  background: #45C2B1;
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-wrap: wrap;
  height: auto;
  opacity: 1;
}
.header__notification a {
  color: #FFFFFF;
  display: flex;
  align-items: center;
  justify-content: center;
}
.header__notification--hidden {
  overflow: hidden; /* Hide the element content, while height = 0 */
  height: 0;
  opacity: 0;
  padding: 0;
  transition: all ease-out 0.3s;
}

.header__notification-btn.btn {
  background: #369C8E;
  color: #FFFFFF;
  border: none;
  border-radius: 0;
  padding: 10px;
  margin: 0 10px;
}
@media (min-width: 1025px) {
  .header__notification-btn.btn:hover {
    background: rgb(27.7714285714, 80.2285714286, 73.0285714286);
  }
}

.header__notification-close {
  position: absolute;
  mix-blend-mode: exclusion;
  top: 50%;
  transform: translateY(-50%);
  right: 10px;
  width: 24px;
  height: 24px;
  cursor: pointer;
}

.slide-menu {
  position: fixed;
  width: 320px;
  max-width: 100%;
  height: 100vh;
  top: 0;
  right: 0;
  display: none;
  overflow: hidden;
  box-sizing: border-box;
  transform: translateX(100%);
  overflow-y: auto;
  z-index: 1000;
}

.slide-menu, .slide-menu .slide-menu__slider {
  transition: transform 0.3s ease-in-out;
  will-change: transform;
}

.slide-menu .slide-menu__slider {
  width: 100%;
  transform: translateX(0);
}

.slide-menu ul {
  position: relative;
  width: 100%;
  margin: 0;
  padding-left: 0;
  list-style: none;
}

.slide-menu ul ul {
  position: absolute;
  top: 0;
  left: 100%;
  display: none;
}

.slide-menu ul a {
  display: block;
}

.slide-menu a {
  cursor: pointer;
}

:root {
  --nav-breakpoint: 1241px;
}

.header:not(.hamburger) .slide-menu {
  left: auto;
  right: 0px;
  display: block;
}
@media (min-width: 1241px) {
  .header:not(.hamburger) .slide-menu {
    position: relative;
    width: auto;
    height: unset;
    top: unset;
    right: unset;
    display: block;
    transform: none;
    z-index: unset;
  }
}

.slide-menu {
  position: fixed;
  width: 280px;
  max-width: 100%;
  height: 100vh;
  top: 0;
  right: 0;
  display: none;
  overflow: hidden;
  box-sizing: border-box;
  transform: translateX(100%);
  overflow-y: auto;
  z-index: 1000;
}

@media (min-width: 1241px) {
  .header:not(.hamburger) .slide-menu {
    position: relative;
    width: 100%;
    height: auto;
    top: unset;
    right: unset;
    display: flex;
    overflow: visible;
    transform: none;
  }
}

body.openNav .slide-menu {
  display: block;
  transform: translateX(0);
}

.slide-menu,
.slide-menu .slide-menu__slider {
  transition: transform 0.3s ease-in-out;
  will-change: transform;
}

.slide-menu .slide-menu__slider {
  width: 100%;
  transform: translateX(0);
}

.slide-menu ul {
  position: relative;
  width: 100%;
  margin: 0;
  padding: 20px 10px;
  list-style: none;
}

.slide-menu ul ul {
  position: absolute;
  top: 0;
  left: 100%;
  display: none;
  padding: 0 10px;
}

.slide-menu ul a {
  display: block;
}

.slide-menu a {
  cursor: pointer;
}

.slide-menu__decorator span {
  position: relative;
}
.slide-menu__decorator span::before {
  content: "";
  border-style: solid;
  border-width: 0.15em 0.15em 0 0;
  display: inline-block;
  height: 0.45em;
  left: 0.15em;
  position: absolute;
  top: 50%;
  transform: rotate(45deg) translateY(-50%);
  vertical-align: top;
  width: 0.45em;
}

.slide-menu__backlink {
  padding: 20px;
  text-transform: uppercase;
  font-size: 1rem;
  color: #FFFFFF;
}
.slide-menu__backlink:hover {
  color: #FFFFFF;
}
.slide-menu__backlink span {
  position: relative;
}
.slide-menu__backlink span::before {
  content: "";
  border-style: solid;
  border-width: 0.15em 0.15em 0 0;
  display: inline-block;
  height: 0.45em;
  left: 0.15em;
  position: absolute;
  top: 35%;
  transform: rotate(-135deg);
  vertical-align: top;
  width: 0.45em;
}

.disclaimer {
  padding: 20px;
  text-align: center;
}

.footer--2 {
  padding: 20px 40px;
}

.footer__container {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  justify-content: center;
  max-width: 1200px;
  margin: 0 auto;
}
.footer__logo-container {
  flex: 0 0 100%;
  padding: 20px 20px 40px;
  display: flex;
  align-items: center;
  justify-content: center;
}
@media (min-width: 991px) {
  .footer__logo-container {
    flex: 0 0 20%;
    justify-content: flex-start;
    padding: 0 0 0 20px;
  }
}
.footer__logo {
  height: 70px;
  max-width: 200px;
  width: 100%;
}
.footer__logo--user-defined .header__logo {
  display: block;
  height: 100%;
  width: 100%;
}
.footer__logo--small {
  height: 70px;
  width: 100%;
  max-width: 400px;
}
.footer__logo--medium {
  height: 100px;
  width: 100%;
  max-width: 800px;
}
.footer__logo--large {
  height: 130px;
  width: 100%;
  max-width: 1200px;
}
.footer__logo-text {
  height: 70px;
  display: flex;
  align-items: center;
  font-size: clamp(0.9rem, 1vw, 1.2rem);
  color: #FFFFFF;
}
.footer__nav {
  flex: 0 0 100%;
}
@media (min-width: 768px) {
  .footer__nav {
    flex: 1;
  }
}
.footer__nav ul {
  padding: 0;
}
.footer__nav ul ul {
  padding-top: 8px;
}
.footer__nav li {
  font-size: 1.2rem;
}
.footer__nav li a {
  border-bottom: solid 1px #FFFFFF;
}
.footer__nav li li {
  font-size: 0.9rem;
}
.footer__nav li li a {
  border-bottom: unset;
}
.footer__nav .nav__items {
  display: flex;
  align-items: center;
  flex-direction: column;
}
@media (min-width: 991px) {
  .footer__nav .nav__items {
    flex-direction: row;
    justify-content: flex-start !important;
    align-items: flex-start;
  }
}
.footer__nav .nav__items--sub {
  flex-direction: column;
}
.footer__nav .nav__items--sub .nav__item {
  padding: 0;
}
.footer__nav .nav__item {
  padding: 5px 20px;
  flex-direction: column;
}
.footer__nav .nav__link {
  padding: 5px 0;
  text-decoration: none;
  display: block !important;
  text-align: center;
}
@media (min-width: 768px) {
  .footer__nav .nav__link {
    text-align: left;
  }
}
.footer .nav__items {
  list-style: none;
  justify-content: center;
}
@media (min-width: 991px) {
  .footer .nav__items {
    justify-content: flex-start;
  }
}
.footer .nav__link {
  color: #FFFFFF;
}
.footer__social-container {
  flex: 0 0 100%;
  padding: 20px 0 0;
}
@media (min-width: 768px) {
  .footer__social-container {
    flex: 0 0 auto;
  }
}
.footer__social-container .social-icons {
  display: flex;
  align-items: center;
  justify-content: center;
}
.footer__social-container .social-icons__icon {
  padding: 0 10px;
}
.footer__social-container .social-icons svg {
  width: 32px;
  height: 32px;
}
.footer__address {
  flex: 0 0 100%;
  padding: 40px 20px 0;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-direction: column;
  color: #FFFFFF;
}
@media (min-width: 991px) {
  .footer__address {
    flex-direction: row;
    flex-wrap: wrap;
  }
}
.footer__address p {
  padding: 0 5px;
  margin: 0;
}
.footer__address--multiple {
  padding: 10px 20px;
}
.footer__address a {
  color: #45C2B1;
}
.footer__address span {
  display: none;
  padding: 0 16px 0 11px;
}
@media (min-width: 991px) {
  .footer__address span {
    display: inline;
  }
}
.footer__custom {
  padding: 10px 0 0;
}
@media (min-width: 991px) {
  .footer__custom {
    padding: 0 0 0 20px;
  }
}
.footer__copyright {
  flex: 0 0 100%;
  display: flex;
  text-align: center;
  padding: 20px 20px 0;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  color: #FFFFFF;
}
@media (min-width: 991px) {
  .footer__copyright {
    flex-direction: row;
  }
}
.footer__copyright span {
  padding: 10px 0;
  color: #FFFFFF;
  font-size: clamp(0.9rem, 1vw, 1rem);
}
@media (min-width: 991px) {
  .footer__copyright span {
    padding: 0 20px;
  }
}
.footer__copyright a {
  color: #FFFFFF;
  font-size: clamp(0.9rem, 1vw, 1rem);
}
.footer__dl {
  display: flex;
  align-items: center;
  color: #FFFFFF;
}
@media (min-width: 768px) {
  .footer__dl {
    padding: 0 5px;
  }
}
.footer__dl span {
  padding: 0 5px;
  color: #FFFFFF;
}
.footer__dl svg {
  width: 27px;
  height: 27px;
  padding: 3px;
}
.footer__dl svg .st0 {
  fill: #FFFFFF;
}
.footer__dl a {
  color: #FFFFFF;
}

.pushup {
  opacity: 0;
}

.pushed {
  animation: pushup 0.7s ease-out forwards;
}

@keyframes pushup {
  0% {
    opacity: 0;
    transform: translateY(60px);
  }
  100% {
    opacity: 1;
    transform: translateY(0);
  }
}
.pushright {
  opacity: 0;
  overflow: hidden;
}

.pushedright {
  animation: pushright 0.7s ease-out forwards;
}

@keyframes pushright {
  0% {
    opacity: 0;
    transform: translateX(-100%);
  }
  100% {
    opacity: 1;
    transform: translateX(0);
  }
}
.pushleft {
  opacity: 0;
  overflow: hidden;
}

.pushedleft {
  animation: pushleft 0.7s ease-out forwards;
}

@keyframes pushleft {
  0% {
    opacity: 0;
    transform: translateX(100%);
  }
  100% {
    opacity: 1;
    transform: translateX(0);
  }
}
.fadein {
  opacity: 0;
}

.faded {
  animation: fadein 0.7s ease-out forwards;
}

@keyframes fadein {
  0% {
    opacity: 0;
  }
  100% {
    opacity: 1;
  }
}
.pushdown {
  opacity: 0;
}

.pushed-down {
  animation: pushdown 0.7s ease-out forwards;
}

@keyframes pushdown {
  0% {
    opacity: 0;
    transform: translateY(-20%);
  }
  100% {
    opacity: 1;
    transform: translateY(0);
  }
}
.fadeout {
  opacity: 1;
}

.faded-out {
  animation: fadeout 0.7s ease-out forwards;
}

@keyframes fadeout {
  0% {
    opacity: 1;
    transform: translateY(0);
  }
  100% {
    opacity: 0;
    transform: translateY(-20%);
  }
}
/* Universal Color Matches */
/* Site Wide */
/* Fonts */
/* Logos */
/* CTAs */
/* Header */
/* Footer */
/* Nav */
/* Section Widths */
/* Section Padding */
/* Border Radius */
/* Box Padding */
/* Grid or Flexbox Gap */
/* Interior Page Elements */
/* Procedure Item */
/* Homepage */
/* Category Column Span */
/* Category Min Height */
/* Parallax Image */
/* Aisle Column Span */
/* Aisle Min Height */
:root {
  --phone-min: 421px;
  --phone-wide-min: 569px;
  --tablet-min: 768px;
  --tablet-wide-min: 991px;
  --desktop-sm-min: 1025px;
  --desktop-min: 1241px;
  --desktop-wide-min: 1441px;
}

/* Lazy load */
.lazy-load-image,
.lazy-background,
.lazy-iframe {
  opacity: 0;
  transition: 0.3s opacity linear;
}
.lazy-load-image:not(.visible),
.lazy-background:not(.visible),
.lazy-iframe:not(.visible) {
  min-height: 1px;
  margin: 0 !important;
}
.lazy-load-image.visible.complete,
.lazy-background.visible.complete,
.lazy-iframe.visible.complete {
  opacity: 1;
}

@media (min-width: 1241px) {
  .section--category-highlight--text-right .section__text {
    order: 2;
  }
}
.section--category-highlight .section__container {
  display: grid;
  grid-template-columns: repeat(24, 1fr);
  grid-row-gap: 10px;
  grid-column-gap: 10px;
  max-width: 1200px;
  margin: 0 auto;
  padding: 40px 32px;
  align-items: center;
}
@media (min-width: 768px) {
  .section--category-highlight .section__container {
    padding: 60px 32px;
  }
}
@media (min-width: 1241px) {
  .section--category-highlight .section__container {
    padding: 60px 32px;
  }
}
.section--category-highlight .section__text, .section--category-highlight .section__images {
  grid-column: auto/span 24;
}
@media (min-width: 1241px) {
  .section--category-highlight .section__text, .section--category-highlight .section__images {
    grid-column: auto/span 12;
  }
}
.section--category-highlight .section__text {
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: flex-start;
}
.section--category-highlight .section__text-block--subheading {
  order: -1;
}
.section--category-highlight .section__headline {
  margin-bottom: 16px;
}
.section--category-highlight .section__button-list {
  display: flex;
  flex-direction: column;
  gap: 12px;
  margin-top: 24px;
}
.section--category-highlight .section__button-list-item {
  text-decoration: none;
  font-weight: 600;
  transition: opacity 0.2s;
}
.section--category-highlight .section__button-list-item:hover {
  opacity: 0.7;
}
.section--category-highlight .section__images {
  display: grid;
  grid-template-columns: 1fr 1fr;
  grid-template-rows: 1fr 1fr;
  gap: 1rem;
  align-items: stretch;
  justify-items: stretch;
}
.section--category-highlight .section__image {
  width: 100%;
  height: 100%;
  max-width: 100%;
  object-fit: cover;
}
.section--category-highlight .section__image--1 {
  grid-column: 1;
  grid-row: 1/span 2;
}

.section--logo-ticker {
  --logo-ticker-duration: 20s;
  overflow: hidden;
  width: 100%;
  padding: 1rem 0;
}
@media (min-width: 768px) {
  .section--logo-ticker {
    padding: 1rem 0;
  }
}

.logo-ticker__header {
  text-align: center;
  margin-bottom: 1rem;
  padding: 0 32px;
}
@media (min-width: 768px) {
  .logo-ticker__header {
    margin-bottom: 1rem;
    padding: 0 32px;
  }
}
.logo-ticker__headline {
  margin: 0;
}
.logo-ticker__track {
  position: relative;
  width: 100%;
  overflow: hidden;
  display: flex;
  justify-content: flex-start;
}
.logo-ticker__inner {
  display: flex;
  align-items: center;
  gap: 2rem;
  width: max-content;
  flex-shrink: 0;
  animation: logo-ticker-scroll var(--logo-ticker-duration) linear infinite;
}
@media (min-width: 768px) {
  .logo-ticker__inner {
    gap: 3rem;
  }
}
@media (min-width: 1025px) {
  .logo-ticker__inner {
    gap: 4rem;
  }
}
@media (prefers-reduced-motion: reduce) {
  .logo-ticker__inner {
    animation: none;
  }
}
.logo-ticker__item {
  flex-shrink: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  height: 60px;
}
@media (min-width: 768px) {
  .logo-ticker__item {
    height: 80px;
  }
}
@media (min-width: 1025px) {
  .logo-ticker__item {
    height: 100px;
  }
}
.logo-ticker__image {
  max-height: 100%;
  max-width: 150px;
  width: auto;
  height: auto;
  object-fit: contain;
}
@media (min-width: 768px) {
  .logo-ticker__image {
    max-width: 180px;
  }
}
@media (min-width: 1025px) {
  .logo-ticker__image {
    max-width: 200px;
  }
}

@keyframes logo-ticker-scroll {
  0% {
    transform: translateX(0);
  }
  100% {
    transform: translateX(-50%);
  }
}
.logo-ticker--static .logo-ticker__track {
  justify-content: center;
}
.logo-ticker--static .logo-ticker__inner {
  animation: none;
  width: auto;
}

/* =========================================================
   NEW MARKUP HERO
   Variant system:
   .new-markup__hero--split
   .new-markup__hero--full
========================================================= */
.new-markup__hero {
  background: transparent;
  position: relative;
  height: auto;
  min-height: unset;
  /* =======================================================
    SHARED INNER WRAPPER
  ======================================================= */
  /* =======================================================
    SHARED CONTENT BLOCKS
  ======================================================= */
  /* =======================================================
    SHARED BREADCRUMBS
  ======================================================= */
  /* =======================================================
    SPLIT HERO
  ======================================================= */
  /* =======================================================
    FULL HERO
  ======================================================= */
}
.new-markup__hero .new-markup__hero-inner {
  width: 100%;
  height: 100%;
}
.new-markup__hero .hero__text-items {
  width: 100%;
  height: 100%;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  justify-content: space-between;
  flex-wrap: wrap;
}
.new-markup__hero .hero__text {
  display: flex;
  justify-content: center;
  flex-direction: column;
  flex-grow: 1;
  width: 100%;
}
.new-markup__hero .hero__text h1, .new-markup__hero .hero__text .h1 {
  padding: 0;
}
.new-markup__hero .hero__text p {
  width: 100%;
  margin: 0;
}
.new-markup__hero .hero__image {
  min-height: 320px;
}
.new-markup__hero .hero__image img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
}
.new-markup__hero .breadcrumbs {
  width: 100%;
  margin-bottom: 24px;
  padding: 0;
}
.new-markup__hero .breadcrumbs .breadcrumbs__items {
  margin: 0;
  padding: 0;
}
.new-markup__hero .breadcrumbs .breadcrumbs__item {
  font-size: clamp(0.7rem, 1vw, 1rem) !important;
}
.new-markup__hero .breadcrumbs .breadcrumbs__item a {
  font-size: inherit !important;
}
.new-markup__hero .breadcrumbs a,
.new-markup__hero .breadcrumbs a:visited {
  color: #1C2221 !important;
  text-decoration: underline;
}
@media (min-width: 1025px) {
  .new-markup__hero .breadcrumbs a:hover {
    color: #369C8E !important;
    text-decoration: none;
  }
}
.new-markup__hero.new-markup__hero--split {
  height: auto;
}
.new-markup__hero.new-markup__hero--split .new-markup__hero-inner {
  display: grid;
  grid-template-columns: repeat(24, 1fr);
  grid-row-gap: 10px;
  grid-column-gap: 10px;
  gap: 0;
  height: auto;
}
@media (min-width: 768px) {
  .new-markup__hero.new-markup__hero--split .new-markup__hero-inner {
    height: 100%;
  }
}
.new-markup__hero.new-markup__hero--split .hero__text-items {
  grid-column: auto/span 24;
  height: auto;
  padding: 40px 32px;
}
@media (min-width: 768px) {
  .new-markup__hero.new-markup__hero--split .hero__text-items {
    padding: 60px 32px;
  }
}
@media (min-width: 1441px) {
  .new-markup__hero.new-markup__hero--split .hero__text-items {
    padding: 60px 32px;
  }
}
@media (min-width: 768px) {
  .new-markup__hero.new-markup__hero--split .hero__text-items {
    height: 100%;
  }
}
@media (min-width: 1241px) {
  .new-markup__hero.new-markup__hero--split .hero__text-items {
    grid-column: auto/span 12;
  }
}
.new-markup__hero.new-markup__hero--split .hero__image {
  grid-column: auto/span 24;
  margin: 0 auto;
  width: 100%;
  max-width: 500px;
  min-height: 400px;
  height: unset;
}
@media (min-width: 768px) {
  .new-markup__hero.new-markup__hero--split .hero__image {
    min-height: 500px;
    height: 100%;
  }
}
@media (min-width: 1025px) {
  .new-markup__hero.new-markup__hero--split .hero__image {
    min-height: unset;
    aspect-ratio: 1 !important;
  }
}
@media (min-width: 1241px) {
  .new-markup__hero.new-markup__hero--split .hero__image {
    grid-column: auto/span 12;
    max-width: unset;
  }
}
@media (min-width: 768px) {
  .new-markup__hero.new-markup__hero--split {
    min-height: 65vh;
    height: 650px;
  }
}
@media (min-width: 1025px) {
  .new-markup__hero.new-markup__hero--split {
    height: unset;
    min-height: unset;
  }
}
.new-markup__hero.new-markup__hero--full {
  height: 650px;
  min-height: unset;
}
@media (min-width: 768px) {
  .new-markup__hero.new-markup__hero--full {
    min-height: 65vh;
  }
}
.new-markup__hero.new-markup__hero--full .new-markup__hero-inner {
  position: relative;
  width: 100%;
  height: 100%;
  overflow: hidden;
  display: flex;
  flex-direction: unset;
  align-items: center;
  justify-content: center;
  flex-wrap: wrap;
}
.new-markup__hero.new-markup__hero--full .hero__text-items {
  position: absolute;
  inset: 0;
  z-index: 1;
  margin: 0 auto;
  max-width: 1610px;
  padding: 40px 32px;
}
@media (min-width: 768px) {
  .new-markup__hero.new-markup__hero--full .hero__text-items {
    padding: 60px 32px;
  }
}
@media (min-width: 1441px) {
  .new-markup__hero.new-markup__hero--full .hero__text-items {
    padding: 60px 32px;
  }
}
.new-markup__hero.new-markup__hero--full .hero__text h1, .new-markup__hero.new-markup__hero--full .hero__text .h1,
.new-markup__hero.new-markup__hero--full .hero__text p {
  color: #FFFFFF;
}
.new-markup__hero.new-markup__hero--full .hero__image {
  position: absolute;
  inset: 0;
  z-index: 0;
  width: 100%;
  height: 100%;
  min-height: 320px;
}
.new-markup__hero.new-markup__hero--full .hero__image::before {
  content: "";
  position: absolute;
  inset: 0;
  z-index: 1;
  background: rgba(28, 34, 33, 0.4);
}
.new-markup__hero.new-markup__hero--full .hero__image img {
  position: relative;
  z-index: 0;
}
.new-markup__hero.new-markup__hero--full .breadcrumbs a,
.new-markup__hero.new-markup__hero--full .breadcrumbs a:visited {
  color: #FFFFFF !important;
}
.new-markup__hero.new-markup__hero--full .breadcrumbs .breadcrumbs__items li {
  color: #FFFFFF;
}
@media (min-width: 1025px) {
  .new-markup__hero.new-markup__hero--full .breadcrumbs a:hover {
    color: #369C8E !important;
    text-decoration: none;
  }
}

.section--masthead-layouts {
  background-color: var(--ml-bg, #F9F9F9);
  color: var(--ml-color, #1C2221);
  position: relative;
  overflow: clip;
}
.section--masthead-layouts .masthead-layouts__container {
  position: relative;
  max-width: 1200px;
  margin: 0 auto;
  padding: 40px 32px;
  display: grid;
  grid-template-columns: 1fr;
  gap: 1rem;
}
@media (min-width: 1241px) {
  .section--masthead-layouts .masthead-layouts__container {
    padding: 60px 32px;
  }
}
.section--masthead-layouts .masthead-layouts__copy {
  position: relative;
  z-index: 1;
  display: flex;
  flex-direction: column;
  align-self: center;
}
.section--masthead-layouts .masthead-layouts__trust {
  order: 1;
}
.section--masthead-layouts .masthead-layouts__ctas {
  order: 2;
}
.section--masthead-layouts .masthead-layouts__breadcrumbs {
  position: relative;
  z-index: 1;
  grid-column: 1/-1;
  order: -1;
  font-size: 0.8125rem;
}
@media (min-width: 768px) {
  .section--masthead-layouts .masthead-layouts__breadcrumbs {
    margin-top: -24px;
    margin-bottom: 24px;
  }
}
@media (min-width: 1241px) {
  .section--masthead-layouts .masthead-layouts__breadcrumbs {
    margin-top: -44px;
    margin-bottom: 44px;
  }
}
.section--masthead-layouts .masthead-layouts__crumbs {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 0.25em;
  margin: 0;
  padding: 0;
  list-style: none;
}
.section--masthead-layouts .masthead-layouts__crumb + .masthead-layouts__crumb::before {
  content: "/";
  margin-right: 0.25em;
  opacity: 0.6;
}
.section--masthead-layouts .masthead-layouts__headline {
  margin: 0;
}
.section--masthead-layouts .masthead-layouts__accent {
  font-family: var(--ml-accent-family, merriweather, serif);
  font-style: italic;
  color: var(--ml-accent-color, #45C2B1);
}
.section--masthead-layouts .masthead-layouts__body {
  margin-top: 20px;
}
.section--masthead-layouts .masthead-layouts__body, .section--masthead-layouts .masthead-layouts__body p, .section--masthead-layouts .masthead-layouts__trust, .section--masthead-layouts .masthead-layouts__trust p {
  color: inherit;
}
.section--masthead-layouts .masthead-layouts__body p:last-child, .section--masthead-layouts .masthead-layouts__trust p:last-child {
  margin-bottom: 0;
}
.section--masthead-layouts .masthead-layouts__ctas {
  margin-top: 28px;
}
.section--masthead-layouts .masthead-layouts__ctas p {
  display: flex;
  flex-direction: column;
  align-items: stretch;
  gap: 1rem;
  margin: 0;
}
.section--masthead-layouts .masthead-layouts__ctas p + p {
  margin-top: 1rem;
}
.section--masthead-layouts .masthead-layouts__ctas a {
  text-align: center;
}
.section--masthead-layouts .masthead-layouts__ctas a:focus-visible {
  outline: 2px solid currentColor;
  outline-offset: 3px;
}
.section--masthead-layouts .masthead-layouts__trust {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 0.6em;
  margin-top: 24px;
  font-size: 0.875rem;
}
.section--masthead-layouts .masthead-layouts__trust p {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 0.6em;
  margin: 0;
}
.section--masthead-layouts .masthead-layouts__trust img {
  width: 2.25em;
  height: 2.25em;
  flex: 0 0 auto;
  border-radius: 50%;
  object-fit: cover;
  border: 2px solid var(--ml-avatar-ring, #FFFFFF);
}
.section--masthead-layouts .masthead-layouts__trust img + img {
  margin-left: calc(2.25em / -2.6);
}
.section--masthead-layouts .masthead-layouts__media {
  position: relative;
  z-index: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  margin-top: 36px;
}
.section--masthead-layouts .masthead-layouts__image {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.section--masthead-layouts .masthead-layouts__stack {
  position: relative;
  width: 100%;
  aspect-ratio: var(--ml-stack-ratio, 1/0.8);
  z-index: 1;
}
.section--masthead-layouts .masthead-layouts__slot {
  position: absolute;
  overflow: hidden;
  border-radius: var(--ml-image-radius, 18px);
  background-color: var(--ml-slot-bg, rgb(217.8, 242.8, 239.4));
}
.section--masthead-layouts .masthead-layouts__slot img {
  width: 100%;
  height: 100%;
}
.section--masthead-layouts .masthead-layouts__slot--1 {
  top: 0;
  right: 0;
  width: 60%;
  height: 100%;
}
.section--masthead-layouts .masthead-layouts__slot--2 {
  left: 0;
  bottom: 19%;
  width: 33%;
  height: 56%;
}
.section--masthead-layouts .masthead-layouts__slot--3 {
  left: 0;
  top: 6%;
  width: 26%;
  height: 34%;
}
.section--masthead-layouts .masthead-layouts__slot:nth-child(n+4) {
  position: relative;
  width: 100%;
  height: auto;
  aspect-ratio: 1;
}
.section--masthead-layouts .masthead-layouts__rings {
  position: absolute;
  top: calc(50% + var(--ml-ring-shift-y, 0%));
  right: calc(var(--ml-ring-shift-x, var(--ml-ring-shift-x-shape, 20.5%)) * -1);
  width: var(--ml-ring-size, var(--ml-ring-size-shape, 117%));
  height: auto;
  aspect-ratio: 1;
  translate: 0 -50%;
  border-radius: 50%;
  background-color: var(--ml-ring-fill, rgb(231.32, 231.8, 231.72));
  pointer-events: none;
  z-index: 0;
}
.section--masthead-layouts .masthead-layouts__grid {
  display: grid;
  grid-template-columns: repeat(var(--ml-grid-columns, 6), 1fr);
  gap: var(--ml-grid-gap, 0.35rem);
  width: 100%;
}
.section--masthead-layouts .masthead-layouts__cell {
  position: relative;
  aspect-ratio: 1;
  perspective: 800px;
}
.section--masthead-layouts .masthead-layouts__flipper {
  position: absolute;
  inset: 0;
  transform-style: preserve-3d;
}
.section--masthead-layouts .masthead-layouts__face {
  position: absolute;
  inset: 0;
  overflow: hidden;
  border-radius: 50%;
  backface-visibility: hidden;
  -webkit-backface-visibility: hidden;
}
.section--masthead-layouts .masthead-layouts__face--image {
  transform: rotateY(0deg);
}
.section--masthead-layouts .masthead-layouts__face--color {
  transform: rotateY(180deg);
  background-color: var(--ml-circle-color, #45C2B1);
}
.section--masthead-layouts .masthead-layouts__cell:not(.masthead-layouts__cell--flips) .masthead-layouts__face--color {
  transform: rotateY(0deg);
}
.section--masthead-layouts .masthead-layouts__cell:nth-child(6n+1) .masthead-layouts__face--color {
  background-color: var(--ml-circle-color, #45C2B1);
}
.section--masthead-layouts .masthead-layouts__cell:nth-child(6n+2) .masthead-layouts__face--color {
  background-color: var(--ml-circle-color, rgb(144.45, 200.55, 192.85));
}
.section--masthead-layouts .masthead-layouts__cell:nth-child(6n+3) .masthead-layouts__face--color {
  background-color: var(--ml-circle-color, rgb(171.3, 227.55, 219.9));
}
.section--masthead-layouts .masthead-layouts__cell:nth-child(6n+4) .masthead-layouts__face--color {
  background-color: var(--ml-circle-color, rgb(61.5, 175, 159.5));
}
.section--masthead-layouts .masthead-layouts__cell:nth-child(6n+5) .masthead-layouts__face--color {
  background-color: var(--ml-circle-color, #369C8E);
}
.section--masthead-layouts .masthead-layouts__cell:nth-child(6n+6) .masthead-layouts__face--color {
  background-color: var(--ml-circle-color, rgb(115.5, 209.25, 196.5));
}
.section--masthead-layouts.section--masthead-layouts--shape-circle .masthead-layouts__slot {
  border-radius: 50%;
}
.section--masthead-layouts.section--masthead-layouts--shape-circle .masthead-layouts__stack {
  --ml-stack-ratio: 1 / 0.85;
}
.section--masthead-layouts.section--masthead-layouts--shape-circle .masthead-layouts__slot--1 {
  width: 81%;
  height: auto;
  aspect-ratio: 1;
}
.section--masthead-layouts.section--masthead-layouts--shape-circle .masthead-layouts__slot--2 {
  left: 0;
  bottom: 0;
  width: 25%;
  height: auto;
  aspect-ratio: 1;
}
.section--masthead-layouts.section--masthead-layouts--shape-circle .masthead-layouts__slot--3 {
  height: auto;
  aspect-ratio: 1;
}
.section--masthead-layouts.section--masthead-layouts--shape-circle .masthead-layouts__rings {
  --ml-ring-size-shape: 104%;
  --ml-ring-shift-x-shape: 2.08%;
}
.section--masthead-layouts.section--masthead-layouts--decor-none .masthead-layouts__rings {
  display: none;
}
@media (min-width: 768px) {
  .section--masthead-layouts.no-media .masthead-layouts__container {
    grid-template-columns: 1fr;
  }
}
@media (min-width: 768px) {
  .section--masthead-layouts .masthead-layouts__container {
    grid-template-columns: 1fr 1fr;
    gap: 48px;
    align-items: center;
  }
  .section--masthead-layouts .masthead-layouts__trust {
    order: 2;
  }
  .section--masthead-layouts .masthead-layouts__ctas {
    order: 1;
  }
  .section--masthead-layouts .masthead-layouts__media {
    margin-top: 0;
  }
  .section--masthead-layouts .masthead-layouts__ctas p {
    flex-direction: row;
    flex-wrap: wrap;
    align-items: center;
  }
  .section--masthead-layouts .masthead-layouts__ctas a {
    text-align: left;
  }
  .section--masthead-layouts.section--masthead-layouts--shape-rounded .masthead-layouts__stack {
    --ml-stack-ratio: 1 / 1;
  }
  .section--masthead-layouts.section--masthead-layouts--shape-rounded .masthead-layouts__slot--1 {
    width: 66%;
    height: 88%;
  }
  .section--masthead-layouts.section--masthead-layouts--shape-rounded .masthead-layouts__slot--2 {
    bottom: 0;
    width: 25%;
    height: 34%;
  }
  .section--masthead-layouts.section--masthead-layouts--shape-rounded .masthead-layouts__rings {
    --ml-ring-size-shape: 173%;
    --ml-ring-shift-x-shape: 66.4%;
  }
  .section--masthead-layouts.section--masthead-layouts--media-left .masthead-layouts__copy {
    order: 2;
  }
  .section--masthead-layouts.section--masthead-layouts--media-left .masthead-layouts__media {
    order: 1;
  }
  .section--masthead-layouts.section--masthead-layouts--media-left .masthead-layouts__rings {
    right: auto;
    left: calc(var(--ml-ring-shift-x, var(--ml-ring-shift-x-shape, 20.5%)) * -1);
  }
}
.section--masthead-layouts.is-animated .masthead-layouts__cell {
  animation: ml-cell-in 620ms both;
  animation-delay: calc((var(--ml-cell-col, 1) + var(--ml-cell-row, 1)) * 60ms);
}
.section--masthead-layouts.is-animated .masthead-layouts__slot {
  animation: ml-slot-in 620ms both;
  animation-delay: calc(var(--ml-slot-index, 0) * 120ms);
}
.section--masthead-layouts.is-animated .masthead-layouts__rings {
  animation: ml-rings-in 900ms both;
}
@media (min-width: 768px) {
  .section--masthead-layouts.is-animated .masthead-layouts__cell--flips .masthead-layouts__flipper {
    animation: ml-flip var(--ml-flip-period, 12s) linear infinite;
    animation-delay: var(--ml-flip-delay, 0s);
    will-change: transform;
  }
}
.section--masthead-layouts.is-animated.animate-on-mobile .masthead-layouts__cell--flips .masthead-layouts__flipper {
  animation: ml-flip var(--ml-flip-period, 12s) linear infinite;
  animation-delay: var(--ml-flip-delay, 0s);
  will-change: transform;
}
@media (prefers-reduced-motion: reduce) {
  .section--masthead-layouts .masthead-layouts__cell,
  .section--masthead-layouts .masthead-layouts__flipper,
  .section--masthead-layouts .masthead-layouts__slot,
  .section--masthead-layouts .masthead-layouts__rings {
    animation: none !important;
    will-change: auto;
  }
}

@keyframes ml-cell-in {
  from {
    opacity: 0;
    transform: scale(0.3);
  }
  to {
    opacity: 1;
    transform: scale(1);
  }
}
@keyframes ml-slot-in {
  from {
    opacity: 0;
    transform: translateY(14px) scale(0.96);
  }
  to {
    opacity: 1;
    transform: translateY(0) scale(1);
  }
}
@keyframes ml-rings-in {
  from {
    opacity: 0;
    scale: 0.7;
  }
  to {
    opacity: 1;
    scale: 1;
  }
}
@keyframes ml-flip {
  0%, 30% {
    transform: rotateY(0deg);
  }
  38%, 62% {
    transform: rotateY(180deg);
  }
  70%, 100% {
    transform: rotateY(0deg);
  }
}
.section--specials-masthead {
  background-color: var(--sm-bg, #F9F9F9);
  color: var(--sm-color, #1C2221);
  position: relative;
  overflow: clip;
}
.section--specials-masthead .specials-masthead__container {
  position: relative;
  z-index: 1;
  max-width: 1200px;
  margin: 0 auto;
  padding: 40px 32px;
  display: grid;
  grid-template-columns: 1fr;
  gap: 1rem;
}
@media (min-width: 1241px) {
  .section--specials-masthead .specials-masthead__container {
    padding: 60px 32px;
  }
}
.section--specials-masthead .specials-masthead__breadcrumbs {
  grid-column: 1/-1;
  order: -1;
  font-size: 0.8125rem;
  position: relative;
  z-index: 1;
}
@media (min-width: 768px) {
  .section--specials-masthead .specials-masthead__breadcrumbs {
    margin-top: -24px;
    margin-bottom: 24px;
  }
}
@media (min-width: 1241px) {
  .section--specials-masthead .specials-masthead__breadcrumbs {
    margin-top: -44px;
    margin-bottom: 44px;
  }
}
.section--specials-masthead .specials-masthead__crumbs {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 0.25em;
  margin: 0;
  padding: 0;
  list-style: none;
}
.section--specials-masthead .specials-masthead__crumb + .specials-masthead__crumb::before {
  content: "/";
  margin-right: 0.25em;
  opacity: 0.6;
}
.section--specials-masthead .specials-masthead__copy {
  display: flex;
  flex-direction: column;
  align-self: center;
}
.section--specials-masthead .specials-masthead__eyebrow {
  align-self: flex-start;
  margin-bottom: 20px;
  padding: 0.45em 1.1em;
  border: 1px solid var(--sm-accent-color, rgb(44.9, 113.3, 103.85));
  border-radius: 999px;
  color: var(--sm-accent-color, rgb(44.9, 113.3, 103.85));
  font-size: 0.6875rem;
  font-weight: 600;
  letter-spacing: 0.09em;
  line-height: 1.2;
  text-transform: uppercase;
}
.section--specials-masthead .specials-masthead__eyebrow p {
  display: inline;
  margin: 0;
  color: inherit;
  font: inherit;
  letter-spacing: inherit;
}
.section--specials-masthead .specials-masthead__headline {
  margin: 0;
}
.section--specials-masthead .specials-masthead__accent {
  color: var(--sm-accent-color, rgb(44.9, 113.3, 103.85));
}
.section--specials-masthead .specials-masthead__body {
  margin-top: 20px;
}
.section--specials-masthead .specials-masthead__body small {
  display: block;
  margin-top: 0.5em;
  font-size: 0.8125rem;
  opacity: 0.75;
}
.section--specials-masthead .specials-masthead__body, .section--specials-masthead .specials-masthead__body p, .section--specials-masthead .specials-masthead__details, .section--specials-masthead .specials-masthead__term, .section--specials-masthead .specials-masthead__subtext {
  color: inherit;
}
.section--specials-masthead .specials-masthead__body p:last-child {
  margin-bottom: 0;
}
.section--specials-masthead .specials-masthead__rule {
  width: 100%;
  margin: 28px 0 0;
  border: 0;
  border-top: 1px solid var(--sm-rule-color, rgb(209.22, 210.3, 210.12));
}
.section--specials-masthead .specials-masthead__details {
  margin: 24px 0 0;
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 24px;
}
.section--specials-masthead .specials-masthead__term {
  font-weight: 600;
}
.section--specials-masthead .specials-masthead__subtext {
  margin: 0.25em 0 0;
  font-size: 0.8125rem;
  opacity: 0.75;
}
.section--specials-masthead .specials-masthead__ctas {
  margin-top: 28px;
}
.section--specials-masthead .specials-masthead__ctas p {
  display: flex;
  flex-direction: column;
  align-items: stretch;
  gap: 1rem;
  margin: 0;
}
.section--specials-masthead .specials-masthead__ctas p + p {
  margin-top: 1rem;
}
.section--specials-masthead .specials-masthead__ctas a {
  text-align: center;
}
.section--specials-masthead .specials-masthead__ctas a:focus-visible {
  outline: 2px solid currentColor;
  outline-offset: 3px;
}
.section--specials-masthead .specials-masthead__media {
  align-self: center;
  margin-top: 36px;
}
.section--specials-masthead .specials-masthead__cluster {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 1rem;
}
.section--specials-masthead .specials-masthead__slot {
  flex: 0 0 auto;
  width: calc(50% - 1rem);
  aspect-ratio: 1;
  border-radius: 50%;
  overflow: hidden;
  background-color: rgb(171.3, 227.55, 219.9);
}
.section--specials-masthead .specials-masthead__slot--2 {
  background-color: rgb(144.45, 200.55, 192.85);
}
.section--specials-masthead .specials-masthead__slot--3 {
  background-color: rgb(61.5, 175, 159.5);
}
.section--specials-masthead .specials-masthead__slot--4 {
  background-color: rgb(115.5, 209.25, 196.5);
}
.section--specials-masthead .specials-masthead__image {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
}
@media (min-width: 768px) {
  .section--specials-masthead.no-media .specials-masthead__container {
    grid-template-columns: 1fr;
  }
}
@media (min-width: 768px) {
  .section--specials-masthead .specials-masthead__container {
    grid-template-columns: 1fr 1fr;
    gap: 48px;
    align-items: center;
  }
  .section--specials-masthead .specials-masthead__details {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
  .section--specials-masthead .specials-masthead__ctas p {
    flex-direction: row;
    flex-wrap: wrap;
    align-items: center;
  }
  .section--specials-masthead .specials-masthead__ctas a {
    text-align: left;
  }
  .section--specials-masthead .specials-masthead__media {
    align-self: stretch;
    margin-top: 0;
  }
  .section--specials-masthead .specials-masthead__cluster {
    display: block;
    position: absolute;
    top: 0;
    right: 32px;
    width: calc((100% - 64px - 48px) / 2);
    height: auto;
    aspect-ratio: 1;
  }
}
@media (min-width: 768px) and (min-width: 1241px) {
  .section--specials-masthead .specials-masthead__cluster {
    right: 32px;
    width: calc((100% - 64px - 48px) / 2);
  }
}
@media (min-width: 768px) {
  .section--specials-masthead .specials-masthead__slot {
    position: absolute;
    width: 75%;
    height: auto;
    aspect-ratio: 1;
  }
  .section--specials-masthead .specials-masthead__slot--1 {
    left: 0%;
    top: -32%;
  }
  .section--specials-masthead .specials-masthead__slot--2 {
    left: 82.4%;
    top: -32%;
  }
  .section--specials-masthead .specials-masthead__slot--3 {
    left: 0%;
    top: 50.4%;
  }
  .section--specials-masthead .specials-masthead__slot--4 {
    left: 82.4%;
    top: 50.4%;
  }
  .section--specials-masthead.section--specials-masthead--media-left .specials-masthead__copy {
    order: 2;
  }
  .section--specials-masthead.section--specials-masthead--media-left .specials-masthead__media {
    order: 1;
  }
  .section--specials-masthead.section--specials-masthead--media-left .specials-masthead__cluster {
    right: auto;
    left: 32px;
    transform: scaleX(-1);
  }
}
@media (min-width: 768px) and (min-width: 1241px) {
  .section--specials-masthead.section--specials-masthead--media-left .specials-masthead__cluster {
    left: 32px;
  }
}
@media (min-width: 768px) {
  .section--specials-masthead.section--specials-masthead--media-left .specials-masthead__image {
    transform: scaleX(-1);
  }
}

.section--text-rotator .flickity-prev-next-button {
  min-width: auto;
  margin: 0 !important;
  min-height: auto;
  padding: 0;
  top: -15px;
  width: 30px;
  height: 30px;
}
.section--text-rotator .flickity-prev-next-button.previous {
  left: auto;
  right: 45px;
}
.section--text-rotator .section__container {
  display: grid;
  grid-template-columns: repeat(24, 1fr);
  grid-row-gap: 10px;
  grid-column-gap: 10px;
  max-width: 1200px;
  margin: 0 auto;
  padding: 40px 32px;
  align-items: center;
}
@media (min-width: 768px) {
  .section--text-rotator .section__container {
    padding: 60px 32px;
  }
}
@media (min-width: 1241px) {
  .section--text-rotator .section__container {
    padding: 60px 32px;
  }
}
.section--text-rotator .section__text, .section--text-rotator .section__rotator-container {
  grid-column: auto/span 24;
}
.section--text-rotator .section__text {
  display: flex;
  flex-direction: column;
  justify-content: center;
  padding: 24px 0;
}
.section--text-rotator .section__text-block--subheading {
  order: -1;
}
.section--text-rotator .section__rotator-cell {
  width: 80%;
  aspect-ratio: 1;
  padding: 1rem;
}
@media (min-width: 768px) {
  .section--text-rotator .section__rotator-cell {
    width: calc(100% / 3);
  }
}
.section--text-rotator .section__rotator-cell > .section__image {
  width: 100%;
  object-fit: cover;
}
.section--text-rotator .section__rotator-cell .section__aisle {
  display: flex;
  flex-direction: column;
  border: 1px solid #ccc;
  border-radius: 8px;
  overflow: hidden;
}
.section--text-rotator .section__rotator-cell .section__aisle-title, .section--text-rotator .section__rotator-cell .section__aisle-content {
  padding: 0.5rem 1rem;
}
.section--text-rotator .section__rotator-cell .section__aisle .section__button {
  margin: 1rem;
}
.section--text-rotator .section__rotator-cell .section__doorway {
  display: flex;
  flex-direction: column;
  position: relative;
  aspect-ratio: 1;
  overflow: hidden;
  padding: 0.5rem 1rem;
}
.section--text-rotator .section__rotator-cell .section__doorway .section__image {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  z-index: -1;
}
.section--text-rotator .section__rotator-cell .section__doorway-title {
  flex: 1 0 100%;
  display: flex;
  flex-direction: column;
  justify-content: flex-end;
  transition: flex-basis 300ms ease-in-out;
}
.section--text-rotator .section__rotator-cell .section__doorway:hover .section__doorway-title {
  flex-basis: 0;
}
.section--text-rotator .section__rotator-cell .section__doorway .section__button {
  margin-top: 0.5rem;
}
.section--text-rotator .section__rotator-cell .section__doorway--headline-link .section__doorway-title, .section--text-rotator .section__rotator-cell .section__doorway--headline-modal .section__doorway-title {
  flex-direction: row;
  align-items: center;
  justify-content: space-between;
  gap: 0.5rem;
}
.section--text-rotator .section__rotator-cell .section__doorway--headline-link .section__button, .section--text-rotator .section__rotator-cell .section__doorway--headline-modal .section__button {
  margin-top: 0;
  flex: 0 0 auto;
}
.section--text-rotator .section__rotator-cell .section__doorway--headline-link:hover .section__doorway-title, .section--text-rotator .section__rotator-cell .section__doorway--headline-modal:hover .section__doorway-title {
  flex-basis: auto;
}
@media (min-width: 1241px) {
  .section--text-rotator--text-right .section__text {
    order: 2;
  }
}
.section--text-rotator--rotator-stacked .section__text {
  align-items: center;
}
@media (min-width: 768px) {
  .section--text-rotator--rotator-inline .section__text, .section--text-rotator--rotator-inline .section__rotator-container {
    grid-column: auto/span 12;
  }
}
@media (min-width: 768px) {
  .section--text-rotator--rotator-inline .section__rotator-cell {
    width: 100%;
  }
}
.section--text-rotator .section__doorway-modal {
  position: fixed;
  inset: 0;
  margin: auto;
  z-index: 1000;
  width: 100%;
  max-width: min(40rem, calc(100vw - 2rem));
  max-height: calc(100vh - 2rem);
  overflow: auto;
  padding: 0;
  border: none;
  border-radius: 8px;
}
.section--text-rotator .section__doorway-modal::backdrop {
  background: rgba(0, 0, 0, 0.6);
}
.section--text-rotator .section__doorway-modal-inner {
  display: flex;
  flex-direction: column;
  gap: 1rem;
  padding: 1.5rem;
}
.section--text-rotator .section__doorway-modal-title {
  margin: 0;
}
.section--text-rotator .section__doorway-modal-close {
  align-self: flex-end;
}

.section--insurance-financing {
  max-width: 1200px;
  margin: 40px auto;
}
@media (min-width: 768px) {
  .section--insurance-financing {
    margin: 60px auto;
  }
}
.section--insurance-financing .insurance-financing__panel {
  --insurance-financing-bg: linear-gradient(115deg, #1C2221 0%, #45C2B1 30%, #45C2B1 60%, #1C2221 100%);
  --insurance-financing-color: #FFFFFF;
  --insurance-financing-radius: 24px;
  background: var(--insurance-financing-bg);
  color: var(--insurance-financing-color);
  overflow: hidden;
  padding: 40px 32px;
  border-radius: 0;
}
@media (min-width: 768px) {
  .section--insurance-financing .insurance-financing__panel {
    padding: 60px 32px;
  }
}
@media (min-width: 991px) {
  .section--insurance-financing .insurance-financing__panel {
    border-radius: var(--insurance-financing-radius);
  }
}
.section--insurance-financing .insurance-financing__headline, .section--insurance-financing .insurance-financing__text, .section--insurance-financing .insurance-financing__text p, .section--insurance-financing .insurance-financing__statement-label, .section--insurance-financing .insurance-financing__statement-label p {
  color: inherit;
}
.section--insurance-financing .insurance-financing__intro {
  display: grid;
  grid-template-columns: repeat(24, 1fr);
  grid-row-gap: 10px;
  grid-column-gap: 10px;
}
.section--insurance-financing .insurance-financing__headline {
  grid-column: auto/span 24;
}
@media (min-width: 768px) {
  .section--insurance-financing .insurance-financing__headline {
    grid-column: auto/span 10;
  }
}
.section--insurance-financing .insurance-financing__body {
  grid-column: auto/span 24;
  display: flex;
  flex-direction: column;
  align-items: stretch;
}
@media (min-width: 768px) {
  .section--insurance-financing .insurance-financing__body {
    grid-column: auto/span 14;
    align-items: flex-start;
  }
}
.section--insurance-financing .insurance-financing__cta {
  display: inline-flex;
  justify-content: center;
  text-align: center;
}
@media (min-width: 768px) {
  .section--insurance-financing .insurance-financing__cta {
    align-self: flex-start;
  }
}
.section--insurance-financing .insurance-financing__rule {
  display: none;
}
@media (min-width: 768px) {
  .section--insurance-financing .insurance-financing__rule {
    display: block;
    border: 0;
    border-top: 3px solid currentColor;
    opacity: 0.3;
    margin: 60px 0;
  }
}
.section--insurance-financing .insurance-financing__statements {
  list-style: none;
  margin: 1rem 0 0;
  padding: 0;
  display: grid;
  grid-template-columns: 1fr;
  gap: 1rem;
}
@media (min-width: 768px) {
  .section--insurance-financing .insurance-financing__statements {
    margin: 0;
    grid-template-columns: repeat(4, 1fr);
  }
}
.section--insurance-financing .insurance-financing__statement {
  display: flex;
  align-items: center;
  gap: 10px;
}
.section--insurance-financing .insurance-financing__statement-label p {
  margin: 0;
}
.section--insurance-financing .insurance-financing__statement-icon {
  display: inline-block;
  flex: 0 0 auto;
  width: 1em;
  height: 1em;
  background-color: currentColor;
}
.section--insurance-financing--invert-button .insurance-financing__cta {
  --insurance-financing-btn-bg: #FFFFFF;
  --insurance-financing-btn-color: #1C2221;
  background: var(--insurance-financing-btn-bg);
  border-color: var(--insurance-financing-btn-bg);
  color: var(--insurance-financing-btn-color);
}
.section--insurance-financing--invert-button .insurance-financing__cta:hover {
  background: var(--insurance-financing-btn-color);
  border-color: var(--insurance-financing-btn-color);
  color: var(--insurance-financing-btn-bg);
}
.section--insurance-financing--icon-badge-check .insurance-financing__statement-icon {
  -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 32 27'%3E%3Cpath d='M16,0l3.09,2.71l4.03-0.86l1.85,3.69l3.99,1.03l-0.42,4.1L32,14l-3.46,2.24l0.42,4.1l-3.99,1.03l-1.85,3.69l-4.03-0.86L16,27l-3.09-2.8l-4.03,0.86l-1.85-3.69l-3.99-1.03l0.42-4.1L0,14l3.46-2.33l-0.42-4.1l3.99-1.03l1.85-3.69l4.03,0.86L16,0z M14.24,18.9l7.07-7.07l-1.77-1.77l-5.3,5.3l-2.47-2.47l-1.77,1.77L14.24,18.9z'/%3E%3C/svg%3E") no-repeat center/contain;
  mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 32 27'%3E%3Cpath d='M16,0l3.09,2.71l4.03-0.86l1.85,3.69l3.99,1.03l-0.42,4.1L32,14l-3.46,2.24l0.42,4.1l-3.99,1.03l-1.85,3.69l-4.03-0.86L16,27l-3.09-2.8l-4.03,0.86l-1.85-3.69l-3.99-1.03l0.42-4.1L0,14l3.46-2.33l-0.42-4.1l3.99-1.03l1.85-3.69l4.03,0.86L16,0z M14.24,18.9l7.07-7.07l-1.77-1.77l-5.3,5.3l-2.47-2.47l-1.77,1.77L14.24,18.9z'/%3E%3C/svg%3E") no-repeat center/contain;
}

.section--team-rotator .team-rotator__container {
  max-width: 1200px;
  margin: 0 auto;
  padding: 40px 32px;
}
@media (min-width: 768px) {
  .section--team-rotator .team-rotator__container {
    padding: 60px 32px;
  }
}
@media (min-width: 1241px) {
  .section--team-rotator .team-rotator__container {
    padding: 60px 32px;
  }
}
.section--team-rotator .team-rotator__intro {
  text-align: center;
  margin-bottom: 1rem;
}
@media (min-width: 768px) {
  .section--team-rotator .team-rotator__intro {
    margin-bottom: 36px;
  }
}
.section--team-rotator .team-rotator__text, .section--team-rotator .team-rotator__text p {
  color: inherit;
}
.section--team-rotator .team-rotator__text p:last-child {
  margin-bottom: 0;
}
.section--team-rotator .team-rotator__cta {
  display: inline-flex;
  justify-content: center;
  text-align: center;
  margin-top: 1rem;
}
.section--team-rotator .team-rotator__slides {
  list-style: none;
  margin: 0;
  padding: 0;
  position: relative;
}
.section--team-rotator .team-rotator__slide {
  width: 100%;
  display: grid;
  grid-template-columns: 2fr 1fr;
  grid-template-rows: 1fr 1fr;
  gap: 10px;
}
@media (min-width: 768px) {
  .section--team-rotator .team-rotator__slide {
    gap: 1rem;
  }
}
.section--team-rotator .team-rotator__media {
  display: block;
  overflow: hidden;
  position: relative;
  min-width: 0;
  min-height: 0;
}
.section--team-rotator .team-rotator__media--featured {
  grid-column: 1;
  grid-row: 1/span 2;
  aspect-ratio: 1;
}
.section--team-rotator .team-rotator__media--featured {
  border-radius: clamp(10px, 1.8vw, 20px) 0 0 clamp(10px, 1.8vw, 20px);
}
.section--team-rotator .team-rotator__media:nth-child(2) {
  border-radius: 0 clamp(10px, 1.8vw, 20px) 0 0;
}
.section--team-rotator .team-rotator__media:nth-child(3) {
  border-radius: 0 0 clamp(10px, 1.8vw, 20px) 0;
}
.section--team-rotator .team-rotator__image {
  display: block;
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.section--team-rotator .team-rotator__slides {
  --team-rotator-breakpoint: 768px;
}
.section--team-rotator .team-rotator__slides::after {
  content: "";
  display: none;
}
.section--team-rotator.has-rotator .team-rotator__slides::after {
  content: "flickity";
}
.section--team-rotator.has-rotator .team-rotator__slides {
  padding-top: 68px;
}
.section--team-rotator.no-rotator .team-rotator__slides {
  display: block;
}
.section--team-rotator .flickity-prev-next-button {
  position: absolute;
  top: 0;
  transform: none;
  width: 36px;
  height: 36px;
  min-width: auto;
  min-height: auto;
  padding: 0;
  margin: 0;
  background: transparent;
  border: 1px solid #45C2B1;
  border-radius: 50%;
  color: #45C2B1;
  transition: background-color 0.2s ease, color 0.2s ease;
}
.section--team-rotator .flickity-prev-next-button.next {
  left: auto;
  right: 0;
}
.section--team-rotator .flickity-prev-next-button.previous {
  left: auto;
  right: 43px;
  transform: scaleX(-1);
}
.section--team-rotator .flickity-prev-next-button:hover, .section--team-rotator .flickity-prev-next-button:focus-visible {
  background: #45C2B1;
  color: #FFFFFF;
}
.section--team-rotator .flickity-prev-next-button:disabled {
  opacity: 0.35;
}
.section--team-rotator .flickity-prev-next-button::before, .section--team-rotator .flickity-prev-next-button::after {
  content: "";
  position: absolute;
}
.section--team-rotator .flickity-prev-next-button::before {
  top: 50%;
  left: 32%;
  width: 36%;
  height: 1px;
  background: currentColor;
  transform: translateY(-50%);
}
.section--team-rotator .flickity-prev-next-button::after {
  top: 50%;
  right: 32%;
  width: 26%;
  height: 26%;
  border-top: 1px solid currentColor;
  border-right: 1px solid currentColor;
  transform: translate(50%, -50%) rotate(45deg);
}
.section--team-rotator .flickity-button-icon {
  display: none;
}
.section--team-rotator .flickity-page-dots {
  position: relative;
  bottom: 0;
  margin-top: 1rem;
  line-height: 1;
}
.section--team-rotator .flickity-page-dots .dot {
  width: 8px;
  height: 8px;
  margin: 0 4px;
  background: transparent;
  border: 1px solid #45C2B1;
  opacity: 1;
}
.section--team-rotator .flickity-page-dots .dot.is-selected {
  background: #45C2B1;
}

.section--fan-accordion {
  background-color: #F9F9F9;
  color: #1C2221;
}
.section--fan-accordion .fan-accordion__container {
  max-width: 1200px;
  margin: 0 auto;
  padding: 40px 32px;
  display: flex;
  flex-direction: column;
}
@media (min-width: 768px) {
  .section--fan-accordion .fan-accordion__container {
    padding: 60px 32px;
  }
}
@media (min-width: 1241px) {
  .section--fan-accordion .fan-accordion__container {
    padding: 60px 32px;
  }
}
.section--fan-accordion .fan-accordion__intro {
  text-align: center;
  margin-bottom: 1rem;
}
@media (min-width: 768px) {
  .section--fan-accordion .fan-accordion__intro {
    margin-bottom: 36px;
  }
}
.section--fan-accordion .fan-accordion__text, .section--fan-accordion .fan-accordion__text p {
  color: inherit;
}
.section--fan-accordion .fan-accordion__text p:last-child {
  margin-bottom: 0;
}
.section--fan-accordion .fan-accordion__body {
  display: grid;
  grid-template-columns: 1fr;
  align-items: center;
  gap: 1rem;
}
@media (min-width: 768px) {
  .section--fan-accordion .fan-accordion__body {
    grid-template-columns: 1fr 1fr;
    gap: 32px;
  }
}
.section--fan-accordion .fan-accordion__cta {
  align-self: center;
  display: inline-flex;
  justify-content: center;
  text-align: center;
  margin-top: 1rem;
}
@media (min-width: 768px) {
  .section--fan-accordion .fan-accordion__cta {
    margin-top: 36px;
  }
}
.section--fan-accordion .fan-accordion__media {
  --fan-progress: 1;
  --fan-scale: var(--fan-mobile-scale, 0.7);
  --fan-accordion-breakpoint: 768px;
  position: relative;
  aspect-ratio: 1.5;
}
@media (min-width: 768px) {
  .section--fan-accordion .fan-accordion__media {
    --fan-scale: 1;
  }
}
.section--fan-accordion .fan-accordion__card {
  position: absolute;
  bottom: 0;
  left: 0;
  right: 0;
  margin: 0 auto;
  width: 46%;
  aspect-ratio: 0.72;
  overflow: hidden;
  border-radius: clamp(8px, 1.2vw, 14px);
  box-shadow: 0 6px 18px rgba(0, 0, 0, 0.18);
  transform-origin: bottom center;
  will-change: transform;
}
.section--fan-accordion .fan-accordion__card--1 {
  z-index: 1;
  transform: translateX(calc(var(--fan-progress) * var(--fan-spread, 45) * var(--fan-scale) * -1%)) rotate(calc(var(--fan-progress) * var(--fan-rotation, 9) * var(--fan-scale) * -1deg));
}
.section--fan-accordion .fan-accordion__card--2 {
  z-index: 2;
}
.section--fan-accordion .fan-accordion__card--3 {
  z-index: 1;
  transform: translateX(calc(var(--fan-progress) * var(--fan-spread, 45) * var(--fan-scale) * 1%)) rotate(calc(var(--fan-progress) * var(--fan-rotation, 9) * var(--fan-scale) * 1deg));
}
.section--fan-accordion .fan-accordion__image {
  display: block;
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.section--fan-accordion .fan-accordion__items {
  list-style: none;
  margin: 0;
  padding: 0;
}
.section--fan-accordion .fan-accordion__item {
  border-bottom: 1px solid currentColor;
  border-bottom-color: rgba(0, 0, 0, 0.15);
}
.section--fan-accordion .fan-accordion__item[open] .fan-accordion__question::after {
  content: "−";
}
.section--fan-accordion .fan-accordion__question {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
  padding: 1.25rem 0;
  cursor: pointer;
  font-weight: 600;
  list-style: none;
}
.section--fan-accordion .fan-accordion__question::-webkit-details-marker {
  display: none;
}
.section--fan-accordion .fan-accordion__question::marker {
  content: "";
}
.section--fan-accordion .fan-accordion__question::after {
  content: "+";
  font-size: 1.5rem;
  font-weight: 300;
  line-height: 1;
  flex-shrink: 0;
}
.section--fan-accordion .fan-accordion__question:focus-visible {
  outline: 2px solid currentColor;
  outline-offset: 2px;
}
.section--fan-accordion .fan-accordion__answer, .section--fan-accordion .fan-accordion__answer p {
  color: inherit;
}
.section--fan-accordion .fan-accordion__answer {
  padding: 0 0 1.25rem;
  line-height: 1.6;
}
.section--fan-accordion .fan-accordion__answer p:last-child {
  margin-bottom: 0;
}
@media (min-width: 768px) {
  .section--fan-accordion--images-right .fan-accordion__media {
    order: 2;
  }
}
.section--fan-accordion.no-fan .fan-accordion__media {
  aspect-ratio: auto;
  display: flex;
  gap: 10px;
}
@media (min-width: 768px) {
  .section--fan-accordion.no-fan .fan-accordion__media {
    gap: 1rem;
  }
}
.section--fan-accordion.no-fan .fan-accordion__media .fan-accordion__card {
  position: relative;
  bottom: auto;
  left: auto;
  right: auto;
  margin: 0;
  width: auto;
  flex: 1 1 0;
  transform: none;
}
@media (prefers-reduced-motion: reduce) {
  .section--fan-accordion .fan-accordion__media {
    --fan-progress: 1 !important;
  }
  .section--fan-accordion .fan-accordion__card {
    will-change: auto;
  }
}

.section--table-builder .table-builder__container {
  max-width: 1200px;
  margin: 0 auto;
  padding: 40px 32px;
}
@media (min-width: 1241px) {
  .section--table-builder .table-builder__container {
    padding: 60px 32px;
  }
}
.section--table-builder .table-builder__intro {
  text-align: center;
  margin-bottom: 1rem;
}
@media (min-width: 768px) {
  .section--table-builder .table-builder__intro {
    margin-bottom: 36px;
  }
}
.section--table-builder .table-builder__text, .section--table-builder .table-builder__text p {
  color: inherit;
}
.section--table-builder .table-builder__text p:last-child {
  margin-bottom: 0;
}
.section--table-builder .table-builder__scroll {
  overflow-x: auto;
  -webkit-overflow-scrolling: touch;
}
.section--table-builder .table-builder__scroll:focus-visible {
  outline: 2px solid currentColor;
  outline-offset: 2px;
}
.section--table-builder .table-builder__table {
  width: 100%;
  border-collapse: separate;
  border-spacing: 0;
  text-align: center;
  border: 1px solid var(--table-border-color, rgba(0, 0, 0, 0.12));
  border-radius: var(--table-radius, clamp(8px, 1vw, 14px));
  overflow: clip;
}
.section--table-builder .table-builder__sr {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  white-space: nowrap;
  border: 0;
}
.section--table-builder .table-builder__col-head {
  background-color: var(--table-header-bg, #45C2B1);
  color: var(--table-header-color, #FFFFFF);
  font-family: merriweather, serif;
  font-weight: 600;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  padding: 20px 16px;
  vertical-align: middle;
}
.section--table-builder .table-builder__col-head--label {
  background-color: var(--table-label-bg, rgba(0, 0, 0, 0.05));
  color: var(--table-label-head-color, #45C2B1);
}
.section--table-builder .table-builder__row-head, .section--table-builder .table-builder__cell {
  border-top: 1px solid var(--table-border-color, rgba(0, 0, 0, 0.12));
  padding: 18px 16px;
  vertical-align: middle;
}
.section--table-builder .table-builder__row-head {
  background-color: var(--table-label-bg, rgba(0, 0, 0, 0.05));
  color: var(--table-cell-strong-color, #1C2221);
  font-weight: 600;
}
.section--table-builder .table-builder__row-head p, .section--table-builder .table-builder__cell p {
  margin: 0;
  color: inherit;
}
.section--table-builder .table-builder__cell {
  color: var(--table-cell-color, #1C2221);
  border-left: 1px solid var(--table-border-color, rgba(0, 0, 0, 0.12));
  background-color: var(--table-cell-bg, rgba(0, 0, 0, 0.015));
}
.section--table-builder .table-builder__cell strong, .section--table-builder .table-builder__cell b {
  display: block;
  font-weight: 600;
  color: var(--table-cell-strong-color, #1C2221);
}
.section--table-builder .table-builder__ctas {
  display: flex;
  flex-direction: column;
  align-items: stretch;
  justify-content: center;
  gap: 10px;
  margin-top: 1rem;
}
@media (min-width: 768px) {
  .section--table-builder .table-builder__ctas {
    flex-direction: row;
    align-items: center;
    gap: 1rem;
    margin-top: 36px;
  }
}
.section--table-builder .table-builder__ctas > p {
  display: contents;
}
.section--table-builder .table-builder__ctas .btn {
  margin-top: 0 !important;
  text-align: center;
}
@media (max-width: 767px) {
  .section--table-builder .table-builder__table {
    display: block;
  }
  .section--table-builder .table-builder__head, .section--table-builder .table-builder__body {
    display: block;
  }
  .section--table-builder .table-builder__head .table-builder__row {
    display: grid;
    grid-template-columns: repeat(var(--table-data-columns, 1), 1fr);
  }
  .section--table-builder .table-builder__col-head--label {
    display: none;
  }
  .section--table-builder .table-builder__col-head {
    padding: 12px 16px;
    font-size: 0.7rem;
  }
  .section--table-builder .table-builder__row {
    display: grid;
    grid-template-columns: repeat(var(--table-data-columns, 1), 1fr);
  }
  .section--table-builder .table-builder__row-head {
    grid-column: 1/-1;
    padding: 10px 16px;
    font-size: 0.875rem;
  }
  .section--table-builder .table-builder__cell {
    padding: 14px 12px;
  }
  .section--table-builder .table-builder__cell:first-of-type {
    border-left: 0;
  }
}
@media (max-width: 767px) {
  .section--table-builder--mobile-stacked .table-builder__head {
    display: none;
  }
  .section--table-builder--mobile-stacked .table-builder__row {
    grid-template-columns: 1fr;
  }
  .section--table-builder--mobile-stacked .table-builder__cell {
    border-left: 0;
    text-align: left;
    display: flex;
    align-items: baseline;
    gap: 10px;
  }
  .section--table-builder--mobile-stacked .table-builder__cell::before {
    content: attr(data-label);
    flex: 0 0 40%;
    font-size: 0.75rem;
    font-weight: 600;
    letter-spacing: 0.06em;
    text-transform: uppercase;
    color: var(--table-cell-color, #1C2221);
  }
}
.section--table-builder.has-label-column .table-builder__col-head:nth-of-type(2n) {
  background-color: var(--table-header-bg, #45C2B1);
}
.section--table-builder.has-label-column .table-builder__col-head:nth-of-type(2n + 3) {
  background-color: var(--table-header-bg-alt, #369C8E);
}
.section--table-builder.no-label-column .table-builder__col-head:nth-of-type(2n + 1) {
  background-color: var(--table-header-bg, #45C2B1);
}
.section--table-builder.no-label-column .table-builder__col-head:nth-of-type(2n) {
  background-color: var(--table-header-bg-alt, #369C8E);
}
@media (max-width: 767px) {
  .section--table-builder.no-label-column .table-builder__cell:first-of-type {
    border-left: 0;
  }
}

.section--dynamic-4-image {
  color: #1C2221;
  overflow-x: clip;
}
.section--dynamic-4-image .dynamic-4-image__container {
  position: relative;
  --d4i-accent-scale: 0.62;
  max-width: 1200px;
  margin: 0 auto;
  padding: 40px 32px;
  display: grid;
  grid-template-columns: 1fr;
  align-items: center;
  gap: 1rem;
}
@media (min-width: 768px) {
  .section--dynamic-4-image .dynamic-4-image__container {
    --d4i-accent-scale: 1;
  }
}
@media (min-width: 768px) {
  .section--dynamic-4-image .dynamic-4-image__container {
    padding: 60px 32px;
    grid-template-columns: 1fr 1fr;
    gap: 32px;
  }
}
@media (min-width: 1241px) {
  .section--dynamic-4-image .dynamic-4-image__container {
    padding: 60px 32px;
  }
}
.section--dynamic-4-image .dynamic-4-image__intro {
  position: relative;
  z-index: 1;
}
.section--dynamic-4-image .dynamic-4-image__text, .section--dynamic-4-image .dynamic-4-image__text p {
  color: inherit;
}
.section--dynamic-4-image .dynamic-4-image__text p:last-child {
  margin-bottom: 0;
}
.section--dynamic-4-image .dynamic-4-image__cta {
  display: inline-flex;
  justify-content: center;
  text-align: center;
  width: auto;
  margin-top: 1rem !important;
}
@media (min-width: 768px) {
  .section--dynamic-4-image .dynamic-4-image__cta {
    margin-top: 32px !important;
  }
}
.section--dynamic-4-image .dynamic-4-image__feature {
  position: relative;
  aspect-ratio: var(--d4i-feature-ratio, 0.73);
  width: 100%;
  max-width: var(--d4i-feature-max, 440px);
  justify-self: center;
}
.section--dynamic-4-image .dynamic-4-image__feature > .dynamic-4-image__image {
  border-radius: var(--d4i-radius, clamp(10px, 1.8vw, 20px));
}
.section--dynamic-4-image .dynamic-4-image__image {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}
.section--dynamic-4-image .dynamic-4-image__accent {
  position: absolute;
  display: block;
  border-radius: 50%;
  overflow: clip;
  width: calc(var(--d4i-accent-size, 30%) * var(--d4i-accent-scale, 1));
  aspect-ratio: 1;
}
.section--dynamic-4-image .dynamic-4-image__accent > .dynamic-4-image__image {
  border-radius: 50%;
}
.section--dynamic-4-image .dynamic-4-image__accent--top-left {
  --d4i-accent-size: 45%;
  top: 0;
  left: 0;
  transform: translate(-40%, -22%);
}
.section--dynamic-4-image .dynamic-4-image__accent--top-right {
  --d4i-accent-size: 30%;
  top: 12%;
  right: 0;
  transform: translateX(45%);
}
.section--dynamic-4-image .dynamic-4-image__accent--bottom-left {
  --d4i-accent-size: 45%;
  bottom: 0;
  left: 0;
  transform: translate(-40%, 22%);
}
.section--dynamic-4-image .dynamic-4-image__accent--bottom-right {
  --d4i-accent-size: 30%;
  bottom: 12%;
  right: 0;
  transform: translateX(45%);
}
.section--dynamic-4-image .dynamic-4-image__accent--outer {
  --d4i-accent-size: clamp(56px, 7vw, 96px);
  bottom: 12%;
}
.section--dynamic-4-image .dynamic-4-image__accent--outer-left {
  left: 0;
  transform: translateX(-45%);
}
.section--dynamic-4-image .dynamic-4-image__accent--outer-right {
  right: 0;
  transform: translateX(45%);
}
@media (min-width: 768px) {
  .section--dynamic-4-image--media-left .dynamic-4-image__intro {
    grid-column: 2;
    grid-row: 1;
  }
  .section--dynamic-4-image--media-left .dynamic-4-image__feature {
    grid-column: 1;
    grid-row: 1;
  }
}
@media (min-width: 768px) {
  .section--dynamic-4-image--media-right .dynamic-4-image__intro {
    grid-column: 1;
    grid-row: 1;
  }
  .section--dynamic-4-image--media-right .dynamic-4-image__feature {
    grid-column: 2;
    grid-row: 1;
  }
}
@media (max-width: 767px) {
  .section--dynamic-4-image .dynamic-4-image__intro {
    margin-bottom: 1rem;
  }
  .section--dynamic-4-image .dynamic-4-image__accent--hide-mobile {
    display: none;
  }
}

.section--treatment-steps .treatment-steps__container {
  max-width: 1200px;
  margin: 0 auto;
  padding: 40px 32px;
}
@media (min-width: 768px) {
  .section--treatment-steps .treatment-steps__container {
    padding: 60px 32px;
  }
}
@media (min-width: 1241px) {
  .section--treatment-steps .treatment-steps__container {
    padding: 60px 32px;
  }
}
.section--treatment-steps .treatment-steps__panel {
  position: relative;
  overflow: hidden;
  border-radius: clamp(12px, 1.6vw, 24px);
  background-color: #45C2B1;
  color: #FFFFFF;
  padding: clamp(24px, 3.2vw, 56px);
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  grid-template-areas: "intro" "rotator" "actions";
}
@media (min-width: 768px) {
  .section--treatment-steps .treatment-steps__panel {
    grid-template-columns: minmax(0, 1fr) minmax(0, 27%);
    grid-template-rows: min-content min-content 1fr min-content;
    grid-template-areas: "intro   media" "actions media" ".       media" "rotator rotator";
  }
}
.section--treatment-steps .treatment-steps__intro {
  grid-area: intro;
}
.section--treatment-steps .treatment-steps__headline {
  margin-top: 0;
  color: inherit;
}
.section--treatment-steps .treatment-steps__text, .section--treatment-steps .treatment-steps__text p {
  color: inherit;
}
.section--treatment-steps .treatment-steps__text p:last-child {
  margin-bottom: 0;
}
.section--treatment-steps .treatment-steps__text > :first-child {
  font-family: merriweather, serif;
  font-size: clamp(1.6rem, 3.2vw, 2.75rem);
  line-height: 1.15;
  margin-top: 0;
}
.section--treatment-steps .treatment-steps__actions {
  grid-area: actions;
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  align-items: flex-start;
  margin-top: 10px;
}
@media (min-width: 768px) {
  .section--treatment-steps .treatment-steps__actions {
    margin-top: 1rem;
    align-self: start;
  }
}
.section--treatment-steps .treatment-steps__cta {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  text-align: center;
  width: 100%;
}
@media (min-width: 768px) {
  .section--treatment-steps .treatment-steps__cta {
    width: auto;
  }
}
.section--treatment-steps .treatment-steps__media {
  grid-area: media;
  display: none;
}
@media (min-width: 768px) {
  .section--treatment-steps .treatment-steps__media {
    display: block;
    align-self: start;
    aspect-ratio: 0.9;
    margin: calc(-1 * clamp(24px, 3.2vw, 56px)) calc(-1 * clamp(24px, 3.2vw, 56px)) 0 0;
  }
}
.section--treatment-steps .treatment-steps__image {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: top center;
  -webkit-mask-image: linear-gradient(to bottom, #000 74%, transparent 100%);
  mask-image: linear-gradient(to bottom, #000 74%, transparent 100%);
}
.section--treatment-steps .treatment-steps__rotator {
  grid-area: rotator;
  position: relative;
  margin-top: 1rem;
}
@media (min-width: 768px) {
  .section--treatment-steps .treatment-steps__rotator {
    margin-top: clamp(24px, 3.2vw, 56px);
  }
}
.section--treatment-steps .treatment-steps__eyebrow {
  display: none;
}
@media (min-width: 768px) {
  .section--treatment-steps .treatment-steps__eyebrow {
    display: flex;
    align-items: center;
    position: absolute;
    top: 0;
    left: 0;
    max-width: calc(100% - 112px);
    min-height: 40px;
  }
}
.section--treatment-steps .treatment-steps__eyebrow,
.section--treatment-steps .treatment-steps__eyebrow p {
  color: inherit;
}
.section--treatment-steps .treatment-steps__eyebrow p {
  margin-bottom: 0;
}
.section--treatment-steps .treatment-steps__items {
  --steps-progress: 1;
  --treatment-steps-breakpoint: 768px;
  margin: 0;
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  gap: 10px;
}
@media (min-width: 768px) {
  .section--treatment-steps .treatment-steps__items {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 1rem;
  }
}
@media (min-width: 991px) {
  .section--treatment-steps .treatment-steps__items {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
}
.section--treatment-steps .treatment-steps__items.flickity-enabled {
  display: block;
}
.section--treatment-steps .treatment-steps__step {
  position: relative;
  width: 100%;
  padding-left: 10px;
}
@media (min-width: 768px) {
  .section--treatment-steps .treatment-steps__step {
    width: 50%;
    padding-left: 1rem;
  }
}
@media (min-width: 991px) {
  .section--treatment-steps .treatment-steps__step {
    width: 33.3333%;
  }
}
.section--treatment-steps .treatment-steps__step::before {
  content: "";
  position: absolute;
  top: 0;
  bottom: 0;
  left: 0;
  width: 1px;
  background-color: currentColor;
  opacity: 0.3;
}
.section--treatment-steps .treatment-steps__number {
  font-size: clamp(1.75rem, 3vw, 2.5rem);
  font-weight: 700;
  line-height: 1.1;
  margin-bottom: 0.4em;
  color: inherit;
}
.section--treatment-steps .treatment-steps__step-headline {
  margin-top: 0;
  margin-bottom: 0.5em;
  color: inherit;
}
.section--treatment-steps .treatment-steps__step-body, .section--treatment-steps .treatment-steps__step-body p {
  color: inherit;
}
.section--treatment-steps .treatment-steps__step-body p:last-child {
  margin-bottom: 0;
}
@media (min-width: 768px) {
  .section--treatment-steps--image-left .treatment-steps__panel {
    grid-template-columns: minmax(0, 27%) minmax(0, 1fr);
    grid-template-areas: "media intro" "media actions" "media ." "rotator rotator";
  }
}
@media (min-width: 768px) {
  .section--treatment-steps--image-left .treatment-steps__media {
    margin: calc(-1 * clamp(24px, 3.2vw, 56px)) 0 0 calc(-1 * clamp(24px, 3.2vw, 56px));
  }
}
@media (min-width: 768px) {
  .section--treatment-steps.no-image .treatment-steps__panel {
    grid-template-columns: minmax(0, 1fr);
    grid-template-rows: min-content min-content min-content;
    grid-template-areas: "intro" "actions" "rotator";
  }
}
.section--treatment-steps .treatment-steps__items::after {
  content: "";
  display: none;
}
.section--treatment-steps.has-rotator .treatment-steps__items::after {
  content: "flickity";
}
.section--treatment-steps.has-rotator .treatment-steps__items {
  padding-top: 56px;
}
.section--treatment-steps .treatment-steps__items .flickity-prev-next-button {
  top: 20px;
  transform: translateY(-50%);
  width: 40px;
  height: 40px;
  border: 1px solid currentColor;
  border-radius: 50%;
  background: transparent;
  color: inherit;
}
.section--treatment-steps .treatment-steps__items .flickity-prev-next-button:focus-visible {
  outline: 2px solid currentColor;
  outline-offset: 2px;
}
.section--treatment-steps .treatment-steps__items .flickity-prev-next-button .flickity-button-icon {
  fill: currentColor;
}
.section--treatment-steps .treatment-steps__items .flickity-prev-next-button.previous {
  left: auto;
  right: 56px;
}
.section--treatment-steps .treatment-steps__items .flickity-prev-next-button.next {
  left: auto;
  right: 0;
}
.section--treatment-steps .treatment-steps__step {
  --steps-local: clamp(0,
      calc((var(--steps-progress) * (var(--steps-count, 1) + var(--steps-lead, 1.6) - 1)
            - var(--step-index, 0)) / var(--steps-lead, 1.6)), 1);
  transform: translateX(calc((1 - var(--steps-local)) * var(--steps-slide, 40%)));
  opacity: var(--steps-local);
  will-change: transform, opacity;
}
@media (prefers-reduced-motion: reduce) {
  .section--treatment-steps .treatment-steps__items {
    --steps-progress: 1 !important;
  }
  .section--treatment-steps .treatment-steps__step {
    will-change: auto;
  }
}

.section--video-image .video-image__container {
  max-width: 1200px;
  margin: 0 auto;
  padding: 40px 32px;
  display: grid;
  grid-template-columns: 1fr;
  gap: 1rem;
}
@media (min-width: 1241px) {
  .section--video-image .video-image__container {
    padding: 60px 32px;
  }
}
.section--video-image .video-image__text {
  align-self: center;
}
.section--video-image .video-image__headline {
  background: none;
}
.section--video-image .video-image__mark {
  display: inline;
  -webkit-box-decoration-break: clone;
  box-decoration-break: clone;
  padding: 0.12em 0.4em;
}
.section--video-image .video-image__body {
  margin-top: 20px;
}
.section--video-image .video-image__body, .section--video-image .video-image__body p {
  color: inherit;
}
.section--video-image .video-image__body p:last-child {
  margin-bottom: 0;
}
.section--video-image .video-image__actions {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 1rem;
  margin-top: 28px;
}
.section--video-image .video-image__cta {
  display: inline-flex;
  align-items: center;
  gap: 0.5em;
  color: var(--video-image-cta-color, #1C2221);
  font-weight: 600;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  text-decoration: none;
}
.section--video-image .video-image__cta::after {
  content: "→";
  transition: transform 0.2s ease;
}
.section--video-image .video-image__cta:hover::after, .section--video-image .video-image__cta:focus-visible::after {
  transform: translateX(0.25em);
}
.section--video-image .video-image__cta:focus-visible {
  outline: 2px solid currentColor;
  outline-offset: 3px;
}
.section--video-image .video-image__media {
  position: relative;
  width: 100%;
  aspect-ratio: var(--video-image-ratio, 16/9);
  overflow: hidden;
  border-radius: var(--video-image-radius, 0);
  background-color: var(--video-image-media-bg, #1C2221);
}
.section--video-image .video-image__image {
  object-fit: cover;
}
.section--video-image .video-image__image, .section--video-image .video-image__frame, .section--video-image .video-image__media iframe, .section--video-image .video-image__media video, .section--video-image .video-image__media object, .section--video-image .video-image__media embed {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  border: 0;
}
.section--video-image .video-image__text .video-image__actions .video-image__cta {
  text-decoration: none;
}
.section--video-image.has-headline-mark .video-image__mark {
  background-color: var(--video-image-headline-bg, #369C8E);
  color: var(--video-image-headline-color, #1C2221);
}
@media (min-width: 768px) {
  .section--video-image .video-image__container {
    grid-template-columns: 1fr 1fr;
    gap: 48px;
    align-items: center;
  }
  .section--video-image.section--video-image--video-left .video-image__text {
    order: 2;
  }
  .section--video-image.section--video-image--video-left .video-image__media {
    order: 1;
  }
}
@media (min-width: 768px) {
  .section--video-image.no-media .video-image__container {
    grid-template-columns: 1fr;
  }
}

.section--faq-sticky-image {
  background-color: var(--faq-sticky-image-bg, #F9F9F9);
  color: #1C2221;
}
.section--faq-sticky-image .faq-sticky-image__container {
  max-width: 1200px;
  margin: 0 auto;
  padding: 40px 32px;
  display: grid;
  grid-template-columns: 1fr;
  grid-template-areas: "headline" "media" "content";
  gap: 10px;
}
@media (min-width: 768px) {
  .section--faq-sticky-image .faq-sticky-image__container {
    grid-template-columns: 1fr 1fr;
    grid-template-areas: "media headline" "media content";
    gap: clamp(32px, 6vw, 96px);
    align-items: start;
    padding: 60px 32px;
  }
}
@media (min-width: 1241px) {
  .section--faq-sticky-image .faq-sticky-image__container {
    padding: 60px 32px;
  }
}
.section--faq-sticky-image .faq-sticky-image__media {
  grid-area: media;
  margin-bottom: 1rem;
}
@media (min-width: 768px) {
  .section--faq-sticky-image .faq-sticky-image__media {
    position: sticky;
    top: calc(var(--header-height, 0px) + 1rem);
    margin-bottom: 0;
  }
}
.section--faq-sticky-image .faq-sticky-image__media--no-image {
  display: none;
}
@media (min-width: 768px) {
  .section--faq-sticky-image .faq-sticky-image__media--no-image {
    display: block;
  }
}
.section--faq-sticky-image .faq-sticky-image__image {
  display: block;
  width: 100%;
  aspect-ratio: 1;
  object-fit: cover;
  border-radius: 50%;
}
.section--faq-sticky-image .faq-sticky-image__content {
  grid-area: content;
}
.section--faq-sticky-image .faq-sticky-image__headline {
  grid-area: headline;
  margin-top: 0;
  font-family: merriweather, serif;
  text-transform: none;
  font-weight: 400;
  letter-spacing: normal;
  font-size: clamp(1.75rem, 3vw, 2.5rem);
  line-height: 1.15;
}
.section--faq-sticky-image .faq-sticky-image__accent {
  font-style: italic;
  font-weight: inherit;
  color: var(--faq-sticky-image-accent-color, rgb(44.9, 113.3, 103.85));
}
.section--faq-sticky-image .faq-sticky-image__items {
  list-style: none;
  margin: 0;
  padding: 0;
}
.section--faq-sticky-image .faq-sticky-image__item {
  border-bottom: 1px solid currentColor;
  border-bottom-color: rgba(0, 0, 0, 0.15);
}
.section--faq-sticky-image .faq-sticky-image__item[open] .faq-sticky-image__question::after {
  content: "−";
}
.section--faq-sticky-image .faq-sticky-image__question {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
  padding: 1.25rem 0;
  cursor: pointer;
  font-weight: 600;
  list-style: none;
}
.section--faq-sticky-image .faq-sticky-image__question::-webkit-details-marker {
  display: none;
}
.section--faq-sticky-image .faq-sticky-image__question::marker {
  content: "";
}
.section--faq-sticky-image .faq-sticky-image__question::after {
  content: "+";
  font-size: 1.5rem;
  font-weight: 300;
  line-height: 1;
  flex-shrink: 0;
}
.section--faq-sticky-image .faq-sticky-image__question:focus-visible {
  outline: 2px solid currentColor;
  outline-offset: 2px;
}
.section--faq-sticky-image .faq-sticky-image__answer, .section--faq-sticky-image .faq-sticky-image__answer p {
  color: inherit;
}
.section--faq-sticky-image .faq-sticky-image__answer {
  padding: 0 0 1.25rem;
  line-height: 1.6;
}
.section--faq-sticky-image .faq-sticky-image__answer p:last-child {
  margin-bottom: 0;
}
.section--faq-sticky-image .faq-sticky-image__cta {
  margin-top: 1rem;
}
.section--faq-sticky-image .faq-sticky-image__cta a {
  display: inline-flex;
  align-items: center;
  gap: 0.4em;
  color: var(--faq-sticky-image-accent-color, rgb(44.9, 113.3, 103.85));
  font-weight: 700;
  text-decoration: none !important;
}
.section--faq-sticky-image .faq-sticky-image__cta a::after {
  content: "→";
}
.section--faq-sticky-image .faq-sticky-image__cta a:hover {
  text-decoration: underline !important;
}
.section--faq-sticky-image .faq-sticky-image__cta a:focus-visible {
  outline: 2px solid currentColor;
  outline-offset: 3px;
}
@media (min-width: 768px) {
  .section--faq-sticky-image--image-right .faq-sticky-image__container {
    grid-template-areas: "headline media" "content media";
  }
}

.section--pricing-cards {
  color: var(--pc-color, #1C2221);
}
.section--pricing-cards .pricing-cards__container {
  max-width: 1200px;
  margin: 0 auto;
  padding: 40px 32px;
}
@media (min-width: 1241px) {
  .section--pricing-cards .pricing-cards__container {
    padding: 60px 32px;
  }
}
.section--pricing-cards .pricing-cards__intro {
  max-width: 1000px;
  margin: 0 auto;
  text-align: center;
}
.section--pricing-cards .pricing-cards__headline {
  margin: 0;
}
.section--pricing-cards .pricing-cards__accent {
  color: var(--pc-accent-color, #369C8E);
}
.section--pricing-cards .pricing-cards__description {
  margin-top: 20px;
}
.section--pricing-cards .pricing-cards__description, .section--pricing-cards .pricing-cards__description p {
  color: inherit;
}
.section--pricing-cards .pricing-cards__description p:last-child {
  margin-bottom: 0;
}
.section--pricing-cards .pricing-cards__grid {
  list-style: none;
  margin: 48px 0 0;
  padding: 0;
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  gap: 32px;
}
.section--pricing-cards .pricing-cards__grid::after {
  content: "";
  display: none;
}
.section--pricing-cards .pricing-cards__card {
  display: flex;
  flex-direction: column;
  padding: 0;
  background-color: var(--pc-card-bg, #FFFFFF);
  border: 1px solid var(--pc-border-color, rgb(209.22, 210.3, 210.12));
  border-radius: 12px;
  box-shadow: var(--pc-shadow, 0 2px 4px rgba(0, 0, 0, 0.14));
  overflow: hidden;
  text-align: left;
}
.section--pricing-cards .pricing-cards__media {
  aspect-ratio: var(--pc-image-ratio, 1);
  overflow: hidden;
}
.section--pricing-cards .pricing-cards__image {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.section--pricing-cards .pricing-cards__body {
  display: flex;
  flex-direction: column;
  flex: 1 1 auto;
  padding: 24px;
}
.section--pricing-cards .pricing-cards__card-headline {
  margin: 0;
}
.section--pricing-cards .pricing-cards__card-description, .section--pricing-cards .pricing-cards__card-description p {
  color: inherit;
}
.section--pricing-cards .pricing-cards__card-description {
  margin-top: 12px;
}
.section--pricing-cards .pricing-cards__card-description p:last-child {
  margin-bottom: 0;
}
.section--pricing-cards .pricing-cards__eyebrow, .section--pricing-cards .pricing-cards__eyebrow p {
  color: inherit;
}
.section--pricing-cards .pricing-cards__eyebrow {
  margin: auto 0 0;
  padding-top: 12px;
  font-size: 0.8125rem;
  letter-spacing: 0.04em;
  opacity: 0.7;
}
.section--pricing-cards .pricing-cards__price, .section--pricing-cards .pricing-cards__price p {
  color: inherit;
}
.section--pricing-cards .pricing-cards__price {
  margin-top: 0.25em;
  font-weight: 600;
}
.section--pricing-cards .pricing-cards__price p {
  margin: 0;
}
.section--pricing-cards .pricing-cards__price strong, .section--pricing-cards .pricing-cards__price b {
  font-weight: 700;
}
.section--pricing-cards .pricing-cards__cta {
  align-self: flex-start;
  margin-top: 12px;
}
.section--pricing-cards .pricing-cards__cta--link {
  display: inline-flex;
  align-items: center;
  gap: 0.5em;
  color: var(--pc-accent-color, #369C8E);
  font-weight: 600;
  text-decoration: none;
}
.section--pricing-cards .pricing-cards__cta--link::after {
  content: "";
  width: 0.4em;
  height: 0.4em;
  border-top: 2px solid currentColor;
  border-right: 2px solid currentColor;
  transform: translateX(-0.1em) rotate(45deg);
  transition: transform 0.15s ease;
}
.section--pricing-cards .pricing-cards__cta--link:hover::after, .section--pricing-cards .pricing-cards__cta--link:focus-visible::after {
  transform: translateX(0.1em) rotate(45deg);
}
.section--pricing-cards .pricing-cards__cta:focus-visible {
  outline: 2px solid currentColor;
  outline-offset: 3px;
}
@media (max-width: 767px) {
  .section--pricing-cards.has-rotator .pricing-cards__grid::after {
    content: "flickity";
  }
  .section--pricing-cards.has-rotator .pricing-cards__card {
    width: 85%;
    margin-right: 32px;
  }
}
@media (min-width: 768px) {
  .section--pricing-cards .pricing-cards__grid {
    grid-template-columns: repeat(var(--pc-columns, 2), minmax(0, 1fr));
  }
  .section--pricing-cards.section--pricing-cards--count-1 .pricing-cards__grid {
    grid-template-columns: minmax(0, 1fr);
    max-width: 1000px;
    margin-inline: auto;
  }
}
.section--pricing-cards .pricing-cards__card .pricing-cards__body .pricing-cards__cta {
  text-decoration: none;
}
.section--pricing-cards--cta-button .pricing-cards__cta {
  align-self: stretch;
  text-align: center;
}

.section--treatment-cards {
  color: var(--tc-color, #1C2221);
}
.section--treatment-cards .treatment-cards__container {
  max-width: 1200px;
  margin: 0 auto;
  padding: 40px 32px;
}
@media (min-width: 1241px) {
  .section--treatment-cards .treatment-cards__container {
    padding: 60px 32px;
  }
}
.section--treatment-cards .treatment-cards__intro {
  max-width: 1000px;
  margin: 0 auto;
  text-align: center;
}
.section--treatment-cards .treatment-cards__headline {
  margin: 0;
}
.section--treatment-cards .treatment-cards__description {
  margin-top: 16px;
}
.section--treatment-cards .treatment-cards__description, .section--treatment-cards .treatment-cards__description p {
  color: inherit;
}
.section--treatment-cards .treatment-cards__description p:last-child {
  margin-bottom: 0;
}
.section--treatment-cards .treatment-cards__grid {
  list-style: none;
  margin: 64px 0 0;
  padding: 0;
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  gap: 24px;
}
.section--treatment-cards .treatment-cards__grid::after {
  content: "";
  display: none;
}
.section--treatment-cards .treatment-cards__grid.flickity-enabled {
  display: block;
}
.section--treatment-cards .treatment-cards__card {
  display: flex;
  flex-direction: column;
  padding: 0;
  background-color: var(--tc-card-bg, #FFFFFF);
  border-radius: 12px;
  box-shadow: var(--tc-shadow, 0 2px 6px rgba(0, 0, 0, 0.12));
  overflow: hidden;
  text-align: left;
}
.section--treatment-cards .treatment-cards__media {
  aspect-ratio: var(--tc-image-ratio, 4/3);
  overflow: hidden;
}
.section--treatment-cards .treatment-cards__image {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.section--treatment-cards .treatment-cards__body {
  display: flex;
  flex-direction: column;
  flex: 1 1 auto;
  padding: 24px;
}
.section--treatment-cards .treatment-cards__card-headline {
  margin: 0;
  color: var(--tc-headline-color, #45C2B1);
}
.section--treatment-cards .treatment-cards__card-description {
  margin-top: 12px;
}
.section--treatment-cards .treatment-cards__card-description, .section--treatment-cards .treatment-cards__card-description p {
  color: inherit;
}
.section--treatment-cards .treatment-cards__card-description p:last-child {
  margin-bottom: 0;
}
.section--treatment-cards .treatment-cards__cta {
  align-self: flex-start;
  margin-top: 12px;
}
.section--treatment-cards .treatment-cards__cta--link {
  display: inline-flex;
  align-items: center;
  gap: 0.5em;
  color: var(--tc-accent-color, #369C8E);
  font-weight: 600;
  text-decoration: none;
}
.section--treatment-cards .treatment-cards__cta--link::after {
  content: "";
  width: 0.4em;
  height: 0.4em;
  border-top: 2px solid currentColor;
  border-right: 2px solid currentColor;
  transform: translateX(-0.1em) rotate(45deg);
  transition: transform 0.15s ease;
}
.section--treatment-cards .treatment-cards__cta--link:hover::after, .section--treatment-cards .treatment-cards__cta--link:focus-visible::after {
  transform: translateX(0.1em) rotate(45deg);
}
.section--treatment-cards .treatment-cards__cta:focus-visible {
  outline: 2px solid currentColor;
  outline-offset: 3px;
}
.section--treatment-cards .flickity-prev-next-button {
  min-width: auto;
  min-height: auto;
  margin: 0 !important;
  padding: 0;
  width: 32px;
  height: 32px;
  top: -32px;
}
.section--treatment-cards .flickity-prev-next-button.previous {
  left: auto;
  right: 45px;
}
.section--treatment-cards .flickity-prev-next-button.next {
  right: 0;
}
@media (max-width: 767px) {
  .section--treatment-cards .flickity-prev-next-button {
    display: none;
  }
  .section--treatment-cards.has-rotator .treatment-cards__grid::after {
    content: "flickity";
  }
  .section--treatment-cards.has-rotator .treatment-cards__card {
    width: 85%;
    margin-right: 24px;
  }
}
@media (min-width: 768px) {
  .section--treatment-cards .flickity-page-dots {
    display: none;
  }
  .section--treatment-cards .treatment-cards__grid {
    grid-template-columns: repeat(var(--tc-columns, 3), minmax(0, 1fr));
  }
  .section--treatment-cards.has-desktop-rotator .treatment-cards__grid::after {
    content: "flickity";
  }
  .section--treatment-cards.has-desktop-rotator .treatment-cards__card {
    width: calc((100% - (var(--tc-columns, 3) - 1) * 24px) / var(--tc-columns, 3));
    margin-right: 24px;
  }
  .section--treatment-cards--layout-1 .treatment-cards__card, .section--treatment-cards--layout-2 .treatment-cards__card {
    flex-direction: row;
    align-items: stretch;
  }
  .section--treatment-cards--layout-1 .treatment-cards__media, .section--treatment-cards--layout-2 .treatment-cards__media {
    flex: 0 0 auto;
    width: 32%;
    height: auto;
    min-width: 200px;
    aspect-ratio: var(--tc-image-ratio, 4/3);
  }
  .section--treatment-cards--layout-2 .treatment-cards__media {
    width: 59%;
  }
  .section--treatment-cards--layout-1 .treatment-cards__body, .section--treatment-cards--layout-2 .treatment-cards__body {
    flex: 1 1 auto;
    min-width: 0;
    justify-content: center;
  }
  .section--treatment-cards--layout-1 .treatment-cards__grid {
    grid-template-columns: minmax(0, 1fr);
  }
  .section--treatment-cards--layout-1 .treatment-cards__body {
    padding: 40px;
  }
  .section--treatment-cards--layout-2 .treatment-cards__grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
  .section--treatment-cards--layout-2 .treatment-cards__card-headline {
    font-size: 1.375rem;
    line-height: 1.2;
  }
  .section--treatment-cards--layout-2 .treatment-cards__card-description, .section--treatment-cards--layout-2 .treatment-cards__card-description p {
    font-size: 0.875rem;
    line-height: 1.5;
  }
  .section--treatment-cards--layout-2 .treatment-cards__cta {
    font-size: 0.875rem;
  }
}
.section--treatment-cards .treatment-cards__card .treatment-cards__body .treatment-cards__cta {
  text-decoration: none;
}
.section--treatment-cards--cta-button .treatment-cards__cta {
  align-self: stretch;
  text-align: center;
}

.section--corporate-card-rotator {
  background-color: #F9F9F9;
  color: #1C2221;
}
.section--corporate-card-rotator .corporate-card-rotator__inner {
  padding: 40px 0;
}
@media (min-width: 1241px) {
  .section--corporate-card-rotator .corporate-card-rotator__inner {
    padding: 60px 0;
  }
}
.section--corporate-card-rotator .corporate-card-rotator__intro, .section--corporate-card-rotator .corporate-card-rotator__footer {
  max-width: 1200px;
  margin: 0 auto;
  padding-inline: 32px;
}
@media (min-width: 1241px) {
  .section--corporate-card-rotator .corporate-card-rotator__intro, .section--corporate-card-rotator .corporate-card-rotator__footer {
    padding-inline: 32px;
  }
}
.section--corporate-card-rotator .corporate-card-rotator__intro {
  text-align: center;
}
.section--corporate-card-rotator .corporate-card-rotator__headline {
  margin: 0;
}
.section--corporate-card-rotator .corporate-card-rotator__accent {
  color: var(--ccr-accent-color, #369C8E);
  font-style: italic;
}
.section--corporate-card-rotator .corporate-card-rotator__description {
  max-width: 1000px;
  margin: 20px auto 0;
}
.section--corporate-card-rotator .corporate-card-rotator__description, .section--corporate-card-rotator .corporate-card-rotator__description p {
  color: inherit;
}
.section--corporate-card-rotator .corporate-card-rotator__description p:last-child {
  margin-bottom: 0;
}
.section--corporate-card-rotator .corporate-card-rotator__track {
  --ccr-gutter: 32px;
  --ccr-breakpoint: 768px;
  list-style: none;
  max-width: 1200px;
  margin: 56px auto 0;
  padding: 0 var(--ccr-gutter);
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  gap: 20px;
}
@media (min-width: 1241px) {
  .section--corporate-card-rotator .corporate-card-rotator__track {
    --ccr-gutter: 32px;
  }
}
.section--corporate-card-rotator .corporate-card-rotator__track::after {
  content: "";
  display: none;
}
.section--corporate-card-rotator .corporate-card-rotator__track.flickity-enabled {
  display: block;
}
.section--corporate-card-rotator .corporate-card-rotator__track.flickity-enabled .corporate-card-rotator__card {
  min-height: 100%;
}
.section--corporate-card-rotator .corporate-card-rotator__card {
  position: relative;
  display: flex;
  flex-direction: column;
  min-height: 319px;
  padding: 0;
  border-radius: 8px;
  overflow: hidden;
  text-align: left;
  transition: box-shadow 0.2s ease;
}
.section--corporate-card-rotator .corporate-card-rotator__body {
  --ccr-copy-opacity: 1;
  position: relative;
  display: flex;
  flex-direction: column;
  flex: 1 1 auto;
  padding: 28px;
}
.section--corporate-card-rotator .corporate-card-rotator__card-title {
  min-height: 9rem;
  margin: 0 0 16px;
  font-size: 2.5rem;
  line-height: 1.1;
  opacity: var(--ccr-copy-opacity);
  transition: opacity 0.2s ease;
}
.section--corporate-card-rotator .corporate-card-rotator__card-title p {
  margin: 0;
}
.section--corporate-card-rotator .corporate-card-rotator__card-title p + p {
  margin-top: 0.25em;
}
.section--corporate-card-rotator .corporate-card-rotator__card-title img, .section--corporate-card-rotator .corporate-card-rotator__card-title svg {
  display: block;
  width: auto;
  height: 1em;
  margin-bottom: 0.4em;
}
.section--corporate-card-rotator .corporate-card-rotator__card-title svg {
  fill: currentColor;
}
.section--corporate-card-rotator .corporate-card-rotator__card-text, .section--corporate-card-rotator .corporate-card-rotator__card-text p {
  color: inherit;
}
.section--corporate-card-rotator .corporate-card-rotator__card-text {
  font-size: 0.8125rem;
  line-height: 1.4;
  opacity: var(--ccr-copy-opacity);
  transition: opacity 0.2s ease;
}
.section--corporate-card-rotator .corporate-card-rotator__card-text p:last-child {
  margin-bottom: 0;
}
.section--corporate-card-rotator .corporate-card-rotator__card--quote .corporate-card-rotator__card-text, .section--corporate-card-rotator .corporate-card-rotator__card--quote .corporate-card-rotator__card-text p {
  font-style: italic;
}
.section--corporate-card-rotator .corporate-card-rotator__card--quote .corporate-card-rotator__body {
  padding-top: calc(28px + 9rem + 16px);
}
.section--corporate-card-rotator .corporate-card-rotator__card-subtitle {
  margin-top: 16px;
  font-size: 0.8125rem;
  line-height: 1.4;
  opacity: calc(0.8 * var(--ccr-copy-opacity));
  transition: opacity 0.2s ease;
}
.section--corporate-card-rotator .corporate-card-rotator__card-subtitle, .section--corporate-card-rotator .corporate-card-rotator__card-subtitle p {
  color: inherit;
}
.section--corporate-card-rotator .corporate-card-rotator__card-subtitle p {
  margin: 0;
}
.section--corporate-card-rotator .corporate-card-rotator__cta {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1em;
  margin-top: auto;
  padding-top: 28px;
  font-size: 0.875rem;
  text-decoration: none;
}
.section--corporate-card-rotator .corporate-card-rotator__cta-label {
  border-radius: 999px;
  transition: background-color 0.2s ease, color 0.2s ease, padding 0.2s ease;
}
.section--corporate-card-rotator .corporate-card-rotator__cta-arrow {
  flex: 0 0 auto;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 36px;
  height: 36px;
  border: 1px solid currentColor;
  border-radius: 50%;
  transition: background-color 0.2s ease, border-color 0.2s ease, color 0.2s ease;
}
.section--corporate-card-rotator .corporate-card-rotator__cta-arrow::after {
  content: "";
  width: 0.4em;
  height: 0.4em;
  border-top: 1px solid currentColor;
  border-right: 1px solid currentColor;
  transform: translateX(-0.1em) rotate(45deg);
  transition: transform 0.15s ease;
}
.section--corporate-card-rotator .corporate-card-rotator__cta:hover .corporate-card-rotator__cta-arrow::after, .section--corporate-card-rotator .corporate-card-rotator__cta:focus-visible .corporate-card-rotator__cta-arrow::after {
  transform: translateX(0.1em) rotate(45deg);
}
.section--corporate-card-rotator .corporate-card-rotator__cta:focus-visible {
  outline: 2px solid currentColor;
  outline-offset: 3px;
}
.section--corporate-card-rotator .corporate-card-rotator__media {
  position: absolute;
  inset: 0;
  border-radius: inherit;
  opacity: 0;
  transition: opacity 0.25s ease, inset 0.25s ease;
  pointer-events: none;
}
.section--corporate-card-rotator .corporate-card-rotator__image {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
  border-radius: inherit;
}
.section--corporate-card-rotator .corporate-card-rotator__footer {
  margin-top: 40px;
  text-align: center;
}
.section--corporate-card-rotator .corporate-card-rotator__footer p:last-child {
  margin-bottom: 0;
}
.section--corporate-card-rotator .corporate-card-rotator__footer a {
  display: inline-block;
}
.section--corporate-card-rotator .corporate-card-rotator__card--has-media:hover .corporate-card-rotator__media {
  inset: 6px;
  opacity: 1;
}
.section--corporate-card-rotator .corporate-card-rotator__card--has-media:hover .corporate-card-rotator__body {
  --ccr-copy-opacity: 0;
}
.section--corporate-card-rotator .corporate-card-rotator__card--has-media:hover:not(:focus-within) .corporate-card-rotator__cta-arrow {
  background-color: #FFFFFF;
  border-color: #FFFFFF;
  color: #1C2221;
}
.section--corporate-card-rotator .corporate-card-rotator__card--has-media:hover:not(:focus-within) .corporate-card-rotator__cta-label {
  background-color: #FFFFFF;
  color: #1C2221;
  padding: 0.35em 0.85em;
}
.section--corporate-card-rotator .corporate-card-rotator__card--has-media:focus-within .corporate-card-rotator__media {
  opacity: 0;
}
.section--corporate-card-rotator .corporate-card-rotator__card--has-media:focus-within .corporate-card-rotator__body {
  --ccr-copy-opacity: 1;
}
@media (prefers-reduced-motion: reduce) {
  .section--corporate-card-rotator .corporate-card-rotator__card,
  .section--corporate-card-rotator .corporate-card-rotator__media,
  .section--corporate-card-rotator .corporate-card-rotator__card-title,
  .section--corporate-card-rotator .corporate-card-rotator__card-text,
  .section--corporate-card-rotator .corporate-card-rotator__card-subtitle,
  .section--corporate-card-rotator .corporate-card-rotator__cta-label,
  .section--corporate-card-rotator .corporate-card-rotator__cta-arrow,
  .section--corporate-card-rotator .corporate-card-rotator__cta-arrow::after {
    transition: none;
  }
}
.section--corporate-card-rotator .corporate-card-rotator__card--c1 {
  --ccr-card-color: #1C2221;
  background-color: #1C2221;
  color: #FFFFFF;
}
.section--corporate-card-rotator .corporate-card-rotator__card--c1 .corporate-card-rotator__card-title,
.section--corporate-card-rotator .corporate-card-rotator__card--c1 .corporate-card-rotator__card-title p,
.section--corporate-card-rotator .corporate-card-rotator__card--c1 .corporate-card-rotator__card-text,
.section--corporate-card-rotator .corporate-card-rotator__card--c1 .corporate-card-rotator__card-text p,
.section--corporate-card-rotator .corporate-card-rotator__card--c1 .corporate-card-rotator__card-subtitle,
.section--corporate-card-rotator .corporate-card-rotator__card--c1 .corporate-card-rotator__card-subtitle p,
.section--corporate-card-rotator .corporate-card-rotator__card--c1 .corporate-card-rotator__cta {
  color: #FFFFFF;
}
.section--corporate-card-rotator .corporate-card-rotator__card--c2 {
  --ccr-card-color: #FFFFFF;
  background-color: #FFFFFF;
  color: #1C2221;
}
.section--corporate-card-rotator .corporate-card-rotator__card--c2 .corporate-card-rotator__card-title,
.section--corporate-card-rotator .corporate-card-rotator__card--c2 .corporate-card-rotator__card-title p,
.section--corporate-card-rotator .corporate-card-rotator__card--c2 .corporate-card-rotator__card-text,
.section--corporate-card-rotator .corporate-card-rotator__card--c2 .corporate-card-rotator__card-text p,
.section--corporate-card-rotator .corporate-card-rotator__card--c2 .corporate-card-rotator__card-subtitle,
.section--corporate-card-rotator .corporate-card-rotator__card--c2 .corporate-card-rotator__card-subtitle p,
.section--corporate-card-rotator .corporate-card-rotator__card--c2 .corporate-card-rotator__cta {
  color: #1C2221;
}
.section--corporate-card-rotator .corporate-card-rotator__card--c3 {
  --ccr-card-color: #45C2B1;
  background-color: #45C2B1;
  color: #FFFFFF;
}
.section--corporate-card-rotator .corporate-card-rotator__card--c3 .corporate-card-rotator__card-title,
.section--corporate-card-rotator .corporate-card-rotator__card--c3 .corporate-card-rotator__card-title p,
.section--corporate-card-rotator .corporate-card-rotator__card--c3 .corporate-card-rotator__card-text,
.section--corporate-card-rotator .corporate-card-rotator__card--c3 .corporate-card-rotator__card-text p,
.section--corporate-card-rotator .corporate-card-rotator__card--c3 .corporate-card-rotator__card-subtitle,
.section--corporate-card-rotator .corporate-card-rotator__card--c3 .corporate-card-rotator__card-subtitle p,
.section--corporate-card-rotator .corporate-card-rotator__card--c3 .corporate-card-rotator__cta {
  color: #FFFFFF;
}
.section--corporate-card-rotator .corporate-card-rotator__card--c4 {
  --ccr-card-color: #369C8E;
  background-color: #369C8E;
  color: #FFFFFF;
}
.section--corporate-card-rotator .corporate-card-rotator__card--c4 .corporate-card-rotator__card-title,
.section--corporate-card-rotator .corporate-card-rotator__card--c4 .corporate-card-rotator__card-title p,
.section--corporate-card-rotator .corporate-card-rotator__card--c4 .corporate-card-rotator__card-text,
.section--corporate-card-rotator .corporate-card-rotator__card--c4 .corporate-card-rotator__card-text p,
.section--corporate-card-rotator .corporate-card-rotator__card--c4 .corporate-card-rotator__card-subtitle,
.section--corporate-card-rotator .corporate-card-rotator__card--c4 .corporate-card-rotator__card-subtitle p,
.section--corporate-card-rotator .corporate-card-rotator__card--c4 .corporate-card-rotator__cta {
  color: #FFFFFF;
}
.section--corporate-card-rotator .corporate-card-rotator__card--c5 {
  --ccr-card-color: #F9F9F9;
  background-color: #F9F9F9;
  color: #1C2221;
}
.section--corporate-card-rotator .corporate-card-rotator__card--c5 .corporate-card-rotator__card-title,
.section--corporate-card-rotator .corporate-card-rotator__card--c5 .corporate-card-rotator__card-title p,
.section--corporate-card-rotator .corporate-card-rotator__card--c5 .corporate-card-rotator__card-text,
.section--corporate-card-rotator .corporate-card-rotator__card--c5 .corporate-card-rotator__card-text p,
.section--corporate-card-rotator .corporate-card-rotator__card--c5 .corporate-card-rotator__card-subtitle,
.section--corporate-card-rotator .corporate-card-rotator__card--c5 .corporate-card-rotator__card-subtitle p,
.section--corporate-card-rotator .corporate-card-rotator__card--c5 .corporate-card-rotator__cta {
  color: #1C2221;
}
.section--corporate-card-rotator .corporate-card-rotator__card--c6 {
  --ccr-card-color: #3D4543;
  background-color: #3D4543;
  color: #FFFFFF;
}
.section--corporate-card-rotator .corporate-card-rotator__card--c6 .corporate-card-rotator__card-title,
.section--corporate-card-rotator .corporate-card-rotator__card--c6 .corporate-card-rotator__card-title p,
.section--corporate-card-rotator .corporate-card-rotator__card--c6 .corporate-card-rotator__card-text,
.section--corporate-card-rotator .corporate-card-rotator__card--c6 .corporate-card-rotator__card-text p,
.section--corporate-card-rotator .corporate-card-rotator__card--c6 .corporate-card-rotator__card-subtitle,
.section--corporate-card-rotator .corporate-card-rotator__card--c6 .corporate-card-rotator__card-subtitle p,
.section--corporate-card-rotator .corporate-card-rotator__card--c6 .corporate-card-rotator__cta {
  color: #FFFFFF;
}
.section--corporate-card-rotator .corporate-card-rotator__card--custom {
  background-color: var(--ccr-card-color);
}
.section--corporate-card-rotator .corporate-card-rotator__card--custom.corporate-card-rotator__card--on-light {
  color: #1C2221;
}
.section--corporate-card-rotator .corporate-card-rotator__card--custom.corporate-card-rotator__card--on-light .corporate-card-rotator__card-title,
.section--corporate-card-rotator .corporate-card-rotator__card--custom.corporate-card-rotator__card--on-light .corporate-card-rotator__card-title p,
.section--corporate-card-rotator .corporate-card-rotator__card--custom.corporate-card-rotator__card--on-light .corporate-card-rotator__card-text,
.section--corporate-card-rotator .corporate-card-rotator__card--custom.corporate-card-rotator__card--on-light .corporate-card-rotator__card-text p,
.section--corporate-card-rotator .corporate-card-rotator__card--custom.corporate-card-rotator__card--on-light .corporate-card-rotator__card-subtitle,
.section--corporate-card-rotator .corporate-card-rotator__card--custom.corporate-card-rotator__card--on-light .corporate-card-rotator__card-subtitle p,
.section--corporate-card-rotator .corporate-card-rotator__card--custom.corporate-card-rotator__card--on-light .corporate-card-rotator__cta {
  color: #1C2221;
}
.section--corporate-card-rotator .corporate-card-rotator__card--custom.corporate-card-rotator__card--on-dark {
  color: #FFFFFF;
}
.section--corporate-card-rotator .corporate-card-rotator__card--custom.corporate-card-rotator__card--on-dark .corporate-card-rotator__card-title,
.section--corporate-card-rotator .corporate-card-rotator__card--custom.corporate-card-rotator__card--on-dark .corporate-card-rotator__card-title p,
.section--corporate-card-rotator .corporate-card-rotator__card--custom.corporate-card-rotator__card--on-dark .corporate-card-rotator__card-text,
.section--corporate-card-rotator .corporate-card-rotator__card--custom.corporate-card-rotator__card--on-dark .corporate-card-rotator__card-text p,
.section--corporate-card-rotator .corporate-card-rotator__card--custom.corporate-card-rotator__card--on-dark .corporate-card-rotator__card-subtitle,
.section--corporate-card-rotator .corporate-card-rotator__card--custom.corporate-card-rotator__card--on-dark .corporate-card-rotator__card-subtitle p,
.section--corporate-card-rotator .corporate-card-rotator__card--custom.corporate-card-rotator__card--on-dark .corporate-card-rotator__cta {
  color: #FFFFFF;
}
.section--corporate-card-rotator .flickity-prev-next-button {
  min-width: auto;
  min-height: auto;
  margin: 0 !important;
  padding: 0;
  width: 36px;
  height: 36px;
  top: -28px;
  background: transparent;
  border: 1px solid currentColor;
}
.section--corporate-card-rotator .flickity-prev-next-button.previous {
  left: auto;
  right: calc(var(--ccr-gutter) + 36px + 12px);
}
.section--corporate-card-rotator .flickity-prev-next-button.next {
  right: var(--ccr-gutter);
}
.section--corporate-card-rotator .flickity-button-icon {
  fill: currentColor;
}
@media (max-width: 767px) {
  .section--corporate-card-rotator .flickity-prev-next-button {
    display: none;
  }
  .section--corporate-card-rotator.has-rotator .corporate-card-rotator__track::after {
    content: "flickity";
  }
  .section--corporate-card-rotator.has-rotator .corporate-card-rotator__card {
    width: 85%;
    margin-right: 20px;
  }
}
@media (min-width: 768px) {
  .section--corporate-card-rotator .corporate-card-rotator__track {
    grid-template-columns: repeat(4, minmax(0, 263px));
    justify-content: center;
  }
  .section--corporate-card-rotator.has-desktop-rotator .corporate-card-rotator__track::after {
    content: "flickity";
  }
  .section--corporate-card-rotator.has-desktop-rotator .corporate-card-rotator__card {
    width: 263px;
    margin-right: 20px;
  }
  .section--corporate-card-rotator.section--corporate-card-rotator--count-1 .corporate-card-rotator__track, .section--corporate-card-rotator.section--corporate-card-rotator--count-2 .corporate-card-rotator__track, .section--corporate-card-rotator.section--corporate-card-rotator--count-3 .corporate-card-rotator__track {
    justify-content: center;
  }
}

.section--text-sticky-image {
  background-color: var(--text-sticky-image-bg, #F9F9F9);
  color: #1C2221;
}
.section--text-sticky-image .text-sticky-image__container {
  max-width: 1200px;
  margin: 0 auto;
  padding: 40px 32px;
  display: grid;
  grid-template-columns: 1fr;
  grid-template-areas: "headline" "intro" "media" "content";
  gap: 10px;
}
@media (min-width: 768px) {
  .section--text-sticky-image .text-sticky-image__container {
    grid-template-columns: 1fr 1fr;
    grid-template-areas: "media headline" "media intro" "media content";
    column-gap: clamp(32px, 6vw, 96px);
    row-gap: 10px;
    align-items: start;
    padding: 60px 32px;
  }
}
@media (min-width: 1241px) {
  .section--text-sticky-image .text-sticky-image__container {
    padding: 60px 32px;
  }
}
.section--text-sticky-image .text-sticky-image__media {
  grid-area: media;
  margin-bottom: 2rem;
}
@media (min-width: 768px) {
  .section--text-sticky-image .text-sticky-image__media {
    position: sticky;
    top: calc(var(--header-height, 0px) + 1rem);
    margin-bottom: 0;
  }
}
.section--text-sticky-image .text-sticky-image__media--no-image {
  display: none;
}
@media (min-width: 768px) {
  .section--text-sticky-image .text-sticky-image__media--no-image {
    display: block;
  }
}
.section--text-sticky-image .text-sticky-image__image {
  display: block;
  width: 100%;
  aspect-ratio: 1;
  object-fit: cover;
  border-radius: 50%;
}
.section--text-sticky-image .text-sticky-image__content {
  grid-area: content;
}
.section--text-sticky-image .text-sticky-image__headline {
  grid-area: headline;
  margin-top: 0;
  font-family: merriweather, serif;
  text-transform: none;
  font-weight: 400;
  letter-spacing: normal;
  font-size: clamp(1.75rem, 3vw, 2.5rem);
  line-height: 1.15;
}
.section--text-sticky-image .text-sticky-image__accent {
  font-style: italic;
  font-weight: inherit;
  color: var(--text-sticky-image-accent-color, rgb(44.9, 113.3, 103.85));
}
.section--text-sticky-image .text-sticky-image__intro {
  grid-area: intro;
  margin: 0 0 1rem;
  color: inherit;
  line-height: 1.6;
}
@media (min-width: 768px) {
  .section--text-sticky-image .text-sticky-image__intro {
    margin-bottom: 2rem;
  }
}
.section--text-sticky-image .text-sticky-image__intro p {
  margin: 0;
  color: inherit;
  line-height: 1.6;
}
.section--text-sticky-image .text-sticky-image__items {
  list-style: none;
  margin: 0;
  padding: 0;
  display: flex;
  flex-direction: column;
  gap: 10px;
}
@media (min-width: 768px) {
  .section--text-sticky-image .text-sticky-image__items {
    gap: 1rem;
  }
}
.section--text-sticky-image .text-sticky-image__item {
  display: flex;
  align-items: flex-start;
  gap: 10px;
  padding-bottom: 1.5rem;
  border-bottom: 1px solid currentColor;
  border-bottom-color: rgba(0, 0, 0, 0.15);
}
.section--text-sticky-image .text-sticky-image__item-icon {
  flex: 0 0 auto;
  width: 1.75rem;
  height: 1.75rem;
  margin-top: 0.15em;
  border-radius: 50%;
  background-color: var(--text-sticky-image-icon-bg, #369C8E);
  position: relative;
}
.section--text-sticky-image .text-sticky-image__item-icon::after {
  content: "";
  position: absolute;
  inset: 0;
  margin: auto;
  width: 55%;
  height: 55%;
  background-color: var(--text-sticky-image-icon-color, #fff);
  -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath d='M6.4 11.6 2.8 8l1.2-1.2 2.4 2.4 5.6-5.6L13.2 4.8z'/%3E%3C/svg%3E") no-repeat center/contain;
  mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath d='M6.4 11.6 2.8 8l1.2-1.2 2.4 2.4 5.6-5.6L13.2 4.8z'/%3E%3C/svg%3E") no-repeat center/contain;
}
.section--text-sticky-image .text-sticky-image__item-title {
  margin: 0 0 0.35em;
  font-weight: 700;
}
.section--text-sticky-image .text-sticky-image__item-description, .section--text-sticky-image .text-sticky-image__item-description p {
  margin: 0;
  color: inherit;
  line-height: 1.6;
}
.section--text-sticky-image .text-sticky-image__cta {
  margin-top: 1.5rem;
}
.section--text-sticky-image .text-sticky-image__cta a {
  display: inline-flex;
  align-items: center;
  gap: 0.4em;
  color: var(--text-sticky-image-accent-color, rgb(44.9, 113.3, 103.85));
  font-weight: 700;
  text-decoration: none !important;
}
.section--text-sticky-image .text-sticky-image__cta a::after {
  content: "→";
}
.section--text-sticky-image .text-sticky-image__cta a:hover {
  text-decoration: underline !important;
}
.section--text-sticky-image .text-sticky-image__cta a:focus-visible {
  outline: 2px solid currentColor;
  outline-offset: 3px;
}
@media (min-width: 768px) {
  .section--text-sticky-image--image-right .text-sticky-image__container {
    grid-template-areas: "headline media" "intro media" "content media";
  }
}

.section__text ul {
  margin: 0 0 0 5px;
}
.section--text_a {
  max-width: 1000px;
  margin: 0 auto;
}
.section--text_a .section__headline {
  margin-top: 0;
  column-span: all;
}
.section--text_a .section__text p {
  margin-top: 0;
}
.section--text_a .section__text p:last-of-type {
  margin-bottom: 0;
}
.section--text_b {
  max-width: 1000px;
  margin: 0 auto;
}
.section--text_b .section__headline {
  margin-top: 0;
  column-span: all;
}
@media (min-width: 991px) {
  .section--text_b .section__text {
    column-count: 2;
    column-gap: 40px;
  }
}
.section--text_b .section__text p {
  margin-top: 0;
}
.section--text_b .section__text p:last-of-type {
  margin-bottom: 0;
}
.section--single-image .section__container {
  display: grid;
  grid-template-columns: repeat(24, 1fr);
  grid-row-gap: 10px;
  grid-column-gap: 10px;
}
.section--single-image .section__text {
  grid-column: auto/span 24;
  order: 2;
  padding: 24px 0;
}
@media (min-width: 768px) {
  .section--single-image .section__text {
    grid-column: auto/span 12;
    order: 1;
    padding: 24px;
  }
}
.section--single-image .section__image {
  grid-column: auto/span 24;
  min-height: 500px;
  order: 1;
}
@media (min-width: 768px) {
  .section--single-image .section__image {
    grid-column: auto/span 12;
    order: 2;
  }
}
.section--single-image_a {
  max-width: 1000px;
  margin: 0 auto;
}
@media (min-width: 768px) {
  .section--single-image_a .section__image {
    background: #FFFFFF;
  }
}
@media (min-width: 768px) {
  .section--single-image_a-reverse .section__image {
    order: -1;
  }
}
.section--single-image_b {
  max-width: 1000px;
  margin: 0 auto;
}
@media (min-width: 768px) {
  .section--single-image_b {
    padding-bottom: calc(60px + 100px) !important;
  }
}
@media (min-width: 768px) {
  .section--single-image_b .section__text {
    background: #FFFFFF;
    margin: 120px -48px -120px 0;
    z-index: 1;
    grid-column: auto/span 13;
  }
}
@media (min-width: 768px) {
  .section--single-image_b .section__image {
    background: #FFFFFF;
    margin: 0 0 0 -48px;
    grid-column: auto/span 11;
  }
}
@media (min-width: 768px) {
  .section--single-image_b-reverse .section__text {
    background: #FFFFFF;
    margin: 120px 0 -120px -48px;
    z-index: 1;
  }
}
@media (min-width: 768px) {
  .section--single-image_b-reverse .section__image {
    background: #FFFFFF;
    margin: 0 -48px 0 0;
    order: -1;
  }
}
.section--single-image_c .section__container {
  min-height: 700px;
}
.section--single-image_c .section__text {
  display: grid;
  grid-template-columns: repeat(24, 1fr);
  grid-row-gap: 10px;
  grid-column-gap: 10px;
}
@media (min-width: 768px) {
  .section--single-image_c .section__text {
    grid-column: 1/span 25;
    grid-row: 1/span 1;
    z-index: 2;
    max-width: 1200px;
    margin: 0 auto;
  }
}
@media (min-width: 768px) {
  .section--single-image_c .section__headline {
    grid-column: auto/span 12;
  }
}
@media (min-width: 768px) {
  .section--single-image_c .section__text-block {
    grid-column: auto/span 12;
  }
}
@media (min-width: 768px) {
  .section--single-image_c .section__image {
    grid-column: 1/span 25;
    grid-row: 1/span 1;
    background-attachment: fixed !important;
  }
}
.section--dual-image .section__container {
  display: grid;
  grid-template-columns: repeat(24, 1fr);
  grid-row-gap: 10px;
  grid-column-gap: 10px;
}
.section--dual-image .section__text {
  grid-column: auto/span 24;
}
@media (min-width: 768px) {
  .section--dual-image .section__text {
    grid-column: auto/span 12;
  }
}
.section--dual-image .section__image-container {
  grid-column: auto/span 24;
  display: grid;
  grid-template-columns: repeat(24, 1fr);
  grid-row-gap: 10px;
  grid-column-gap: 10px;
}
@media (min-width: 768px) {
  .section--dual-image .section__image-container {
    grid-column: auto/span 12;
  }
}
.section--dual-image .section__image {
  grid-column: auto/span 12;
  min-height: 500px;
}
.section--dual-image_b {
  max-width: 1200px;
  margin: 0 auto;
}
.section--dual-image_b .section__container {
  display: grid;
  grid-template-columns: repeat(24, 1fr);
  grid-row-gap: 10px;
  grid-column-gap: 10px;
  gap: 0;
  position: relative;
}
.section--dual-image_b .section__text {
  grid-column: 1/span 25;
  grid-row: 1/span 1;
  z-index: 1;
  padding: 60px 32px;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
}
@media (min-width: 768px) {
  .section--dual-image_b .section__text {
    grid-column: 1/span 12;
  }
}
.section--dual-image_b .section__text h2, .section--dual-image_b .section__text .h2,
.section--dual-image_b .section__text p {
  color: #FFFFFF;
  text-align: left;
  width: 100%;
}
.section--dual-image_b .section__image-container {
  grid-column: 1/span 25;
  grid-row: 1/span 1;
}
.section--dual-image_b .section__image--1 {
  grid-column: 1/span 25;
  grid-row: 1/span 1;
  min-height: 600px;
  background-attachment: scroll !important;
  position: relative;
}
@media (min-width: 768px) {
  .section--dual-image_b .section__image--1 {
    grid-column: 1/span 12;
    background-attachment: fixed !important;
    background-position-x: right 300px !important;
    background-position-y: center !important;
  }
}
.section--dual-image_b .section__image--1::after {
  content: "";
  position: absolute;
  inset: 0;
  background: rgba(28, 34, 33, 0.8);
}
.section--dual-image_b .section__image--2 {
  grid-column: 1/span 25;
  display: none;
  min-height: 600px;
}
@media (min-width: 768px) {
  .section--dual-image_b .section__image--2 {
    grid-column: 13/span 12;
    display: block;
  }
}
.section__video {
  position: relative;
  padding-bottom: 60%;
}
.section__video iframe {
  height: 100%;
  width: 100%;
  position: absolute;
}
.section .diagram__bg, .section .diagram__radio, .section .diagram__overlay, .section .diagram__detail {
  display: none;
}
.section .diagram__list-item label {
  padding: 24px 0;
  text-align: center;
  inset: 0;
  display: flex;
  align-items: center;
  justify-content: center;
}
.section .diagram__list-item p {
  margin: 0;
}
:where(.section .diagram__list-item:has(:checked)) {
  background-color: rgba(54, 156, 142, 0.6);
}

.section .diagram__list-item:has(:checked) + .diagram__overlay + .diagram__detail {
  display: block;
}
.section .diagram__detail {
  padding: 24px 0;
}
@media (min-width: 768px) {
  .section .diagram {
    display: grid;
    gap: 1rem;
    grid-template-columns: repeat(3, 1fr);
  }
  .section .diagram__detail {
    display: block;
    visibility: hidden;
  }
  .section .diagram__image {
    display: block;
    object-fit: contain;
    width: 100%;
    height: 100%;
    aspect-ratio: 3/4;
  }
  .section .diagram__bg, .section .diagram__list-item:has(.diagram__radio:checked) + .diagram__overlay, .section .diagram__list-item:has(.diagram__radio:checked) + .diagram__overlay + .diagram__detail {
    display: block;
    visibility: visible;
  }
  .section .diagram__detail {
    grid-row: 1/span var(--diagram-item-count, 4);
  }
  .section .diagram__bg, .section .diagram__overlay {
    grid-row: 1/span calc((var(--diagram-item-count, 4)) * 2);
  }
  .section .diagram__list-item {
    grid-column: 1;
  }
  .section .diagram__bg, .section .diagram__overlay {
    grid-column: 2;
  }
  .section .diagram__detail {
    grid-column: 3;
    padding: 24px;
  }
}
.section.slider-cards {
  width: 100%;
  max-width: 1200px;
  margin: 0 auto;
  padding-bottom: 5rem;
}
.section.slider-cards .slider__headline {
  text-align: center;
  font-family: acumin-pro, sans-serif;
  font-weight: 700;
  letter-spacing: 0;
  font-size: clamp(2rem, 4vw, 5rem);
  padding-top: 5rem;
  padding-bottom: 2rem;
}
.section.slider-cards .input-cards {
  display: grid;
  grid-template-columns: repeat(24, 1fr);
  grid-row-gap: 10px;
  grid-column-gap: 10px;
}
@media (min-width: 1025px) {
  .section.slider-cards .input-cards {
    display: flex;
    flex-wrap: wrap;
    gap: 1rem;
  }
}
.section.slider-cards .input-cards input[type=radio] {
  display: none;
}
.section.slider-cards .input-cards label {
  grid-column: auto/span 24;
  cursor: pointer;
  min-height: 50px;
  position: relative;
  padding: 20px;
  display: flex;
  align-items: flex-end;
  justify-content: flex-end;
}
.section.slider-cards .input-cards label::after {
  inset: 0;
  position: absolute;
  content: "";
  background: linear-gradient(to right, rgba(28, 34, 33, 0.15), rgba(28, 34, 33, 0.35));
  z-index: 1;
}
.section.slider-cards .input-cards label::before {
  inset: 0;
  position: absolute;
  content: "";
  background: #369C8E;
  z-index: 2;
}
@media (min-width: 1025px) {
  .section.slider-cards .input-cards label::before {
    content: unset;
  }
}
.section.slider-cards .input-cards label :is(h3, .h3) {
  color: #FFFFFF;
  font-size: clamp(1.25rem, 2vw, 2.25rem);
  position: relative;
  z-index: 5;
  text-transform: uppercase;
  font-style: normal;
  position: relative;
}
.section.slider-cards .input-cards label :is(h3, .h3)::after {
  left: -33px;
  right: calc(100% + 10px);
  bottom: 3px;
  top: 0;
  position: absolute;
  transform: rotate(90deg);
  content: "";
}
@media (min-width: 1025px) {
  .section.slider-cards .input-cards label :is(h3, .h3)::after {
    left: 0;
    right: 0;
    bottom: calc(100% + 10px);
    top: -50px;
    transform: rotate(0);
  }
}
@media (min-width: 1025px) {
  .section.slider-cards .input-cards label :is(h3, .h3) {
    writing-mode: vertical-rl;
    text-orientation: mixed;
  }
}
@media (min-width: 1025px) {
  .section.slider-cards .input-cards label {
    min-height: 450px !important;
    flex: 1;
  }
}
.section.slider-cards .input-cards input[type=radio]:checked + label {
  grid-column: auto/span 24;
  min-height: 600px;
}
.section.slider-cards .input-cards input[type=radio]:checked + label :is(h3, .h3)::after {
  transform: rotate(270deg);
}
@media (min-width: 1025px) {
  .section.slider-cards .input-cards input[type=radio]:checked + label :is(h3, .h3)::after {
    transform: rotate(180deg);
  }
}
.section.slider-cards .input-cards input[type=radio]:checked + label::before {
  background: transparent;
}
@media (min-width: 1025px) {
  .section.slider-cards .input-cards input[type=radio]:checked + label {
    flex: 2;
  }
}
.section.slider-cards .bio-card {
  grid-column: auto/span 24;
  flex-basis: 100%;
  background: #369C8E;
  color: #FFFFFF;
  padding: 40px 32px;
  display: grid;
  grid-template-columns: repeat(24, 1fr);
  grid-row-gap: 10px;
  grid-column-gap: 10px;
  display: none;
}
.section.slider-cards .bio-card .headline {
  grid-column: auto/span 24;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 10px;
  padding: 0 0 20px;
  margin-bottom: 20px;
  border-bottom: 2px solid white;
}
@media (min-width: 1025px) {
  .section.slider-cards .bio-card .headline {
    flex-direction: row;
    justify-content: space-between;
    align-items: center;
    gap: 1rem;
  }
}
.section.slider-cards .bio-card .headline :is(h3, .h3) {
  font-style: normal;
  line-height: 1.25;
}
.section.slider-cards .bio-card .body {
  grid-column: auto/span 24;
  display: flex;
  align-items: center;
  justify-content: center;
}
@media (min-width: 1025px) {
  .section.slider-cards .bio-card .body {
    grid-column: auto/span 16;
    padding-right: 32px;
  }
}
@keyframes oscillate {
  0% {
    clip-path: polygon(100% 1%, 100% 0%, 100% 100%, 100% 100%);
  }
  25% {
    clip-path: polygon(50% 1%, 100% 0%, 100% 100%, 50% 100%);
  }
  50% {
    clip-path: polygon(0% 1%, 100% 0%, 100% 100%, 0% 100%);
  }
  75% {
    clip-path: polygon(50% 1%, 100% 0%, 100% 100%, 50% 100%);
  }
  100% {
    clip-path: polygon(100% 1%, 100% 0%, 100% 100%, 100% 100%);
  }
}
.section.slider-cards .bio-card .before-after-section {
  position: relative;
  grid-column: auto/span 24;
  margin-top: 10px;
}
@media (min-width: 1025px) {
  .section.slider-cards .bio-card .before-after-section {
    grid-column: auto/span 8;
    margin-top: 1rem;
  }
}
.section.slider-cards .bio-card .before__image {
  margin: 0 auto;
  z-index: 1;
  aspect-ratio: 2;
  background-size: cover !important;
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  padding: 8px 12px;
}
.section.slider-cards .bio-card .after__image {
  position: absolute;
  z-index: 5;
  inset: 0;
  margin: 0 auto;
  overflow: hidden;
  animation: oscillate 8s infinite ease;
  aspect-ratio: 2;
  background-size: cover !important;
  display: flex;
  align-items: flex-end;
  justify-content: flex-end;
  padding: 8px 12px;
}
.section.slider-cards .bio-card .before__image p {
  position: relative;
  z-index: 2;
}
.section.slider-cards .bio-card .after__image p {
  position: relative;
  z-index: 6;
}
.section.slider-cards .bio-card .before__image p,
.section.slider-cards .bio-card .after__image p {
  color: #FFF;
  font-size: 0.8rem;
  font-family: "Open Sans", serif;
  text-transform: uppercase;
  margin: 0;
}
.section.slider-cards input[name=cards]:nth-child(1):checked ~ .bio-card:nth-of-type(1),
.section.slider-cards input[name=cards]:nth-child(3):checked ~ .bio-card:nth-of-type(2),
.section.slider-cards input[name=cards]:nth-child(5):checked ~ .bio-card:nth-of-type(3),
.section.slider-cards input[name=cards]:nth-child(7):checked ~ .bio-card:nth-of-type(4),
.section.slider-cards input[name=cards]:nth-child(9):checked ~ .bio-card:nth-of-type(5) {
  display: grid !important;
}
.section--faq {
  max-width: 1000px;
  margin: 0 auto;
  padding-bottom: 2rem;
  background: transparent;
}
.section--faq .section__headline {
  padding: 30px 0;
}
.section--faq .faq__list {
  padding: 0;
  background: none !important;
}
.section--faq .faq__item {
  background: none !important;
}
.section--faq .faq__item[open] .faq__question::after {
  content: "−";
}
.section--faq .faq__question {
  display: flex;
  align-items: center;
  padding: 1.25rem 1rem;
  cursor: pointer;
  font-weight: 600;
  font-size: 1.1rem;
  list-style: none;
}
.section--faq .faq__question::-webkit-details-marker {
  display: none;
}
.section--faq .faq__question::marker {
  display: none;
  content: "";
}
.section--faq .faq__question::after {
  content: "+";
  font-size: 1.5rem;
  font-weight: 300;
  line-height: 1;
  color: #1C2221;
  transition: content 0.3s ease;
  flex-shrink: 0;
  margin-left: 1rem;
}
.section--faq .faq__answer {
  margin: 0;
  padding: 0 2.5rem 1.25rem;
  line-height: 1.6;
}

/* Universal Color Matches */
/* Site Wide */
/* Fonts */
/* Logos */
/* CTAs */
/* Header */
/* Footer */
/* Nav */
/* Section Widths */
/* Section Padding */
/* Border Radius */
/* Box Padding */
/* Grid or Flexbox Gap */
/* Interior Page Elements */
/* Procedure Item */
/* Homepage */
/* Category Column Span */
/* Category Min Height */
/* Parallax Image */
/* Aisle Column Span */
/* Aisle Min Height */
:root {
  --phone-min: 421px;
  --phone-wide-min: 569px;
  --tablet-min: 768px;
  --tablet-wide-min: 991px;
  --desktop-sm-min: 1025px;
  --desktop-min: 1241px;
  --desktop-wide-min: 1441px;
}

/* Lazy load */
.lazy-load-image,
.lazy-background,
.lazy-iframe {
  opacity: 0;
  transition: 0.3s opacity linear;
}
.lazy-load-image:not(.visible),
.lazy-background:not(.visible),
.lazy-iframe:not(.visible) {
  min-height: 1px;
  margin: 0 !important;
}
.lazy-load-image.visible.complete,
.lazy-background.visible.complete,
.lazy-iframe.visible.complete {
  opacity: 1;
}

.masthead {
  display: grid;
  grid-template-columns: repeat(24, 1fr);
}
.masthead--no-img {
  padding: 40px 20px 20px;
}
@media (min-width: 768px) {
  .masthead--no-img {
    padding: 40px 40px 20px;
  }
}
.masthead--no-img .breadcrumbs__item a {
  color: #FFFFFF;
}
.masthead--no-img .breadcrumbs__item a:hover {
  color: #369C8E;
}
.masthead--w-bg {
  min-height: 300px;
}
@media (min-width: 991px) {
  .masthead--w-bg {
    min-height: 600px;
  }
}
.masthead--w-bg .masthead__image {
  grid-column: 1/span 24;
  grid-row: 1;
}
.masthead--w-bg .masthead__text {
  grid-row: 1;
  color: #FFFFFF;
  text-align: center;
  padding: 40px 20px;
}
@media (min-width: 569px) {
  .masthead--w-bg .masthead__text {
    padding: 40px;
  }
}
.masthead--w-img .masthead__image-container {
  grid-column: 1/span 24;
}
@media (min-width: 768px) {
  .masthead--w-img .masthead__image-container {
    grid-column: auto/span 12;
  }
}
.masthead--w-img .masthead__image {
  padding-top: 56.25%;
  height: 0;
}
@media (min-width: 768px) {
  .masthead--w-img .masthead__text {
    grid-column: auto/span 12;
  }
}
.masthead__text {
  grid-column: 1/span 24;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  justify-content: center;
  flex-wrap: wrap;
  position: relative;
  z-index: 1;
}
.masthead .breadcrumbs__items {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: center;
  padding: 0;
  list-style: none;
}
@media (min-width: 569px) {
  .masthead .breadcrumbs__items {
    justify-content: flex-start;
  }
}
.masthead .breadcrumbs__item {
  padding: 0 5px;
  position: relative;
  margin-right: 8px;
  font-size: clamp(0.7rem, 1vw, 1rem);
}
.masthead .breadcrumbs__item::after {
  content: "/";
  margin-left: 8px;
  position: relative;
  top: unset;
  right: unset;
  transform: unset;
}
.masthead .breadcrumbs__item:last-of-type {
  margin-right: 0;
  padding: 0;
}
.masthead .breadcrumbs__item:last-of-type a {
  text-decoration: none;
  pointer-events: none;
}
.masthead .breadcrumbs__item:last-of-type::after {
  display: none;
}
.masthead .hide_headline {
  display: none;
}

/* start: confirmation.less */
.confirmation-page {
  --checkmark: #45C2B1;
}

.confirmation-page .container {
  margin: 0 auto !important;
  width: 100% !important;
}

.layout-container {
  display: flex;
  flex-direction: column;
}
@media (min-width: 991px) {
  .layout-container {
    flex-direction: row;
  }
}

.confirmation {
  text-align: center;
  flex: 1 0 50%;
  padding: 50px 30px 30px;
}
@media (min-width: 991px) {
  .confirmation {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    padding: 60px 60px 120px;
  }
}
.confirmation__icon {
  max-width: 60px;
  width: 100%;
  height: auto;
}
@media (min-width: 991px) {
  .confirmation__icon {
    font-size: 60px;
    max-width: 100px;
  }
}
.confirmation__icon--fill {
  fill: var(--checkmark);
}
.confirmation .btn {
  display: block;
}
.confirmation h1.confirmation__heading, .confirmation .confirmation__heading.h1 {
  font-size: 2.1875rem;
}
@media (min-width: 991px) {
  .confirmation h1.confirmation__heading, .confirmation .confirmation__heading.h1 {
    font-size: 3.75rem;
  }
}
.confirmation__text {
  font-size: 0.875rem;
}
@media (min-width: 991px) {
  .confirmation__text {
    font-size: 1.5rem;
  }
}
.confirmation .section p {
  font-size: 0.875rem;
}
@media (min-width: 991px) {
  .confirmation .section p {
    font-size: 1.5rem;
  }
}
.confirmation p.confirmation__text,
.confirmation .section p {
  margin-top: 12px;
  margin-bottom: 19px;
}
@media (min-width: 991px) {
  .confirmation p.confirmation__text,
  .confirmation .section p {
    margin-top: 17px;
    margin-bottom: 31px;
  }
}

.interest {
  padding: 30px 30px 50px;
  background: rgba(69, 194, 177, 0.05);
  text-align: center;
  flex: 0 1 50%;
}
@media (min-width: 991px) {
  .interest {
    padding: 60px 60px 120px;
    text-align: left;
  }
}
.interest__heading {
  font-size: 1.125rem;
  margin-bottom: 20px;
}
@media (min-width: 991px) {
  .interest__heading {
    font-size: 1.5rem;
  }
}
.interest__items {
  display: grid;
  grid-template-columns: repeat(24, 1fr);
  grid-row-gap: 10px;
  grid-column-gap: 10px;
  margin-bottom: 30px;
  /*        grid-gap: 1.1rem;*/
}
@media (min-width: 991px) {
  .interest__items {
    margin-bottom: 48px;
    grid-gap: 1.3rem;
  }
}
.interest__item {
  text-align: center;
  grid-column: auto/span 12;
  grid-row: auto;
}
.interest__item-image {
  max-width: 100%;
  height: auto;
  display: block;
}
.interest__item-link {
  font-size: 1.1rem;
}
@media (min-width: 991px) {
  .interest__item-link {
    font-size: 1.3rem;
  }
}
.interest__item-text {
  margin-top: 10px;
}
.interest__link {
  display: block;
  text-align: center;
  text-decoration: underline;
  font-size: 1.1rem;
}
@media (min-width: 991px) {
  .interest__link {
    font-size: 1.3rem;
  }
}

.facility-address {
  font-size: 0.6875rem;
}
@media (min-width: 991px) {
  .facility-address {
    font-size: 1.25rem;
  }
}
.facility-address a.facility-address__cta {
  margin: 20px auto auto;
}
@media (min-width: 991px) {
  .facility-address a.facility-address__cta {
    margin: 26px auto auto;
  }
}

/* end: confirmation.less */
body {
  font-family: inter-variable, sans-serif;
  background-color: primary;
  background-color: #FFFFFF;
  color: #1C2221;
}
.dark-mode body {
  background-color: #1C2221;
  background-color: #1C2221;
}

h2, .h2,
h3,
.h3,
h4,
.h4,
h5,
.h5,
h6,
.h6 {
  font-family: inter-variable, sans-serif;
  font-weight: 400;
  letter-spacing: 1px;
  line-height: 1;
  text-transform: uppercase;
  color: #1C2221;
}
.dark-mode h2, .dark-mode .h2,
.dark-mode h3,
.dark-mode .h3,
.dark-mode h4,
.dark-mode .h4,
.dark-mode h5,
.dark-mode .h5,
.dark-mode h6,
.dark-mode .h6 {
  color: #FFFFFF;
}

h1, .h1 {
  font-family: inter-variable, sans-serif;
  font-weight: 500;
  letter-spacing: 2px;
  margin: 0;
}

form button {
  cursor: pointer;
}

.featured__headline,
.feature__headline {
  font-family: inter-variable, sans-serif;
  font-weight: 500;
  letter-spacing: 2px;
  text-transform: uppercase;
}

p {
  font-family: inter-variable, sans-serif;
  font-weight: 400;
  font-size: 0.9rem;
  line-height: 1.6;
  color: #1C2221;
}
.dark-mode p {
  color: #FFFFFF;
}

a {
  color: #1C2221;
  text-decoration: none;
}
@media (min-width: 1025px) {
  a:hover {
    color: #45C2B1;
  }
}
.dark-mode a {
  color: #FFFFFF;
}
.dark-mode a:hover {
  color: #45C2B1;
}

.btn {
  background: #3D4543;
  border: solid 1px #3D4543;
  border-radius: 2px;
  color: #FFFFFF;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font-family: inter-variable, sans-serif;
  font-size: 12px;
  font-weight: 600;
  letter-spacing: 2px;
  margin-top: 20px;
  min-width: 165px;
  padding: 14px 20px;
  text-transform: uppercase;
  text-decoration: none;
  text-align: center;
  transition: all 0.3s;
  white-space: nowrap;
}
@media (min-width: 1025px) {
  .btn:hover {
    background: #45C2B1;
    color: #FFFFFF;
    border-color: #FFFFFF;
  }
}

ul {
  margin: 0;
  padding: 0 10px;
}

li {
  padding: 5px 0;
}

.disclaimer {
  color: #1C2221;
  background-color: primary;
  background-color: #FFFFFF;
}
.dark-mode .disclaimer {
  color: #FFFFFF;
}
.dark-mode .disclaimer {
  background-color: #1C2221;
  background-color: #1C2221;
}

.breadcrumbs {
  padding: 10px 20px;
}

.breadcrumbs__items {
  display: flex;
  align-items: center;
  list-style: none;
}

.breadcrumbs__item {
  padding: 0 !important;
  position: relative;
  margin-right: 8px;
  font-size: clamp(0.7rem, 1vw, 1rem);
}

.breadcrumbs__item::after {
  content: ">";
  position: absolute;
  top: 50%;
  right: -12px;
  transform: translateY(-50%);
}

.breadcrumbs__item:last-of-type {
  margin-right: 0;
}

.breadcrumbs__item:last-of-type::after {
  display: none;
}

/* Use if changing star color */
#star-full stop,
#star-half .fill {
  stop-color: #369C8E;
}

/* Facility Page */
.facility-page .card__brand {
  display: none;
}
.facility-page .facility-item__testimonials-cta h2, .facility-page .facility-item__testimonials-cta .h2 {
  color: #FFFFFF;
}

/* Contact Us Page */
.contactus-page .map {
  min-height: 560px;
}

/* Mastheads Overlay */
.masthead--w-bg {
  position: relative;
}
.masthead--w-bg::after {
  background: rgba(0, 0, 0, 0.4);
  content: "";
  inset: 0;
  position: absolute;
  z-index: 0;
}

@media (min-width: 1025px) {
  .masthead .btn:hover {
    border-color: #FFFFFF;
  }
}

.headline_light h2, .headline_light .h2 {
  color: #FFFFFF;
}

.headline_dark h2, .headline_dark .h2 {
  color: #1C2221;
}

.headline_primary h2, .headline_primary .h2 {
  color: #45C2B1;
}

.headline_secondary h2, .headline_secondary .h2 {
  color: #369C8E;
}

.text_light p {
  color: #FFFFFF;
}

.text_dark p {
  color: #1C2221;
}

.text_primary p {
  color: #45C2B1;
}

.text_secondary p {
  color: #369C8E;
}

/* --------------------------------------------------------
   Custom Interior Page FAQ Styles
--------------------------------------------------------- */
.faq, .section--faq .faq__list {
  max-width: 1000px;
  margin: 0 auto;
  padding: 0 20px 42px;
}
.faq details, .section--faq .faq__list details {
  border-bottom: 3px solid #FFFFFF;
}
.faq details[open] summary::after, .section--faq .faq__list details[open] summary::after {
  transform: rotate(0) !important;
  content: "-" !important;
}
.faq details[open] > div, .section--faq .faq__list details[open] > div {
  animation: slide-down 0.5s ease-in-out;
}
.faq details p, .section--faq .faq__list details p {
  padding: 1rem;
}
.faq details p:first-child, .section--faq .faq__list details p:first-child {
  margin-top: 0;
}
.faq details ul, .section--faq .faq__list details ul {
  padding: 0 20px 0 40px;
}
.faq summary, .section--faq .faq__list summary {
  font-size: clamp(1rem, 2vw, 1.2rem) !important;
  line-height: 1.4;
  display: flex;
  align-items: center;
  background-color: secondary;
  background-color: #F9F9F9;
  text-transform: unset !important;
  letter-spacing: 0 !important;
  padding: 1rem;
  cursor: pointer;
  color: #1C2221;
}
.dark-mode .faq summary, .dark-mode .section--faq .faq__list summary, .section--faq .dark-mode .faq__list summary {
  background-color: #1C2221;
  background-color: #c6c6c6;
}
.dark-mode .faq summary, .dark-mode .section--faq .faq__list summary, .section--faq .dark-mode .faq__list summary {
  color: #1C2221;
}
.faq summary::after, .section--faq .faq__list summary::after {
  content: "+" !important;
  flex: 1 0 auto;
  display: inline-block;
  margin: 0 5px;
  text-align: end;
  color: #1C2221;
  font-weight: 900;
  font-size: inherit;
  transform: rotate(0);
  transition: all 0.4s ease-in-out;
}
.dark-mode .faq summary::after, .dark-mode .section--faq .faq__list summary::after, .section--faq .dark-mode .faq__list summary::after {
  color: #1C2221;
}
.faq summary::-webkit-details-marker, .section--faq .faq__list summary::-webkit-details-marker {
  display: none;
}
@keyframes slide-down {
  0% {
    opacity: 0;
    transform: translateY(-1rem);
  }
  100% {
    opacity: 1;
    transform: translateY(0);
  }
}

.section--faq .section__headline {
  padding: 0;
}
.section--faq .faq__answer {
  padding: 0;
  margin: 0;
}

/*! Flickity v2.2.3
https://flickity.metafizzy.co
---------------------------------------------- */
.flickity-enabled {
  position: relative;
}

.flickity-enabled:focus {
  outline: 0;
}

.flickity-viewport {
  overflow: hidden;
  position: relative;
  height: 100%;
}

.flickity-slider {
  position: absolute;
  width: 100%;
  height: 100%;
}

.flickity-enabled.is-draggable {
  -webkit-tap-highlight-color: transparent;
  -webkit-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none;
}

.flickity-enabled.is-draggable .flickity-viewport {
  cursor: move;
  cursor: -webkit-grab;
  cursor: grab;
}

.flickity-enabled.is-draggable .flickity-viewport.is-pointer-down {
  cursor: -webkit-grabbing;
  cursor: grabbing;
}

.flickity-button {
  position: absolute;
  background: hsla(0, 0%, 100%, 0.75);
  border: none;
  color: #333;
}

.flickity-button:hover {
  background: #fff;
  cursor: pointer;
}

.flickity-button:focus {
  outline: 0;
  box-shadow: 0 0 0 5px #19f;
}

.flickity-button:active {
  opacity: 0.6;
}

.flickity-button:disabled {
  opacity: 0.3;
  cursor: auto;
  pointer-events: none;
}

.flickity-button-icon {
  fill: currentColor;
}

.flickity-prev-next-button {
  top: 50%;
  width: 44px;
  height: 44px;
  border-radius: 50%;
  transform: translateY(-50%);
}

.flickity-prev-next-button.previous {
  left: 10px;
}

.flickity-prev-next-button.next {
  right: 10px;
}

.flickity-rtl .flickity-prev-next-button.previous {
  left: auto;
  right: 10px;
}

.flickity-rtl .flickity-prev-next-button.next {
  right: auto;
  left: 10px;
}

.flickity-prev-next-button .flickity-button-icon {
  position: absolute;
  left: 20%;
  top: 20%;
  width: 60%;
  height: 60%;
}

.flickity-page-dots {
  position: absolute;
  width: 100%;
  bottom: -25px;
  padding: 0;
  margin: 0;
  list-style: none;
  text-align: center;
  line-height: 1;
}

.flickity-rtl .flickity-page-dots {
  direction: rtl;
}

.flickity-page-dots .dot {
  display: inline-block;
  width: 10px;
  height: 10px;
  margin: 0 8px;
  background: #333;
  border-radius: 50%;
  opacity: 0.25;
  cursor: pointer;
}

.flickity-page-dots .dot.is-selected {
  opacity: 1;
}

.footer, .footer--2 {
  background: #1C2221;
  overflow: hidden;
}
@media (min-width: 1025px) {
  .footer, .footer--2 {
    padding: 60px 0 0 !important;
  }
}
@media (min-width: 991px) {
  .footer .footer__logo-container, .footer--2 .footer__logo-container {
    align-items: flex-start;
    justify-content: flex-start;
  }
}
.footer .footer__logo-container .footer__logo, .footer--2 .footer__logo-container .footer__logo {
  background: url("https://assets.doctorlogic.com/Images/Sites/S/SD-JohnsonOrtho/MasterPage/1608935.svg");
  background-position: center center;
  background-repeat: no-repeat;
  background-size: contain;
}
@media (min-width: 1025px) {
  .footer .footer__logo-container .footer__logo, .footer--2 .footer__logo-container .footer__logo {
    max-width: 240px !important;
    width: 100%;
  }
}
.footer .footer__address p, .footer--2 .footer__address p {
  font-size: 0.9rem;
  color: #FFFFFF !important;
  order: 2;
}
@media (min-width: 991px) {
  .footer .footer__address p, .footer--2 .footer__address p {
    order: unset;
  }
}
.footer .footer__address a, .footer--2 .footer__address a {
  color: #FFFFFF !important;
  font-size: 1.1rem !important;
  order: 2;
}
@media (min-width: 991px) {
  .footer .footer__address a, .footer--2 .footer__address a {
    order: unset;
  }
}
.footer .footer__address .social-icons, .footer--2 .footer__address .social-icons {
  order: 1;
  padding: 20px 0;
}
@media (min-width: 991px) {
  .footer .footer__address .social-icons, .footer--2 .footer__address .social-icons {
    padding: 0;
    order: unset;
  }
}
.footer .footer__address--2 .social-icons,
.footer .footer__address--3 .social-icons,
.footer .footer__address--4 .social-icons,
.footer .footer__address--5 .social-icons,
.footer .footer__address--6 .social-icons,
.footer .footer__address--7 .social-icons, .footer--2 .footer__address--2 .social-icons,
.footer--2 .footer__address--3 .social-icons,
.footer--2 .footer__address--4 .social-icons,
.footer--2 .footer__address--5 .social-icons,
.footer--2 .footer__address--6 .social-icons,
.footer--2 .footer__address--7 .social-icons {
  display: none;
}
.footer .footer__copyright, .footer--2 .footer__copyright {
  display: flex;
  flex-direction: column;
  background: #45C2B1;
  margin-bottom: 35px;
}
@media (min-width: 1025px) {
  .footer .footer__copyright, .footer--2 .footer__copyright {
    justify-content: flex-start;
    flex-direction: row;
    flex-wrap: wrap;
    margin-bottom: unset;
    padding-inline: max(50px, (100vw - 1600px) / 2);
  }
}
.footer .footer__privacy, .footer--2 .footer__privacy {
  order: 1;
  padding: 0 0 10px;
}
@media (min-width: 1025px) {
  .footer .footer__privacy, .footer--2 .footer__privacy {
    padding: 0 20px 20px 0;
  }
  .footer .footer__privacy:hover, .footer--2 .footer__privacy:hover {
    color: #F9F9F9;
  }
}
.footer .footer__custom, .footer--2 .footer__custom {
  order: 2;
  padding: 0 0 10px;
}
@media (min-width: 1025px) {
  .footer .footer__custom, .footer--2 .footer__custom {
    padding: 0 20px 20px 0;
  }
  .footer .footer__custom:hover, .footer--2 .footer__custom:hover {
    color: #F9F9F9;
  }
}
.footer .footer__dl, .footer--2 .footer__dl {
  display: none;
}
.footer .footer__copyright-text,
.footer .footer__copyright span, .footer--2 .footer__copyright-text,
.footer--2 .footer__copyright span {
  font-size: 0.8rem;
  line-height: 1.4;
  max-width: 290px;
  padding: 0 0 10px;
  text-align: left;
  opacity: 0.8;
  order: 4;
}
@media (min-width: 1025px) {
  .footer .footer__copyright-text,
  .footer .footer__copyright span, .footer--2 .footer__copyright-text,
  .footer--2 .footer__copyright span {
    max-width: unset;
  }
}

.footer--2 .footer__address a:not(.social-icons__icon) {
  padding: 5px 0 24px;
}

/* --------------------------------------------------------
   UTILITY FUNCTIONS
--------------------------------------------------------- */
/* Prevent Sass errors when attempting to darken/lighten
   non-color values like `transparent` */
/* --------------------------------------------------------
   NOTES (quick usage)
--------------------------------------------------------- */
/*
1) Add / change icons:
   - Add URL variable (optional)
   - Add to $icons map with a key
   - Use class: icon--{key}

2) Add icons in HTML (editor-safe):
   - Add: iconized + iconized--right (or --left)
   - Add: icon--{key}
   - Optional: icon-size--sm, icon-color--gold, icon-gap--sm

Example:
<a class="btn btn--tertiary iconized iconized--right icon--sd-carrot-next icon-color--gold icon-size--xs" href="#">
  Learn More
</a>
*/
/* --------------------------------------------------------
   ICON SOURCES (REMOTE SVG URLS)
   - These are used by the pseudo-element icon system below.
   - Add new icons by:
     1) Creating a new $sd-* variable with the URL
     2) Adding it to the $icons map
--------------------------------------------------------- */
/* Map of icon names -> asset URLs
   NOTE: Keys become your class names: .icon--sd-star, .icon--sd-carrot-next, etc.
*/
/* --------------------------------------------------------
   ICON SYSTEM (EDITOR-SAFE)
   ✅ Works even if the editor removes <span> tags
   ✅ No additional HTML elements needed for icons
   ✅ Icons are injected via ::before / ::after on the element itself

   HOW TO USE (examples):
   - Right icon on a link/button:
     <a class="btn btn--tertiary iconized iconized--right icon--sd-carrot-next icon-color--gold icon-size--sm">Learn More</a>

   - Left icon:
     <a class="iconized iconized--left icon--sd-phone icon-color--light icon-size--md">Call</a>

   - Inline SVG support remains available:
     <svg class="icon icon--sm" ...>...</svg>
--------------------------------------------------------- */
/* Mask mixin (remote SVG stencil) */
/* --- Optional: keep the .icon class for inline SVG use-cases --- */
.icon {
  display: inline-block;
  width: 1em;
  height: 1em;
  vertical-align: middle;
  flex-shrink: 0;
  color: currentColor;
  fill: currentColor;
  stroke: currentColor;
}

/* If you do use inline SVG, force shapes to inherit currentColor */
svg.icon,
svg.icon * {
  fill: currentColor;
  stroke: currentColor;
}

/* --- NEW: Editor-safe pseudo-element icon injection --- */
/* Base hook */
.iconized, .btn--with-icon {
  /* keeps pseudo-elements aligned; safe for <a>, <button>, <div> */
  position: relative;
  color: inherit;
  /* default sizing & spacing can be overridden via helper classes */
  --icon-size: 1em;
  --icon-gap: 0.5rem;
}

/* Right icon (after) */
.iconized--right::after, .btn--with-icon::after {
  content: "";
  display: inline-block;
  width: var(--icon-size);
  height: var(--icon-size);
  margin-left: var(--icon-gap);
  vertical-align: middle;
  flex-shrink: 0;
  /* ensures masks render cleanly */
  background-repeat: no-repeat;
  background-position: center;
  background-size: contain;
}

/* Left icon (before) */
.iconized--left::before {
  content: "";
  display: inline-block;
  width: var(--icon-size);
  height: var(--icon-size);
  margin-right: var(--icon-gap);
  vertical-align: middle;
  flex-shrink: 0;
  background-repeat: no-repeat;
  background-position: center;
  background-size: contain;
}

/* Generate icon mask rules for pseudo-elements based on the $icons map */
.icon--sd-arrow-next.iconized--right::after, .icon--sd-arrow-next.btn--with-icon::after,
.icon--sd-arrow-next.iconized--left::before {
  background-color: currentColor;
  mask: url("https://assets.doctorlogic.com/Images/Sites/GlobalAssets/SmileDoctors/arrow-next-icon.svg") no-repeat center/contain;
  -webkit-mask: url("https://assets.doctorlogic.com/Images/Sites/GlobalAssets/SmileDoctors/arrow-next-icon.svg") no-repeat center/contain;
}

.icon--sd-arrow-previous.iconized--right::after, .icon--sd-arrow-previous.btn--with-icon::after,
.icon--sd-arrow-previous.iconized--left::before {
  background-color: currentColor;
  mask: url("https://assets.doctorlogic.com/Images/Sites/GlobalAssets/SmileDoctors/arrow-previous-icon.svg") no-repeat center/contain;
  -webkit-mask: url("https://assets.doctorlogic.com/Images/Sites/GlobalAssets/SmileDoctors/arrow-previous-icon.svg") no-repeat center/contain;
}

.icon--sd-arrow-up.iconized--right::after, .icon--sd-arrow-up.btn--with-icon::after,
.icon--sd-arrow-up.iconized--left::before {
  background-color: currentColor;
  mask: url("https://assets.doctorlogic.com/Images/Sites/GlobalAssets/SmileDoctors/arrow-up-icon.svg") no-repeat center/contain;
  -webkit-mask: url("https://assets.doctorlogic.com/Images/Sites/GlobalAssets/SmileDoctors/arrow-up-icon.svg") no-repeat center/contain;
}

.icon--sd-arrow-up-fill.iconized--right::after, .icon--sd-arrow-up-fill.btn--with-icon::after,
.icon--sd-arrow-up-fill.iconized--left::before {
  background-color: currentColor;
  mask: url("https://assets.doctorlogic.com/Images/Sites/GlobalAssets/SmileDoctors/arrow-up-fill-icon.svg") no-repeat center/contain;
  -webkit-mask: url("https://assets.doctorlogic.com/Images/Sites/GlobalAssets/SmileDoctors/arrow-up-fill-icon.svg") no-repeat center/contain;
}

.icon--sd-arrow-up-inverted.iconized--right::after, .icon--sd-arrow-up-inverted.btn--with-icon::after,
.icon--sd-arrow-up-inverted.iconized--left::before {
  background-color: currentColor;
  mask: url("https://assets.doctorlogic.com/Images/Sites/GlobalAssets/SmileDoctors/arrow-up-inverted-icon.svg") no-repeat center/contain;
  -webkit-mask: url("https://assets.doctorlogic.com/Images/Sites/GlobalAssets/SmileDoctors/arrow-up-inverted-icon.svg") no-repeat center/contain;
}

.icon--sd-carrot-next.iconized--right::after, .icon--sd-carrot-next.btn--with-icon::after,
.icon--sd-carrot-next.iconized--left::before {
  background-color: currentColor;
  mask: url("https://assets.doctorlogic.com/Images/Sites/GlobalAssets/SmileDoctors/carrot-right-icon.svg") no-repeat center/contain;
  -webkit-mask: url("https://assets.doctorlogic.com/Images/Sites/GlobalAssets/SmileDoctors/carrot-right-icon.svg") no-repeat center/contain;
}

.icon--sd-carrot-previous.iconized--right::after, .icon--sd-carrot-previous.btn--with-icon::after,
.icon--sd-carrot-previous.iconized--left::before {
  background-color: currentColor;
  mask: url("https://assets.doctorlogic.com/Images/Sites/GlobalAssets/SmileDoctors/carrot-left-icon.svg") no-repeat center/contain;
  -webkit-mask: url("https://assets.doctorlogic.com/Images/Sites/GlobalAssets/SmileDoctors/carrot-left-icon.svg") no-repeat center/contain;
}

.icon--sd-close.iconized--right::after, .icon--sd-close.btn--with-icon::after,
.icon--sd-close.iconized--left::before {
  background-color: currentColor;
  mask: url("https://assets.doctorlogic.com/Images/Sites/GlobalAssets/SmileDoctors/close-icon.svg") no-repeat center/contain;
  -webkit-mask: url("https://assets.doctorlogic.com/Images/Sites/GlobalAssets/SmileDoctors/close-icon.svg") no-repeat center/contain;
}

.icon--sd-open.iconized--right::after, .icon--sd-open.btn--with-icon::after,
.icon--sd-open.iconized--left::before {
  background-color: currentColor;
  mask: url("https://assets.doctorlogic.com/Images/Sites/GlobalAssets/SmileDoctors/open-icon.svg") no-repeat center/contain;
  -webkit-mask: url("https://assets.doctorlogic.com/Images/Sites/GlobalAssets/SmileDoctors/open-icon.svg") no-repeat center/contain;
}

.icon--sd-rounded-quote.iconized--right::after, .icon--sd-rounded-quote.btn--with-icon::after,
.icon--sd-rounded-quote.iconized--left::before {
  background-color: currentColor;
  mask: url("https://assets.doctorlogic.com/Images/Sites/GlobalAssets/SmileDoctors/rounded-quote-icon.svg") no-repeat center/contain;
  -webkit-mask: url("https://assets.doctorlogic.com/Images/Sites/GlobalAssets/SmileDoctors/rounded-quote-icon.svg") no-repeat center/contain;
}

.icon--sd-squared-quote.iconized--right::after, .icon--sd-squared-quote.btn--with-icon::after,
.icon--sd-squared-quote.iconized--left::before {
  background-color: currentColor;
  mask: url("https://assets.doctorlogic.com/Images/Sites/GlobalAssets/SmileDoctors/squared-quote-icon.svg") no-repeat center/contain;
  -webkit-mask: url("https://assets.doctorlogic.com/Images/Sites/GlobalAssets/SmileDoctors/squared-quote-icon.svg") no-repeat center/contain;
}

.icon--sd-star.iconized--right::after, .icon--sd-star.btn--with-icon::after,
.icon--sd-star.iconized--left::before {
  background-color: currentColor;
  mask: url("https://assets.doctorlogic.com/Images/Sites/GlobalAssets/SmileDoctors/star-icon.svg") no-repeat center/contain;
  -webkit-mask: url("https://assets.doctorlogic.com/Images/Sites/GlobalAssets/SmileDoctors/star-icon.svg") no-repeat center/contain;
}

.icon--sd-calendar.iconized--right::after, .icon--sd-calendar.btn--with-icon::after,
.icon--sd-calendar.iconized--left::before {
  background-color: currentColor;
  mask: url("https://assets.doctorlogic.com/Images/Sites/GlobalAssets/SmileDoctors/calendar-sticky-bar.svg") no-repeat center/contain;
  -webkit-mask: url("https://assets.doctorlogic.com/Images/Sites/GlobalAssets/SmileDoctors/calendar-sticky-bar.svg") no-repeat center/contain;
}

.icon--sd-phone.iconized--right::after, .icon--sd-phone.btn--with-icon::after,
.icon--sd-phone.iconized--left::before {
  background-color: currentColor;
  mask: url("https://assets.doctorlogic.com/Images/Sites/GlobalAssets/SmileDoctors/phone-sticky-bar.svg") no-repeat center/contain;
  -webkit-mask: url("https://assets.doctorlogic.com/Images/Sites/GlobalAssets/SmileDoctors/phone-sticky-bar.svg") no-repeat center/contain;
}

/* Size helpers (set CSS variable; no extra elements needed) */
.icon-size--xs {
  --icon-size: 0.75em;
}

.icon-size--sm {
  --icon-size: 0.97em;
}

.icon-size--md {
  --icon-size: 1.20em;
}

.icon-size--lg {
  --icon-size: 1.54em;
}

.icon-size--xl {
  --icon-size: 2em;
}

/* Gap helpers */
.icon-gap--none {
  --icon-gap: 0;
}

.icon-gap--xs {
  --icon-gap: 0.35rem;
}

.icon-gap--sm {
  --icon-gap: 0.5rem;
}

.icon-gap--md {
  --icon-gap: 0.65rem;
}

.icon-gap--lg {
  --icon-gap: 0.8rem;
}

/* Color helpers (apply to the element so the icon inherits via currentColor) */
.icon-color--primary {
  color: #45C2B1;
}

.icon-color--secondary {
  color: #369C8E;
}

.icon-color--light {
  color: #FFFFFF;
}

.icon-color--dark {
  color: #1C2221;
}

.icon-color--gold {
  color: #E8BB35;
}

/* --------------------------------------------------------
   ACCESSIBILITY
--------------------------------------------------------- */
.visually-hidden {
  position: absolute !important;
  width: 1px !important;
  height: 1px !important;
  padding: 0 !important;
  margin: -1px !important;
  overflow: hidden !important;
  clip: rect(0, 0, 0, 0) !important;
  white-space: nowrap !important;
  border: 0 !important;
}

/* --------------------------------------------------------
   TYPOGRAPHY
--------------------------------------------------------- */
body {
  background: #FFFFFF;
  color: #1C2221;
  font-family: inter-variable, sans-serif;
  font-variant-numeric: lining-nums;
}

/* --------------------------------------------------------
   H1 AND H2 STYLES

   To create visual consestancy you'll use your H1 styles
   here on your hero headline. And the H2 styles on 
   all other homepage headlines.
--------------------------------------------------------- */
h1, .h1 {
  font-size: clamp(2.25rem, 1.9rem + 1.6vw, 3.5rem);
  font-weight: 900;
  letter-spacing: -0.02em;
  line-height: 1.1;
  margin: 0 0 12px;
  text-transform: none;
}

h2, .h2 {
  color: #45C2B1;
  font-size: clamp(1.875rem, 1.65rem + 1.1vw, 2.625rem);
  font-weight: 700;
  letter-spacing: -0.015em;
  line-height: 1.15;
  text-transform: none;
}

h1, .h1,
h2,
.h2 {
  font-family: merriweather, serif;
}

/* H3-H6 styles */
h3, .h3 {
  font-size: clamp(1.375rem, 1.2rem + 0.9vw, 2rem);
  font-weight: 700;
  letter-spacing: -0.01em;
  line-height: 1.2;
}

h4, .h4 {
  font-size: clamp(1rem, 0.85rem + 0.7vw, 1.5rem);
  font-weight: 700;
  letter-spacing: -0.005em;
  line-height: 1.3;
}

h5, .h5 {
  font-size: clamp(0.875rem, 0.75rem + 0.6vw, 1.25rem);
  font-weight: 700;
  letter-spacing: 0;
  line-height: 1.35;
}

h6, .h6 {
  font-size: clamp(0.75rem, 0.65rem + 0.5vw, 1.125rem);
  font-weight: 700;
  letter-spacing: 0.01em;
  line-height: 1.4;
}

h3, .h3,
h4,
.h4,
h5,
.h5,
h6,
.h6 {
  color: #1C2221;
  font-family: inter-variable, sans-serif;
  font-weight: 500;
}

p,
li:not(.nav__item) {
  font-family: inter-variable, sans-serif;
  font-weight: 400;
  font-size: clamp(1rem, 0.8rem + 0.6vw, 1.25rem);
  letter-spacing: 0.01em;
  line-height: 1.7;
}

/* --------------------------------------------------------
   INTERIOR SECTION HEADLINES - Mirror the styles you use
   on the above H2s to create a visual cohesiveness.
--------------------------------------------------------- */
.featured__headline,
.section__headline {
  color: #45C2B1;
  font-family: merriweather, serif;
  font-size: clamp(2.25rem, 2rem + 1.6vw, 3rem);
  font-weight: 700;
  letter-spacing: -0.003em;
  line-height: 1.2;
  margin: 24px 0;
  text-transform: none;
}

/* --------------------------------------------------------
   LINKS
--------------------------------------------------------- */
a {
  color: #45C2B1;
  font-size: clamp(1rem, 0.8rem + 0.6vw, 1.25rem);
  text-decoration: none;
}
@media (min-width: 1025px) {
  a:hover {
    color: rgb(46.0587044534, 140.4412955466, 127.6052631579);
  }
}

a:not(.nav__link):not(.breadcrumbs__item a):not(.btn) {
  text-decoration: underline;
}
@media (min-width: 1025px) {
  a:not(.nav__link):not(.breadcrumbs__item a):not(.btn):hover {
    text-decoration: none;
  }
}

/* "Show more" button link */
.show-more-btn {
  color: #45C2B1;
  padding: 0;
  border-radius: 0;
  min-width: unset;
}
.show-more-btn:hover {
  color: rgb(39.7611336032, 121.2388663968, 110.1578947368);
  background: transparent;
}

/* --------------------------------------------------------
   FORMS
--------------------------------------------------------- */
form button {
  cursor: pointer;
}

input,
textarea {
  border: 1px solid rgba(28, 34, 33, 0.5);
  border-radius: 4px;
  padding: 1rem;
  color: #1C2221;
  outline: none;
}

/* --------------------------------------------------------
   BUTTONS (EDITOR-SAFE ICONS)
--------------------------------------------------------- */
/* Base button */
.btn {
  background: #45C2B1;
  border: 2px solid #45C2B1;
  border-radius: 0;
  color: #FFFFFF;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font-family: inter-variable, sans-serif;
  font-size: clamp(0.875rem, 0.86rem + 0.15vw, 0.9rem);
  font-weight: 600;
  letter-spacing: 0.04em;
  margin-top: 24px !important;
  min-height: 34px;
  min-width: 214px;
  padding: 14px 20px;
  word-wrap: break-word;
  overflow-wrap: break-word;
  text-transform: uppercase;
  text-decoration: none;
  text-align: center;
  transition: all 0.3s;
  white-space: normal;
  line-height: unset;
  /* ----------------------------------------------------
     ICON SUPPORT (editor-safe system)
     Apply only when the button is using iconized classes
     e.g. <a class="btn iconized iconized--right icon--sd-carrot-next">...</a>
  ----------------------------------------------------- */
}
@media (min-width: 991px) {
  .btn {
    padding: 14px 28px;
  }
}
@media (min-width: 1025px) {
  .btn:hover {
    background: rgb(52.3562753036, 159.6437246964, 145.0526315789);
    border-color: rgb(52.3562753036, 159.6437246964, 145.0526315789);
  }
}
.btn.iconized, .btn.btn--with-icon {
  /* Default icon tuning for ALL iconized buttons */
  --icon-gap: 0.5rem;
  --icon-size: 0.95em;
  /* NEW: adjust icon vertical placement */
  --icon-offset-y: -2px;
  /* Ensure pseudo-element respects the offset */
}
.btn.iconized.iconized--right::after, .btn.btn--with-icon::after, .btn.iconized.iconized--left::before, .btn.iconized--left.btn--with-icon::before {
  position: relative;
  top: var(--icon-offset-y);
}

/* Safe, universal button mixin */
/* Secondary */
.btn--secondary {
  background: #FFFFFF;
  border: 2px solid #45C2B1;
  color: #45C2B1;
}
@media (min-width: 1025px) {
  .btn--secondary:hover {
    background: rgb(229.5, 229.5, 229.5);
    border-color: rgb(52.3562753036, 159.6437246964, 145.0526315789);
    color: #45C2B1;
  }
}

/* --------------------------------------------------------
   TERTIARY BUTTON (icon-right friendly)
   Recommended usage:
   <a class="btn btn--tertiary iconized iconized--right icon--sd-carrot-next icon-size--xs">
     Learn More
   </a>
--------------------------------------------------------- */
.btn--tertiary {
  background: none;
  border: 2px solid none;
  color: #45C2B1;
  border-radius: 3px;
  border: none;
  text-decoration: none;
  /* Default tertiary icon behavior */
}
@media (min-width: 1025px) {
  .btn--tertiary:hover {
    background: none;
    border-color: none;
    color: #45C2B1;
  }
}
@media (min-width: 1025px) {
  .btn--tertiary:hover {
    text-decoration: underline;
  }
}
.btn--tertiary.iconized, .btn--tertiary.btn--with-icon {
  --icon-gap: 0.5rem;
  --icon-size: 0.95em;
  /* NEW: tweak tertiary icon placement (example) */
  --icon-offset-y: -1px;
}
.btn--tertiary.iconized.iconized--right::after, .btn--tertiary.btn--with-icon::after, .btn--tertiary.iconized.iconized--left::before, .btn--tertiary.iconized--left.btn--with-icon::before {
  position: relative;
  top: var(--icon-offset-y);
}

/* --------------------------------------------------------
   OPTIONAL UTILITY: makes any button show a right icon quickly
   Usage:
   <a class="btn btn--tertiary btn--with-icon icon--sd-carrot-next">Learn More</a>
--------------------------------------------------------- */
.btn--with-icon {
  --icon-size: 0.85em;
  --icon-gap: 0.5rem;
  /* NEW: default offset for this helper */
  --icon-offset-y: -1px;
}
.btn--with-icon::after {
  position: relative;
  top: var(--icon-offset-y);
}

/* --------------------------------------------------------
   LISTS
--------------------------------------------------------- */
ul {
  margin: 0;
  padding: 0 10px;
}

li {
  padding: 5px 0;
}

.flickity-page-dots .dot {
  padding: 0;
}

/* --------------------------------------------------------
   BREADCRUMBS
--------------------------------------------------------- */
@media (min-width: 768px) {
  .masthead:not(.masthead-2) .masthead__image-container,
  .masthead:not(.masthead-2) .masthead__text,
  .masthead__content-container {
    background: #F9F9F9;
  }
}
@media (min-width: 768px) {
  .masthead:not(.masthead-2) .masthead__image-container h1, .masthead:not(.masthead-2) .masthead__image-container .h1,
  .masthead:not(.masthead-2) .masthead__text h1,
  .masthead:not(.masthead-2) .masthead__text .h1,
  .masthead__content-container h1,
  .masthead__content-container .h1 {
    color: #45C2B1;
  }
}
@media (min-width: 768px) {
  .masthead:not(.masthead-2) .masthead__image-container .breadcrumbs a,
  .masthead:not(.masthead-2) .masthead__image-container .breadcrumbs__item,
  .masthead:not(.masthead-2) .masthead__image-container .breadcrumbs__item span,
  .masthead:not(.masthead-2) .masthead__text .breadcrumbs a,
  .masthead:not(.masthead-2) .masthead__text .breadcrumbs__item,
  .masthead:not(.masthead-2) .masthead__text .breadcrumbs__item span,
  .masthead__content-container .breadcrumbs a,
  .masthead__content-container .breadcrumbs__item,
  .masthead__content-container .breadcrumbs__item span {
    color: #1C2221 !important;
    font-size: clamp(1.125rem, 1rem + 1vw, 1.5rem);
  }
}
.masthead:not(.masthead-2) .masthead__image-container .breadcrumbs__item::after,
.masthead:not(.masthead-2) .masthead__text .breadcrumbs__item::after,
.masthead__content-container .breadcrumbs__item::after {
  font-size: 1.1rem;
}
@media (min-width: 768px) {
  .masthead:not(.masthead-2) .masthead__image-container .breadcrumbs__item::after,
  .masthead:not(.masthead-2) .masthead__text .breadcrumbs__item::after,
  .masthead__content-container .breadcrumbs__item::after {
    color: #1C2221;
  }
}
.masthead:not(.masthead-2) .masthead__image-container .testimonials-rotator__value-number,
.masthead:not(.masthead-2) .masthead__image-container .testimonials-ratings__value p,
.masthead:not(.masthead-2) .masthead__text .testimonials-rotator__value-number,
.masthead:not(.masthead-2) .masthead__text .testimonials-ratings__value p,
.masthead__content-container .testimonials-rotator__value-number,
.masthead__content-container .testimonials-ratings__value p {
  font-family: inter-variable, sans-serif;
}
@media (min-width: 768px) {
  .masthead:not(.masthead-2) .masthead__image-container .testimonials-rotator__value-number,
  .masthead:not(.masthead-2) .masthead__image-container .testimonials-ratings__value p,
  .masthead:not(.masthead-2) .masthead__text .testimonials-rotator__value-number,
  .masthead:not(.masthead-2) .masthead__text .testimonials-ratings__value p,
  .masthead__content-container .testimonials-rotator__value-number,
  .masthead__content-container .testimonials-ratings__value p {
    color: #1C2221 !important;
  }
}
.masthead:not(.masthead-2) .masthead__image-container .testimonials-ratings .star path,
.masthead:not(.masthead-2) .masthead__text .testimonials-ratings .star path,
.masthead__content-container .testimonials-ratings .star path {
  fill: #E8BB35 !important;
}

/* Mastheads w/NO IMAGE */
.masthead:not(.masthead-2).masthead--no-img {
  background: #F9F9F9;
}
.masthead:not(.masthead-2).masthead--no-img h1, .masthead:not(.masthead-2).masthead--no-img .h1 {
  color: #45C2B1;
}
.masthead:not(.masthead-2).masthead--no-img .breadcrumbs a,
.masthead:not(.masthead-2).masthead--no-img .breadcrumbs__item,
.masthead:not(.masthead-2).masthead--no-img .breadcrumbs__item span {
  color: #1C2221 !important;
  font-size: clamp(1.125rem, 1rem + 1vw, 1.5rem);
}
.masthead:not(.masthead-2).masthead--no-img .breadcrumbs__item::after {
  font-size: 1.1rem;
  color: #1C2221;
}
.masthead:not(.masthead-2).masthead--no-img .testimonials-rotator__value-number,
.masthead:not(.masthead-2).masthead--no-img .testimonials-ratings__value p {
  font-family: inter-variable, sans-serif;
  color: #1C2221 !important;
}
.masthead:not(.masthead-2).masthead--no-img .testimonials-ratings .star path {
  fill: #E8BB35 !important;
}
.masthead:not(.masthead-2).masthead--no-img .masthead__text {
  max-width: 1400px;
}

.masthead:not(.masthead-2) {
  background: #F9F9F9;
}

.breadcrumbs {
  padding: 10px 20px;
}

.breadcrumbs__items {
  display: flex;
  align-items: center;
  list-style: none;
}

.breadcrumbs__item {
  position: relative;
  margin-right: 15px;
  padding: 0 5px;
  font-size: clamp(1rem, 0.85rem + 0.5vw, 1.125rem) !important;
}
.breadcrumbs__item a {
  font-size: clamp(1rem, 0.85rem + 0.5vw, 1.125rem) !important;
}
.breadcrumbs__item::after {
  content: ">";
  position: absolute;
  top: 50%;
  right: -12px;
  transform: translateY(-50%);
}
.breadcrumbs__item:last-of-type {
  margin-right: 0;
}
.breadcrumbs__item:last-of-type::after {
  display: none;
}

/* --------------------------------------------------------
   STAR COLORS (optional override)
   - This block only applies if you still use gradient stars
     with IDs in inline SVG (existing legacy).
   - If you switch to currentColor stars, you can remove it.
--------------------------------------------------------- */
#star-full stop,
#star-half .fill {
  stop-color: #E8BB35;
}

/* --------------------------------------------------------
   DISCLAIMER
--------------------------------------------------------- */
.disclaimer {
  background: #1C2221;
  color: #FFFFFF;
  font-size: 0.8rem;
  line-height: 1.6;
  letter-spacing: 0.026em;
}

/* --------------------------------------------------------
   INTERIOR SECTION OVERRIDES 
--------------------------------------------------------- */
@media (min-width: 1025px) {
  .hero__text-btns .btn:hover {
    border: 2px solid rgb(40.8857142857, 118.1142857143, 107.5142857143);
  }
}

.testimonials.testimonials--template_a .testimonials-rotator,
.testimonials-rotator {
  margin: 0 auto;
  max-width: 1300px;
  width: 100%;
}
.testimonials.testimonials--template_a .testimonials-rotator .flickity-viewport,
.testimonials.testimonials--template_a .testimonials-rotator .flickity-slider,
.testimonials-rotator .flickity-viewport,
.testimonials-rotator .flickity-slider {
  min-height: 324px;
}

.testimonials-rotator .flickity-prev-next-button,
.testimonials.testimonials--template_a .flickity-prev-next-button.previous,
.testimonials.testimonials--template_a .flickity-prev-next-button.next {
  background: #45C2B1 !important;
  border-radius: 0 !important;
  width: 20px;
  height: 20px;
  min-width: 20px;
  max-width: 20px;
  padding: 20px;
  /* If you choose to skin Flickity buttons using mask icons:
     Add <span class="icon icon--md icon--rotator-prev"></span> inside the button
     or replace Flickity default SVG via JS.
  */
}

.listcard__card-headline {
  font-size: clamp(1.5rem, 1.3rem + 1.2vw, 2rem);
}

.listcard__card,
.card--post {
  text-decoration: none !important;
}

.listcard__card-ctas .btn,
.card__text .btn,
.card__ctas .btn {
  margin: 72px 0 0 !important;
  min-height: 56px;
}

.card__text {
  justify-content: flex-end;
}

.card--horizontal {
  gap: 0;
}

/* --- Form Card Overrides ---*/
.form-block .card--horizontal .card__title h2, .form-block .card--horizontal .card__title .h2 {
  color: #45C2B1 !important;
  font-size: clamp(1.8rem, 2rem + 1.6vw, 2rem);
}

.form_with_cards.form_with_cards--template_a .form-block .card--horizontal .card__details p,
.form_with_cards.form_with_cards--template_a .form-block .card--horizontal .card__details a {
  font-size: 1.1rem !important;
}

.form_with_cards.form_with_cards--template_a .form-block .card--horizontal .card__ctas .btn {
  font-size: clamp(0.875rem, 0.86rem + 0.15vw, 0.9rem) !important;
}

@media (min-width: 768px) {
  .form__btn {
    margin-top: 0 !important;
  }
}

/* --- Interior Contact Mini Section --- */
.practitioner-page .contact_mini__contact-wrapper,
.personnel-page .contact_mini__contact-wrapper {
  display: block;
}

/* --------------------------------------------------------
   Fresh Paint Maps
--------------------------------------------------------- */
.maplibregl-popup-content {
  min-width: 180px;
}

.maplibregl-map .facility__label {
  font-size: 1rem;
}

.maplibregl-popup-close-button {
  font-size: 1.5rem;
  margin: 0 10px 10px;
}

/* --------------------------------------------------------
   Bottom Sticky Bar Styles
--------------------------------------------------------- */
.disclaimer,
.footer {
  position: relative;
  z-index: 100;
}

.scroll-spacer {
  height: 100vh;
  width: 100%;
}

.header--scroll ~ .bottom_bar {
  position: fixed;
  transform: translate(0, 0);
  opacity: 1;
  pointer-events: auto;
}

.bottom_bar {
  display: flex;
  align-items: center;
  justify-content: space-evenly;
  flex-direction: row;
  flex-wrap: wrap;
  background: #369C8E;
  min-height: 54px;
  padding: 10px 15px;
  position: fixed;
  bottom: 0;
  width: 100%;
  z-index: 102;
  opacity: 0;
  pointer-events: none;
  transition: transform 1s ease-in-out, opacity 0.4s ease-in-out;
  transform: translate(0, 100%);
}
.bottom_bar.is-stuck, .bottom_bar:not(:first-child) {
  opacity: 1;
  pointer-events: auto;
}
.bottom_bar-items {
  display: flex;
  align-self: center;
  justify-content: space-evenly;
  flex-direction: row;
  flex-wrap: wrap;
  margin: 0 auto;
  max-width: 300px;
  width: 100%;
}
.bottom_bar-items .icon__container-1,
.bottom_bar-items .icon__container-2 {
  display: flex;
  align-items: center;
  justify-content: center;
  flex-direction: row;
  /* NEW: if you switch sticky bar icons to the new system,
     replace <img> with <span class="icon icon--md icon--star"> etc.
     and this will style it correctly.
  */
  /* Keep <img> support if it still exists (no breakage) */
}
.bottom_bar-items .icon__container-1 .icon,
.bottom_bar-items .icon__container-2 .icon {
  width: 24px;
  height: 24px;
  margin-right: 10px;
}
@media (min-width: 991px) {
  .bottom_bar-items .icon__container-1 .icon,
  .bottom_bar-items .icon__container-2 .icon {
    width: 34px;
    height: 34px;
  }
}
.bottom_bar-items .icon__container-1 img,
.bottom_bar-items .icon__container-2 img {
  height: 24px;
  width: 24px;
  margin-right: 10px;
  filter: invert(100%);
}
@media (min-width: 991px) {
  .bottom_bar-items .icon__container-1 img,
  .bottom_bar-items .icon__container-2 img {
    height: 34px;
    width: 34px;
  }
}
.bottom_bar-items .icon__container-1 p,
.bottom_bar-items .icon__container-2 p {
  color: #FFFFFF;
  font-size: 0.9rem;
  font-weight: 600;
  margin: 0;
  text-transform: uppercase;
}
.bottom_bar-items .icon__container-1 {
  border-right: 1.5px solid #FFFFFF;
  padding-right: 24px;
}
@media (min-width: 1025px) {
  .bottom_bar {
    display: none;
  }
}

/* --------------------------------------------------------
   Custom Interior Page Form Styles
--------------------------------------------------------- */
@media (min-width: 768px) {
  .form_with_cards.form_with_cards--template_a .form-block__wrapper {
    padding: 80px 32px 0;
  }
}

.form-block__form-wrapper {
  min-height: 700px;
  /* Comment out IF default form is needed */
}
.form-block__form-wrapper h2, .form-block__form-wrapper .h2 {
  display: none;
}

.custom-form__container {
  width: 100%;
  height: 100%;
  padding: 40px;
  position: relative;
}
@media (min-width: 768px) {
  .custom-form__container {
    padding: 72px;
  }
}
.custom-form__container::after {
  content: "";
  background: rgba(0, 0, 0, 0.2);
  inset: 0;
  position: absolute;
  z-index: 0;
}
.custom-form__container .visually-hidden-text {
  font-size: 0.8rem;
  position: absolute;
  top: 0;
  left: 0;
  margin: 10px;
  z-index: -1;
}
.custom-form__container-items {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  flex-direction: column;
  min-height: 600px;
  max-height: 1000px;
  position: relative;
  z-index: 1;
}
.custom-form__container-items .btn {
  color: #FFFFFF;
}
.custom-form__container-items .featured__headline {
  color: #FFFFFF;
  font-size: clamp(1.6rem, 4vw, 3rem);
  text-shadow: 1px 1px 5px rgba(0, 0, 0, 0.35);
  margin: 0 0 16px !important;
  text-align: center;
}

.header .nav-toggle {
  top: 20px;
  border: solid 1px #606060;
  border-radius: 100%;
  padding: 0;
  height: 32px !important;
  width: 32px !important;
  right: 20px !important;
}
.dark-mode .header .nav-toggle {
  border-color: #FFFFFF;
}
.header .nav-toggle span::before {
  color: #1C2221;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
}
.dark-mode .header .nav-toggle span::before {
  color: #FFFFFF;
}
.header .slide-menu {
  padding-top: 48px;
  padding-bottom: 0;
}
@media (min-width: 1241px) {
  .header .slide-menu {
    padding-top: 0;
  }
}
.header .slide-menu__backlink {
  padding: 4px 20px 16px;
}
.header.hamburger .slide-menu ul {
  padding: 12px 12px 0 !important;
}
@media (min-width: 1241px) {
  .header.hamburger .slide-menu ul {
    padding: 0 !important;
  }
}
.header.hamburger .slide-menu ul ul {
  padding: 24px 12px 0 !important;
}
@media (min-width: 1241px) {
  .header.hamburger .slide-menu ul ul {
    padding: 0 !important;
  }
}
.header .slide-menu ul ul {
  padding: 32px 12px 0 !important;
}
@media (min-width: 1241px) {
  .header .slide-menu ul ul {
    padding: 0 !important;
  }
}
@media (min-width: 1241px) {
  .header .slide-menu ul {
    padding: 0 !important;
  }
}
.header__container {
  padding: 12px 48px !important;
}
@media (min-width: 1241px) {
  .header__container {
    max-width: 1690px;
    margin: 0 auto;
    display: flex;
    align-items: center;
    gap: 14px;
  }
}
.header .nav__item:not(.nav__item--sub):not(.nav__item--tert).nav__item:not(.header__cta-container .nav__item) {
  padding: 16px;
  border-bottom: 1px solid #c6c6c6;
}
@media (min-width: 1241px) {
  .header .nav__item:not(.nav__item--sub):not(.nav__item--tert).nav__item:not(.header__cta-container .nav__item) {
    border: unset;
    padding: 0 16px;
    position: relative;
  }
  .header .nav__item:not(.nav__item--sub):not(.nav__item--tert).nav__item:not(.header__cta-container .nav__item)::before {
    content: "";
    position: absolute;
    top: auto;
    left: 4px;
    right: 4px;
    bottom: -10px;
    height: 3px;
    background: #45C2B1;
    max-width: 80%;
    margin: 0 auto;
    opacity: 0;
    transition: opacity 0.3s ease;
  }
  .header .nav__item:not(.nav__item--sub):not(.nav__item--tert).nav__item:not(.header__cta-container .nav__item):hover::before {
    opacity: 1;
  }
}
.header .nav__item:not(.nav__item--sub):not(.nav__item--tert).nav__item:not(.header__cta-container .nav__item):last-of-type {
  border: unset;
}
.header .nav__item:last-of-type {
  border: unset !important;
}
@media (min-width: 1241px) {
  .header__logo-container {
    padding-block: 16px;
    flex: 0 0 10%;
    padding: 0;
    position: relative;
    height: 96px;
    transition: height 0.3s ease;
  }
}
@media (min-width: 1241px) {
  .header.header--scroll .header__logo-container {
    height: 48px;
  }
}
.header__logo {
  margin: 0;
}
@media (min-width: 1241px) {
  .header__logo {
    position: absolute;
    inset: 50% 0;
    transform: translateY(-50%);
    width: 100%;
    height: 100%;
    background-size: contain;
    margin: 0;
    height: 56px !important;
  }
}
@media (min-width: 1241px) {
  .header.header--scroll .header__logo {
    height: 48px;
  }
}
@media (min-width: 1241px) {
  .header__cta-container {
    flex: 0 0 auto;
    order: 2;
    justify-content: flex-end;
    padding: 0 0 0 12px !important;
    margin: 0;
    position: relative;
  }
  .header__cta-container::before {
    content: "";
    position: absolute;
    left: 0;
    top: 50%;
    width: 2px;
    height: 120%;
    transform: translateY(-50%);
    background: #c6c6c6;
  }
  .header__cta-container .nav__items {
    gap: 16px;
  }
  .header__cta-container.left_nav::before {
    display: none;
  }
  .header__cta-container .nav__link {
    padding: 0 0 0 4px !important;
  }
  .header__cta-container .cta__icon {
    padding-inline-end: 0;
  }
  .header__cta-container .cta__icon svg {
    width: 16px;
    height: 16px;
  }
  .header__cta-container .nav__item:last-of-type {
    background: #45C2B1;
    padding: 8px 12px !important;
    justify-content: center;
    border-radius: 4px;
  }
  .header__cta-container .nav__item:last-of-type .cta__icon {
    display: none;
  }
  .header__cta-container .nav__item:last-of-type .nav__link {
    color: #FFFFFF !important;
    text-align: center;
    padding: 0 !important;
    width: 100%;
    text-transform: uppercase;
    font-weight: 700;
    font-size: 0.8rem;
    min-width: 120px;
  }
  .dark-mode .header__cta-container {
    border-color: #FFFFFF;
  }
}
@media (min-width: 1241px) {
  .header__nav {
    flex: 0 0 auto !important;
    margin-left: auto;
  }
  .header__nav.left_nav {
    margin-left: 0;
    margin-right: auto;
  }
}

html.home-page .header:not(.hamburger).header--scroll {
  background: #FFFFFF;
}

html.dark-mode.home-page .header:not(.hamburger).header--scroll {
  background: #1C2221;
}

@media (min-width: 1241px) {
  .header .nav__items {
    justify-content: flex-end !important;
  }
}

.header .nav__item {
  display: flex;
  align-items: center;
}
@media (min-width: 1241px) {
  .header .nav__item:not(.nav__item--sub):not(.nav__item--tert):not(.header__cta-container .nav__item)::after {
    content: "";
    position: absolute;
    inset: -20px;
    width: calc(100% + 56px);
    height: calc(100% + 56px);
    z-index: -1;
  }
}

.header .cta__icon {
  display: flex;
  order: -1;
  padding-inline-end: 8px;
}

@media (min-width: 1241px) {
  .header:not(.hamburger) .nav__items--tert {
    padding-top: 0 !important;
  }
}

@media (min-width: 1241px) {
  .header:not(.hamburger) .header__nav .nav__item {
    padding: 0 16px;
    cursor: pointer;
  }
}
.header:not(.hamburger) .header__nav .nav__item--sub, .header:not(.hamburger) .header__nav .nav__item--tert {
  padding: 16px;
}

@media (min-width: 1241px) {
  .header:not(.hamburger) .header__nav .nav__item:last-of-type {
    padding-right: 0;
  }
}

.header .nav__item--sub, .nav__item--tert {
  border-bottom: 1px solid #c6c6c6;
}

@media (min-width: 1241px) {
  .header:not(.hamburger):not(.header--scroll) .nav__item--sub:hover, .header:not(.hamburger):not(.header--scroll) .nav__item--tert:hover, .header:not(.hamburger) .nav__item--sub:hover, .header:not(.hamburger) .nav__item--tert:hover {
    background: rgb(210.75, 210.75, 210.75) !important;
  }
}

@media (min-width: 1241px) {
  .header:not(.hamburger) .nav__items--sub {
    top: 48px !important;
  }
}

@media (min-width: 1241px) {
  .header:not(.hamburger) .nav__items--tert {
    top: 0 !important;
  }
}

@media (min-width: 1241px) {
  .header .nav__item--tert {
    border-left: 1px solid #c6c6c6;
  }
}

.header__tophat {
  background: #45C2B1;
}
.header__tophat a {
  color: #FFFFFF;
  font-size: clamp(0.7rem, 0.8vw, 0.8rem);
  text-transform: uppercase;
  font-weight: 700;
}
.header__tophat svg {
  fill: #FFFFFF;
  width: 16px;
}
.header__tophat-container {
  max-width: 1690px;
  margin: 0 auto;
  padding: 12px 48px;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 42px;
}
.header__tophat-item {
  display: flex;
  align-items: center;
  gap: 12px;
}
.header__tophat-item span {
  display: none;
}
@media (min-width: 991px) {
  .header__tophat-item span {
    display: block;
  }
}

.header__tophat:has(.centered) .header__tophat-item span {
  display: block !important;
}

/* ==========================================================================
   SD Header Style Overrides
========================================================================== */
/* ---------------------------------------------
   Shared Tokens
---------------------------------------------- */
/* ---------------------------------------------
   Shared Mixins / Placeholders
   - These prevent copy/paste drift across header states.
---------------------------------------------- */
/* Logo baseline */
/* Used where logo needs “white on tablet+” behavior */
/* Nav link font size consistency */
/* ==========================================================================
   Section: Notification / Wrapper
   ========================================================================== */
/* --- Header Notification --- */
.header__notification--hidden {
  padding: 0 !important;
}

/* --- Header Wrapper --- */
.header__wrapper {
  width: 100%;
  max-width: 1200px;
  margin: 0 auto;
  display: flex;
  align-items: center;
}

/* ==========================================================================
   Section: Top Hat
   ========================================================================== */
.header__tophat-container {
  justify-content: center !important;
}
@media (min-width: 1025px) {
  .header__tophat-container {
    justify-content: flex-end !important;
  }
}

.header__tophat a {
  font-size: 0.825rem;
  font-weight: 500;
}

.header__tophat-item:last-of-type {
  margin-left: unset;
}
@media (min-width: 1025px) {
  .header__tophat-item:last-of-type {
    margin-left: auto;
  }
}

/* ==========================================================================
   State: Home Page + Non-Hamburger Header
   --------------------------------------------------------------------------
   Applies to:
   - html.home-page
   - .header:not(.hamburger)
   ========================================================================== */
html.home-page .header,
.header:not(.hamburger) .header {
  background: #FFFFFF;
  /* Container */
  /* CTA / Nav container */
  /* Logo */
  /* Nav font sizing (nested nav structure) */
  /* Slide menu backlink */
}
@media (min-width: 768px) {
  html.home-page .header,
  .header:not(.hamburger) .header {
    background: transparent;
  }
}
html.home-page .header__container,
.header:not(.hamburger) .header__container {
  padding: 12px 24px !important;
}
@media (min-width: 768px) {
  html.home-page .header__container,
  .header:not(.hamburger) .header__container {
    min-height: 104px;
    padding: 12px 72px !important;
  }
}
@media (min-width: 1025px) {
  html.home-page .header__container,
  .header:not(.hamburger) .header__container {
    min-height: 120px;
  }
}
html.home-page .header__cta-container,
.header:not(.hamburger) .header__cta-container {
  /* Nav list */
  /* Nav item padding */
  /* Nav link */
  /* CTA icon */
  /* CTA icon fill */
  /* Last nav item “pill/no-pill” on desktop */
}
@media (min-width: 1025px) {
  html.home-page .header__cta-container::before,
  .header:not(.hamburger) .header__cta-container::before {
    background: rgb(165.012145749, 225.487854251, 217.2631578947) !important;
  }
}
html.home-page .header__cta-container .nav__items,
.header:not(.hamburger) .header__cta-container .nav__items {
  justify-content: space-evenly;
  min-width: 100px;
}
html.home-page .header__cta-container .nav__item,
.header:not(.hamburger) .header__cta-container .nav__item {
  padding: 0 5px !important;
}
@media (min-width: 1025px) {
  html.home-page .header__cta-container .nav__item,
  .header:not(.hamburger) .header__cta-container .nav__item {
    padding: 10px !important;
  }
}
html.home-page .header__cta-container .nav__item .nav__link,
.header:not(.hamburger) .header__cta-container .nav__item .nav__link {
  color: #FFFFFF;
  font-size: clamp(0.925rem, 1.5vw, 1rem);
}
@media (min-width: 1241px) {
  html.home-page .header__cta-container .nav__item .nav__link,
  .header:not(.hamburger) .header__cta-container .nav__item .nav__link {
    padding: 0 0 0 10px !important;
  }
}
html.home-page .header__cta-container .cta__icon,
.header:not(.hamburger) .header__cta-container .cta__icon {
  background: #45C2B1;
  border-radius: 50%;
  padding: 10px;
  width: auto;
}
@media (min-width: 1241px) {
  html.home-page .header__cta-container .cta__icon,
  .header:not(.hamburger) .header__cta-container .cta__icon {
    background: #45C2B1;
  }
}
html.home-page .header__cta-container .cta__icon svg,
.header:not(.hamburger) .header__cta-container .cta__icon svg {
  width: 16px;
  height: 16px;
}
html.home-page .header__cta-container .cta__icon .st0,
.header:not(.hamburger) .header__cta-container .cta__icon .st0 {
  fill: #FFFFFF !important;
}
@media (min-width: 1241px) {
  html.home-page .header__cta-container .nav__item:last-of-type,
  .header:not(.hamburger) .header__cta-container .nav__item:last-of-type {
    background: #45C2B1;
    border-radius: 0;
    transition: all 0.3s ease;
  }
  html.home-page .header__cta-container .nav__item:last-of-type .nav__link,
  .header:not(.hamburger) .header__cta-container .nav__item:last-of-type .nav__link {
    color: #FFFFFF !important;
    font-size: clamp(0.925rem, 1.5vw, 1rem);
    font-weight: 500;
    padding-left: 0 !important;
  }
  html.home-page .header__cta-container .nav__item:last-of-type:hover,
  .header:not(.hamburger) .header__cta-container .nav__item:last-of-type:hover {
    background: rgb(52.3562753036, 159.6437246964, 145.0526315789);
  }
}
html.home-page .header__logo,
.header:not(.hamburger) .header__logo {
  background: url("https://assets.doctorlogic.com/Images/Sites/S/SD-JohnsonOrtho/MasterPage/1594138.svg") !important;
  background-position: left center !important;
  background-repeat: no-repeat !important;
  background-size: contain !important;
  height: 54px;
  width: 100%;
  transition: all 0.3s ease;
}
@media (min-width: 768px) {
  html.home-page .header__logo,
  .header:not(.hamburger) .header__logo {
    background: url("https://assets.doctorlogic.com/Images/Sites/S/SD-JohnsonOrtho/MasterPage/1608935.svg");
    background-position: left center !important;
    background-repeat: no-repeat !important;
    background-size: contain !important;
  }
}
@media (min-width: 1241px) {
  html.home-page .header__logo,
  .header:not(.hamburger) .header__logo {
    height: 64px !important;
    min-width: 174px;
  }
}
@media (min-width: 1441px) {
  html.home-page .header__logo,
  .header:not(.hamburger) .header__logo {
    height: 94px !important;
  }
}
@media (min-width: 768px) {
  html.home-page .header__logo,
  .header:not(.hamburger) .header__logo {
    background: url("https://assets.doctorlogic.com/Images/Sites/S/SD-JohnsonOrtho/MasterPage/1608935.svg") !important;
    background-position: left center !important;
    background-repeat: no-repeat !important;
    background-size: contain !important;
    height: 54px;
    width: 100%;
    transition: all 0.3s ease;
  }
}
html.home-page .header__nav .nav__items .nav__item .nav__link,
.header:not(.hamburger) .header__nav .nav__items .nav__item .nav__link {
  color: #1C2221;
  font-size: clamp(0.925rem, 1.5vw, 1rem);
}
html.home-page .header .slide-menu__backlink,
.header:not(.hamburger) .header .slide-menu__backlink {
  font-size: clamp(0.925rem, 1.5vw, 1rem);
  text-transform: capitalize;
}

/* ==========================================================================
   State: Non-Home Page Base Logo
   --------------------------------------------------------------------------
   Applies to:
   - html:not(.home-page) .header
   ========================================================================== */
html:not(.home-page) .header .header__logo {
  background: url("https://assets.doctorlogic.com/Images/Sites/S/SD-JohnsonOrtho/MasterPage/1594138.svg") !important;
  background-position: left center !important;
  background-repeat: no-repeat !important;
  background-size: contain !important;
  height: 54px;
  width: 100%;
  transition: all 0.3s ease;
}
@media (min-width: 1241px) {
  html:not(.home-page) .header .header__logo {
    height: 64px !important;
    min-width: 174px;
  }
}
@media (min-width: 1441px) {
  html:not(.home-page) .header .header__logo {
    height: 94px !important;
  }
}

/* ==========================================================================
   State: Scrolled Header (Non-Hamburger) + Non-Home Page Background
   --------------------------------------------------------------------------
   Applies to:
   - .header:not(.hamburger).header--scroll
   - html:not(.home-page)
   ========================================================================== */
.header:not(.hamburger).header--scroll .header,
html:not(.home-page) .header {
  /* Nav font sizing (nested nav structure) */
}
@media (min-width: 768px) {
  .header:not(.hamburger).header--scroll .header,
  html:not(.home-page) .header {
    background: #FFFFFF;
  }
}
.header:not(.hamburger).header--scroll .header__logo,
html:not(.home-page) .header__logo {
  background: url("https://assets.doctorlogic.com/Images/Sites/S/SD-JohnsonOrtho/MasterPage/1594138.svg") !important;
  background-position: left center !important;
  background-repeat: no-repeat !important;
  background-size: contain !important;
  height: 54px;
  width: 100%;
  transition: all 0.3s ease;
}
@media (min-width: 1241px) {
  .header:not(.hamburger).header--scroll .header__logo,
  html:not(.home-page) .header__logo {
    height: 64px !important;
    min-width: 174px;
  }
}
@media (min-width: 1441px) {
  .header:not(.hamburger).header--scroll .header__logo,
  html:not(.home-page) .header__logo {
    height: 94px !important;
  }
}
.header:not(.hamburger).header--scroll .header__cta-container nav .nav__items .nav__item .nav__link,
html:not(.home-page) .header__cta-container nav .nav__items .nav__item .nav__link {
  color: #1C2221;
}
.header:not(.hamburger).header--scroll .header__nav .nav__items .nav__item .nav__link,
html:not(.home-page) .header__nav .nav__items .nav__item .nav__link {
  color: #1C2221 !important;
  font-size: clamp(0.925rem, 1.5vw, 1rem);
}

@media (min-width: 1241px) {
  html.home-page .header.header--scroll .cta__icon .st0 {
    fill: #FFFFFF !important;
  }
}

/* ==========================================================================
   State: Home Page Hamburger Toggle Bar Colors
   ========================================================================== */
html.home-page .header .header__nav-toggle span,
html.home-page .header .header__nav-toggle span::before,
html.home-page .header .header__nav-toggle span::after,
html.home-page .header .header__nav-toggle span::before,
html.home-page .header .header__nav-toggle span::after {
  background: #1C2221;
}
@media (min-width: 768px) {
  html.home-page .header .header__nav-toggle span,
  html.home-page .header .header__nav-toggle span::before,
  html.home-page .header .header__nav-toggle span::after,
  html.home-page .header .header__nav-toggle span::before,
  html.home-page .header .header__nav-toggle span::after {
    background: #FFFFFF;
  }
}

/* ==========================================================================
   Small Desktop Header Overrides (Sub/Tert Menus)
   ========================================================================== */
@media (min-width: 1025px) {
  .nav__items--sub,
  .nav__items--tert,
  .slide-menu ul ul {
    min-width: 224px !important;
    max-width: 224px;
  }
}
@media (min-width: 1441px) {
  .nav__items--sub,
  .nav__items--tert,
  .slide-menu ul ul {
    min-width: 300px !important;
    max-width: unset;
  }
}

@media (min-width: 1025px) {
  .header:not(.hamburger) .header__nav .nav__items--tert {
    justify-content: flex-start !important;
    min-height: 600px;
    max-height: 600px;
    overflow: hidden;
    overflow-y: scroll;
    scrollbar-width: none; /* Hides scrollbar in Firefox */
    -ms-overflow-style: none; /* Hides scrollbar in Internet Explorer/Edge */
  }
}
.header:not(.hamburger) .header__nav .nav__items--tert::after {
  min-height: 40vh !important;
}

.footer {
  padding: 20px 0 0;
  min-height: unset;
}
.footer__container {
  display: grid;
  grid-template-columns: minmax(32px, calc((100vw - 1690px) / 2 + 32px)) 1fr 1fr 1fr 1fr 1fr 1fr 1fr 1fr 1fr 1fr 1fr 1fr 1fr 1fr 1fr 1fr 1fr 1fr 1fr 1fr 1fr 1fr 1fr 1fr minmax(32px, calc((100vw - 1690px) / 2 + 32px));
  grid-row-gap: 24px;
  grid-column-gap: 32px;
  grid-row-gap: 24px;
  padding: 0;
  align-items: start;
  margin: 0 !important;
  max-width: unset !important;
  width: 100%;
}
.footer__logo-container {
  grid-column: auto/span 26;
  order: -1;
}
@media (min-width: 991px) {
  .footer__logo-container {
    order: unset;
    grid-column: 22/span 4;
    grid-row: 1/span 1;
    height: 100%;
  }
}
.footer__logo {
  background-position: center center;
  min-width: 100% !important;
}
@media (min-width: 991px) {
  .footer__logo {
    background-position: left center;
  }
}
.footer__social-container {
  display: none;
}
.footer__nav {
  display: none;
}
.footer__address {
  grid-column: auto/span 26;
  flex-direction: column;
  align-items: center;
  font-size: 1.1rem;
  padding: 0;
}
@media (min-width: 991px) {
  .footer__address {
    grid-column: auto/span 5;
    grid-row: 1/span 1;
    align-items: flex-end;
  }
}
@media (min-width: 991px) {
  .footer__address--1 {
    grid-column: 2/span 5;
  }
}
.footer__address-headline {
  border-bottom: 1px solid #FFFFFF;
  margin-bottom: 8px !important;
  font-size: 1.1rem !important;
  width: auto !important;
}
@media (min-width: 991px) {
  .footer__address-headline {
    width: 100% !important;
  }
}
.footer__address .social-icons {
  display: flex;
  align-items: center;
  gap: 16px;
  width: 100%;
  justify-content: center;
}
@media (min-width: 991px) {
  .footer__address .social-icons {
    justify-content: flex-start;
  }
}
.footer__address .social-icons__icon {
  width: 24px;
  height: auto;
}
.footer__address p {
  text-align: center;
  width: 100%;
  padding: 0;
  line-height: 1.6 !important;
  font-size: 1.1rem !important;
}
@media (min-width: 991px) {
  .footer__address p {
    text-align: left;
  }
}
.footer__address a {
  font-size: 1.4rem;
  text-align: center;
  width: 100%;
  padding-top: 24px;
  color: #369C8E;
}
@media (min-width: 991px) {
  .footer__address a {
    text-align: left;
    font-size: clamp(0.9rem, 1.4vw, 1.4rem);
  }
}
@media (min-width: 1025px) {
  .footer__address a:hover {
    color: #369C8E;
  }
}
.footer__copyright {
  grid-column: auto/span 26;
  background: #369C8E;
  padding: 12px;
}
@media (min-width: 991px) {
  .footer__copyright {
    grid-row: 4/span 1;
  }
}

