/* CODESTITCH STYLES, RESET, HEADER/NAVIGATION AND FOOTER */
/*-- -------------------------- -->
<---        Core Styles         -->
<--- -------------------------- -*/
/* CodeStitch Root and Helpers */
@media only screen and (min-width: 0em) {
  :root {
    --primary: #0088ff;
    --primaryLight: #0088ff;
    --secondary: #0095ff;
    --secondaryLight: #001f3f;
    --headerColor: #1a1a1a;
    --bodyTextColor: #4e4b66;
    --bodyTextColorWhite: #fafbfc;
    /* 13px - 16px */
    --topperFontSize: clamp(0.8125rem, 1.6vw, 1rem);
    /* 31px - 49px */
    --headerFontSize: clamp(1.9375rem, 3.9vw, 3.0625rem);
    --bodyFontSize: 1rem;
    /* 60px - 100px top and bottom */
    --sectionPadding: clamp(3.75rem, 7.82vw, 6.25rem) 1rem;
  }
  .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;
  }
  .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);
  }
  .cs-button-solid {
    font-size: 1rem;
    font-weight: bold;
    line-height: 3.125em;
    text-align: center;
    text-transform: uppercase;
    text-decoration: none;
    width: auto;
    padding: 0 1.875rem;
    color: #000;
    background-color: var(--primary);
    display: inline-block;
    position: relative;
    z-index: 1;
    transition: color 0.3s;
    transition-delay: 0.1s;
  }
  .cs-button-solid:hover {
    color: #fff;
  }
  .cs-button-solid:hover:before {
    width: 100%;
  }
  .cs-button-solid:before {
    content: "";
    width: 0;
    height: 100%;
    background-color: #000;
    opacity: 1;
    display: block;
    position: absolute;
    top: 0;
    left: 0;
    z-index: -1;
    transition: width 0.3s;
  }
}
/* Fonts and general styles */
@media only screen and (min-width: 0em) {
  /* roboto-regular - latin */
  @font-face {
    font-style: normal;
    font-family: "Roboto";
    font-weight: 400;
    font-display: swap;
    src: local(""), url("/assets/fonts/roboto-v29-latin-regular.woff2") format("woff2"), /* Chrome 26+, Opera 23+, Firefox 39+ */ url("/assets/fonts/roboto-v29-latin-regular.woff") format("woff");
    /* Chrome 6+, Firefox 3.6+, IE 9+, Safari 5.1+ */
  }
  /* roboto-700 - latin */
  @font-face {
    font-style: normal;
    font-family: "Roboto";
    font-weight: 700;
    font-display: swap;
    src: local(""), url("/assets/fonts/roboto-v29-latin-700.woff2") format("woff2"), /* Chrome 26+, Opera 23+, Firefox 39+ */ url("/assets/fonts/roboto-v29-latin-700.woff") format("woff");
    /* Chrome 6+, Firefox 3.6+, IE 9+, Safari 5.1+ */
  }
  /* roboto-900 - latin */
  @font-face {
    font-style: normal;
    font-family: "Roboto";
    font-weight: 900;
    font-display: swap;
    src: local(""), url("/assets/fonts/roboto-v29-latin-900.woff2") format("woff2"), /* Chrome 26+, Opera 23+, Firefox 39+ */ url("/assets/fonts/roboto-v29-latin-900.woff") format("woff");
    /* Chrome 6+, Firefox 3.6+, IE 9+, Safari 5.1+ */
  }
  body,
  html {
    font-family: "Roboto", Arial, sans-serif;
    font-size: 100%;
    margin: 0;
    padding: 0;
    color: var(--bodyTextColor);
    overflow-x: hidden;
  }
  *,
  *:before,
  *:after {
    margin: 0;
    box-sizing: border-box;
    padding: 0;
  }
  body {
    transition: background-color 0.3s;
  }
  .container {
    width: 92%;
    margin: auto;
    position: relative;
  }
  h1,
  h2,
  h3,
  h4,
  h5,
  h6 {
    margin: 0;
    color: var(--headerColor);
  }
  p,
  li,
  a {
    font-size: 1rem;
    line-height: 1.5em;
    margin: 0;
  }
  p,
  li {
    color: #353535;
  }
  a:hover,
  button:hover {
    cursor: pointer;
  }
  .skip {
    opacity: 0;
    position: absolute;
    top: 0;
    left: 0;
    z-index: -1111111;
  }
}
/* Reset Margins */
@media only screen and (min-width: 1024px) {
  body,
  html {
    margin: 0;
    padding: 0;
  }
}
/* Scale full website with the viewport width */
@media only screen and (min-width: 2000px) {
  body,
  html {
    font-size: 0.85vw;
  }
}
/* Desktop - 1024px */
@media only screen and (min-width: 64rem) {
  #dark-mode-toggle {
    position: relative;
    transform: none;
    top: auto;
    right: auto;
    margin: 0;
  }
  #dark-mode-toggle:hover {
    cursor: pointer;
  }
}
/*-- -------------------------- -->
<---     Mobile Navigation      -->
<--- -------------------------- -*/
body,
html {
  /* reset margin and padding so there's no gap between the nav and the screen edges */
  margin: 0;
  padding: 0;
}
/* Mobile - 1023px */
@media only screen and (max-width: 63.9375rem) {
  body.cs-open {
    overflow: hidden;
  }
  #cs-navigation {
    width: 100%;
    padding: 1.25rem 1rem;
    /* prevents padding and border from affecting height and width */
    box-sizing: border-box;
    background-color: #1a1a1a;
    box-shadow: rgba(149, 157, 165, 0.2) 0px 8px 24px;
    position: fixed;
    z-index: 10000;
  }
  #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 0.5s, opacity 0.5s;
  }
  #cs-navigation.cs-active:before {
    height: 150vh;
    opacity: 1;
  }
  #cs-navigation.cs-active .cs-toggle {
    transform: rotate(180deg);
  }
  #cs-navigation.cs-active .cs-ul-wrapper {
    opacity: 1;
    transform: scaleY(1);
    transition-delay: 0.15s;
  }
  #cs-navigation.cs-active .cs-li {
    transform: translateY(0);
    opacity: 1;
  }
  #cs-navigation .cs-container {
    width: 100%;
    display: flex;
    justify-content: flex-end;
    align-items: center;
  }
  #cs-navigation .cs-logo {
    width: 40%;
    max-width: 9.125rem;
    height: 100%;
    margin: 0 auto 0 0;
    padding: 0;
    /* prevents padding and border from affecting height and width */
    box-sizing: border-box;
    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;
  }
  #cs-navigation .cs-toggle {
    width: 3.5rem;
    height: 3.5rem;
    margin: 0 0 0 auto;
    border-radius: 0.25rem;
    background-color: var(--primary);
    border: none;
    display: flex;
    justify-content: center;
    align-items: center;
    transition: transform 0.6s;
  }
  #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: 1rem;
    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 0.5s, top 0.3s, left 0.3s;
    animation-duration: 0.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 0.3s, left 0.3s, transform 0.5s;
    animation-duration: 0.7s;
    animation-timing-function: ease;
    animation-fill-mode: forwards;
    animation-direction: normal;
  }
  #cs-navigation .cs-line3 {
    bottom: 0;
    transition: bottom 0.3s, opacity 0.3s;
  }
  #cs-navigation .cs-ul-wrapper {
    width: 100%;
    height: auto;
    padding-bottom: 2.4em;
    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 0.4s, opacity 0.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 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:nth-of-type(10) {
    transition-delay: 0.5s;
  }
  #cs-navigation .cs-li:nth-of-type(11) {
    transition-delay: 0.55s;
  }
  #cs-navigation .cs-li:nth-of-type(12) {
    transition-delay: 0.6s;
  }
  #cs-navigation .cs-li:nth-of-type(13) {
    transition-delay: 0.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;
  }
}
/*-- -------------------------- -->
<---     Navigation Dropdown    -->
<--- -------------------------- -*/
/* Mobile - 1023px */
@media only screen and (max-width: 63.9375rem) {
  #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 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;
    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 0.3s, margin 0.3s, height 0.3s, opacity 0.3s, visibility 0.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;
  }

  #cs-navigation {
    height: 80px; /* Adjust this value as needed */
    /* Other styles... */
  }
  #cs-navigation + * {
  padding-top: 20px; /* Adjust this value to the desired space */
  }
  #cs-navigation .cs-logo {
    max-width: 40px; /* Or whatever size fits well */
    height: auto;
    margin: 0 auto 0 0; /* adjust margin as needed */
    padding: 0; /* remove if there's unnecessary padding */
    display: flex;
    justify-content: center; /* center logo if needed */
    align-items: center;
  }
  #cs-navigation .cs-logo img {
    max-width: 100%;
    height: auto;
    object-fit: contain;
  }
}
/* 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.9375rem;
    height: auto;
    display: inline-block;
  }
  #cs-navigation .cs-drop-ul {
    min-width: 12.5rem;
    margin: 0;
    padding: 0;
    background-color: #1a1a1a;
    overflow: hidden;
    opacity: 0;
    visibility: hidden;
    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 0.3s, visibility 0.3s, opacity 0.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 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-li-link.cs-drop-link {
    text-transform: capitalize;
    white-space: nowrap;
    width: 100%;
    font-size: 1rem;
    line-height: 1.5em;
    text-decoration: none;
    padding: 0.75rem;
    /* prevents padding and border from affecting height and width */
    box-sizing: border-box;
    color: var(--bodyTextColorWhite);
    display: block;
    transition: color 0.3s, background-color 0.3s;
  }
  #cs-navigation .cs-li-link.cs-drop-link:hover {
    background-color: var(--primary);
    color: var(--bodyTextColorWhite);
  }
  #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%;
    padding: 0 1rem;
    /* prevents padding and border from affecting height and width */
    box-sizing: border-box;
    background-color: #141313;
    position: fixed;
    z-index: 10000;
  }
  #cs-navigation .cs-container {
    width: 100%;
    /* same height as the cs-ul-wrapper */
    height: 5.8125rem;
    max-width: 80rem;
    margin: auto;
    display: flex;
    justify-content: flex-end;
    align-items: center;
    gap: 1.5rem;
    position: relative;
  }
  #cs-navigation .cs-toggle {
    display: none;
  }
  #cs-navigation .cs-logo {
    width: 18.4%;
    max-width: 21.875rem;
    height: 2rem;
    /* 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-wrapper {
    /* absolutely positioned to be dead center */
    position: absolute;
    left: 50%;
    top: 50%;
    transform: translate(-50%, -50%);
  }
  #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: 2.25rem 0;
    /* prevent flexbox from squishing it */
    flex: none;
  }
  #cs-navigation .cs-li-link {
    /* 14px - 16px */
    font-size: clamp(0.875rem, 0.6vw, 1rem);
    line-height: 1.5em;
    text-decoration: none;
    text-transform: uppercase;
    margin: 0;
    color: var(--bodyTextColorWhite);
    display: block;
    position: relative;
    transition: color 0.3s;
  }
  #cs-navigation .cs-li-link:hover {
    color: var(--primary);
  }
  #cs-navigation .cs-li-link.cs-active {
    color: var(--primary);
  }
  #cs-navigation .cs-button-solid {
    font-size: 1rem;
    /* 46px - 56px */
    line-height: clamp(2.875em, 5.5vw, 3.5em);
    text-decoration: none;
    font-weight: 700;
    text-align: center;
    margin: 0;
    color: #fff;
    min-width: 9.375rem;
    padding: 0 2rem;
    background-color: var(--primary);
    display: inline-block;
    position: relative;
    z-index: 1;
    /* prevents padding from adding to the width */
    box-sizing: border-box;
    transition: color 0.3s;
  }
  #cs-navigation .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;
  }
  #cs-navigation .cs-button-solid:hover {
    color: #1a1a1a;
  }
  #cs-navigation .cs-button-solid:hover:before {
    width: 100%;
  }
}
/*-- -------------------------- -->
<---   Interior Page Header     -->
<--- -------------------------- -*/
/*-- -------------------------- -->
<---          Banner            -->
<--- -------------------------- -*/

/* Mobile - 360px */
@media only screen and (min-width: 0rem) {
  #banner-559 {
      padding: var(--sectionPadding);
      /* 137px - 212px */
      padding-top: clamp(8.5625rem, 25vw, 13.25rem);
      /* clips the line from causing overflow issues for going off screen */
      overflow: hidden;
      position: relative;
      z-index: 1;

      .cs-container {
          text-align: center;
          width: 100%;
          max-width: (1280/16rem);
          margin: auto;
          display: flex;
          flex-direction: column;
          justify-content: center;
          align-items: flex-start;
          flex-direction: column;
          gap: (16/16rem);
      }

      .cs-int-topper {
          font-size: var(--topperFontSize);
          text-transform: uppercase;
          font-weight: 700;
          letter-spacing: 0.01em;
          margin: 0;
          padding: 0 0 0 (20/16rem);
          color: var(--bodyTextColorWhite);
          display: block;
          position: relative;

          &:before {
              /* yellow line */
              content: "";
              width: 50vw;
              height: 2px;
              background: var(--secondary);
              opacity: 1;
              position: absolute;
              display: block;
              top: 50%;
              right: 100%;
              transform: translateY(-50%);
          }
      }

      .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;
      }

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

      .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;

          &:last-of-type {
              /* remove the chevron on the last list item */
              &::after {
                  display: none;
              }
          }

          &:after {
              /* chevron - added as pseudo to make adding and removing them easier */
              content: "";
              width: (30/16rem);
              height: (2/16rem);
              /* 12px - 24px */
              margin: 0 clamp(0.75rem, 2vw, 1.5rem);
              background-color: #fff;
          }

          &.cs-active {
              color: var(--secondary);
          }
      }

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

          &:before {
              /* background color overlay */
              content: "";
              position: absolute;
              display: block;
              height: 100%;
              width: 100%;
              background: var(--primary);
              opacity: 0.9;
              top: 0;
              left: 0;
              z-index: 1;
          }

          img {
              position: absolute;
              top: 0;
              left: 0;
              height: 100%;
              width: 100%;
              /* Makes img tag act as a background image */
              object-fit: cover;
  }
  }
  #int-hero h1 {
    font-size: 2.13333333rem;
    text-align: center;
    width: 96%;
    max-width: 31.25rem;
    margin: 0 auto;
    margin-top: 4.375rem;
    margin-bottom: 1.875rem;
    color: #fff;
    position: relative;
          }
  #int-hero h1 {
    font-size: 2.13333333rem;
    text-align: center;
    width: 96%;
    max-width: 31.25rem;
    margin: 0 auto;
    margin-top: 4.375rem;
    margin-bottom: 1.875rem;
    color: #fff;
    position: relative;
  }
  }
  #int-hero p {
    text-align: center;
    width: 96%;
    max-width: 25rem;
    margin: auto;
    margin-bottom: 1.875rem;
    color: #fff;
    display: block;
      }
  #int-hero p {
    text-align: center;
    width: 96%;
    max-width: 25rem;
    margin: auto;
    margin-bottom: 1.875rem;
    color: #fff;
    display: block;
  }
}

                              
/*-- -------------------------- -->
<---           Form   Call to Acti          -->
<--- -------------------------- -*/
/* Mobile - 360px */
@media only screen and (min-width: 0rem) {
  #cs-contact-486 {
    padding: var(--sectionPadding);
    position: relative;
    z-index: 1;
  }
  #cs-contact-486 .cs-container {
    width: 100%;
    /* changes to 1440px at tablet */
    max-width: 34.375em;
    margin: auto;
    /* 20px - 80px */
    padding: clamp(1.25rem, 5.5vw, 5rem);
    /* prevents padding and border from affecting height and width */
    box-sizing: border-box;
    background-color: #14142b;
    /* 12px - 24px */
    border-radius: clamp(0.75rem, 3vw, 1.5rem);
    /* clips the glowing orb */
    overflow: hidden;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    gap: 3rem;
    position: relative;
    z-index: 1;
  }
  #cs-contact-486 .cs-container:before {
    /* glowing orb */
    content: "";
    width: 77.5rem;
    height: 7.625rem;
    background: #f1f1f4;
    opacity: 0.21;
    -webkit-filter: blur(152px);
    filter: blur(152px);
    transform: translateX(-50%) rotate(-38.5deg);
    position: absolute;
    display: block;
    top: 30%;
    left: 50%;
    z-index: -1;
  }
  #cs-contact-486 .cs-content {
    /* set text align to left if content needs to be left aligned */
    text-align: left;
    width: 100%;
    max-width: 36.75rem;
    display: flex;
    flex-direction: column;
    /* centers content horizontally, set to flex-start to left align */
    align-items: flex-start;
  }
  #cs-contact-486 .cs-title {
    max-width: 16ch;
    color: var(--bodyTextColorWhite);
  }
  #cs-contact-486 .cs-color {
    color: var(--primaryLight);
  }
  #cs-contact-486 .cs-text {
    /* 14px - 16px */
    font-size: clamp(0.875rem, 1.5vw, 1rem);
    /* 24px - 36px, matches the padding-bottom */
    margin: 0 0 clamp(1.5rem, 4vw, 2.25rem) 0;
    /* 24px - 36px */
    padding-bottom: clamp(1.5rem, 4vw, 2.25rem);
    color: #b4b2c7;
    position: relative;
  }
  #cs-contact-486 .cs-text:before {
    /* dashed border effect, by using this method we can control the width of the dashed lines */
    content: "";
    width: 100%;
    height: 1px;
    background-image: linear-gradient(90deg, #b3bac5, #b3bac5 50%, transparent 50%, transparent 0%);
    /* change the first left rem value to change the length of the dashes */
    background-size: 0.6rem 1px;
    opacity: 1;
    position: absolute;
    display: block;
    bottom: 0;
    left: 0;
  }
  #cs-contact-486 .cs-heading {
    /* 16px - 20px */
    font-size: clamp(1rem, 2vw, 1.25rem);
    line-height: 1.5em;
    font-weight: 700;
    text-align: left;
    color: var(--bodyTextColorWhite);
    display: block;
  }
  #cs-contact-486 .cs-heading:last-of-type {
    /* make the last one have the margin bottom to create the space between the contact info */
    margin-bottom: 0.75rem;
  }
  #cs-contact-486 .cs-link {
    /* 14px - 16px */
    font-size: clamp(0.875rem, 1.5vw, 1rem);
    line-height: 1.5em;
    font-weight: 400;
    text-align: left;
    text-decoration: none;
    margin: 0;
    color: #b4b2c7;
    display: block;
  }
  #cs-contact-486 #cs-form-486 {
    width: 100%;
    max-width: 38.625rem;
    padding: 2rem 1.5rem;
    background-color: #fff;
    /* prevents padding and border from affecting height and width */
    box-sizing: border-box;
    border-radius: 0.75rem;
    display: flex;
    justify-content: space-between;
    flex-wrap: wrap;
    row-gap: 1.25rem;
  }
  #cs-contact-486 .cs-h3 {
    /* 20px - 31px */
    font-size: clamp(1.25rem, 4vw, 1.9375rem);
    line-height: 1.2em;
    font-weight: 700;
    text-align: left;
    width: 100%;
    /* 4px + the 20px gap on the #cs-form */
    margin: 0 0 0.25rem 0;
    color: #14142b;
  }
  #cs-contact-486 .cs-label {
    font-size: 1rem;
    line-height: 1.5em;
    width: 100%;
    margin: 0 0 0.375rem 0;
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    color: #14142b;
  }
  #cs-contact-486 .cs-input,
  #cs-contact-486 .cs-textarea,
  #cs-contact-486 #cs-select-486 {
    font-size: 1rem;
    font-family: inherit;
    width: 100%;
    height: 3rem;
    margin: 0;
    padding: 0 1.25rem;
    /* prevents padding from affecting width and height */
    box-sizing: border-box;
    border-radius: 0.5rem;
    border: 1px solid #b4b2c7;
    background-color: transparent;
  }
  #cs-contact-486 .cs-input::placeholder,
  #cs-contact-486 .cs-textarea::placeholder,
  #cs-contact-486 #cs-select-486::placeholder {
    color: #7d799c;
    font-size: 1rem;
  }
  #cs-contact-486 .cs-textarea {
    min-height: 9.375rem;
    padding-top: 0.625rem;
  }
  #cs-contact-486 .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;
  }
  #cs-contact-486 .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;
  }
  #cs-contact-486 .cs-button-solid:hover:before {
    width: 100%;
  }
  #cs-contact-486 .cs-button-solid {
    /* button override */
    width: 100%;
    border: none;
  }
}
/* Tablet - 768px */
@media only screen and (min-width: 48rem) {
  #cs-contact-486 {
    background-color: #f7f7f7;
  }
  #cs-contact-486 .cs-container {
    max-width: 90rem;
    flex-direction: row;
    justify-content: space-between;
  }
  #cs-contact-486 .cs-label:nth-of-type(1),
  #cs-contact-486 .cs-label:nth-of-type(2) {
    width: clamp(45%, 17vw, 48.5%);
  }
}
/* Dark Mode */
@media only screen and (min-width: 0rem) {
  body.dark-mode #cs-contact-486 .cs-container {
    background-color: var(--medium);
  }
}
/*-- -------------------------- -->
<---           Footer           -->
<--- -------------------------- -*/
/* Mobile */
@media only screen and (min-width: 0em) {
  #footer {
    font-size: min(4vw, 1.2em);
    padding: 5.25rem 0 1.25rem;
    background: #1c1c1c;
  }
  #footer .left-section {
    text-align: center;
    margin: auto;
    margin-bottom: 3.125rem;
  }
  #footer .left-section .logo {
    text-align: center;
    width: auto;
    height: 2em;
    margin: auto;
    margin-bottom: 1.875em;
    display: inline-block;
  }
  #footer .left-section .logo img {
    width: auto;
    height: 100%;
    display: block;
  }
  #footer .left-section p {
    font-size: 0.875rem;
    line-height: 1.92857143rem;
    text-align: center;
    width: 100%;
    width: 21.92857143rem;
    margin: auto;
    color: #fff;
    opacity: 0.9;
  }
  #footer .right-section {
    width: 96%;
    max-width: 25.4375rem;
    margin: auto;
  }
  #footer .right-section .lists {
    width: 96%;
    max-width: 19.1875rem;
    margin: auto;
    display: flex;
    justify-content: space-between;
    flex-wrap: wrap;
  }
  #footer .right-section .lists ul {
    margin-top: 0;
    margin-bottom: 0;
    padding: 0;
  }
  #footer .right-section .lists ul:nth-of-type(3) {
    margin-top: 3.125rem;
  }
  #footer .right-section .lists ul:nth-of-type(3) li {
    margin-bottom: 1rem;
    display: flex;
    justify-content: flex-start;
    align-items: center;
  }
  #footer .right-section .lists ul:nth-of-type(3) li:last-of-type {
    margin-bottom: 0;
  }
  #footer .right-section .lists ul li {
    font-size: 1.125rem;
    list-style: none;
    margin-bottom: 0.75rem;
    color: #fff;
    opacity: 0.9;
  }
  #footer .right-section .lists ul li a {
    line-height: 1.16666667em;
    text-decoration: none;
    color: #fff;
    transition: color 0.3s;
  }
  #footer .right-section .lists ul li a:hover {
    color: var(--primary);
  }
  #footer .right-section .lists ul h2 {
    font-size: 1.125rem;
    font-weight: bold;
    line-height: 1.16666667em;
    text-transform: uppercase;
    margin-bottom: 2.3125rem;
    color: #fff;
    position: relative;
  }
  #footer .right-section .lists ul h2:before {
    content: "";
    width: 6.0625rem;
    height: 0.125rem;
    background: var(--primary);
    opacity: 1;
    display: block;
    position: absolute;
    bottom: calc(-16 / 16 * 1rem);
    left: 0;
  }
  #footer .right-section .buttons {
    display: flex;
    justify-content: center;
  }
  #footer .right-section .cs-button-solid {
    width: 15.625rem;
    height: 3.3125rem;
    margin: 0;
    padding-top: 0.1875rem;
  }
  #footer .credit {
    font-size: 1rem;
    line-height: 2.25rem;
    text-align: center;
    width: 96%;
    margin: auto;
    margin-top: 6.25rem;
    color: #fff;
  }
  #footer .credit a {
    font-size: 1rem;
    text-decoration: none;
    color: var(--primary);
  }
  #footer .credit a:hover {
    text-decoration: underline;
  }
  #footer .credit .copyright {
    font-size: 1rem;
    display: block;
  }
}
/* Small Desktop */
@media only screen and (min-width: 64em) {
  #footer {
    font-size: min(1.2vw, 1em);
  }
  #footer .container {
    width: 96%;
    max-width: 82.5rem;
    margin: auto;
    padding: 0;
    display: flex;
    flex-direction: row;
    justify-content: space-between;
    flex-wrap: nowrap;
  }
  #footer .left-section {
    text-align: left;
    width: 25.5625rem;
    margin: 0;
  }
  #footer .left-section .logo {
    text-align: left;
    height: 2.5rem;
    margin-left: 0;
  }
  #footer .left-section p {
    text-align: left;
    margin-left: 0;
  }
  #footer .right-section {
    width: 38.0625rem;
    max-width: none;
    margin: 0;
  }
  #footer .right-section .lists {
    width: 96%;
    max-width: 48.0625rem;
    max-width: initial;
    margin: 0;
  }
  #footer .right-section .lists ul:nth-of-type(3) {
    margin-top: 0;
  }
  #footer .right-section .lists ul:nth-of-type(3) li:first-of-type {
    margin-bottom: 0;
  }
  #footer .right-section .lists ul li a {
    position: relative;
  }
  #footer .right-section .lists ul li a:before {
    content: "";
    width: 0%;
    height: 0.125rem;
    background: var(--primary);
    opacity: 1;
    display: block;
    position: absolute;
    bottom: calc(-3 / 16 * 1rem);
    left: 0;
    transition: width 0.3s;
  }
  #footer .right-section .lists ul li a:hover:before {
    width: 100%;
  }
  #footer .right-section .buttons {
    justify-content: flex-start;
  }
  #footer .credit .copyright {
    display: inline-block;
  }
}


/* -------------------------------- 

File#: _1_cross-table
Title: Cross Table
Descr: Two-way data tables used to display correlation between row and column variables
Usage: codyhouse.co/license

-------------------------------- */

/* reset */
*, *::after, *::before {
  box-sizing: border-box;
}

* {
  font: inherit;
  margin: 0;
  padding: 0;
  border: 0;
}

html {
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

body {
  background-color: hsl(0, 0%, 100%);
  font-family: system-ui, sans-serif;
  color: hsl(230, 7%, 23%);
  font-size: 1.125rem; /* 18px */
  line-height: 1.4;
}

h1, h2, h3, h4 {
  line-height: 1.2;
  color: hsl(230, 13%, 9%);
  font-weight: 700;
}

h1 {
  font-size: 2.5rem; /* 40px */
}

h2 {
  font-size: 2.125rem; /* 34px */
}

h3 {
  font-size: 1.75rem; /* 28px */
}

h4 {
  font-size: 1.375rem; /* 22px */
}

ol, ul, menu {
  list-style: none;
}

button, input, textarea, select {
  background-color: transparent;
  border-radius: 0;
  color: inherit;
  line-height: inherit;
  -webkit-appearance: none;
          appearance: none;
}

textarea {
  resize: vertical;
  overflow: auto;
  vertical-align: top;
}

a {
  color: hsl(250, 84%, 54%);
}

table {
  border-collapse: collapse;
  border-spacing: 0;
}

img, video, svg {
  display: block;
  max-width: 100%;
}

/* -------------------------------- 

Buttons 

-------------------------------- */

.cd-btn {
  position: relative;
  display: inline-flex;
  justify-content: center;
  align-items: center;
  white-space: nowrap;
  text-decoration: none;
  padding: 0.5rem 1rem;
  border-radius: 0.375em;
  font-size: 1em;
  text-decoration: none;
  line-height: 1.2;
  cursor: pointer;
  transition: 0.2s;
  will-change: transform;
}

.cd-btn:focus-visible {
  outline: none;
}

.cd-btn:active {
  transform: translateY(2px);
}

.cd-btn--primary {
  background: hsl(250, 84%, 54%);
  box-shadow: inset 0 1px 0 hsla(0, 0%, 100%, 0.15), 
              0 1px 3px hsla(250, 84%, 38%, 0.25), 
              0 2px 6px hsla(250, 84%, 38%, 0.1), 
              0 6px 10px -2px hsla(250, 84%, 38%, 0.25);
  color: hsl(0, 0%, 100%);
}

.cd-btn--primary:hover {
  background: hsl(250, 84%, 60%);
  box-shadow: inset 0 1px 0 hsla(0, 0%, 100%, 0.15), 
              0 1px 2px hsla(250, 84%, 38%, 0.25), 
              0 1px 4px hsla(250, 84%, 38%, 0.1), 
              0 3px 6px -2px hsla(250, 84%, 38%, 0.25);
}

.cd-btn--primary:focus-visible {
  box-shadow: inset 0 1px 0 hsla(0, 0%, 100%, 0.15), 
              0 1px 2px hsla(250, 84%, 38%, 0.25), 
              0 1px 4px hsla(250, 84%, 38%, 0.1), 
              0 3px 6px -2px hsla(250, 84%, 38%, 0.25), 
              0 0 0 2px hsl(0, 0%, 100%), 
              0 0 0 4px hsl(250, 84%, 54%);
}

/* -------------------------------- 

Icons 

-------------------------------- */

.cd-icon {
  --size: 1em;
  font-size: var(--size);
  height: 1em;
  width: 1em;
  display: inline-block;
  color: inherit;
  fill: currentColor;
  line-height: 1;
  flex-shrink: 0;
  max-width: initial;
}

.cd-icon use { /* SVG symbols - enable icon color corrections */
  color: inherit;
  fill: currentColor;
}

/* -------------------------------- 

Component 

-------------------------------- */

.cross-table {
  position: relative;
  z-index: 1;
  width: 100%;
  max-width: 1200px; /* Max width of the table */
  margin-left: auto;
  margin-right: auto;
}

.cross-table .cd-btn {
  width: 100%;
}

.cross-table__icon { /* e.g., checkbox icon */
  --size: 20px;
}

.cross-table__icon--red {
  color: hsl(342, 89%, 48%);
}

.cross-table__icon--green {
  color: hsl(170, 78%, 36%);
}

/* mobile only 👇 */
@media not all and (min-width: 42.5rem) {
  .cross-table {
    display: block;
    overflow: hidden;
  }

  .cross-table .cd-btn {
    font-size: 0.9375rem;
  }

  .cross-table__header { /* visually hidden - still accessible to SR */
    position: absolute;
    -webkit-clip-path: inset(50%);
            clip-path: inset(50%);
    width: 1px;
    height: 1px;
    overflow: hidden;
    padding: 0;
    border: 0;
    white-space: nowrap;
  }

  .cross-table__body {
    position: relative;
    display: flex;
    max-width: 100%;
    overflow: auto;
    padding: 32px 0 1rem; /* padding-top must be equal to .cross-table__cell height */
  }

  .cross-table__body::-webkit-scrollbar { /* custom scrollbar style */
    height: 10px;
  }

  .cross-table__body::-webkit-scrollbar-track { /* progress bar */
    background-color: hsl(240, 4%, 95%);
    border-radius: 50em;
  }

  .cross-table__body::-webkit-scrollbar-thumb { /* handle */
    background-color: hsla(230, 13%, 9%, 0.2);
    border: 2px solid transparent;
    background-clip: content-box;
    border-radius: 50em;
  }

  .cross-table__body::-webkit-scrollbar-thumb:hover {
    background-color: hsla(230, 13%, 9%, 0.3);
  }

  .cross-table__body::after { /* right margin at end of scrolling area */
    content: '';
    display: block;
    height: 1px;
    padding-left: 1px;
  }

  .cross-table__row { /* card */
    display: flex;
    flex-direction: column;
    width: 260px; /* card width */
    flex-shrink: 0;
    margin-right: 1rem;
  }

  .cross-table__cell {
    --cell-border-width: 1px;
    display: flex;
    padding: 0.5rem 0.75rem;
    justify-content: space-between;
    align-items: center;
    min-height: 54px;

    text-align: left;
    line-height: 1;
    font-size: 1rem;

    background-color: hsl(0, 0%, 100%);
    border-top-width: var(--cell-border-width);
    border-left-width: var(--cell-border-width);
    border-right-width: var(--cell-border-width);
    border-style: solid;
    border-color: hsla(230, 13%, 9%, 0.1);
  }

  .cross-table__cell:first-child { /* card title */
    border-left-width: var(--cell-border-width);
    border-top-width: var(--cell-border-width);
    border-radius: 0.375em 0.375em 0 0;
    background-color: hsla(230, 13%, 9%, 0.075);
    font-weight: 600;
    color: hsl(230, 13%, 9%);
  }

  .cross-table__cell:last-child {
    border-right-width: var(--cell-border-width);
    border-bottom-width: var(--cell-border-width);
    border-radius: 0 0 0.375em 0.375em;
  }

  .cross-table__label {
    display: inline;
    margin-right: 0.75rem;
  }

  .cross-table__row--w-full {
    position: absolute;
    top: 0;
    left: 0;
    width: auto;
  }

  .cross-table__row--w-full .cross-table__cell { /* labels on top of the table */
    border: none; /* reset */
    background-color: transparent;
    font-weight: normal;
    min-height: 0;
    height: 32px; /* must be equal to .cross-table__body padding-top */
    padding: 0 0.75rem;
    font-size: 0.9375rem;
    color: hsl(225, 4%, 47%);
  }
}

/* desktop only */
@media (min-width: 42.5rem) {
  .cross-table {
    font-size: 0.9375rem;
  }

  .cross-table__row .cross-table__cell:first-child {
    border-left-width: 0;
  }
  
  .cross-table__row  .cross-table__cell:last-child {
    border-right-width: 0;
  }
  
  .cross-table__header .cross-table__cell {
    border-top-width: 0;
  }

  .cross-table__row--w-full { /* row with cell spanning full width */
    background-color: hsl(240, 4%, 95%);
  }

  .cross-table__row--w-full .cross-table__cell {
    font-weight: 600;
  }

  .cross-table__cell {
    border: 1px solid hsl(240, 4%, 90%); /* border style */
    border-bottom-width: 0;
    padding: 0.75rem;
    width: 25%;
    text-align: center;
  }

  .cross-table__cell:first-child {
    text-align: left;
  }

  .cross-table__label { /* inline copy of column headers (js-cross-table__label) */
    display: none; /* visible only in the card layout 👇 */
  }

  .cross-table__description {
    color: hsl(225, 4%, 47%);
  }
}

/* -------------------------------- 

Utilities 

-------------------------------- */

.cd-link {
  color: hsl(250, 84%, 54%);
  text-decoration: none;
  background-image: linear-gradient(to right, hsl(250, 84%, 54%) 50%, hsla(250, 84%, 54%, 0.2) 50%);
  background-size: 200% 1px;
  background-repeat: no-repeat;
  background-position: 100% 100%;
  transition: background-position 0.2s;
}

.cd-link:hover {
  background-position: 0% 100%;
}

.cd-margin-bottom-2xs {
  margin-bottom: 0.75rem;
}

.cs-right-about {
  width: 100%;
  text-align: center;
}
.cs-nav-button{
  animation: shake 6s ease-in-out infinite;
}

@keyframes shake {
  0%, 25% {
    transform: translateX(0);
  }
  5%, 15% {
    transform: translateX(-10px);
  }
  10%, 20% {
    transform: translateX(10px);
  }
  25.001%, 100% {
    transform: translateX(0);
  }
}
.cs-title-right{
  text-align: center;
  align-items: center;
  font-size: var(--headerFontSize);
  font-weight: 900;
  line-height: 1.2em;
  text-align: inherit;
  margin: 0 0 1rem 0;
}
#cs-contact-486 .cs-content .cs-title mark {
  display: inline-block;
  line-height: 0em;
  padding-bottom: 0.5em;
  background-color: var(--primary);
  color: white;
}
