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

/* Mobile - 360px */
@media only screen and (min-width: 0rem) {

     section#hero-1839{

    }
    #hero-1839 {
      /* 200px - 300px - leaving extra space for the navigation */
      padding: clamp(12.5rem, 25.95vw, 18.75em) 1rem 3rem;
      /* prevents the topper line from causing an overflow */
      overflow: hidden;
      position: relative;
      z-index: 1;
    }
    #hero-1839 .cs-container {
      width: 100%;
      max-width: 80rem;
      margin: auto;
      display: flex;
      justify-content: center;
      align-items: center;
      flex-wrap: wrap;
      /* 120px - 200px */
      gap: clamp(7.5rem, 15vw, 12.5rem);
    }
    #hero-1839 .cs-content {
      text-align: center;
      width: 100%;
      max-width: 46.875rem;
      display: flex;
      justify-content: center;
      align-items: center;
      flex-direction: column;
    }
    #hero-1839 .cs-title {
      /* 49px - 84px */
      font-size: clamp(3.0625rem, 6vw, 5.25rem);
    }
    #hero-1839 .cs-title,
    #hero-1839 .cs-text {
      color: var(--bodyTextColorWhite);
    }
    #hero-1839 .cs-text {
      margin-bottom: 2rem;
    }
    #hero-1839 .cs-button-group {
      display: flex;
      justify-content: center;
      flex-wrap: wrap;
      gap: 0.5rem;
    }
    #hero-1839 .cs-button-solid {
      font-size: 1rem;
      font-weight: 700;
      /* 46px - 56px */
      line-height: clamp(2.875rem, 5.5vw, 3.5rem);
      text-align: center;
      text-decoration: none;
      min-width: 12.5rem;
      margin: 0;
      /* prevents padding from adding to the width */
      box-sizing: border-box;
      padding: 0 1.5rem;
      background-color: var(--primary);
      color: var(--bodyTextColorWhite);
      border-radius: 0.25rem;
      display: inline-block;
      position: relative;
      z-index: 1;
    }
    #hero-1839 .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;
    }
    #hero-1839 .cs-button-solid:hover:before {
      width: 100%;
    }
    #hero-1839 .cs-card-group {
      width: 100%;
      margin: 0;
      padding: 0;
      display: grid;
      grid-template-columns: repeat(12, 1fr);
      /* 16px - 20px */
      gap: clamp(1rem, 2.3vw, 1.25rem);
    }
    #hero-1839 .cs-item {
      text-align: left;
      list-style: none;
      width: 100%;
      margin: 0;
      /* prevents padding from affecting height and width */
      box-sizing: border-box;
      /* 24px - 40px */
      padding: clamp(1.5rem, 3vw, 2.5rem);
      background-color: #fff;
      box-shadow: 0px 12px 80px 0px rgba(26, 26, 26, 0.08);
      display: flex;
      flex-direction: column;
      align-items: center;
      grid-column: span 12;
      grid-row: span 1;
      gap: 1.25rem;
      position: relative;
      z-index: 1;
      border: solid, 1px, #e8e8e8;
      border-radius: .25rem;

    }
    #hero-1839 .cs-picture {
      width: 100%;
      height: 10rem;
      display: block;
      /* causes the image to grow to it's "auto" size, but won't shrink. the cs-info fills the remaining space */
      flex: 1 0 auto;
    }
    #hero-1839 .cs-picture img {
      width: 100%;
      height: 100%;
      object-fit: cover;
    }
    #hero-1839 .cs-h3 {
      /* 20px - 25px */
      font-size: clamp(1.25rem, 2.5vw, 1.5625rem);
      font-weight: bold;
      line-height: 1.2em;
      text-align: inherit;
      /* 8px - 16px */
      margin: 0 0 clamp(0.5rem, 1.2vw, 1rem) 0;
      color: var(--headerColor);
    }
    #hero-1839 .cs-item-text {
      font-size: 1rem;
      line-height: 1.5em;
      margin: 0;
      padding: 0;
      color: var(--bodyTextColor);
    }
    #hero-1839 .cs-link {
      font-size: 1rem;
      font-weight: 700;
      line-height: 1.2em;
      text-decoration: none;
      width: 100%;
      margin: 1.5rem 0 0;
      color: var(--primary);
      display: flex;
      gap: 0.25rem;
    }
    #hero-1839 .cs-link:hover img {
      transform: translateX(0.25rem);
    }
    #hero-1839 .cs-link img {
      transition: transform 0.3s;
    }
    #hero-1839 .cs-background {
      width: 100%;
      height: 50%;
      display: block;
      position: absolute;
      top: 0;
      left: 0;
      z-index: -2;
    }
    #hero-1839 .cs-background:before {
      /* Overlay */
      content: "";
      width: 100%;
      height: 100%;
      background: #000;
      /* prevents the cursor from interacting with it */
      pointer-events: none;
      opacity: 0.7;
      display: block;
      position: absolute;
      top: 0;
      left: 0;
      z-index: 1;
    }
    #hero-1839 .cs-background img {
      width: 100%;
      height: 100%;
      object-fit: cover;
      position: absolute;
      top: 0;
      left: 0;
      padding-top: 10rem;
    }
  }
  /* Large Phone/Tablet - 500px */
  @media only screen and (min-width: 31.25rem) {
    #hero-1839 .cs-item {
      flex-direction: row;
      align-items: stretch;
    }
    #hero-1839 .cs-picture {
      height: auto;
      min-height: 8.75rem;
      max-width: 8.75rem;
    }
    #hero-1839 .cs-info {
      align-self: center;
    }
    #hero-1839 .cs-background {
      height: 60%;
    }
  }
  /* Desktop - 1024px */
  @media only screen and (min-width: 64rem) {
    #hero-1839 .cs-item {
      grid-column: span 6;
    }
    #hero-1839 .cs-background {
      height: 70%;
    }
  }
                                  