:root {
  /* Add these styles to your global stylesheet, which is used across all site pages. You only need to do this once. All elements in the library derive their variables and base styles from this central sheet, simplifying site-wide edits. For instance, if you want to modify how your h2's appear across the site, you just update it once in the global styles, and the changes apply everywhere. */
  --primary: #1c161c;
  --primaryLight: #ffba43;
  --secondary: #e11919;
  --secondaryLight: #ffba43;
  --headerColor: #1a1a1a;
  --bodyTextColor: #4e4b66;
  --bodyTextColorWhite: #fafbfc;
  /* 13px - 16px */
  --topperFontSize: clamp(0.8125rem, 1.6vw, 1rem);
  /* 31px - 49px */
  --headerFontSize: clamp(1.5rem, 2.2vw, 3.0625rem);
  --bodyFontSize: 1rem;
  /* 60px - 100px top and bottom */
  --sectionPadding: clamp(3.75rem, 7.82vw, 6.25rem) 1rem;
}


html {
  -webkit-text-size-adjust: 100%;
  /* iOS-specific to prevent automatic font scaling */
  text-size-adjust: 100%;
  /* For other browsers */
}

.trademark {
  font-size: 0.2em;
  /* Adjust as needed */
  position: relative;
  top: -3.4em;
  /* Adjust this value to move the symbol higher */
}


/* Ensure the image inside <picture> behaves properly */
/* Base styles for the image inside <picture> */
.leader-photo img {
  position: relative !important;
  margin-top: 1.85rem;
  /* Equivalent to 20px if 1rem = 16px */
  /* Fixes the vertical alignment */
  /* Ensure the image isn't clipped */
  /* Ensure no offset */
  /* Make the image positioned for z-index */
  z-index: 12000 !important;
  /* Make the image stay on top of ::before */
  width: 120px !important;
  /* Fixed size for the image */
  height: 120px !important;
  /* Ensure it's square for circular shape */
  max-width: 120px !important;
  /* Prevents the image from stretching larger than 120px */
  max-height: 120px !important;
  /* Prevents the image from stretching vertically */
  border-radius: 50% !important;
  /* Circular shape */
  object-fit: cover !important;
  /* Ensures image fills the circular frame without distortion */
  aspect-ratio: 1 / 1 !important;
  /* Fixed aspect ratio (1:1) */
}

.pos-title {
    font-size: 1.2em;
    /* Larger default size for title */
    color: inherit;
    margin-bottom: 15px;
    /* Adds space below the title */
  }

body {
  margin: 0;
  padding: 0;
  font-family: "Roboto", sans-serif;
}

*,
*:before,
*:after {
  /* prevents padding from affecting height and width */
  box-sizing: border-box;
}

.cs-topper {
  font-size: var(--topperFontSize);
  line-height: 1.2em;
  text-transform: uppercase;
  text-align: inherit;
  letter-spacing: .1em;
  font-weight: 700;
  color: var(--primary);
  margin-bottom: 0.25rem;
  display: block;
}

.cs-title {
  font-size: var(--headerFontSize);
  font-weight: 900;
  line-height: 1.2em;
  text-align: inherit;
  max-width: 43.75rem;
  margin: 0 0 1rem 0;
  color: var(--headerColor);
  position: relative;
}

.cs-text {
  font-size: var(--bodyFontSize);
  line-height: 1.5em;
  text-align: inherit;
  width: 100%;
  max-width: 40.625rem;
  margin: 0;
  color: var(--bodyTextColor);
}



/*-- -------------------------- -->
<---     Mobile Navigation      -->
<--- -------------------------- -*/
/* Mobile - 1023px */
@media only screen and (max-width: 63.9375rem) {
  body.cs-open {
    overflow: hidden;
  }

  #cs-navigation {
    width: 100%;
    /* prevents padding and border from affecting height and width */
    box-sizing: border-box;
    padding: 0.75rem 1rem;
    background-color: #fff;
    box-shadow: rgba(149, 157, 165, 0.2) 0px 8px 24px;
    position: fixed;
    z-index: 10000;
  }

  #cs-navigation:before {
    /* black blurred overlay */
    content: "";
    width: 0%;
    height: 100vh;
    background: rgba(0, 0, 0, 0.6);
    opacity: 0;
    display: block;
    position: absolute;
    top: 100%;
    right: 0;
    z-index: -11;
    transition: width 0.5s, opacity 0.3s;
    -webkit-backdrop-filter: blur(10px);
    backdrop-filter: blur(10px);
  }

  #cs-navigation.cs-active:before {
    width: 100%;
    opacity: 1;
  }

  #cs-navigation.cs-active .cs-ul-wrapper {
    opacity: 1;
    transform: scaleX(1);
    transition-delay: 0.2s;
  }

  #cs-navigation.cs-active .cs-li {
    opacity: 1;
    transform: translateX(0);
  }

  #cs-navigation .cs-container {
    width: 100%;
    display: flex;
    justify-content: flex-end;
    align-items: center;
  }

  #cs-navigation .cs-logo {
    width: 50%;
    max-width: 14rem;
    height: 100%;
    margin: 0 auto 0 0;
    /* prevents padding and border from affecting height and width */
    box-sizing: border-box;
    padding: 0;
    display: flex;
    justify-content: center;
    align-items: center;
    z-index: 10;
  }

  #cs-navigation .cs-logo img {
    width: 100%;
    height: 100%;
    /* ensures the image never overflows the container. It stays contained within it's width and height and expands to fill it then stops once it reaches an edge */
    object-fit: contain;
    /* places the image to the left edge of the parent */
    object-position: left;
  }

  #cs-navigation .cs-toggle {
    /* 44px - 48px */
    width: clamp(2.75rem, 6vw, 3rem);
    height: clamp(2.75rem, 6vw, 3rem);
    margin: 0 0 0 auto;
    background-color: transparent;
    border: none;
    border-radius: 0.25rem;
    display: flex;
    justify-content: center;
    align-items: center;
  }

  #cs-navigation .cs-active .cs-line1 {
    top: 50%;
    transform: translate(-50%, -50%) rotate(225deg);
  }

  #cs-navigation .cs-active .cs-line2 {
    top: 50%;
    transform: translate(-50%, -50%) translateY(0) rotate(-225deg);
    transform-origin: center;
  }

  #cs-navigation .cs-active .cs-line3 {
    opacity: 0;
    bottom: 100%;
  }

  #cs-navigation .cs-box {
    /* 24px - 28px */
    width: clamp(1.5rem, 2vw, 1.75rem);
    /* 14px - 16px */
    height: clamp(0.875rem, 1.5vw, 1rem);
    position: relative;
  }

  #cs-navigation .cs-line {
    width: 100%;
    height: 2px;
    background-color: #1a1a1a;
    border-radius: 2px;
    position: absolute;
    left: 50%;
    transform: translateX(-50%);
  }

  #cs-navigation .cs-line1 {
    top: 0;
    transition: transform 0.5s, top 0.3s, left 0.3s;
    animation-duration: 0.7s;
    animation-timing-function: ease;
    animation-direction: normal;
    animation-fill-mode: forwards;
    transform-origin: center;
  }

  #cs-navigation .cs-line2 {
    top: 50%;
    transform: translateX(-50%) translateY(-50%);
    transition: top 0.3s, left 0.3s, transform 0.5s;
    animation-duration: 0.7s;
    animation-timing-function: ease;
    animation-direction: normal;
    animation-fill-mode: forwards;
  }

  #cs-navigation .cs-line3 {
    bottom: 0;
    transition: bottom 0.3s, opacity 0.3s;
  }

  #cs-navigation .cs-ul-wrapper {
    height: 100vh;
    background-color: #fff;
    box-shadow: inset rgba(0, 0, 0, 0.2) 0px 8px 24px;
    opacity: 0;
    position: absolute;
    top: 100%;
    right: 0;
    left: auto;
    z-index: -1;
    overflow: hidden;
    transform: scaleX(0);
    transition: transform 0.4s, opacity 0.3s;
    transform-origin: top right;
  }

  #cs-navigation .cs-ul {
    width: auto;
    min-width: 40%;
    height: 65vh;
    margin: 0;
    /* 28px - 40px */
    padding: 3rem clamp(1.75rem, 3vw, 2.5rem) 2rem 4.375rem;
    display: flex;
    flex-direction: column;
    justify-content: flex-start;
    align-items: flex-end;
    gap: 1.25rem;
    overflow: scroll;
  }

  #cs-navigation .cs-li {
    text-align: right;
    list-style: none;
    width: 100%;
    margin-right: 0;
    opacity: 0;
    /* transition from these values */
    transform: translateX(-2.5rem);
    transition: transform 0.6s, opacity 0.9s;
  }

  #cs-navigation .cs-li:nth-of-type(1) {
    transition-delay: 0.05s;
  }

  #cs-navigation .cs-li:nth-of-type(2) {
    transition-delay: 0.1s;
  }

  #cs-navigation .cs-li:nth-of-type(3) {
    transition-delay: 0.15s;
  }

  #cs-navigation .cs-li:nth-of-type(4) {
    transition-delay: 0.2s;
  }

  #cs-navigation .cs-li:nth-of-type(5) {
    transition-delay: 0.25s;
  }

  #cs-navigation .cs-li:nth-of-type(6) {
    transition-delay: 0.3s;
  }

  #cs-navigation .cs-li:nth-of-type(7) {
    transition-delay: 0.35s;
  }

  #cs-navigation .cs-li:nth-of-type(8) {
    transition-delay: 0.4s;
  }

  #cs-navigation .cs-li:nth-of-type(9) {
    transition-delay: 0.45s;
  }

  #cs-navigation .cs-li-link {
    /* 16px - 24px */
    font-size: clamp(1rem, 2.5vw, 1.5rem);
    line-height: 1.2em;
    text-decoration: none;
    margin: 0;
    color: var(--headerColor);
    display: inline-block;
    position: relative;
  }

  #cs-navigation .cs-li-link:before {
    /* active state underline */
    content: "";
    width: 100%;
    height: 1px;
    background: var(--secondary);
    opacity: 1;
    display: none;
    position: absolute;
    bottom: -0.125rem;
    left: 0;
  }

  #cs-navigation .cs-li-link.cs-active:before {
    display: block;
  }

  #cs-navigation .cs-button-solid {
    display: none;
  }
}

/*-- -------------------------- -->
<---     Navigation Dropdown    -->
<--- -------------------------- -*/
/* Mobile - 1023px */
@media only screen and (max-width: 63.9375rem) {
  #cs-navigation .cs-dropdown {
    color: var(--bodyTextColorWhite);
    position: relative;
  }

  #cs-navigation .cs-dropdown.cs-active .cs-drop-ul {
    height: auto;
    margin: 0.75rem 0 0 0;
    padding: 1.5rem;
    opacity: 1;
    visibility: visible;
    transform: scale(1);
  }

  #cs-navigation .cs-dropdown.cs-active .cs-drop-link {
    opacity: 1;
  }

  #cs-navigation .cs-dropdown .cs-li-link {
    position: relative;
    transition: opacity 0.3s;
  }

  #cs-navigation .cs-drop-icon {
    width: 0.9375rem;
    height: auto;
    position: absolute;
    top: 50%;
    right: -1.25rem;
    transform: translateY(-50%);
  }

  #cs-navigation .cs-drop-ul {
    width: 100%;
    height: 0;
    margin: 0;
    box-sizing: border-box;
    padding: 0 1.5rem 0 1.5rem;
    background-color: var(--primary);
    opacity: 0;
    display: flex;
    visibility: hidden;
    flex-direction: column;
    justify-content: flex-start;
    align-items: flex-end;
    gap: 0.75rem;
    overflow: hidden;
    transform: scale(0);
    transition: padding 0.3s, margin 0.3s, height 0.3s, opacity 0.3s, transform 0.3s, visibility 0.3s;
    transform-origin: top right;
  }

  #cs-navigation .cs-drop-li {
    text-align: inherit;
    list-style: none;
  }

  #cs-navigation .cs-li-link.cs-drop-link {
    /* 14px - 16px */
    font-size: clamp(0.875rem, 2vw, 1.25rem);
    color: #fff;
  }
}

/* Desktop - 1024px */
@media only screen and (min-width: 64rem) {
  #cs-navigation .cs-dropdown {
    position: relative;
  }

  #cs-navigation .cs-dropdown:hover {
    cursor: pointer;
  }

  #cs-navigation .cs-dropdown:hover .cs-drop-ul {
    opacity: 1;
    visibility: visible;
    transform: scaleY(1);
  }

  #cs-navigation .cs-dropdown:hover .cs-drop-li {
    opacity: 1;
    transform: translateY(0);
  }

  #cs-navigation .cs-drop-icon {
    width: 0.9375rem;
    height: auto;
    display: inline-block;
  }

  #cs-navigation .cs-drop-ul {
    min-width: 12.5rem;
    margin: 0;
    padding: 0;
    background-color: #fff;
    box-shadow: rgba(149, 157, 165, 0.2) 0px 10px 16px;
    opacity: 0;
    border-bottom: 5px solid var(--primary);
    visibility: hidden;
    /* if you have 8 or more links in your dropdown nav, uncomment the columns property to make the list into 2 even columns. Change it to 3 or 4 if you need extra columns. Then remove the transition delays on the cs-drop-li so they don't have weird scattered animations */
    position: absolute;
    top: 100%;
    z-index: -100;
    overflow: hidden;
    transform: scaleY(0);
    transition: transform 0.3s, visibility 0.3s, opacity 0.3s;
    transform-origin: top;
  }

  #cs-navigation .cs-drop-li {
    font-size: 1rem;
    text-decoration: none;
    list-style: none;
    width: 100%;
    height: auto;
    color: var(--bodyTextColor);
    opacity: 0;
    display: block;
    transform: translateY(-0.625rem);
    transition: opacity 0.6s, transform 0.6s;
  }

  #cs-navigation .cs-drop-li:nth-of-type(1) {
    transition-delay: 0.05s;
  }

  #cs-navigation .cs-drop-li:nth-of-type(2) {
    transition-delay: 0.1s;
  }

  #cs-navigation .cs-drop-li:nth-of-type(3) {
    transition-delay: 0.15s;
  }

  #cs-navigation .cs-drop-li:nth-of-type(4) {
    transition-delay: 0.2s;
  }

  #cs-navigation .cs-drop-li:nth-of-type(5) {
    transition-delay: 0.25s;
  }

  #cs-navigation .cs-drop-li:nth-of-type(6) {
    transition-delay: 0.3s;
  }

  #cs-navigation .cs-drop-li:nth-of-type(7) {
    transition-delay: 0.35s;
  }

  #cs-navigation .cs-drop-li:nth-of-type(8) {
    transition-delay: 0.4s;
  }

  #cs-navigation .cs-drop-li:nth-of-type(9) {
    transition-delay: 0.45s;
  }

  #cs-navigation .cs-drop-li:nth-of-type(10) {
    transition-delay: 0.5s;
  }

  #cs-navigation .cs-drop-li:nth-of-type(11) {
    transition-delay: 0.55s;
  }

  #cs-navigation .cs-drop-li:nth-of-type(12) {
    transition-delay: 0.6s;
  }

  #cs-navigation .cs-drop-li:nth-of-type(13) {
    transition-delay: 0.65s;
  }

  #cs-navigation .cs-li-link.cs-drop-link {
    font-size: 1rem;
    line-height: 1.5em;
    text-decoration: none;
    white-space: nowrap;
    width: 100%;
    /* prevents padding and border from affecting height and width */
    box-sizing: border-box;
    padding: 0.75rem;
    color: var(--bodyTextColor);
    display: block;
    transition: color 0.3s, background-color 0.3s;
  }

  #cs-navigation .cs-li-link.cs-drop-link:hover {
    background-color: #f7f7f7;
  }

  #cs-navigation .cs-li-link.cs-drop-link:before {
    display: none;
  }
}

/*-- -------------------------- -->
<---     Desktop Navigation     -->
<--- -------------------------- -*/
/* Small Desktop - 1024px */
@media only screen and (min-width: 64rem) {
  #cs-navigation {
    width: 100%;
    /* prevents padding and border from affecting height and width */
    box-sizing: border-box;
    padding: 0 1rem;
    background-color: #fff;
    box-shadow: rgba(149, 157, 165, 0.2) 0px 8px 24px;
    position: fixed;
    z-index: 10000;
  }

  #cs-navigation .cs-container {
    width: 100%;
    max-width: 80rem;
    margin: auto;
    display: flex;
    justify-content: flex-end;
    align-items: center;
    gap: 1.5rem;
  }

  #cs-navigation .cs-toggle {
    display: none;
  }

  #cs-navigation .cs-logo {
    width: 18.4%;
    max-width: 21.875rem;
    height: 4.0625rem;
    /* margin-right auto pushes everything away from it to the right */
    margin: 0 auto 0 0;
    padding: 0;
    display: flex;
    justify-content: center;
    align-items: center;
    z-index: 100;
  }

  #cs-navigation .cs-logo img {
    width: 100%;
    height: 100%;
    /* ensures the image never overflows the container. It stays contained within it's width and height and expands to fill it then stops once it reaches an edge */
    object-fit: contain;
  }

  #cs-navigation .cs-ul {
    width: 100%;
    margin: 0;
    padding: 0;
    display: flex;
    justify-content: flex-start;
    align-items: center;
    /* 20px - 36px */
    gap: clamp(1.25rem, 2.6vw, 2.25rem);
  }

  #cs-navigation .cs-li {
    list-style: none;
    padding: 2rem 0;
    /* prevent flexbox from squishing it */
    flex: none;
  }

  #cs-navigation .cs-li-link {
    /* 14px - 16px */
    font-size: clamp(0.875rem, 1vw, 1rem);
    line-height: 1.5em;
    text-decoration: none;
    margin: 0;
    color: var(--bodyTextColor);
    display: block;
    position: relative;
  }

  #cs-navigation .cs-li-link:hover:before {
    width: 100%;
  }

  #cs-navigation .cs-li-link.cs-active:before {
    width: 100%;
  }

  #cs-navigation .cs-li-link:before {
    /* active state underline */
    content: "";
    width: 0%;
    height: 2px;
    background: var(--secondary);
    opacity: 1;
    display: block;
    position: absolute;
    bottom: 0rem;
    left: 0;
    transition: width 0.3s;
  }

  #cs-navigation .cs-button-solid {
    font-size: 1rem;
    font-weight: 700;
    /* 46px - 56px */
    line-height: clamp(2.875em, 5.5vw, 3.5em);
    text-align: center;
    text-decoration: none;
    min-width: 9.375rem;
    margin: 0;
    /* prevents padding from adding to the width */
    box-sizing: border-box;
    padding: 0 1.5rem;
    color: #fff;
    background-color: var(--primary);
    border-radius: 0.25rem;
    display: inline-block;
    position: relative;
    z-index: 1;
  }

  #cs-navigation .cs-button-solid:before {
    content: "";
    width: 0%;
    height: 100%;
    background: #000;
    opacity: 1;
    border-radius: 0.25rem;
    position: absolute;
    top: 0;
    left: 0;
    z-index: -1;
    transition: width 0.3s;
  }

  #cs-navigation .cs-button-solid:hover:before {
    width: 100%;
  }
}

/*-- -------------------------- -->
<---           Hero             -->
<--- -------------------------- -*/

/* Mobile - 360px */
@media only screen and (min-width: 0rem) {
  #hero-1617 {
    /* 200px - 300px - top leaving extra space for the navigation */
    /* 160px - 240px bottom */
    padding: clamp(12.5rem, 25.95vw, 18.75em) 1rem clamp(10rem, 15vw, 15rem);
    /* prevents the topper line from causing an overflow */
    overflow: hidden;
    position: relative;
    z-index: 1;
  }

  #hero-1617 .cs-container {
    width: 100%;
    max-width: 80rem;
    margin: auto;
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    align-items: center;
    gap: 3rem;
  }

  #hero-1617 .cs-content {
    --cornerWidth: 8.75rem;
    --cornerHeight: 8.75rem;
    width: 100%;
    max-width: 53.125rem;
    /* 48px - 80px top & bottom */
    /* 16px - 48px left & right */
    padding: clamp(3rem, 6vw, 5rem) clamp(1rem, 5vw, 3rem);
    /* prevents padding from affecting height and width */
    box-sizing: border-box;
    display: flex;
    flex-direction: column;
    align-items: center;
    position: relative;
    z-index: 1;
  }

  #hero-1617 .cs-content:before {
    /* top left corner */
    content: '';
    width: 35vw;
    max-width: var(--cornerWidth);
    height: 35vw;
    max-height: var(--cornerHeight);
    border: 2px solid #fff;
    border-right: none;
    border-bottom: none;
    opacity: 1;
    position: absolute;
    display: block;
    top: 0;
    left: 0;
    z-index: -1;
  }

  #hero-1617 .cs-content:after {
    /* top right corner */
    content: '';
    width: 35vw;
    max-width: var(--cornerWidth);
    height: 35vw;
    max-height: var(--cornerHeight);
    border: 2px solid #fff;
    border-left: none;
    border-bottom: none;
    opacity: 1;
    position: absolute;
    display: block;
    top: 0;
    right: 0;
    z-index: -1;
  }

  #hero-1617 .cs-corners {
    height: 100%;
    width: 100%;
    position: absolute;
    top: 0;
    left: 0;
    z-index: -1;
  }

  #hero-1617 .cs-corners:before {
    /* bottom left corner */
    content: '';
    width: 35vw;
    max-width: var(--cornerWidth);
    height: 35vw;
    max-height: var(--cornerHeight);
    border: 2px solid #fff;
    border-right: none;
    border-top: none;
    opacity: 1;
    position: absolute;
    display: block;
    bottom: 0;
    left: 0;
    z-index: -1;
  }

  #hero-1617 .cs-corners:after {
    /* bottom right corner */
    content: '';
    width: 35vw;
    max-width: var(--cornerWidth);
    height: 35vw;
    max-height: var(--cornerHeight);
    border: 2px solid #fff;
    border-left: none;
    border-top: none;
    opacity: 1;
    position: absolute;
    display: block;
    bottom: 0;
    right: 0;
    z-index: -1;
  }

  #hero-1617 .cs-topper {
    /* 13px - 16px */
    font-size: clamp(0.8125rem, 1.5vw, 1rem);
    line-height: 1.2em;
    font-weight: 700;
    letter-spacing: 0.1em;
    text-align: center;
    text-transform: uppercase;
    margin-bottom: 0.25rem;
    color: var(--primary);
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 0.5rem;
    position: relative;
  }

  #hero-1617 .cs-chevron {
    --chevronColor: var(--primary);
    width: 3rem;
    height: auto;
  }

  #hero-1617 .cs-title {
    /* 39px - 61px */
    font-size: clamp(2.4375rem, 6.4vw, 3.8125rem);
    font-weight: 700;
    line-height: 1.2em;
    text-align: center;
    max-width: 51.8125rem;
    /* 16px - 24px */
    margin: 0 0 2.5rem 0;
    color: #fff;
    position: relative;
  }

  #hero-1617 .cs-text {
    /* 16px - 20px */
    font-size: clamp(1rem, 2.0vw, 1.48rem);
    line-height: 1.5em;
    text-align: center;
    width: 100%;
    /* 464px - 622px */
    max-width: clamp(29rem, 60vw, 38.785rem);
    margin: 0 auto 0;
    margin-bottom: 2rem;
    color: var(--primaryLight);
  }

  #hero-1617 .cs-button-solid {
    font-size: 1rem;
    /* 46px - 56px */
    line-height: clamp(2.875rem, 5.5vw, 3.5rem);
    text-decoration: none;
    font-weight: 700;
    text-align: center;
    margin: 0;
    color: #1a1a1a;
    min-width: 12.5rem;
    padding: 0 1.5rem;
    background-color: var(--primary);
    display: inline-block;
    position: relative;
    z-index: 1;
    /* prevents padding from adding to the width */
    box-sizing: border-box;
  }

  #hero-1617 .cs-button-solid:before {
    content: "";
    position: absolute;
    height: 100%;
    width: 0%;
    background: #fff;
    opacity: 1;
    top: 0;
    left: 0;
    z-index: -1;
    transition: width 0.3s;
  }

  #hero-1617 .cs-button-solid:hover:before {
    width: 100%;
  }

  #hero-1617 .cs-background {
    width: 100%;
    height: 100%;
    display: block;
    position: absolute;
    top: 0;
    left: 0;
    z-index: -2;
  }

  #hero-1617 .cs-background:before {
    /* Overlay */
    content: "";
    width: 100%;
    height: 100%;
    background: #111926;
    opacity: 0.8;
    position: absolute;
    display: block;
    top: 0;
    left: 0;
    z-index: 1;
    /* prevents the cursor from interacting with it */
    pointer-events: none;
  }

  #hero-1617 .cs-background img {
    position: absolute;
    top: 0;
    left: 0;
    height: 100%;
    width: 100%;
    object-fit: cover;
  }
}

/* Large Desktop - Parallax Effect - 1600px */
@media only screen and (min-width: 100rem) {
  #hero-1617 {
    background: url("img/meeting-2.jpeg");
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;
    background-attachment: fixed;
  }

  #hero-1617 .cs-background img {
    display: none;
  }
}


/*-- -------------------------- -->
<---           Stats            -->
<--- -------------------------- -*/

/* Mobile - 360px */
@media only screen and (min-width: 0rem) {
  #stats-5 {
    padding: var(--sectionPadding);
    position: relative;
    z-index: 1;
  }

  #stats-5 .cs-container {
    width: 100%;
    max-width: 80rem;
    margin: auto;
    display: flex;
    flex-direction: column;
    align-items: center;
    /* 48px - 64px */
    gap: clamp(3rem, 6vw, 4rem);
  }

  #stats-5 .cs-content {
    /* set text align to left if content needs to be left aligned */
    text-align: center;
    width: 100%;
    display: flex;
    flex-direction: column;
    /* centers content horizontally, set to flex-start to left align */
    align-items: center;
  }

  #stats-5 .cs-title {
    color: var(--bodyTextColorWhite);
  }

  #stats-5 .cs-text {
    color: var(--bodyTextColorWhite);
    opacity: 0.8;
  }

  #stats-5 .cs-card-group {
    width: 100%;
    max-width: 31.25rem;
    padding: 0 1.25rem;
    /* 40px - 68px */
    padding-top: clamp(2.5rem, 5.7vw, 4.25rem);
    /* 48px - 80px */
    padding-bottom: clamp(3rem, 6.5vw, 5rem);
    margin: 0;
    background: #fff;
    border-top: 8px solid var(--primaryLight);
    border-radius: 0.3125rem;
    display: flex;
    flex-direction: column;
    justify-content: space-around;
    flex-wrap: wrap;
    align-items: center;
    gap: 3.4375em;
    box-shadow: 0 1.25em 2.5em 0 rgba(0, 0, 0, 0.05);
    /* prevents padding from adding to the width of the container */
    box-sizing: border-box;
  }

  #stats-5 .cs-item {
    text-align: center;
    list-style: none;
    width: 100%;
  }

  #stats-5 .cs-number {
    /* 39px - 61px */
    font-size: clamp(2.4375rem, 4.7vw, 3.8125rem);
    font-weight: 700;
    line-height: 1.2em;
    /* 4px - 8px */
    margin-bottom: clamp(0.25rem, 0.78vw, 0.5rem);
    color: var(--secondary);
    display: block;
  }

  #stats-5 .cs-header {
    /* 16px - 25px */
    font-size: clamp(1rem, 2vw, 1.5625rem);
    font-weight: 700;
    line-height: 1.2em;
    color: var(--headerColor);
  }

  #stats-5 .cs-button-solid {
    font-size: 1rem;
    /* 46px - 56px */
    line-height: clamp(2.875rem, 5.5vw, 3.5rem);
    text-decoration: none;
    font-weight: 700;
    text-align: center;
    margin: 0;
    color: #fff;
    min-width: 9.375rem;
    padding: 0 1.5rem;
    background-color: var(--primary);
    border-radius: 0.25rem;
    display: inline-block;
    position: relative;
    z-index: 1;
    /* prevents padding from adding to the width */
    box-sizing: border-box;
  }

  #stats-5 .cs-button-solid:before {
    content: "";
    position: absolute;
    height: 100%;
    width: 0%;
    background: #000;
    opacity: 1;
    top: 0;
    left: 0;
    z-index: -1;
    border-radius: 0.25rem;
    transition: width 0.3s;
  }

  #stats-5 .cs-button-solid:hover:before {
    width: 100%;
  }

  #stats-5 .cs-background {
    position: absolute;
    display: block;
    top: 0;
    left: 0;
    width: 100%;
    height: 65%;
    z-index: -1;
  }

  #stats-5 .cs-background:before {
    /* Overlay */
    content: "";
    position: absolute;
    display: block;
    height: 100%;
    width: 100%;
    background: #000;
    opacity: 0.8;
    top: 0;
    left: 0;
    z-index: 1;
  }

  #stats-5 .cs-background img {
    position: absolute;
    top: 0;
    left: 0;
    height: 100%;
    width: 100%;
    object-fit: cover;
  }
}

/* In-between - 500px */
@media only screen and (min-width: 31.25rem) {
  #stats-5 .cs-card-group {
    flex-direction: row;
    justify-content: center;
    align-items: center;
    flex-wrap: wrap;
    gap: 0;
    row-gap: 3.4375rem;
    column-gap: 6.25rem;
  }

  #stats-5 .cs-item {
    /* sets even spacing */
    width: 7.8125rem;
  }
}

/* Tablet - 768px */
@media only screen and (min-width: 48rem) {
  #stats-5:before {
    height: 37.5%;
  }

  #stats-5 .cs-card-group {
    max-width: 100%;
    column-gap: 0;
    row-gap: 0;
    justify-content: space-around;
  }

  #stats-5 .cs-item {
    /* reset width */
    width: auto;
  }
}

/* Big Desktop Parallax Effect - 1300px */
@media only screen and (min-width: 81.25rem) {
  #stats-5 .cs-background {
    background: url("img/bg.jpg");
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;
    background-attachment: fixed;
  }

  #stats-5 .cs-background img {
    display: none;
  }
}

/*-- -------------------------- -->
<---          Timeline          -->
<--- -------------------------- -*/

/* Mobile - 360px */
@media only screen and (min-width: 0rem) {
  #timeline-504 {
    padding: var(--sectionPadding);
    background-color: var(--primary);
    /* clips the white line through the bullets */
    overflow: hidden;
  }

  #timeline-504 .cs-container {
    width: 100%;
    /* changes to 1280px at tablet */
    max-width: 34.375rem;
    margin: auto;
    display: flex;
    flex-direction: column;
    align-items: center;
    /* 48px - 64px */
    gap: clamp(3rem, 6vw, 4rem);
  }

  #timeline-504 .cs-content {
    /* set text align to left if content needs to be left aligned */
    text-align: left;
    width: 100%;
    display: flex;
    flex-direction: column;
    /* centers content horizontally, set to flex-start to left align */
    align-items: flex-start;
  }

  #timeline-504 .cs-topper,
  #timeline-504 .cs-title {
    max-width: 18ch;
    color: var(--bodyTextColorWhite);
  }

  #timeline-504 .cs-text {
    max-width: 32.625rem;
    color: var(--bodyTextColorWhite);
    opacity: 0.8;
  }

  #timeline-504 .cs-color {
    color: var(--secondary);
  }

  #timeline-504 .cs-card-group {
    width: 100%;
    margin: 0;
    padding: 0;
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    justify-content: center;
    /* changes at tablet */
    gap: 2rem;
    position: relative;
  }

  #timeline-504 .cs-card-group:before {
    /* white line through the bullets */
    content: "";
    width: 1px;
    background: #b4b2c7;
    opacity: 1;
    position: absolute;
    display: block;
    top: 0;
    /* send it way down to reach the bottom of the section, and have some overlap so if you add content and the ul gets longer, it will still be at the bottom */
    bottom: -18.75rem;
    /* half the width of the bullet */
    left: 0.625rem;
  }

  #timeline-504 .cs-item {
    width: 100%;
    max-width: 25rem;
    list-style: none;
    padding: 0 0 0 3.4375rem;
    position: relative;
  }

  #timeline-504 .cs-item:before {
    /* bullet circle */
    content: "";
    width: 1.25rem;
    height: 1.25rem;
    background: var(--secondary);
    border-radius: 50%;
    opacity: 1;
    position: absolute;
    display: block;
    top: 0;
    left: 0;
  }

  #timeline-504 .cs-h3 {
    /* 16px - 25px */
    font-size: clamp(1rem, 1.2vw, 1.2rem);
    line-height: 1.2em;
    font-weight: 700;
    /* changes to 100% at tablet */
    width: 80%;
    margin: 0;
    margin-bottom: 1.25rem;
    color: var(--bodyTextColorWhite);
    position: relative;
  }

  #timeline-504 .cs-item-text {
    /* 14px - 16px */
    font-size: font-size: 0.875rem !important;
      /* Force this size to test */
    line-height: 1.5em;
    margin: 0;
    color: var(--bodyTextColorWhite);
  }
}

/* Tablet - 768px */
@media only screen and (min-width: 48rem) {
  #timeline-504 .cs-container {
    max-width: 80rem;
  }

  #timeline-504 .cs-content {
    flex-direction: row;
    justify-content: space-between;
    align-items: flex-end;
  }

  #timeline-504 .cs-title {
    margin: 0;
  }

  #timeline-504 .cs-text {
    width: 50%;
    margin: 0;
  }

  #timeline-504 .cs-card-group {
    flex-direction: row;
    /* 16px - 20px */
    gap: clamp(1rem, 1.5vw, 1.25rem);
  }

  #timeline-504 .cs-card-group:before {
    /* make wide enough to cover large screens */
    width: 250rem;
    height: 1px;
    top: 0.625rem;
    /* these next two properties center the line in the UL */
    left: 50%;
    transform: translateX(-50%);
  }

  #timeline-504 .cs-item {
    padding: 0;
    z-index: 1;
  }

  #timeline-504 .cs-item:hover:after {
    opacity: 1;
    transform: scale(1);
  }

  #timeline-504 .cs-item::before {
    /* 56px - 72px */
    margin-bottom: clamp(3.5rem, 7vw, 4.5rem);
    position: relative;
    top: auto;
    left: auto;
  }

  #timeline-504 .cs-item:after {
    /* Hover bullet */
    content: "";
    width: 2.5rem;
    height: 2.5rem;
    background: var(--primary);
    border: 1px solid var(--secondary);
    border-radius: 50%;
    box-sizing: border-box;
    opacity: 0;
    position: absolute;
    display: block;
    top: -0.625rem;
    left: -0.625rem;
    z-index: -1;
    transform: scale(0);
    transition:
      width 0.3s,
      height 0.3s,
      transform 0.4s,
      opacity 0.3s;
  }

  #timeline-504 .cs-h3 {
    width: 100%;
  }
}

/*-- -------------------------- -->
<---        Recent Posts        -->
<--- -------------------------- -*/
/* Mobile - 360px */
@media only screen and (min-width: 0rem) {
  @keyframes floatAnimation {
    0% {
      transform: translateY(0);
    }

    50% {
      transform: translateY(-2rem);
    }

    100% {
      transform: translateY(0);
    }
  }

  @keyframes floatAnimation2 {
    0% {
      transform: translateY(0);
    }

    50% {
      transform: translateY(-3rem);
    }

    100% {
      transform: translateY(0);
    }
  }

  #meet-team-1370 {
    padding: var(--sectionPadding);
    position: relative;
    z-index: 1;
    overflow: hidden;
  }

  #meet-team-1370 .cs-container {
    width: 100%;
    max-width: 80rem;
    margin: auto;
    display: flex;
    flex-direction: column;
    align-items: center;
    /* 48px - 64px */
    gap: clamp(3rem, 6vw, 4rem);
  }

  #meet-team-1370 .cs-content {
    /* set text align to left if content needs to be left aligned */
    text-align: center;
    width: 100%;
    display: flex;
    flex-direction: column;
    /* centers content horizontally, set to flex-start to left align */
    align-items: center;
  }

  #meet-team-1370 .cs-topper {
    font-size: var(--topperFontSize);
    font-weight: 700;
    line-height: 1.2em;
    text-align: inherit;
    text-transform: uppercase;
    letter-spacing: 0.1em;
    margin-bottom: 0.25rem;
    color: var(--primary);
    display: block;
  }

  #meet-team-1370 .cs-title {
    font-size: var(--headerFontSize);
    font-weight: 900;
    line-height: 1.2em;
    text-align: inherit;
    max-width: 43.75rem;
    margin: 0 0 1rem 0;
    color: var(--headerColor);
    position: relative;
  }

  #meet-team-1370 .cs-text {
    font-size: var(--bodyFontSize);
    line-height: 1.5em;
    text-align: inherit;
    width: 100%;
    max-width: 40.625rem;
    margin: 0;
    color: var(--bodyTextColor);
  }

  #meet-team-1370 .cs-topper {
    color: var(--secondary);
  }

  #meet-team-1370 .cs-card-group {
    width: 100%;
    /* max-width is removed on tablet */
    max-width: 43.75rem;
    margin: 0;
    padding: 0;
    display: grid;
    align-items: stretch;
    grid-template-columns: repeat(12, 1fr);
    /* 16px - 20px */
    gap: clamp(1rem, 2vw, 1.25rem);
  }

  #meet-team-1370 .cs-item {
    list-style: none;
    display: flex;
    flex-direction: column;
    grid-column: span 12;
  }

  #meet-team-1370 .cs-item:hover .cs-link {
    opacity: 1;
    transform: translateY(0);
  }

  #meet-team-1370 .cs-picture-wrapper {
    /* 12px - 20px */
    margin-bottom: clamp(0.5rem, 3vw, 1rem);
    position: relative;
  }

  #meet-team-1370 .cs-picture {
    width: clamp(180px, 15vw, 180px);
    /* Responsive size */
    height: clamp(180px, 15vw, 180px);
    /* Maintain aspect ratio */
    margin: 0 auto;
    border-radius: 50%;
    display: block;
    position: relative;
    z-index: 1;
    overflow: hidden;
    aspect-ratio: 1/1;
  }

  #meet-team-1370 .cs-picture img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    position: absolute;
    top: 0;
    left: 0;
  }

#meet-team-1370 .cs-info {
  text-align: center;
  padding: clamp(1rem, 1vw, 1.1rem);
  /* Padding now takes effect */
  background-color: #f7f7f7;
  border-radius: 1.5rem;
  display: flex;
  flex-direction: column;
  justify-content: center;
  flex-grow: 1;
  max-width: 220px;
  /* Limit maximum width */
  width: 100%;
  /* Allow it to expand based on parent container */
  margin: 0 auto;
  /* Centers horizontally */
  transition: background-color 0.3s;
}

  #meet-team-1370 .cs-info:hover {
    color: #fff;
    background-color: var(--primary);
  }

  #meet-team-1370 .cs-name {
    font-size: 1.25rem;
    font-weight: bold;
    margin: 0;
    margin: 0 0 0.25rem;
    gap: 1rem;
    transition: color 0.3s;
  }

  #meet-team-1370 .cs-job {
    transition: color 0.3s;
  }

  #meet-team-1370 .cs-social {
    display: flex;
    gap: 0.5rem;
    position: absolute;
    right: 50%;
    bottom: 1.5rem;
    z-index: 1;
    transform: translateX(50%);
  }

  #meet-team-1370 .cs-link {
    width: 2.5rem;
    height: 2.5rem;
    background-color: #fff;
    opacity: 0;
    border-radius: 50%;
    display: flex;
    justify-content: center;
    align-items: center;
    transform: translateY(1rem);
    transition:
      transform 0.3s,
      opacity 0.3s;
  }

  #meet-team-1370 .cs-link:hover .cs-icon {
    /* use this pen to generate a filter from black to a color of your choosing */
    /* https://codepen.io/sosuke/pen/Pjoqqp */
    filter: invert(55%) sepia(42%) saturate(4845%) hue-rotate(337deg) brightness(101%) contrast(98%);
  }

  #meet-team-1370 .cs-link:first-of-type,
  #meet-team-1370 .cs-link:last-of-type {
    margin-top: -1.25rem;
  }

  #meet-team-1370 .cs-link:nth-of-type(1) {
    transition-delay: 0.05s;
  }

  #meet-team-1370 .cs-link:nth-of-type(2) {
    transition-delay: 0.1s;
  }

  #meet-team-1370 .cs-link:nth-of-type(3) {
    transition-delay: 0.15s;
  }

  #meet-team-1370 .cs-link:nth-of-type(4) {
    transition-delay: 0.2s;
  }

  #meet-team-1370 .cs-bubbles {
    width: 22.3125rem;
    height: 29.375rem;
    margin-left: -58.625rem;
    display: none;
    position: absolute;
    top: -11.625rem;
    left: 50%;
    z-index: -1;
  }

  #meet-team-1370 .cs-bubbles:before {
    /* white border bubble */
    content: "";
    width: 18.375rem;
    height: 18.375rem;
    background: transparent;
    opacity: 1;
    border: 1px solid #1a1a1a;
    border-radius: 50%;
    display: block;
    position: absolute;
    top: 0;
    right: 0;
    animation-name: floatAnimation;
    animation-duration: 5s;
    animation-timing-function: ease-in-out;
    animation-iteration-count: infinite;
    animation-fill-mode: forwards;
  }

  #meet-team-1370 .cs-bubbles:after {
    /* orange bubble */
    content: "";
    width: 18.375rem;
    height: 18.375rem;
    background: var(--primary);
    opacity: 0.1;
    border-radius: 50%;
    display: block;
    position: absolute;
    bottom: 0;
    left: 0;
    z-index: -1;
    animation-name: floatAnimation2;
    animation-duration: 14s;
    animation-timing-function: ease-in-out;
    animation-iteration-count: infinite;
    animation-fill-mode: forwards;
  }
}

/* Tablet - 500px */
@media only screen and (min-width: 31.25rem) {
  #meet-team-1370 .cs-item {
    grid-column: span 6;
  }
}

/* Desktop - 1024px */
@media only screen and (min-width: 64rem) {
  #meet-team-1370 .cs-container {
    flex-direction: row;
  }

  #meet-team-1370 .cs-content {
    text-align: left;
    max-width: 25.8125rem;
    align-items: start;
  }

  #meet-team-1370 .cs-card-group {
    max-width: none;
  }

  #meet-team-1370 .cs-bubbles {
    display: block;
  }
}



/*-- -------------------------- -->
<---          About             -->
<--- -------------------------- -*/

/* Mobile - 360px */
@media only screen and (min-width: 0rem) {
  #about-1451 {
    padding: var(--sectionPadding);
  }

  #about-1451 .cs-container {
    width: 100%;
    /* changes to 1280px at large desktop */
    max-width: 59rem;
    margin: auto;
    display: flex;
    flex-direction: column;
    align-items: center;
    /* 48px - 100px */
    gap: clamp(.33rem, 2.0vw, 6.25rem);
    position: relative;
    z-index: 1;
  }

  #about-1451 .cs-content {
    width: 100%;
    /* padding left and right added on tablet */
    padding: 0 0 0rem 0;
    /* prevents padding from affecting height and width */
    box-sizing: border-box;
    position: relative;
    z-index: 1;
  }

  #about-1451 .cs-info {
    width: 100%;
    /* 16px - 48px */
    padding: 0 clamp(.5rem, 5vw, 3rem);
    /* prevents padding from affecting height and width */
    box-sizing: border-box;
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    /* 16px - 20px */
    gap: clamp(.5rem, 1.4vw, 1.0rem);
    position: relative;
    z-index: 1;
  }

  #about-1451 .cs-info:before {
    /* grey background, moves to the cs-content at tablet */
    content: '';
    width: 100%;
    height: 85%;
    background: #F7F7F7;
    opacity: 1;
    position: absolute;
    display: block;
    bottom: 0;
    left: 0;
    z-index: -1;
  }

  #about-1451 .cs-header {
    font-size: var(--headerFontSize);
    line-height: 1.0em;
    text-align: inherit;
    font-weight: 900;
    /* 12px - 24px */
    margin: 0 0 clamp(0.25rem, .7vw, .5rem);
    color: var(--headerColor);
    display: block;
  }

  #about-1451 .cs-text {
    /* 14px - 16px */
    font-size: clamp(0.875rem, 1.5vw, 1rem);
    max-width: 43.75rem;
  }

  #about-1451 .cs-text {
    /* Override.  cs-topper cs-title and first cs-text should be removed and put into your global css sheet so it can control every instance of them on your site and is consistent. This selector is a section specific override that stays inside this stitch */
    margin-bottom: 1rem;
  }

  #about-1451 .cs-text:last-of-type {
    margin-bottom: 1rem;
  }

  #about-1451 .cs-picture {
    /* width and height changes at tablet */
    width: 85%;
    max-width: 21.875rem;
    height: 20.625rem;
    display: block;
    position: relative;
    z-index: 10;
  }

  #about-1451 .cs-picture img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    /* positions the top of the image to line up wiht the top of the parent */
    object-position: top;
    position: absolute;
    top: 0;
    left: 0;
  }

  #about-1451 .cs-floater {
    /* 100px - 192px */
    width: clamp(6.25rem, 15vw, 12rem);
    height: auto;
    display: none;
    position: absolute;
    right: 1.125rem;
    top: -2.2rem;
  }
}

/* Tablet - 768px */
@media only screen and (min-width: 48rem) {
  #about-1451 .cs-info {
    flex-direction: row;
    padding: 0;
  }

  #about-1451 .cs-info:before {
    display: none;
  }

  #about-1451 .cs-content {
    /* 40px - 148px */
    margin-top: clamp(2.5rem, 2vw, 7.8125rem);
    /* 32px - 148px */
    padding: clamp(2rem, 1vw, 7rem) 2.25rem 4rem 1.25rem;
  }

  #about-1451 .cs-content:before {
    /* grey background */
    content: '';
    width: 120%;
    height: 100%;
    background: #F7F7F7;
    opacity: 1;
    position: absolute;
    display: block;
    bottom: 0;
    right: 0;
    z-index: -1;
  }

  #about-1451 .cs-picture {
    /* width and height changes again on larger desktop */
    width: 38%;
    max-width: 16.25rem;
    /* 260px - 348px */
    height: clamp(16.25rem, 36vw, 21.75rem);
  }

  #about-1451 .cs-floater {
    display: block;
  }
}

/* Large Desktop 1300px */
@media only screen and (min-width: 81.25rem) {
  #about-1451 .cs-container {
    max-width: 80rem;
    gap: clamp(2.0rem, 1.0vw, 4.0rem);
  }

  #about-1451 .cs-info {
    align-items: stretch;
  }

  #about-1451 .cs-picture {
    height: auto;
    min-height: 43.5rem;
    width: 32.625rem;
    max-width: 32.625rem;
    margin-bottom: 4rem;
    /* prevents flexbox from squishing it */
    flex: none;
  }
}

/* Larger Desktop 1600px */
@media only screen and (min-width: 100rem) {
  #about-1451 .cs-info:nth-of-type(even) .cs-picture {
    margin-left: 0;
  }

  #about-1451 .cs-picture {
    margin-left: -5.5rem;
  }
}


/*-- -------------------------- -->
<---          Banner            -->
<--- -------------------------- -*/

/* Mobile - 360px */
@media only screen and (min-width: 0rem) {
  #banner-1403 {
    padding: var(--sectionPadding);
    /* 190px - 268px */
    padding-top: clamp(11.875rem, 25vw, 16.75rem);
    padding-bottom: 6.25rem;
    /* clips the line from causing overflow issues for going off screen */
    overflow: hidden;
    position: relative;
    z-index: 1;
  }

  #banner-1403 .cs-container {
    text-align: center;
    width: 100%;
    max-width: 80rem;
    margin: auto;
    display: flex;
    justify-content: center;
    align-items: flex-start;
    flex-direction: column;
    /* 8px - 12px */
    gap: clamp(0.5rem, 1vw, 0.75rem);
  }

  #banner-1403 .cs-int-title {
    /* 39px - 61px */
    font-size: clamp(2.4375rem, 6.4vw, 3.8125rem);
    font-weight: 900;
    line-height: 1.2em;
    text-align: inherit;
    margin: 0;
    color: var(--bodyTextColorWhite);
    position: relative;
  }

  #banner-1403 .cs-breadcrumbs {
    display: flex;
    justify-content: center;
    align-items: center;
  }

  #banner-1403 .cs-link {
    font-size: 1rem;
    line-height: 1.2em;
    text-decoration: none;
    color: var(--bodyTextColorWhite);
    position: relative;
    display: flex;
    justify-content: center;
    align-items: center;
  }

  #banner-1403 .cs-link:last-of-type {
    /* remove the chevron on the last list item */
  }

  #banner-1403 .cs-link:last-of-type::after {
    display: none;
  }

  #banner-1403 .cs-link:after {
    /* chevron */
    content: "";
    width: 0.4375rem;
    height: 0.75rem;
    margin: 0 1rem;
    background: url("img/white-chev.svg");
    background-size: contain;
    background-position: center;
    background-repeat: no-repeat;
    position: relative;
    display: block;
  }

  #banner-1403 .cs-link.cs-active {
    color: var(--primary);
  }

  #banner-1403 .cs-background {
    width: 100%;
    height: 100%;
    display: block;
    position: absolute;
    top: 0;
    left: 0;
    z-index: -1;
  }

  #banner-1403 .cs-background:before {
    /* gradient overlay */
    content: "";
    width: 100%;
    height: 100%;
    background: #000;
    opacity: 0.4;
    position: absolute;
    display: block;
    top: 0;
    left: 0;
    z-index: 1;
  }

  #banner-1403 .cs-background:after {
    /* gradient overlay */
    content: "";
    width: 100%;
    height: 40%;
    background: -webkit-gradient(linear,
        left top,
        left bottom,
        from(#000000),
        to(rgba(0, 0, 0, 0)));
    background: -o-linear-gradient(top, #000000 0%, rgba(0, 0, 0, 0) 100%);
    background: linear-gradient(to bottom,
        #000000 0%,
        rgba(0, 0, 0, 0) 100%);
    position: absolute;
    display: block;
    top: 0;
    left: 0;
    z-index: 2;
  }

  #banner-1403 .cs-background img {
    position: absolute;
    top: 0;
    left: 0;
    height: 100%;
    width: 100%;
    /* Makes img tag act as a background image */
    object-fit: cover;
  }
}

/* Tablet - 768px */
@media only screen and (min-width: 48rem) {
  #banner-1403 .cs-background:before {
    width: 50%;
    height: 100%;
    background: -webkit-gradient(linear,
        left top,
        right top,
        from(#000000),
        to(rgba(0, 0, 0, 0)));
    background: -o-linear-gradient(left, #000000 0%, rgba(0, 0, 0, 0) 100%);
    background: linear-gradient(to right,
        #000000 0%,
        rgba(0, 0, 0, 0) 100%);
    opacity: 1;
  }
}

/*-- -------------------------- -->
<---          Contact           -->
<--- -------------------------- -*/

/* Mobile - 360px */
@media only screen and (min-width: 0rem) {
  #contact-1403 {
    padding: var(--sectionPadding);
    padding-bottom: 10%;
    background-color: #f7f7f7;
    position: relative;
    z-index: 10;
  }

  #contact-1403 .cs-container {
    width: 100%;
    /* changes to 1280px at tablet */
    max-width: 36.5rem;
    margin: auto;
    display: flex;
    justify-content: center;
    align-items: center;
    flex-direction: column;
    column-gap: auto;
    /* 48px - 64px */
    gap: clamp(2rem, 3vw, 3rem);
    position: relative;
  }

  #contact-1403 .cs-content {
    /* set text align to left if content needs to be left aligned */
    text-align: left;
    width: 100%;
    display: flex;
    flex-direction: column;
    /* centers content horizontally, set to flex-start to left align */
    align-items: flex-start;
  }

  #contact-1403 .cs-title {
    max-width: 23ch;
  }

  #contact-1403 .cs-text {
    margin-bottom: 1rem;
  }

  #contact-1403 .cs-text:last-of-type {
    margin-bottom: 2rem;
  }

  #contact-1403 .cs-ul {
    text-align: left;
    width: 100%;
    margin: 0;
    padding: 0;
    box-sizing: border-box;
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 1.5rem;
    position: relative;
  }

  #contact-1403 .cs-li {
    list-style: none;
    display: flex;
    justify-content: flex-start;
    align-items: flex-start;
    gap: 1.25rem;
  }

  #contact-1403 .cs-li:hover .cs-icon-wrapper {
    transform: scale(1.1);
  }

  #contact-1403 .cs-header {
    font-size: 1.25rem;
    font-weight: 700;
    line-height: 1.2em;
    margin-bottom: 0.75rem;
    color: var(--headerColor);
    display: block;
  }

  #contact-1403 .cs-link {
    font-size: 1rem;
    line-height: 1.5em;
    text-decoration: none;
    color: #767676;
    display: block;
    position: relative;
  }

  #contact-1403 .cs-link:hover {
    text-decoration: underline;
  }

  #contact-1403 .cs-icon-wrapper {
    width: 3.75rem;
    height: 3.75rem;
    margin: 0;
    border-radius: 50%;
    border: 1px solid #bababa;
    display: flex;
    justify-content: center;
    align-items: center;
    /* prevents flexbox from squishing it */
    flex: none;
    transition: transform 0.3s;
  }

  #contact-1403 .cs-icon {
    width: 1.5rem;
    height: auto;
    display: block;
  }

  #contact-1403 .cs-form {
    width: 100%;
    max-width: 39.375rem;
    /* -30px to -100px */
    margin-bottom: calc(clamp(1.875rem, 7vw, 6.25rem) * -1);
    /* 24px - 48px top and bottom */
    /* 16px - 48px left and right */
    padding: clamp(1.5rem, 5.18vw, 3rem) clamp(1rem, 4vw, 3rem);
    /* prevents flexbox from affecting height and width */
    box-sizing: border-box;
    background-color: #fff;
    border-radius: 1rem;
    display: flex;
    justify-content: space-between;
    flex-wrap: wrap;
    align-items: center;
    gap: 0.75rem;
  }

  #contact-1403 .cs-h3 {
    /* 20px - 39px */
    font-size: clamp(1.25rem, 3vw, 2.4375rem);
    line-height: 1.2em;
    font-weight: 700;
    margin: 0 0 0.25rem 0;
    color: var(--headerColor);
  }

  #contact-1403 .cs-label {
    /* 14px - 16px */
    font-size: clamp(0.875rem, 1.5vw, 1rem);
    width: 100%;
    color: var(--headerColor);
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: flex-start;
    gap: 0.25rem;
  }

  #contact-1403 .cs-input {
    font-size: 1rem;
    width: 100%;
    height: 3.5rem;
    padding: 0;
    padding-left: 1.5rem;
    color: var(--headerColor);
    background-color: #f7f7f7;
    border-radius: 0.5rem;
    border: none;
    /* prevents padding from adding to height and width */
    box-sizing: border-box;
  }

  #contact-1403 .cs-input::placeholder {
    color: #7d799c;
    opacity: 0.6;
  }

  #contact-1403 .cs-textarea {
    min-height: 7.5rem;
    padding-top: 1.5rem;
    margin-bottom: 0.75rem;
    font-family: inherit;
  }

  #contact-1403 .cs-button-solid {
    font-size: 1rem;
    line-height: 3.5rem;
    text-decoration: none;
    font-weight: 700;
    overflow: hidden;
    margin: 0;
    color: #fff;
    padding: 0 3rem;
    border-radius: 1.875rem;
    background-color: var(--primary);
    display: inline-block;
    position: relative;
    z-index: 1;
    transition: color 0.3s;
  }

  #contact-1403 .cs-button-solid:before {
    content: "";
    position: absolute;
    display: block;
    height: 100%;
    width: 0%;
    background: #1a1a1a;
    opacity: 1;
    top: 0;
    left: 0;
    z-index: -1;
    transition: width 0.3s;
  }

  #contact-1403 .cs-button-solid:hover {
    color: var(--primary);
  }

  #contact-1403 .cs-button-solid:hover:before {
    width: 100%;
  }

  #contact-1403 .cs-submit {
    width: 100%;
    min-width: 12.5rem;
    border: none;
  }

  #contact-1403 .cs-submit:hover {
    color: #fff;
    cursor: pointer;
  }
}

/* Tablet - 768px */
@media only screen and (min-width: 48rem) {
  #contact-1403 .cs-container {
    max-width: 80rem;
    flex-direction: row;
    justify-content: space-between;
  }

  #contact-1403 .cs-content {
    width: 47%;
    /* prevents flexbox from squishing it */
    flex: none;
  }

  #contact-1403 .cs-submit {
    width: auto;
  }
}

/* Desktop - 1024px */
@media only screen and (min-width: 64rem) {
  #contact-1403 .cs-form {
    width: 46%;
    max-width: 36.125rem;
  }

  #contact-1403 .cs-submit {
    width: auto;
  }
}

/* Large Desktop - 1500px */
@media only screen and (min-width: 93.75rem) {
  #contact-1403 .cs-graphic {
    display: block;
  }
}

/*-- -------------------------- -->
<---    Google Maps Iframe      -->
<--- -------------------------- -*/

/* Mobile - 360px */
@media only screen and (min-width: 0rem) {
  #map-1403 iframe {
    width: 100%;
    /* 400px - 560px */
    height: clamp(25rem, 42vw, 35rem);
  }
}

/*-- -------------------------- -->
<---          Reviews           -->
<--- -------------------------- -*/

/* Mobile - 360px */
@media only screen and (min-width: 0rem) {
  #reviews-1403 {
    /* centers the button */
    text-align: center;
    padding: var(--sectionPadding);
    /* clips the orbs from causing overflow issues */
    overflow: hidden;
    position: relative;
    z-index: 1;
  }

  #reviews-1403 .cs-container {
    width: 100%;
    /* changes to 1024px at tablet */
    max-width: 36.5rem;
    margin: auto;
    display: flex;
    flex-direction: column;
    align-items: center;
    /* 48px - 64px */
    gap: clamp(3rem, 6vw, 4rem);
  }

  #reviews-1403 .cs-content {
    /* set text align to left if content needs to be left aligned */
    text-align: center;
    width: 100%;
    display: flex;
    flex-direction: column;
    /* centers content horizontally, set to flex-start to left align */
    align-items: center;
  }

  #reviews-1403 .cs-topper {
    font-size: var(--topperFontSize);
    line-height: 1.2em;
    text-transform: uppercase;
    text-align: inherit;
    letter-spacing: 0.1em;
    font-weight: 700;
    color: var(--primary);
    margin-bottom: 0.25rem;
    display: block;
  }

  #reviews-1403 .cs-title {
    font-size: var(--headerFontSize);
    font-weight: 900;
    line-height: 1.2em;
    text-align: inherit;
    max-width: 43.75rem;
    margin: 0 0 1rem 0;
    color: var(--headerColor);
    position: relative;
  }

  #reviews-1403 .cs-title {
    max-width: 20ch;
    margin: 0;
  }

  #reviews-1403 .cs-card-group {
    width: 100%;
    padding: 0;
    margin: 0;
    display: grid;
    grid-template-columns: repeat(12, 1fr);
    /* 16px - 20px */
    gap: clamp(1rem, 2.5vw, 1.15rem);
  }

  #reviews-1403 .cs-item {
    list-style: none;
    text-align: left;
    /* 20px - 60px */
    padding: clamp(1rem, 4vw, 3.75rem);
    background-color: #fff;
    /* 12px - 24px */
    border-radius: clamp(0.75rem, 1.5vw, 1.25rem);
    /* prevents padding from adding to height and width */
    box-sizing: border-box;
    /* clips the pseudo box from overflowing */
    overflow: hidden;
    display: flex;
    grid-column: span 12;
    justify-content: center;
    align-items: flex-start;
    flex-direction: column;
    position: relative;
    z-index: 1;
  }

  #reviews-1403 .cs-item:before {
    /* background color */
    content: "";
    width: 100%;
    height: 100%;
    background: var(--primary);
    opacity: 0.05;
    position: absolute;
    display: block;
    top: 0;
    left: 0;
    z-index: -1;
    /* prevents the mouse from interacting it */
    pointer-events: none;
  }

  #reviews-1403 .cs-quote {
    /* 72px - 120px */
    width: clamp(4.5rem, 10vw, 7.5rem);
    height: auto;
    /* 32px - 64px */
    margin-bottom: clamp(2rem, 6vw, 4rem);
    display: block;
  }

  #reviews-1403 .cs-item-text {
    /* 16px - 25px */
    font-size: clamp(1rem, 2.6vw, 1.5625rem);
    line-height: 1.2em;
    font-weight: bold;
    margin: 0;
    /* 24px - 64px */
    margin-bottom: clamp(1.5rem, 6vw, 4rem);
    color: var(--bodyTextColor);
  }

  #reviews-1403 .cs-flex-group {
    /* in case one card has more text than the other, this pushes up against the review text so the name and title are always at the bottom. Only works if parent is a flexbox */
    margin-top: auto;
    display: flex;
    justify-content: flex-start;
    align-items: center;
    /* 8px - 24px */
    gap: clamp(0.8rem, 1.5vw, 1rem);
  }

  #reviews-1403 .cs-profile {
    /* 40px - 52px */
    width: clamp(2.5rem, 5vw, 3.25rem);
    height: clamp(2.5rem, 5vw, 3.25rem);
    margin: 0;
    border-radius: 50%;
    box-sizing: border-box;
    border: 2px solid #fff;
    /* clips image corners to make circle */
    overflow: hidden;
    position: relative;
    display: block;
  }

  #reviews-1403 .cs-profile img {
    position: absolute;
    top: 0;
    left: 0;
    height: 100%;
    width: 100%;
    /* makes the image behave like a background image */
    object-fit: cover;
  }

  #reviews-1403 .cs-name {
    /* 16px - 25px */
    font-size: clamp(1rem, 2.5vw, 1.5625rem);
    line-height: 1.2em;
    font-weight: 700;
    margin: 0;
    color: var(--headerColor);
    display: block;
  }

  #reviews-1403 .cs-job {
    /* 14px - 16px */
    font-size: clamp(0.875rem, 1.5vw, 1rem);
    line-height: 1.5em;
    font-weight: 400;
    margin: 0;
    color: #746f95;
    display: block;
  }
}

/* Tablet - 768px */
@media only screen and (min-width: 48rem) {
  #reviews-1403 .cs-container {
    max-width: 80rem;
  }

  #reviews-1403 .cs-item {
    grid-column: span 6;
  }
}


/*-- -------------------------- -->
<---           Footer           -->
<--- -------------------------- -*/

/* Mobile - 360px */
@media only screen and (min-width: 0rem) {
  #cs-footer-104 {
    /* 40px - 100px top and bottom */
    padding: clamp(2.5rem, 7.9vw, 6.25rem) 1rem;
    /* 40px - 50px */
    padding-bottom: clamp(2.5rem, 7.9vw, 3.125rem);
    background-color: #1c161c;
  }

  #cs-footer-104 .cs-container {
    width: 100%;
    max-width: 80rem;
    margin: auto;
  }

  #cs-footer-104 .cs-ul {
    /* 40px - 60px*/
    padding: 0 0 clamp(2.5rem, 4.7vw, 3.75rem);
    margin: auto;
    border-bottom: 1px solid #7d799c;
  }

  #cs-footer-104 .cs-li {
    list-style: none;
    text-align: center;
    margin-bottom: 1.25rem;
  }

  #cs-footer-104 .cs-li:last-of-type {
    margin-bottom: 0;
  }

  #cs-footer-104 .cs-link {
    /* 16px - 20px */
    font-size: clamp(1rem, 1.55vw, 1.25rem);
    line-height: 1.5em;
    text-decoration: none;
    font-weight: 700;
    color: var(--bodyTextColorWhite);
    position: relative;
  }

  #cs-footer-104 .cs-link:hover:before {
    width: 100%;
  }

  #cs-footer-104 .cs-link:before {
    /* top right box */
    content: "";
    width: 0%;
    height: 0.1875rem;
    background: var(--bodyTextColorWhite);
    opacity: 1;
    position: absolute;
    display: block;
    bottom: -0.125rem;
    left: 0;
    transition: width 0.3s;
  }

  #cs-footer-104 .cs-copyright {
    /* 14px - 16px */
    font-size: clamp(0.875rem, 1.6vw, 1rem);
    text-align: center;
    color: #b4b2c7;
    display: block;
    /* 20px - 28px */
    margin: clamp(1.25rem, 2.8vw, 1.75rem) auto 0;
  }
}

/* Tablet - 600px */
@media only screen and (min-width: 37.5rem) {
  #cs-footer-104 .cs-ul {
    display: flex;
    justify-content: center;
    align-items: center;
  }

  #cs-footer-104 .cs-li {
    /* 44px - 88px */
    margin: 0 clamp(2.75rem, 6.2vw, 5.5rem) 0 0;
  }

  #cs-footer-104 .cs-li:last-of-type {
    margin: 0;
  }
}