@import url('https://fonts.googleapis.com/css2?family=Public+Sans:ital,wght@0,100..900;1,100..900&display=swap');

:root {
    /* Add these styles to your global stylesheet, which is used across all site pages. You only need to do this once. All elements in the library derive their variables and base styles from this central sheet, simplifying site-wide edits. For instance, if you want to modify how your h2's appear across the site, you just update it once in the global styles, and the changes apply everywhere. */
    --primary: #0650a0;
    --primaryLight: #ffba43;
    --secondary: #ffba43;
    --secondaryLight: #ffba43;
    --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;
    scroll-behavior: smooth;

}

body {
    margin: 0;
    padding: 0;
    font-family: "Public Sans";

}

*, *:before, *:after {
    /* prevents padding from affecting height and width */
    box-sizing: border-box;
}
.cs-topper {
    font-size: var(--topperFontSize);
    line-height: 1.2em;
    text-transform: uppercase;
    text-align: inherit;
    letter-spacing: .1em;
    font-weight: 700;
    color: var(--primary);
    margin-bottom: 0.25rem;
    display: block;
}

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

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

/* Mobile - 1023px */
@media only screen and (max-width: 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: 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-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: 3.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: 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-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-top-link:hover {
    text-decoration: underline;
  }
  #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(3.5rem, 4vw, 3.5rem);
    /* 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: 100%;
    /* ensures the image never overflows the container. It stays contained within it's width and height and expands to fill it then stops once it reaches an edge */
    object-fit: contain;
  }
  #cs-navigation .cs-ul {
    width: 100%;
    margin: 0;
    padding: 0;
    display: flex;
    justify-content: flex-start;
    align-items: center;
    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-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;
    padding: 0 2rem;
    background-color: var(--primary);
    overflow: hidden;
    display: inline-block;
    position: relative;
    z-index: 1;
    /* prevents padding from adding to the width */
    box-sizing: border-box;
    transition: color .3s;
  }
  #cs-navigation .cs-button-solid:before {
    content: '';
    position: absolute;
    height: 100%;
    width: 0%;
    background: #1a1a1a;
    opacity: 1;
    top: 0;
    left: 0;
    z-index: -1;
    transition: width .3s;
  }
  #cs-navigation .cs-button-solid:hover:before {
    width: 100%;
  }
  #cs-navigation .cs-nav-button {
    line-height: 2.875rem;
    margin-left: 1.5rem;
  }
}
                                
                                  
                            

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

/* Mobile - 360px */
@media only screen and (min-width: 0rem) {
    #hero-1946 {
      padding: var(--sectionPadding);
      /* 160px - 200px */
      padding-top: clamp(10rem, 20vw, 12.5rem);
      overflow: hidden;
      position: relative;
      z-index: 1;
    }
    #hero-1946 .cs-container {
      width: 100%;
      max-width: 80rem;
      margin: auto;
      display: flex;
      flex-direction: column;
      align-items: center;
      position: relative;
      z-index: 1;
    }
    #hero-1946 .cs-content {
      /* set text align to left if content needs to be left aligned */
      text-align: center;
      width: 100%;
      /* 40px - 52px */
      margin-bottom: clamp(2.5rem, 5vw, 3.25rem);
      padding-top: 2rem;
      display: flex;
      flex-direction: column;
      /* centers content horizontally, set to flex-start to left align */
      align-items: center;
      position: relative;
      z-index: 1;
    }
    #hero-1946 .cs-flex {
      /* prevents flexbox from squishing it */
      flex: none;
    }
    #hero-1946 .cs-title {
      /* 39px - 61px */
      font-size: clamp(2.438rem, 5vw, 3.813rem);
    }
    #hero-1946 .cs-text {
      margin-bottom: 1.25rem;
    }
    #hero-1946 .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: 9.375rem;
      margin: 0;
      /* prevents padding from adding to the width */
      box-sizing: border-box;
      /* 32px - 48px */
      padding: 0 clamp(2rem, 4vw, 3rem);
      background-color: var(--primary);
      color: var(--bodyTextColorWhite);
      display: inline-block;
      position: relative;
      z-index: 1;
      transition: color 0.3s;
      transition: background-color 0.3s;
    }
    #hero-1946 .cs-button-solid:hover {
      background-color: #000;
      color: #fff;
    }
    #hero-1946 .cs-picture {
      width: 100%;
      /* 280px - 510px */
      height: clamp(17.5rem, 58.6vw, 31.875rem);
      /* 16px - 20px */
      margin-bottom: clamp(1rem, 2vw, 1.25rem);
      display: block;
      position: relative;
    }
    #hero-1946 .cs-picture img {
      width: 100%;
      height: 100%;
      object-fit: cover;
      border-radius: 0;
      position: absolute;
    }
    #hero-1946 .cs-card-group {
      width: 100%;
      margin: 0;
      padding: 0;
      display: grid;
      justify-content: center;
      grid-template-columns: repeat(12, 1fr);
      /* 16px - 20px */
      gap: clamp(1rem, 2vw, 1.25rem);
    }
    #hero-1946 .cs-item {
      text-align: center;
      list-style: none;
      width: 100%;
      margin: 0;
      box-sizing: border-box;
      /* 24px - 32px */
      padding: clamp(1.5rem, 3vw, 2rem);
      background-color: #F7F7F7;
      border-radius: 0;
      display: flex;
      flex-direction: column;
      align-items: center;
      grid-column: span 12;
      position: relative;
      z-index: 1;
      transition: border-color 0.3s;
    }
    #hero-1946 .cs-item:hover {
      border-color: var(--primary);
    }
    #hero-1946 .cs-item:hover .cs-h3 {
      color: var(--primary);
    }
    #hero-1946 .cs-item:hover .cs-icon {
      transform: rotateY(360deg);
    }
    #hero-1946 .cs-icon-picture {
      margin-bottom: 1.25rem;
      perspective: 700px;
      transform-style: preserve-3d;
    }
    #hero-1946 .cs-icon {
      width: 2.5rem;
      height: auto;
      display: block;
      transition: transform 0.5s;
    }
    #hero-1946 .cs-h3 {
      font-size: 1.25rem;
      line-height: 1.5em;
      text-align: inherit;
      margin: 0;
      margin-bottom: 0.75rem;
      color: var(--headerColor);
      transition: color 0.3s;
    }
    #hero-1946 .cs-item-text {
      /* 14px - 16px */
      font-size: clamp(0.875rem, 1.5vw, 1rem);
      line-height: 1.5em;
      text-align: inherit;
      margin: 0;
      color: var(--bodyTextColor);
    }
  }
  /* Tablet - 768px */
  @media only screen and (min-width: 48rem) {
    #hero-1946 .cs-text {
      font-size: 1.25rem;
    }
    #hero-1946 .cs-item {
      text-align: left;
      margin: 0;
      align-items: flex-start;
      grid-column: span 6;
    }
  }
  /* Small Desktop - 1024px */
  @media only screen and (min-width: 64rem) {
    #hero-1946 .cs-content {
      display: flex;
      flex-direction: column;
      padding-top: 0;
    }
    #hero-1946 .cs-title {
      max-width: 46.875rem;
    }
    #hero-1946 .cs-item {
      grid-column: span 3;
    }
  }
  /* Large Desktop 1300px */
  @media only screen and (min-width: 81.25rem) {
    #hero-1946 .cs-title {
      margin: 0;
    }
    #hero-1946 .cs-container {
      flex-direction: column;
    }
    #hero-1946 .cs-content {
      text-align: left;
      max-width: 80rem;
      gap: 1.25rem;
      flex-direction: row;
      align-items: flex-start;
      padding-top: 0;

    }
    #hero-1946 .cs-flex {
      width: 50%;
      max-width: 39.375rem;
    }
  }




  /*-- -------------------------- -->
<---          Gallery           -->
<--- -------------------------- -*/

/* Mobile - 360px */
@media only screen and (min-width: 0rem) {
  #gallery-43 {
      padding: var(--sectionPadding);
      position: relative;
      /* Prevents overflow from the image going off screen */
      overflow: hidden;
  }
  #gallery-43 .cs-container {
      width: 100%;
      max-width: 69rem;
      margin: auto;
      display: flex;
      flex-direction: column;
      align-items: center;
      /* 48px - 64px */
      gap: clamp(3rem, 6vw, 4rem);
  }
  #gallery-43 .cs-content {
      /* set text align to left if content needs to be left aligned */
      text-align: center;
      width: 100%;
      display: flex;
      flex-direction: column;
      /* centers content horizontally, set to flex-start to left align */
      align-items: center;
  }

  #gallery-43 .cs-image-group {
      width: 100%;
      display: flex;
      flex-direction: column;
      align-items: center;
      /* 16px - 20px */
      gap: clamp(1rem, 1.5vw, 1.25rem);
  }
  #gallery-43 .cs-item {
      width: 100%;
      height: 100%;
      aspect-ratio: 1;
      margin: 0;
      position: relative;
      display: block;
  }
  #gallery-43 .cs-item:hover .cs-hover-box {
      opacity: 1;
  }
  #gallery-43 .cs-item:hover .cs-icon {
      /* return to original position */
      transform: rotateY(0);
  }
  #gallery-43 .cs-item:hover .cs-h3 {
      opacity: 1;
      /* Return to original position */
      transform: translateY(0);
  }
  #gallery-43 .cs-item:hover .cs-hover-box-text {
      opacity: 1;
      /* Return to original position */
      transform: translateY(0);
  }
  #gallery-43 .cs-picture {
      margin: auto;
      width: 100%;
      height: 100%;
      display: block;
      position: relative;
  }
  #gallery-43 .cs-picture img {
      position: absolute;
      top: 0;
      left: 0;
      height: 100%;
      width: 100%;
      object-fit: cover;
  }
  #gallery-43 .cs-hover-box {
      text-align: center;
      width: 100%;
      height: 100%;
      padding: 1em;
      background-color: rgba(229, 87, 44, 0.9);
      opacity: 0;
      position: absolute;
      display: flex;
      flex-direction: column;
      align-items: center;
      justify-content: center;
      /* Prevents padding from contributing to height & width */
      box-sizing: border-box;
      /* Sets stage for 3d transform animation */
      perspective: 700px;
      top: 0;
      left: 0;
      z-index: 10;
      /* prevents mouse from being able to interact with these elements */
      pointer-events: none;
      transition: opacity 0.3s;
  }
  #gallery-43 .cs-icon {
      /* 50px - 60px */
      width: clamp(3.125rem, 5vw, 3.75rem);
      height: clamp(3.125rem, 5vw, 3.75rem);
      /* 16px - 32px */
      margin-bottom: clamp(1rem, 5vw, 2rem);
      border-radius: 50%;
      background-color: #fff;
      outline: 0.5rem solid rgba(255, 255, 255, 0.7);
      /* Start with the icon box rotated 90deg */
      transform: rotateY(90deg);
      position: relative;
      display: inline-flex;
      justify-content: center;
      align-items: center;
      flex: none;
      transition: transform 0.5s;
  }
  #gallery-43 .cs-icon img {
      width: 1.25rem;
      height: 1.25rem;
  }
  #gallery-43 .cs-h3 {
      /* 20px - 25px */
      font-size: clamp(1.25rem, 2vw, 1.5625rem);
      line-height: 1.2em;
      font-weight: 700;
      margin: 0 auto;
      max-width: 16.875rem;
      color: #fff;
      /* make starting position down 10px and invisible */
      opacity: 0;
      transform: translateY(0.625rem);
      margin-bottom: 0.5rem;
      transition:
          opacity 0.3s,
          transform 0.3s ease-out;
      transition-delay: 0.1s;
  }
  #gallery-43 .cs-hover-box-text {
      /* 13px - 16px */
      font-size: clamp(0.8125rem, 1vw, 1rem);
      line-height: 1.5em;
      margin: 0 auto;
      max-width: 16.875rem;
      color: #fff;
      /* make starting position down 10px and invisible */
      opacity: 0;
      transform: translateY(0.625rem);
      transition:
          opacity 0.3s,
          transform 0.3s ease-out;
      transition-delay: 0.2s;
  }
}
/* In Between - 600px */
@media only screen and (min-width: 37.5rem) {
  #gallery-43 .cs-image-group {
      display: grid;
      grid-template-columns: repeat(12, 1fr);
      grid-template-rows: 1fr;
  }
  #gallery-43 .cs-item {
      grid-column: span 6;
  }
}
/* Tablet - 768px */
@media only screen and (min-width: 48rem) {
  #gallery-43 .cs-item {
      grid-column: span 4;
  }
}

                              




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

/* Mobile - 360px */
@media only screen and (min-width: 0rem) {
    #contact-2251 {
      background-color: #ffd706;
      overflow: hidden;
      position: relative;
      z-index: 1;
    }
    #contact-2251 .cs-container {
      width: 100%;
      margin: auto;
      display: flex;
      flex-direction: column;
      align-items: center;
    }
    #contact-2251 .cs-wrapper {
      width: 100%;
      /* removed at tablet */
      max-width: 36.5rem;
      padding: var(--sectionPadding);
      /* 16px - 100px */
      padding-left: clamp(1rem, 4.5vw, 6.25rem);
      padding-right: clamp(1rem, 4.5vw, 6.25rem);
      box-sizing: border-box;
      display: flex;
      flex-direction: column;
      /* 48px - 64px */
      gap: clamp(3rem, 6vw, 4rem);
    }
    #contact-2251 .cs-content {
      /* set text align to left if content needs to be left aligned */
      text-align: center;
      width: 100%;
      max-width: 48.125rem;
      display: flex;
      flex-direction: column;
      /* centers content horizontally, set to flex-start to left align */
      align-items: center;
    }
    #contact-2251 iframe {
      width: 100%;
      height: 20rem;
    }
    #contact-2251 .cs-title {
      max-width: 24ch;
    }
    #contact-2251 .cs-form {
      width: 100%;
      max-width: 48.125rem;
      /* prevents flexbox from affecting height and width */
      box-sizing: border-box;
      display: grid;
      grid-template-columns: repeat(12, 1fr);
      justify-content: center;
      align-items: center;
      flex-wrap: wrap;
      gap: 0.75rem;
      position: relative;
    }
    #contact-2251 .cs-form-content {
      text-align: center;
      width: 100%;
      display: flex;
      justify-content: center;
    }
    #contact-2251 .cs-form-title {
      font-size: 1rem;
      line-height: 1.5em;
      margin: 0 0 0.75rem 0;
      color: var(--bodyTextColor);
      display: block;
    }
    #contact-2251 .cs-label {
      font-size: 1rem;
      width: 100%;
      display: flex;
      flex-direction: column;
      grid-column: span 12;
      align-items: flex-start;
      gap: 0.25rem;
    }
    #contact-2251 .cs-input,
    #contact-2251 .cs-select {
      font-size: 1rem;
      width: 100%;
      /* 46px - 56px */
      height: clamp(2.875rem, 5.5vw, 3.5rem);
      /* prevents padding from adding to height and width */
      box-sizing: border-box;
      padding: 0 1.5rem;
      background-color: #fff;
      color: #767676;
      border: none;
    }
    #contact-2251 .cs-input::placeholder,
    #contact-2251 .cs-select::placeholder {
      color: #767676;
    }
    #contact-2251 .cs-textarea {
      font-family: inherit;
      min-height: 7.5rem;
      margin: 0 0 1.25rem 0;
      padding-top: 1.5rem;
    }
    #contact-2251 .cs-button-solid {
      font-size: 1rem;
      font-weight: 700;
      /* 46px - 56px */
      line-height: clamp(2.875em, 5.5vw, 3.5em);
      text-align: center;
      text-decoration: none;
      min-width: 9.375rem;
      margin: 0;
      /* prevents padding from adding to the width */
      box-sizing: border-box;
      /* 32px - 48px */
      padding: 0 clamp(2rem, 4vw, 3rem);
      background-color: var(--primary);
      overflow: hidden;
      color: #fff;
      border: none;
      display: inline-block;
      position: relative;
      z-index: 1;
      transition: color 0.3s;
    }
    #contact-2251 .cs-button-solid:before {
      content: "";
      width: 0%;
      height: 100%;
      background: #000;
      opacity: 1;
      position: absolute;
      top: 0;
      left: 0;
      z-index: -1;
      transition: width 0.3s;
    }
    #contact-2251 .cs-button-solid:hover:before {
      width: 100%;
    }
    #contact-2251 .cs-submit {
      width: 100%;
    }
    #contact-2251 .cs-submit:hover {
      cursor: pointer;
    }
    #contact-2251 .cs-button-wrapper {
      display: flex;
      justify-content: center;
      grid-column: span 12;
    }
  }
  /* Tablet - 768px */
  @media only screen and (min-width: 600px) {
    #contact-2251 .cs-container {
      flex-direction: row;
      align-items: stretch;
    }
    #contact-2251 iframe {
      width: 50%;
      height: auto;
    }
    #contact-2251 .cs-wrapper {
      width: 50%;
      max-width: 100%;
    }
    #contact-2251 .cs-button-solid {
      width: auto;
    }
  }
  /* Desktop - 1024px */
  @media only screen and (min-width: 64rem) {
    #contact-2251 .cs-label {
      grid-column: span 6;
    }
    #contact-2251 .cs-label.cs-message {
      grid-column: span 12;
    }
  }
                                  
                                  

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

/* Mobile - 360px - Contains hover state */
@media only screen and (min-width: 0rem) {
  #cs-footer-107 {
    padding: 2.5rem 1rem;
    background: #efefef;
  }
  #cs-footer-107 .cs-container {
    width: 100%;
    max-width: 80rem;
    margin: auto;
  }
  #cs-footer-107 .cs-ul {
    padding: 0;
    margin: auto;
    display: flex;
    /* make flexbox arrange top to bottom */
    flex-direction: column;
    align-items: center;
    gap: 1.25rem;
  }
  #cs-footer-107 .cs-li {
    list-style: none;
    text-align: center;
    margin: 0;
  }
  #cs-footer-107 .cs-copyright {
    font-size: 0.9375rem;
    line-height: 1.5em;
    margin-top: 1.25rem;
    color: var(--primary);
    display: block;
    /* send to first position at the bottom */
    order: 1;
    /* prevents flexbox from squishing it */
    flex: none;
  }
  #cs-footer-107 .cs-link {
    /* 15px - 17px */
    font-size: clamp(0.9375rem, 2vw, 1.0625rem);
    line-height: 1.5em;
    text-decoration: none;
    font-weight: 700;
    color: var(--primary);
    position: relative;
  }
  #cs-footer-107 .cs-link:hover:before {
    width: 100%;
  }
  #cs-footer-107 .cs-link:before {
    /* top right box */
    content: "";
    width: 0%;
    height: 0.1875rem;
    background: var(--bodyTextColorWhite);
    opacity: 1;
    position: absolute;
    display: block;
    bottom: -0.125rem;
    left: 0;
    transition: width 0.3s;
  }
}
/* Tablet - 700px */
@media only screen and (min-width: 43.75rem) {
  #cs-footer-107 .cs-ul {
    flex-direction: row;
    /* push everything to the left */
    justify-content: flex-start;
    /* 44px - 88px */
    gap: clamp(2.75rem, 7vw, 5.5rem);
  }
  #cs-footer-107 .cs-copyright {
    /* marign auto on the left pushes away from the rest of the flex children */
    margin: 0 0 0 auto;
    /* send to the right most position */
    order: 2;
  }
}
                                