/* ----------  Hero ---------- */

/* Mobile - 360px */
@media only screen and (min-width: 0rem) {
      #hero {
        /* 200px - 300px - leaving extra space for the navigation */
        padding: clamp(12.5rem, 31.95vw, 18.75rem) 1rem 0;
        /* prevents padding and border from affecting height and width */
        box-sizing: border-box;
        overflow: hidden;
        position: relative;
        z-index: 1;
      }
    
      #hero .cs-container {
        width: 100%;
        max-width: 80rem;
        margin: auto;
        display: flex;
        flex-direction: column;
        align-items: center;
        /* 48px - 64px */
        gap: clamp(3rem, 6vw, 4rem);
      }
    
      #hero .cs-content {
        /* set text align to left if content needs to be left aligned */
        text-align: center;
        width: 100%;
        max-width: 39.375rem;
        display: flex;
        flex-direction: column;
        /* centers content horizontally, set to flex-start to left align */
        align-items: center;
      }
    
      #hero .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(--secondary);
        margin-bottom: 0.25rem;
        display: block;
      }
    
      #hero .cs-title {
        /* 39px - 61px */
        font-size: clamp(2.4375rem, 6.4vw, 3.8125rem);
        font-weight: 700;
        line-height: 1.2em;
        text-align: inherit;
        max-width: 51.8125rem;
        margin: 0 auto 1rem 0;
        color: #fff;
        position: relative;
      }
    
      #hero .cs-text {
        /* 16px - 20px */
        font-size: clamp(1rem, 1.95vw, 1.25rem);
        line-height: 1.5em;
        text-align: inherit;
        width: 100%;
        /* 464px - 622px */
        max-width: clamp(29rem, 60vw, 38.785rem);
        margin: 0 0 2.5rem 0;
        color: #fff;
      }
    
      #hero .cs-button-solid {
        font-size: 1rem;
        /* 46px - 56px */
        line-height: clamp(2.875rem, 5.5vw, 3.5rem);
        text-decoration: none;
        font-weight: 700;
        margin: 0;
        color: #fff;
        padding: 0 1.5rem;
        background-color: var(--primary);
        display: inline-block;
        position: relative;
        z-index: 1;
      }
    
      #hero .cs-button-solid:before {
        content: "";
        position: absolute;
        display: block;
        height: 100%;
        width: 0%;
        background: #000;
        opacity: 1;
        top: 0;
        left: 0;
        z-index: -1;
        transition: width 0.3s;
      }
    
      #hero .cs-button-solid:hover:before {
        width: 100%;
      }
    
      #hero .cs-picture {
        /* 340px - 742px */
        height: clamp(21.25rem, 68vw, 46.375rem);
        width: auto;
        max-width: 35em;
        display: flex;
        align-items: flex-end;
        justify-content: center;
      }
    
      #hero .cs-picture img {
        height: 100%;
        width: auto;
      }
    
      #hero .cs-graphic {
        width: 100%;
        height: auto;
        position: absolute;
        bottom: -1px;
        left: 0;
      }
    
      #hero .cs-background {
        width: 100%;
        height: 100%;
        display: block;
        position: absolute;
        top: 0;
        left: 0;
        z-index: -2;
      }
    
      #hero .cs-background:before {
        /* Overlay */
        content: "";
        width: 100%;
        height: 100%;
        background: #1a1a1a;
        opacity: 0.64;
        position: absolute;
        display: block;
        top: 0;
        left: 0;
        z-index: 1;
        /* prevents the cursor from interacting with it */
        pointer-events: none;
      }
    
      #hero .cs-background img {
        position: absolute;
        top: 0;
        left: 0;
        height: 100%;
        width: 100%;
        object-fit: cover;
        /* makes the top of the image start at the top of the parent */
        object-position: top;
      }
    }
    
    /* Tablet - 768px */
    @media only screen and (min-width: 48rem) {
      #hero {
        /* 150px - 300px */
        padding-bottom: clamp(9.375rem, 22vw, 18.75rem);
      }
    
      #hero .cs-container {
        flex-direction: row;
        justify-content: flex-start;
      }
    
      #hero .cs-content {
        text-align: left;
        width: 55%;
        max-width: 39.375rem;
        align-items: flex-start;
      }
    
      #hero .cs-picture {
        justify-content: flex-start;
        position: absolute;
        bottom: 0;
        left: 50%;
      }
    }
    
    /* Large Desktop - 1600px - Prallax Effect */
    @media only screen and (min-width: 100rem) {
      #hero .cs-background {
        background: url("/assets/images/tuiasi1.jpg");
        background-size: cover;
        background-position: center;
        background-repeat: no-repeat;
        background-attachment: fixed;
      }
    
      #hero .cs-background img {
        display: none;
      }
    }
    
    /* ----------  Services ---------- */
    /* Mobile - 360px */
    @media only screen and (min-width: 0rem) {
      #obiective {
        padding: var(--sectionPadding);
      }
    
      #obiective .cs-container {
        max-width: 34.375rem;
        width: 100%;
        margin: auto;
        display: flex;
        flex-direction: column;
        align-items: center;
        /* 48px - 64px */
        gap: clamp(3rem, 6vw, 4rem);
      }
    
      #obiective .cs-content {
        width: 100%;
        display: flex;
        flex-direction: column;
        /* centers content horizontally, set to flex-start to left align */
        align-items: center;
        /* set text align to left if content needs to be left aligned */
        text-align: center;
      }
    
      #obiective .cs-card-group {
        width: 100%;
        margin: 0 auto;
        padding: 0;
        display: grid;
        grid-template-columns: repeat(12, 1fr);
        /* 16px - 20px */
        gap: clamp(1rem, 2.3vw, 1.25rem);
      }
    
      #obiective .cs-item {
        list-style: none;
        max-width: 21.875rem;
        width: 100%;
        margin: 0 auto;
        /* prevents padding and border from affecting height and width */
        box-sizing: border-box;
        padding: 1.5rem;
        padding-bottom: 2rem;
        background-color: #f7f7f7;
        display: flex;
        flex-direction: column;
        justify-content: flex-start;
        align-items: center;
        position: relative;
        z-index: 1;
        transition:
          box-shadow 0.3s,
          border-color 0.3s;
        text-align: center;
        grid-column: span 12;
        grid-row: span 1;
      }
    
      #obiective .cs-item:hover .cs-h3,
      #obiective .cs-item:hover .cs-link {
        color: var(--primary);
      }
    
      #obiective .cs-item:hover .cs-arrow {
        filter: initial;
      }
    
      #obiective .cs-picture {
        width: 6.25rem;
        height: auto;
        margin: 0.5rem 0 1.5rem 0;
        display: flex;
        justify-content: center;
        align-items: center;
        position: relative;
        /* prevents flexbox from squishing it */
        flex: none;
      }
    
      #obiective .cs-icon {
        width: 4.5rem;
        height: auto;
      }
    
      #obiective .cs-h3 {
        /* 20px - 25px */
        font-size: clamp(1.25rem, 2.5vw, 1.5625rem);
        line-height: 1.2em;
        font-weight: bold;
        margin: 0 0 0.75rem 0;
        color: var(--headerColor);
        transition: color 0.3s;
        text-align: inherit;
      }
    
      #obiective .cs-item-text {
        /* 14px - 16px */
        font-size: clamp(0.875rem, 1.5vw, 1rem);
        line-height: 1.5em;
        max-width: 28.125rem;
        margin: 0;
        margin-bottom: 1.25rem;
        padding: 0;
        color: var(--bodyTextColor);
      }
    
      #obiective .cs-link {
        font-size: 1rem;
        line-height: 1.2em;
        font-weight: 700;
        margin-top: auto;
        color: var(--headerColor);
        text-decoration: none;
        display: flex;
        justify-content: flex-start;
        align-items: center;
        transition: color 0.3s;
        text-align: inherit;
      }
    
      #obiective .cs-link:hover .cs-arrow {
        transform: translateX(0.25rem);
      }
    
      #obiective .cs-arrow {
        width: 1.25rem;
        height: auto;
        display: block;
        filter: grayscale(1) brightness(0);
        transition:
          filter 0.3s,
          transform 0.3s;
      }
    }
    
    /* Tablet - 768px */
    @media only screen and (min-width: 48rem) {
      #obiective .cs-container {
        max-width: 80rem;
      }
    
      #obiective .cs-item {
        max-width: 29rem;
        grid-column: span 6;
      }
    }
    
    /* Large Desktop - 1300px */
    @media only screen and (min-width: 81.25rem) {
      #obiective .cs-item {
        grid-column: span 3;
      }
    }
    
   
    

    /* ----------  Stats ---------- */
    
    /* Mobile - 360px */
    @media only screen and (min-width: 0rem) {
      #stats {
          padding: var(--sectionPadding);
          position: relative;
          z-index: 1;
      }
      #stats .cs-background {
          width: 100%;
          height: 100%;
          background-color: #1a1a1a;
          position: absolute;
          top: 0;
          left: 0;
          display: block;
          z-index: -1;
      }
      #stats .cs-background img {
          position: absolute;
          top: 0;
          left: 0;
          height: 100%;
          width: 100%;
          opacity: 0.16;
          object-fit: cover;
      }
      #stats .cs-card-group {
          width: 100%;
          max-width: 37.5rem;
          margin: auto;
          padding: 0;
          display: flex;
          justify-content: center;
          align-items: center;
          flex-direction: column;
          gap: 2.5rem;
      }
      #stats .cs-item {
          list-style: none;
          min-width: auto;
          margin: 0;
          padding: 0;
          display: flex;
          justify-content: flex-start;
          align-items: center;
      }
      #stats .cs-picture {
          width: clamp(3.75rem, 7.9vw, 5rem);
          height: clamp(3.75rem, 7.9vw, 5rem);
          margin-right: 1rem;
          border-radius: 50%;
          border: 1px solid #bababa;
          display: flex;
          justify-content: center;
          align-items: center;
          box-sizing: border-box;
          flex: none;
      }
      #stats .cs-icon {
          /* 28px - 40px */
          width: clamp(1.75rem, 3.9vw, 2.5rem);
          height: auto;
      }
      #stats .cs-flex-group {
          display: flex;
          justify-content: center;
          align-items: flex-start;
          flex-direction: column;
      }
      #stats .cs-number {
          font-size: var(--headerFontSize);
          color: var(--bodyTextColorWhite);
          font-weight: 900;
          line-height: 1.2em;
          margin: 0;
          display: block;
      }
      #stats .cs-desc {
          /* 14px - 16px */
          font-size: clamp(0.875rem, 1.4vw, 1rem);
          line-height: 1.5em;
          color: var(--bodyTextColorWhite);
          display: block;
      }
    }
    /* Tablet - 650px */
    @media only screen and (min-width: 40.625rem) {
      #stats .cs-card-group {
          flex-direction: row;
          flex-wrap: wrap;
          column-gap: 3.125rem;
          row-gap: 3.75rem;
      }
    }
    /* Small Desktop - 1024px */
    @media only screen and (min-width: 64rem) {
      #stats .cs-card-group {
          max-width: 80rem;
          flex-wrap: nowrap;
          justify-content: space-evenly;
      }
    }
    
                                  
    /* ----------  CTA ---------- */
    
    /* Mobile - 360px */
    @media only screen and (min-width: 0rem) {
      #cta {
          width: 100%;
          max-width: 80rem;
          margin: var(--sectionPadding);
          margin-left: auto;
          margin-right: auto;
          margin-top: 0;
          padding: 3.75rem clamp(1rem, 7vw, 3.75rem);
          box-sizing: border-box;
          border: 1px solid #484848;
          display: flex;
          flex-direction: column;
          align-items: center;
          justify-content: center;
          position: relative;
          z-index: 1;
      }
      #cta .cs-content {
          text-align: center;
          width: 100%;
          max-width: 25rem;
          display: flex;
          flex-direction: column;
          align-items: center;
          gap: 1.5rem;
      }
    
      #cta .cs-title {
          width: 100%;
          font-size: 1.9375rem;
          margin: 0;
          color: var(--bodyTextColorWhite);
      }
      #cta .cs-form {
          width: 100%;
          max-width: 45.3125rem;
          display: flex;
          flex-direction: column;
          align-items: center;
          justify-content: center;
          gap: 1rem;
          flex: none;
      }
      #cta .cs-input {
          font-size: 1rem;
          width: 100%;
          height: clamp(2.875rem, 5.5vw, 3.5rem);
          margin: 0;
          padding: 0;
          padding-left: 1.25rem;
          border: none;
          /* prevents padding from adding to width and height */
          box-sizing: border-box;
          display: block;
      }
      #cta .cs-input::placeholder {
          color: #767676;
      }
      #cta .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;
      }
      #cta .cs-button-solid:before {
          content: "";
          position: absolute;
          height: 100%;
          width: 0%;
          background: #000;
          opacity: 1;
          top: 0;
          left: 0;
          z-index: -1;
          transition: width 0.3s;
      }
      #cta .cs-button-solid:hover:before {
          width: 100%;
      }
      #cta .cs-submit {
          width: 100%;
          border: none;
          transition: color 0.3s;
      }
      #cta .cs-submit:before {
          background-color: #fff;
      }
      #cta .cs-submit:hover {
          cursor: pointer;
          color: var(--primary);
      }
    }
    /* Tablet - 768px */
    @media only screen and (min-width: 48rem) {
      #cta .cs-container {
          padding-left: 3.75rem;
          padding-right: 3.75rem;
      }
      #cta .cs-content {
          max-width: 100%;
      }
      #cta .cs-form {
          flex-direction: row;
      }
      #cta .cs-input {
          width: 100%;
          max-width: 32.8125rem;
      }
      #cta .cs-submit {
          width: auto;
          min-width: 11.875rem;
          /* prevents flexbox from squishing it */
          flex: none;
      }
    }
    /* Desktop - 1300px */
    @media only screen and (min-width: 81.25rem) {
      #cta .cs-content {
          flex-direction: row;
      }
      #cta .cs-form {
          width: 60%;
      }
    }
    
    /*-- -------------------------- -->
<---       Side By Side         -->
<--- -------------------------- -*/

/* Mobile - 360px */
@media only screen and (min-width: 0rem) {
      #RTsbs-1164,
      #RTsbsr-1164,
      #RTsbst-1164 {
          padding: var(--sectionPadding);
          /* clips grpahics from causing overflow issues */
          overflow: hidden;
      }
      #RTsbs-1164 .cs-container,
      #RTsbsr-1164 .cs-container,
      #RTsbst-1164 .cs-container {
          width: 100%;
          /* changes to 1280px at desktop */
          max-width: 34.375rem;
          margin: auto;
          display: flex;
          flex-direction: column;
          align-items: center;
          /* 48px - 64px */
          gap: clamp(3rem, 6vw, 4rem);
      }
      #RTsbs-1164 .cs-content,
      #RTsbsr-1164 .cs-content,
      #RTsbst-1164 .cs-content {
          /* set text align to left if content needs to be left aligned */
          text-align: left;
          width: 100%;
          max-width: 33.875rem;
          display: flex;
          flex-direction: column;
          /* centers content horizontally, set to flex-start to left align */
          align-items: flex-start;
      }
  
      #RTsbs-1164 .cs-text,
      #RTsbsr-1164 .cs-text,
      #RTsbst-1164 .cs-text {
          margin-bottom: 1rem;
      }
      #RTsbs-1164 .cs-text:last-of-type,
      #RTsbsr-1164 .cs-text:last-of-type,
      #RTsbst-1164 .cs-text:last-of-type {
          margin-bottom: 2rem;
      }
      #RTsbs-1164 .cs-ul,
      #RTsbsr-1164 .cs-ul,
      #RTsbst-1164 .cs-ul {
          max-width: 39.375rem;
          margin: 0 0 2rem 0;
          padding: 0;
          /* clips the bullets to create the half circle */
          overflow: hidden;
      }
      #RTsbs-1164 .cs-li,
      #RTsbsr-1164 .cs-li,
      #RTsbst-1164 .cs-li {
          list-style: none;
          margin: 0 0 0.5rem 0;
          color: var(--bodyTextColor);
          display: flex;
          justify-content: flex-start;
          align-items: flex-start;
          gap: 0.75rem;
          position: relative;
      }
      #RTsbs-1164 .cs-li:before,
      #RTsbsr-1164 .cs-li:before,
      #RTsbst-1164 .cs-li:before {
          /* bullet */
          content: "";
          width: 0.5rem;
          height: 0.5rem;
          margin-top: 0.5rem;
          background: var(--secondary);
          display: block;
          /* prevents flexbox from squishing it */
          flex: none;
      }
      #RTsbs-1164 .cs-button-solid,
      #RTsbsr-1164 .cs-button-solid,
      #RTsbst-1164 .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;
      }
      #RTsbs-1164 .cs-button-solid:before,
      #RTsbsr-1164 .cs-button-solid:before,
      #RTsbst-1164 .cs-button-solid:before {
          content: "";
          position: absolute;
          height: 100%;
          width: 0%;
          background: #000;
          opacity: 1;
          top: 0;
          left: 0;
          z-index: -1;
          transition: width 0.3s;
      }
      #RTsbs-1164 .cs-button-solid:hover:before,
      #RTsbsr-1164 .cs-button-solid:hover:before,
      #RTsbst-1164 .cs-button-solid:hover:before {
          width: 100%;
      }
      #RTsbs-1164 .cs-image-group,
      #RTsbsr-1164 .cs-image-group,
      #RTsbst-1164 .cs-image-group {
          /* scales the whole group based on the view width size and stop when that vales equals .8em, resets at desktop */
          font-size: min(2.15vw, 0.8em);
          width: 42.375em;
          height: 36.75em;
          display: block;
          position: relative;
          z-index: 1;
      }
      #RTsbs-1164 .cs-picture,
      #RTsbsr-1164 .cs-picture,
      #RTsbst-1164 .cs-picture {
          position: absolute;
      }
      #RTsbs-1164 .cs-picture img,
      #RTsbsr-1164 .cs-picture img,
      #RTsbst-1164 .cs-picture img {
          width: 100%;
          height: 100%;
          object-fit: cover;
          position: absolute;
          top: 0;
          left: 0;
      }
      #RTsbs-1164 .cs-picture1,
      #RTsbsr-1164 .cs-picture1,
      #RTsbst-1164 .cs-picture1 {
          width: 39.375em;
          height: 24.375em;
          top: 0;
          left: 0;
          z-index: 10;
      }
      #RTsbs-1164 .cs-picture2,
      #RTsbsr-1164 .cs-picture2,
      #RTsbst-1164 .cs-picture2 {
          width: 28.8125em;
          height: 18.75em;
          bottom: 0;
          right: 0;
          z-index: 10;
      }
      #RTsbs-1164 .cs-graphic,
      #RTsbsr-1164 .cs-graphic,
      #RTsbst-1164 .cs-graphic {
          height: auto;
          position: absolute;
      }
      #RTsbs-1164 .cs-graphic1,
      #RTsbsr-1164 .cs-graphic1,
      #RTsbst-1164 .cs-graphic1 {
          width: 72.125em;
          top: 1.25em;
          right: -3.75em;
          transform: rotate(-15deg);
      }
      #RTsbs-1164 .cs-graphic2,
      #RTsbsr-1164 .cs-graphic2,
      #RTsbst-1164 .cs-graphic2 {
          width: 67.8125em;
          top: 11.5625em;
          right: -1.5625em;
      }
      #RTsbs-1164 .cs-box,
      #RTsbsr-1164 .cs-box,
      #RTsbst-1164 .cs-box {
          width: 12.3125em;
          height: 11.125em;
          padding: 0.5rem;
          /* prevents padding and border from affecting height and width */
          box-sizing: border-box;
          background-color: var(--primary);
          display: flex;
          justify-content: center;
          align-items: center;
          flex-direction: column;
          position: absolute;
          z-index: 20;
          left: 0;
          bottom: 0;
      }
      #RTsbs-1164 .cs-number,
      #RTsbsr-1164 .cs-number,
      #RTsbst-1164 .cs-number {
          /* 20px - 39px */
          font-size: clamp(1.25rem, 4vw, 2.4375rem);
          text-align: center;
          line-height: 1.2em;
          font-weight: 700;
          width: 100%;
          /* 4px - 8px */
          margin: 0 0 clamp(0.25rem, 1vw, 0.5rem);
          color: var(--bodyTextColorWhite);
          display: block;
      }
      #RTsbs-1164 .cs-desc,
      #RTsbsr-1164 .cs-desc,
      #RTsbst-1164 .cs-desc {
          /* 12px - 16px */
          font-size: clamp(0.75rem, 1.9vw, 1rem);
          text-align: center;
          line-height: 1.2em;
          font-weight: 700;
          width: 100%;
          max-width: 12ch;
          margin: 0;
          color: var(--bodyTextColorWhite);
          display: block;
      }
  }
  /* Small Desktop - 1024px */
  @media only screen and (min-width: 64rem) {
      #RTsbs-1164 .cs-container,
      #RTsbsr-1164 .cs-container,
      #RTsbst-1164 .cs-container {
          max-width: 80rem;
          flex-direction: row;
          justify-content: space-between;
          align-items: center;
      }
      #RTsbs-1164 .cs-image-group,
      #RTsbsr-1164 .cs-image-group,
      #RTsbst-1164 .cs-image-group {
          font-size: min(1.2vw, 1em);
          flex: none;
      }
  }
  
  /*-- -------------------------- -->
  <---    Side By Side Reverse    -->
  <--- -------------------------- -*/
  
  /* Mobile - 360px */
  @media only screen and (min-width: 0rem) {
      #RTsbsr-1164 {
          background-color: #f7f7f7;
      }
      #RTsbsr-1164 .cs-picture1 {
          left: auto;
          right: 0;
      }
      #RTsbsr-1164 .cs-picture2 {
          right: auto;
          left: 0;
      }
      #RTsbsr-1164 .cs-graphic {
          height: auto;
          position: absolute;
      }
      #RTsbsr-1164 .cs-graphic1 {
          right: auto;
          left: -3.75em;
          transform: rotate(-165deg);
      }
      #RTsbsr-1164 .cs-graphic2 {
          right: auto;
          left: -1.5625em;
      }
      #RTsbsr-1164 .cs-box {
          left: auto;
          right: 0;
      }
  }
  /* Small Desktop - 1024px */
  @media only screen and (min-width: 64rem) {
      #RTsbsr-1164 .cs-image-group {
          /* sends it to the right in the 2nd positon */
          order: 2;
      }
  }
  
                                  