: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: #0cc0df;
  --primaryLight: #D0D2D2;
  --secondary: #047081;
  --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;
  font-family: Arial, Helvetica, sans-serif;
}

body {
  margin: 0;
  padding: 0;
}

*, *: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: 0.1em;
  font-weight: 700;
  color: var(--primary);
  margin-bottom: 0.25rem;
  display: block;
}

.anchor {
  display: block;
  height: 63px; /* this is the height of your header */
  margin-top: -63px; /* this is again negative value of the height of your header */
  visibility: hidden;
}

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

/*-- -------------------------- -->
<---           Hero             -->
<--- -------------------------- -*/
/* Mobile - 360px */
@media only screen and (min-width: 0rem) {
  #hero-143 {
    /* Centers button */
    text-align: center;
    /* 144px - 300px - leaving extra space for the navigation */
    padding: clamp(9rem, 25.95vw, 18.75rem) 1rem 0;
    /* 130px - 450px */
    padding-bottom: clamp(12.125rem, 30.95vw, 28.125rem);
    position: relative;
    z-index: 1;
    /* Prevents white rectangle pseudos from overlapping the sections below */
    overflow: hidden;
  }
  #hero-143:before {
    /* Left side of the triangle */
    content: "";
    width: 31.25rem;
    /* make really long so it covers the whole screen all the way to desktop */
    height: 250rem;
    background: #fff;
    opacity: 1;
    transform: rotate(-67deg);
    transform-origin: center;
    position: absolute;
    display: block;
    bottom: -139.6875rem;
    /* this makes the right edge sit at the 50% line at all times */
    right: 50%;
    z-index: 0;
  }
  #hero-143:after {
    /* Right side of the triangle */
    content: "";
    width: 31.25rem;
    height: 250rem;
    background: #fff;
    opacity: 1;
    transform: rotate(67deg);
    transform-origin: center;
    position: absolute;
    display: block;
    bottom: -139.6875rem;
    /* this makes the left edge sit at the 50% line at all times */
    left: 50%;
    z-index: 0;
  }
  #hero-143 .cs-background {
    width: 100%;
    height: 100%;
    display: block;
    position: absolute;
    top: 0;
    left: 0;
    z-index: -2;
  }
  #hero-143 .cs-background:before {
    /* Overlay */
    content: "";
    width: 100%;
    height: 100%;
    background: #000;
    opacity: 0.7;
    position: absolute;
    display: block;
    top: 0;
    left: 0;
    z-index: 1;
    /* prevents the cursor from interacting with it */
    pointer-events: none;
  }
  #hero-143 .cs-background img {
    position: absolute;
    top: 0;
    left: 0;
    height: 100%;
    width: 100%;
    object-fit: cover;
  }
  #hero-143 .cs-container {
    width: 100%;
    max-width: 80rem;
    margin: auto;
  }
  #hero-143 .cs-title {
    /* 39px - 61px */
    font-size: clamp(2.4375rem, 6.4vw, 3.8125rem);
    font-weight: 700;
    line-height: 1.2em;
    text-align: center;
    max-width: 51.8125rem;
    /* 16px - 24px */
    margin: 0 auto clamp(1rem, 4vw, 1.5rem);
    color: #fff;
    position: relative;
  }
  #hero-143 .cs-title:after {
    /* Divider Line */
    content: "";
    /* 60px - 100px */
    width: clamp(3.75rem, 9.5vw, 6.25rem);
    /* 4px - 8px */
    height: clamp(0.25rem, 0.8vw, 0.5rem);
    /* 16px - 24px */
    margin: clamp(1rem, 4vw, 1.5rem) auto clamp(1rem, 4vw, 1.5rem);
    background: var(--primary);
    opacity: 1;
    position: relative;
    display: block;
  }
  #hero-143 .cs-text {
    /* 16px - 25px */
    font-size: clamp(1rem, 1.95vw, 1.5625rem);
    line-height: 1.5em;
    text-align: center;
    width: 100%;
    /* 464px - 800px */
    max-width: clamp(29rem, 60vw, 50rem);
    margin: 0 auto;
    /* 40px - 48px */
    margin-bottom: clamp(2.5rem, 4vw, 3rem);
    color: #fff;
  }
  #hero-143 .cs-button-solid {
    font-size: 1rem;
    /* 46px - 56px */
    line-height: clamp(2.875rem, 5.5vw, 3.5rem);
    text-decoration: none;
    font-weight: 700;
    margin: auto;
    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;
    transition: color 0.3s;
  }
  #hero-143 .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;
  }
  #hero-143 .cs-button-solid:hover {
    color: #fff;
  }
  #hero-143 .cs-button-solid:hover:before {
    width: 100%;
  }
}
/* Desktop - 1300px (To make image background parallax) */
@media only screen and (min-width: 81.25rem) {
  #hero-143 {
    background: url("/assets/background.webp");
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;
    /* makes the parallax effect */
    background-attachment: fixed;
  }
  #hero-143 .cs-background img {
    display: none;
  }
}
/*-- -------------------------- -->
<---         Services           -->
<--- -------------------------- -*/
/* Mobile - 360px */
@media only screen and (min-width: 0rem) {
  #h-services-143 {
    /* 40px - 100px */
    padding: 0 1em clamp(2.5rem, 7.9vw, 6.25rem) 1rem;
    position: relative;
    /* give a higher z index than the hero so it can sit on top */
    z-index: 10;
  }
  #h-services-143 .cs-card-group {
    width: 100%;
    max-width: 29.0625rem;
    margin: 0 auto 0;
    /* negative margin pulls it up on top of the hero section */
    /* -46px to -76px - we're calculating whatever clamp is and multiplying by -1
        to make the value negative since clamp doesn't work with negative values */
    margin-top: calc(clamp(5rem, 13vw, 4.75rem) * -1);
    /* 40px - 60px top and bottom, 16px - 44px left & right */
    padding: clamp(2.5rem, 4.7vw, 3.75rem) clamp(1rem, 5.3vw, 2.75rem);
    box-shadow: 0px 20px 40px 0px rgba(0, 0, 0, 0.05);
    border-radius: 0.3125rem;
    border-top: 8px solid var(--primary);
    background-color: #fff;
    /* prevents padding and border from affecting height and width */
    box-sizing: border-box;
  }
  #h-services-143 .cs-item {
    list-style: none;
    margin: 0 auto 2rem;
    width: 100%;
    max-width: 22.5rem;
  }
  #h-services-143 .cs-item:last-of-type {
    margin-bottom: 0;
  }
  #h-services-143 .cs-icon {
    /* 68px - 88px */
    width: clamp(4.25rem, 8.8vw, 5.5rem);
    /* 68px - 88px */
    height: clamp(4.25rem, 8.8vw, 5.5rem);
    margin: auto;
    /* 20px - 24px */
    margin-bottom: clamp(1.25rem, 5vw, 1.5rem);
    background: var(--primary);
    border-radius: 50%;
    display: flex;
    justify-content: center;
    align-items: center;
  }
  #h-services-143 .cs-icon img {
    /* 44px - 52px */
    width: clamp(2.75rem, 5.8vw, 3.25rem);
    height: auto;
  }
  #h-services-143 .cs-title {
    font-size: 1.25rem;
    line-height: 1.2em;
    text-transform: uppercase;
    text-align: center;
    margin: 0 auto 0.5rem;
    color: var(--headerColor);
  }
  #h-services-143 .cs-text {
    font-size: 1rem;
    text-align: center;
    line-height: 1.5em;
    max-width: 22.5rem;
    margin: 0 auto;
    color: var(--bodyTextColor);
  }
}
/* Tablet - 768px */
@media only screen and (min-width: 48rem) {
  #h-services-143 .cs-card-group {
    max-width: 49rem;
    /* -76px to -320px - we're calculating whatever clamp is and multiplying by -1
           to make the value negative since clamp doesn't work with negative values */
    margin-top: calc(clamp(4.75rem, 20vw, 20rem) * -1);
    display: flex;
    justify-content: space-between;
    align-items: center;
    flex-wrap: wrap;
    column-gap: 2.5rem;
  }
  #h-services-143 .cs-item {
    width: 45%;
    max-width: 19.625rem;
  }
  #h-services-143 .cs-item:last-of-type {
    margin-bottom: 2rem;
  }
}
/* Desktop - 1300px */
@media only screen and (min-width: 81.25rem) {
  #h-services-143 .cs-card-group {
    max-width: 80rem;
    flex-wrap: nowrap;
  }
  #h-services-143 .cs-item {
    margin: 0;
  }
  #h-services-143 .cs-item:last-of-type {
    margin-bottom: 0;
  }
}
/*-- -------------------------- -->
<---     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 0.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 0.5s, opacity 0.5s;
  }
  #cs-navigation.cs-active:before {
    height: 150vh;
    opacity: 1;
  }
  #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-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 0.3s, visibility 0.3s, height 0.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: 0 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 {
    /* 40px - 44px */
    height: 5rem;
    /* margin-right auto pushes everything away from it to the right */
    margin: 0 auto 0 0;
    padding: 5px;
    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-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 0.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 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: 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 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;
  }
}
/* 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 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;
  }
}
/* 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 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-drop-li:nth-of-type(10) {
    transition-delay: 0.5s;
  }
  #cs-navigation .cs-drop-li:nth-of-type(11) {
    transition-delay: 0.55s;
  }
  #cs-navigation .cs-drop-li:nth-of-type(12) {
    transition-delay: 0.6s;
  }
  #cs-navigation .cs-drop-li:nth-of-type(13) {
    transition-delay: 0.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 0.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 0.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: 5rem;
    /* margin-right auto pushes everything away from it to the right */
    margin: 0 auto 0 0;
    padding: 5px;
    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 0.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 0.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 0.3s;
  }
  #cs-navigation .cs-button-solid:hover:before {
    width: 100%;
  }
  #cs-navigation .cs-nav-button {
    line-height: 2.875rem;
    margin-left: 1.5rem;
  }
}
/*-- -------------------------- -->
<---   Side By Side Reverse     -->
<--- -------------------------- -*/
/* Mobile - 360px */
@media only screen and (min-width: 0rem) {
  #sbs-r-869 {
    padding: var(--sectionPadding);
    /* clips overlapping cs-image-group */
    overflow: hidden;
  }
  #sbs-r-869 .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);
    position: relative;
  }
  #sbs-r-869 .cs-content {
    /* set text align to left if content needs to be left aligned */
    text-align: left;
    width: 100%;
    max-width: 32.625rem;
    display: flex;
    flex-direction: column;
    /* centers content horizontally, set to flex-start to left align */
    align-items: flex-start;
  }
  #sbs-r-869 .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;
  }
  #sbs-r-869 .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;
  }
  #sbs-r-869 .cs-text {
    font-size: var(--bodyFontSize);
    line-height: 1.5em;
    text-align: inherit;
    width: 100%;
    max-width: 40.625rem;
    margin: 0;
    color: var(--bodyTextColor);
  }
  #sbs-r-869 .cs-title {
    /* 20 characters wide including spaces */
    max-width: 20ch;
  }
  #sbs-r-869 .cs-text {
    margin-bottom: 1rem;
  }
  #sbs-r-869 .cs-text:last-of-type {
    margin-bottom: 2rem;
  }
  #sbs-r-869 .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;
  }
  #sbs-r-869 .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;
  }
  #sbs-r-869 .cs-button-solid:hover:before {
    width: 100%;
  }
  #sbs-r-869 .cs-ul {
    margin: 0 0 2rem 0;
    padding: 0;
    columns: 2;
  }
  #sbs-r-869 .cs-li {
    list-style: none;
    margin: 0 0 0.5rem 0;
    display: flex;
    justify-content: flex-start;
    align-items: flex-start;
    gap: 0.75rem;
    position: relative;
  }
  #sbs-r-869 .cs-image-group {
    /* using ems so we can scale the whole section using a font size min/max. Font size (.61em) max changes at desktop */
    font-size: min(1.61vw, 0.61em);
    width: 56.125em;
    height: 50.875em;
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    position: relative;
  }
  #sbs-r-869 .cs-image-group:before {
    /* accent shape */
    content: "";
    width: 18.6875em;
    height: 14.625em;
    background: var(--primary);
    border-radius: 0 6.25em 0 6.25em;
    opacity: 1;
    position: absolute;
    display: block;
    bottom: 0;
    left: 28.6875em;
  }
  #sbs-r-869 .cs-left-img {
    width: 27.4375em;
    height: 35em;
    border-radius: 12.5em 0 12.5em 0;
    /* clips img corners */
    overflow: hidden;
    display: block;
  }
  #sbs-r-869 .cs-left-img img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
    /* flips it horizontally the opposite of the parent. This way images have the same orientation as the source image */
    transform: scaleX(-1);
  }
  #sbs-r-869 .cs-right-img {
    width: 27.4375em;
    height: 35em;
    border-radius: 0 12.5em 0 12.5em;
    /* clips img corners */
    overflow: hidden;
    display: block;
    transform: translateY(6.25em);
  }
  #sbs-r-869 .cs-right-img img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    /* flips it horizontally the opposite of the parent. This way images have the same orientation as the source image */
    transform: scaleX(-1);
  }
}
/* Small Desktop - 1024px */
@media only screen and (min-width: 64rem) {
  #sbs-r-869 .cs-container {
    max-width: 80rem;
    flex-direction: row;
    justify-content: space-between;
  }
  #sbs-r-869 .cs-image-group {
    font-size: min(0.8vw, 1em);
    /* prevents flexbox from squishing it */
    flex: none;
    order: 2;
  }
}
/* Large Desktop 1500px */
@media only screen and (min-width: 93.75rem) {
  #sbs-r-869 .cs-container {
    justify-content: flex-end;
  }
  #sbs-r-869 .cs-image-group {
    font-size: inherit;
    /* The cs-image-group is actually REALLY big. It's so big, the design has it overlapping the normal 1280px container by 220px.  This is just a design choice that "breaks" the container and creates a more dynamic design and website. */
    transform: translateX(13.75rem);
  }
  #sbs-r-869 .cs-content {
    /* we absolutely position the cs-content so the cs-image-group can remain position relative and dictate the height of the section. Since the cs-content is smaller in height, if it remained relative then the height of the container would only be as tall as the .cs-content and the absolutely positioned cs-image-group would overlap into the top and bottom neiboring sections. */
    flex: none;
    position: absolute;
    top: 50%;
    left: 0;
    transform: translateY(-50%);
  }
}
/*-- -------------------------- -->
<---           Steps            -->
<--- -------------------------- -*/
/* Mobile - 360px */
@media only screen and (min-width: 0rem) {
  #steps-1675 {
    padding: var(--sectionPadding);
    padding-left: 0;
    padding-right: 0;
  }
  #steps-1675 .cs-container {
    width: 100%;
    /* changes to 1920px at tablet */
    max-width: 36.5rem;
    margin: auto;
    display: flex;
    flex-direction: column;
    align-items: center;
    /* 48px - 64px */
    gap: clamp(3rem, 6vw, 4rem);
  }
  #steps-1675 .cs-content {
    /* set text align to left if content needs to be left aligned */
    text-align: center;
    width: 100%;
    padding: 0 1rem;
    display: flex;
    flex-direction: column;
    /* centers content horizontally, set to flex-start to left align */
    align-items: center;
  }
  #steps-1675 .cs-text {
    /* Override.  cs-topper cs-title and first cs-text should be removed and put into your global css sheet so it can control every instance of them on your site and is consistent. This selector is a section specific override that stays inside this stitch */
    max-width: 32.625rem;
  }
  #steps-1675 .cs-card-group {
    margin: 0;
    padding: 0;
    display: grid;
    justify-items: center;
    align-items: stretch;
    grid-auto-flow: row;
  }
  #steps-1675 .cs-item {
    list-style: none;
    /* prevents padding and border from affecting height and width */
    box-sizing: border-box;
    padding: 1.5rem;
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    position: relative;
    /* bottom border */
  }
  #steps-1675 .cs-item::after {
    content: "";
    width: 100%;
    height: 1px;
    /* to change the color of the bottom border, adjust the second color (at 50%). the first and third will blend the color to transparent */
    /* note you'll also have to change the color in the tablet media query when the lines go vertical */
    background: linear-gradient(90deg, rgba(255, 255, 255, 0) 0%, #bababa 50%, rgba(255, 255, 255, 0) 100%);
    opacity: 0.6;
    position: absolute;
    bottom: 0;
    left: 0;
  }
  #steps-1675 .cs-item:first-of-type {
    padding-top: 0;
  }
  #steps-1675 .cs-item:last-of-type {
    padding-bottom: 0;
  }
  #steps-1675 .cs-item:last-of-type::after {
    content: none;
  }
  #steps-1675 .cs-number {
    /* 80px - 100px */
    font-size: clamp(5rem, 1vw, 6.25rem);
    font-weight: 900;
    line-height: 1.2em;
    color: var(--primary);
    opacity: 0.12;
    display: block;
  }
  #steps-1675 .cs-h3 {
    /* 20px - 25px */
    font-size: clamp(1.25rem, 2vw, 1.5625rem);
    font-weight: 700;
    line-height: 1.2em;
    margin: -1.9375rem 0 1rem 0;
    color: var(--headerColor);
  }
  #steps-1675 .cs-item-text {
    /* 14px - 16px */
    font-size: clamp(0.875rem, 2vw, 1rem);
    line-height: 1.5em;
    text-align: left;
    margin: 0;
    color: var(--bodyTextColor);
  }
}
/* Tablet - 768px */
@media only screen and (min-width: 48rem) {
  #steps-1675 .cs-container {
    max-width: 120rem;
  }
  #steps-1675 .cs-card-group {
    grid-template-columns: repeat(4, 1fr);
    gap: 0;
  }
  #steps-1675 .cs-item {
    /* 24px - 60px */
    padding: clamp(1.5rem, 3vw, 3.75rem);
    /* the specificity of the mobile .cs-item means we need to explicitly define the first and last items here, too */
  }
  #steps-1675 .cs-item::after {
    width: 1px;
    height: 100%;
    background: linear-gradient(0deg, rgba(255, 255, 255, 0) 0%, #bababa 50%, rgba(255, 255, 255, 0) 100%);
    opacity: 0.6;
    right: 0;
    left: initial;
  }
  #steps-1675 .cs-item:first-of-type,
  #steps-1675 .cs-item:last-of-type {
    /* 24px - 60px */
    padding: clamp(1.5rem, 3vw, 3.75rem);
  }
}
/*-- -------------------------- -->
<---            FAQ             -->
<--- -------------------------- -*/
/* Mobile - 360px */
@media only screen and (min-width: 0em) {
  #faq-254 {
    padding: var(--sectionPadding);
    background: #fafbfc;
  }
  #faq-254 .cs-container {
    width: 100%;
    /* changes to 1280px at tablet */
    max-width: 34.375rem;
    margin: auto;
    display: flex;
    flex-direction: column;
    align-items: center;
    /* 48px - 64px */
    gap: clamp(3rem, 6vw, 4rem);
  }
  #faq-254 .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;
  }
  #faq-254 .cs-faq-group {
    padding: 0;
    margin: 0;
    margin-bottom: 3rem;
  }
  #faq-254 .cs-faq-item {
    list-style: none;
    border-bottom: 1px solid #dad9e3;
    transition: border-bottom 0.3s;
  }
  #faq-254 .cs-faq-item.active {
    border-bottom: 1px solid var(--primary);
  }
  #faq-254 .cs-faq-item.active .cs-button:before {
    transform: rotate(180deg);
  }
  #faq-254 .cs-faq-item.active .cs-button:after {
    opacity: 0;
    transform: rotate(360deg);
  }
  #faq-254 .cs-faq-item.active .cs-item-p {
    height: auto;
    /* 12px - 16px */
    margin-bottom: clamp(0.75rem, 1.3vw, 1rem);
    opacity: 1;
  }
  #faq-254 .cs-button {
    /* 16px - 20px */
    font-size: clamp(1rem, 2vw, 1.25rem);
    line-height: 1.2em;
    text-align: left;
    font-weight: bold;
    /* 12px - 16px */
    padding: clamp(0.75rem, 1.3vw, 1rem) 0;
    background: transparent;
    border: none;
    color: var(--headerColor);
    display: block;
    width: 100%;
    position: relative;
  }
  #faq-254 .cs-button:hover {
    cursor: pointer;
  }
  #faq-254 .cs-button:before {
    /* plus sign */
    content: "";
    width: 0.75rem;
    height: 0.125rem;
    background: var(--headerColor);
    opacity: 1;
    position: absolute;
    display: block;
    top: 50%;
    right: 0.25rem;
    transition: transform 0.3s;
  }
  #faq-254 .cs-button:after {
    /* plus sign */
    content: "";
    width: 0.75rem;
    height: 0.125rem;
    background: var(--headerColor);
    opacity: 1;
    position: absolute;
    display: block;
    top: 50%;
    right: 0.25rem;
    transform: rotate(90deg);
    transform-origin: center;
    transition: opacity 0.5s, transform 0.3s;
  }
  #faq-254 .cs-item-p {
    /* 14px - 16px */
    font-size: clamp(0.875rem, 1.5vw, 1rem);
    line-height: 1.5em;
    width: 90%;
    height: 0;
    margin: 0;
    opacity: 0;
    color: var(--bodyTextColor);
    /* clips the text so it doesn't show up */
    overflow: hidden;
    transition: opacity 0.3s, margin-bottom 0.3s;
  }
  #faq-254 .cs-cta {
    text-align: center;
    /* 48px - 64px top & bottom */
    /* 40px - 56px left & right */
    padding: clamp(3rem, 4.9vw, 4rem) clamp(2.5rem, 4vw, 3.5rem);
    background: var(--primaryLight);
    border-radius: 1rem;
    /* prevents padding from adding to width and height */
    box-sizing: border-box;
  }
  #faq-254 .cs-h3 {
    /* 25px - 31px */
    font-size: clamp(1.5625rem, 3vw, 1.9375rem);
    line-height: 1.2em;
    font-weight: bold;
    text-align: center;
    margin: 0;
    margin-bottom: 1rem;
    color: var(--headerColor);
  }
  #faq-254 .cs-cta-p {
    /* 16px - 20px */
    font-size: clamp(1rem, 2vw, 1.25rem);
    text-align: center;
    line-height: 1.5em;
    margin: 0;
    /* 32px - 48px */
    margin-bottom: clamp(2rem, 3.9vw, 3rem);
  }
  #faq-254 .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;
  }
  #faq-254 .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;
  }
  #faq-254 .cs-button-solid:hover:before {
    width: 100%;
  }
}
/* Tablet - 768px */
@media only screen and (min-width: 48em) {
  #faq-254 .cs-container {
    max-width: 67.5rem;
  }
  #faq-254 .cs-flex-group {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    /* 16px - 48px */
    gap: clamp(1rem, 3.5vw, 3rem);
  }
  #faq-254 .cs-faq-group {
    margin: 0;
  }
  #faq-254 .cs-cta {
    width: 38.5%;
    max-width: 25.8125rem;
    /* prevents flexbox from squishing it */
    flex: none;
  }
}
/*-- -------------------------- -->
<---          Pricing           -->
<--- -------------------------- -*/
/* Mobile - 360px */
@media only screen and (min-width: 0rem) {
  #pricing-1183 {
    padding: clamp(9rem, 25.95vw, 18.75rem) 1rem 0;
  }
  #pricing-1183 .cs-container {
    width: 100%;
    /* changes to 1280px at tablet */
    max-width: 34.375rem;
    margin: auto;
    display: flex;
    flex-direction: column;
    align-items: center;
    /* 48px - 64px */
    gap: clamp(3rem, 6vw, 4rem);
    position: relative;
  }
  #pricing-1183 .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;
  }
  #pricing-1183 .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: 13.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;
  }
  #pricing-1183 .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;
  }
  #pricing-1183 .cs-button-solid:hover:before {
    width: 100%;
  }
  #pricing-1183 .cs-card-group {
    width: 100%;
    margin: 0;
    padding: 0;
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    /* 16px - 20px */
    gap: clamp(1rem, 1.8vw, 1.25rem);
    /* prevents flexbox from squishing it */
    flex: none;
  }
  #pricing-1183 .cs-item {
    list-style: none;
    width: 100%;
    margin: 0;
    /* 24px - 40px top & Bottom */
    /* 16px - 32px left & right */
    padding: clamp(1.5rem, 3vw, 2.5rem) 1.5rem;
    background-color: #f7f7f7;
    /* prevents padding and border from affecting height and width */
    box-sizing: border-box;
    display: flex;
    flex-direction: column;
    align-items: stretch;
  }
  #pricing-1183 .cs-package {
    /* 13px - 16px */
    font-size: clamp(0.8125rem, 1.4vw, 1rem);
    line-height: 1.2em;
    letter-spacing: 0.1em;
    text-align: center;
    text-transform: uppercase;
    font-weight: 700;
    margin: 0 0 0.5rem 0;
    color: #767676;
    display: block;
  }
  #pricing-1183 .cs-price {
    /* 31px - 49px */
    font-size: var(--headerFontSize);
    line-height: 1.2em;
    text-align: center;
    font-weight: 900;
    margin: 0;
    color: var(--headerColor);
  }
  #pricing-1183 .cs-ul {
    /* 20px - 25px */
    margin: clamp(1.25rem, 3vw, 1.5rem) 0 0 0;
    padding: clamp(1.25rem, 3vw, 1.5rem) 0 0 0;
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 0.75rem;
    position: relative;
  }
  #pricing-1183 .cs-ul:before {
    /* divider Line */
    content: "";
    width: 100%;
    height: 1px;
    background: linear-gradient(90deg, rgba(232, 232, 232, 0.2) 0%, #e8e8e8 53.78%, rgba(232, 232, 232, 0.2) 100%);
    opacity: 1;
    position: absolute;
    display: block;
    top: 0;
    left: 0;
  }
  #pricing-1183 .cs-li {
    /* 14px - 16px */
    font-size: clamp(0.875rem, 1.5vw, 1rem);
    list-style: none;
    line-height: 1.5em;
    width: 100%;
    margin: 0;
    padding: 0;
    color: var(--bodyTextColor);
    display: flex;
    justify-content: space-between;
    /* push everything to the top so if the li goes to two lines the icon stays at the top */
    align-items: flex-start;
    gap: 1rem;
  }
  #pricing-1183 .cs-li.cs-disabled {
    opacity: 0.5;
  }
  #pricing-1183 .cs-li.cs-disabled .cs-icon {
    filter: grayscale(1) brightness(300%);
  }
  #pricing-1183 .cs-icon {
    width: 1.125rem;
    height: auto;
    display: block;
  }
}
/* Tablet - 768px */
@media only screen and (min-width: 48rem) {
  #pricing-1183 .cs-container {
    max-width: 80rem;
  }
  #pricing-1183 .cs-card-group {
    flex-direction: row;
    justify-content: center;
    align-items: stretch;
    flex-wrap: nowrap;
  }
}
/*-- -------------------------- -->
<---          Contact           -->
<--- -------------------------- -*/
/* Mobile - 360px */
@media only screen and (min-width: 0rem) {
  #cs-contact-490 {
    padding: var(--sectionPadding);
  }
  #cs-contact-490 .cs-container {
    width: 100%;
    /* changes to 1280px at desktop */
    max-width: 34.375rem;
    margin: auto;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: flex-start;
    gap: 3rem;
  }
  #cs-contact-490 .cs-content {
    max-width: 32.625rem;
    text-align: left;
  }
  #cs-contact-490 .cs-text {
    /* 16px - 48px */
    margin: 0 0 clamp(1rem, 4.4vw, 3rem) 0;
  }
  #cs-contact-490 .cs-header {
    /* 13px - 16px */
    font-size: clamp(0.8125rem, 1.5vw, 1rem);
    line-height: 1.2em;
    text-transform: uppercase;
    font-weight: 700;
    letter-spacing: 0.1em;
    margin: 0 0 1rem 0;
    color: #b4b2c7;
    display: block;
  }
  #cs-contact-490 .cs-link {
    /* 16px - 20px */
    font-size: clamp(1rem, 2vw, 1.25rem);
    text-decoration: none;
    line-height: 1.5em;
    font-weight: 700;
    /* 16px - 32px */
    margin: 0 0 clamp(1rem, 2.5vw, 2rem);
    color: var(--headerColor);
    display: block;
  }
  #cs-contact-490 .cs-link:hover {
    text-decoration: underline;
  }
  #cs-contact-490 .cs-link:last-of-type {
    margin-bottom: 0;
  }
  #cs-contact-490 .cs-social {
    /* 32px - 80px */
    margin-top: clamp(2rem, 6vw, 5rem);
    display: inline-flex;
    justify-content: flex-start;
    gap: 0.75em;
  }
  #cs-contact-490 .cs-social-link {
    /* 32px - 52px */
    width: clamp(2rem, 4vw, 3.25rem);
    height: clamp(2rem, 4vw, 3.25rem);
    background-color: #4e4b66;
    border-radius: 50%;
    display: flex;
    justify-content: center;
    align-items: center;
    position: relative;
    z-index: 1;
    transition: transform 0.3s, background-color 0.3s;
  }
  #cs-contact-490 .cs-social-link:hover {
    background-color: var(--primary);
    transform: translateY(-0.1875rem);
  }
  #cs-contact-490 .cs-social-img {
    /* 14px - 24px */
    height: clamp(0.875rem, 2vw, 1.5rem);
    width: auto;
    display: block;
  }
  #cs-contact-490 #cs-form-490 {
    width: 100%;
    max-width: 40.625rem;
    /* 32px - 40px */
    margin-bottom: clamp(2rem, 5.3vw, 2.5rem);
    /* 20px - 40px */
    padding: clamp(1.25rem, 4.5vw, 2.5rem);
    /* prevents padding from affecting width and height */
    box-sizing: border-box;
    border: 1px solid #dad9e3;
    border-radius: 1rem;
  }
  #cs-contact-490 .cs-label {
    /* 14px - 16px */
    font-size: clamp(0.875rem, 1.3vw, 1rem);
    line-height: 1.5em;
    font-weight: 700;
    /* 16px - 20px */
    margin-bottom: clamp(1rem, 1em, 1.25rem);
    color: var(--headerColor);
    display: flex;
    justify-content: center;
    align-items: flex-start;
    flex-direction: column;
  }
  #cs-contact-490 .cs-label-message {
    /* 32px - 40px */
    margin-bottom: clamp(2rem, 4.5vw, 2.5rem);
  }
  #cs-contact-490 .cs-input,
  #cs-contact-490 textarea {
    font-size: 1rem;
    width: 100%;
    height: 4rem;
    margin-top: 0.25rem;
    padding-left: 1.25rem;
    /* set transparent border so on hover border doesn't make it glitch */
    border: 1px solid transparent;
    border-bottom: 1px solid #b4b2c7;
    /* prevents border & padding from affecting height */
    box-sizing: border-box;
    transition: border 0.3s;
  }
  #cs-contact-490 .cs-input:hover,
  #cs-contact-490 textarea:hover {
    border: 1px solid var(--primary);
  }
  #cs-contact-490 .cs-input::placeholder,
  #cs-contact-490 textarea::placeholder {
    color: #7d799c;
  }
  #cs-contact-490 textarea {
    font-family: inherit;
    margin: 0;
    padding-top: 1.25rem;
    min-height: 7.5rem;
  }
  #cs-contact-490 .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: auto;
    width: 100%;
    color: #fff;
    padding: 0 1.5rem;
    background-color: var(--primary);
    border: none;
    border-radius: 0.5rem;
    display: inline-block;
    position: relative;
    z-index: 1;
    /* prevents padding from adding to the width */
    box-sizing: border-box;
  }
  #cs-contact-490 .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.5rem;
    transition: width 0.3s;
  }
  #cs-contact-490 .cs-button-solid:hover {
    cursor: pointer;
  }
  #cs-contact-490 .cs-button-solid:hover:before {
    width: 100%;
  }
}
/* Tablet - 700px */
@media only screen and (min-width: 43.75rem) {
  #cs-contact-490 .cs-container {
    max-width: 80rem;
    flex-direction: row;
    justify-content: space-between;
  }
  #cs-contact-490 .cs-content {
    width: 40%;
    /* pushes it to the right */
    order: 2;
    flex: none;
  }
  #cs-contact-490 #cs-form-490 {
    margin: 0;
  }
}
/*-- -------------------------- -->
<---          Footer            -->
<--- -------------------------- -*/
/* Mobile - 360px */
@media only screen and (min-width: 0rem) {
  #cs-footer-272 {
    padding: var(--sectionPadding);
    /* Navigation Links */
    /* Contact Links */
  }
  #cs-footer-272 .cs-container {
    width: 100%;
    /* reset on tablet */
    max-width: 34.375rem;
    margin: auto;
    display: flex;
    justify-content: flex-start;
    align-items: flex-start;
    flex-wrap: wrap;
    column-gap: 5.5rem;
    row-gap: 2rem;
  }
  #cs-footer-272 .cs-logo-group {
    /* takes up all the space, lets the other ul's wrap below it */
    width: 100%;
    position: relative;
  }
  #cs-footer-272 .cs-logo {
    /* 210px - 240px */
    width: clamp(13.125rem, 8vw, 15rem);
    height: auto;
    display: block;
    /* 28px - 44px */
    margin-bottom: clamp(1.75rem, 4.17vw, 2.75rem);
  }
  #cs-footer-272 .cs-logo-img {
    width: 100%;
    height: auto;
  }
  #cs-footer-272 .cs-logo-img.dark {
    display: none;
  }
  #cs-footer-272 .cs-text {
    /* 14px - 16px */
    font-size: clamp(0.875rem, 2.5vw, 1rem);
    line-height: 1.5em;
    margin: 0;
    margin-bottom: 2rem;
    width: 78%;
    /* changes to 305px at desktop */
    max-width: 33.75rem;
    color: var(--bodyTextColor);
  }
  #cs-footer-272 .cs-social {
    display: inline-flex;
    flex-direction: column;
    justify-content: flex-start;
    gap: 0.75rem;
    position: absolute;
    top: 0;
    right: 0;
  }
  #cs-footer-272 .cs-social-link {
    width: 1.5rem;
    height: 1.5rem;
    background-color: #4e4b66;
    border-radius: 50%;
    display: flex;
    justify-content: center;
    align-items: center;
    position: relative;
    z-index: 1;
    transition: transform 0.3s, background-color 0.3s;
  }
  #cs-footer-272 .cs-social-link:hover {
    background-color: #1a1a1a;
    transform: translateY(-0.1875rem);
  }
  #cs-footer-272 .cs-social-img {
    height: 0.8125rem;
    width: auto;
    display: block;
  }
  #cs-footer-272 .cs-nav {
    padding: 0;
    margin: 0;
  }
  #cs-footer-272 .cs-nav-li {
    list-style: none;
    margin-bottom: 1rem;
  }
  #cs-footer-272 .cs-nav-li:last-of-type {
    margin-bottom: 0;
  }
  #cs-footer-272 .cs-header {
    font-size: 1rem;
    line-height: 1.5em;
    font-weight: 700;
    color: var(--bodyTextColor);
    position: relative;
  }
  #cs-footer-272 .cs-header:after {
    content: "";
    width: 2rem;
    height: 0.25rem;
    margin: 1rem auto 1.5rem 0;
    background: var(--primary);
    opacity: 1;
    position: relative;
    display: block;
  }
  #cs-footer-272 .cs-nav-link {
    font-size: 1rem;
    text-decoration: none;
    line-height: 1.5em;
    color: var(--bodyTextColor);
    position: relative;
  }
  #cs-footer-272 .cs-nav-link:before {
    /* underline */
    content: "";
    width: 0%;
    height: 0.125rem;
    background: var(--bodyTextColor);
    opacity: 1;
    position: absolute;
    display: block;
    bottom: -0.125rem;
    left: 0;
    transition: width 0.3s;
  }
  #cs-footer-272 .cs-nav-link:hover:before {
    width: 100%;
  }
  #cs-footer-272 .cs-contact {
    margin: 0;
    padding: 0;
    width: 35%;
  }
  #cs-footer-272 .cs-contact-li {
    list-style: none;
    margin-bottom: 0rem;
  }
  #cs-footer-272 .cs-contact-li:last-of-type {
    margin-bottom: 0;
  }
  #cs-footer-272 .cs-contact-link {
    font-size: 1rem;
    text-decoration: none;
    line-height: 1.5em;
    text-align: left;
    color: var(--bodyTextColor);
    display: inline-block;
  }
  #cs-footer-272 .cs-contact-link:hover {
    text-decoration: underline;
  }
  #cs-footer-272 .cs-address {
    font-size: 1rem;
    margin-bottom: 1.25rem;
  }
}
/* Tablet - 768px */
@media only screen and (min-width: 48rem) {
  #cs-footer-272 .cs-container {
    max-width: 80rem;
    row-gap: 0;
  }
  #cs-footer-272 .cs-contact {
    flex-direction: row;
    justify-content: space-between;
    border-top: none;
  }
  #cs-footer-272 .cs-contact-li {
    margin: 0;
  }
}
/* Small Desktop - 1024px */
@media only screen and (min-width: 64rem) {
  #cs-footer-272 .cs-container {
    /* pushes all flex children to the top */
    align-items: flex-start;
    justify-content: flex-end;
  }
  #cs-footer-272 .cs-logo-group {
    /* pushes everything to the right of it as far as possible in a flexbox */
    margin-right: auto;
    width: auto;
    max-width: 19.0625rem;
  }
  #cs-footer-272 .cs-text {
    width: 100%;
  }
  #cs-footer-272 .cs-social {
    flex-direction: row;
    position: relative;
    top: auto;
    right: auto;
  }
  #cs-footer-272 .cs-contact {
    width: auto;
  }
}
/*-- -------------------------- -->
<---          Gallery           -->
<--- -------------------------- -*/
/* Mobile - 360px */
@media only screen and (min-width: 0rem) {
  #gallery-379 {
    padding: var(--sectionPadding);
  }
  #gallery-379 .cs-container {
    width: 100%;
    max-width: 59.6875rem;
    margin: auto;
    display: flex;
    flex-direction: column;
    align-items: center;
    padding-top: 6rem;
    /* 48px - 64px */
    gap: clamp(3rem, 6vw, 4rem);
  }
  #gallery-379 .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-379 .cs-gallery {
    width: 100%;
    padding: 0;
    margin: 0;
    display: flex;
    justify-content: center;
    align-items: center;
    flex-wrap: wrap;
    /* 16px - 20px */
    gap: clamp(1rem, 1.5vw, 1.25rem);
  }
  #gallery-379 .cs-image {
    border-radius: 1.25rem;
    width: 46%;
    /* 150px - 300px */
    height: clamp(9.375rem, 39vw, 18.75rem);
    max-width: 21.875rem;
    /* clips the image corners */
    overflow: hidden;
    display: block;
    position: relative;
  }
  #gallery-379 .cs-image img {
    position: absolute;
    top: 0;
    left: 0;
    height: 100%;
    width: 100%;
    /* makes it act like a background image */
    object-fit: cover;
  }
  #gallery-379 .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;
  }
  #gallery-379 .cs-button-solid:hover {
    background-color: #000;
    color: #fff;
  }
}
/* Small Desktop - 1024px */
@media only screen and (min-width: 64rem) {
  #gallery-379 .cs-image {
    width: 32.8%;
    max-width: 19.0625rem;
    /* 300px - 400px */
    height: clamp(18.75rem, 30vw, 25rem);
    aspect-ratio: 1;
  }
}
/*-- -------------------------- -->
<---       Side By Side         -->
<--- -------------------------- -*/
/* Mobile - 360px */
@media only screen and (min-width: 0rem) {
  #sbs-578 .cs-container {
    width: 100%;
    max-width: 80rem;
    margin: auto;
    padding-top: 6rem;
    display: flex;
    flex-direction: column;
    align-items: center;
    /* 48px - 64px */
    gap: clamp(3rem, 7vw, 4rem);
  }
  #sbs-578 .cs-content {
    /* set text align to left if content needs to be left aligned */
    text-align: left;
    /* moved section padding to the .cs-content so we can have the cs-picture be full width on mobile without the padding preventing it from doing so */
    padding: var(--sectionPadding);
    padding-top: 0;
    /* prevents padding from affecting width and height */
    box-sizing: border-box;
    display: flex;
    flex-direction: column;
    /* centers content horizontally, set to flex-start to left align */
    align-items: flex-start;
  }
  #sbs-578 .cs-text {
    margin-bottom: 1rem;
  }
  #sbs-578 .cs-text:last-of-type {
    margin-bottom: 2rem;
  }
  #sbs-578 .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;
  }
  #sbs-578 .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;
  }
  #sbs-578 .cs-button-solid:hover:before {
    width: 100%;
  }
  #sbs-578 .cs-picture {
    display: block;
    position: relative;
    width: 100%;
    height: 18.75rem;
  }
  #sbs-578 .cs-picture img {
    position: absolute;
    top: 0;
    left: 0;
    height: 100%;
    width: 100%;
    object-fit: cover;
  }
}
/* Tablet - 768px */
@media only screen and (min-width: 48rem) {
  #sbs-578 {
    padding: var(--sectionPadding);
  }
  #sbs-578 .cs-container {
    flex-direction: row;
    justify-content: flex-start;
    /* 60px - 128px */
    gap: clamp(3.75rem, 10vw, 8rem);
  }
  #sbs-578 .cs-content {
    width: 53%;
    /* reset the padding, add the section padding back to the section container */
    padding: 0;
  }
}
/*-- -------------------------- -->
<---   Side By Side Reverse     -->
<--- -------------------------- -*/
/* Mobile - 360px */
@media only screen and (min-width: 0rem) {
  #sbsr-1076 {
    padding: clamp(9rem, 25.95vw, 18.75rem) 1rem 0;
  }
  #sbsr-1076 .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);
  }
  #sbsr-1076 .cs-content {
    /* set text align to left if content needs to be left aligned */
    text-align: left;
    width: 100%;
    /* changes to 433px at desktop */
    max-width: 33.875rem;
    display: flex;
    flex-direction: column;
    /* centers content horizontally, set to flex-start to left align */
    align-items: flex-start;
  }
  #sbsr-1076 .cs-text {
    margin-bottom: 1rem;
  }
  #sbsr-1076 .cs-text:last-of-type {
    margin-bottom: 2rem;
  }
  #sbsr-1076 .cs-list {
    max-width: 39.375rem;
    margin: 0 0 2rem 0;
    padding: 0;
    /* clips the bullets to create the half circle */
    overflow: hidden;
  }
  #sbsr-1076 .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;
  }
  #sbsr-1076 .cs-li:before {
    /* bullet */
    content: "";
    width: 1rem;
    height: 1rem;
    margin-top: 0.1875rem;
    /* make it overflow the parent by half it's width to make an eclipse */
    margin-left: -0.5rem;
    background: var(--secondary);
    border-radius: 50%;
    display: block;
    /* prevents flexbox from squishing it */
    flex: none;
  }
  #sbsr-1076 .cs-link {
    text-decoration: none;
    display: flex;
    justify-content: flex-start;
    align-items: center;
    gap: 0.75rem;
    position: relative;
  }
  #sbsr-1076 .cs-link:hover .cs-wrapper {
    transform: scale(1.1);
  }
  #sbsr-1076 .cs-wrapper {
    width: 3.5rem;
    height: 3.5rem;
    background-color: var(--primary);
    border-radius: 50%;
    display: flex;
    justify-content: center;
    align-items: center;
    /* prevents flexbox from squishing it */
    flex: none;
    transition: transform 0.3s;
  }
  #sbsr-1076 .cs-icon {
    width: 1.5rem;
    height: auto;
    display: block;
    transition: transform 0.3s;
  }
  #sbsr-1076 .cs-info {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 0.25rem;
  }
  #sbsr-1076 .cs-header {
    font-size: 0.875rem;
    line-height: 1.5em;
    margin: 0;
    color: var(--bodyTextColor);
    display: block;
  }
  #sbsr-1076 .cs-link-content {
    /* 20px - 25px */
    font-size: clamp(1.25rem, 4vw, 1.5625rem);
    line-height: 1.2em;
    font-weight: 700;
    margin: 0;
    color: var(--headerColor);
    display: block;
  }
  #sbsr-1076 .cs-image-group {
    /* scales the whole group based on the view width size and stop when that vales equals .745em, resets at desktop */
    font-size: min(1.959vw, 0.745em);
    width: 46.125em;
    height: 41.375em;
    display: block;
    position: relative;
    z-index: 1;
  }
  #sbsr-1076 .cs-picture {
    position: absolute;
  }
  #sbsr-1076 .cs-picture img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    position: absolute;
    top: 0;
    left: 0;
  }
  #sbsr-1076 .cs-picture1 {
    width: 13.6875em;
    height: 27.5em;
    top: 6.375em;
    right: 0;
    z-index: -1;
  }
  #sbsr-1076 .cs-picture2 {
    width: 19.1875em;
    height: 37.5em;
    bottom: 0;
    right: 13.5625em;
    z-index: 10;
  }
  #sbsr-1076 .cs-picture3 {
    width: 13.625em;
    height: 27.5em;
    top: 11.375em;
    left: 0;
    z-index: -1;
  }
  #sbsr-1076 .cs-stripes {
    width: 36.125em;
    height: auto;
    display: block;
    position: absolute;
    top: 0em;
    right: 4.5em;
    z-index: -2;
  }
  #sbsr-1076 .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;
  }
  #sbsr-1076 .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;
  }
  #sbsr-1076 .cs-button-solid:hover:before {
    width: 100%;
  }
}
/* Small Desktop - 1024px */
@media only screen and (min-width: 64rem) {
  #sbsr-1076 .cs-container {
    max-width: 80rem;
    flex-direction: row;
    justify-content: space-between;
    align-items: center;
  }
  #sbsr-1076 .cs-content {
    max-width: 27.0625rem;
  }
  #sbsr-1076 .cs-image-group {
    font-size: min(1.2vw, 1em);
    flex: none;
    /* sends it to the right in the 2nd position */
    order: 2;
  }
}

/*# sourceMappingURL=main.css.map */
