  /*-- -------------------------- -->
<---     Mobile Navigation      -->
<--- -------------------------- -*/

/* Mobile - 1023px */
@media only screen and (max-width: 1023px) {
  body.cs-open {
    overflow: hidden;
  }
  body.scroll #cs-navigation {
    /* 53px, same height as the cs-top-container */
    transform: translateY(-3.3125rem);
  }
  #cs-navigation {
    width: 100%;
    /* prevents padding from affecting height and width */
    box-sizing: border-box;
    background-color: #fff;
    box-shadow: rgba(149, 157, 165, 0.2) 0px 8px 24px;
    position: fixed;
    z-index: 10000;
    transition: transform .3s;
  }
  #cs-navigation:before {
    content: '';
    width: 100%;
    height: 0vh;
    background: rgba(0, 0, 0, 0.6);
    -webkit-backdrop-filter: blur(10px);
    backdrop-filter: blur(10px);
    position: absolute;
    display: block;
    top: 100%;
    right: 0;
    z-index: -1100;
    opacity: 0;
    transition: height .5s, opacity .5s;
  }
  #cs-navigation.cs-active:before {
    height: 150vh;
    opacity: 1;
  }
  #cs-navigation.cs-active .cs-ul-wrapper {
    opacity: 1;
    transform: scaleY(1);
    transition-delay: .15s;
  }
  #cs-navigation.cs-active .cs-li {
    transform: translateY(0);
    opacity: 1;
  }
  #cs-navigation .cs-top-bar {
    width: 100%;
    display: flex;
    justify-content: center;
    align-items: center;
  }
  #cs-navigation .cs-top-container {
    width: 100%;
    padding: 1rem 1.5rem;
    /* prevents padding from affecting height and width */
    box-sizing: border-box;
    background-color: #f7f7f7;
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 1rem;
  }
  #cs-navigation .cs-top-contact {
    width: auto;
    /* prevents padding from affecting height and width */
    box-sizing: border-box;
    display: flex;
    justify-content: center;
    align-items: center;
    /* 16px - 24px */
    gap: clamp(1rem, 2vw, 1.5rem);
  }
  #cs-navigation .cs-top-link {
    font-size: 2.5vw;
    line-height: 1.5em;
    text-decoration: none;
    margin: 0;
    color: var(--bodyTextColor);
    display: flex;
    justify-content: flex-start;
    align-items: center;
    gap: 0.5rem;
    position: relative;
  }
  #cs-navigation .cs-top-link:nth-of-type(2) {
    display: none;
  }
  #cs-navigation .cs-link-icon {
    width: 1rem;
    height: auto;
    display: block;
  }
  #cs-navigation .cs-top-social {
    visibility: visible;
    opacity: 1;
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 0.5rem;
    transition: opacity .3s, visibility .3s, height .3s;
  }
  #cs-navigation .cs-social-link {
    text-decoration: none;
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 1rem;
  }
  #cs-navigation .cs-social-icon {
    width: 1.25rem;
    height: auto;
    display: block;
  }
  #cs-navigation .cs-container {
    width: 100%;
    padding: 1.25rem 1rem;
    /* prevents padding from affecting height and width */
    box-sizing: border-box;
    display: flex;
    justify-content: flex-end;
    align-items: center;
    position: relative;
  }
  #cs-navigation .cs-logo {
    width: auto;
    height: 2.5rem;
    margin: 0 auto 0 0;
    padding: 0;
    /* prevents padding from affecting height and width */
    box-sizing: border-box;
    display: flex;
    justify-content: center;
    align-items: center;
    order: 1;
    z-index: 10;
  }
  #cs-navigation .cs-logo img {
    width: auto;
    height: 150%;
    /* 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-nav {
    order: 2;
  }
  #cs-navigation .cs-toggle {
    width: 2.875rem;
    height: 2.875rem;
    margin: 0 0 0 auto;
    background-color: var(--primary);
    border: none;
    display: flex;
    justify-content: center;
    align-items: center;
    transition: transform .6s;
  }
  #cs-navigation .cs-toggle.cs-active {
    transform: rotate(180deg);
  }
  #cs-navigation .cs-active .cs-line1 {
    top: 50%;
    transform: translate(-50%, -50%) rotate(225deg);
  }
  #cs-navigation .cs-active .cs-line2 {
    top: 50%;
    transform-origin: center;
    transform: translate(-50%, -50%) translateY(0) rotate(-225deg);
  }
  #cs-navigation .cs-active .cs-line3 {
    bottom: 100%;
    opacity: 0;
  }
  #cs-navigation .cs-box {
    /* 24px - 28px */
    width: clamp(1.5rem, 2vw, 1.75rem);
    height: 0.75rem;
    position: relative;
  }
  #cs-navigation .cs-line {
    width: 100%;
    height: 2px;
    border-radius: 2px;
    background-color: #FAFBFC;
    position: absolute;
    left: 50%;
    transform: translateX(-50%);
  }
  #cs-navigation .cs-line1 {
    top: 0;
    transform-origin: center;
    transition: transform .5s, top .3S, left .3S;
    animation-duration: .7s;
    animation-timing-function: ease;
    animation-fill-mode: forwards;
    animation-direction: normal;
  }
  #cs-navigation .cs-line2 {
    top: 50%;
    transform: translateX(-50%) translateY(-50%);
    transition: top .3s, left .3s, transform .5s;
    animation-duration: .7s;
    animation-timing-function: ease;
    animation-fill-mode: forwards;
    animation-direction: normal;
  }
  #cs-navigation .cs-line3 {
    bottom: 0;
    transition: bottom .3s, opacity .3s;
  }
  #cs-navigation .cs-ul-wrapper {
    width: 100%;
    height: auto;
    padding-bottom: 3rem;
    opacity: 0;
    background-color: #fff;
    box-shadow: inset rgba(0, 0, 0, 0.2) 0px 8px 24px;
    overflow: hidden;
    position: absolute;
    top: 100%;
    left: 0;
    z-index: -1;
    transform: scaleY(0);
    transform-origin: top;
    transition: transform .4s, opacity .3s;
  }
  #cs-navigation .cs-ul {
    margin: 0;
    padding: 3rem 0 0 0;
    width: 100%;
    height: auto;
    max-height: 65vh;
    overflow: scroll;
    display: flex;
    justify-content: flex-start;
    flex-direction: column;
    align-items: center;
    gap: 1.25rem;
  }
  #cs-navigation .cs-li {
    width: 100%;
    text-align: center;
    list-style: none;
    margin-right: 0;
    /* transition from these values */
    transform: translateY(-4.375rem);
    opacity: 0;
    transition: transform .6s, opacity .9s;
  }
  #cs-navigation .cs-li:nth-of-type(1) {
    transition-delay: .05s;
  }
  #cs-navigation .cs-li:nth-of-type(2) {
    transition-delay: .1s;
  }
  #cs-navigation .cs-li:nth-of-type(3) {
    transition-delay: .15s;
  }
  #cs-navigation .cs-li:nth-of-type(4) {
    transition-delay: .2s;
  }
  #cs-navigation .cs-li:nth-of-type(5) {
    transition-delay: .25s;
  }
  #cs-navigation .cs-li:nth-of-type(6) {
    transition-delay: .3s;
  }
  #cs-navigation .cs-li:nth-of-type(7) {
    transition-delay: .35s;
  }
  #cs-navigation .cs-li:nth-of-type(8) {
    transition-delay: .4s;
  }
  #cs-navigation .cs-li:nth-of-type(9) {
    transition-delay: .45s;
  }
  #cs-navigation .cs-li:nth-of-type(10) {
    transition-delay: .5s;
  }
  #cs-navigation .cs-li:nth-of-type(11) {
    transition-delay: .55s;
  }
  #cs-navigation .cs-li:nth-of-type(12) {
    transition-delay: .6s;
  }
  #cs-navigation .cs-li:nth-of-type(13) {
    transition-delay: .65s;
  }
  #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.cs-active {
    color: var(--primary);
  }
  #cs-navigation .cs-li-link:hover {
    color: var(--primary);
  }
  #cs-navigation .cs-button-solid {
    display: none;
  }
}
/* Tablet - 768px */
@media only screen and (min-width: 48rem) {
  #cs-navigation .cs-top-link:nth-of-type(2) {
    display: flex;
  }
}

/*-- -------------------------- -->
<---     Navigation Dropdown    -->
<--- -------------------------- -*/

/* Mobile - 1023px */
@media only screen and (max-width: 1023px) {
  #cs-navigation .cs-li {
    text-align: center;
    width: 100%;
    display: block;
  }
  #cs-navigation .cs-dropdown {
    position: relative;
    color: var(--bodyTextColorWhite);
  }
  #cs-navigation .cs-dropdown.cs-active .cs-drop-ul {
    height: auto;
    opacity: 1;
    visibility: visible;
    margin: 0.75rem 0 0 0;
    padding: 0.75rem 0;
  }
  #cs-navigation .cs-dropdown.cs-active .cs-drop-link {
    opacity: 1;
  }
  #cs-navigation .cs-dropdown .cs-li-link {
    position: relative;
    transition: opacity .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;
    padding: 0;
    background-color: var(--primary);
    overflow: hidden;
    opacity: 0;
    visibility: hidden;
    display: flex;
    justify-content: flex-start;
    flex-direction: column;
    align-items: center;
    gap: 0.75rem;
    transition: padding .3s, margin .3s, height .3s, opacity .3s, visibility .3s;
  }
  #cs-navigation .cs-drop-li {
    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 {
    transform: scaleY(1);
    opacity: 1;
    visibility: visible;
  }
  #cs-navigation .cs-dropdown:hover .cs-drop-li {
    opacity: 1;
    transform: translateY(0);
  }
  #cs-navigation .cs-drop-icon {
    width: 0.75rem;
    height: auto;
    margin-left: 0.25rem;
    display: inline-block;
  }
  #cs-navigation .cs-drop-ul {
    min-width: 12.5rem;
    margin: 0;
    padding: 0;
    background-color: #fff;
    overflow: hidden;
    opacity: 0;
    visibility: hidden;
    box-shadow: rgba(149, 157, 165, 0.2) 0px 10px 16px;
    border-bottom: 5px solid var(--primary);
    /* 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;
    transform: scaleY(0);
    transform-origin: top;
    transition: transform .3s, visibility .3s, opacity .3s;
  }
  #cs-navigation .cs-drop-li {
    list-style: none;
    font-size: 1rem;
    text-decoration: none;
    opacity: 0;
    width: 100%;
    height: auto;
    display: block;
    transform: translateY(-0.625rem);
    transition: opacity .6s, transform .6s;
  }
  #cs-navigation .cs-drop-li:nth-of-type(1) {
    transition-delay: .05s;
  }
  #cs-navigation .cs-drop-li:nth-of-type(2) {
    transition-delay: .1s;
  }
  #cs-navigation .cs-drop-li:nth-of-type(3) {
    transition-delay: .15s;
  }
  #cs-navigation .cs-drop-li:nth-of-type(4) {
    transition-delay: .2s;
  }
  #cs-navigation .cs-drop-li:nth-of-type(5) {
    transition-delay: .25s;
  }
  #cs-navigation .cs-drop-li:nth-of-type(6) {
    transition-delay: .3s;
  }
  #cs-navigation .cs-drop-li:nth-of-type(7) {
    transition-delay: .35s;
  }
  #cs-navigation .cs-drop-li:nth-of-type(8) {
    transition-delay: .4s;
  }
  #cs-navigation .cs-drop-li:nth-of-type(9) {
    transition-delay: .45s;
  }
  #cs-navigation .cs-drop-li:nth-of-type(10) {
    transition-delay: .5s;
  }
  #cs-navigation .cs-drop-li:nth-of-type(11) {
    transition-delay: .55s;
  }
  #cs-navigation .cs-drop-li:nth-of-type(12) {
    transition-delay: .6s;
  }
  #cs-navigation .cs-drop-li:nth-of-type(13) {
    transition-delay: .65s;
  }
  #cs-navigation .cs-li-link.cs-drop-link {
    font-size: 1rem;
    white-space: nowrap;
    line-height: 1.5em;
    text-decoration: none;
    width: 100%;
    padding: 0.75rem;
    /* prevents padding from affecting height and width */
    box-sizing: border-box;
    color: var(--bodyTextColor);
    display: block;
    transition: color 0.3s, background-color 0.3s;
  }
  #cs-navigation .cs-li-link.cs-drop-link:hover {
    color: var(--primary);
    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) {
  body.scroll #cs-navigation {
    /* 53px, the ssme height as the cs-top-container */
    transform: translateY(-3.3125rem);
  }
  #cs-navigation {
    width: 100%;
    padding: 0;
    /* prevents padding from affecting height and width */
    box-sizing: border-box;
    background-color: #fff;
    box-shadow: rgba(149, 157, 165, 0.2) 0px 8px 24px;
    position: fixed;
    z-index: 10000;
    transition: transform .3s;
  }
  #cs-navigation .cs-top-bar {
    width: 100%;
    display: flex;
    justify-content: center;
    align-items: center;
  }
  #cs-navigation .cs-top-container {
    width: 100%;
    max-width: 80rem;
    padding: 1rem;
    /* prevents padding from affecting height and width */
    box-sizing: border-box;
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 3.125rem;
    position: relative;
    z-index: 1;
  }
  #cs-navigation .cs-top-container:before {
    /* grey background */
    content: '';
    width: 100vw;
    height: 100%;
    background: #f7f7f7;
    opacity: 1;
    position: absolute;
    display: block;
    top: 0;
    left: 50%;
    z-index: -1;
    transform: translateX(-50%);
  }
  #cs-navigation .cs-top-contact {
    display: flex;
    justify-content: flex-start;
    align-items: center;
    gap: 1.5rem;
  }
  #cs-navigation .cs-top-link {
    font-size: 0.875rem;
    line-height: 1.5em;
    text-decoration: none;
    margin: 0;
    color: var(--bodyTextColor);
    display: flex;
    justify-content: flex-start;
    align-items: center;
    gap: 0.5rem;
    position: relative;
  }
  #cs-navigation .cs-link-icon {
    width: 1rem;
    height: auto;
    display: block;
  }
  #cs-navigation .cs-top-social {
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 1rem;
  }
  #cs-navigation .cs-social-link {
    text-decoration: none;
    display: flex;
    justify-content: center;
    align-items: center;
    transition: transform .3s;
  }
  #cs-navigation .cs-social-link:hover {
    transform: scale(1.1);
  }
  #cs-navigation .cs-social-icon {
    width: 1.25rem;
    height: auto;
    display: block;
  }
  #cs-navigation .cs-container {
    width: 100%;
    max-width: 80rem;
    margin: auto;
    padding: 0 1rem;
    /* prevents padding from affectin gheight */
    box-sizing: border-box;
    display: flex;
    justify-content: flex-end;
    align-items: center;
    gap: 1.5rem;
    position: relative;
  }
  #cs-navigation .cs-toggle {
    display: none;
  }
  #cs-navigation .cs-logo {
    /* 40px - 44px */
    height: clamp(2.5rem, 4vw, 2.75rem);
    /* 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: auto;
    height: 250%;
    /* 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;
    margin-left: -2rem;
  }
  #cs-navigation .cs-ul {
    width: 100%;
    margin: 0;
    padding: 0;
    display: flex;
    justify-content: flex-start;
    align-items: center;
    gap: 3rem;
  }
  #cs-navigation .cs-li {
    list-style: none;
    padding: 1.9375rem 0;
    /* prevent flexbox from squishing it */
    flex: none;
  }
  #cs-navigation .cs-li-link {
    /* 14px - 16px */
    font-size: clamp(0.875rem, 1.3vw, 1rem);
    line-height: 1.5em;
    text-decoration: none;
    margin: 0;
    color: var(--headerColor);
    display: block;
    position: relative;
    transition: color .3s;
  }
  #cs-navigation .cs-li-link:hover {
    color: var(--primary);
  }
  #cs-navigation .cs-li-link.cs-active {
    font-weight: 700;
    color: var(--headerColor);
  }
  #cs-navigation .cs-nav-button {
    line-height: 2.875rem;
    margin-left: 1.5rem;
    color:white;
    min-width: 13%;
  }
  #cs-navigation .cs-nav-button:hover {
    color: #b69d75;
  }
}



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

/* Mobile - 360px */
@media only screen and (min-width: 0rem) {
    #banner-559 {
        padding: var(--sectionPadding);
        /* 137px - 212px */
        padding-top: clamp(9.5625rem, 25vw, 13.25rem);
        /* clips the line from causing overflow issues for going off screen */
        overflow: hidden;
        position: relative;
        z-index: 1;
    }
    #banner-559 .cs-container {
        text-align: center;
        width: 100%;
        max-width: 80rem;
        margin: auto;
        display: flex;
        justify-content: center;
        align-items: flex-start;
        flex-direction: column;
        gap: 1rem;
    }
    #banner-559 .cs-int-topper {
        font-size: var(--topperFontSize);
        text-transform: uppercase;
        font-weight: 700;
        letter-spacing: 0.01em;
        margin: 0;
        padding: 0 0 0 1.25rem;
        color: var(--bodyTextColorWhite);
        display: block;
        position: relative;
    }
    #banner-559 .cs-int-topper:before {
        /* yellow line */
        content: "";
        width: 50vw;
        height: 2px;
        background: var(--secondary);
        opacity: 1;
        position: absolute;
        display: block;
        top: 50%;
        right: 100%;
        transform: translateY(-50%);
    }
    #banner-559 .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-559 .cs-breadcrumbs {
        display: flex;
        justify-content: center;
        align-items: center;
    }
    #banner-559 .cs-link {
        /* 16px - 20px */
        font-size: clamp(1rem, 1.5vw, 1.25rem);
        line-height: 1.2em;
        text-decoration: none;
        color: var(--bodyTextColorWhite);
        position: relative;
        display: flex;
        justify-content: center;
        align-items: center;
    }
    #banner-559 .cs-link:last-of-type {
        /* remove the chevron on the last list item */
    }
    #banner-559 .cs-link:last-of-type::after {
        display: none;
    }
    #banner-559 .cs-link:after {
        /* chevron - added as pseudo to make adding and removing them easier */
        content: "";
        width: 1.875rem;
        height: 0.125rem;
        /* 12px - 24px */
        margin: 0 clamp(0.75rem, 2vw, 1.5rem);
        background-color: #fff;
    }
    #banner-559 .cs-link.cs-active {
        color: var(--secondary);
    }
    #banner-559 .cs-background {
        width: 100%;
        height: 100%;
        display: block;
        position: absolute;
        top: 0;
        left: 0;
        z-index: -1;
    }
    #banner-559 .cs-background:before {
        /* background color overlay */
        content: "";
        position: absolute;
        display: block;
        height: 100%;
        width: 100%;
        background: var(--headerColor);
        opacity: 0.9;
        top: 0;
        left: 0;
        z-index: 1;
    }
    #banner-559 .cs-background img {
        position: absolute;
        top: 0;
        left: 0;
        height: 100%;
        width: 100%;
        /* Makes img tag act as a background image */
        object-fit: cover;
    }
}
/*-- -------------------------- -->
<---          Content           -->
<--- -------------------------- -*/

/* Mobile - 360px */
@media only screen and (min-width: 0rem) {
    #content-1637 {
      padding: var(--sectionPadding);
      background-color: #f7f7f7;
      position: relative;
      z-index: 1;
    }
    #content-1637 .cs-container {
      width: 100%;
      max-width: 80rem;
      margin: auto;
      display: flex;
      flex-direction: column;
      align-items: center;
      /* 48px - 100px */
      gap: clamp(3rem, 9vw, 6.25rem);
    }
    #content-1637 .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;
    }
    #content-1637 .cs-flex {
      max-width: 38rem;
    }
    #content-1637 .cs-title {
      color: var(--headerColor);
    }
    #content-1637 .cs-h3 {
      font-size: 1.25rem;
      line-height: 1.2em;
      font-weight: 700;
      margin: 0 0 1rem 0;
      color: var(--headerColor);
    }
    #content-1637 .cs-text {
      margin-bottom: 1rem;
      opacity: .8;
      color: var(--bodyTextColor);
    }
    #content-1637 .cs-text:last-of-type {
      margin-bottom: 2rem;
    }
    #content-1637 .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);
      display: inline-block;
      position: relative;
      z-index: 1;
      /* prevents padding from adding to the width */
      box-sizing: border-box;
    }
    #content-1637 .cs-button-solid:before {
      content: '';
      position: absolute;
      height: 100%;
      width: 0%;
      background: #000;
      opacity: 1;
      top: 0;
      left: 0;
      z-index: -1;
      transition: width .3s;
    }
    #content-1637 .cs-button-solid:hover:before {
      width: 100%;
    }
  }
  /* Tablet - 768px */
  @media only screen and (min-width: 48rem) {
    #content-1637:before {
      height: 63%;
    }
    #content-1637 .cs-content {
      flex-direction: row;
      justify-content: space-between;
      align-items: flex-start;
      gap: 2.5rem;
    }
    #content-1637 .cs-flex {
      width: 50%;
      text-align: left;
      max-width: 38rem;
    }
    #content-1637 .cs-title {
      margin: 0;
    }
  }
/*-- -------------------------- -->
<---       Side By Side         -->
<--- -------------------------- -*/


/* Mobile - 360px */
@media only screen and (min-width: 0rem) {
    /* #RTsbs-577,
    #RTsbsr-577,
    #RTsbst-577 {
        background-color: var(--headerColor);
    } */
    #RTsbs-577 .cs-container,
    #RTsbsr-577 .cs-container,
    #RTsbst-577 .cs-container {
        width: 100%;
        max-width: 80em;
        margin: auto;
        display: flex;
        flex-direction: column;
        align-items: center;
        /* 48px - 64px */
        gap: clamp(3rem, 7vw, 4rem);
    }
    #RTsbs-577 .cs-content,
    #RTsbsr-577 .cs-content,
    #RTsbst-577 .cs-content {
        /* set text align to left if content needs to be left aligned */
        text-align: left;
        width: 100%;
        max-width: 32.625rem;
        /* moved section padding to the .cs-content so we can have the cs-picture be full width on mobile without the padding preventing it from doing so */
        padding: var(--sectionPadding);
        padding-top: 0;
        /* prevents padding from affecting width and height */
        box-sizing: border-box;
        display: flex;
        flex-direction: column;
        /* centers content horizontally, set to flex-start to left align */
        align-items: flex-start;
    }

    #RTsbs-577 .cs-text,
    #RTsbsr-577 .cs-text,
    #RTsbst-577 .cs-text {
        margin-bottom: 1rem;
        opacity: 0.8;
    }
    #RTsbs-577 .cs-text:last-of-type,
    #RTsbsr-577 .cs-text:last-of-type,
    #RTsbst-577 .cs-text:last-of-type {
        margin-bottom: 2rem;
    }
    #RTsbs-577 .cs-button-solid,
    #RTsbsr-577 .cs-button-solid,
    #RTsbst-577 .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: 9.375rem;
        padding: 0 1.5rem;
        border-radius: 0.25rem;
        display: inline-block;
        position: relative;
        z-index: 1;
        /* prevents padding from adding to the width */
        box-sizing: border-box;
        transition: color 0.3s;
    }
    #RTsbs-577 .cs-button-solid:before,
    #RTsbsr-577 .cs-button-solid:before,
    #RTsbst-577 .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;
    }
    #RTsbs-577 .cs-button-solid:hover,
    #RTsbsr-577 .cs-button-solid:hover,
    #RTsbst-577 .cs-button-solid:hover {
        color: #fff;
    }
    #RTsbs-577 .cs-button-solid:hover:before,
    #RTsbsr-577 .cs-button-solid:hover:before,
    #RTsbst-577 .cs-button-solid:hover:before {
        width: 100%;
    }
    #RTsbs-577 .cs-picture,
    #RTsbsr-577 .cs-picture,
    #RTsbst-577 .cs-picture {
        display: block;
        position: relative;
        width: 100%;
        height: 18.75rem;
    }
    #RTsbs-577 .cs-picture img,
    #RTsbsr-577 .cs-picture img,
    #RTsbst-577 .cs-picture img {
        position: absolute;
        top: 0;
        left: 0;
        height: 100%;
        width: 100%;
        object-fit: cover;
    }
}
/* Tablet - 768px */
@media only screen and (min-width: 48rem) {
  .dark ::before {
    background-color: var(--headerColor);
  }
  
  .dark .cs-title, .dark .cs-text {
    color: white;
  }
  
  .light ::before {
    background-color: #fdffd0;
  }
  
    #RTsbs-577,
    #RTsbsr-577,
    #RTsbst-577 {
        /* we use margin here instead of padding because we want to create the space OUTSIDE the section.  The overflow on the section clips the boxes we made to make the slanted designs, so we need to push from the outside of the section with margin to create space between it and the next section.  If the section above this Stitch has a white background, add margin-top: 0. If it has a white section below it, add margin-bottom: 0. This will allow more proper spacing and not have too much empty space.  If both sections above and below this Stitch have white backgrounds, you can just remove this margin all together */
        margin: var(--sectionPadding);
        margin-left: 0;
        margin-right: 0;
        padding: var(--sectionPadding);
        /* background-color: transparent; */
        /* clips the red box from overflowing the section */
        overflow: hidden;
    }
    #RTsbs-577 .cs-container,
    #RTsbsr-577 .cs-container,
    #RTsbst-577 .cs-container {
        flex-direction: row;
        position: relative;
        z-index: 1;
    }
    #RTsbs-577 .cs-container:before,
    #RTsbsr-577 .cs-container:before,
    #RTsbst-577 .cs-container:before {
        /* red box */
        content: "";
        width: 100vw;
        margin-left: -38%;
        /* background: var(--primary); */
        opacity: 1;
        display: block;
        position: absolute;
        top: -9.375rem;
        bottom: -9.375rem;
        left: 50%;
        z-index: -1;
    }
    #RTsbs-577 .cs-content,
    #RTsbsr-577 .cs-content,
    #RTsbst-577 .cs-content {
        width: 51%;
        /* reset the padding, add the section padding back to the section container */
        padding: 0;
    }
    #RTsbs-577 .cs-picture,
    #RTsbsr-577 .cs-picture,
    #RTsbst-577 .cs-picture {
        width: 47vw;
        max-width: 38.625rem;
        height: 33.5rem;
        /* 24px - 32px, added margin top and bottom to cs-picture so it pushes away by the same amount the yellow box element overlaps it top and bottom. This maintains consistent spacing top and bottom */
        margin: clamp(1.5rem, 3vw, 2rem) 0 clamp(1.5rem, 3vw, 2rem)
            clamp(1.5rem, 3vw, 2rem);
        position: relative;
    }
    #RTsbs-577 .cs-picture:before,
    #RTsbsr-577 .cs-picture:before,
    #RTsbst-577 .cs-picture:before {
        /* yellow box */
        content: "";
        width: 50%;
        background: var(--primary);
        opacity: 1;
        display: block;
        position: absolute;
        /*24px - 32px, wrapped in calc function to multiple by negative 1 and get a negative clamp value */
        top: calc(clamp(1.5rem, 3vw, 2rem) * -1);
        bottom: calc(clamp(1.5rem, 3vw, 2rem) * -1);
        left: calc(clamp(1.5rem, 3vw, 2rem) * -1);
    }
}

/*-- -------------------------- -->
<---    Side By Side Reverse    -->
<--- -------------------------- -*/

/* Mobile - 360px */
@media only screen and (min-width: 0rem) {
    #RTsbsr-577 {
        background-color: #fff;
    }
    #RTsbsr-577 .cs-topper {
        color: var(--primary);
    }
    #RTsbsr-577 .cs-title {
        color: var(--headerColor);
    }
    #RTsbsr-577 .cs-text {
        color: var(--bodyTextColor);
    }
    #RTsbsr-577 .cs-button-solid {
        background-color: var(--primary);
        color: #fff;
    }
}
/* Tablet - 768px */
@media only screen and (min-width: 48rem) {
    #RTsbsr-577 {
        background-color: transparent;
    }
    #RTsbsr-577 .cs-container {
        justify-content: flex-end;
    }
    #RTsbsr-577 .cs-container:before {
        /* auto resets the left and margin left values */
        margin-left: auto;
        margin-right: -38%;
        left: auto;
        right: 50%;
    }
    #RTsbsr-577 .cs-content {
        /* pushes to the left in the 1st position */
        order: -1;
    }
    /* #RTsbsr-577 .cs-topper,
    #RTsbsr-577 .cs-title,
    #RTsbsr-577 .cs-text {
        color: var(--bodyTextColorWhite);
    } */
    #RTsbsr-577 .cs-button-solid {
        background-color: #fff;
        color: #1a1a1a;
    }
    #RTsbsr-577 .cs-picture {
        /* 24px - 32px, added margin top and bottom to cs-picture so it pushes away by the same amount the yellow box element overlaps it top and bottom. This maintains consistent spacing top and bottom */
        margin: clamp(1.5rem, 3vw, 2rem) clamp(1.5rem, 3vw, 2rem)
            clamp(1.5rem, 3vw, 2rem) 0;
    }
    #RTsbsr-577 .cs-picture:before {
        left: auto;
        /* wrapped in calc function to multiple by negative 1 and get a negative clamp value */
        right: calc(clamp(1.5rem, 3vw, 2rem) * -1);
    }
}

/*-- -------------------------- -->
<---       Side By Side 2        -->
<--- -------------------------- -*/

/* Mobile - 360px */
@media only screen and (min-width: 0rem) {
  /* #RTsbs-5772,
  #RTsbsr-5772,
  #RTsbst-5772 {
      background-color: var(--headerColor);
  } */
  #RTsbs-5772 .cs-container,
  #RTsbsr-5772 .cs-container,
  #RTsbst-5772 .cs-container {
      width: 100%;
      max-width: 80em;
      margin: auto;
      display: flex;
      flex-direction: column;
      align-items: center;
      /* 48px - 64px */
      gap: clamp(3rem, 7vw, 4rem);
  }
  #RTsbs-5772 .cs-content,
  #RTsbsr-5772 .cs-content,
  #RTsbst-5772 .cs-content {
      /* set text align to left if content needs to be left aligned */
      text-align: left;
      width: 100%;
      max-width: 32.625rem;
      /* moved section padding to the .cs-content so we can have the cs-picture be full width on mobile without the padding preventing it from doing so */
      padding: var(--sectionPadding);
      padding-top: 0;
      /* prevents padding from affecting width and height */
      box-sizing: border-box;
      display: flex;
      flex-direction: column;
      /* centers content horizontally, set to flex-start to left align */
      align-items: flex-start;
  }

  #RTsbs-5772 .cs-text,
  #RTsbsr-5772 .cs-text,
  #RTsbst-5772 .cs-text {
      margin-bottom: 1rem;
      opacity: 0.8;
  }
  #RTsbs-5772 .cs-text:last-of-type,
  #RTsbsr-5772 .cs-text:last-of-type,
  #RTsbst-5772 .cs-text:last-of-type {
      margin-bottom: 2rem;
  }
  #RTsbs-5772 .cs-button-solid,
  #RTsbsr-5772 .cs-button-solid,
  #RTsbst-5772 .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: 9.375rem;
      padding: 0 1.5rem;
      border-radius: 0.25rem;
      display: inline-block;
      position: relative;
      z-index: 1;
      /* prevents padding from adding to the width */
      box-sizing: border-box;
      transition: color 0.3s;
  }
  #RTsbs-5772 .cs-button-solid:before,
  #RTsbsr-5772 .cs-button-solid:before,
  #RTsbst-5772 .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;
  }
  #RTsbs-5772 .cs-button-solid:hover,
  #RTsbsr-5772 .cs-button-solid:hover,
  #RTsbst-5772 .cs-button-solid:hover {
      color: #fff;
  }
  #RTsbs-5772 .cs-button-solid:hover:before,
  #RTsbsr-5772 .cs-button-solid:hover:before,
  #RTsbst-5772 .cs-button-solid:hover:before {
      width: 100%;
  }
  #RTsbs-5772 .cs-picture,
  #RTsbsr-5772 .cs-picture,
  #RTsbst-5772 .cs-picture {
      display: block;
      position: relative;
      width: 100%;
      height: 18.75rem;
  }
  #RTsbs-5772 .cs-picture img,
  #RTsbsr-5772 .cs-picture img,
  #RTsbst-5772 .cs-picture img {
      position: absolute;
      top: 0;
      left: 0;
      height: 100%;
      width: 100%;
      object-fit: cover;
  }
}
/* Tablet - 768px */
@media only screen and (min-width: 48rem) {
  #RTsbs-5772,
  #RTsbsr-5772,
  #RTsbst-5772 {
      /* we use margin here instead of padding because we want to create the space OUTSIDE the section.  The overflow on the section clips the boxes we made to make the slanted designs, so we need to push from the outside of the section with margin to create space between it and the next section.  If the section above this Stitch has a white background, add margin-top: 0. If it has a white section below it, add margin-bottom: 0. This will allow more proper spacing and not have too much empty space.  If both sections above and below this Stitch have white backgrounds, you can just remove this margin all together */
      margin: var(--sectionPadding);
      margin-left: 0;
      margin-right: 0;
      padding: var(--sectionPadding);
      /* background-color: transparent; */
      /* clips the red box from overflowing the section */
      overflow: hidden;
  }
  #RTsbs-5772 .cs-container,
  #RTsbsr-5772 .cs-container,
  #RTsbst-5772 .cs-container {
      flex-direction: row;
      position: relative;
      z-index: 1;
  }
  #RTsbs-5772 .cs-container:before,
  #RTsbsr-5772 .cs-container:before,
  #RTsbst-5772 .cs-container:before {
      /* red box */
      content: "";
      width: 100vw;
      margin-left: -38%;
      /* background: var(--primary); */
      opacity: 1;
      display: block;
      position: absolute;
      top: -9.375rem;
      bottom: -9.375rem;
      left: 50%;
      z-index: -1;
  }
  #RTsbs-5772 .cs-content,
  #RTsbsr-5772 .cs-content,
  #RTsbst-5772 .cs-content {
      width: 51%;
      /* reset the padding, add the section padding back to the section container */
      padding: 0;
  }
  #RTsbs-5772 .cs-picture,
  #RTsbsr-5772 .cs-picture,
  #RTsbst-5772 .cs-picture {
      width: 47vw;
      max-width: 38.625rem;
      height: 33.5rem;
      /* 24px - 32px, added margin top and bottom to cs-picture so it pushes away by the same amount the yellow box element overlaps it top and bottom. This maintains consistent spacing top and bottom */
      margin: clamp(1.5rem, 3vw, 2rem) 0 clamp(1.5rem, 3vw, 2rem)
          clamp(1.5rem, 3vw, 2rem);
      position: relative;
  }
  #RTsbs-5772 .cs-picture:before,
  #RTsbsr-5772 .cs-picture:before,
  #RTsbst-5772 .cs-picture:before {
      /* yellow box */
      content: "";
      width: 50%;
      background: var(--primary);
      opacity: 1;
      display: block;
      position: absolute;
      /*24px - 32px, wrapped in calc function to multiple by negative 1 and get a negative clamp value */
      top: calc(clamp(1.5rem, 3vw, 2rem) * -1);
      bottom: calc(clamp(1.5rem, 3vw, 2rem) * -1);
      left: calc(clamp(1.5rem, 3vw, 2rem) * -1);
  }
}

/*-- -------------------------- -->
<---    Side By Side Reverse 2   -->
<--- -------------------------- -*/

/* Mobile - 360px */
@media only screen and (min-width: 0rem) {
  #RTsbsr-5772 {
      background-color: #fff;
  }
  #RTsbsr-5772 .cs-topper {
      color: var(--primary);
  }
  #RTsbsr-5772 .cs-title {
      color: var(--headerColor);
  }
  #RTsbsr-5772 .cs-text {
      color: var(--bodyTextColor);
  }
  #RTsbsr-5772 .cs-button-solid {
      background-color: var(--primary);
      color: #fff;
  }
}
/* Tablet - 768px */
@media only screen and (min-width: 48rem) {
  #RTsbsr-5772 {
      background-color: transparent;
  }
  #RTsbsr-5772 .cs-container {
      justify-content: flex-end;
  }
  #RTsbsr-5772 .cs-container:before {
      /* auto resets the left and margin left values */
      margin-left: auto;
      margin-right: -38%;
      left: auto;
      right: 50%;
  }
  #RTsbsr-5772 .cs-content {
      /* pushes to the left in the 1st position */
      order: -1;
  }
  /* #RTsbsr-5772 .cs-topper,
  #RTsbsr-5772 .cs-title,
  #RTsbsr-5772 .cs-text {
      color: var(--bodyTextColorWhite);
  } */
  #RTsbsr-5772 .cs-button-solid {
      background-color: #fff;
      color: #1a1a1a;
  }
  #RTsbsr-5772 .cs-picture {
      /* 24px - 32px, added margin top and bottom to cs-picture so it pushes away by the same amount the yellow box element overlaps it top and bottom. This maintains consistent spacing top and bottom */
      margin: clamp(1.5rem, 3vw, 2rem) clamp(1.5rem, 3vw, 2rem)
          clamp(1.5rem, 3vw, 2rem) 0;
  }
  #RTsbsr-5772 .cs-picture:before {
      left: auto;
      /* wrapped in calc function to multiple by negative 1 and get a negative clamp value */
      right: calc(clamp(1.5rem, 3vw, 2rem) * -1);
  }
}

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

/* Mobile - 360px */
@media only screen and (min-width: 0rem) {
  #cs-footer-840 {
    padding: var(--sectionPadding);
    /* 30px - 50px */
    padding-bottom: clamp(1.875rem, 5vw, 3.125rem);
    background-color: var(--primaryLight);
  }
  #cs-footer-840 .cs-container {
    width: 100%;
    /* reset on tablet */
    max-width: 34.375rem;
    margin: auto;
    display: flex;
    justify-content: flex-start;
    align-items: flex-start;
    flex-wrap: wrap;
    column-gap: 3rem;
    row-gap: 2rem;
  }
  #cs-footer-840 .cs-logo-group {
    /* takes up all the space, lets the other ul's wrap below it */
    width: 100%;
    position: relative;
  }
  #cs-footer-840 .cs-logo {
    width: 100%;
    height: auto;
    margin: 0 0 1.5rem 0;
    display: block;
  }
  #cs-footer-840 .cs-text {
    color: var(--bodyTextColorWhite);
    opacity: .8;
    margin: 0 0 2rem;
  }
  #cs-footer-840 .cs-logo-img {
    width: 100%;
    height: auto;
  }
  #cs-footer-840 .cs-social {
    display: inline-flex;
    justify-content: flex-start;
    gap: 0.75em;
  }
  #cs-footer-840 .cs-social-link {
    width: 2rem;
    height: 2rem;
    background-color: #484848;
    border-radius: 50%;
    display: flex;
    justify-content: center;
    align-items: center;
    position: relative;
    z-index: 1;
    transition: transform 0.3s, background-color 0.3s;
  }
  #cs-footer-840 .cs-social-link:hover {
    background-color: var(--primaryLight);
    transform: translateY(-0.1875rem);
  }
  #cs-footer-840 .cs-social-link:hover .cs-social-img {
    filter: grayscale(1) brightness(1000%);
  }
  #cs-footer-840 .cs-social-img {
    height: 0.75rem;
    width: auto;
    display: block;
  }
  #cs-footer-840 .cs-header {
    font-size: 1.25rem;
    line-height: 1.5em;
    font-weight: 700;
    margin: 0 0 1.25rem 0;
    color: var(--bodyTextColorWhite);
    display: block;
    position: relative;
  }
  #cs-footer-840 .cs-ul {
    margin: 0;
    padding: 0;
    display: flex;
    flex-direction: column;
    gap: 0.75rem;
  }
  #cs-footer-840 .cs-ul-1 {
    width: 100%;
    max-width: 21.875rem;
    flex-direction: row;
    justify-content: space-between;
    flex-wrap: wrap;
    column-gap: 2rem;
  }
  #cs-footer-840 .cs-ul-1 .cs-li {
    width: 44%;
  }
  #cs-footer-840 .cs-li {
    list-style: none;
  }
  #cs-footer-840 .cs-link {
    font-size: 1rem;
    text-decoration: none;
    line-height: 1.5em;
    text-align: left;
    color: #bababa;
    display: inline-flex;
    align-items: flex-start;
    gap: 0.5rem;
    transition: color 0.3s;
  }
  #cs-footer-840 .cs-link:hover {
    color: var(--primaryLight);
  }
  #cs-footer-840 .cs-icon {
    width: 1.25rem;
    height: auto;
    margin-right: 0.125rem;
    display: block;
  }
  #cs-footer-840 .cs-bottom {
    text-align: center;
    width: 100%;
    max-width: 80rem;
    /* 48px - 64px */
    margin: clamp(3rem, 7vw, 4rem) auto 0;
    padding-top: 1.5rem;
    border-top: 1px solid #484848;
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 0.75rem;
  }
  #cs-footer-840 .cs-credit,
  #cs-footer-840 .cs-bottom-link,
  #cs-footer-840 .cs-credit-link {
    /* 14px - 16px */
    font-size: clamp(0.875rem, 1.5vw, 1rem);
    line-height: 1.5em;
    text-decoration: none;
    width: auto;
    margin: 0;
    color: #bababa;
    display: inline-block;
    position: relative;
    transition: color 0.3s;
  }
  #cs-footer-840 .cs-credit {
    width: 100%;
  }
  #cs-footer-840 .cs-credit-link {
    /* 14px - 16px */
    font-size: clamp(0.875rem, 1.5vw, 1rem);
    line-height: 1.5em;
    text-decoration: none;
    width: auto;
    margin: 0;
    color: #bababa;
    display: inline-block;
    position: relative;
  }
  #cs-footer-840 .cs-credit-link:hover {
    color: var(--primary);
  }
  #cs-footer-840 .cs-bottom-links {
    width: 100%;
    display: flex;
    justify-content: center;
    align-items: center;
  }
  #cs-footer-840 .cs-bottom-link {
    display: flex;
    align-items: center;
  }
  #cs-footer-840 .cs-bottom-link:hover {
    color: var(--primary);
  }
}
/* Tablet - 768px */
@media only screen and (min-width: 48rem) {
  #cs-footer-840 .cs-container {
    max-width: 80rem;
    /* 48px - 64px */
    row-gap: clamp(3rem, 7vw, 4rem);
  }
  #cs-footer-840 .cs-bottom {
    justify-content: space-between;
    flex-wrap: nowrap;
  }
  #cs-footer-840 .cs-credit {
    text-align: left;
  }
  #cs-footer-840 .cs-bottom-links {
    justify-content: flex-end;
  }
}
/* Small Desktop - 1024px */
@media only screen and (min-width: 64rem) {
  #cs-footer-840 .cs-container {
    /* pushes all flex children to the top */
    align-items: flex-start;
    justify-content: flex-end;
    flex-wrap: nowrap;
  }
  #cs-footer-840 .cs-logo-group {
    width: 30%;
    max-width: 25rem;
    /* pushes everything to the right of it as far as possible in a flexbox */
    margin-right: auto;
  }
  #cs-footer-840 .cs-text {
    width: 100%;
  }
  #cs-footer-840 .cs-social {
    flex-direction: row;
    position: relative;
    top: auto;
    right: auto;
  }
}