/*! !!!DO NOT EDIT THE .CSS FILE. MODIFY THE .SCSS FILES ONLY!!! */ /*! normalize.css v8.0.1 | MIT License | github.com/necolas/normalize.css */
/* Document
   ========================================================================== */
/**
 * 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 {
  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;
}

/* HTML5 Boilerplate v7.2.0 | MIT License | https://html5boilerplate.com/ */
html {
  color: #333;
  font-size: 1em;
  line-height: 1.4;
}

::-moz-selection {
  background: #D1DCF0;
  text-shadow: none;
}

::selection {
  background: #D1DCF0;
  text-shadow: none;
}

hr {
  display: block;
  height: 1px;
  border: 0;
  border-top: 1px solid #ccc;
  margin: 1em 0;
  padding: 0;
}

audio, canvas, iframe, img, svg, video {
  vertical-align: middle;
}

fieldset {
  border: 0;
  margin: 0;
  padding: 0;
}

textarea {
  resize: vertical;
}

/* ==========================================================================
   Insite's custom styles
============================================================================= */
/* ===========================
  		GLOBAL
============================== */
/* GLOBAL VARIABLES */
/* Max Widths */
/* Dynamic Content Width Variables */
/* Colors */
/* Z-Index */
/* GLOBAL MIXINS */
/* Clearfix */
/* Media Queries */
/* Scaling Padding */
/**
 * Computes a CSS calc function that betweens a value from
 * A to B over viewport-width A to viewport-width B.
 * Requires a media query to cap the value at B.
 * https://css-tricks.com/between-the-lines/
*/
/* iOS11+ Safari Safe Padding (for iPhone X) */
/* Fluid Typography */
/* https://css-tricks.com/snippets/css/fluid-typography/ */
/* Dynamic Content Width Mixin */
/* Fonts */
/* */
/* TYPE */
* {
  margin: 0;
  padding: 0;
}

body {
  font-family: Pragmatica, sans-serif;
  font-weight: 400;
  color: #222;
}

p, li, blockquote {
  font-size: 1rem;
  line-height: 1.625;
}

.largeCopy p, .largeCopy li, .largeCopy blockquote {
  font-size: 1.125rem;
  line-height: 1.5555555556;
}
@media screen and (min-width: 64em) {
  .largeCopy p, .largeCopy li, .largeCopy blockquote {
    font-size: 1.25rem;
    line-height: 1.8;
  }
}

.largerCopy p, .largerCopy li, .largerCopy blockquote {
  font-size: 1.25rem;
  line-height: 1.5;
}
@media screen and (min-width: 64em) {
  .largerCopy p, .largerCopy li, .largerCopy blockquote {
    font-size: 1.5rem;
    line-height: 1.5;
  }
}

p, ol, ul {
  margin: 0;
}
p + p, p + ol, p + ul, ol + p, ol + ol, ol + ul, ul + p, ul + ol, ul + ul {
  margin-top: 1em;
}

li p, li li {
  font-size: 1em;
}

ul {
  list-style: disc;
  padding-left: 24px;
}

ol {
  padding-left: 24px;
}

ul, ol {
  overflow: hidden;
}

legend, label, input, select, textarea {
  font-family: Pragmatica, sans-serif;
  font-weight: 400;
  font-size: 1.375rem;
}

textarea {
  width: 98%;
}

a {
  color: #0570B3;
  text-decoration: none;
}
a:hover, a:focus {
  text-decoration: underline;
}

p + h1, ul + h1, ol + h1, p + .header_1, ul + .header_1, ol + .header_1,
p + h2,
ul + h2,
ol + h2, p + .header_2, ul + .header_2, ol + .header_2,
p + h3,
ul + h3,
ol + h3, p + .header_3, ul + .header_3, ol + .header_3,
p + h4,
ul + h4,
ol + h4, p + .header_4, ul + .header_4, ol + .header_4,
p + h5,
ul + h5,
ol + h5, p + .header_5, .CAB #cab-builder-options p + .cab-builder-section-title, ul + .header_5, .CAB #cab-builder-options ul + .cab-builder-section-title, ol + .header_5, .CAB #cab-builder-options ol + .cab-builder-section-title,
p + h6,
ul + h6,
ol + h6, p + .header_6, ul + .header_6, ol + .header_6 {
  margin-top: 0.75em;
}
h1 + p, h1 + ol, h1 + ul, .header_1 + p, .header_1 + ol, .header_1 + ul,
h2 + p,
h2 + ol,
h2 + ul, .header_2 + p, .header_2 + ol, .header_2 + ul,
h3 + p,
h3 + ol,
h3 + ul, .header_3 + p, .header_3 + ol, .header_3 + ul,
h4 + p,
h4 + ol,
h4 + ul, .header_4 + p, .header_4 + ol, .header_4 + ul,
h5 + p,
h5 + ol,
h5 + ul, .header_5 + p, .CAB #cab-builder-options .cab-builder-section-title + p, .header_5 + ol, .CAB #cab-builder-options .cab-builder-section-title + ol, .header_5 + ul, .CAB #cab-builder-options .cab-builder-section-title + ul,
h6 + p,
h6 + ol,
h6 + ul, .header_6 + p, .header_6 + ol, .header_6 + ul {
  margin-top: 0.5em;
}

/* Font Size Clamping uses: https://min-max-calculator.9elements.com/ */
h1, .header_1 {
  font-family: Pragmatica, sans-serif;
  font-weight: 300;
  font-size: clamp(2.125rem, 1.527rem + 2.45vw, 3.75rem);
  line-height: 1.2;
} /* 34/60 - 390/1450 */
h2, .header_2 {
  font-family: Pragmatica, sans-serif;
  font-weight: 300;
  font-size: clamp(2.25rem, 2.066rem + 0.75vw, 2.75rem);
  line-height: 1.1666666667;
} /* 36/44 - 390/1250 */
h3, .header_3 {
  font-family: Pragmatica, sans-serif;
  font-weight: 700;
  font-size: clamp(1.5rem, 1.362rem + 0.57vw, 1.875rem);
  line-height: 1.0833333333;
} /* 24/30 - 390/1250 */
h4, .header_4 {
  font-family: Pragmatica, sans-serif;
  font-weight: 700;
  font-size: clamp(1.25rem, 1.08rem + 0.7vw, 1.625rem);
  line-height: 1.2;
} /* 20/26 - 390/1250 */
h5, .header_5, .CAB #cab-builder-options .cab-builder-section-title {
  font-family: Pragmatica, sans-serif;
  font-weight: 700;
  font-size: 1.25rem;
  line-height: 1.2;
}

/*
h4, .header_4 {font-size:calc(24/16)+rem; line-height:calc(28/24);}
h5, .header_5 {font-size:calc(19/16)+rem; line-height:calc(30/19);}
h6, .header_6 {font-size:calc(10/16)+rem; line-height:calc(18/10);} */
/* BUTTONS */
.btn {
  display: inline-block;
  font-size: 1.25rem;
  line-height: 1.4;
  text-decoration: none;
  padding: 16px 40px;
  border-radius: 10px;
  transition: all 0.08s ease-in;
  border: 2px solid;
  text-align: center;
  font-family: Pragmatica, sans-serif;
  font-weight: 700;
}
.btn:hover, .btn:focus {
  text-decoration: none;
}
.btn.btn--white {
  background: #fff;
  color: #0570B3;
  border-color: #fff;
}
.btn.btn--white:hover, .btn.btn--white:focus {
  background: #0570B3;
  color: #fff;
  border-color: #0570B3;
}
.btn.btn--blue {
  background: #0570B3;
  color: #fff;
  border-color: #0570B3;
}
.btn.btn--blue:hover, .btn.btn--blue:focus {
  background: #024671;
  color: #fff;
  border-color: #024671;
}
.btn.btn--outlined {
  background: #fff;
  color: #0570B3;
  border: 2px solid #0570B3;
}
.btn.btn--outlined:hover, .btn.btn--outlined:focus {
  background: #E5F3FF;
  color: #024671;
  border-color: #024671;
}
@media screen and (max-width: 37.4375em) {
  .btn {
    width: 100%;
    box-sizing: border-box;
  }
}

.buttonGroup {
  display: flex;
  justify-content: center;
  align-items: center;
  flex-wrap: wrap;
}
.buttonGroup .btn {
  flex: 0 1 auto;
  margin: 0 10px 10px;
}

.text_btn {
  display: inline-flex;
  justify-content: center;
  align-items: center;
  font-family: Pragmatica, sans-serif;
  font-weight: 700;
  padding: 16px 40px;
}
.text_btn svg {
  margin-inline: 6px;
}

button {
  cursor: pointer;
}

.rounded_link {
  display: inline-flex;
  justify-content: space-between;
  align-items: center;
  border: 1px solid #C6C6C6;
  background: #fff;
  border-radius: 18px;
  padding: 4px 20px;
}
.rounded_link svg {
  margin-right: 6px;
  margin-left: -6px;
}

/*  */
html {
  scroll-behavior: smooth;
}

@media screen and (prefers-reduced-motion: reduce) {
  html {
    scroll-behavior: auto;
  }
}
body {
  position: relative;
  overflow-x: hidden;
  background: #021F2E;
}
body.locked {
  overflow: hidden;
  position: fixed;
  width: 100%;
  height: 100%;
}

/* Prevent overflow from GSAP animations */
.photo_arrow, .copy_and_media, .quote_block {
  overflow: hidden;
}

#container {
  max-width: 1920px;
  margin-inline: auto;
  background-color: #fff;
}

@media (min-width: 1920px) {
  #container {
    max-width: 2100px;
  }
}
@media (min-width: 2560px) {
  #container {
    max-width: 2300px;
  }
}
/* ===========================
  		GENERAL
============================== */
.preventDL {
  position: relative;
  display: block;
}
.preventDL::before, .preventDL::after {
  content: "";
  position: absolute;
  left: 0;
  top: 0;
  right: 0;
  bottom: 0;
}

#main {
  position: relative;
  z-index: 1;
  background: #fff;
  padding-top: 1px;
}

.video {
  aspect-ratio: 16/9;
  position: relative;
}
.video iframe {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

form {
  margin: 2em 0;
}
form fieldset + label, form fieldset + fieldset, form fieldset + .spanLabels, form label + label, form label + fieldset, form label + .spanLabels, form .spanLabels + label, form .spanLabels + fieldset, form .spanLabels + .spanLabels {
  margin-top: 1.5em;
}
form fieldset > label + label {
  margin-top: 0.75em;
}
form legend {
  font-size: 1.25rem;
  line-height: 1.2;
  margin-bottom: 0.5em;
}
form label {
  display: block;
  font-size: 1rem;
  line-height: 1.125;
}
form label.radio {
  display: flex;
  justify-content: flex-start;
  align-items: flex-start;
}
form label.radio .lbl {
  display: block;
  margin: -2px 0 0 10px;
}
@media screen and (min-width: 48em) {
  form label.state {
    flex: 0 1 120px;
  }
}
form input:not([type=checkbox]):not([type=radio]):not([type=submit]):not([type=color]):not([type=range]), form textarea, form select {
  width: calc(100% - 44px);
  padding: 15px 20px;
  font-size: 1rem;
  line-height: 1;
  border: 2px solid #222;
  border-radius: 10px;
}
form input:not([type=checkbox]):not([type=radio]):not([type=submit]):not([type=color]):not([type=range])::-webkit-input-placeholder, form textarea::-webkit-input-placeholder, form select::-webkit-input-placeholder {
  color: #222;
  opacity: 1;
}
form input:not([type=checkbox]):not([type=radio]):not([type=submit]):not([type=color]):not([type=range])::-moz-placeholder, form textarea::-moz-placeholder, form select::-moz-placeholder {
  color: #222;
  opacity: 1;
}
form input:not([type=checkbox]):not([type=radio]):not([type=submit]):not([type=color]):not([type=range]):-ms-input-placeholder, form textarea:-ms-input-placeholder, form select:-ms-input-placeholder {
  color: #222;
  opacity: 1;
}
form input:not([type=checkbox]):not([type=radio]):not([type=submit]):not([type=color]):not([type=range]):-moz-placeholder, form textarea:-moz-placeholder, form select:-moz-placeholder {
  color: #222;
  opacity: 1;
}
form select {
  background: #fff;
  width: 100%;
  -moz-appearance: none;
  -webkit-appearance: none;
  appearance: none;
  padding: 18px 20px;
  background-position: right top;
  background-repeat: no-repeat;
  background-size: contain;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='60' height='60' viewBox='0 0 60 60'%3E%3Crect width='60' height='60' fill='%23444'/%3E%3Cpath d='M9,13.5l10,10,10-10Z' transform='translate(11 11.5)' fill='%23fff'/%3E%3C/svg%3E%0A");
}
form input[type=checkbox] {
  width: 20px;
  height: 20px;
  margin-right: 10px;
}
form input[type=checkbox] + .lbl {
  font-size: 1.25rem;
  line-height: 1.2;
}
form input[type=submit] {
  cursor: pointer;
}
form .captcha_container {
  margin: 2em 0 1em;
  display: flex;
  flex-wrap: wrap;
  align-items: center;
}
form .captcha_container .captcha {
  margin-right: 20px;
}
form .captcha_container .captcha, form .captcha_container .copy {
  margin-bottom: 1em;
}
@media screen and (min-width: 64em) {
  form .captcha_container .captcha, form .captcha_container .copy {
    flex: 1 1 48%;
  }
}
form .btn {
  margin-top: 2em;
}
@media screen and (min-width: 48em) {
  form .spanOne label {
    max-width: 40%;
  }
}
@media screen and (min-width: 48em) {
  form .spanTwo {
    display: flex;
    justify-content: space-between;
    gap: 3%;
    margin: 1em 0;
  }
  form .spanTwo label {
    flex: 1 1 auto;
  }
  form .spanTwo label + label {
    margin-top: 0;
  }
}
@media screen and (min-width: 48em) {
  form .spanThree {
    display: flex;
    justify-content: space-between;
    gap: 3%;
    margin: 1em 0;
  }
  form .spanThree label {
    flex: 1 1 auto;
  }
  form .spanThree label + label {
    margin-top: 0;
  }
  form .spanThree label.state {
    flex: 1 0 130px;
  }
}

.form_confirmation {
  text-align: center;
}
.form_confirmation .headline {
  max-width: 920px;
  margin-inline: auto;
  margin-bottom: 0.75em;
}
.form_confirmation .connect {
  margin: 2em 0 0;
}
.form_confirmation .connect svg {
  display: block;
  margin: 0 auto 10px;
}

.hero {
  position: relative;
  margin-top: -1px;
  /* &:not(.isSlideshow):not(.leftAlign) {
      .headline {
          @include mq(1024) {
              em {display:block;}
          }
      }
  } */
}
.hero .content_container {
  position: relative;
  padding: 0 5%;
  pointer-events: none;
}
@media screen and (min-width: 48em) {
  .hero .content_container {
    width: min(90%, 1600px);
    aspect-ratio: 1920/600;
    padding: 5em 0 4em;
    margin: 0 auto;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
  }
}
.hero .media {
  background: #e3e3e3;
}
@media screen and (max-width: 47.9375em) {
  .hero .media img {
    width: 100%;
    height: auto;
  }
}
@media screen and (min-width: 48em) {
  .hero .media {
    position: absolute;
    z-index: 0;
    left: 0;
    top: 0;
    right: 0;
    bottom: 0;
  }
  .hero .media img {
    width: 100%;
    height: 100%;
    object-fit: cover;
  }
}
.hero .headline, .hero .copy, .hero .buttons, .hero .scroll, .hero .arrow {
  position: relative;
  z-index: 1;
  pointer-events: all;
}
.hero .headline {
  text-align: center;
  margin: 20px 0 10px;
}
.hero .headline em {
  font-style: normal;
  text-transform: uppercase;
  font-family: Pragmatica, sans-serif;
  font-weight: 700;
}
@media screen and (min-width: 48em) {
  .hero .headline {
    text-shadow: 2px 2px 5px black;
    color: #fff;
  }
}
.hero .copy {
  width: min(90%, 1020px);
  margin: 10px 0 20px;
  text-align: center;
}
.hero .copy p, .hero .copy li {
  font-size: clamp(1.25rem, 1.136rem + 0.57vw, 1.5rem);
  line-height: 1.5;
}
@media screen and (min-width: 48em) {
  .hero .copy p, .hero .copy li {
    text-shadow: 2px 2px 5px black;
    color: #fff;
  }
}
.hero .buttons {
  text-align: center;
  margin: 20px 0 40px;
}
@media screen and (min-width: 48em) {
  .hero .buttons .btn.btn--blue {
    background: #fff;
    color: #0570B3;
    border-color: #fff;
  }
  .hero .buttons .btn.btn--blue:hover, .hero .buttons .btn.btn--blue:focus {
    background: #0570B3;
    color: #fff;
    border-color: #0570B3;
  }
}
.hero .scroll, .hero .arrow {
  display: none;
}
@media screen and (min-width: 48em) {
  .hero.leftAlign .content_container {
    align-items: flex-start;
  }
  .hero.leftAlign .headline, .hero.leftAlign .copy {
    text-align: left;
    max-width: 918px;
  }
}
@media screen and (min-width: 75em) {
  .hero.leftAlign .headline, .hero.leftAlign .copy {
    width: 55%;
  }
  .hero.leftAlign .arrow {
    position: absolute;
    top: 56%;
    right: 0;
    display: block;
    width: 36.5%;
    max-width: 520px;
    height: auto;
    transform: translateY(-50%) rotate(180deg);
    aspect-ratio: 29/20;
  }
  .hero.leftAlign .arrow svg {
    width: 100%;
    height: auto;
  }
}
@media screen and (min-width: 48em) {
  .hero.isSlideshow {
    min-height: calc(95vh - 24.25rem);
  }
}
@media screen and (min-width: 48em) {
  .hero.isSlideshow .content_container {
    min-height: calc(95vh - 24.25rem);
    aspect-ratio: auto;
  }
}
@media screen and (min-width: 48em) {
  .hero.isSlideshow .scroll {
    display: block;
    position: absolute;
    left: 50%;
    bottom: 20px;
    transform: translateX(-50%);
  }
}
.hero.isSlideshow .media {
  background: #053249;
}
@media screen and (min-width: 48em) {
  .hero.isSlideshow .media {
    min-height: calc(95vh - 24.25rem);
  }
  .hero.isSlideshow .media, .hero.isSlideshow .media .splideFader {
    position: absolute;
    z-index: 0;
    left: 0;
    top: 0;
    right: 0;
    bottom: 0;
  }
  .hero.isSlideshow .media .splide__track, .hero.isSlideshow .media .splide__slide {
    display: block;
    object-fit: cover;
    width: 100%;
    height: 100%;
  }
  .hero.isSlideshow .media .splide__slide:not(:nth-child(1)) {
    display: none;
  }
  .hero.isSlideshow .media .splideFader.is-initialized .splide__slide:not(:nth-child(1)) {
    display: block;
  }
}
.hero.isSlideshow .splide__toggle {
  position: absolute;
  z-index: 2;
  bottom: 20px;
  right: 5%;
  background: rgba(0, 0, 0, 0.7);
  border-radius: 50px;
  border: 0;
  padding: 9px 13px;
  color: #fff;
  cursor: pointer;
}
.hero.isSlideshow .splide__toggle span {
  display: none;
}
.hero.isSlideshow .splide__toggle span.splide__toggle__play {
  display: flex;
  align-items: center;
}
.hero.isSlideshow .splide__toggle.is-active span.splide__toggle__play {
  display: none;
}
.hero.isSlideshow .splide__toggle.is-active span.splide__toggle__pause {
  display: flex;
  align-items: center;
}

.hero.isSlideshow {
  position: relative;
  overflow: visible;
  min-height: 500px;
  padding-bottom: 4rem;
}
.hero.isSlideshow .hero__image-container {
  position: absolute;
  top: 0;
  left: 0;
  width: 60%;
  height: 100%;
  min-height: inherit;
  z-index: 1;
}
@media screen and (max-width: 47.9375em) {
  .hero.isSlideshow .hero__image-container {
    position: relative;
    width: 100%;
    height: 400px;
    min-height: 400px;
  }
}
.hero.isSlideshow .hero__image-container .slider {
  position: relative;
  width: 100%;
  height: 100%;
  min-height: inherit;
  overflow: visible;
}
.hero.isSlideshow .hero__image-container .slider .splide__track,
.hero.isSlideshow .hero__image-container .slider .splide__list,
.hero.isSlideshow .hero__image-container .slider .splide__slide {
  width: 100%;
  height: 100%;
  min-height: inherit;
}
.hero.isSlideshow .hero__image-container .slider .splide__slide {
  overflow: hidden;
}
.hero.isSlideshow .hero__image-container .slider .splide__slide picture {
  display: block;
  width: 100%;
  height: 100%;
  overflow: hidden;
}
.hero.isSlideshow .hero__image-container .slider .splide__slide img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.hero.isSlideshow .hero__image-container .splide__controls {
  position: absolute;
  bottom: 2rem;
  left: 2rem;
  z-index: 4;
}
.hero.isSlideshow .hero__image-container .splide__controls .splide__toggle {
  position: static;
  background: rgba(255, 255, 255, 0.6);
  border: none;
  border-radius: 50%;
  width: 50px;
  height: 50px;
  color: #053249;
  cursor: pointer;
  transition: all 0.3s ease;
  display: flex;
  align-items: center;
  justify-content: center;
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.15);
}
.hero.isSlideshow .hero__image-container .splide__controls .splide__toggle:hover {
  background: rgb(255, 255, 255);
  transform: scale(1.05);
  box-shadow: 0 6px 16px rgba(0, 0, 0, 0.2);
}
.hero.isSlideshow .hero__image-container .splide__controls .splide__toggle .splide__toggle__play,
.hero.isSlideshow .hero__image-container .splide__controls .splide__toggle .splide__toggle__pause {
  display: flex;
  align-items: center;
  justify-content: center;
}
.hero.isSlideshow .hero__image-container .splide__controls .splide__toggle .splide__toggle__play svg,
.hero.isSlideshow .hero__image-container .splide__controls .splide__toggle .splide__toggle__pause svg {
  width: 20px;
  height: 20px;
}
.hero.isSlideshow .hero__image-container .splide__controls .splide__toggle .splide__toggle__play .sr-only,
.hero.isSlideshow .hero__image-container .splide__controls .splide__toggle .splide__toggle__pause .sr-only {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  white-space: nowrap;
  border: 0;
}
.hero.isSlideshow .hero__image-container .splide__controls .splide__toggle .splide__toggle__play {
  display: flex;
}
.hero.isSlideshow .hero__image-container .splide__controls .splide__toggle .splide__toggle__pause {
  display: none;
}
.hero.isSlideshow .hero__image-container .splide__controls .splide__toggle.is-active .splide__toggle__play {
  display: none;
}
.hero.isSlideshow .hero__image-container .splide__controls .splide__toggle.is-active .splide__toggle__pause {
  display: flex;
}
@media screen and (max-width: 47.9375em) {
  .hero.isSlideshow .hero__image-container .splide__controls {
    bottom: 1rem;
    left: 1rem;
  }
  .hero.isSlideshow .hero__image-container .splide__controls .splide__toggle {
    width: 45px;
    height: 45px;
    background: rgba(255, 255, 255, 0.9);
  }
  .hero.isSlideshow .hero__image-container .splide__controls .splide__toggle svg {
    width: 18px;
    height: 18px;
  }
}
.hero.isSlideshow .splide__pagination {
  position: absolute;
  bottom: -2rem;
  left: 2rem;
  z-index: 4;
  display: flex;
  gap: 0.5rem;
  list-style: none;
  margin: 0;
  padding: 0;
}
.hero.isSlideshow .splide__pagination .splide__pagination__page {
  width: 12px;
  height: 12px;
  background: rgba(108, 117, 125, 0.6);
  border: 2px solid rgba(255, 255, 255, 0.8);
  border-radius: 50%;
  cursor: pointer;
  transition: all 0.3s ease;
  opacity: 1;
}
.hero.isSlideshow .splide__pagination .splide__pagination__page:hover {
  background: rgba(108, 117, 125, 0.8);
  transform: scale(1.1);
  border-color: rgb(255, 255, 255);
}
.hero.isSlideshow .splide__pagination .splide__pagination__page.is-active {
  background: #0570B3;
  transform: scale(1.2);
  border-color: rgb(255, 255, 255);
}
@media screen and (max-width: 47.9375em) {
  .hero.isSlideshow .splide__pagination {
    position: relative;
    bottom: auto;
    left: auto;
    justify-content: center;
    padding: 1rem 0 0 0;
    gap: 0.5rem;
    margin-top: -40px;
    z-index: 4;
  }
  .hero.isSlideshow .splide__pagination .splide__pagination__page {
    width: 12px;
    height: 12px;
    background: rgba(108, 117, 125, 0.7);
    border: 1px solid rgba(255, 255, 255, 0.9);
  }
}
.hero.isSlideshow .hero__content-overlay {
  position: absolute;
  top: 0;
  left: 50%;
  right: 0;
  height: 100%;
  display: flex;
  align-items: center;
  justify-content: center;
  z-index: 2;
}
.hero.isSlideshow .hero__content-panel {
  background: rgba(255, 255, 255, 0.6);
  backdrop-filter: blur(5px);
  border-radius: 5px;
  box-shadow: 0 15px 35px rgba(0, 0, 0, 0.1);
  width: 100%;
}
@media screen and (min-width: 48em) {
  .hero.isSlideshow .hero__content-panel {
    padding: 2.5em 1em 1em 2.5em;
  }
}
@media screen and (max-width: 47.9375em) {
  .hero.isSlideshow .hero__content-panel {
    background: transparent;
    backdrop-filter: none;
    border-radius: 0;
    padding: 0;
    box-shadow: none;
  }
}
.hero.isSlideshow .hero__headline {
  font-size: clamp(2rem, 4vw, 3.5rem);
  line-height: 1.1;
  margin: 0 0 1.5rem 0;
  color: #222;
  font-family: Pragmatica, sans-serif;
  font-weight: 700;
}
.hero.isSlideshow .hero__headline .hero__headline--accent {
  display: block;
  font-style: normal;
  font-family: Pragmatica, sans-serif;
  font-weight: 700;
  color: #222;
  margin-top: 0.5rem;
}
.hero.isSlideshow .hero__copy {
  font-size: clamp(1.125rem, 2vw, 1.375rem);
  line-height: 1.6;
  color: #666;
  margin-bottom: 2.5rem;
}
.hero.isSlideshow .hero__copy p {
  margin: 0;
  font-size: inherit;
  line-height: inherit;
  color: #222;
}
.hero.isSlideshow .hero__cta {
  margin-bottom: 1rem;
}
.hero.isSlideshow .hero__cta .btn.btn--primary {
  background: #0570B3;
  color: white;
  border: 2px solid #0570B3;
  padding: 18px 36px;
  font-size: 1.125rem;
  font-weight: 700;
  border-radius: 5px;
  transition: all 0.3s ease;
  display: inline-block;
  text-decoration: none;
}
.hero.isSlideshow .hero__cta .btn.btn--primary:hover, .hero.isSlideshow .hero__cta .btn.btn--primary:focus {
  background: #045181;
  border-color: #045181;
  transform: translateY(-2px);
  box-shadow: 0 8px 20px rgba(5, 112, 179, 0.3);
  text-decoration: none;
}
.hero.isSlideshow .hero__scroll-indicator {
  position: absolute;
  bottom: 2rem;
  left: 50%;
  transform: translateX(-50%);
  z-index: 3;
}
.hero.isSlideshow .hero__scroll-indicator a {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 50px;
  height: 50px;
  background: rgba(255, 255, 255, 0.9);
  border: none;
  border-radius: 50%;
  color: #053249;
  text-decoration: none;
  transition: all 0.3s ease;
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.15);
}
.hero.isSlideshow .hero__scroll-indicator a:hover {
  background: rgb(255, 255, 255);
  transform: translateX(-50%) translateY(3px);
  box-shadow: 0 6px 16px rgba(0, 0, 0, 0.2);
}
.hero.isSlideshow .hero__scroll-indicator a svg {
  width: 24px;
  height: 24px;
  fill: currentColor;
}
@media screen and (max-width: 47.9375em) {
  .hero.isSlideshow {
    padding-bottom: 2rem;
  }
  .hero.isSlideshow .hero__content-overlay {
    position: relative;
    top: auto;
    left: auto;
    right: auto;
    height: auto;
    margin-top: -60px;
    padding: 1.5rem;
    background: #ffffff;
    box-shadow: 0 -10px 30px rgba(0, 0, 0, 0.1);
    z-index: 3;
  }
  .hero.isSlideshow .hero__headline {
    text-align: center;
    font-size: clamp(1.75rem, 5vw, 2.5rem);
    margin-bottom: 1rem;
  }
  .hero.isSlideshow .hero__copy {
    text-align: center;
    max-width: none;
    font-size: 1rem;
    line-height: 1.5;
    margin-bottom: 1.5rem;
  }
  .hero.isSlideshow .hero__cta {
    text-align: center;
    margin-bottom: 0;
  }
  .hero.isSlideshow .hero__scroll-indicator {
    display: none;
  }
}

.hero.isBackground {
  position: relative;
  overflow: visible;
  min-height: 500px;
  padding-bottom: 4rem;
}
.hero.isBackground .hero__image-container {
  position: absolute;
  top: 0;
  left: 0;
  width: 60%;
  height: 100%;
  min-height: inherit;
  z-index: 1;
}
@media screen and (max-width: 47.9375em) {
  .hero.isBackground .hero__image-container {
    position: relative;
    width: 100%;
    height: 400px;
    min-height: 400px;
  }
}
.hero.isBackground .hero__image-container .slider {
  position: relative;
  width: 100%;
  height: 100%;
  min-height: inherit;
  overflow: visible;
}
.hero.isBackground .hero__image-container .slider .splide__track,
.hero.isBackground .hero__image-container .slider .splide__list,
.hero.isBackground .hero__image-container .slider .splide__slide {
  width: 100%;
  height: 100%;
  min-height: inherit;
}
.hero.isBackground .hero__image-container .slider .splide__slide {
  overflow: hidden;
}
.hero.isBackground .hero__image-container .slider .splide__slide picture {
  display: block;
  width: 100%;
  height: 100%;
  overflow: hidden;
}
.hero.isBackground .hero__image-container .slider .splide__slide img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.hero.isBackground .hero__content-overlay {
  position: absolute;
  top: 0;
  left: 50%;
  right: 0;
  height: 100%;
  display: flex;
  align-items: center;
  justify-content: center;
  z-index: 2;
}
.hero.isBackground .hero__content-panel {
  background: rgba(255, 255, 255, 0.6);
  backdrop-filter: blur(5px);
  border-radius: 5px;
  box-shadow: 0 15px 35px rgba(0, 0, 0, 0.1);
  width: 100%;
}
@media screen and (min-width: 48em) {
  .hero.isBackground .hero__content-panel {
    padding: 2.5em 1em 1em 2.5em;
  }
}
@media screen and (max-width: 47.9375em) {
  .hero.isBackground .hero__content-panel {
    background: transparent;
    backdrop-filter: none;
    border-radius: 0;
    padding: 0;
    box-shadow: none;
  }
}
.hero.isBackground .hero__headline {
  font-size: clamp(2rem, 4vw, 3.5rem);
  line-height: 1.1;
  margin: 0 0 1.5rem 0;
  color: #222;
  font-family: Pragmatica, sans-serif;
  font-weight: 700;
}
.hero.isBackground .hero__headline .hero__headline--accent {
  display: block;
  font-style: normal;
  font-family: Pragmatica, sans-serif;
  font-weight: 700;
  color: #222;
  margin-top: 0.5rem;
}
.hero.isBackground .hero__copy {
  font-size: clamp(1.125rem, 2vw, 1.375rem);
  line-height: 1.6;
  color: #666;
  margin-bottom: 2.5rem;
}
.hero.isBackground .hero__copy p {
  margin: 0;
  font-size: inherit;
  line-height: inherit;
  color: #222;
}
.hero.isBackground .hero__cta {
  margin-bottom: 1rem;
}
.hero.isBackground .hero__cta .btn.btn--primary {
  background: #0570B3;
  color: white;
  border: 2px solid #0570B3;
  padding: 18px 36px;
  font-size: 1.125rem;
  font-weight: 700;
  border-radius: 5px;
  transition: all 0.3s ease;
  display: inline-block;
  text-decoration: none;
}
.hero.isBackground .hero__cta .btn.btn--primary:hover, .hero.isBackground .hero__cta .btn.btn--primary:focus {
  background: #045181;
  border-color: #045181;
  transform: translateY(-2px);
  box-shadow: 0 8px 20px rgba(5, 112, 179, 0.3);
  text-decoration: none;
}
@media screen and (max-width: 47.9375em) {
  .hero.isBackground {
    padding-bottom: 2rem;
  }
  .hero.isBackground .hero__content-overlay {
    position: relative;
    top: auto;
    left: auto;
    right: auto;
    height: auto;
    margin-top: -60px;
    padding: 1.5rem;
    background: #ffffff;
    box-shadow: 0 -10px 30px rgba(0, 0, 0, 0.1);
    z-index: 3;
  }
  .hero.isBackground .hero__headline {
    text-align: center;
    font-size: clamp(1.75rem, 5vw, 2.5rem);
    margin-bottom: 1rem;
  }
  .hero.isBackground .hero__copy {
    text-align: center;
    max-width: none;
    font-size: 1rem;
    line-height: 1.5;
    margin-bottom: 1.5rem;
  }
  .hero.isBackground .hero__cta {
    text-align: center;
    margin-bottom: 0;
  }
}

.hero_and_photo .content_container {
  width: 90%;
  margin: 0 auto;
}
.hero_and_photo .photo {
  position: relative;
  z-index: 0;
  margin: 0 -5.5555567%;
}
.hero_and_photo .photo img {
  width: 100%;
  height: auto;
}
.hero_and_photo .headline {
  position: relative;
  z-index: 1;
  width: min(90%, 1600px);
  background: #fff;
  border: 2px solid #222;
  padding: calc(7.5px + 2.65625vw);
  margin: -25px auto 0.75em;
  text-align: center;
}
@media screen and (min-width: 100em) {
  .hero_and_photo .headline {
    padding: 50px;
  }
}
.hero_and_photo .headline em {
  font-style: normal;
  text-transform: uppercase;
  font-family: Pragmatica, sans-serif;
  font-weight: 700;
}
.hero_and_photo .headline .small {
  display: block;
  font-size: 1.25rem;
  line-height: 1.8;
}
.hero_and_photo .buttons {
  margin-top: 2em;
}
@media screen and (max-width: 63.9375em) {
  .hero_and_photo .buttons {
    text-align: center;
  }
}
@media screen and (min-width: 64em) {
  .hero_and_photo .content_container {
    width: 100%;
    display: flex;
    justify-content: flex-start;
    align-items: stretch;
  }
  .hero_and_photo .photo {
    flex: 0 1 50%;
    margin: 0 3.64% 0 0;
  }
  .hero_and_photo .photo img {
    height: 100%;
    object-fit: cover;
  }
  .hero_and_photo .copy_container {
    flex: 0 1 43.36%;
    max-width: 671px;
    margin-bottom: 2em;
  }
  .hero_and_photo .headline {
    margin: 0.5em 0 0.5em 0;
    width: 220%;
    max-width: 1600px;
    transform: translateX(-53.8%);
    box-sizing: border-box;
  }
}
@media screen and (min-width: 111.25em) {
  .hero_and_photo .headline {
    width: 239%;
    transform: translateX(-873px);
  }
}

.pagetitle .content_container {
  width: min(90%, 1600px);
  margin: 1em auto;
  border: 2px solid #222;
}
.pagetitle h1.headline {
  padding: calc(7.5px + 2.65625vw);
  margin: 0;
  text-align: center;
}
@media screen and (min-width: 100em) {
  .pagetitle h1.headline {
    padding: 50px;
  }
}
.pagetitle h1.headline em {
  font-style: normal;
  text-transform: uppercase;
  font-family: Pragmatica, sans-serif;
  font-weight: 700;
}
.pagetitle h1.headline .small {
  display: block;
  font-size: 1.25rem;
  line-height: 1.8;
}

.copy_bgPhoto {
  position: relative;
}
@media screen and (min-width: 48em) {
  .copy_bgPhoto .content_container {
    aspect-ratio: 1920/800;
    padding: 3em 5%;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
  }
}
.copy_bgPhoto:not(.numbersVersion) .photo {
  background: #e3e3e3;
}
@media screen and (max-width: 47.9375em) {
  .copy_bgPhoto:not(.numbersVersion) .photo img {
    width: 100%;
    height: auto;
  }
}
@media screen and (min-width: 48em) {
  .copy_bgPhoto:not(.numbersVersion) .photo {
    position: absolute;
    z-index: 0;
    left: 0;
    top: 0;
    right: 0;
    bottom: 0;
  }
  .copy_bgPhoto:not(.numbersVersion) .photo img {
    width: 100%;
    height: 100%;
    object-fit: cover;
  }
}
.copy_bgPhoto .headline, .copy_bgPhoto .copy, .copy_bgPhoto .buttons {
  position: relative;
  z-index: 1;
}
.copy_bgPhoto .headline {
  width: min(90%, 1020px);
  margin: 0.556em auto 0.278em;
  text-align: center;
}
@media screen and (min-width: 48em) {
  .copy_bgPhoto .headline {
    color: #fff;
    text-shadow: 2px 2px 5px black;
  }
}
@media screen and (min-width: 64em) {
  .copy_bgPhoto .headline {
    font-size: clamp(2.7rem, 2.05rem + 2.65vw, 3.75rem);
  }
}
.copy_bgPhoto .headline em {
  font-style: normal;
  text-transform: uppercase;
  font-family: Pragmatica, sans-serif;
  font-weight: 700;
}
.copy_bgPhoto .copy {
  width: min(90%, 1020px);
  margin: 0.625em auto 1.25em;
  line-height: 1.6;
  --copy-mobile: clamp(1.25rem, calc(1.10rem + 0.63vw), 1.50rem);
}
.copy_bgPhoto .copy p, .copy_bgPhoto .copy li {
  font-size: var(--copy-mobile);
}
@media screen and (min-width: 48em) {
  .copy_bgPhoto .copy p, .copy_bgPhoto .copy li {
    text-align: center;
    color: #fff;
    text-shadow: 2px 2px 5px black;
  }
}
@media screen and (min-width: 64em) {
  .copy_bgPhoto .copy p, .copy_bgPhoto .copy li {
    font-size: 1.5rem;
    line-height: 1.4166666667;
  }
}
.copy_bgPhoto .buttons {
  width: min(90%, 1020px);
  margin: 1.25em auto 2.5em;
  text-align: center;
}
@media screen and (min-width: 48em) {
  .copy_bgPhoto .buttons .btn.btn--blue {
    background: #fff;
    color: #0570B3;
    border-color: #fff;
  }
  .copy_bgPhoto .buttons .btn.btn--blue:hover, .copy_bgPhoto .buttons .btn.btn--blue:focus {
    background: #0570B3;
    color: #fff;
    border-color: #0570B3;
  }
}
.copy_bgPhoto.numbersVersion .content_container {
  padding: 3em 5%;
}
.copy_bgPhoto.numbersVersion .photo {
  background: #444444;
  position: absolute;
  z-index: 0;
  left: 0;
  top: 0;
  right: 0;
  bottom: 0;
}
.copy_bgPhoto.numbersVersion .photo img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.copy_bgPhoto.numbersVersion .headline {
  font-size: 1.75rem;
  line-height: 1.4285714286;
  color: #fff;
}
@media screen and (min-width: 64em) {
  .copy_bgPhoto.numbersVersion .headline {
    font-size: 2.75rem;
    line-height: 1.3636363636;
  }
}
.copy_bgPhoto.numbersVersion .copy {
  width: min(90%, 1600px);
  text-align: center;
  color: #fff;
  /* 50/70 - 390/1400 */
  /* 18/24 - 390/1400 */
}
.copy_bgPhoto.numbersVersion .copy p {
  margin-top: 2em;
}
.copy_bgPhoto.numbersVersion .copy .num {
  display: block;
  font-size: clamp(3.125rem, 2.642rem + 1.98vw, 4.375rem);
  line-height: 1.2;
}
.copy_bgPhoto.numbersVersion .copy .smallTxt {
  font-size: clamp(1.125rem, 0.98rem + 0.59vw, 1.5rem);
  line-height: 1.25;
}
@media screen and (min-width: 48em) {
  .copy_bgPhoto.numbersVersion .copy {
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 6%;
  }
  .copy_bgPhoto.numbersVersion .copy p {
    flex: 0 1 33.3333%;
  }
}
.copy_bgPhoto.numbersVersion .buttons {
  margin-top: 4em;
}

/* .js .copy_bgPhoto {
    .headline, .copy, .buttons {opacity:0;}
} */
.ctas .content_container {
  width: min(90%, 90vw);
  margin: 2.5rem auto;
}
@media screen and (min-width: 48em) {
  .ctas .content_container {
    width: min(90%, 1200px);
  }
}
@media screen and (min-width: 64em) {
  .ctas .content_container {
    width: min(90%, 1400px);
  }
}
@media screen and (min-width: 90em) {
  .ctas .content_container {
    width: min(90%, 1600px);
  }
}
@media screen and (min-width: 120em) {
  .ctas .content_container {
    width: min(90%, 1800px);
  }
}
@media screen and (min-width: 160em) {
  .ctas .content_container {
    width: min(90%, 2000px);
  }
}
@media screen and (min-width: 64em) {
  .ctas .content_container {
    margin: 5.625rem auto;
  }
}
.ctas .headline {
  text-align: center;
}
.ctas .intro_copy {
  text-align: center;
  margin: 1.25rem auto;
  max-width: 100ch;
}
@media screen and (min-width: 75em) {
  .ctas .intro_copy p, .ctas .intro_copy li {
    font-size: 1.25rem;
    line-height: 1.8;
  }
}
.ctas .list {
  margin: 1.25rem 0;
}
.ctas .list .cta + .cta {
  margin-top: 1.875rem;
}
.ctas .list .cta.block_link .photo {
  cursor: pointer;
}
.ctas .list .cta .photo {
  margin-bottom: 1.25rem;
}
.ctas .list .cta .photo img {
  width: 100%;
  height: auto;
  max-width: 520px;
}
.ctas .list .cta .title {
  margin: 0 0 0.625rem;
  width: 95%;
  font-size: 1.375rem;
  line-height: 1.0909090909;
  font-family: Pragmatica, sans-serif;
  font-weight: 700;
}
.ctas .list .cta .title a {
  text-decoration: none;
}
.ctas .list .cta .title a:hover, .ctas .list .cta .title a:focus {
  text-decoration: underline;
}
.ctas .list .cta .downloads {
  margin: 1em 0;
}
.ctas .list .cta .downloads span {
  position: relative;
  padding-left: 23px;
}
.ctas .list .cta .downloads span svg {
  position: absolute;
  left: 0;
  top: 0;
}
@media screen and (max-width: 56.1875em) {
  .ctas .list .cta {
    margin-inline: auto;
  }
}
@media screen and (min-width: 56.25em) {
  .ctas .list:not(.ctas4across):not(.ctas2across) {
    display: flex;
    justify-content: flex-start;
    align-items: flex-start;
    flex-wrap: wrap;
    margin: 2.5rem 0 0;
    gap: 1.5%;
  }
  .ctas .list:not(.ctas4across):not(.ctas2across) .cta {
    flex: 0 1 32.333%;
    margin-bottom: 2em;
  }
  .ctas .list:not(.ctas4across):not(.ctas2across) .cta + .cta {
    margin-top: 0;
  }
}
@media screen and (min-width: 75em) {
  .ctas .list.ctas4across {
    display: flex;
    justify-content: flex-start;
    align-items: flex-start;
    flex-wrap: wrap;
    margin: 2.5rem 0 0;
    gap: 2%;
  }
  .ctas .list.ctas4across .cta {
    flex: 0 1 23%;
    margin-bottom: 2em;
  }
  .ctas .list.ctas4across .cta + .cta {
    margin-top: 0;
  }
}
@media screen and (min-width: 50em) {
  .ctas .list.ctas2across {
    max-width: 1085px;
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    flex-wrap: wrap;
    margin: 2.5rem auto 0;
  }
  .ctas .list.ctas2across .cta {
    flex: 0 1 48%;
    margin-bottom: 2em;
  }
  .ctas .list.ctas2across .cta + .cta {
    margin-top: 0;
  }
}

.announcements .content_container {
  width: min(90%, 1600px);
  margin: 2.5rem auto;
}
@media screen and (min-width: 64em) {
  .announcements .content_container {
    margin: 5.625rem auto 0 auto;
  }
}
.announcements .headline {
  text-align: center;
  margin-bottom: 1.25rem;
}
.announcements .intro_copy {
  text-align: center;
  margin: 1.25rem auto;
  max-width: 100ch;
}
@media screen and (min-width: 75em) {
  .announcements .intro_copy p, .announcements .intro_copy li {
    font-size: 1.25rem;
    line-height: 1.8;
  }
}
.announcements .list {
  margin: 2.5rem 0;
  display: flex;
  flex-direction: column;
  gap: 1.875rem;
}
.announcements .list .announcement {
  text-align: left;
  padding: 2rem 1.5rem;
  background-color: #e9ecef;
  border-radius: 8px;
  box-sizing: border-box;
  display: flex;
  flex-direction: column;
  text-decoration: none;
  color: inherit;
  transition: transform 0.2s ease, box-shadow 0.2s ease;
  min-height: 200px;
}
@media screen and (min-width: 48em) {
  .announcements .list .announcement {
    padding: 2.5rem 2rem;
    min-height: 220px;
  }
}
.announcements .list .announcement.announcement-link:hover {
  transform: translateY(-2px);
  box-shadow: 0 4px 15px rgba(0, 0, 0, 0.1);
  background-color: #dee2e6;
}
.announcements .list .announcement .icon {
  margin-bottom: 1.5rem;
  flex-shrink: 0;
}
.announcements .list .announcement .icon i {
  font-size: 2rem;
  color: #333;
  line-height: 1;
}
@media screen and (min-width: 48em) {
  .announcements .list .announcement .icon i {
    font-size: 2.5rem;
  }
}
.announcements .list .announcement .title {
  margin: 0 0 0.5rem;
  font-size: clamp(1.125rem, 2.5vw, 1.5rem);
  line-height: 1.25;
  font-family: Pragmatica, sans-serif;
  font-weight: 700;
  color: #333;
  flex-grow: 1;
}
.announcements .list .announcement .link-text {
  margin: 0.75rem 0 0;
  color: #666;
  text-decoration: underline;
  font-size: 0.875rem;
  line-height: 1.4;
  flex-shrink: 0;
}
@media screen and (min-width: 48em) {
  .announcements .list .announcement .link-text {
    font-size: 1rem;
  }
}
@media screen and (min-width: 37.5em) {
  .announcements .list.announcements2across {
    flex-direction: row;
    align-items: stretch;
    gap: 1.5rem;
  }
  .announcements .list.announcements2across .announcement {
    flex: 1;
    max-width: calc(50% - 0.75rem);
  }
}
@media screen and (min-width: 37.5em) {
  .announcements .list.announcements3across {
    flex-direction: row;
    align-items: stretch;
    flex-wrap: wrap;
    gap: 1.5rem;
  }
  .announcements .list.announcements3across .announcement {
    flex: 1;
    min-width: 250px;
    max-width: calc(33.333% - 1rem);
  }
}
@media screen and (min-width: 37.5em) and (max-width: 56.1875em) {
  .announcements .list.announcements3across .announcement {
    flex: 1 1 calc(50% - 0.75rem);
    max-width: calc(50% - 0.75rem);
    min-width: 0;
  }
}
@media screen and (min-width: 37.5em) and (max-width: 33.6875em) {
  .announcements .list.announcements3across .announcement {
    flex: 1 1 100%;
    max-width: 100%;
    min-width: auto;
  }
}
@media screen and (min-width: 37.5em) {
  .announcements .list.announcements4across {
    flex-direction: row;
    align-items: stretch;
    flex-wrap: wrap;
    gap: 1.5rem;
  }
  .announcements .list.announcements4across .announcement {
    flex: 1;
    min-width: 200px;
    max-width: calc(25% - 1.125rem);
  }
}
@media screen and (min-width: 37.5em) and (max-width: 74.9375em) {
  .announcements .list.announcements4across .announcement {
    min-width: 220px;
    max-width: calc(33.333% - 1rem);
  }
}
@media screen and (min-width: 37.5em) and (max-width: 49.9375em) {
  .announcements .list.announcements4across .announcement {
    min-width: 200px;
    max-width: calc(50% - 0.75rem);
  }
}
@media screen and (min-width: 37.5em) and (max-width: 33.6875em) {
  .announcements .list.announcements4across .announcement {
    max-width: 100%;
    min-width: auto;
  }
}

.photos_listing {
  list-style: none;
  padding: 0;
  margin: 1.875rem auto;
  max-width: 388px;
}
.photos_listing li {
  position: relative;
}
.photos_listing li.block_link {
  cursor: pointer;
}
.photos_listing li + li {
  margin-top: 1.25rem;
}
.photos_listing li .photo {
  background: #efefef;
  overflow: hidden;
}
.photos_listing li .photo img {
  width: 100%;
  height: auto;
  transition: transform 0.25s ease-in-out;
}
.photos_listing li:hover .photo img, .photos_listing li:focus .photo img {
  transform: scale(1.05);
  transition: transform 0.4s ease-in-out;
}
.photos_listing li .title {
  position: absolute;
  left: 0;
  bottom: 2.5rem;
  right: 2.5rem;
  background: #fff;
  padding: 8px 20px;
  font-size: 1.25rem;
  line-height: 1;
  font-family: Pragmatica, sans-serif;
  font-weight: 700;
  text-align: right;
}
.photos_listing li .title a {
  text-decoration: none;
}
.photos_listing li .title .subtitle {
  display: block;
  font-family: Pragmatica, sans-serif;
  font-weight: 400;
  font-size: 0.875rem;
  line-height: 1.4285714286;
  color: #222;
}
@media screen and (min-width: 48em) {
  .photos_listing {
    display: flex;
    flex-wrap: wrap;
    justify-content: flex-start;
    align-items: stretch;
    gap: 2%;
    max-width: 800px;
  }
  .photos_listing li {
    flex: 0 1 49%;
    margin-bottom: 2%;
  }
  .photos_listing li + li {
    margin-top: 0;
  }
}
@media screen and (min-width: 64em) {
  .photos_listing {
    gap: 1%;
    max-width: none;
    margin-inline: 0;
  }
  .photos_listing li {
    flex: 0 1 24.25%;
  }
}
@media screen and (min-width: 70.625em) {
  .photos_listing li .title {
    font-size: 1.5rem;
    line-height: 1;
  }
}

.photo_grid .content_container {
  width: min(90%, 1600px);
  margin: 0 auto;
  padding: 3.5rem 0 1.5rem;
}
@media screen and (min-width: 48em) {
  .photo_grid .content_container {
    padding: 6.25rem 0;
  }
}
.photo_grid .headline {
  text-align: center;
  margin: 0 0 1.25rem;
}
.photo_grid .intro_copy, .photo_grid .footer_copy {
  text-align: center;
  margin: 1.25rem auto;
  max-width: 100ch;
}
.photo_grid .footer_copy {
  margin-bottom: 3rem;
}
.photo_grid.dark_gray {
  background: #444444;
}
.photo_grid.dark_gray .headline, .photo_grid.dark_gray .intro_copy, .photo_grid.dark_gray .footer_copy {
  color: #fff;
}
.photo_grid.dark_gray .headline p:not(.buttons) a, .photo_grid.dark_gray .headline li a, .photo_grid.dark_gray .intro_copy p:not(.buttons) a, .photo_grid.dark_gray .intro_copy li a, .photo_grid.dark_gray .footer_copy p:not(.buttons) a, .photo_grid.dark_gray .footer_copy li a {
  color: #fff;
  text-decoration: underline;
}
.photo_grid.dark_gray .btn.btn--blue {
  background: #fff;
  color: #0570B3;
  border-color: #fff;
}
.photo_grid.dark_gray .btn.btn--blue:hover, .photo_grid.dark_gray .btn.btn--blue:focus {
  background: #0570B3;
  color: #fff;
  border-color: #0570B3;
}

.galleries .content_container {
  width: min(90%, 1600px);
  margin: 2.5rem auto;
}
@media screen and (min-width: 64em) {
  .galleries .photos_listing.gallery {
    gap: 1.25%;
  }
  .galleries .photos_listing.gallery li {
    margin-bottom: 1.25%;
  }
  .galleries .photos_listing.gallery li:nth-child(5n-4), .galleries .photos_listing.gallery li:nth-child(5n-3) {
    flex: 0 1 49.375%;
  }
  .galleries .photos_listing.gallery li:nth-child(5n-2), .galleries .photos_listing.gallery li:nth-child(5n-1), .galleries .photos_listing.gallery li:nth-child(5n) {
    flex: 0 1 32.5%;
  }
}

.gallery .content_container {
  width: min(90%, 1600px);
  margin: 2.5rem auto;
}
.gallery .copy, .gallery .buttons {
  width: min(100%, 100ch);
  margin: 2em auto;
}
.gallery .buttons {
  text-align: center;
}

.gallery_photos {
  list-style: none;
  padding: 0;
  margin: 0 auto;
  max-width: 1215px;
}
.gallery_photos li {
  position: relative;
  border-radius: 10px;
  overflow: hidden;
  margin-bottom: 5%;
}
.gallery_photos li::before {
  content: "";
  position: absolute;
  z-index: 1;
  left: 0;
  top: 0;
  right: 0;
  bottom: 0;
  box-shadow: inset 0 0 20px rgba(0, 0, 0, 0.25);
  pointer-events: none;
}
@media screen and (max-width: 47.9375em) {
  .gallery_photos li.vertical {
    max-width: 385px;
    margin-inline: auto;
  }
}
@media screen and (min-width: 48em) {
  .gallery_photos {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    align-items: stretch;
    gap: 3%;
  }
  .gallery_photos li {
    flex: 1 1 62.666%;
    margin-bottom: 3%;
  }
  .gallery_photos li:nth-child(1) {
    flex: 1 1 100%;
  }
  .gallery_photos li.vertical {
    flex: 1 1 31.333%;
    max-width: 385px;
  }
}
.gallery_photos img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
  position: relative;
  z-index: 0;
}

.sliding_photos .content_container {
  margin: 2.5rem auto;
  padding: 1px 0;
  overflow: hidden;
}
@media screen and (min-width: 64em) {
  .sliding_photos .content_container {
    margin: 5.625rem auto;
  }
}
.sliding_photos .headline, .sliding_photos .copy {
  text-align: center;
  padding: 0 5%;
}
.sliding_photos .headline + .copy {
  margin-top: 1.625rem;
}
.sliding_photos .copy {
  max-width: 100ch;
  margin-inline: auto;
}
.sliding_photos .slider {
  margin: 2em 0 3em;
}
.sliding_photos .slider ul {
  list-style: none;
  padding: 0;
  margin: 0;
  overflow: visible;
  height: auto;
}
.sliding_photos .slider ul li {
  text-align: center;
  padding: 0 20px;
  cursor: grab;
}
.sliding_photos .slider figure {
  text-align: center;
}
.sliding_photos .slider img {
  display: inline-block;
  border-radius: 50%;
  overflow: hidden;
  width: 100%;
  height: auto;
  max-width: 325px;
}
.sliding_photos .slider figcaption {
  margin-top: 2rem;
  font-size: 1rem;
  line-height: 1.125;
  font-family: Pragmatica, sans-serif;
  font-weight: 700;
}
@media screen and (min-width: 64em) {
  .sliding_photos .slider figcaption {
    margin-top: 1.5rem;
    font-size: 1.25rem;
    line-height: 1.3;
  }
}
.sliding_photos .buttonGroup {
  margin: 1.875rem auto;
}
@media screen and (min-width: 64em) {
  .sliding_photos .buttonGroup {
    margin: 3.75rem auto;
  }
}

.faqs .content_container {
  width: min(90%, 90vw);
  margin: 2.5rem auto;
}
@media screen and (min-width: 48em) {
  .faqs .content_container {
    width: min(90%, 1200px);
  }
}
@media screen and (min-width: 64em) {
  .faqs .content_container {
    width: min(90%, 1400px);
  }
}
@media screen and (min-width: 90em) {
  .faqs .content_container {
    width: min(90%, 1600px);
  }
}
@media screen and (min-width: 120em) {
  .faqs .content_container {
    width: min(90%, 1800px);
  }
}
@media screen and (min-width: 160em) {
  .faqs .content_container {
    width: min(90%, 2000px);
  }
}
@media screen and (min-width: 64em) {
  .faqs .content_container {
    margin: 5.625rem auto;
  }
}
.faqs .headline {
  text-align: center;
}
.faqs ol.list {
  list-style: none;
  padding: 0;
  margin: 1em auto;
  max-width: 1000px;
}
@media screen and (max-width: 47.9375em) {
  .faqs ol.list {
    margin-left: -5.6667%;
    margin-right: -5.6667%;
  }
}
.faqs ol.list > li {
  border-bottom: 1px solid #C6C6C6;
}
.faqs details > summary {
  list-style: none;
  cursor: pointer;
  position: relative;
  padding: 15px 44px;
  font-size: 1.25rem;
  line-height: 1.5;
}
@media screen and (min-width: 64em) {
  .faqs details > summary {
    font-size: 1.5rem;
    line-height: 1.4166666667;
    padding-top: 20px;
    padding-bottom: 20px;
    padding-left: 60px;
  }
}
.faqs details > summary:hover, .faqs details > summary:focus {
  color: #0570B3;
}
.faqs details > summary::-webkit-details-marker {
  display: none;
}
.faqs details > summary::before {
  content: "";
  display: block;
  position: absolute;
  left: 14px;
  top: 23px;
  width: 19px;
  height: 11px;
  background-repeat: no-repeat;
  background-size: cover;
  transition: all 0.2s ease-in;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 19.079 10.908'%3E%3Cpath id='Icon_ionic-ios-arrow-down' data-name='Icon ionic-ios-arrow-down' d='M15.73,18.867l7.214-7.22a1.358,1.358,0,0,1,1.926,0,1.375,1.375,0,0,1,0,1.931L16.7,21.758a1.361,1.361,0,0,1-1.88.04L6.585,13.584a1.364,1.364,0,0,1,1.926-1.931Z' transform='translate(-6.188 -11.247)' fill='%230570b3'/%3E%3C/svg%3E%0A");
}
@media screen and (min-width: 64em) {
  .faqs details > summary::before {
    left: 20px;
    top: 31px;
  }
}
.faqs details[open] summary {
  background: #E9EEF4;
  color: #0570B3;
}
.faqs details[open] summary::before {
  transform: rotate(180deg);
}
.faqs details .copy {
  background: #E9EEF4;
  padding: 0 5% 1.5em 44px;
}
@media screen and (min-width: 64em) {
  .faqs details .copy {
    padding-left: 60px;
  }
}
.faqs details .copy a {
  color: #0588d8;
}
.faqs details .copy p, .faqs details .copy li {
  max-width: 75ch;
}

.photo_arrow {
  overflow-x: hidden;
}
.photo_arrow .content_container {
  width: min(90%, 1600px);
  margin: 2.5rem auto;
}
@media screen and (min-width: 64em) {
  .photo_arrow .content_container {
    margin: 5.625rem auto 2.5rem;
  }
  .photo_arrow .content_container .headline, .photo_arrow .content_container .copy, .photo_arrow .content_container .buttons {
    text-align: center;
  }
}
.photo_arrow .content_container .headline + .copy, .photo_arrow .content_container .buttons {
  margin-top: 1.625rem;
}
.photo_arrow .content_container .copy {
  max-width: 100ch;
  margin-inline: auto;
}
@media screen and (max-width: 63.9375em) {
  .photo_arrow .list {
    padding: 0 5% 3em;
  }
}
.photo_arrow .list .copy_block + .copy_block {
  margin-top: 2em;
}
.photo_arrow .list .copy_block picture {
  display: block;
  max-width: 500px;
}
.photo_arrow .list .copy_block picture img {
  width: 100%;
  height: auto;
}
.photo_arrow .list .copy_block .copy .headline {
  margin: 1.25rem 0 0.9375rem;
}
@media screen and (min-width: 64em) {
  .photo_arrow .list .copy_block {
    display: flex;
    justify-content: space-between;
    align-items: center;
  }
  .photo_arrow .list .copy_block + .copy_block {
    margin-top: 0;
  }
  .photo_arrow .list .copy_block picture {
    flex: 0 1 56.25%;
    position: relative;
    max-width: none;
  }
  .photo_arrow .list .copy_block picture::before {
    content: "";
    position: absolute;
    left: 0;
    right: 0;
    top: 0;
    bottom: 0;
    background-position: right top;
    background-size: auto 100%;
    background-repeat: no-repeat;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' preserveAspectRatio='none' width='120' height='610.002' viewBox='0 0 120 610.002'%3E%3Cpath d='M120,610H0L120,305.174V610Zm0-305.175L0,0H120V304.826Z' fill='%23fff'/%3E%3C/svg%3E%0A");
  }
  .photo_arrow .list .copy_block .copy {
    flex: 0 1 36.75%;
    max-width: 580px;
    padding-right: 5%;
  }
  .photo_arrow .list .copy_block.photoRight picture {
    order: 2;
  }
  .photo_arrow .list .copy_block.photoRight picture::before {
    background-position: left top;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='120' height='610.002' viewBox='0 0 120 610.002' preserveAspectRatio='none'%3E%3Cpath d='M120,610H0L120,305.174V610Zm0-305.175L0,0H120V304.826Z' transform='translate(120 610.002) rotate(180)' fill='%23fff'/%3E%3C/svg%3E%0A");
  }
  .photo_arrow .list .copy_block.photoRight .copy {
    order: 1;
    padding-right: 0;
    padding-left: 5%;
  }
}

.cta_banner .content_container {
  width: min(90%, 1600px);
  margin: 2.5rem auto;
}
@media screen and (min-width: 64em) {
  .cta_banner .content_container {
    margin: 5.625rem auto 2.5rem;
  }
}
.cta_banner .copy p, .cta_banner .copy li {
  font-family: Pragmatica, sans-serif;
  font-weight: 300;
  font-size: clamp(1.875rem, 1.478rem + 1.63vw, 2.75rem);
  line-height: 1.1666666667;
  /* 36/44 - 390/1250 */
}
.cta_banner .copy + .buttons {
  margin-top: 2.32em;
}
.cta_banner .copy, .cta_banner .buttons {
  text-align: center;
}

.copy_and_media .content_container {
  width: min(90%, 1453px);
  margin: 2.5rem auto;
}
.copy_and_media .content_container .headline {
  text-align: center;
}
@media screen and (min-width: 64em) {
  .copy_and_media .content_container {
    margin: 5.625rem auto 2.5rem;
  }
}
.copy_and_media .headline + .intro_copy {
  margin-top: 1.625rem;
}
.copy_and_media .intro_copy {
  max-width: 100ch;
  margin-inline: auto;
  margin-bottom: 1em;
}
.copy_and_media .intro_copy p, .copy_and_media .intro_copy li {
  font-size: 1.25rem;
  line-height: 1.6;
}
@media screen and (min-width: 64em) {
  .copy_and_media .intro_copy {
    text-align: center;
  }
  .copy_and_media .intro_copy p, .copy_and_media .intro_copy li {
    font-size: 1.5rem;
    line-height: 1.4166666667;
  }
}
.copy_and_media .intro_copy + .main_content {
  margin-top: 1.5em;
}
@media screen and (min-width: 56.25em) {
  .copy_and_media .intro_copy + .main_content {
    margin-top: 3em;
  }
}
.copy_and_media .media {
  margin-bottom: 1.25rem;
  text-align: center;
}
.copy_and_media .media img {
  width: 100%;
  max-width: 395px;
  height: auto;
}
.copy_and_media .copy .headline {
  margin-bottom: 1.312rem;
}
.copy_and_media .copy .buttons {
  margin-top: 1.625rem;
}
.copy_and_media .copy blockquote, .copy_and_media .copy figcaption {
  padding-left: 45px;
}
.copy_and_media .copy blockquote {
  font-style: italic;
  background-repeat: no-repeat;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='30' height='24.34' viewBox='0 0 30 24.34'%3E%3Cpath d='M40.528,28.385a23.709,23.709,0,0,0-5.883,5.973A11.628,11.628,0,0,0,32.893,40.6a5.036,5.036,0,0,1,2.695-.719,4.4,4.4,0,0,1,3.368,1.392,4.987,4.987,0,0,1,1.3,3.548A5.122,5.122,0,0,1,38.6,48.774,6.314,6.314,0,0,1,34.151,50.3q-6.377,0-6.377-8.443a15.488,15.488,0,0,1,.539-4.177,13.4,13.4,0,0,1,1.751-3.772,21.334,21.334,0,0,1,3.278-3.772,57.041,57.041,0,0,1,5.12-4.177Zm-17.246,0A23.709,23.709,0,0,0,17.4,34.358,11.628,11.628,0,0,0,15.648,40.6a5.036,5.036,0,0,1,2.695-.719,4.4,4.4,0,0,1,3.368,1.392,4.987,4.987,0,0,1,1.3,3.548,5.122,5.122,0,0,1-1.662,3.952A6.314,6.314,0,0,1,16.905,50.3q-6.377,0-6.377-8.443a15.488,15.488,0,0,1,.539-4.177,13.4,13.4,0,0,1,1.751-3.772A21.334,21.334,0,0,1,16.1,30.137a57.041,57.041,0,0,1,5.12-4.177Z' transform='translate(-10.527 -25.961)' fill='%23053249'/%3E%3C/svg%3E%0A");
}
.copy_and_media .copy blockquote p, .copy_and_media .copy blockquote li {
  font-size: 1.125rem;
  line-height: 1.5555555556;
}
@media screen and (min-width: 64em) {
  .copy_and_media .copy blockquote p, .copy_and_media .copy blockquote li {
    font-size: 1.25rem;
    line-height: 1.8;
  }
}
.copy_and_media .copy figcaption {
  margin-top: 1em;
}
@media screen and (min-width: 56.25em) {
  .copy_and_media .main_content {
    display: flex;
    justify-content: space-around;
    align-items: flex-start;
  }
  .copy_and_media .main_content .media {
    flex: 0 1 49.375%;
    margin-right: 4.375%;
  }
  .copy_and_media .main_content .media img {
    max-width: none;
  }
  .copy_and_media .main_content .copy {
    flex: 0 1 46.25%;
  }
  .copy_and_media .main_content .copy .headline {
    text-align: left;
  }
  .copy_and_media .main_content.media_right .media {
    order: 2;
    margin-right: 0;
    margin-left: 4.375%;
  }
  .copy_and_media .main_content.media_right .copy {
    order: 1;
  }
}
@media screen and (min-width: 56.25em) {
  .copy_and_media.quote_block .main_content .media {
    flex: 0 1 35.79%;
    margin-right: 6.88%;
  }
  .copy_and_media.quote_block .main_content .media img {
    max-width: none;
  }
  .copy_and_media.quote_block .main_content .copy {
    flex: 0 1 57.33%;
  }
  .copy_and_media.quote_block .main_content .copy .headline {
    text-align: left;
  }
}

.copy_and_callout .content_container {
  width: min(90%, 1600px);
  margin: 2.5rem auto;
}
@media screen and (min-width: 64em) {
  .copy_and_callout .content_container {
    margin: 5.625rem auto 2.5rem;
  }
}
.copy_and_callout .headline + .copy_container {
  margin-top: 1.625rem;
}
.copy_and_callout table.pricing {
  margin: 2em auto 3em;
  border-spacing: 0;
}
.copy_and_callout table.pricing th, .copy_and_callout table.pricing td:nth-child(1) {
  font-family: Pragmatica, sans-serif;
  font-weight: 700;
}
.copy_and_callout table.pricing th, .copy_and_callout table.pricing td {
  padding: 5px 10px;
  font-size: 1.25rem;
  line-height: 1.2;
}
.copy_and_callout table.pricing th:nth-child(even), .copy_and_callout table.pricing td:nth-child(even) {
  background: #E9EEF4;
}
.copy_and_callout table.pricing th:nth-child(odd), .copy_and_callout table.pricing td:nth-child(odd) {
  border-left: 1px solid #fff;
  border-right: 1px solid #fff;
}
.copy_and_callout table.pricing thead th {
  padding-top: 20px;
}
.copy_and_callout table.pricing tbody td, .copy_and_callout table.pricing tfoot td {
  text-align: right;
}
.copy_and_callout table.pricing tbody tr:last-child td {
  padding-bottom: 16px;
}
.copy_and_callout table.pricing tfoot td {
  color: #fff;
  padding-top: 10px;
  padding-bottom: 10px;
}
.copy_and_callout table.pricing tfoot td, .copy_and_callout table.pricing tfoot td:nth-child(even) {
  background: #053249;
}
.copy_and_callout table.pricing tfoot td:nth-child(1) {
  background: transparent;
}
@media screen and (max-width: 37.4375em) {
  .copy_and_callout table.pricing {
    margin-left: -5.555567%;
    margin-right: -5.555567%;
    width: 111.111134%;
  }
  .copy_and_callout table.pricing th:nth-child(1), .copy_and_callout table.pricing td:nth-child(1) {
    display: none;
  }
  .copy_and_callout table.pricing tbody td::before {
    content: attr(data-label);
    display: block;
    font-size: 0.75rem;
    line-height: 1.1666666667;
    font-family: Pragmatica, sans-serif;
    font-weight: 700;
  }
}
@media screen and (min-width: 37.5em) {
  .copy_and_callout table.pricing th, .copy_and_callout table.pricing td {
    font-size: 1rem;
    line-height: 1.25;
  }
}
@media screen and (min-width: 64em) {
  .copy_and_callout table.pricing th, .copy_and_callout table.pricing td {
    padding: 8px 20px;
  }
}
@media screen and (min-width: 87.5em) {
  .copy_and_callout table.pricing th, .copy_and_callout table.pricing td {
    padding: 8px 40px;
    font-size: 1.25rem;
    line-height: 1.2;
  }
}
.copy_and_callout .buttons {
  margin: 2em 0 4em;
}
.copy_and_callout .buttons p {
  text-align: center;
}
.copy_and_callout .disclaimers p, .copy_and_callout .disclaimers li {
  font-size: 0.875rem;
  line-height: 1.4285714286;
}
.copy_and_callout aside {
  border: 1px solid #444444;
  max-width: 500px;
  margin: 3em auto;
}
.copy_and_callout aside .title {
  background: #444444;
  color: #fff;
  padding: 18px 24px;
}
.copy_and_callout aside .title h3 {
  font-size: 2.25rem;
  line-height: 1.2777777778;
  font-family: Pragmatica, sans-serif;
  font-weight: 400;
}
.copy_and_callout aside .title h3 em {
  font-style: normal;
  font-family: Pragmatica, sans-serif;
  font-weight: 700;
  text-transform: uppercase;
}
.copy_and_callout aside .copy {
  padding: 20px;
}
.copy_and_callout aside .copy p, .copy_and_callout aside .copy li {
  font-size: 1.25rem;
  line-height: 1.8;
}
@media screen and (min-width: 37.5em) {
  .copy_and_callout aside .title {
    padding: 18px 40px;
  }
  .copy_and_callout aside .copy {
    padding: 20px 40px;
  }
}
@media screen and (max-width: 47.9375em) {
  .copy_and_callout .copy .headline {
    text-align: center;
  }
}
@media screen and (min-width: 75em) {
  .copy_and_callout .content_container {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
  }
  .copy_and_callout .content_container .copy {
    flex: 0 1 57.8125%;
    margin-right: 6%;
  }
  .copy_and_callout .content_container aside {
    flex: 1 0 36.1875%;
    max-width: 520px;
    margin-top: -8.25rem;
    margin-inline: 0;
    position: sticky;
    top: 2rem;
    z-index: 1;
  }
}

.copy_block .content_container {
  width: min(90%, 90vw);
  margin: 2.5rem auto;
}
@media screen and (min-width: 48em) {
  .copy_block .content_container {
    width: min(90%, 1200px);
  }
}
@media screen and (min-width: 64em) {
  .copy_block .content_container {
    width: min(90%, 1400px);
  }
}
@media screen and (min-width: 90em) {
  .copy_block .content_container {
    width: min(90%, 1600px);
  }
}
@media screen and (min-width: 120em) {
  .copy_block .content_container {
    width: min(90%, 1800px);
  }
}
@media screen and (min-width: 160em) {
  .copy_block .content_container {
    width: min(90%, 2000px);
  }
}
.copy_block .content_container .headline {
  text-align: center;
}
.copy_block .content_container .copy {
  margin-top: 0.625em;
}
.copy_block .content_container .copy_cols {
  margin-top: 0.5em;
}
.copy_block .content_container .buttons {
  margin-top: 1.625rem;
}
@media screen and (min-width: 48em) {
  .copy_block .content_container .copy_cols {
    display: flex;
    justify-content: space-between;
    align-items: stretch;
  }
  .copy_block .content_container .copy_cols .col {
    flex: 0 1 46%;
  }
  .copy_block .content_container .copy_cols .col:nth-child(2) {
    border-left: 2px solid #222;
    padding-left: 4%;
  }
}
@media screen and (min-width: 64em) {
  .copy_block .content_container {
    margin: 4.375rem auto;
  }
  .copy_block .content_container .copy {
    margin-top: 1.25em;
  }
}
.copy_block.dark_gray {
  background: #444444;
  margin: 0 auto;
  padding: 0.5rem 0;
}
@media screen and (min-width: 48em) {
  .copy_block.dark_gray .copy_cols .col:nth-child(2) {
    border-color: #fff;
  }
}
@media screen and (min-width: 64em) {
  .copy_block.dark_gray {
    padding: 2.5rem 0;
  }
}
.copy_block.dark_gray .headline, .copy_block.dark_gray .copy {
  color: #fff;
}
.copy_block.dark_gray .btn.btn--blue {
  background: #fff;
  color: #0570B3;
  border-color: #fff;
}
.copy_block.dark_gray .btn.btn--blue:hover, .copy_block.dark_gray .btn.btn--blue:focus {
  background: #0570B3;
  color: #fff;
  border-color: #0570B3;
}

.boxed_copy .content_container {
  width: min(90%, 1600px);
  margin: 2.5rem auto;
}
.boxed_copy .content_container .headline, .boxed_copy .content_container .copy, .boxed_copy .content_container .buttons {
  text-align: center;
}
.boxed_copy .content_container .copy {
  margin-top: 0.625em;
}
.boxed_copy .content_container .buttons {
  margin-top: 1.625rem;
}
.boxed_copy .content_container .photo {
  margin: 0 auto 2em;
  text-align: center;
}
.boxed_copy .content_container .photo img {
  max-width: 100%;
  height: auto;
}
@media screen and (min-width: 48em) {
  .boxed_copy .content_container {
    width: min(70%, 1266px - 14%);
    padding: 0 7%;
  }
}
@media screen and (min-width: 64em) {
  .boxed_copy .content_container {
    margin: 4.375rem auto;
  }
  .boxed_copy .content_container .copy {
    margin-top: 1.25em;
  }
  .boxed_copy .content_container .photo {
    margin: 0 0 2em 4%;
    float: right;
  }
}
@media screen and (min-width: 48em) {
  .boxed_copy.overlap .content_container {
    position: relative;
    z-index: 1;
    background: #fff;
    margin: 0 auto;
    padding: 4.375rem 7%;
  }
  .boxed_copy.overlap.overlap--top .content_container {
    margin-top: -2.875rem;
  }
  .boxed_copy.overlap.overlap--bottom .content_container {
    margin-bottom: -2.875rem;
  }
}
@media screen and (min-width: 48em) {
  .boxed_copy.withPhoto .headline, .boxed_copy.withPhoto .copy, .boxed_copy.withPhoto .buttons {
    text-align: left;
  }
}

.photo_links .content_container {
  width: min(90%, 1600px);
  margin: 0 auto;
  padding: 3.5rem 0 1.5rem;
}
@media screen and (min-width: 48em) {
  .photo_links .content_container {
    padding: 6.25rem 0;
  }
}
.photo_links .headline {
  text-align: center;
  margin: 0 0 1.25rem;
}
.photo_links .intro_copy {
  text-align: center;
  margin: 1.25rem auto;
  max-width: 100ch;
}

.photo_links_listing {
  list-style: none;
  padding: 0;
  margin: 1.875rem auto;
  max-width: 388px;
}
.photo_links_listing li {
  position: relative;
  cursor: pointer;
}
.photo_links_listing li + li {
  margin-top: 1.25rem;
}
.photo_links_listing li .photo {
  background: #efefef;
  overflow: hidden;
}
.photo_links_listing li .photo img {
  width: 100%;
  height: auto;
  transition: transform 0.25s ease-in-out;
}
.photo_links_listing li:hover .photo img, .photo_links_listing li:focus .photo img {
  transform: scale(1.05);
  transition: transform 0.4s ease-in-out;
}
.photo_links_listing li .title {
  position: absolute;
  left: 0;
  bottom: 2.5rem;
  right: 2.5rem;
  background: #fff;
  padding: 13px 20px;
  font-size: 1.25rem;
  line-height: 1;
  font-family: Pragmatica, sans-serif;
  font-weight: 700;
  text-align: right;
}
.photo_links_listing li .title a {
  text-decoration: none;
}
.photo_links_listing li .title .subtitle {
  display: block;
  font-family: Pragmatica, sans-serif;
  font-weight: 400;
  font-size: 0.875rem;
  line-height: 1.4285714286;
  color: #222;
}
@media screen and (min-width: 48em) {
  .photo_links_listing {
    display: flex;
    flex-wrap: wrap;
    justify-content: flex-start;
    align-items: stretch;
    gap: 2%;
    max-width: 800px;
  }
  .photo_links_listing li {
    flex: 0 1 49%;
    margin-bottom: 2%;
  }
  .photo_links_listing li + li {
    margin-top: 0;
  }
}
@media screen and (min-width: 64em) {
  .photo_links_listing {
    gap: 1%;
    max-width: none;
    margin-inline: 0;
  }
  .photo_links_listing li {
    flex: 0 1 32%;
  }
  .photo_links_listing li .title {
    padding: 18px 20px;
  }
}
@media screen and (min-width: 70.625em) {
  .photo_links_listing li .title {
    font-size: 1.5rem;
    line-height: 1;
  }
}

.customer_story .content_container {
  width: min(90%, 1600px);
  margin: 2.5rem auto;
}
@media screen and (min-width: 64em) {
  .customer_story .content_container {
    margin: 5.625rem auto 2.5rem;
  }
}
.customer_story .media {
  max-width: 760px;
  margin-inline: auto;
  margin-bottom: 5%;
}
@media screen and (max-width: 47.5em) {
  .customer_story .media {
    margin-inline: -5.66667%;
  }
}
.customer_story .copy {
  margin-bottom: 2em;
}
.customer_story .copy .details_headline {
  font-size: 1.25rem;
  line-height: 1.3;
  padding-left: 10px;
  margin: 2em 0 0.5em;
}
.customer_story .copy .details {
  list-style: none;
  padding: 0;
  margin: 0 0 2em;
  max-width: 578px;
}
.customer_story .copy .details li {
  display: flex;
  padding: 5px 10px;
}
.customer_story .copy .details li:nth-child(even) {
  background: #E9EEF4;
}
.customer_story .copy .details .title {
  flex: 0 0 12ch;
  font-family: Pragmatica, sans-serif;
  font-weight: 700;
}
.customer_story .copy .details .detail {
  flex: 0 1 auto;
}
.customer_story .copy .gallery_link a {
  display: flex;
  align-items: center;
  font-family: Pragmatica, sans-serif;
  font-weight: 700;
}
.customer_story .copy .gallery_link a svg {
  margin-left: 6px;
}
@media screen and (min-width: 64em) {
  .customer_story .main {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
  }
  .customer_story .main .media {
    flex: 0 1 49.375%;
    margin-right: 4.375%;
  }
  .customer_story .main .copy {
    flex: 0 1 46.25%;
  }
}
.customer_story .transcript {
  background: #E9EEF4;
  padding: 2em 5%;
  margin: 2em -5.555567%;
}
@media screen and (min-width: 64em) {
  .customer_story .transcript {
    margin-top: 0;
    margin-bottom: 0;
  }
}
.customer_story .transcript .headline {
  font-family: Pragmatica, sans-serif;
  font-weight: 400;
}
.customer_story .transcript .copy {
  max-width: 790px;
  margin: 0 auto;
}

.form_page .content_container {
  width: min(90%, 1240px);
  margin: 2.5rem auto;
}
@media screen and (min-width: 64em) {
  .form_page .content_container {
    margin: 5.625rem auto 2.5rem;
  }
}
.form_page .intro_copy p, .form_page .intro_copy li {
  font-size: 1.25rem;
  line-height: 1.5;
}
@media screen and (min-width: 64em) {
  .form_page .intro_copy p, .form_page .intro_copy li {
    font-size: 1.5rem;
    line-height: 1.4166666667;
  }
}
.form_page .contact_info {
  margin: 3em 0;
}
.form_page .contact_info hr {
  margin: 2em 0;
}
.form_page .contact_info ul, .form_page .contact_info p {
  padding-left: 30px;
}
.form_page .contact_info .intro p, .form_page .contact_info .intro li {
  font-size: 1.125rem;
  line-height: 1.3333333333;
  padding-left: 0;
}
@media screen and (min-width: 64em) {
  .form_page .contact_info .intro p, .form_page .contact_info .intro li {
    font-size: 1.25rem;
    line-height: 1.4;
  }
}
.form_page .contact_info .title {
  display: flex;
  align-items: center;
  color: #021F2E;
  text-transform: uppercase;
}
.form_page .contact_info .title svg {
  margin-right: 10px;
}
.form_page .contact_info ul {
  list-style: none;
  margin: 0;
}
.form_page .contact_info ul li {
  display: flex;
  justify-content: flex-start;
  align-items: flex-start;
}
.form_page .contact_info ul .lbl {
  flex: 0 0 10ch;
}
.form_page .contact_info ul .detail {
  flex: 0 1 auto;
}
.form_page .footnote {
  font-style: italic;
  font-size: 1rem;
  line-height: 1.5;
}
.form_page .form_col {
  margin: 3em 0;
}
.form_page .form_col p {
  font-size: 1.125rem;
  line-height: 1.3333333333;
}
@media screen and (min-width: 64em) {
  .form_page .form_col p {
    font-size: 1.25rem;
    line-height: 1.4;
  }
}
.form_page .form_col p.fieldnote {
  font-size: 0.9375rem;
  line-height: 1.3333333333;
  padding: 5px 0 0 10px;
}
.form_page .form_col button {
  margin: 2em 10px 10px 0;
}
.form_page .form_col button + input[type=submit] {
  margin: 0;
}
@media screen and (min-width: 64em) {
  .form_page .cols {
    display: flex;
    justify-content: space-between;
  }
  .form_page .cols .col {
    order: 2;
    flex: 0 1 34.75806452%;
  }
  .form_page .cols .col.form_col {
    order: 1;
    flex: 0 1 52.74193548%;
    margin-right: 12.5%;
  }
}
.form_page.get_estimate #getAnEstimateForm form {
  margin-top: 0;
}

.list_for_radio {
  margin: 0.5em 0 1em 20px;
  color: #666;
}
.list_for_radio li {
  font-size: 0.875rem;
  line-height: 1.4285714286;
}

.elev_style_intro .content_container {
  width: min(90%, 1600px);
  margin: 2.5rem auto;
}
@media screen and (min-width: 64em) {
  .elev_style_intro .content_container {
    margin: 5.625rem auto 2.5rem;
  }
}
.elev_style_intro .photo {
  margin-bottom: 1em;
}
.elev_style_intro .photo img {
  width: 100%;
  height: auto;
}
.elev_style_intro .copy {
  margin: 1em 0;
}
.elev_style_intro .swatches p {
  font-family: Pragmatica, sans-serif;
  font-weight: 700;
}
.elev_style_intro .swatches ul {
  list-style: none;
  padding: 2px;
  margin: 10px -2px 0;
  display: flex;
  justify-content: flex-start;
  align-items: center;
  flex-wrap: wrap;
  gap: 8px;
  max-width: 590px;
  overflow: visible;
}
.elev_style_intro .swatches ul li button {
  border-radius: 10px;
  border: 2px solid #fff;
  cursor: pointer;
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  overflow: hidden;
}
.elev_style_intro .swatches ul li button.active {
  border-color: #000;
  box-shadow: 0 4px 5px rgba(0, 0, 0, 0.25);
}
.elev_style_intro .swatches ul li button img {
  overflow: hidden;
}
.elev_style_intro .table dl {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  flex-wrap: wrap;
  max-width: 578px;
  margin: 2em 0;
}
.elev_style_intro .table dl dt, .elev_style_intro .table dl dd {
  padding: 10px 0;
}
.elev_style_intro .table dl dt {
  flex: 0 1 calc(45% - 10px);
  padding-left: 10px;
  font-family: Pragmatica, sans-serif;
  font-weight: 700;
}
.elev_style_intro .table dl dt:nth-child(4n+3) {
  background: #E9EEF4;
}
.elev_style_intro .table dl dd {
  flex: 0 1 calc(55% - 10px);
  padding-right: 10px;
}
.elev_style_intro .table dl dd:nth-child(4n+4) {
  background: #E9EEF4;
}
@media screen and (min-width: 34.375em) {
  .elev_style_intro .table dl dt {
    flex: 0 1 calc(35% - 10px);
  }
  .elev_style_intro .table dl dd {
    flex: 0 1 calc(65% - 10px);
  }
}
.elev_style_intro .links {
  margin: 2em 0;
}
.elev_style_intro .links br + a {
  margin-top: 0.75em;
}
.elev_style_intro .buttonGroup {
  margin: 2em 0 0;
}
@media screen and (min-width: 48em) {
  .elev_style_intro .buttonGroup {
    justify-content: flex-start;
  }
  .elev_style_intro .buttonGroup .btn:nth-child(1) {
    margin-left: 0;
  }
}
@media screen and (max-width: 63.9375em) {
  .elev_style_intro .content_container {
    display: grid;
    grid-template-columns: auto;
    grid-template-rows: auto auto auto;
    gap: 0px 0px;
    grid-auto-flow: row;
    grid-template-areas: "copy" "photo" "bottom_content";
  }
  .elev_style_intro .copy {
    grid-area: copy;
  }
  .elev_style_intro .photo {
    grid-area: photo;
    max-width: 580px;
  }
  .elev_style_intro .bottom_content {
    grid-area: bottom_content;
  }
}
@media screen and (min-width: 64em) {
  .elev_style_intro .content_container {
    display: grid;
    grid-template-columns: 1fr 1fr;
    grid-template-rows: auto auto;
    gap: 2em 4%;
    grid-template-areas: "photo copy" "photo bottom_content";
  }
  .elev_style_intro .photo {
    grid-area: photo;
  }
  .elev_style_intro .copy {
    grid-area: copy;
  }
  .elev_style_intro .bottom_content {
    grid-area: bottom_content;
  }
}

.types_compare .content_container {
  width: min(90%, 1600px);
  margin: 2.5rem auto;
}
@media screen and (min-width: 64em) {
  .types_compare .content_container {
    margin: 5.625rem auto 2.5rem;
  }
}
.types_compare .type + .type {
  margin-top: 3em;
}
.types_compare .type .photo {
  margin: 0 0 1em;
  position: relative;
  display: flex;
  align-items: flex-end;
}
.types_compare .type .photo img {
  display: block;
  width: auto;
  max-width: 93%;
  height: 250px;
  transition: all 0.15s ease-in-out;
}
.types_compare .type .photo .preventDL.larger {
  display: inline-block;
}
.types_compare .type .photo .preventDL.larger img {
  width: 100%;
  height: auto;
  transition: all 0.5s ease-in-out;
}
@media screen and (min-width: 64em) {
  .types_compare .type .photo .preventDL.larger img {
    width: 60%;
  }
}
@media screen and (min-width: 64em) {
  .types_compare .type .photo .preventDL.larger + button.size {
    transform: translateX(-11vw);
  }
}
.types_compare .type .photo button.size {
  position: relative;
  z-index: 2;
  background: none;
  border: 0;
  color: #0570B3;
  text-decoration: underline;
  cursor: pointer;
}
.types_compare .type .copy {
  width: 90%;
}
@media screen and (min-width: 64em) {
  .types_compare .types {
    display: flex;
    justify-content: flex-start;
    align-items: flex-start;
  }
  .types_compare .types .type {
    flex: 0 1 48%;
  }
  .types_compare .types .type + .type {
    margin-left: 1%;
    margin-top: 0;
  }
  .types_compare .types .type:nth-child(1) {
    margin-left: calc(22ch + 9px);
  }
}
.types_compare .chart {
  margin: 4em 0 2em;
}
@media screen and (min-width: 64em) {
  .types_compare .chart {
    margin-top: 2em;
  }
}
.types_compare .chart .headline {
  margin-bottom: 1em;
}
@media screen and (min-width: 64em) {
  .types_compare .chart .headline {
    display: none;
  }
}
.types_compare .chart table {
  width: 100%;
}
.types_compare .chart table tbody tr:nth-child(even) td:not(:nth-child(1)) {
  background: #E9EEF4;
}
.types_compare .chart table tbody td {
  padding: 4px 10px;
}
.types_compare .chart table tbody td:nth-child(1) {
  text-align: right;
}
.types_compare .chart table tbody td:not(:nth-child(1)) {
  font-family: Pragmatica, sans-serif;
  font-weight: 700;
}
.types_compare .chart table tbody td:not(:nth-child(1)) small {
  display: block;
  font-family: Pragmatica, sans-serif;
  font-weight: 400;
}
@media screen and (max-width: 63.9375em) {
  .types_compare .chart table tbody tr:nth-child(even) td {
    background: #E9EEF4;
  }
  .types_compare .chart table tbody td {
    display: block;
  }
  .types_compare .chart table tbody td:nth-child(1) {
    text-align: left;
    font-family: Pragmatica, sans-serif;
    font-weight: 700;
    padding-top: 10px;
  }
  .types_compare .chart table tbody td:last-child {
    padding-bottom: 10px;
  }
  .types_compare .chart table tbody td:not(:nth-child(1)) {
    position: relative;
    padding-left: 13ch;
  }
  .types_compare .chart table tbody td:not(:nth-child(1))::before {
    content: attr(data-type);
    font-family: Pragmatica, sans-serif;
    font-weight: 400;
    position: absolute;
    left: 10px;
    top: 4px;
  }
}
@media screen and (min-width: 64em) {
  .types_compare .chart table tbody td {
    padding: 14px 10px;
  }
  .types_compare .chart table tbody td:nth-child(1) {
    width: 20ch;
  }
  .types_compare .chart table tbody td:nth-child(2), .types_compare .chart table tbody td:nth-child(3), .types_compare .chart table tbody td:nth-child(4) {
    border-left: 9px solid #fff;
  }
}

.specs * {
  box-sizing: border-box;
}
.specs .elevator-type-tabs {
  display: flex !important;
}
.specs .main-content {
  display: flex !important;
  justify-content: flex-start !important;
}
.specs .drawings-grid {
  display: flex !important;
  flex-wrap: wrap !important;
}
.specs .filter-list {
  display: block !important;
}
.specs .filter-list li {
  display: block !important;
}
.specs .filter-list label {
  display: flex !important;
}
.specs .content_container {
  width: min(90%, 1600px);
  margin: 2.5rem auto;
}
.specs .specs-header {
  text-align: left;
  margin-bottom: 3rem;
  padding: 0 1.5rem;
}
@media screen and (max-width: 48em) {
  .specs .specs-header {
    margin-bottom: 2rem;
  }
}
.specs .specs-header h1 {
  font-family: Pragmatica, sans-serif;
  font-weight: 300;
  font-size: 2.25rem;
  margin-bottom: 1.5rem;
  color: #053249;
}
@media screen and (max-width: 48em) {
  .specs .specs-header h1 {
    font-size: 1.75rem;
    margin-bottom: 1rem;
  }
}
.specs .specs-header p {
  font-size: 1.125rem;
  color: #666;
  margin: 0 auto;
  line-height: 1.6;
}
@media screen and (max-width: 48em) {
  .specs .specs-header p {
    font-size: 1rem;
  }
}
.specs .contact-link {
  color: #0570B3;
  text-decoration: none;
  font-weight: 500;
}
.specs .contact-link:hover {
  text-decoration: underline;
}
.specs .elevator-type-tabs {
  display: flex;
  justify-content: center;
  margin-bottom: 3rem;
  gap: 0;
  flex-wrap: wrap;
}
@media screen and (max-width: 48em) {
  .specs .elevator-type-tabs {
    flex-direction: column;
    align-items: stretch;
    gap: 0.5rem;
  }
}
.specs .elevator-type-tabs .tab-button {
  padding: 1rem 2rem;
  border: 1px solid #e0e0e0;
  background: white;
  cursor: pointer;
  font-size: 1rem;
  color: #666;
  transition: all 0.3s ease;
  margin-right: -1px;
  font-family: Pragmatica, sans-serif;
  font-weight: 700;
  position: relative;
}
@media screen and (max-width: 48em) {
  .specs .elevator-type-tabs .tab-button {
    margin-right: 0;
    border-radius: 6px !important;
    text-align: center;
  }
}
.specs .elevator-type-tabs .tab-button:first-child {
  border-top-left-radius: 6px;
  border-bottom-left-radius: 6px;
}
.specs .elevator-type-tabs .tab-button:last-child {
  border-top-right-radius: 6px;
  border-bottom-right-radius: 6px;
  margin-right: 0;
}
.specs .elevator-type-tabs .tab-button.active {
  color: white;
  background-color: #053249;
  border-color: #053249;
  z-index: 2;
}
.specs .elevator-type-tabs .tab-button:hover:not(.active):not(.disabled) {
  background-color: #f8f9fa;
}
.specs .elevator-type-tabs .tab-button.disabled {
  opacity: 0.5;
  cursor: not-allowed;
  color: #ccc;
  background-color: #f5f5f5;
}
.specs .elevator-type-tabs .tab-button.disabled:hover {
  background-color: #f5f5f5;
}
.specs .main-content {
  display: flex !important;
  gap: 3rem;
  margin-top: 2rem;
  width: 100%;
  justify-content: flex-start !important;
}
@media screen and (max-width: 75em) {
  .specs .main-content {
    gap: 2rem;
  }
}
@media screen and (max-width: 64em) {
  .specs .main-content {
    flex-direction: column;
    gap: 2rem;
  }
  .specs .main-content .filters-sidebar,
  .specs .main-content .info-sidebar {
    order: 2;
  }
  .specs .main-content .drawings-content {
    order: 1;
  }
}
@media screen and (max-width: 48em) {
  .specs .main-content {
    flex-direction: column;
    gap: 1rem;
    margin-top: 1rem;
  }
  .specs .main-content .filters-sidebar {
    order: 1;
    position: sticky;
    top: 0;
    z-index: 10;
    background: white;
    padding: 1rem;
    margin: -1rem -1rem 1rem -1rem;
    box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1);
  }
  .specs .main-content .drawings-content {
    order: 2;
  }
  .specs .main-content .info-sidebar {
    order: 3;
  }
}
.specs .filters-sidebar {
  background: transparent;
  padding: 1.5rem;
  border: none;
  border-radius: 0;
  height: fit-content;
  box-shadow: none;
  flex: 0 0 250px;
}
@media screen and (max-width: 75em) {
  .specs .filters-sidebar {
    flex: 0 0 220px;
  }
}
.specs .filters-sidebar .filters-toggle {
  display: none;
}
.specs .filters-sidebar .filters-header {
  margin-bottom: 1rem;
}
@media screen and (max-width: 48em) {
  .specs .filters-sidebar {
    padding: 1rem;
    flex: 1 1 100%;
  }
  .specs .filters-sidebar .filters-header {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-bottom: 0.5rem;
  }
  .specs .filters-sidebar h3 {
    font-size: 0.875rem;
    margin: 0;
  }
  .specs .filters-sidebar .filters-toggle {
    background: none;
    border: 1px solid #ddd;
    border-radius: 4px;
    padding: 0.25rem 0.5rem;
    font-size: 0.75rem;
    cursor: pointer;
    display: flex !important;
    align-items: center;
    gap: 0.25rem;
    transition: all 0.2s ease;
  }
  .specs .filters-sidebar .filters-toggle:hover {
    background: #f0f0f0;
  }
  .specs .filters-sidebar .filters-toggle .toggle-icon {
    transition: transform 0.2s ease;
  }
  .specs .filters-sidebar .filters-toggle.collapsed .toggle-icon {
    transform: rotate(180deg);
  }
  .specs .filters-sidebar .filters-content {
    transition: max-height 0.3s ease, opacity 0.2s ease;
    overflow: hidden;
  }
  .specs .filters-sidebar .filters-content.collapsed {
    max-height: 0;
    opacity: 0;
  }
  .specs .filters-sidebar .filters-content:not(.collapsed) {
    max-height: 70vh;
    opacity: 1;
    overflow-y: auto;
  }
  .specs .filters-sidebar .filter-section {
    margin-bottom: 1rem;
  }
  .specs .filters-sidebar .filter-list {
    display: flex;
    flex-wrap: wrap;
    gap: 0.5rem;
  }
  .specs .filters-sidebar .filter-option {
    font-size: 0.75rem;
    padding: 0.25rem 0.5rem;
    background: #f0f0f0;
    border: 1px solid #ddd;
    border-radius: 4px;
    white-space: nowrap;
  }
  .specs .filters-sidebar .filter-option.active {
    background: #0570B3;
    color: white;
    border-color: #0570B3;
  }
}
.specs .filters-sidebar h3 {
  color: #053249;
  font-size: 1rem;
  font-family: Pragmatica, sans-serif;
  font-weight: 700;
  border-bottom: 1px solid #0570B3;
  padding-bottom: 0.5rem;
}
.specs .filter-section {
  margin-bottom: 1.5rem;
}
.specs .filter-section h4 {
  margin-bottom: 1rem;
  color: #053249;
  font-size: 1rem;
  font-family: Pragmatica, sans-serif;
  font-weight: 700;
}
.specs .filter-list {
  list-style: none;
  padding: 0;
  margin: 0;
}
.specs .filter-option {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 0.5rem;
  cursor: pointer;
  font-size: 0.875rem;
  color: #555;
  transition: all 0.2s ease;
  border-radius: 4px;
}
.specs .filter-option:hover {
  color: #0570B3;
  background-color: #f8f9fa;
}
.specs .filter-option.selected {
  color: #0570B3;
  background-color: #e3f2fd;
  font-weight: 500;
}
.specs .filter-option.disabled {
  color: #ccc;
  cursor: not-allowed;
  opacity: 0.5;
}
.specs .filter-option.disabled:hover {
  color: #ccc;
  background-color: transparent;
}
.specs .filter-option .filter-text {
  flex: 1;
}
.specs .filter-option .remove-filter {
  color: #dc3545;
  font-weight: bold;
  font-size: 1rem;
  margin-left: 0.5rem;
  opacity: 0;
  transition: opacity 0.2s ease;
  cursor: pointer;
}
.specs .filter-option .remove-filter:hover {
  color: #c82333;
}
.specs .filter-option.selected .remove-filter {
  opacity: 1;
}
.specs .drawings-content {
  min-height: 600px;
  flex: 1 1 auto;
}
@media screen and (max-width: 48em) {
  .specs .drawings-content {
    min-height: auto;
  }
}
.specs .drawings-grid {
  display: flex;
  flex-wrap: wrap;
  gap: 1.5rem;
}
@media screen and (max-width: 48em) {
  .specs .drawings-grid {
    display: grid !important;
    grid-template-columns: repeat(2, 1fr) !important;
    gap: 1rem;
    justify-items: center;
    flex-direction: unset !important;
    grid-auto-rows: min-content;
    align-content: start;
  }
}
@media screen and (max-width: 30em) {
  .specs .drawings-grid {
    gap: 0.75rem;
  }
}
.specs .drawing-item {
  border: none;
  border-radius: 0;
  overflow: visible;
  background: transparent;
  transition: all 0.3s ease;
  box-shadow: none;
  cursor: pointer;
  flex: 0 0 calc(33.333% - 1rem);
  min-width: 0;
  max-width: none;
  opacity: 1;
  filter: none;
  position: relative;
}
@media screen and (max-width: 48em) {
  .specs .drawing-item {
    width: 100% !important;
    max-width: 200px !important;
    flex: unset !important;
  }
  .specs .drawing-item:hover {
    transform: scale(1.02);
  }
}
@media screen and (max-width: 30em) {
  .specs .drawing-item {
    max-width: 180px !important;
  }
}
.specs .drawing-item:hover {
  transform: scale(1.05);
}
.specs .drawing-item.grayed-out {
  opacity: 0.4;
  filter: grayscale(50%);
}
.specs .drawing-item.selected {
  opacity: 1;
  filter: none;
  background: white;
}
.specs .drawing-diagram {
  position: relative;
  text-align: center;
  padding: 0;
  background: transparent;
  min-height: 200px;
  display: flex;
  align-items: center;
  justify-content: center;
}
@media screen and (max-width: 48em) {
  .specs .drawing-diagram {
    min-height: 170px !important;
    max-height: 170px !important;
  }
}
@media screen and (max-width: 30em) {
  .specs .drawing-diagram {
    min-height: 150px !important;
    max-height: 150px !important;
  }
}
.specs .drawing-diagram img {
  width: 100%;
  height: 100%;
  object-fit: contain;
}
.specs .specifications-table {
  background: #f5f5dc;
  padding: 0.5rem 1.5rem;
  display: none;
  border: 1px solid #e0e0e0;
  border-radius: 8px;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.1);
  width: 100%;
}
.specs .specifications-table.active {
  display: block;
}
@media screen and (max-width: 48em) {
  .specs .specifications-table {
    position: fixed;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    width: 90vw;
    max-width: 500px;
    max-height: 80vh;
    overflow-y: auto;
    z-index: 1001;
    background: white;
    box-shadow: 0 4px 20px rgba(0, 0, 0, 0.3);
    border-radius: 12px;
  }
  .specs .specifications-table.active {
    display: block;
  }
}

.mobile-backdrop {
  display: none;
}
@media screen and (max-width: 48em) {
  .mobile-backdrop {
    position: fixed;
    top: 0;
    left: 0;
    width: 100vw;
    height: 100vh;
    background: rgba(0, 0, 0, 0.5);
    z-index: 1000;
  }
}

.table-header {
  display: flex;
  justify-content: flex-end;
  align-items: center;
}
.table-header h4 {
  margin: 0;
  color: #053249;
  font-size: 1.125rem;
  font-family: Pragmatica, sans-serif;
  font-weight: 700;
}

.close-specs {
  background: none;
  border: none;
  font-size: 1.5rem;
  cursor: pointer;
  color: #666;
  width: 32px;
  height: 32px;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  margin-right: -15px;
  transition: all 0.2s ease;
}
.close-specs:hover {
  background-color: #f0f0f0;
  color: #333;
}
@media screen and (max-width: 48em) {
  .close-specs {
    width: 40px;
    height: 40px;
    font-size: 1.75rem;
    background-color: #f0f0f0;
    color: #333;
  }
  .close-specs:hover {
    background-color: #ddd;
  }
}

.specs-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
  gap: 2rem;
}

.size-column h5 {
  margin-bottom: 1rem;
  color: #053249;
  font-size: 1rem;
  font-family: Pragmatica, sans-serif;
  font-weight: 700;
  border-bottom: 1px solid #e0e0e0;
  padding-bottom: 0.5rem;
}

.spec-list {
  list-style: none;
  padding: 0;
}

.spec-item {
  display: flex;
  justify-content: space-between;
  align-items: center;
  border-bottom: 1px solid #f0f0f0;
  transition: background-color 0.2s ease;
}
.spec-item:hover {
  background-color: #f8f9fa;
  margin: 0 -1rem;
  padding-left: 1rem;
  padding-right: 1rem;
}
.spec-item:last-child {
  border-bottom: none;
}

.spec-name {
  font-weight: 500;
  color: #333;
  font-size: 0.875rem;
}

.spec-links {
  display: flex;
  align-items: center;
  gap: 0.25rem;
}

.spec-link {
  color: #0570B3;
  text-decoration: underline;
  font-size: 0.75rem;
  background: none;
  border: none;
  padding: 0;
  margin: 0;
}

.link-separator {
  color: #666;
  font-size: 0.75rem;
  margin: 0 0.25rem;
}

.spec-link:hover {
  color: #053249;
  text-decoration: underline;
}

.no-specs-message {
  text-align: center;
  color: #666;
}
.no-specs-message p {
  font-size: 1rem;
  margin: 0;
  font-style: italic;
}

.info-sidebar {
  background: transparent;
  padding: 1.5rem;
  border: none;
  border-radius: 0;
  height: fit-content;
  box-shadow: none;
  flex: 0 0 320px;
}
@media screen and (max-width: 75em) {
  .info-sidebar {
    flex: 0 0 250px;
  }
}
@media screen and (max-width: 48em) {
  .info-sidebar {
    padding: 1rem;
    flex: 1 1 100%;
  }
}

.info-section {
  margin-bottom: 2.5rem;
}
.info-section h3 {
  margin-bottom: 1.5rem;
  color: #053249;
  font-size: 1rem;
  font-family: Pragmatica, sans-serif;
  font-weight: 700;
  border-bottom: 2px solid #0570B3;
  padding-bottom: 0.5rem;
}

.info-links {
  list-style: none;
  padding: 0;
}
.info-links li {
  margin-bottom: 0.75rem;
}
.info-links a {
  color: #0570B3;
  text-decoration: none;
  font-size: 0.875rem;
  display: block;
  padding: 0.5rem 0;
  transition: all 0.2s ease;
}
.info-links a:hover {
  color: #053249;
  text-decoration: underline;
}
.info-links a.expandable .chevron {
  color: #0570B3;
  font-weight: bold;
  transition: transform 0.3s ease;
  transform-origin: center;
  display: inline-block;
  margin-right: 0.5rem;
}
.info-links a.expandable.expanded .chevron {
  transform: rotate(90deg);
}

.accordion-item {
  margin-bottom: 0.75rem;
  border: none;
  border-radius: 0;
  overflow: visible;
}
.accordion-item .accordion-header {
  background: transparent;
  padding: 0;
  cursor: pointer;
  display: flex;
  justify-content: flex-start;
  align-items: center;
  transition: color 0.2s ease;
  border: none;
}
.accordion-item .accordion-header:hover {
  background: transparent;
}
.accordion-item .accordion-header.active {
  background: transparent;
  color: #053249;
}
.accordion-item .accordion-header.active .accordion-icon {
  color: #053249;
}
.accordion-item .accordion-header h4 {
  margin: 0;
  font-size: 0.875rem;
  font-family: Pragmatica, sans-serif;
  font-weight: 700;
  color: #0570B3;
  transition: color 0.2s ease;
}
.accordion-item .accordion-header .accordion-icon {
  font-size: 0.875rem;
  font-weight: bold;
  color: #0570B3;
  transition: color 0.2s ease;
  margin-right: 0.5rem;
}
.accordion-item .accordion-header:hover h4 {
  color: #053249;
}
.accordion-item .accordion-content {
  display: none;
  padding: 0;
  background: transparent;
  border-top: none;
  margin-top: 0.5rem;
  margin-left: 1rem;
}
.accordion-item .accordion-content p, .accordion-item .accordion-content ul, .accordion-item .accordion-content ol {
  margin-bottom: 0.75rem;
  font-size: 0.875rem;
  line-height: 1.4285714286;
}
.accordion-item .accordion-content a {
  color: #0570B3;
  text-decoration: none;
}
.accordion-item .accordion-content a:hover {
  color: #053249;
  text-decoration: underline;
}

.accordions-container .accordion-item:last-child {
  margin-bottom: 0;
}

.side-section {
  margin-bottom: 2rem;
  padding-bottom: 1rem;
}
.side-section:last-child {
  margin-bottom: 0;
  border-bottom: none;
  padding-bottom: 0;
}
.side-section .section-headline {
  margin-bottom: 1rem;
  color: #053249;
  font-size: 1rem;
  font-family: Pragmatica, sans-serif;
  font-weight: 700;
  border-bottom: 2px solid #0570B3;
  padding-bottom: 0.5rem;
}
.main .title {
  font-size: 1.5rem;
  line-height: 1.4166666667;
  color: #fff;
  font-family: Pragmatica, sans-serif;
  font-weight: 700;
  text-transform: uppercase;
  background: #021F2E;
  padding: 10px 20px;
}
@media screen and (max-width: 63.9375em) {
  .main .title {
    margin-inline: -5.55567%;
  }
}
.main .prod {
  padding: 2em 0;
}
.main .prod + .prod {
  border-top: 1px solid #C6C6C6;
}
.main .prod .photo {
  margin-bottom: 1em;
}
.main .prod .photo img {
  max-width: 100%;
  height: auto;
}
.main .prod .headline, .main .prod .subheadline {
  font-size: 1rem;
  line-height: 1.625;
  font-family: Pragmatica, sans-serif;
  font-weight: 700;
}
.main .prod .headline {
  text-transform: uppercase;
}
.main .prod ul {
  list-style: none;
  padding: 0;
  margin: 0;
}
.main .prod ul li {
  display: flex;
  justify-content: flex-start;
}
.main .prod ul li span {
  flex: 0 1 17ch;
}
.main .prod ul li a {
  flex: 0 1 5ch;
}
.main .prod ul li:hover {
  background: rgba(188, 221, 255, 0.3);
}
.main .prod .type + .type {
  margin-top: 1.5em;
}
@media screen and (max-width: 40.5625em) {
  .main .prod ul li {
    flex-wrap: wrap;
  }
  .main .prod ul li + li {
    margin-top: 10px;
  }
  .main .prod ul li span {
    flex: 1 1 100%;
  }
  .main .prod ul li a {
    flex: 0 1 auto;
  }
  .main .prod ul li a + a {
    margin-left: 10px;
  }
  .main .prod .type {
    display: flex;
    justify-content: space-between;
    flex-wrap: wrap;
  }
  .main .prod .type .headline {
    flex: 1 1 100%;
  }
  .main .prod .type .subtype {
    flex: 0 1 45%;
  }
}
@media screen and (min-width: 40.625em) {
  .main .prod {
    display: flex;
    justify-content: flex-start;
    flex-wrap: wrap;
  }
  .main .prod .photo {
    flex: 1 1 100%;
  }
  .main .prod .type {
    flex: 0 1 48%;
    max-width: 300px;
  }
  .main .prod .type + .type {
    margin-top: 0;
    margin-right: 4%;
  }
  .main .prod .subtype {
    margin-top: 10px;
  }
}
@media screen and (min-width: 64em) {
  .main .prod {
    flex-wrap: nowrap;
  }
  .main .prod .photo {
    flex: 0 1 25.74%;
    margin-right: 8%;
  }
  .main .prod .type {
    flex: 0 1 33%;
    max-width: none;
  }
}

aside .title {
  font-family: Pragmatica, sans-serif;
  font-weight: 700;
  font-size: 1.5rem;
  line-height: 1.0833333333;
  text-transform: uppercase;
  border: 2px solid #222;
  padding: 20px 40px;
}
aside .headline {
  display: flex;
  font-family: Pragmatica, sans-serif;
  font-weight: 700;
  font-size: 1.5rem;
  line-height: 1.0833333333;
  background: #D5DCE5;
  padding: 14px 40px;
  margin-top: 0;
}
aside .headline svg {
  margin-right: 6px;
}
aside .content {
  background: #E9EEF4;
  padding: 20px 40px;
  padding-bottom: 40px !important;
}
aside .content .cols {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
}
aside .content .cols .col {
  flex: 0 1 46%;
}
aside .content .cols ul {
  list-style: none;
  padding: 0;
  margin: 0;
}
aside .content + .title {
  margin-top: 20px;
}
@media screen and (max-width: 63.9375em) {
  aside .title, aside .headline, aside .content {
    padding: 10px 20px;
  }
}

.search .content_container .headline {
  text-align: left;
}

ol.search_results {
  list-style: none;
  padding: 0;
  margin: 2em 0;
}
ol.search_results li + li {
  margin-top: 2em;
}
ol.search_results .meta, ol.search_results .slug {
  margin: 8px 0 0 0;
  line-height: 1.25;
  max-width: 75ch;
}
ol.search_results .slug {
  margin-top: 8px;
  font-size: 0.875rem;
  line-height: 1;
}

.html_block > .content_container {
  width: min(90%, 1600px);
  margin: 2.5rem auto;
}
@media screen and (min-width: 64em) {
  .html_block > .content_container {
    margin: 5.625rem auto 2.5rem;
  }
}

.warn {
  padding-left: 40px;
  color: #f00;
  background-repeat: no-repeat;
  background-position: left top;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='30' height='30' viewBox='0 0 24 24' fill='%23f00' stroke='%23f00' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M10.29 3.86L1.82 18a2 2 0 0 0 1.71 3h16.94a2 2 0 0 0 1.71-3L13.71 3.86a2 2 0 0 0-3.42 0z'%3E%3C/path%3E%3Cline x1='12' y1='9' x2='12' y2='13' stroke='%23fff'%3E%3C/line%3E%3Cline x1='12' y1='17' x2='12.01' y2='17' stroke='%23fff'%3E%3C/line%3E%3C/svg%3E");
}
@media screen and (min-width: 64em) {
  .warn {
    margin-top: -4em;
  }
}

.warning_box {
  border: 1px solid red;
  padding: 15px;
  position: sticky;
  top: 10px;
}
.warning_box p {
  padding-left: 40px !important;
}
.warning_box p.warn {
  margin-top: 0;
}

.video_block .content_container {
  width: min(90%, 1600px);
  margin: 0 auto;
  padding: 3.5rem 0 1.5rem;
}
@media screen and (min-width: 48em) {
  .video_block .content_container {
    padding: 6.25rem 0;
  }
}
.video_block .headline {
  text-align: center;
  margin: 0 0 1.25rem;
}
.video_block .intro_copy, .video_block .footer_copy {
  text-align: center;
  margin: 1.25rem auto;
  max-width: 100ch;
}
.video_block .footer_copy {
  margin-bottom: 3rem;
}
.video_block .video {
  max-width: 1000px;
  margin-inline: auto;
}
.video_block.dark_gray {
  background: #444444;
}
.video_block.dark_gray .headline, .video_block.dark_gray .intro_copy, .video_block.dark_gray .footer_copy {
  color: #fff;
}
.video_block.dark_gray .btn.btn--blue {
  background: #fff;
  color: #0570B3;
  border-color: #fff;
}
.video_block.dark_gray .btn.btn--blue:hover, .video_block.dark_gray .btn.btn--blue:focus {
  background: #0570B3;
  color: #fff;
  border-color: #0570B3;
}

.testimonials {
  background: #E9EEF4;
}
.testimonials .content_container {
  width: min(90%, 1600px);
  margin: 0 auto;
  padding: 2.5rem 0;
}
@media screen and (min-width: 64em) {
  .testimonials .content_container {
    padding: 4.375rem 0;
  }
}
.testimonials blockquote {
  padding-left: 58px;
  font-size: 1rem;
  line-height: 1.625;
  max-width: 1200px;
  margin: 0 5%;
  background-position: left top;
  background-repeat: no-repeat;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='38' height='30.833' viewBox='0 0 38 30.833'%3E%3Cpath d='M48.528,29.032A30.032,30.032,0,0,0,41.076,36.6,14.728,14.728,0,0,0,38.857,44.5a6.379,6.379,0,0,1,3.413-.91,5.578,5.578,0,0,1,4.266,1.763,6.317,6.317,0,0,1,1.65,4.494,6.487,6.487,0,0,1-2.1,5.006,8,8,0,0,1-5.632,1.934q-8.078,0-8.078-10.695a19.618,19.618,0,0,1,.683-5.29,16.979,16.979,0,0,1,2.219-4.778,27.023,27.023,0,0,1,4.153-4.778,72.251,72.251,0,0,1,6.485-5.29Zm-21.844,0A30.032,30.032,0,0,0,19.232,36.6,14.728,14.728,0,0,0,17.013,44.5a6.379,6.379,0,0,1,3.413-.91,5.578,5.578,0,0,1,4.266,1.763,6.317,6.317,0,0,1,1.65,4.494,6.487,6.487,0,0,1-2.1,5.006,8,8,0,0,1-5.632,1.934q-8.078,0-8.078-10.695a19.618,19.618,0,0,1,.683-5.29,16.979,16.979,0,0,1,2.219-4.778,27.023,27.023,0,0,1,4.153-4.778,72.252,72.252,0,0,1,6.485-5.29Z' transform='translate(-10.528 -25.96)' fill='%23053249'/%3E%3C/svg%3E%0A");
}
@media screen and (max-width: 47.9375em) {
  .testimonials blockquote {
    background-size: 28px 23px;
    padding-left: 38px;
  }
}
.testimonials cite {
  display: block;
  margin: 1.5em 0 0 0;
  font-size: 1rem;
  line-height: 1.625;
  font-family: Pragmatica, sans-serif;
  font-weight: 700;
  font-style: normal;
}
.testimonials cite .title, .testimonials cite .loc {
  display: block;
  font-family: Pragmatica, sans-serif;
  font-weight: 400;
}
@media screen and (max-width: 47.9375em) {
  .testimonials cite {
    font-size: 0.875rem;
    line-height: 1.5333333333;
  }
}
.testimonials ul.list {
  list-style: none;
  padding: 1em 0;
  margin: 0;
  overflow: visible;
  display: flex;
  justify-content: flex-start;
  align-items: stretch;
  flex-wrap: wrap;
  gap: 2em 2%;
}
.testimonials ul.list > li {
  padding: calc(8.5756676558px + 3.2640949555vw) 0;
  background: #fff;
  border-radius: 20px;
  box-shadow: 0 3px 6px rgba(0, 0, 0, 0.16);
  flex: 0 1 100%;
}
@media screen and (min-width: 64em) {
  .testimonials ul.list > li.twoUp {
    flex: 0 1 49%;
  }
}
@media screen and (min-width: 75em) {
  .testimonials ul.list > li {
    padding: 48px 0;
  }
}
@media screen and (min-width: 87.5em) {
  .testimonials ul.list > li.threeUp {
    flex: 0 1 32%;
  }
}
.testimonials ul.list > li.oneUp:not(.withPhoto) blockquote {
  font-size: clamp(1rem, -0.362rem + 2.13vw, 1.5rem);
}
.testimonials ul.list > li.twoUp blockquote {
  font-size: clamp(1rem, 0.319rem + 1.06vw, 1.25rem);
}
.testimonials ul.list > li.withPhoto blockquote {
  font-size: clamp(1rem, 0.319rem + 1.06vw, 1.25rem);
}
.testimonials ul.list > li.withPhoto .photo {
  border-radius: 20px 20px 0 0;
  overflow: hidden;
  margin: calc(-8.5756676558px + -3.2640949555vw) 0 2em;
}
.testimonials ul.list > li.withPhoto .photo img {
  width: 100%;
  height: auto;
}
@media screen and (min-width: 35.9375em) and (max-width: 63.9375em) {
  .testimonials ul.list > li.withPhoto .photo {
    width: 77%;
    margin: 0 auto 2em;
    border-radius: 0;
    max-width: 600px;
  }
}
@media screen and (min-width: 64em) {
  .testimonials ul.list > li.withPhoto {
    display: flex;
    justify-content: space-between;
    align-items: stretch;
  }
  .testimonials ul.list > li.withPhoto .photo {
    flex: 0 1 49.375%;
    margin-bottom: calc(-8.5756676558px + -3.2640949555vw);
  }
  .testimonials ul.list > li.withPhoto .photo img {
    width: 100%;
    height: 100%;
    object-fit: cover;
  }
  .testimonials ul.list > li.withPhoto blockquote {
    flex: 0 1 calc(41.875% - 58px);
    margin-left: 3.75%;
  }
  .testimonials ul.list > li.withPhoto .photo {
    border-radius: 20px 0 0 20px;
  }
  .testimonials ul.list > li.withPhoto.photoRight .photo {
    order: 2;
    border-radius: 0 20px 20px 0;
  }
  .testimonials ul.list > li.withPhoto.photoRight blockquote {
    order: 1;
  }
}
@media screen and (min-width: 75em) {
  .testimonials ul.list > li.withPhoto .photo {
    margin: -48px 0;
  }
}

.locations_main .content_container {
  width: min(90%, 90vw);
  margin: 0 auto;
}
@media screen and (min-width: 48em) {
  .locations_main .content_container {
    width: min(90%, 1200px);
  }
}
@media screen and (min-width: 64em) {
  .locations_main .content_container {
    width: min(90%, 1400px);
  }
}
@media screen and (min-width: 90em) {
  .locations_main .content_container {
    width: min(90%, 1600px);
  }
}
@media screen and (min-width: 120em) {
  .locations_main .content_container {
    width: min(90%, 1800px);
  }
}
@media screen and (min-width: 160em) {
  .locations_main .content_container {
    width: min(90%, 2000px);
  }
}
@media screen and (min-width: 64em) {
  .locations_main .content_container {
    margin: 0 auto;
  }
}
.locations_main .photo {
  margin-bottom: 2em;
}
.locations_main .photo img {
  width: 100%;
  height: auto;
}
.locations_main form {
  margin: 1em 0 2em;
}
.locations_main form button.btn {
  margin-top: 1em;
}
.locations_main .outside {
  background: #E9EEF4;
  padding: 26px 30px;
}
.locations_main .outside ul {
  list-style: none;
  padding: 0;
  margin: 0.75em 0 0;
}
.locations_main .outside ul li + li {
  margin-top: 0.5em;
}
@media screen and (min-width: 37.5em) {
  .locations_main .content_container {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
  }
  .locations_main .content_container .photo {
    flex: 0 1 45%;
    margin-right: 5%;
  }
  .locations_main .content_container .copy {
    flex: 1 1 auto;
  }
}
@media screen and (min-width: 64em) {
  .locations_main .content_container .photo {
    flex: 0 1 39.375%;
  }
}
@media screen and (min-width: 75em) {
  .locations_main .copy {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
  }
  .locations_main .copy .inside {
    flex: 0 1 48%;
  }
  .locations_main .copy .outside {
    flex: 0 1 calc(40% - 60px);
  }
}

.location_detail .content_container {
  width: min(90%, 900px);
  margin: 2.5rem auto;
}
@media screen and (min-width: 64em) {
  .location_detail .content_container {
    margin: 5.625rem auto 2.5rem;
  }
}
.location_detail h1, .location_detail p {
  text-align: center;
}
.location_detail .loc_list {
  list-style: none;
  padding: 0;
  margin: 2em 0;
}
.location_detail .loc_list > li {
  border: 1px solid #C2CCD9;
  border-radius: 10px;
  overflow: hidden;
}
.location_detail .loc_list > li + li {
  margin-top: 1em;
}
.location_detail .loc_list .regions, .location_detail .loc_list .details {
  padding: 18px 23px;
}
.location_detail .loc_list .regions ul {
  list-style: none;
  padding: 0;
  margin: 0;
}
.location_detail .loc_list .regions ul li {
  font-family: Pragmatica, sans-serif;
  font-weight: 700;
}
.location_detail .loc_list .details {
  background: #E9EEF4;
}
.location_detail .loc_list .details .name {
  font-size: 1.5rem;
  line-height: 1.4166666667;
}
.location_detail .loc_list .details p:not(.name) {
  text-align: left;
  display: grid;
  grid-template-columns: max-content auto;
  grid-template-rows: auto auto auto;
  gap: 6px 14px;
  grid-template-areas: "lbl1 info1" "lbl2 info2" "lbl3 info3" "lbl4 info4" "lbl5 info5";
}
.location_detail .loc_list .details p:not(.name) span:nth-child(1) {
  grid-area: lbl1;
}
.location_detail .loc_list .details p:not(.name) span:nth-child(2) {
  grid-area: info1;
}
.location_detail .loc_list .details p:not(.name) span:nth-child(3) {
  grid-area: lbl2;
}
.location_detail .loc_list .details p:not(.name) span:nth-child(4) {
  grid-area: info2;
}
.location_detail .loc_list .details p:not(.name) span:nth-child(5) {
  grid-area: lbl3;
}
.location_detail .loc_list .details p:not(.name) span:nth-child(6) {
  grid-area: info3;
}
.location_detail .loc_list .details p:not(.name) span:nth-child(7) {
  grid-area: lbl4;
}
.location_detail .loc_list .details p:not(.name) span:nth-child(8) {
  grid-area: info4;
}
.location_detail .loc_list .details p:not(.name) span.info {
  overflow-wrap: break-word;
  word-wrap: break-word;
  -ms-word-break: break-all;
  word-break: break-all;
  word-break: break-word;
}
.location_detail .loc_list .details .details_logo img {
  height: 125px;
  width: auto;
  margin-inline: auto;
  display: block;
}
@media screen and (min-width: 62.5em) {
  .location_detail .loc_list .details {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
  }
  .location_detail .loc_list .details .details_copy {
    flex: 0 1 auto;
  }
  .location_detail .loc_list .details .details_logo {
    flex: 0 1 210px;
    margin-left: 5%;
  }
  .location_detail .loc_list .details .details_logo img {
    margin-inline: auto 0;
  }
}
@media screen and (min-width: 40.625em) {
  .location_detail .loc_list li {
    display: flex;
    justify-content: space-between;
    align-items: stretch;
  }
  .location_detail .loc_list li .regions {
    flex: 0 1 32%;
  }
  .location_detail .loc_list li .details {
    flex: 0 1 68%;
  }
  .location_detail .loc_list .details .name {
    text-align: left;
  }
}

.custom-pin-marker {
  background: transparent !important;
  border: none !important;
}
.custom-pin-marker .pin-marker {
  position: relative;
  width: 32px;
  height: 32px;
  cursor: pointer;
}
.custom-pin-marker .pin-marker::before {
  content: "";
  position: absolute;
  width: 32px;
  height: 32px;
  background-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 24 24' fill='%23B8860B' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M12 2C8.13 2 5 5.13 5 9c0 5.25 7 13 7 13s7-7.75 7-13c0-3.87-3.13-7-7-7zm0 9.5c-1.38 0-2.5-1.12-2.5-2.5s1.12-2.5 2.5-2.5 2.5 1.12 2.5 2.5-1.12 2.5-2.5 2.5z'/%3E%3C/svg%3E");
  background-size: contain;
  background-repeat: no-repeat;
  background-position: center;
  top: 0;
  left: 0;
  filter: drop-shadow(0 2px 4px rgba(0, 0, 0, 0.3));
}
.custom-pin-marker .pin-marker.hover::before {
  background-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 24 24' fill='%23DAA520' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M12 2C8.13 2 5 5.13 5 9c0 5.25 7 13 7 13s7-7.75 7-13c0-3.87-3.13-7-7-7zm0 9.5c-1.38 0-2.5-1.12-2.5-2.5s1.12-2.5 2.5-2.5 2.5 1.12 2.5 2.5-1.12 2.5-2.5 2.5z'/%3E%3C/svg%3E");
  transform: scale(1.1);
}
.custom-pin-marker .pin-marker.selected::before {
  background-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 24 24' fill='%23FF4444' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M12 2C8.13 2 5 5.13 5 9c0 5.25 7 13 7 13s7-7.75 7-13c0-3.87-3.13-7-7-7zm0 9.5c-1.38 0-2.5-1.12-2.5-2.5s1.12-2.5 2.5-2.5 2.5 1.12 2.5 2.5-1.12 2.5-2.5 2.5z'/%3E%3C/svg%3E");
  animation: pulse 1.5s infinite;
}

@keyframes pulse {
  0% {
    transform: scale(1);
    filter: drop-shadow(0 2px 4px rgba(0, 0, 0, 0.3)) drop-shadow(0 0 0 rgba(255, 68, 68, 0.7));
  }
  50% {
    transform: scale(1.15);
    filter: drop-shadow(0 3px 6px rgba(0, 0, 0, 0.4)) drop-shadow(0 0 12px rgba(255, 68, 68, 0.6));
  }
  100% {
    transform: scale(1);
    filter: drop-shadow(0 2px 4px rgba(0, 0, 0, 0.3)) drop-shadow(0 0 0 rgba(255, 68, 68, 0));
  }
}
.gap_recall .illustration {
  margin: 1em 0;
}
.gap_recall .illustration img {
  max-width: 100%;
  height: auto;
}
.gap_recall .illustration.tape {
  margin-bottom: 3em;
}
.gap_recall .illustration.tape img {
  width: 70%;
  max-width: 200px;
}
.gap_recall form hr {
  margin: 2em 0;
}
.gap_recall form .num_of_floors {
  margin: 1em 0;
}
.gap_recall form .num_of_floors select {
  margin-top: 10px;
  max-width: 200px;
  display: block;
}
.gap_recall form .comments {
  margin-top: 2em;
}
.gap_recall form .measurement_group {
  display: flex;
  justify-content: flex-start;
  align-items: center;
  gap: 12px;
}
.gap_recall form .measurement_group label {
  flex: 0 1 115px;
  margin-top: 0;
}
.gap_recall form .floor {
  border-left: 10px solid #0570B3;
  padding: 20px;
  margin-top: 30px;
  background: #fafafa;
}
.gap_recall form .floor > fieldset > legend {
  text-transform: uppercase;
}
.gap_recall form .floor .landing legend {
  font-size: 1rem;
  line-height: 1.25;
}
.gap_recall form .floor .door_width select {
  margin-top: 10px;
  max-width: 242px;
  display: block;
}

/*  */
/* ===========================
	CAB BUILDER
============================== */
/*
Tipr 3.2
Copyright (c) 2017 Tipue
Tipr is released under the MIT License
http://www.tipue.com/tipr
*/
.tipr_content {
  color: #fff;
  font-size: 0.9375rem;
  line-height: 1.2;
  background-color: #0570B3;
  padding: 7px 14px 6px 14px;
}

.tipr_container_below {
  display: none;
  position: absolute;
  margin-top: 7px;
  z-index: 1000;
}

.tipr_container_above {
  display: none;
  position: absolute;
  bottom: calc(100% + 10px);
  z-index: 1000;
}

.tipr_point_above, .tipr_point_below {
  position: relative;
  background: #0570B3;
  border: 1px solid #0570B3;
  border-radius: 1px;
}

.tipr_point_above:after, .tipr_point_above:before {
  position: absolute;
  pointer-events: none;
  border: solid transparent;
  top: 100%;
  content: "";
  height: 0;
  width: 0;
}

.tipr_point_above:after {
  border-top-color: #0570B3;
  border-width: 8px;
  left: 50%;
  margin-left: -8px;
}

.tipr_point_above:before {
  border-top-color: #0570B3;
  border-width: 9px;
  left: 50%;
  margin-left: -9px;
}

.tipr_point_below:after, .tipr_point_below:before {
  position: absolute;
  pointer-events: none;
  border: solid transparent;
  bottom: 100%;
  content: "";
  height: 0;
  width: 0;
}

.tipr_point_below:after {
  border-bottom-color: #D6C38A;
  border-width: 8px;
  left: 50%;
  margin-left: -8px;
}

.tipr_point_below:before {
  border-bottom-color: #D6C38A;
  border-width: 9px;
  left: 50%;
  margin-left: -9px;
}

.CAB {
  /* .js-hiraku-offcanvas-body-right .js-hiraku-offcanvas-active .cab-builder-options-mobile{padding:15px}
  .js-hiraku-offcanvas-body-right #cab-builder-image{position:fixed;top:20px;left:0;z-index:100002;max-width:calc(20% + 10px);border:5px solid $blue;pointer-events:none}
  .js-hiraku-offcanvas-body-right #cab-builder-image:before{display:inline-block;font:2.25em/.78125em FontAwesome;text-rendering:auto;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;position:absolute;top:-15px;left:-5px;border-radius:50%;width:.78125em;height:.78125em;text-align:center;content:"\f057";background-color:#012b46;color:#fff;z-index:1;box-shadow:0 0 15px #000} */
  /* #cab-builder-form{padding:35px;background-color:#ffe7cb}
  #cab-builder-form .gsection{padding-top:45px}
  #cab-builder-form .gsection .gsection_title{position:absolute;overflow:hidden;clip:rect(0 0 0 0);height:1px;width:1px;margin:-1px;padding:0;border:0}
  #cab-builder-form .gsection .gsection_description{text-align:left}
  #cab-builder-form .gform_fields{border-top:1px solid #012b46}
  #cab-builder-form .cab_builder_field{display:flex;-ms-flex-align:center;align-items:center;padding:4px 0;border-bottom:1px solid #012b46;font-size:1rem}
  #cab-builder-form .cab_builder_field label{white-space:nowrap;font-weight:700;font-size:1em}
  #cab-builder-form .cab_builder_field label:after{content:":"}
  #cab-builder-form .cab_builder_field .ginput_container{width:100%}
  #cab-builder-form .cab_builder_field input{position:relative;top:3px;margin:0;padding:0 5px;border:none;text-align:left;height:auto;background-color:transparent;font-size:1em;pointer-events:none}
   */
}
.CAB .content_container {
  width: min(90%, 1180px);
  margin: 2.5rem auto;
}
@media screen and (min-width: 64em) {
  .CAB .content_container {
    margin: 5.625rem auto 2.5rem;
  }
}
.CAB .cab-builder-columns ul {
  overflow: visible;
  list-style: none;
  padding: 0;
  margin: 0;
}
.CAB .cab-builder-columns #cab-builder-image {
  margin-bottom: 2em;
  z-index: 1001;
  background: #fff;
}
.CAB .cab-builder-columns #cab-builder-image img {
  width: auto;
  height: 75vh;
  display: block;
  margin: 0 auto;
}
.CAB .cab-builder-columns #cab-builder-image #color_overlay {
  position: absolute;
  right: 0;
  top: 0;
  bottom: 0;
  height: 75vh;
  width: auto;
  mix-blend-mode: multiply;
}
.CAB .cab-builder-columns #cab-builder-image .label {
  display: none;
}
@media screen and (max-width: 49.9375em) {
  .CAB .cab-builder-columns #cab-builder-image #color_overlay {
    right: unset;
    left: 50%;
    transform: translateX(-50%);
  }
  .CAB .cab-builder-columns #cab-builder-image .haulfull-img img {
    position: absolute !important;
    top: 0 !important;
    left: 48% !important;
  }
  .CAB .cab-builder-columns #cab-builder-image.float {
    position: fixed;
    z-index: 10;
    right: 3%;
    top: 40px;
    z-index: 10;
    border: 3px solid #0570B3;
    box-shadow: -4px 4px 10px rgba(0, 0, 0, 0.4);
    opacity: 0;
    animation: fadeIn 0.15s ease-in forwards;
  }
  @keyframes fadeIn {
    to {
      opacity: 1;
    }
  }
  .CAB .cab-builder-columns #cab-builder-image.float img {
    width: 25vw;
    height: auto;
  }
  .CAB .cab-builder-columns #cab-builder-image.float .haulfull-img img {
    position: absolute !important;
    top: 0 !important;
    left: 40% !important;
  }
  .CAB .cab-builder-columns #cab-builder-image.float #color_overlay {
    width: 25vw;
    height: auto;
  }
  .CAB .cab-builder-columns #cab-builder-image.float .label {
    display: block;
    position: absolute;
    left: -3px;
    right: -3px;
    bottom: -2em;
    text-align: center;
    color: #fff;
    background: #0570B3;
    padding: 4px 2px;
  }
}
.CAB .cab-builder-columns #cabBuilderMobilePlaceholder {
  width: 100%;
  height: 1px;
}
@media screen and (min-width: 50em) {
  .CAB .cab-builder-columns #cabBuilderMobilePlaceholder {
    display: none;
  }
}
.CAB .cab-builder-columns #cabBuilderMobilePlaceholder.active {
  height: 75vh;
}
@media screen and (max-width: 49.9375em) {
  .CAB .cab-builder-columns .cab-builder-options {
    position: relative;
    z-index: 0;
  }
  .CAB .cab-builder-columns .cab-builder-option {
    flex: 0 1 48%;
  }
}
@media screen and (min-width: 50em) {
  .CAB .cab-builder-columns {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
  }
  .CAB .cab-builder-columns #cab-builder-image {
    flex: 0 1 34.6875%;
    position: sticky;
    top: 10px;
    height: 100%;
    max-height: calc(100vh - 20px);
    aspect-ratio: 904/2107;
  }
  .CAB .cab-builder-columns #cab-builder-image #cab-image-wrap {
    width: 100%;
    height: 100%;
    object-fit: cover;
    position: relative;
  }
  .CAB .cab-builder-columns #cab-builder-image #cab-image-wrap img {
    width: 100%;
    height: 100%;
    object-fit: contain;
    object-position: right top;
  }
  .CAB .cab-builder-columns #cab-builder-image #color_overlay {
    height: 100%;
  }
  .CAB .cab-builder-columns #cab-builder-image .label {
    display: none;
  }
  .CAB .cab-builder-columns .cab-builder-options {
    flex: 0 1 60.3125%;
  }
}
.CAB .cab-builder-selections {
  margin: 2em 0;
}
.CAB .cab-builder-selections ul {
  list-style: none;
  padding: 0;
  margin: 1em 0 0 0;
}
.CAB .cab-builder-selections ul li + li {
  margin-top: 0.25em;
}
.CAB .cab-builder-selections .lbl {
  font-family: Pragmatica, sans-serif;
  font-weight: 700;
}
.CAB .save-form {
  display: none;
}
.CAB #CAB_form label + p {
  margin: 6px 0 1em;
}
.CAB .cab-builder-columns > div {
  max-width: 100%;
  -ms-flex-preferred-size: 100%;
  flex-basis: 100%;
}
.CAB .cab-builder-introduction-text {
  margin-bottom: 45px;
}
.CAB #cab-builder-options {
  margin: 2em 0 0 0;
}
.CAB #cab-builder-options > li {
  margin-bottom: 32px;
  position: relative;
}
.CAB #cab-builder-options > li:last-child {
  margin-bottom: 0;
}
.CAB #cab-builder-options > li img {
  margin-left: auto;
  margin-right: auto;
}
.CAB #cab-builder-options > li p.footnote {
  font-size: 0.875rem;
  line-height: 1.2857142857;
  max-width: 70ch;
  margin: -26px 0 -6px;
}
.CAB #cab-builder-options .option_title {
  position: sticky;
  z-index: 1;
  top: 0;
  background: #fff;
  padding: 8px 0;
  display: flex;
  justify-content: space-between;
}
.CAB #cab-builder-options .cb-clear-selection {
  font-size: 0.9375rem;
  line-height: 1;
  border: 0;
  background: none;
  color: #0570B3;
  z-index: 2;
}
.CAB #cab-builder-options .cab-builder-option {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  margin-bottom: 5px;
  width: calc(100% - 34px);
}
.CAB #cab-builder-options .cab-builder-option:before {
  content: "";
  display: table;
}
.CAB #cab-builder-options .cab-builder-option:after {
  content: "";
  display: table;
  clear: both;
}
.CAB #cab-builder-options .cab-builder-option.cab-builder-series-options {
  width: 100%;
}
.CAB #cab-builder-options .cab-builder-option li {
  position: relative;
  padding: 5px;
}
@media screen and (max-width: 28.0625em) {
  .CAB #cab-builder-options .cab-builder-option li {
    width: calc(50% - 6px);
    padding: 0;
    margin-bottom: 0.5em;
  }
  .CAB #cab-builder-options .cab-builder-option li button {
    width: 100%;
  }
}
.CAB #cab-builder-options .cab-builder-option img {
  display: block;
  outline: 3px solid transparent;
  background: #fff;
}
.CAB #cab-builder-options .cab-builder-option button {
  border: 0;
  background: transparent;
  cursor: pointer;
  display: block;
  color: #222;
  padding: 3px;
}
.CAB #cab-builder-options .cab-builder-option button.selected img, .CAB #cab-builder-options .cab-builder-option button:hover img, .CAB #cab-builder-options .cab-builder-option button:focus img {
  outline-color: #0570B3;
}
@media screen and (max-width: 49.9375em) {
  .CAB #cab-builder-options .cab-builder-option button {
    padding-top: 3px;
  }
}
.CAB #cab-builder-options .cab-builder-option button span.visuallyhidden.show {
  display: block;
  width: calc(100% - 22px);
  border: 0;
  clip: none;
  height: auto;
  margin: 0 auto;
  overflow: visible;
  padding: 0;
  position: static;
  white-space: unset;
  padding: 8px;
  background: #efefef;
}
@media screen and (max-width: 49.9375em) {
  .CAB #cab-builder-options .cab-builder-option button span.visuallyhidden {
    display: block;
    width: calc(100% - 22px);
    border: 0;
    clip: none;
    height: auto;
    margin: 0 auto;
    overflow: visible;
    padding: 0;
    position: static;
    white-space: unset;
    padding: 8px;
    background: #efefef;
  }
}
.CAB #cab-builder-options .cab-builder-option.with-image {
  padding: 17px;
  margin-top: 7px;
  background-color: #efefef;
}
.CAB #cab-builder-options .cab-builder-series-options li {
  display: flex;
  width: calc(25% - 6px);
  margin-left: 3px;
  margin-right: 3px;
  margin-bottom: 6px;
  padding: 0;
  background-color: #efefef;
}
.CAB #cab-builder-options .cab-builder-series-options li button {
  flex: 1 1 100%;
  display: flex;
  -ms-flex-align: center;
  align-items: center;
  justify-content: center;
  margin: 0;
  padding: 17px;
  text-align: center;
}
.CAB #cab-builder-options .cab-builder-series-options li button span {
  display: block;
  line-height: 1.2;
}
.CAB #cab-builder-options .cab-builder-series-options li button {
  border: 0;
  background: none;
  cursor: pointer;
}
.CAB #cab-builder-options .cab-builder-series-options li button.selected, .CAB #cab-builder-options .cab-builder-series-options li button:hover, .CAB #cab-builder-options .cab-builder-series-options li button:focus {
  box-shadow: 0 0 0 3px inset #0570B3;
  text-decoration: none;
}
.CAB #cab-builder-image {
  position: relative; /* max-width:555px */
}
.CAB #cab-builder-image .cab-builder-new-layer {
  position: absolute;
  top: 0;
  left: 50%;
  transform: translateX(-50%);
}
.CAB .mfp-content {
  max-width: 650px;
  margin-right: auto;
  margin-left: auto;
}
.CAB .cab-builder-buttons {
  text-align: center;
  margin-bottom: 2em;
}
.CAB .cab-builder-buttons > a {
  margin-bottom: 25px;
}
@media screen and (max-width: 49.9375em) {
  .CAB #cab-builder-options .cab-builder-series-options li {
    width: calc(50% - 6px);
  }
  .CAB .cab-builder-buttons > a {
    margin-bottom: 15px;
  }
}
.CAB .cab-builder-option button.color {
  display: none !important;
  position: absolute;
  top: 8px;
  right: 8px;
  width: auto !important;
}
.CAB .cab-builder-option button.color::before {
  content: "";
  position: absolute;
  left: 0;
  top: 0;
  width: 40px;
  height: 40px;
  background: radial-gradient(rgba(0, 0, 0, 0.2) 0%, rgba(0, 0, 0, 0) 80%);
  z-index: 0;
}
.CAB .cab-builder-option button.color svg {
  position: relative;
  z-index: 1;
}
@media screen and (min-width: 64em) {
  .CAB .cab-builder-option button.color svg {
    width: 30px;
    height: 30px;
  }
}
.CAB .cab-builder-option button.tip.selected ~ button.color {
  display: block !important;
}
.CAB .cab-builder-option button:not(.selected).tip:hover ~ button.color, .CAB .cab-builder-option button:not(.selected).tip:focus ~ button.color {
  display: block !important;
  pointer-events: none;
}
.CAB .cab-builder-option button:not(.selected).tip:hover ~ button.color svg image, .CAB .cab-builder-option button:not(.selected).tip:focus ~ button.color svg image {
  opacity: 0;
}
.CAB #color_picker {
  position: absolute;
  z-index: 2;
  left: 0;
  top: 0;
  right: 0;
  bottom: 0;
  background: rgba(0, 0, 0, 0.7);
  display: none;
  flex-direction: column;
  justify-content: center;
  align-items: center;
}
.CAB #color_picker.show {
  display: flex;
}
.CAB #color_picker form {
  margin: 0;
  flex: 1 1 100%;
  max-width: 220px;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
}
.CAB #color_picker form label, .CAB #color_picker form legend {
  font-size: 0.875rem;
  line-height: 1;
  color: #fff;
  margin-bottom: 0;
}
.CAB #color_picker form label + label, .CAB #color_picker form legend + label {
  margin-top: 10px;
}
.CAB #color_picker form label.color_input {
  width: 100%;
  display: flex;
  justify-content: flex-start;
  align-items: flex-start;
}
.CAB #color_picker form label.color_input .lbl {
  flex: 0 1 auto;
  margin-right: 10px;
}
.CAB #color_picker form label.color_input input[type=color] {
  flex: 1 1 150px;
  height: 100px;
  border: 1px solid #fff;
  border-radius: 0;
}
.CAB #color_picker form input[type=range] {
  width: 80%;
  /* -webkit-appearance: none; appearance: none; background: transparent; cursor: pointer;

  &::-webkit-slider-runnable-track {background: #f00; height: 15px;}
  &::-moz-range-track {background: #f00; height: 15px;}

  &::-webkit-slider-thumb {-webkit-appearance: none; appearance: none; margin-top: -12px; background-color: #5cd5eb; height: 2rem; width: 1rem;}

  &::-moz-range-thumb {border: none; border-radius: 0; background-color: #5cd5eb; height: 2rem; width: 1rem;}

  &:focus {
      outline: none;
  }
  &:focus::-webkit-slider-thumb {
      border: 1px solid #053a5f;
      outline: 3px solid #053a5f;
      outline-offset: 0.125rem;
  }
  &:focus::-moz-range-thumb {
      border: 1px solid #053a5f;
      outline: 3px solid #053a5f;
      outline-offset: 0.125rem;
  } */
}
.CAB #color_picker form fieldgroup {
  display: flex;
  justify-content: space-between;
  align-items: center;
  width: 100%;
}
.CAB #color_picker form fieldgroup + fieldgroup {
  margin-top: 10px;
}
.CAB #color_picker form fieldgroup legend {
  flex: 0 1 auto;
  min-width: 38px;
  margin-right: 10px;
}
.CAB #color_picker form fieldgroup label {
  margin-top: 0;
  flex: 1 1 150px;
}
.CAB #color_picker form fieldgroup label + label {
  margin-top: 0;
  margin-left: 4px;
}
.CAB #color_picker form fieldgroup label input[type=text] {
  width: calc(100% - 6px);
  padding: 3px;
  border-width: 1px;
  border-radius: 4px;
}
.CAB #color_picker form button.clear {
  background: none;
  border: 0;
  color: #fff;
  text-decoration: underline;
  cursor: pointer;
  width: 150px;
  margin: 8px 0 14px 60px;
  font-size: 0.875rem;
  line-height: 1;
}
.CAB #color_picker form button.close {
  padding: 8px 20px;
  font-size: 1rem;
  line-height: 1;
  margin: 1em 0 0 60px;
  width: auto;
}
@media screen and (max-width: 49.9375em) {
  .CAB #color_picker {
    position: fixed;
    z-index: 5;
    left: 0;
    top: 0;
    right: 0;
    bottom: 0;
    justify-content: flex-start;
    align-items: flex-start;
    padding-left: 10px;
    padding-top: 40px;
    margin-top: 0 !important;
  }
  .CAB #color_picker form {
    flex: 0 1 auto;
  }
}
@media screen and (min-width: 36em) and (max-width: 49.9375em) {
  .CAB #color_picker {
    align-items: center;
  }
}

/* ===========================
	HEADER
============================== */
/* @link https://utopia.fyi/type/calculator?c=320,29,2,767,58,2,0,0,&s=0.75|0.5|0.25,1.5|2|3|4|6,s-l */
/* @link https://utopia.fyi/type/calculator?c=768,29,2,1200,58,2,0,0,&s=0.75|0.5|0.25,1.5|2|3|4|6,s-l */
:root {
  --step-mobile: clamp(1.81rem, calc(0.51rem + 6.49vw), 3.63rem);
  --step-desktop: clamp(1.81rem, calc(-1.41rem + 6.71vw), 3.63rem);
}

header {
  background: #fff;
}
header .skip_to_content_link {
  position: absolute;
  z-index: 2;
  left: 50%;
  top: 0;
  transform: translate(-50%, -100%);
  transition: transform 0.1s ease-in;
  background: #fff;
  padding: 4px 20px;
  border: 4px solid orange;
  border-top-width: 0;
}
header .skip_to_content_link:focus {
  transform: translate(-50%, 0%);
  box-shadow: 0 2px 5px rgba(0, 0, 0, 0.56);
}
header .util_links {
  flex: 1 1 100%;
  background: #053249;
}
header .util_links .content_container {
  width: min(100%, 1600px);
  margin-inline: auto;
}
@media screen and (min-width: 37.5em) {
  header .util_links .content_container {
    width: min(90%, 1600px);
  }
}
header .util_links ul {
  list-style: none;
  padding: 0;
  margin: 0;
  display: flex;
  justify-content: space-between;
  align-items: stretch;
  flex-wrap: wrap;
}
header .util_links ul li {
  flex: 1 1 auto;
  display: flex;
}
header .util_links ul li a {
  flex: 1 1 100%;
  display: block;
  padding: 16px 0;
  color: #fff;
  background: #053249;
  text-decoration: none;
  font-size: 0.8125rem;
  line-height: 1.3076923077;
  text-align: center;
}
header .util_links ul li a:hover, header .util_links ul li a:focus {
  text-decoration: underline;
}
@media screen and (min-width: 23.4375em) {
  header .util_links ul li a {
    font-size: 0.875rem;
    line-height: 1.2857142857;
  }
}
header .util_links ul li:first-child a {
  background: #0570B3;
}
header .util_links ul li:first-child a:hover, header .util_links ul li:first-child a:focus {
  background: #045a90;
}
header .util_links ul li:last-child a {
  padding-right: 0;
}
@media screen and (min-width: 37.5em) {
  header .util_links ul {
    justify-content: space-between;
  }
  header .util_links ul li {
    flex: 0 1 auto;
  }
  header .util_links ul li a {
    padding-left: 20px;
    padding-right: 20px;
  }
}
header .util_links .my-rep-utility {
  align-self: flex-start;
  flex: 1 1 100%;
  order: 1;
}
@media screen and (min-width: 37.5em) {
  header .util_links .my-rep-utility {
    flex: 0 0 auto;
    order: -1;
  }
}
header .util_links .my-rep-utility a {
  background: transparent !important;
  color: #fff !important;
  font-size: 0.875rem;
  font-weight: 400;
  text-transform: none;
  letter-spacing: normal;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 12px;
  padding: 8px 0 !important;
  border-radius: 0;
  transition: none;
  text-decoration: none;
  white-space: nowrap;
  overflow: hidden;
}
@media screen and (min-width: 23.4375em) {
  header .util_links .my-rep-utility a {
    font-size: 0.9375rem;
  }
}
header .util_links .my-rep-utility a:hover, header .util_links .my-rep-utility a:focus {
  background: transparent !important;
  transform: none;
  box-shadow: none;
  text-decoration: none;
}
header .util_links .my-rep-utility .my-rep-text {
  font-weight: 700;
  color: #fff;
  white-space: nowrap;
  flex-shrink: 0;
}
header .util_links .my-rep-utility .my-rep-name {
  background: transparent;
  border: 2px solid #fff;
  border-radius: 20px;
  padding: 6px 16px;
  font-weight: 400;
  color: #fff;
  font-size: 0.875rem;
  white-space: nowrap;
  flex-shrink: 0;
}
@media (max-width: 600px) {
  header .util_links .my-rep-utility .my-rep-name {
    max-width: 140px;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
    flex-shrink: 1;
  }
}
@media (max-width: 480px) {
  header .util_links .my-rep-utility .my-rep-name {
    max-width: 120px;
  }
}
header .util_links .my-rep-utility .my-rep-zip {
  display: flex;
  align-items: center;
  gap: 6px;
  font-size: 0.875rem;
  font-weight: 400;
  color: #fff;
  white-space: nowrap;
  flex-shrink: 0;
}
header .util_links .my-rep-utility .my-rep-zip:before {
  content: "";
  display: inline-block;
  width: 16px;
  height: 16px;
  background-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 24 24' fill='white' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M12 2C8.13 2 5 5.13 5 9c0 5.25 7 13 7 13s7-7.75 7-13c0-3.87-3.13-7-7-7zm0 9.5c-1.38 0-2.5-1.12-2.5-2.5s1.12-2.5 2.5-2.5 2.5 1.12 2.5 2.5-1.12 2.5-2.5 2.5z'/%3E%3C/svg%3E");
  background-size: contain;
  background-repeat: no-repeat;
  background-position: center;
  flex-shrink: 0;
}
header .util_links .my-rep-utility .locations-only-btn {
  background: transparent !important;
  color: #fff !important;
  font-size: 0.875rem;
  font-weight: 400;
  text-transform: none;
  letter-spacing: normal;
  display: flex;
  align-items: center;
  padding: 8px 0 !important;
  border-radius: 0;
  transition: none;
  text-decoration: none;
  white-space: nowrap;
  overflow: hidden;
}
@media screen and (min-width: 23.4375em) {
  header .util_links .my-rep-utility .locations-only-btn {
    font-size: 0.9375rem;
  }
}
header .util_links .my-rep-utility .locations-only-btn:hover, header .util_links .my-rep-utility .locations-only-btn:focus {
  background: transparent !important;
  transform: none;
  box-shadow: none;
  text-decoration: none;
}
header .util_links .my-rep-utility .locations-text {
  background: transparent;
  border: 2px solid #fff;
  border-radius: 20px;
  padding: 6px 16px;
  font-weight: 400;
  color: #fff;
  font-size: 0.875rem;
  white-space: nowrap;
  flex-shrink: 0;
}
@media (max-width: 600px) {
  header .util_links .my-rep-utility .locations-text {
    max-width: 140px;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
    flex-shrink: 1;
  }
}
@media (max-width: 480px) {
  header .util_links .my-rep-utility .locations-text {
    max-width: 120px;
  }
}
@media screen and (min-width: 37.5em) {
  header .util_links .my-rep-utility {
    flex: 0 0 auto;
    max-width: 450px;
    margin-right: auto;
  }
  header .util_links .my-rep-utility a {
    flex-direction: row;
    text-align: left;
    justify-content: flex-start;
    line-height: 1.4;
    gap: 12px;
    padding: 12px 0 !important;
  }
}
@media screen and (min-width: 48em) {
  header .util_links .my-rep-utility a {
    flex-direction: row;
    gap: 12px;
  }
}
header .logo_and_nav {
  display: flex;
  justify-content: space-between;
  align-items: center;
  flex-wrap: wrap;
}
@media screen and (min-width: 75em) {
  header .logo_and_nav {
    flex-wrap: nowrap;
    width: min(90%, 1600px);
    padding: 0;
    margin-inline: auto;
  }
}
header .logo {
  width: 38%;
  max-width: 200px;
  padding: 16px 0 16px 20px;
  margin-right: auto;
}
header .logo a {
  display: block;
}
header .logo img {
  width: 100%;
  height: auto;
}
@media screen and (min-width: 53.75em) {
  header .logo {
    width: 18%;
    margin-right: 0;
  }
}
@media screen and (min-width: 75em) {
  header .logo {
    padding-left: 0;
  }
}
header .search_button {
  border: 0;
  background: none;
  cursor: pointer;
  color: #222;
  font-size: 0.8125rem;
  line-height: 1.2307692308;
  font-family: Pragmatica, sans-serif;
  font-weight: 700;
}
header .search_button svg {
  display: block;
  margin: 0 auto 4px;
}
header .search_button[aria-expanded=true] {
  color: #0570B3;
}
@media screen and (min-width: 53.75em) {
  header .search_button {
    display: none;
  }
}
header .menu {
  position: relative;
  z-index: 2;
  flex: 0 0 44px;
  border: 0;
  background: none;
  width: 44px;
  height: 44px;
  margin: 0;
  cursor: pointer;
  color: #222;
  font-size: 0.8125rem;
  line-height: 1.2307692308;
  font-family: Pragmatica, sans-serif;
  font-weight: 700;
  margin: 0 20px 0 30px;
  /* &[aria-expanded=true] {
      span:not(.label) {border-color:transparent; transform:rotate(45deg);
          &::after {content:''; display:block; width:100%; height:1px; background:$dark_gray; transform:rotate(90deg); margin-top:-1px;}
      }
  } */
}
header .menu span:not(.label) {
  display: inline-block;
  width: 22px;
  height: 13px;
  border: 1px solid #444444;
  border-width: 3px 0;
}
header .menu span:not(.label)::before {
  content: "";
  display: block;
  width: 100%;
  height: 3px;
  background: #444444;
  margin-top: 5px;
}
@media screen and (min-width: 53.75em) {
  header .menu {
    display: none;
  }
}
@media screen and (max-width: 53.6875em) {
  header #nav {
    position: absolute;
    display: none;
    z-index: 10;
    left: 0;
    top: 0;
    right: 0;
    bottom: 0;
    transform: translateX(100%);
    transition: transform 0.1s ease-in;
    background: #053249;
  }
  header #nav.show {
    transform: translateX(0);
    transition: transform 0.15s ease-in;
  }
  header #nav .close_nav {
    border: 0;
    background: none;
    cursor: pointer;
    position: absolute;
    right: 3%;
    top: 2%;
    width: 40px;
    height: 40px;
  }
  header #nav .close_nav::before, header #nav .close_nav::after {
    content: "";
    position: absolute;
    left: 50%;
    top: 50%;
    display: block;
    width: 24px;
    height: 4px;
    background: #fff;
  }
  header #nav .close_nav::before {
    transform: translate(-50%, -50%) rotate(45deg);
  }
  header #nav .close_nav::after {
    transform: translate(-50%, -50%) rotate(-45deg);
  }
  header #nav ul {
    list-style: none;
    padding: 0;
    margin: 40px 0 0 0;
  }
  header #nav ul li:not(.button) a {
    display: block;
    color: #fff;
    font-size: 1.75rem;
    line-height: 1.3928571429;
    text-decoration: none;
    padding: 0 0 0 32px;
    margin: 0.7em 0;
    border-left: 8px solid transparent;
  }
  header #nav ul li.active:not(.button) a {
    font-family: Pragmatica, sans-serif;
    font-weight: 700;
    border-left-color: #3B86D2;
  }
  header #nav ul li.button a {
    display: inline-block;
    margin: 1em 40px;
    width: calc(100% - 80px);
    background: #fff;
    border-radius: 10px;
    color: #0570B3;
    text-decoration: none;
    font-size: 1.25rem;
    line-height: 1.4;
    font-family: Pragmatica, sans-serif;
    font-weight: 700;
    text-align: center;
    padding: 16px 0;
    max-width: 350px;
  }
  header #nav ul li.util a {
    font-size: 1.375rem;
    line-height: 1.4090909091;
    margin-top: 1em;
  }
}
@media screen and (min-width: 53.75em) {
  header #nav {
    display: block !important;
    margin-left: 3%;
    margin-right: auto;
  }
  header #nav .close_nav {
    display: none;
  }
  header #nav ul {
    list-style: none;
    padding: 0;
    margin: 0;
    display: flex;
    justify-content: flex-start;
    align-items: stretch;
  }
  header #nav ul li {
    margin: 0 20px;
  }
  header #nav ul li a {
    display: block;
    color: #143147;
    font-size: 1.0625rem;
    line-height: 1.2941176471;
    text-decoration: none;
    border-bottom: 6px solid transparent;
    padding-bottom: 5px;
    text-align: center;
  }
  header #nav ul li a:hover, header #nav ul li a:focus {
    color: #0570B3;
  }
  header #nav ul li.mobile {
    display: none;
  }
  header #nav ul li.active a {
    border-bottom-color: #3B86D2;
  }
}
@media screen and (min-width: 87.5em) {
  header #nav ul li a {
    font-size: 1.25rem;
    line-height: 1.4;
  }
}
header #search form {
  margin: 0;
}
header #search form input {
  box-sizing: border-box;
  border-radius: 5px;
  font-size: 1rem;
  padding: 6px 20px 6px 36px;
  background-size: 16px auto;
  background-repeat: no-repeat;
  background-position: 12px 9px;
  background-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 16 16' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='m15.9 14.557h-.729l-.274-.229a6.052 6.052 0 0 0 1.413-3.886 5.9 5.9 0 1 0 -5.881 5.943 6.109 6.109 0 0 0 3.871-1.416l.273.229v.731l4.56 4.571 1.367-1.371zm-5.47 0a4.114 4.114 0 1 1 4.1-4.114 4.091 4.091 0 0 1 -4.104 4.114z' fill='%23676767' transform='translate(-4.5 -4.5)'/%3E%3C/svg%3E");
}
@media screen and (max-width: 53.6875em) {
  header #search {
    display: none;
  }
}
@media screen and (max-width: 68.6875em) {
  header #search {
    flex: 1 1 100%;
    background: #444444;
    padding: 20px;
  }
  header #search form input {
    width: 100%;
    box-shadow: 0 2px 0 rgba(0, 0, 0, 0.16);
    border: 0;
  }
  header #search form input::-webkit-input-placeholder {
    color: #222;
    opacity: 1;
  }
  header #search form input::-moz-placeholder {
    color: #222;
    opacity: 1;
  }
  header #search form input:-ms-input-placeholder {
    color: #222;
    opacity: 1;
  }
  header #search form input:-moz-placeholder {
    color: #222;
    opacity: 1;
  }
}
@media screen and (min-width: 68.75em) {
  header #search {
    display: block !important;
    flex: 0 1 auto;
  }
  header #search form input {
    width: 90%;
    max-width: 210px;
    border: 1px solid #053249;
    margin-bottom: 9px;
  }
  header #search form input::-webkit-input-placeholder {
    color: #053249;
    opacity: 1;
  }
  header #search form input::-moz-placeholder {
    color: #053249;
    opacity: 1;
  }
  header #search form input:-ms-input-placeholder {
    color: #053249;
    opacity: 1;
  }
  header #search form input:-moz-placeholder {
    color: #053249;
    opacity: 1;
  }
}
@media screen and (min-width: 75em) {
  header #search form input {
    width: 100%;
  }
}
@media screen and (min-width: 81.25em) {
  header #search form input {
    width: 300px;
  }
}

/* ===========================
  		FOOTER
============================== */
#footer {
  position: relative;
  z-index: 0;
  margin-top: 40px;
}
@media screen and (min-width: 64em) {
  #footer {
    margin-top: 80px;
  }
}
@media screen and (min-width: 120em) {
  #footer {
    margin-top: 140px;
  }
}
#footer .logo {
  position: relative;
  margin-top: -13.8vw;
  background: #fff;
  backface-visibility: hidden;
}
#footer .logo::before {
  content: "";
  position: relative;
  z-index: 0;
  display: block;
  width: 0;
  height: 0;
  border: 0 solid transparent;
  border-color: transparent transparent #053249 transparent;
  border-width: 12.5vw 50vw;
}
@media screen and (min-width: 120em) {
  #footer .logo {
    margin-top: -300px;
  }
  #footer .logo::before {
    border-width: 220px 960px;
  }
}
#footer .logo .img {
  background: #053249;
  text-align: center;
}
#footer .logo img {
  width: 38%;
  height: auto;
  max-width: 200px;
}
@media screen and (min-width: 56.25em) {
  #footer .logo .img {
    background: transparent;
    position: absolute;
    width: 100%;
    z-index: 1;
    left: 50%;
    top: 90%;
    transform: translate(-50%, -90%);
  }
  #footer .logo .img img {
    width: 20%;
  }
}
#footer nav {
  background: #053249;
  padding: 50px 40px 0;
}
#footer nav ul.primary {
  list-style: none;
  padding: 0;
  margin: 0;
  overflow: visible;
}
#footer nav ul.primary > li {
  position: relative;
}
#footer nav ul.primary > li > svg {
  position: absolute;
  left: -40px;
  top: 12px;
}
#footer nav ul.primary > li .lbl {
  display: inline-block;
  padding-top: 3px;
  color: #BCDDFF;
  font-size: 1.25rem;
  line-height: 1.3;
  text-transform: uppercase;
  font-family: Pragmatica, sans-serif;
  font-weight: 700;
  border-top: 3px solid #BCDDFF;
}
#footer nav ul.primary > li > ul {
  list-style: none;
  padding: 0;
  margin: 5px 0 1.25em;
}
#footer nav ul.primary > li > ul li + li {
  margin-top: 0.5em;
}
#footer nav ul.primary > li > ul li a {
  color: #fff;
  font-size: 1rem;
  line-height: 2.875;
  text-decoration: none;
}
#footer nav ul.primary > li > ul li a:hover, #footer nav ul.primary > li > ul li a:focus {
  text-decoration: underline;
}
#footer nav ul.primary > li > ul.social {
  padding-bottom: 2em;
}
#footer nav ul.primary > li > ul.social li a {
  display: block;
}
#footer nav ul.primary > li > .madeInUSA {
  display: block;
  padding: 0 60px 2em 0;
  text-align: center;
  float: left;
}
@media screen and (min-width: 48em) {
  #footer nav ul.primary > li > .madeInUSA {
    padding: 0 0 2em 30px;
    text-align: left;
  }
}
#footer nav ul.primary > li > .bbb img {
  margin-top: 27px;
  margin-bottom: 40px;
  margin-left: 30px;
}
#footer nav ul.secondary {
  list-style: none;
  padding: 2em 0;
  margin: 0 -20px 0 -60px;
  background: #021F2E;
}
#footer nav ul.secondary li {
  line-height: 1;
}
#footer nav ul.secondary li + li {
  margin-top: 1.25em;
}
#footer nav ul.secondary li a {
  display: inline-block;
  color: #fff;
  margin-left: 60px;
  text-decoration: none;
  font-size: 0.875rem;
  line-height: 1;
}
@media screen and (min-width: 48em) {
  #footer nav {
    padding: 50px 0 0;
  }
  #footer nav ul.primary {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    flex-wrap: wrap;
    padding: 0 5%;
  }
  #footer nav ul.primary > li {
    flex: 0 1 48%;
    margin-bottom: 20px;
  }
  #footer nav ul.primary > li > svg {
    display: none;
  }
  #footer nav ul.primary > li .lbl {
    font-size: 1rem;
    line-height: 1.625;
  }
  #footer nav ul.primary > li > ul li a {
    font-size: 0.875rem;
    line-height: 2.5714285714;
  }
  #footer nav ul.primary > li > ul.social {
    padding-bottom: 2em;
  }
  #footer nav ul.primary > li > ul.social li a svg {
    width: 30px;
    height: 30px;
  }
  #footer nav ul.secondary {
    margin: 0%;
    display: flex;
    justify-content: center;
    align-items: center;
  }
  #footer nav ul.secondary li + li {
    margin: 0 0 0 15px;
    padding-left: 15px;
    border-left: 1px solid #BCDDFF;
  }
  #footer nav ul.secondary li a {
    margin: 0;
  }
}
@media screen and (min-width: 64em) {
  #footer nav ul.primary {
    flex-wrap: nowrap;
  }
  #footer nav ul.primary li {
    flex: 0 1 23%;
  }
}

/* ==========================================================================
   Helper classes
============================================================================= */
.hidden, [hidden] {
  display: none !important;
}

.sr-only, .visuallyhidden {
  border: 0;
  clip: rect(0 0 0 0);
  height: 1px;
  margin: -1px;
  overflow: hidden;
  padding: 0;
  position: absolute;
  width: 1px;
  white-space: nowrap;
}

.sr-only.focusable:active,
.visuallyhidden.focusable:active,
.sr-only.focusable:focus,
.visuallyhidden.focusable:focus {
  clip: auto;
  height: auto;
  margin: 0;
  overflow: visible;
  position: static;
  width: auto;
  white-space: inherit;
}

.invisible {
  visibility: hidden;
}

.clearfix:before,
.clearfix:after {
  content: " ";
  display: table;
}

.clearfix:after {
  clear: both;
}

.regular {
  font-family: Pragmatica, sans-serif;
  font-weight: 400;
}

.bold {
  font-family: Pragmatica, sans-serif;
  font-weight: 700;
}

.light {
  font-family: Pragmatica, sans-serif;
  font-weight: 300;
}

.italic {
  font-style: italic;
}

@media screen and (prefers-reduced-motion: reduce) {
  * {
    animation: none !important;
    transition: none !important;
  }
}
/* ==========================================================================
   Print styles
============================================================================= */
@media print {
  *, *:before, *:after {
    background: transparent !important;
    color: #000 !important; /* Black prints faster */
    -webkit-box-shadow: none !important;
    box-shadow: none !important;
    text-shadow: none !important;
  }
  a, a:visited {
    text-decoration: underline;
  }
  a[href]:after {
    content: " (" attr(href) ")";
  }
  abbr[title]:after {
    content: " (" attr(title) ")";
  }
  a[href^="#"]:after,
  a[href^="javascript:"]:after {
    content: "";
  }
  pre {
    white-space: pre-wrap !important;
  }
  pre, blockquote {
    border: 1px solid #999;
    page-break-inside: avoid;
  }
  thead {
    display: table-header-group;
  }
  tr, img {
    page-break-inside: avoid;
  }
  p, h2, h3 {
    orphans: 3;
    widows: 3;
  }
  h2, h3 {
    page-break-after: avoid;
  }
}
.haul-station-wide {
  width: 35vw !important;
}

@media only screen and (min-width: 800px) {
  .haulfull-img img {
    left: 38% !important;
  }
}

.photo_block {
  display: flex;
  align-content: center;
}
.photo_block .content_container {
  padding: 3em 5%;
}
.photo_block .content_container.left {
  justify-content: flex-start;
}
.photo_block .content_container.center {
  justify-content: center;
}
.photo_block .content_container.right {
  justify-content: flex-end;
}

.events .content_container {
  width: min(90%, 1600px);
  margin: 0 auto;
  padding: 3rem 0;
}
.events .events-grid {
  display: flex;
  flex-direction: column;
  gap: 1.5rem;
  max-width: 900px;
  margin: 0 auto;
}
.events .event-card {
  position: relative;
  display: flex;
  align-items: center;
  padding: 2rem;
  background: #f8f8f8;
  text-decoration: none;
  color: inherit;
  transition: all 0.3s ease;
  overflow: hidden;
}
.events .event-card:hover {
  background: #e8e8e8;
}
.events .event-content {
  flex: 1;
  padding-right: 2rem;
}
.events .event-content .event-date {
  font-size: 0.9rem;
  color: #666;
  text-transform: uppercase;
  font-weight: 600;
  letter-spacing: 0.5px;
  margin-bottom: 0.5rem;
}
.events .event-content .event-title {
  font-size: 1.75rem;
  font-weight: bold;
  margin: 0 0 0.5rem 0;
  color: #333;
}
.events .event-content .event-location {
  font-size: 0.95rem;
  color: #666;
  line-height: 1.4;
}
.events .event-logo {
  flex: 0 0 auto;
  max-width: 200px;
  display: flex;
  align-items: center;
  justify-content: center;
}
.events .event-logo img {
  max-width: 100%;
  max-height: 100px;
  object-fit: contain;
}
.events .event-overlay {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background: #666;
  opacity: 0;
  transition: opacity 0.3s ease;
  z-index: 1;
}
.events .no-events {
  text-align: center;
  padding: 3rem;
  background: #f8f8f8;
  border-radius: 8px;
  color: #666;
}
@media screen and (max-width: 47.9375em) {
  .events .event-card {
    flex-direction: column;
    text-align: center;
    padding: 1.5rem;
  }
  .events .event-card .event-content {
    padding-right: 0;
    margin-bottom: 1rem;
  }
}

.featured-events {
  background: #053249;
  padding: 2rem 0;
}
.featured-events .content_container {
  width: min(90%, 1600px);
  margin: 0 auto;
}
.featured-events .section-title {
  font-size: 1.5rem;
  font-weight: bold;
  text-align: center;
  margin-bottom: 1.5rem;
  color: white;
  text-transform: uppercase;
  letter-spacing: 1px;
}
.featured-events .events-list {
  display: flex;
  flex-direction: column;
  gap: 1.5rem;
  align-items: center;
}
.featured-events .featured-event {
  display: flex;
  border-radius: 8px;
  overflow: hidden;
  width: 100%;
  justify-content: center;
  gap: 20px;
}
@media screen and (max-width: 47.9375em) {
  .featured-events .featured-event {
    flex-direction: column;
  }
}
.featured-events .event-banner {
  flex: 0 0 auto;
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
}
@media screen and (max-width: 47.9375em) {
  .featured-events .event-banner {
    width: 100%;
  }
}
.featured-events .event-banner .banner-image {
  display: block;
  object-fit: cover;
}
@media screen and (max-width: 47.9375em) {
  .featured-events .event-banner .banner-image {
    width: 100%;
  }
}
.featured-events .event-banner .banner-placeholder {
  width: 400px;
  background: linear-gradient(135deg, #667eea 0%, #764ba2 100%);
  display: flex;
  align-items: center;
  justify-content: center;
  color: white;
  font-size: 1.2rem;
  font-weight: 500;
  padding: 2rem;
}
@media screen and (max-width: 47.9375em) {
  .featured-events .event-banner .banner-placeholder {
    width: 100%;
  }
}
.featured-events .event-details {
  padding: 1.5rem;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  background: #053249;
  color: white;
}
@media screen and (max-width: 47.9375em) {
  .featured-events .event-details {
    padding: 1.25rem;
  }
}
.featured-events .event-logo img {
  width: auto;
}
.featured-events .event-title {
  font-size: 1.4rem;
  font-weight: bold;
  margin-bottom: 0;
  color: white;
  line-height: 1.2;
  text-transform: uppercase;
}
@media screen and (max-width: 47.9375em) {
  .featured-events .event-title {
    font-size: 1.2rem;
  }
}
.featured-events .event-location {
  font-size: 1rem;
  margin-bottom: 0.5rem;
  line-height: 1.3;
  color: white;
  text-transform: uppercase;
}
.featured-events .event-date {
  font-size: 1.1rem;
  font-weight: normal;
  color: white;
  margin-bottom: 1.5rem;
}
.featured-events .event-actions {
  margin-top: auto;
}
.featured-events .event-actions .btn-details {
  padding: 0.6rem 1.5rem;
  font-size: 0.95rem;
  border-radius: 4px;
  text-decoration: none;
  display: inline-block;
  transition: all 0.3s ease;
  background: #0570B3;
  color: white;
  border: none;
  font-weight: 600;
}
.featured-events .event-actions .btn-details:hover {
  background: #045A96;
  transform: translateY(-1px);
}
.featured-events .no-events {
  text-align: center;
  padding: 3rem 1rem;
  color: white;
  font-size: 1.1rem;
}

@media screen and (min-width: 48em) {
  .event-detail .hero.event-hero {
    overflow: hidden;
  }
}
@media screen and (max-width: 47.9375em) {
  .event-detail .hero.event-hero .content_container {
    width: 90%;
    margin: 0 auto;
    padding: 2rem 0;
  }
}
.event-detail .hero.event-hero .media {
  background: #e3e3e3;
}
@media screen and (max-width: 47.9375em) {
  .event-detail .hero.event-hero .media img {
    width: 100%;
    height: auto;
  }
}
@media screen and (min-width: 48em) {
  .event-detail .hero.event-hero .media {
    position: absolute;
    z-index: 0;
    left: 0;
    top: 0;
    right: 0;
    bottom: 0;
  }
  .event-detail .hero.event-hero .media img {
    width: 100%;
    height: 100%;
    object-fit: cover;
  }
}
.event-detail .hero.event-hero .headline, .event-detail .hero.event-hero .event-year, .event-detail .hero.event-hero .event-date-location {
  position: relative;
  z-index: 1;
  pointer-events: all;
}
.event-detail .hero.event-hero .event-year {
  font-weight: bold;
  line-height: 0.9;
  text-align: center;
}
@media screen and (max-width: 47.9375em) {
  .event-detail .hero.event-hero .event-year {
    font-size: 4rem;
    color: #333;
  }
}
@media screen and (min-width: 48em) {
  .event-detail .hero.event-hero .event-year {
    font-size: 8rem;
    text-shadow: 2px 2px 5px black;
    color: #fff;
  }
}
.event-detail .hero.event-hero .event-date-location {
  font-size: 1.3rem;
  text-transform: uppercase;
  letter-spacing: 1px;
  line-height: 1.4;
  text-align: center;
  margin: 10px 0 20px;
}
@media screen and (max-width: 47.9375em) {
  .event-detail .hero.event-hero .event-date-location {
    color: #666;
    font-size: 1.1rem;
  }
}
@media screen and (min-width: 48em) {
  .event-detail .hero.event-hero .event-date-location {
    text-shadow: 2px 2px 5px black;
    color: #fff;
  }
}
.event-detail .event-content {
  max-width: 1200px;
  margin: 0 auto;
  padding: 3rem 2rem;
}
.event-detail .event-grid {
  display: flex;
  gap: 3rem;
  align-items: start;
}
@media (max-width: 992px) {
  .event-detail .event-grid {
    flex-direction: column;
  }
}
.event-detail .event-logo-image {
  flex: 0 0 40%;
}
.event-detail .event-logo-image img {
  width: 100%;
  height: auto;
}
.event-detail .event-info {
  flex: 1;
}
.event-detail .event-info .event-description {
  font-size: 1.1rem;
  line-height: 1.6;
  margin-bottom: 2rem;
}
.event-detail .event-details {
  margin: 2rem 0;
}
.event-detail .event-details .detail-row {
  display: grid;
  grid-template-columns: 80px 1fr;
  gap: 1rem;
  margin-bottom: 1rem;
}
.event-detail .event-details .detail-row .detail-label {
  font-weight: bold;
  color: #333;
}
.event-detail .event-details .detail-row .detail-value {
  color: #666;
}
.event-detail .event-link {
  margin-top: 2rem;
}
.event-detail .event-link a {
  color: #007bff;
  text-decoration: none;
}
.event-detail .event-link a:hover {
  text-decoration: underline;
}
.event-detail .event-body {
  margin-top: 3rem;
}

.rep-sidebar {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  z-index: 9999;
  pointer-events: none;
  transition: all 0.3s ease;
  /* Additional mobile rule for larger mobile devices */
}
.rep-sidebar.active {
  pointer-events: all;
}
.rep-sidebar .rep-sidebar-overlay {
  position: fixed;
  top: 100px;
  left: 0;
  width: 100%;
  height: calc(100vh - 100px);
  background: rgba(0, 0, 0, 0.5);
  opacity: 0;
  transition: opacity 0.3s ease;
  cursor: pointer;
  pointer-events: none;
}
@media screen and (min-width: 37.5em) {
  .rep-sidebar .rep-sidebar-overlay {
    top: 59px;
    height: calc(100vh - 59px);
  }
}
.rep-sidebar.active .rep-sidebar-overlay {
  opacity: 1;
  pointer-events: auto;
}
.rep-sidebar .rep-sidebar-content {
  position: fixed;
  top: 100px;
  left: 0;
  width: 400px;
  height: calc(100vh - 100px);
  background: white;
  transform: translateX(-100%);
  transition: transform 0.3s ease;
  overflow-y: auto;
  font-family: Pragmatica, sans-serif;
  box-shadow: 2px 0 10px rgba(0, 0, 0, 0.1);
  z-index: 1001;
  display: flex;
  flex-direction: column;
  box-sizing: border-box;
}
@media screen and (min-width: 37.5em) {
  .rep-sidebar .rep-sidebar-content {
    top: 59px;
    height: calc(100vh - 59px);
  }
}
.rep-sidebar.active .rep-sidebar-content {
  transform: translateX(0);
}
.rep-sidebar .rep-sidebar-body {
  padding: 8px;
  display: flex;
  flex-direction: column;
  flex: 1;
}
.rep-sidebar .search-section {
  margin-bottom: 20px;
  display: flex;
  align-items: center;
  gap: 12px;
}
.rep-sidebar .search-section .search-input-container {
  position: relative;
  display: flex;
  flex: 1;
}
.rep-sidebar .search-section .search-input-container input {
  flex: 1;
  padding: 12px 50px 12px 16px;
  border: 2px solid #e9ecef;
  border-radius: 6px;
  font-size: 14px;
  font-family: Pragmatica, sans-serif;
}
.rep-sidebar .search-section .search-input-container input:focus {
  outline: none;
  border-color: #0570B3;
}
.rep-sidebar .search-section .search-input-container button {
  position: absolute;
  right: 8px;
  top: 50%;
  transform: translateY(-50%);
  background: none;
  border: none;
  padding: 8px;
  cursor: pointer;
  color: #6c757d;
  transition: color 0.2s ease;
}
.rep-sidebar .search-section .search-input-container button:hover {
  color: #0570B3;
}
.rep-sidebar .search-section .search-input-container button svg {
  display: block;
}
.rep-sidebar .search-section .rep-sidebar-close {
  background: none;
  border: none;
  font-size: 20px;
  cursor: pointer;
  color: #6c757d;
  padding: 8px;
  width: 40px;
  height: 40px;
  display: flex;
  align-items: center;
  justify-content: center;
  border-radius: 4px;
  transition: background 0.2s ease;
  flex-shrink: 0;
}
.rep-sidebar .search-section .rep-sidebar-close:hover {
  background: #e9ecef;
  color: #495057;
}
.rep-sidebar .section-divider {
  height: 1px;
  background: #e9ecef;
  margin: 20px 0;
}
.rep-sidebar .current-rep-section h4 {
  margin: 0 0 15px 0;
  font-size: 14px;
  font-weight: 700;
  color: #495057;
  text-transform: uppercase;
  letter-spacing: 0.5px;
}
.rep-sidebar .current-rep-section .current-rep-info .rep-sidebar-photo {
  text-align: center;
  margin-bottom: 15px;
}
.rep-sidebar .current-rep-section .current-rep-info .rep-sidebar-photo img {
  width: 80px;
  height: 80px;
  border-radius: 50%;
  object-fit: cover;
  border: 3px solid #e9ecef;
}
.rep-sidebar .current-rep-section .current-rep-info .rep-sidebar-photo .rep-photo-placeholder {
  width: 80px;
  height: 80px;
  border-radius: 50%;
  background: #f8f9fa;
  display: flex;
  align-items: center;
  justify-content: center;
  margin: 0 auto;
  border: 3px solid #e9ecef;
}
.rep-sidebar .current-rep-section .current-rep-info .rep-sidebar-photo .rep-photo-placeholder span {
  font-size: 28px;
  color: #adb5bd;
}
.rep-sidebar .current-rep-section .current-rep-info .rep-sidebar-info {
  text-align: center;
}
.rep-sidebar .current-rep-section .current-rep-info .rep-sidebar-info h5 {
  margin: 0 0 5px 0;
  font-size: 18px;
  font-weight: 600;
  color: #212529;
  line-height: 1.2;
}
.rep-sidebar .current-rep-section .current-rep-info .rep-sidebar-info .rep-location {
  color: #6c757d;
  margin: 0 0 15px 0;
  font-size: 14px;
  font-weight: 500;
}
.rep-sidebar .current-rep-section .current-rep-info .rep-sidebar-info .rep-contact-info {
  margin-bottom: 15px;
}
.rep-sidebar .current-rep-section .current-rep-info .rep-sidebar-info .rep-contact-info .contact-item {
  margin-bottom: 6px;
  font-size: 13px;
}
.rep-sidebar .current-rep-section .current-rep-info .rep-sidebar-info .rep-contact-actions {
  display: flex;
  gap: 10px;
  margin-bottom: 20px;
  justify-content: center;
}
.rep-sidebar .current-rep-section .current-rep-info .rep-sidebar-info .rep-contact-actions .sidebar-contact-btn {
  flex: 1;
  padding: 8px 12px;
  border-radius: 6px;
  text-decoration: none;
  font-weight: 600;
  font-size: 12px;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 4px;
  transition: all 0.2s ease;
  text-transform: uppercase;
  letter-spacing: 0.3px;
}
.rep-sidebar .current-rep-section .current-rep-info .rep-sidebar-info .rep-contact-actions .sidebar-contact-btn.email-btn {
  background: #0570B3;
  color: white;
}
.rep-sidebar .current-rep-section .current-rep-info .rep-sidebar-info .rep-contact-actions .sidebar-contact-btn.email-btn:hover {
  background: #024671;
  text-decoration: none;
  transform: translateY(-1px);
}
.rep-sidebar .current-rep-section .current-rep-info .rep-sidebar-info .rep-contact-actions .sidebar-contact-btn.text-btn {
  background: #28a745;
  color: white;
}
.rep-sidebar .current-rep-section .current-rep-info .rep-sidebar-info .rep-contact-actions .sidebar-contact-btn.text-btn:hover {
  background: #1e7e34;
  text-decoration: none;
  transform: translateY(-1px);
}
.rep-sidebar .current-rep-section .current-rep-info .rep-sidebar-info .rep-service-area {
  margin-bottom: 20px;
}
.rep-sidebar .current-rep-section .current-rep-info .rep-sidebar-info .rep-service-area h6 {
  margin: 0 0 8px 0;
  font-weight: 700;
  color: #495057;
  font-size: 12px;
  text-transform: uppercase;
  letter-spacing: 0.5px;
}
.rep-sidebar .current-rep-section .current-rep-info .rep-sidebar-info .rep-service-area p {
  margin: 0;
  color: #6c757d;
  line-height: 1.5;
  font-size: 12px;
}
.rep-sidebar .current-rep-section .current-rep-info .rep-sidebar-info .rep-sidebar-actions .view-profile-btn {
  display: block;
  width: 100%;
  padding: 10px 14px;
  background: transparent;
  color: #0570B3;
  text-decoration: none;
  border: 2px solid #0570B3;
  border-radius: 6px;
  text-align: center;
  font-weight: 600;
  font-size: 12px;
  text-transform: uppercase;
  letter-spacing: 0.3px;
  transition: all 0.2s ease;
  margin-bottom: 10px;
}
.rep-sidebar .current-rep-section .current-rep-info .rep-sidebar-info .rep-sidebar-actions .view-profile-btn:hover {
  background: #0570B3;
  color: white;
  text-decoration: none;
  transform: translateY(-1px);
}
.rep-sidebar .current-rep-section .current-rep-info .rep-sidebar-info .rep-sidebar-actions .clear-rep-btn {
  display: block;
  width: 100%;
  padding: 8px 14px;
  background: #dc3545;
  color: white;
  border: none;
  border-radius: 6px;
  text-align: center;
  font-weight: 600;
  font-size: 11px;
  text-transform: uppercase;
  letter-spacing: 0.3px;
  transition: all 0.2s ease;
  cursor: pointer;
  font-family: Pragmatica, sans-serif;
}
.rep-sidebar .current-rep-section .current-rep-info .rep-sidebar-info .rep-sidebar-actions .clear-rep-btn:hover {
  background: #c82333;
  transform: translateY(-1px);
}
.rep-sidebar .representatives-list {
  padding: 0;
  display: flex;
  flex-direction: column;
  flex: 1;
}
@media (max-width: 768px) {
  .rep-sidebar .representatives-list {
    flex: none;
    min-height: auto;
    overflow: visible;
  }
}
@media (max-width: 768px) {
  .rep-sidebar .representatives-list .search-results {
    min-height: auto;
    overflow: visible;
    flex-shrink: 0;
    width: 100%;
    box-sizing: border-box;
  }
}
.rep-sidebar .representatives-list .search-results .no-results, .rep-sidebar .representatives-list .search-results .error {
  text-align: center;
  padding: 20px;
  color: #6c757d;
  font-style: italic;
}
.rep-sidebar .representatives-list .search-results .error {
  color: #dc3545;
}
.rep-sidebar .representatives-list .no-rep-message {
  text-align: center;
  padding: 40px 20px;
  color: #6c757d;
}
.rep-sidebar .representatives-list .no-rep-message p {
  font-size: 16px;
  line-height: 1.5;
  margin: 0;
  font-style: italic;
}
.rep-sidebar .representatives-list .search-result-item {
  border: 1px solid #e9ecef;
  border-radius: 8px;
  margin-bottom: 16px;
  overflow: hidden;
  background: white;
  transition: box-shadow 0.2s ease;
}
.rep-sidebar .representatives-list .search-result-item:hover {
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.1);
}
.rep-sidebar .representatives-list .search-result-item.selected {
  background-color: #e3f2fd;
  border-left: 4px solid #053249;
}
.rep-sidebar .representatives-list .search-result-item .rep-sidebar-header-section {
  display: flex;
  height: 120px;
}
.rep-sidebar .representatives-list .search-result-item .rep-sidebar-header-section .rep-map-placeholder {
  flex: 1;
  background: #f0f4f8;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  color: #6c757d;
  font-size: 0.85rem;
  position: relative;
  overflow: hidden;
}
.rep-sidebar .representatives-list .search-result-item .rep-sidebar-header-section .rep-map-placeholder .map-icon {
  font-size: 1.5rem;
  margin-bottom: 4px;
}
.rep-sidebar .representatives-list .search-result-item .rep-sidebar-header-section .rep-map-placeholder .service-area-map {
  width: 100%;
  height: 100%;
  object-fit: cover;
  position: absolute;
  top: 0;
  left: 0;
}
.rep-sidebar .representatives-list .search-result-item .rep-sidebar-header-section .rep-profile-section {
  flex: 0 0 120px;
  display: flex;
  align-items: center;
  justify-content: center;
  background: #fff;
}
.rep-sidebar .representatives-list .search-result-item .rep-sidebar-header-section .rep-profile-section .rep-profile-image {
  width: 80px;
  height: 80px;
  border-radius: 50%;
  object-fit: cover;
  border: 3px solid #e9ecef;
}
.rep-sidebar .representatives-list .search-result-item .rep-sidebar-header-section .rep-profile-section .rep-profile-placeholder {
  width: 80px;
  height: 80px;
  border-radius: 50%;
  background: #e9ecef;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 2rem;
  font-weight: bold;
  color: #6c757d;
  border: 3px solid #e9ecef;
}
.rep-sidebar .representatives-list .search-result-item .rep-details-section {
  padding: 20px;
}
.rep-sidebar .representatives-list .search-result-item .rep-details-section .rep-sidebar-name {
  margin: 10px 0 16px 0;
  font-size: 1.5rem;
  font-weight: bold;
}
.rep-sidebar .representatives-list .search-result-item .rep-details-section .rep-sidebar-name a {
  color: #0570B3;
  text-decoration: none;
  transition: color 0.2s ease;
}
.rep-sidebar .representatives-list .search-result-item .rep-details-section .rep-sidebar-name a:hover {
  color: #045181;
  text-decoration: underline;
}
.rep-sidebar .representatives-list .search-result-item .rep-details-section .rep-selected-status {
  width: 100%;
  font-family: Pragmatica, sans-serif;
  font-weight: 600;
  font-size: 1rem;
  margin-bottom: 16px;
  display: flex;
  align-items: center;
  gap: 8px;
  color: #333;
}
.rep-sidebar .representatives-list .search-result-item .rep-details-section .rep-selected-status .status-checkmark {
  color: #28a745;
  font-size: 1.2rem;
  font-weight: bold;
}
.rep-sidebar .representatives-list .search-result-item .rep-details-section .set-rep-btn {
  width: 100%;
  background: transparent;
  color: #0570B3;
  border: 2px solid #0570B3;
  padding: 12px 16px;
  border-radius: 6px;
  cursor: pointer;
  font-family: Pragmatica, sans-serif;
  font-weight: 600;
  font-size: 1rem;
  margin-bottom: 16px;
  transition: all 0.2s ease;
}
.rep-sidebar .representatives-list .search-result-item .rep-details-section .set-rep-btn:hover {
  background: #0570B3;
  color: white;
}
.rep-sidebar .representatives-list .search-result-item .rep-details-section .contact-numbers {
  margin-bottom: 16px;
}
.rep-sidebar .representatives-list .search-result-item .rep-details-section .contact-numbers .phone-number {
  margin-bottom: 8px;
  font-size: 0.9rem;
}
.rep-sidebar .representatives-list .search-result-item .rep-details-section .contact-numbers .phone-number .phone-link {
  color: #0570B3;
  font-weight: 600;
  cursor: pointer;
  text-decoration: none;
}
.rep-sidebar .representatives-list .search-result-item .rep-details-section .contact-numbers .phone-number .phone-link:hover {
  text-decoration: underline;
}
.rep-sidebar .representatives-list .search-result-item .rep-details-section .contact-numbers .phone-number .phone-label {
  color: #6c757d;
  font-size: 0.8rem;
  margin-left: 8px;
}
.rep-sidebar .representatives-list .search-result-item .rep-details-section .action-buttons {
  display: flex;
  gap: 12px;
  margin-bottom: 20px;
}
.rep-sidebar .representatives-list .search-result-item .rep-details-section .action-buttons .action-btn {
  flex: 1;
  padding: 10px 16px;
  border: none;
  border-radius: 6px;
  cursor: pointer;
  font-family: Pragmatica, sans-serif;
  font-weight: 600;
  font-size: 0.9rem;
  transition: background 0.2s ease;
  text-decoration: none;
  color: white;
  text-align: center;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 6px;
}
.rep-sidebar .representatives-list .search-result-item .rep-details-section .action-buttons .action-btn .action-icon {
  width: 16px;
  height: 16px;
  flex-shrink: 0;
}
.rep-sidebar .representatives-list .search-result-item .rep-details-section .action-buttons .action-btn.email-btn {
  background: #0570B3;
}
.rep-sidebar .representatives-list .search-result-item .rep-details-section .action-buttons .action-btn.email-btn:hover {
  background: #045181;
  text-decoration: none;
  color: white;
}
.rep-sidebar .representatives-list .search-result-item .rep-details-section .action-buttons .action-btn.text-btn {
  background: #0570B3;
}
.rep-sidebar .representatives-list .search-result-item .rep-details-section .action-buttons .action-btn.text-btn:hover {
  background: #045181;
  text-decoration: none;
  color: white;
}
.rep-sidebar .representatives-list .search-result-item .rep-details-section .service-area-section h4 {
  margin: 0 0 8px 0;
  font-size: 1rem;
  font-weight: 600;
  color: #333;
}
.rep-sidebar .representatives-list .search-result-item .rep-details-section .service-area-section p {
  margin: 0;
  color: #6c757d;
  font-size: 0.9rem;
  line-height: 1.4;
}
@media (max-width: 480px) {
  .rep-sidebar .rep-sidebar-content {
    width: 100%;
    max-width: 100vw;
    box-sizing: border-box;
    overflow-y: auto;
    -webkit-overflow-scrolling: touch;
  }
  .rep-sidebar .rep-sidebar-body {
    padding: 15px;
    max-width: 100%;
    overflow-x: hidden;
    min-height: calc(100vh - 100px);
    display: flex;
    flex-direction: column;
  }
  .rep-sidebar .current-rep-section .current-rep-info .rep-contact-actions {
    flex-direction: column;
    gap: 8px;
  }
}
@media (max-width: 768px) {
  .rep-sidebar .rep-sidebar-content {
    width: 100%;
    max-width: 100vw;
    height: 100vh;
    overflow-y: auto;
    -webkit-overflow-scrolling: touch;
    overscroll-behavior: contain;
    scroll-behavior: smooth;
    position: relative;
  }
  .rep-sidebar .rep-sidebar-body {
    overflow: visible;
    min-height: auto;
    display: flex;
    flex-direction: column;
    padding-bottom: 100px;
  }
}

.sidebar-overlay {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: rgba(0, 0, 0, 0.5);
  z-index: 9999;
  opacity: 0;
  visibility: hidden;
  transition: opacity 0.3s ease, visibility 0.3s ease;
}
.sidebar-overlay.open {
  opacity: 1;
  visibility: visible;
}

/* Representative Sidebar */
.rep-sidebar .find-other-reps {
  padding: 20px;
  border-top: 1px solid #eee;
  margin-top: auto;
  background: #f9f9f9;
}
@media (max-width: 768px) {
  .rep-sidebar .find-other-reps {
    margin-top: 20px;
    flex-shrink: 0;
  }
}
.rep-sidebar .find-other-reps h4 {
  font-size: 16px;
  margin-bottom: 10px;
  color: #333;
}
.rep-sidebar .find-other-reps .region-links {
  display: flex;
  align-items: center;
  justify-content: flex-start;
  gap: 8px;
  font-size: 14px;
}
.rep-sidebar .find-other-reps .region-links .region-link {
  color: #0570B3;
  text-decoration: none;
}
.rep-sidebar .find-other-reps .region-links .region-link:hover {
  text-decoration: underline;
}
.rep-sidebar .find-other-reps .region-links .separator {
  color: #ccc;
}

/* Location Permission Dialog */
.location-permission-dialog {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: rgba(0, 0, 0, 0.5);
  z-index: 10000;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 20px;
}
.location-permission-dialog .location-dialog-content {
  background: white;
  border-radius: 12px;
  padding: 30px;
  max-width: 400px;
  width: 100%;
  text-align: center;
  box-shadow: 0 10px 30px rgba(0, 0, 0, 0.3);
  box-sizing: border-box;
}
.location-permission-dialog .location-dialog-content h3 {
  margin: 0 0 15px 0;
  font-size: 1.5rem;
  font-weight: 600;
  color: #333;
}
.location-permission-dialog .location-dialog-content p {
  margin: 0 0 25px 0;
  color: #6c757d;
  line-height: 1.5;
}
.location-permission-dialog .location-dialog-content .location-dialog-buttons {
  display: flex;
  gap: 12px;
  justify-content: center;
  align-items: center;
}
.location-permission-dialog .location-dialog-content .location-dialog-buttons .btn {
  min-width: 90px;
  font-size: 15px;
  padding: 10px 18px;
  flex: 0 0 auto;
}
@media (max-width: 480px) {
  .location-permission-dialog {
    padding: 0;
  }
  .location-permission-dialog .location-dialog-content {
    padding: 20px 15px;
    margin: 0;
  }
  .location-permission-dialog .location-dialog-content h3 {
    font-size: 1.3rem;
    margin-bottom: 12px;
  }
  .location-permission-dialog .location-dialog-content p {
    font-size: 14px;
    margin-bottom: 20px;
  }
  .location-permission-dialog .location-dialog-content .location-dialog-buttons {
    flex-direction: row;
    gap: 8px;
    flex-wrap: nowrap;
  }
  .location-permission-dialog .location-dialog-content .location-dialog-buttons .btn {
    min-width: 0;
    max-width: 100%;
    flex: 1 1 0;
    font-size: 13px;
    padding: 8px 12px;
    white-space: normal;
    text-align: center;
    word-wrap: break-word;
  }
}

/* Location Success/No Results Messages */
.location-success-message,
.location-no-results-message {
  position: fixed;
  top: 20px;
  right: 20px;
  z-index: 10001;
  max-width: 350px;
  animation: slideInRight 0.3s ease-out;
}
.location-success-message .success-content,
.location-success-message .no-results-content,
.location-no-results-message .success-content,
.location-no-results-message .no-results-content {
  background: white;
  border-radius: 8px;
  padding: 16px 20px;
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.15);
  display: flex;
  align-items: flex-start;
  gap: 12px;
}
.location-success-message .success-content .success-icon,
.location-success-message .no-results-content .success-icon,
.location-no-results-message .success-content .success-icon,
.location-no-results-message .no-results-content .success-icon {
  color: #28a745;
  font-size: 1.2rem;
  font-weight: bold;
  flex-shrink: 0;
}
.location-success-message .success-content .no-results-icon,
.location-success-message .no-results-content .no-results-icon,
.location-no-results-message .success-content .no-results-icon,
.location-no-results-message .no-results-content .no-results-icon {
  color: #6c757d;
  font-size: 1.2rem;
  font-weight: bold;
  flex-shrink: 0;
}
.location-success-message .success-content p,
.location-success-message .no-results-content p,
.location-no-results-message .success-content p,
.location-no-results-message .no-results-content p {
  margin: 0;
  font-size: 14px;
  line-height: 1.4;
  color: #333;
}

.location-success-message .success-content {
  border-left: 4px solid #28a745;
}

.location-no-results-message .no-results-content {
  border-left: 4px solid #6c757d;
}

@keyframes slideInRight {
  from {
    transform: translateX(100%);
    opacity: 0;
  }
  to {
    transform: translateX(0);
    opacity: 1;
  }
}
@media (max-width: 480px) {
  .location-success-message,
  .location-no-results-message {
    top: 10px;
    right: 10px;
    left: 10px;
    max-width: none;
  }
  .location-success-message .success-content,
  .location-success-message .no-results-content,
  .location-no-results-message .success-content,
  .location-no-results-message .no-results-content {
    padding: 14px 16px;
  }
}

/*# sourceMappingURL=main.css.map */
