: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: #031931;
  --primaryLight: #dfe0e2;
  --secondary: #75abbc;
  --secondaryLight: #a2aebb;
  --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: 1.1rem;
  /* 60px - 100px top and bottom */
  --sectionPadding: clamp(3.75rem, 7.82vw, 6.25rem) 1rem;
}

body {
  margin: 0;
  padding: 0;
}

*, *:before, *:after {
  /* prevents padding from affecting height and width */
  box-sizing: border-box;
}

body.dark-mode .cs-button-solid {
  background-color: var(--secondaryLight);
  color: #1a1a1a;
}
body.dark-mode .cs-button-solid:before {
  background-color: #fff;
}
.cs-button-solid {
  font-size: 1rem;
  /* 46px - 56px */
  line-height: clamp(2.875rem, 5.5vw, 3.5rem);
  text-decoration: none;
  font-weight: 700;
  text-align: center;
  margin: 0;
  color: #fff;
  min-width: 9.375rem;
  padding: 0 1.5rem;
  background-color: var(--primary);
  border-radius: 0.25rem;
  display: inline-block;
  position: relative;
  z-index: 1;
  /* prevents padding from adding to the width */
  box-sizing: border-box;
}
.cs-button-solid:before {
  content: "";
  position: absolute;
  height: 100%;
  width: 0%;
  background: #000;
  opacity: 1;
  top: 0;
  left: 0;
  z-index: -1;
  border-radius: 0.25rem;
  transition: width 0.3s;
}
.cs-button-solid:hover:before {
  width: 100%;
}

/* Fonts */

/* Maven Pro variable font */
@font-face {
  font-display: swap; /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */
  font-family: 'Maven Pro';
  font-style: normal;
  font-weight: 400 700;
  src: local(''),
  url('/fonts/Maven_Pro/MavenPro-VariableFont_wght.ttf') format('truetype');
}
                            
.cs-topper {
    font-family: 'Maven Pro', 'Arial', sans-serif;
    font-size: var(--topperFontSize);
    line-height: 1.2em;
    text-transform: uppercase;
    text-align: inherit;
    letter-spacing: .1em;
    font-weight: 700;
    color: var(--primaryLight);
    margin-bottom: 0.25rem;
    display: block;
}

.cs-title {
    font-family: 'Maven Pro', 'Arial', sans-serif;
    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-family: 'Maven Pro', 'Arial', sans-serif;
    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: 63.9375rem) {
  body.cs-open {
    overflow: hidden;
  }
  body.scroll #cs-navigation {
    width: 100%;
    max-width: 100%;
    top: 0;
  }
  body.scroll #cs-navigation:before {
    border-radius: 0;
  }
  body.scroll #cs-navigation .cs-ul-wrapper {
    top: 100%;
  }
  #cs-navigation {
    width: 94%;
    max-width: 80rem;
    /* prevents padding from affecting height and width */
    box-sizing: border-box;
    /* 12px - 24px */
    padding: clamp(0.75rem, 2vw, 1.5rem);
    /* 12px - 24px */
    border-radius: clamp(0.75rem, 2vw, 1.5rem);
    position: fixed;
    top: 2rem;
    left: 50%;
    z-index: 10000;
    transform: translateX(-50%);
    transition: top 0.3s, border-radius 0.3s, width 0.3s, max-width 0.3s;
  }
  #cs-navigation:before {
    /* background color */
    content: "";
    width: 100%;
    height: 100%;
    background: #fff;
    box-shadow: rgba(149, 157, 165, 0.2) 0px 8px 24px;
    opacity: 1;
    /* 12px - 24px */
    border-radius: clamp(0.75rem, 2vw, 1.5rem);
    display: block;
    position: absolute;
    top: 0;
    left: 50%;
    transform: translateX(-50%);
    transition: transform 0.2s, border-radius 0.3s ease-in-out;
  }
  #cs-navigation.cs-active:before {
    transform: translateX(-50%) scale(1.03);
  }
  #cs-navigation.cs-active .cs-toggle {
    transform: rotate(180deg);
  }
  #cs-navigation.cs-active .cs-ul-wrapper {
    transform: scaleY(1);
    transition-delay: 0.15s;
  }
  #cs-navigation.cs-active .cs-li {
    opacity: 1;
    transform: translateY(0);
  }
  #cs-navigation .cs-container {
    width: 100%;
    display: flex;
    justify-content: flex-end;
    align-items: center;
    gap: 1.5rem;
  }
  #cs-navigation .cs-logo {
    width: auto;
    max-width: 12.5rem;
    height: 100%;
    margin: 0 auto 0 0;
    /* prevents padding from affecting height and width */
    box-sizing: border-box;
    padding: 0;
    display: flex;
    justify-content: flex-start;
    align-items: center;
    z-index: 10;
  }
  #cs-navigation .cs-logo img {
    width: 100%;
    height: 100%;
    /* ensures the image never overflows the container. It stays contained within it's width and height and expands to fill it then stops once it reaches an edge */
    object-fit: contain;
  }
  #cs-navigation .cs-toggle {
    width: 3.5rem;
    height: 3.5rem;
    margin: 0 0 0 auto;
    background-color: #1a1a1a;
    border: none;
    border-radius: 0.25rem;
    display: flex;
    justify-content: center;
    align-items: center;
    position: relative;
    z-index: 10;
    transition: transform 0.6s;
  }
  #cs-navigation .cs-nav {
    /* sends it to the right in the 3rd position */
    order: 3;
  }
  #cs-navigation .cs-contact-group {
    display: none;
    position: relative;
    z-index: 10;
  }
  #cs-navigation .cs-phone {
    font-size: 1rem;
    line-height: 1.5em;
    text-decoration: none;
    margin: 0;
    color: var(--headerColor);
    display: flex;
    justify-content: flex-start;
    align-items: center;
    gap: 0.5rem;
    transition: opacity 0.3s, color 0.3s;
  }
  #cs-navigation .cs-phone-icon {
    width: 1.5rem;
    height: auto;
    display: block;
  }
  #cs-navigation .cs-social {
    display: none;
  }
  #cs-navigation .cs-active .cs-line1 {
    top: 50%;
    transform: translate(-50%, -50%) rotate(225deg);
  }
  #cs-navigation .cs-active .cs-line2 {
    top: 50%;
    transform: translate(-50%, -50%) translateY(0) rotate(-225deg);
    transform-origin: center;
  }
  #cs-navigation .cs-active .cs-line3 {
    opacity: 0;
    bottom: 100%;
  }
  #cs-navigation .cs-box {
    /* 24px - 28px */
    width: clamp(1.5rem, 2vw, 1.75rem);
    height: 1rem;
    position: relative;
  }
  #cs-navigation .cs-line {
    width: 100%;
    height: 2px;
    background-color: #fafbfc;
    border-radius: 2px;
    position: absolute;
    left: 50%;
    transform: translateX(-50%);
  }
  #cs-navigation .cs-line1 {
    top: 0;
    transition: transform 0.5s, top 0.3s, left 0.3s;
    animation-duration: 0.7s;
    animation-timing-function: ease;
    animation-direction: normal;
    animation-fill-mode: forwards;
    transform-origin: center;
  }
  #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-direction: normal;
    animation-fill-mode: forwards;
  }
  #cs-navigation .cs-line3 {
    bottom: 0;
    transition: bottom 0.3s, opacity 0.3s;
  }
  #cs-navigation .cs-ul-wrapper {
    width: 100%;
    height: auto;
    padding-bottom: 2.4em;
    background-color: #fff;
    border-radius: 0 0 1.5rem 1.5rem;
    position: absolute;
    top: 85%;
    left: 0;
    z-index: -1;
    overflow: hidden;
    transform: scaleY(0);
    transition: transform 0.4s;
    transform-origin: top;
  }
  #cs-navigation .cs-ul {
    width: 100%;
    height: auto;
    max-height: 65vh;
    margin: 0;
    padding: 4rem 0 0 0;
    display: flex;
    flex-direction: column;
    justify-content: flex-start;
    align-items: center;
    gap: 1.25rem;
    overflow: auto;
  }
  #cs-navigation .cs-li {
    text-align: center;
    list-style: none;
    width: 100%;
    margin-right: 0;
    opacity: 0;
    /* transition from these values */
    transform: translateY(-70/16rem);
    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-contact-group {
    display: block;
  }
}
/*-- -------------------------- -->
<---     Navigation Dropdown    -->
<--- -------------------------- -*/
/* Mobile - 1023px */
@media only screen and (max-width: 63.9375rem) {
  #cs-navigation .cs-li {
    font-family: 'Maven Pro', 'Arial', sans-serif;
    text-align: center;
    width: 100%;
    display: block;
  }
  #cs-navigation .cs-dropdown {
    color: var(--bodyTextColorWhite);
    position: relative;
  }
  #cs-navigation .cs-dropdown.cs-active .cs-drop-ul {
    height: auto;
    margin: 0.75rem 0 0 0;
    padding: 0.75rem 0;
    opacity: 1;
    visibility: visible;
  }
  #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);
    opacity: 0;
    display: flex;
    visibility: hidden;
    flex-direction: column;
    justify-content: flex-start;
    align-items: center;
    gap: 0.75rem;
    overflow: hidden;
    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 {
    opacity: 1;
    visibility: visible;
    transform: scaleY(1);
  }
  #cs-navigation .cs-dropdown:hover .cs-drop-li {
    opacity: 1;
    transform: translateY(0);
  }
  #cs-navigation .cs-drop-icon {
    width: 0.9375rem;
    height: auto;
    display: inline-block;
  }
  #cs-navigation .cs-drop-ul {
    min-width: 12.5rem;
    margin: 0;
    padding: 0;
    background-color: #fff;
    box-shadow: inset rgba(149, 157, 165, 0.1) 0px 8px 10px;
    opacity: 0;
    border-bottom: 5px solid var(--primary);
    border-radius: 0 0 1.5rem 1.5rem;
    visibility: hidden;
    /* 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;
    overflow: hidden;
    transform: scaleY(0);
    transition: transform 0.3s, visibility 0.3s, opacity 0.3s;
    transform-origin: top;
  }
  #cs-navigation .cs-drop-li {
    font-size: 1rem;
    text-decoration: none;
    list-style: none;
    width: 100%;
    height: auto;
    opacity: 0;
    display: block;
    transform: translateY(-0.625rem);
    transition: opacity 0.6s, transform 0.6s;
  }
  #cs-navigation .cs-drop-li:nth-of-type(1) {
    transition-delay: 0.05s;
  }
  #cs-navigation .cs-drop-li:nth-of-type(2) {
    transition-delay: 0.1s;
  }
  #cs-navigation .cs-drop-li:nth-of-type(3) {
    transition-delay: 0.15s;
  }
  #cs-navigation .cs-drop-li:nth-of-type(4) {
    transition-delay: 0.2s;
  }
  #cs-navigation .cs-drop-li:nth-of-type(5) {
    transition-delay: 0.25s;
  }
  #cs-navigation .cs-drop-li:nth-of-type(6) {
    transition-delay: 0.3s;
  }
  #cs-navigation .cs-drop-li:nth-of-type(7) {
    transition-delay: 0.35s;
  }
  #cs-navigation .cs-drop-li:nth-of-type(8) {
    transition-delay: 0.4s;
  }
  #cs-navigation .cs-drop-li:nth-of-type(9) {
    transition-delay: 0.45s;
  }
  #cs-navigation .cs-li-link.cs-drop-link {
    font-size: 1rem;
    line-height: 1.5em;
    text-transform: capitalize;
    text-decoration: none;
    white-space: nowrap;
    width: 100%;
    /* prevents padding from affecting height and width */
    box-sizing: border-box;
    padding: 0.75rem;
    color: var(--headerColor);
    display: block;
    transition: color 0.3s, background-color 0.3s;
  }
  #cs-navigation .cs-li-link.cs-drop-link:hover {
    color: var(--bodyTextColorWhite);
    background-color: var(--primary);
  }
  #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 {
    width: 100%;
    max-width: 100%;
    border-radius: 0;
    top: 0;
  }
  #cs-navigation {
    width: 94%;
    max-width: 90rem;
    height: 6rem;
    /* prevents padding from affecting height and width */
    box-sizing: border-box;
    /* 12px - 24px */
    padding: clamp(0.75rem, 2vw, 1.5rem) 0;
    background-color: #fff;
    box-shadow: rgba(149, 157, 165, 0.2) 0px 8px 24px;
    /* 12px - 24px */
    border-radius: clamp(0.75rem, 2vw, 1.5rem);
    display: flex;
    align-items: center;
    position: fixed;
    top: 2rem;
    left: 50%;
    z-index: 10000;
    transform: translateX(-50%);
    transition: top 0.3s, border-radius 0.3s, width 0.3s, max-width 0.3s;
  }
  #cs-navigation .cs-container {
    width: 100%;
    display: flex;
    justify-content: flex-end;
    align-items: center;
    padding: 0 1.5rem;
  }

  #cs-navigation .cs-toggle {
    display: none;
  }
  #cs-navigation .cs-logo {
    width: 40%;
    max-width: 9.125rem;
    height: 100%;
    /* margin-right auto pushes everything away from it to the right */
    box-sizing: border-box;
    margin: 0 auto 0 0;
    /* padding-left: 1rem; /* Adjust as needed */
    display: flex;
    justify-content: flex-start;
    align-items: center;
    z-index: 100;
  }
  #cs-navigation .cs-logo img {
    width: 100%;
    height: 100%;
    /* ensures the image never overflows the container. It stays contained within it's width and height and expands to fill it then stops once it reaches an edge */
    object-fit: contain;
  }
  #cs-navigation .cs-contact-group {
    display: flex;
    justify-content: center;
    align-items: center;
    /* padding-right: 1rem; /* Adjust as needed */
    gap: 1.5rem;
  }
  #cs-navigation .cs-phone {
    font-size: 1rem;
    line-height: 1.5em;
    text-decoration: none;
    margin: 0;
    color: var(--headerColor);
    display: flex;
    justify-content: flex-start;
    align-items: center;
    gap: 0.5rem;
    transition: opacity 0.3s, color 0.3s;
  }
  #cs-navigation .cs-phone-icon {
    width: 1.5rem;
    height: auto;
    display: block;
  }
  #cs-navigation .cs-social {
    height: 2rem;
    opacity: 1;
    display: none;
    visibility: visible;
    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;
    width: 2rem;
    height: 2rem;
    background-color: #f7f7f7;
    border-radius: 50%;
    display: flex;
    justify-content: center;
    align-items: center;
    transition: background-color 0.3s;
  }
  #cs-navigation .cs-social-link:hover {
    background-color: var(--primary);
  }
  #cs-navigation .cs-social-link:hover .cs-social-icon {
    opacity: 1;
    filter: grayscale(1) brightness(10000%);
  }
  #cs-navigation .cs-social-icon {
    width: 0.75rem;
    height: auto;
    opacity: 0.6;
    display: block;
    transition: opacity 0.3s;
  }
  #cs-navigation .cs-ul-wrapper {
    height: 100%;
    display: flex;
    align-items: center;
    /* absolutely positioned to be dead center */
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
  }
  #cs-navigation .cs-ul {
    width: 100%;
    height: 100%;
    margin: 0;
    padding: 0;
    display: flex;
    justify-content: flex-start;
    align-items: center;
    /* 20px - 36px */
    gap: clamp(1.25rem, 2.6vw, 2.25rem);
  }
  #cs-navigation .cs-li {
    font-family: 'Maven Pro', 'Arial', sans-serif;
    font-weight: 500;
    text-transform: uppercase;
    list-style: none;
    height: 100%;
    padding: 0;
    display: flex;
    align-items: center;
    /* prevent flexbox from squishing it */
    flex: none;
  }
  #cs-navigation .cs-li-link {
    font-family: 'Maven Pro', 'Arial', sans-serif;
    font-weight: 700;
    text-transform: uppercase;
    font-size: 1rem;
    line-height: 1em;
    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 {
    color: var(--primary);
  }
  #cs-navigation .cs-button-solid {
    font-family: 'Maven Pro', 'Arial', sans-serif;
    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;
    padding: 0 2rem;
    color: #fff;
    background-color: var(--primary);
    display: inline-block;
    position: relative;
    z-index: 1;
    transition: color 0.3s;
    border-radius: 50px; /* Rounded corners */
  }
  #cs-navigation .cs-button-solid:before {
    content: "";
    width: 0%;
    height: 100%;
    background: #fff;
    opacity: 1;
    position: absolute;
    top: 0;
    left: 0;
    z-index: -1;
    transition: width 0.3s;
  }
  #cs-navigation .cs-button-solid:hover {
    color: #1a1a1a;
  }
  #cs-navigation .cs-button-solid:hover:before {
    width: 100%;
  }
}
/* Large Desktop - 1300px */
@media only screen and (min-width: 81.25rem) {
  #cs-navigation .cs-social {
    display: flex;
  }
}
                                

/*-- -------------------------- -->
<---           Hero             -->
<--- -------------------------- -*/
/* Mobile - 360px */
@media only screen and (min-width: 0rem) {
  @keyframes floatAnimation {
    0% {
      transform: translateY(0);
    }
    50% {
      transform: translateY(-2rem);
    }
    100% {
      transform: translateY(0);
    }
  }
  @keyframes floatAnimation2 {
    0% {
      transform: translateY(0);
    }
    50% {
      transform: translateY(-3rem);
    }
    100% {
      transform: translateY(0);
    }
  }
  /* Base styles for the hero section */
#hero-1351 {
  position: relative;
  overflow: hidden;
  box-sizing: border-box;
  min-height: 100vh;
  padding: clamp(15.625rem, 35.95vw, 25rem) 1rem 0;
  padding-bottom: clamp(12.5rem, 16.5vw, 15.625rem);
  z-index: 1;
}

/* Animated Gradient Background */
#hero-1351::after {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: linear-gradient(-45deg, #5286ee, #6580f9, #23a6d5, #202d5c);
  background-size: 400% 400%;
  animation: gradientAnimation 15s ease infinite;
  z-index: -3;
}

/* Optional overlay for extra depth */
/* #hero-1351::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 30%;
  background: linear-gradient(to bottom, #000000 0%, rgba(0, 0, 0, 0) 100%);
  pointer-events: none;
  opacity: 1;
  z-index: -2;
}

/* Animated gradient keyframes */
@keyframes gradientAnimation {
  0% { background-position: 0% 50%; }
  50% { background-position: 100% 50%; }
  100% { background-position: 0% 50%; }
}

/* Content container styles */
#hero-1351 .cs-container {
  width: 100%;
  max-width: 80rem;
  margin: auto;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: flex-start;
}
#hero-1351 .cs-content {
  text-align: left;
  width: 100%;
  max-width: 39.375rem;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
}
#hero-1351 .cs-topper {
  font-size: 1.25rem;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.1em;
  margin-bottom: 0.5rem;
  color: #e8e8e8;
}
#hero-1351 .cs-title {
  font-size: clamp(2.4375rem, 6.4vw, 3.8125rem);
  font-weight: 700;
  line-height: 0.9em;
  margin: 0 0 1rem 0;
  color: #fff;
  max-width: 20ch;
}
#hero-1351 .cs-text {
  font-size: 1.25rem;
  line-height: 1em;
  max-width: clamp(29rem, 60vw, 38.785rem);
  margin: 0 0 2.5rem 0;
  color: #e8e8e8;
}
#hero-1351 .cs-button-solid {
  font-size: 1rem;
  font-weight: 700;
  line-height: 3.5rem;
  text-decoration: none;
  padding: 0 3rem;
  background-color: var(--primary);
  color: #fff;
  border-radius: 1.875rem;
  display: inline-block;
  position: relative;
  z-index: 1;
  transition: color 0.3s;
}
#hero-1351 .cs-button-solid::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 0%;
  height: 100%;
  background: #fff;
  z-index: -1;
  transition: width 0.3s;
}
#hero-1351 .cs-button-solid:hover {
  color: var(--primary);
}
#hero-1351 .cs-button-solid:hover::before {
  width: 100%;
}

/* Existing Bubble Groups (cs-bubbles1 & cs-bubbles2) */
.cs-bubbles {
  font-size: min(2vw, 0.5em);
  position: absolute;
  z-index: -1;
}
.cs-bubbles1 {
  width: 42.5em;
  height: 45.25em;
  top: 0;
  right: -11.875rem;
}
.cs-bubbles1::before {
  content: "";
  width: 38.875em;
  height: 38.875em;
  background: transparent;
  border: 1px solid #fff;
  border-radius: 50%;
  position: absolute;
  top: 0;
  left: 0;
  animation: floatAnimation 7s ease-in-out infinite;
}
.cs-bubbles1::after {
  content: "";
  width: 34.125em;
  height: 34.125em;
  background: var(--primary);
  opacity: 0.8;
  border-radius: 50%;
  position: absolute;
  right: 0;
  bottom: 0;
  z-index: -1;
  animation: floatAnimation2 10s ease-in-out infinite;
}
.cs-bubbles2 {
  width: 20.625rem;
  height: 29.75rem;
  bottom: -16.25rem;
  left: -13.75rem;
}
.cs-bubbles2::before {
  content: "";
  width: 20.625rem;
  height: 20.625rem;
  background: transparent;
  border: 1px solid #fff;
  border-radius: 50%;
  position: absolute;
  right: 0;
  bottom: 0;
  animation: floatAnimation 5s ease-in-out infinite;
}
.cs-bubbles2::after {
  content: "";
  width: 16.25rem;
  height: 16.25rem;
  background: var(--primary);
  opacity: 0.8;
  border-radius: 50%;
  position: absolute;
  top: 0;
  right: 2.5rem;
  z-index: -1;
  animation: floatAnimation2 14s ease-in-out infinite;
}

/* Keyframes for small bubble float animation */
@keyframes bubbleFloat {
  0% { transform: translateY(0) scale(1); opacity: 1; }
  50% { transform: translateY(-1rem) scale(1.1); opacity: 0.7; }
  100% { transform: translateY(0) scale(1); opacity: 1; }
}

/* Re-used float animations for bubbles1/2 */
@keyframes floatAnimation {
  0% { transform: translateY(0); }
  50% { transform: translateY(-2rem); }
  100% { transform: translateY(0); }
}
@keyframes floatAnimation2 {
  0% { transform: translateY(0); }
  50% { transform: translateY(-3rem); }
  100% { transform: translateY(0); }
}
}
/* Tablet - 768px */
@media only screen and (min-width: 48rem) {
  #hero-1351 .cs-content {
    width: 50%;
  }
  #hero-1351 .cs-bubbles {
    font-size: 1em;
  }
  #hero-1351 .cs-bubbles1 {
    /* changes to auto at large desktop */
    right: -26.75rem;
  }
}

#hero-1351 .cs-wave {
  /* we're stretching the svg wider than the viewport so it's taller and has more of a presence */
  width: 48rem;
  height: auto;
  display: block;
  position: absolute;
  left: 50%;
  bottom: -1px;
  transform: translateX(-50%);
  z-index: -1;
}

/* Tablet - 768px */
@media only screen and (min-width: 48rem) {
  #hero-1351 .cs-wave {
  width: 100%;
  left: 0;
  transform: none;
}
}

/* Large Desktop - 1300px */
@media only screen and (min-width: 81.25rem) {
  #hero-1351 .cs-bubbles1 {
    /* 200px - 450px */
    margin-left: clamp(12.5rem, 20vw, 28.125rem);
    top: 10.75rem;
    right: auto;
    left: 50%;
  }
}
/* Large Desktop Parallax Effect - 1600px */
@media only screen and (min-width: 100rem) {
  #hero-1351 .cs-background {
    background: url("https://csimg.nyc3.cdn.digitaloceanspaces.com/Images/MISC/abstract.jpg");
    background-position: center;
    background-size: cover;
    background-repeat: no-repeat;
    background-attachment: fixed;
  }
  #hero-1351 .cs-background img {
    display: none;
  }
}
/* Larger Desktop - 1800px */
@media only screen and (min-width: 112.5rem) {
  #hero-1351 .cs-bubbles2 {
    margin-right: 50rem;
    top: 13.125rem;
    right: 50%;
    bottom: auto;
    left: auto;
  }
}


/*-- -------------------------- -->
<---            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);
    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-text-info {
    opacity: .5;
  }
  #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: 2.5rem;
    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: 1.25rem;
    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;
  }
  #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;
  }
  #hero-1946 .cs-flex {
    width: 50%;
    max-width: 39.375rem;
  }
}


                                

/*-- -------------------------- -->
<---          Services          -->
<--- -------------------------- -*/

/* Mobile - 360px */
@media only screen and (min-width: 0rem) {
  #services-2279 {
    padding: var(--sectionPadding);
    position: relative;
    z-index: 1;
  }
  #services-2279 .cs-container {
    width: 100%;
    /* changes to 1280px at tablet */
    max-width: 34.375rem;
    position: relative;
    margin: auto;
    display: flex;
    flex-direction: column;
    align-items: center;
    /* 48px - 64px */
    gap: clamp(3rem, 6vw, 4rem);
  }
  #services-2279 .cs-content {
    /* set text align to left if content needs to be left aligned */
    text-align: center;
    width: 100%;
    max-width: 50rem;
    display: flex;
    flex-direction: column;
    /* centers content horizontally, set to flex-start to left align */
    align-items: center;
  }
  #services-2279 .cs-title {
    max-width: 20ch;
    color: var(--bodyTextColorWhite);
    margin: 0;
  }
  #services-2279 .cs-text {
    opacity: 0.8;
  }
  #services-2279 .cs-card-group {
    margin: 0;
    padding: 0;
    width: 100%;
    display: grid;
    grid-template-columns: repeat(12, 1fr);
    gap: clamp(0.5rem, 2vw, 1.25rem);
  }
  #services-2279 .cs-item {
    /* place this in a variable to reuse for the s-icon-wrapper placement */
    --itemPadding: clamp(1rem, 3.5vw, 3rem);
    width: 100%;
    text-align: left;
    list-style: none;
    margin: 0;
    /* 16px - 48px */
    padding: var(--itemPadding);
    background-color: #fff;
    border: 1px solid #E7E7E8;
    border-radius: 10px;
    /* prevents padding and border from affecting height and width */
    box-sizing: border-box;
    grid-column: span 12;
    grid-row: span 1;
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    justify-content: center;
    position: relative;
    z-index: 1;
  }
  #services-2279 .cs-item:hover .cs-h3,
  #services-2279 .cs-item:hover .cs-link,
  #services-2279 .cs-item:hover .cs-item-text {
    color: var(--bodyTextColorWhite);
  }
  #services-2279 .cs-item:hover .cs-item-text {
    opacity: 0.9;
  }
  #services-2279 .cs-item:hover .cs-icon-wrapper {
    border-radius: 50%;
    transform: rotate(90deg);
  }
  #services-2279 .cs-item:hover .cs-icon {
    transform: rotate(-90deg);
  }
  #services-2279 .cs-item:hover .cs-arrow {
    filter: grayscale(1) brightness(10000%);
  }
  #services-2279 .cs-item:hover .cs-background {
    opacity: 1;
  }
  #services-2279 .cs-icon-wrapper {
    /* 48px - 100px */
    width: clamp(3rem, 7vw, 6.25rem);
    height: clamp(3rem, 7vw, 6.25rem);
    margin: 0;
    background-color: #fff;
    overflow: hidden;
    display: flex;
    justify-content: center;
    align-items: center;
    position: absolute;
    bottom: var(--itemPadding);
    right: var(--itemPadding);
    z-index: 1;
    transition: transform 0.5s, border-radius 0.5s;
  }
  #services-2279 .cs-icon-wrapper:before {
    content: '';
    width: 100%;
    height: 100%;
    background: var(--primary);
    opacity: 0.1;
    display: block;
    position: absolute;
    top: 0;
    left: 0;
    z-index: -1;
  }
  #services-2279 .cs-icon {
    /* 24px - 48px */
    width: clamp(1.5rem, 4vw, 3rem);
    height: auto;
    transition: transform 0.5s;
  }
  #services-2279 .cs-h3 {
    /* 20px - 25px */
    font-size: clamp(1.25rem, 2.5vw, 1.5625rem);
    line-height: 1.2em;
    font-weight: bold;
    text-align: inherit;
    margin: 0 0 0.75rem 0;
    color: var(--headerColor);
    display: flex;
    align-items: center;
    gap: 1rem;
    position: relative;
    z-index: 1;
  }
  #services-2279 .cs-h3:before {
    content: '';
    width: 0.5rem;
    height: 0.5rem;
    background: var(--primaryLight);
    opacity: 1;
    display: block;
  }
  #services-2279 .cs-item-text {
    font-size: 1rem;
    line-height: 1.5em;
    max-width: 18.75rem;
    /* 56px - 108px */
    margin: 0 0 clamp(3.5rem, 8vw, 6.75rem) 0;
    padding: 0;
    color: var(--bodyTextColor);
  }
  #services-2279 .cs-link {
    text-decoration: none;
    font-size: 1rem;
    line-height: 1.2em;
    text-transform: uppercase;
    font-weight: bold;
    margin: 0;
    padding: 0 0 0.375rem 0;
    color: var(--headerColor);
    display: inline-flex;
    justify-content: space-between;
    gap: 0.75rem;
    position: relative;
    transition: color 0.3s;
  }
  #services-2279 .cs-link:hover .cs-arrow {
    transform: rotate(45deg);
  }
  #services-2279 .cs-link:before {
    /* underline */
    content: "";
    width: 100%;
    height: 1px;
    background: currentColor;
    opacity: 1;
    position: absolute;
    display: block;
    bottom: 0rem;
    left: 0;
  }
  #services-2279 .cs-arrow {
    width: 1.25rem;
    height: auto;
    display: block;
    transition: transform 0.3s;
  }
  #services-2279 .cs-background {
    width: 100%;
    height: 100%;
    opacity: 0;
    display: block;
    position: absolute;
    border-radius: 10px;
    top: 0;
    left: 0;
    z-index: -1;
    transition: opacity 0.3s;
  }
  #services-2279 .cs-background:before {
    /* background color overlay */
    content: "";
    position: absolute;
    display: block;
    height: 100%;
    width: 100%;
    background: linear-gradient(-45deg,#145277, #3e3b92);
    opacity: 0.94;
    border-radius: 10px;
    top: 0;
    left: 0;
    z-index: 1;
  }
  #services-2279 .cs-background img {
    position: absolute;
    top: 0;
    left: 0;
    height: 100%;
    width: 100%;
    border-radius: 10px;
    /* Makes img tag act as a background image */
    object-fit: cover;
  }
  #services-2279 .cs-accent {
    width: 100%;
    height: 21.6875rem;
    display: block;
    position: absolute;
    top: 0;
    left: 0;
    z-index: -1;
  }
  #services-2279 .cs-accent:before {
    content: '';
    width: 100%;
    height: 100%;
    background: #111418;
    opacity: 1;
    display: block;
    position: absolute;
    top: 0;
    left: 0;
    z-index: -2;
  }
  #services-2279 .cs-accent img {
    width: 100%;
    height: 100%;
    opacity: 0.24;
    mix-blend-mode: soft-light;
    object-fit: cover;
    position: absolute;
    top: 0;
    left: 0;
  }
  .custom-shape-divider-top-1740863299 {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    overflow: hidden;
    line-height: 0;
}

}
/* Tablet - 768px */
@media only screen and (min-width: 48rem) {
  #services-2279 .cs-container {
    max-width: 80rem;
  }
  #services-2279 .cs-item {
    grid-column: span 6;
    justify-content: flex-start;
  }
  #services-2279 .cs-link {
    margin-top: auto;
  }
}
/* Small Desktop - 1024px */
@media only screen and (min-width: 64rem) {
  #services-2279 .cs-item {
    grid-column: span 4;
  }
  #services-2279 .cs-accent {
    /* 435px - 526px */
    height: clamp(27.1875rem, 41vw, 32.875rem);
  }
}
                   

/*-- -------------------------- -->
<---         Services           -->
<--- -------------------------- -*/

/* Mobile - 360px */
@media only screen and (min-width: 0rem) {
  #services-282 {
      padding: var(--sectionPadding);
  }
  #services-282 .cs-container {
      width: 100%;
      /* changes to 1280px on tabelt */
      max-width: 34.375rem;
      margin: auto;
  }
  #services-282 .cs-container {
      width: 100%;
      /* changes to 1280px on tabelt */
      max-width: 34.375rem;
      margin: auto;
      display: flex;
      flex-direction: column;
      align-items: center;
      /* 48px - 64px */
      gap: clamp(3rem, 6vw, 4rem);
  }
  #services-282 .cs-content {
      /* set text align to left if content needs to be left aligned */
      text-align: left;
      width: 100%;
      display: flex;
      flex-direction: column;
      /* centers content horizontally, set to flex-start to left align */
      align-items: flex-start;
  }

  #services-282 .cs-card-group {
      width: 100%;
      margin: 0;
      padding: 0;
      display: flex;
      flex-direction: column;
      align-items: center;
      justify-content: center;
      gap: 1rem;
  }
  #services-282 .cs-item {
      list-style: none;
      width: 100%;
      /* 32px - 40px */
      padding: clamp(2rem, 4vw, 2.5rem) 1.75rem;
      /* prevents padding from affecting width and height */
      box-sizing: border-box;
      background-color: #f1f1f4;
      border-radius: 0.25rem;
      display: flex;
      transition: background-color 0.3s;
  }
  #services-282 .cs-item:hover {
      background-color: var(--primary);
  }
  #services-282 .cs-item:hover .cs-h3,
  #services-282 .cs-item:hover .cs-item-text,
  #services-282 .cs-item:hover .cs-fake-link {
      color: #fafbfc;
  }
  #services-282 .cs-link {
      text-decoration: none;
      display: flex;
      flex-direction: column;
      justify-content: flex-start;
      align-items: flex-start;
  }
  #services-282 .cs-h3 {
      /* 20px - 25px */
      font-size: clamp(1.25rem, 1.95vw, 1.5625rem);
      margin: 0;
      margin-bottom: 1rem;
      color: var(--headerColor);
      transition: color 0.3s;
  }
  #services-282 .cs-item-text {
      font-size: 1rem;
      line-height: 1.5em;
      margin: 0;
      margin-bottom: 1.25rem;
      color: var(--bodyTextColor);
      transition: color 0.3s;
  }
  #services-282 .cs-fake-link {
      font-size: 1rem;
      font-weight: 700;
      /* pushes up against the .cs-item-text so it's always at the bottom of the card */
      margin-top: auto;
      color: var(--primary);
      display: inline-flex;
      justify-content: center;
      align-items: center;
      transition: color 0.3s;
      position: relative;
  }
  #services-282 .cs-fake-link:hover:before {
      width: 100%;
  }
  #services-282 .cs-fake-link:before {
      /* animated text underline */
      content: "";
      width: 0%;
      height: 2px;
      /* current color of parent */
      background: currentColor;
      opacity: 1;
      position: absolute;
      display: block;
      bottom: -0.125rem;
      left: 0;
      transition: width 0.3s;
  }
  #services-282 .cs-fake-link svg {
      margin-left: 0.5rem;
  }
  #services-282 .cs-fake-link svg path {
      /* current color of parent */
      fill: currentColor;
  }
}
/* In Between - 600px */
@media only screen and (min-width: 37.5rem) {
  #services-282 .cs-card-group {
      display: flex;
      flex-direction: row;
      justify-content: space-between;
      align-items: center;
      flex-wrap: wrap;
  }
  #services-282 .cs-item {
      width: 38%;
      align-self: stretch;
  }
}
/* Small Desktop - 1024px */
@media only screen and (min-width: 48rem) {
  #services-282 .cs-container {
      max-width: 80rem;
  }
  #services-282 .cs-title {
      width: 80%;
      margin-left: 0;
  }
  #services-282 .cs-text {
      width: 80%;
      margin-left: 0;
  }
  #services-282 .cs-item {
      /* 224px - 413px */
      width: clamp(14rem, 30.4vw, 25.8125rem);
      min-height: 16.25rem;
      /* prevents padding from adding to height and width */
      box-sizing: border-box;
  }
}

                              

/*-- -------------------------- -->
<---   About Us ::Side By Side Reverse     -->
<--- -------------------------- -*/

/* Mobile - 360px */
@media only screen and (min-width: 0rem) {
  @keyframes floatAnimation {
      0% {
          transform: translateY(0);
      }
      50% {
          transform: translateY(-2rem);
      }
      100% {
          transform: translateY(0);
      }
  }
  @keyframes floatAnimation2 {
      0% {
          transform: translateY(0);
      }
      50% {
          transform: translateY(-3rem);
      }
      100% {
          transform: translateY(0);
      }
  }
  #sbsr-1363 {
      padding: var(--sectionPadding);
      position: relative;
      overflow: hidden;
      z-index: 1;
  }
  #sbsr-1363 .cs-container {
      width: 100%;
      /* changes to 1280px at desktop */
      max-width: 36.5rem;
      margin: auto;
      display: flex;
      flex-direction: column;
      align-items: center;
      /* 48px - 64px */
      gap: clamp(3rem, 6vw, 4rem);
  }
  #sbsr-1363 .cs-content {
      /* set text align to left if content needs to be left aligned */
      text-align: left;
      width: 100%;
      max-width: 39.375rem;
      display: flex;
      flex-direction: column;
      /* centers content horizontally, set to flex-start to left align */
      align-items: flex-start;
  }

  #sbsr-1363 .cs-topper {
      color: #767676;
  }
  #sbsr-1363 .cs-title {
      /* 23 characters wide including spaces */
      max-width: 26ch;
  }
  #sbsr-1363 .cs-text {
      margin-bottom: 1rem;
  }
  #sbsr-1363 .cs-text:last-of-type {
      margin-bottom: 1.5rem;
  }
  #sbsr-1363 .cs-card-group {
      width: 100%;
      max-width: 39.375rem;
      margin: 0 0 1.5rem 0;
      padding: 0;
      display: grid;
      grid-template-columns: repeat(auto-fit, minmax(15.625rem, 1fr));
      align-items: center;
      gap: clamp(1rem, 2vw, 1.25rem);
  }
  #sbsr-1363 .cs-item {
      list-style: none;
      /* 16px - 24px */
      padding: clamp(1rem, 3vw, 1.5rem);
      /* prevents padding from affecting height and width */
      box-sizing: border-box;
      background-color: #f7f7f7;
      border-radius: 1rem;
      border: 1px solid #e8e8e8;
      display: flex;
      flex-direction: column;
      align-items: flex-start;
      gap: 0.75rem;
  }
  #sbsr-1363 .cs-h3 {
      font-size: 1.25rem;
      line-height: 1.2em;
      font-weight: 700;
      margin: 0;
      color: var(--headerColor);
      display: flex;
      justify-content: flex-start;
      align-items: center;
      gap: 0.5rem;
  }
  #sbsr-1363 .cs-h3-icon {
      width: 2rem;
      height: auto;
      display: block;
  }
  #sbsr-1363 .cs-item-text {
      font-size: 0.875rem;
      line-height: 1.5em;
      margin: 0;
      color: var(--bodyTextColor);
  }
  #sbsr-1363 .cs-ul {
    width: 100%;
    margin: 0 0 1.5rem 0;
    padding: 0;
    display: grid;
    grid-template-columns: 1fr 1fr; /* Two equal columns */
    gap: 0.75rem;
  }
  
  #sbsr-1363 .cs-li {
    font-size: var(--bodyFontSize);
    list-style: none;
    line-height: 1.5em;
    color: var(--bodyTextColor);
    display: flex;
    align-items: flex-start; /* keeps icon at top for multi-line text */
    gap: 0.5rem;
  }
  #sbsr-1363 .cs-icon {
      width: 1.5rem;
      height: auto;
      /* adds extra space between the icon and top of parent so it's more centered */
      margin-top: 1px;
      display: block;
  }
  #sbsr-1363 .cs-button-solid {
      font-size: 1rem;
      line-height: 3.5rem;
      text-decoration: none;
      font-weight: 700;
      overflow: hidden;
      margin: 0;
      color: #fff;
      padding: 0 3rem;
      border-radius: 1.875rem;
      background-color: var(--primary);
      display: inline-block;
      position: relative;
      z-index: 1;
      transition: color 0.3s;
  }
  #sbsr-1363 .cs-button-solid:before {
      content: "";
      position: absolute;
      display: block;
      height: 100%;
      width: 0%;
      background: #1a1a1a;
      opacity: 1;
      top: 0;
      left: 0;
      z-index: -1;
      transition: width 0.3s;
  }
  #sbsr-1363 .cs-button-solid:hover {
      color: var(--primary);
  }
  #sbsr-1363 .cs-button-solid:hover:before {
      width: 100%;
  }
  #sbsr-1363 .cs-image-group {
      width: 100%;
      max-width: 36.625rem;
      /* Changes to auto at desktop */
      height: 32.5rem;
      /* 32px - 48px */
      border-radius: clamp(2rem, 4vw, 3rem);
      /* clips the corners of the children around the border radius */
      overflow: hidden;
      position: relative;
  }
  #sbsr-1363 .cs-background {
      width: 100%;
      height: 100%;
      /* makes it cover the parent dimensions */
      object-fit: cover;
      display: block;
  }
  #sbsr-1363 .cs-background img {
      width: 100%;
      height: 100%;
      /* makes it cover the parent like a backgorund image */
      object-fit: cover;
      display: block;
  }
#sbsr-1363 .cs-box {
  text-align: left;
  width: 100%;
  max-width: 19rem;
  padding: 1rem; /* Reduced padding */
  box-sizing: border-box;
  background-color: var(--primary);
  border-radius: 2rem;
  display: flex;
  flex-direction: row; /* Icon and text side-by-side */
  align-items: center; /* Vertically center the items */
  gap: 0.5rem; /* Reduced gap between icon and text container */
  position: absolute;
  right: clamp(0.75rem, 1.9vw, 1.5rem);
  bottom: clamp(0.75rem, 1.9vw, 1.5rem);
}

#sbsr-1363 .cs-icon {
  /* Optional: adjust icon container styles if needed */
  flex-shrink: 0;
}

#sbsr-1363 .cs-text-container {
  display: flex;
  flex-direction: column; /* Stack text vertically */
  gap: 0.25rem; /* Space between main text and subtext */
}

#sbsr-1363 .cs-desc {
  font-family: 'Maven Pro', 'Arial', sans-serif;
  text-transform: uppercase;
  font-size: 1.1rem;
  line-height: 1.2em;
  font-weight: 700;
  margin: 0;
  color: var(--bodyTextColorWhite);
}

#sbsr-1363 .cs-subdesc {
  display: block; /* Ensure it starts on its own line */
  font-family: 'Maven Pro', 'Arial', sans-serif;
  font-size: 0.9rem; /* Smaller font size */
  line-height: 1.2em;
  font-weight: 400; /* Lighter font weight */
  margin: 0; /* Remove default margin */
  color: var(--bodyTextColorWhite);
}

  #sbsr-1363 .cs-bubbles {
      font-size: min(2.5vw, 0.7em);
      width: 26.1875em;
      height: 26.6875em;
      position: absolute;
      /* reset at larger desktop */
      right: -16.25em;
      /* changes to 30px at desktop */
      bottom: -3.125em;
      z-index: -1;
  }
  #sbsr-1363 .cs-bubbles:before {
      /* white border bubble */
      content: "";
      width: 20.625em;
      height: 20.625em;
      background: transparent;
      border: 1px solid #1a1a1a;
      border-radius: 50%;
      opacity: 1;
      position: absolute;
      display: block;
      top: 0;
      right: 0;
      animation-name: floatAnimation;
      animation-duration: 5s;
      animation-timing-function: ease-in-out;
      animation-fill-mode: forwards;
      animation-iteration-count: infinite;
  }
  #sbsr-1363 .cs-bubbles:after {
      /* orange bubble */
      content: "";
      width: 16.25em;
      height: 16.25em;
      background: var(--primary);
      opacity: 0.15;
      border-radius: 50%;
      display: block;
      position: absolute;
      bottom: 0;
      left: 0;
      z-index: -1;
      animation-name: floatAnimation2;
      animation-duration: 14s;
      animation-timing-function: ease-in-out;
      animation-fill-mode: forwards;
      animation-iteration-count: infinite;
  }
}
/* Small Desktop - 1024px */
@media only screen and (min-width: 64rem) {
  #sbsr-1363 .cs-container {
      max-width: 80rem;
      flex-direction: row;
      justify-content: space-between;
      align-items: stretch;
  }
  #sbsr-1363 .cs-image-group {
      height: auto;
      /* sends it to the right in the 2nd position */
      order: 2;
  }
  #sbsr-1363 .cs-bubbles {
      font-size: min(2.5vw, 1em);
      right: -6.25rem;
      bottom: 0rem;
  }
}
/* Large Desktop 1600px */
@media only screen and (min-width: 100rem) {
  #sbsr-1363 .cs-bubbles {
      margin-right: 46.875rem;
      left: auto;
      right: 50%;
  }
}

/*-- -------------------------- -->
<---        Recent Posts        -->
<--- -------------------------- -*/

/* Mobile - 360px */
@media only screen and (min-width: 0rem) {
  @keyframes floatAnimation {
      0% {
          transform: translateY(0);
      }
      50% {
          transform: translateY(-2rem);
      }
      100% {
          transform: translateY(0);
      }
  }
  @keyframes floatAnimation2 {
      0% {
          transform: translateY(0);
      }
      50% {
          transform: translateY(-3rem);
      }
      100% {
          transform: translateY(0);
      }
  }
#blog-1369 {
      padding: var(--sectionPadding);
      position: relative;
      z-index: 1;
      overflow: hidden;
  }
  #blog-1369.cs-blog-page-grid .cs-blog-title-panel {
      width: 100%;
      padding: clamp(2rem, 4vw, 3rem) 1rem;
      border-radius: 1rem;
      margin-bottom: clamp(1.5rem, 3vw, 2.5rem);
      position: relative;
      overflow: hidden;
      background: transparent;
      color: var(--headerColor);
      text-align: center;
  }
  #blog-1369.cs-blog-page-grid .cs-blog-title-panel h1 {
      margin: 0;
      font-size: clamp(2rem, 4vw, 2.75rem);
      line-height: 1.2;
      letter-spacing: 0.08em;
      text-transform: uppercase;
      color: #111724;
      font-weight: 800;
      text-shadow: 0 1px 0 rgba(255, 255, 255, 0.5);
      position: relative;
      z-index: 1;
  }
  #blog-1369.cs-blog-page-grid .cs-blog-title-pattern {
      position: absolute;
      inset: 0;
      z-index: 0;
      background-image:
          linear-gradient(rgba(3, 25, 49, 0.14) 1px, transparent 1px),
          linear-gradient(90deg, rgba(3, 25, 49, 0.14) 1px, transparent 1px);
      background-size: 28px 28px;
      opacity: 0.36;
  }
  #blog-1369 .cs-container {
      width: 100%;
      /* changes to 1280px on desktop */
      max-width: 43.75rem;
      margin: auto;
      display: flex;
      flex-direction: column;
      align-items: center;
      /* 48px - 64px */
      gap: clamp(3rem, 6vw, 4rem);
  }
  #blog-1369 .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;
  }

  #blog-1369 .cs-title {
      max-width: 20ch;
  }

  #blog-1369 .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: 2rem 0 0;
      /* prevents padding from adding to the width */
      box-sizing: border-box;
      padding: 0 1.5rem;
      color: #fff;
      background-color: var(--primary);
      border: none;
      border-radius: 3rem;
      display: inline-block;
      position: relative;
      z-index: 1;
      overflow: hidden;
  }
  #blog-1369 .cs-button-solid:before {
      content: "";
      width: 0%;
      height: 100%;
      background: #000;
      opacity: 1;
      border-radius: 0.25rem;
      position: absolute;
      top: 0;
      left: 0;
      z-index: -1;
      transition: width 0.3s;
  }
  #blog-1369 .cs-button-solid:hover:before {
      width: 100%;
  }
  #blog-1369 .cs-card-group {
      width: 100%;
      margin: 0;
      padding: 0;
      display: grid;
      grid-template-columns: repeat(12, 1fr);
      gap: 1rem;
  }
  #blog-1369 .cs-item {
      list-style: none;
      display: flex;
      flex-direction: column;
      grid-column: span 12;
  }
  #blog-1369 .cs-recent-post-card {
      list-style: none;
      display: flex;
      flex-direction: column;
      grid-column: span 12;
      background: #fff;
      border: 1px solid #e4e6f2;
      border-radius: 1.25rem;
      overflow: hidden;
      box-shadow: 0 12px 24px -20px rgb(26 26 26 / 30%);
      transition: transform 0.25s, box-shadow 0.25s;
  }
  #blog-1369 .cs-recent-post-card:hover {
      transform: translateY(-4px);
      box-shadow: 0 18px 28px -18px rgb(26 26 26 / 35%);
  }
  #blog-1369 .cs-recent-post-card:hover .cs-h3,
  #blog-1369 .cs-recent-post-card:hover .cs-date,
  #blog-1369 .cs-recent-post-card:hover .cs-category {
      color: #1a1a1a;
  }
  #blog-1369 .cs-recent-post-card:hover .cs-icon-wrapper {
      border-color: #1a1a1a;
  }
  #blog-1369 .cs-recent-post-card:hover .cs-date-icon,
  #blog-1369 .cs-recent-post-card:hover .cs-icon {
      filter: brightness(0.1);
  }
  #blog-1369 .cs-recent-post-card:hover .cs-icon {
      transform: rotate(45deg);
  }
  #blog-1369 .cs-recent-post-card .cs-link {
      text-decoration: none;
      display: flex;
      flex-direction: column;
      height: 100%;
      gap: 1rem;
  }
  #blog-1369 .cs-recent-post-card .cs-picture {
      width: 100%;
      height: 13.5rem;
      margin: 0;
      border-radius: 0;
      display: block;
      position: relative;
      z-index: 1;
      overflow: hidden;
  }
  #blog-1369 .cs-recent-post-card .cs-picture img {
      width: 100%;
      height: 100%;
      object-fit: cover;
      position: absolute;
      top: 0;
      left: 0;
  }
  #blog-1369 .cs-item-text {
      padding: 1.25rem;
      background-color: #fff;
      border-radius: 0 0 1.25rem 1.25rem;
      display: flex;
      flex-direction: column;
      justify-content: space-between;
      /* makes the item text the element that grows to fill the container */
      flex-grow: 1;
      transition: background-color 0.3s;
      border-top: 1px solid #e8e8e8;
  }
  #blog-1369 .cs-h3 {
      /* 20px - 25px */
      font-size: clamp(1.25rem, 1.8vw, 1.5625rem);
      line-height: 1.2em;
      text-align: left;
      margin: 0;
      color: #1a1a1a;
      display: flex;
      justify-content: space-between;
      align-items: center;
      gap: 1rem;
      transition: color 0.3s;
  }
  #blog-1369 .cs-icon-wrapper {
      width: 3rem;
      height: 3rem;
      border: 1px solid #bababa;
      border-radius: 50%;
      display: flex;
      justify-content: center;
      align-items: center;
      /* prevents the parent flexbox from shrinking the icon */
      flex-shrink: 0;
      transition: border-color 0.3s;
  }
  #blog-1369 .cs-icon {
      width: auto;
      height: 0.75rem;
      transition:
          filter 0.3s,
          transform 0.3s;
  }
  #blog-1369 .cs-info {
      margin: 1rem 0 0;
      padding: 1rem 0 0;
      border-top: 1px solid #e8e8e8;
      display: flex;
      justify-content: space-between;
      align-items: center;
  }
  #blog-1369 .cs-date {
      font-size: 0.875rem;
      line-height: 1.5em;
      text-align: left;
      color: #1a1a1a;
      display: flex;
      align-items: center;
      gap: 0.5rem;
      transition: color 0.3s;
  }
  #blog-1369 .cs-date-icon {
      width: auto;
      height: 1.5rem;
      transition: filter 0.3s;
  }
  #blog-1369 .cs-category {
      font-size: 0.875rem;
      /* centers the text if the category bullet has to span multiple lines */
      text-align: center;
      padding: 0.25rem 1rem;
      color: #1a1a1a;
      border-radius: 5rem;
      position: relative;
      z-index: 0;
      overflow: hidden;
  }
  #blog-1369 .cs-category::before {
      content: "";
      width: 100%;
      height: 100%;
      background: #e8e8e8;
      position: absolute;
      top: 0;
      left: 0;
      z-index: -1;
  }
  #blog-1369 .cs-bubbles {
      width: 20.0625rem;
      height: 26.4375rem;
      display: none;
      position: absolute;
      top: 8.6875rem;
      right: -8.75rem;
      z-index: -1;
  }
  #blog-1369 .cs-bubbles:before {
      /* white border bubble */
      content: "";
      width: 16.5rem;
      height: 16.5rem;
      background: transparent;
      opacity: 1;
      border: 1px solid #1a1a1a;
      border-radius: 50%;
      display: block;
      position: absolute;
      top: 0;
      right: 0;
      animation-name: floatAnimation;
      animation-duration: 5s;
      animation-timing-function: ease-in-out;
      animation-iteration-count: infinite;
      animation-fill-mode: forwards;
  }
  #blog-1369 .cs-bubbles:after {
      /* orange bubble */
      content: "";
      width: 16.5rem;
      height: 16.5rem;
      background: var(--primary);
      opacity: 0.1;
      border-radius: 50%;
      display: block;
      position: absolute;
      bottom: 0;
      left: 0;
      z-index: -1;
      animation-name: floatAnimation2;
      animation-duration: 14s;
      animation-timing-function: ease-in-out;
      animation-iteration-count: infinite;
      animation-fill-mode: forwards;
  }
}
/* Tablet - 768px */
@media only screen and (min-width: 48rem) {
  #blog-1369 .cs-recent-post-card {
      grid-column: span 6;
  }
  #blog-1369.cs-blog-page-grid .cs-recent-post-card {
      grid-column: span 4;
  }
  #blog-1369 .cs-bubbles {
      display: block;
  }
}
/* Desktop - 1024px */
@media only screen and (min-width: 64rem) {
  #blog-1369 .cs-container {
      max-width: 80rem;
  }
  #blog-1369 .cs-bubbles {
      top: 17.5625rem;
  }
}
/* Large Desktop - 1300px */
@media only screen and (min-width: 81.25rem) {
  #blog-1369 .cs-container {
      flex-direction: row;
  }
  #blog-1369.cs-blog-page-grid .cs-container {
      flex-direction: column;
  }
  #blog-1369 .cs-content {
      text-align: left;
      max-width: 19.0625rem;
      align-items: start;
  }
  #blog-1369.cs-blog-page-grid .cs-content {
      text-align: center;
      max-width: 100%;
      align-items: center;
  }
  #blog-1369 .cs-bubbles {
      margin-right: -61.875rem;
      top: -1.25rem;
      right: 50%;
  }
}

#hero-1946.cs-post-page-hero .cs-blog-title-panel,
.cs-post-page-hero .cs-blog-title-panel {
    width: 100%;
    padding: clamp(1.25rem, 3vw, 2rem) 1rem;
    margin-bottom: clamp(1rem, 2.5vw, 1.75rem);
    border-radius: 1rem;
    position: relative;
    overflow: hidden;
    text-align: center;
    background: transparent;
    color: var(--headerColor);
}

#hero-1946.cs-post-page-hero .cs-blog-title-panel h1,
.cs-post-page-hero .cs-blog-title-panel h1 {
    margin: 0;
    font-family: "Maven Pro", Arial, sans-serif;
    font-size: clamp(1.6rem, 4vw, 2.5rem);
    line-height: 1.2;
    letter-spacing: 0.05em;
    color: #111724;
    font-weight: 800;
    text-shadow: 0 1px 0 rgba(255, 255, 255, 0.5);
    position: relative;
    z-index: 1;
}

#hero-1946.cs-post-page-hero .cs-post-page-title-pattern,
.cs-post-page-hero .cs-post-page-title-pattern {
    position: absolute;
    inset: 0;
    z-index: 0;
    background-image:
        linear-gradient(rgba(3, 25, 49, 0.14) 1px, transparent 1px),
        linear-gradient(90deg, rgba(3, 25, 49, 0.14) 1px, transparent 1px);
    background-size: 28px 28px;
    opacity: 0.22;
}

.cs-post-page-hero .cs-content .cs-title {
    display: none;
}

/*-- -------------------------- -->
<---          Pricing           -->
<--- -------------------------- -*/

/* Mobile */
@media only screen and (min-width: 0rem) {
  #pricing-357 {
      padding: var(--sectionPadding);
      background-color: #f7f7f7;
  }
  #pricing-357 .cs-container {
      width: 100%;
      max-width: 80rem;
      margin: auto;
      display: flex;
      flex-direction: column;
      align-items: center;
      /* 48px - 64px */
      gap: clamp(3rem, 6vw, 4rem);
  }
  #pricing-357 .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-357 .cs-card-group {
      width: 100%;
      margin: 0;
      padding: 0;
      display: flex;
      justify-content: center;
      align-items: center;
      flex-direction: column;
      /* 16px - 20px */
      gap: clamp(1rem, 2vw, 1.25rem);
  }
  #pricing-357 .cs-item {
      list-style: none;
      /* 20px - 32px top & bottom */
      /* 16px - 32px left & right */
      padding: clamp(1.25rem, 3vw, 2rem) clamp(1rem, 2.4vw, 2rem);
      width: 100%;
      max-width: 25.8125rem;
      border-radius: 1rem;
      background: #fff;
      border: 1px solid #e8e8e8;
      /* prevents padding from adding to height and width */
      box-sizing: border-box;
  }
  #pricing-357 .cs-item:nth-of-type(2) .cs-option2-text,
  #pricing-357 .cs-item:nth-of-type(2) .cs-option1-text {
      transition-delay: 0.1s;
  }
  #pricing-357 .cs-item:nth-of-type(3) .cs-option2-text,
  #pricing-357 .cs-item:nth-of-type(3) .cs-option1-text {
      transition-delay: 0.2s;
  }
  #pricing-357 .cs-popular {
      background: var(--primary);
      position: relative;
      /* clips the popular tag */
      overflow: hidden;
      /* send to the top */
      order: -1;
  }
  #pricing-357 .cs-popular:before {
      /* Most Popular Tag */
      content: "Popular";
      font-size: 0.875rem;
      text-align: center;
      line-height: 1.8125em;
      font-weight: 700;
      width: 10.625rem;
      padding: 0 0.75rem;
      color: var(--bodyTextColorWhite);
      background-color: var(--secondary);
      position: absolute;
      display: block;
      top: 1.25rem;
      right: -3.75rem;
      transform: rotate(42deg);
  }
  #pricing-357 .cs-popular .cs-h3,
  #pricing-357 .cs-popular .cs-item-text,
  #pricing-357 .cs-popular .cs-price,
  #pricing-357 .cs-popular .cs-included,
  #pricing-357 .cs-popular .cs-li,
  #pricing-357 .cs-popular .cs-small {
      color: var(--bodyTextColorWhite);
  }
  #pricing-357 .cs-popular .cs-button-solid {
      background-color: #fff;
      color: var(--primary);
      transition: color 0.3s;
  }
  #pricing-357 .cs-popular .cs-button-solid:before {
      background-color: var(--secondary);
  }
  #pricing-357 .cs-popular .cs-button-solid:hover {
      color: #fff;
  }
  #pricing-357 .cs-popular .cs-li-img {
      /* turns the check mark white */
      filter: brightness(900%);
  }
  #pricing-357 .cs-h3 {
      font-size: 1.25rem;
      line-height: 1.2em;
      font-weight: 700;
      margin: 0 0 0.25rem;
      padding: 0;
      color: var(--headerColor);
  }
  #pricing-357 .cs-item-text {
      font-size: 0.875rem;
      line-height: 1.5em;
      /* 16px - 24px */
      margin: 0 0 clamp(1rem, 2vw, 1.5rem);
      padding: 0;
      color: var(--bodyTextColor);
  }
  #pricing-357 .cs-option-group {
      position: relative;
  }
  #pricing-357 .cs-option-group:after {
      /* top right box */
      content: "";
      width: 100%;
      height: 1px;
      /* 32px - 40px */
      margin-bottom: clamp(2rem, 4vw, 2.5rem);
      background: linear-gradient(
          90deg,
          rgba(232, 232, 232, 0.2) 0%,
          #e8e8e8 53.78%,
          rgba(232, 232, 232, 0.2) 100%
      );
      opacity: 1;
      position: relative;
      display: block;
  }
  #pricing-357 .cs-price {
      font-size: 3.0625rem;
      line-height: 1.2em;
      font-weight: 700;
      margin-bottom: 1.5rem;
      color: var(--headerColor);
      /* spans are inline, need to add block for margin to work */
      display: block;
  }
  #pricing-357 .cs-small {
      font-size: 0.875rem;
      font-weight: 400;
      color: #4e4b66;
  }
  #pricing-357 .cs-included {
      font-size: 1rem;
      line-height: 1.5em;
      font-weight: 700;
      /* 16px - 24px */
      margin-bottom: clamp(1rem, 3vw, 1.5rem);
      color: var(--headerColor);
      display: block;
  }
  #pricing-357 .cs-ul {
      padding: 0;
      margin: 0;
      /* 32px - 40px */
      margin-bottom: clamp(2rem, 4vw, 2.5rem);
  }
  #pricing-357 .cs-li {
      /* 14px - 16px */
      font-size: clamp(0.875rem, 1.5vw, 1rem);
      line-height: 1.5em;
      list-style: none;
      padding: 0;
      margin: 0 0 0.75rem;
      color: var(--bodyTextColor);
      display: flex;
      justify-content: flex-start;
      align-items: flex-start;
  }
  #pricing-357 .cs-li:last-of-type {
      margin-bottom: 0;
  }
  #pricing-357 .cs-disabled {
      /* fades out list items that are disabled from the price tier */
      filter: grayscale(1);
      opacity: 0.3;
  }
  #pricing-357 .cs-li-img {
      width: 1.25rem;
      height: auto;
      margin-top: 0.1875rem;
      margin-right: 0.5rem;
  }
  #pricing-357 .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;
  }
  #pricing-357 .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;
  }
  #pricing-357 .cs-button-solid:hover:before {
      width: 100%;
  }
  #pricing-357 .cs-button-solid {
      /* cs-button-solid override */
      width: 100%;
      margin: 0 0 1rem 0;
  }
}
/* Tablet 768px */
@media only screen and (min-width: 48rem) {
  #pricing-357 .cs-card-group {
      flex-direction: row;
      flex-wrap: wrap;
      justify-content: space-between;
      flex-wrap: nowrap;
  }
  #pricing-357 .cs-item {
      width: 100%;
      /* ensures they stay the same height if you add more content */
      align-self: stretch;
  }
  #pricing-357 .cs-popular {
      /* send back to its original order */
      order: unset;
  }
  #pricing-357 #cs-option2-357:before {
      top: -0.625rem;
  }
  #pricing-357 #cs-option2-357:after {
      top: -2.1875rem;
      right: -6.25rem;
  }
}

/*-- -------------------------- -->
<---            CTA             -->
<--- -------------------------- -*/
/* Mobile - 360px */
@media only screen and (min-width: 0rem) {
   #cta-80 {
    padding: var(--sectionPadding);
    position: relative;
    z-index: 1;
  } 
  #cta-80:before {
    /* black background on mobile */
    content: "";
    width: 100%;
    height: 50%;
    background: #1a1a1a;
    opacity: 1;
    position: absolute;
    display: block;
    bottom: 0;
    left: 0;
    z-index: -1;
  }
  #cta-80 .cs-stripes {
    width: 100%;
    height: 100%;
    position: absolute;
    top: 0;
    left: 0;
    /* prevent stripes from overlapping sections above and below */
    overflow: hidden;
    /* Makes it so your cursor acts like it doesn't exist */
    pointer-events: none;
  }
  #cta-80 .cs-stripes:before {
    /* Stripe 1 */
    content: "";
    width: 8.25rem;
    height: 68.75rem;
    background: -moz-linear-gradient(top, #ffffff 0%, rgba(255, 255, 255, 0.45) 100%);
    /* FF3.6-15 */
    background: -webkit-linear-gradient(top, #ffffff 0%, rgba(255, 255, 255, 0.45) 100%);
    /* Chrome10-25,Safari5.1-6 */
    background: linear-gradient(to bottom, #ffffff 0%, rgba(255, 255, 255, 0.45) 100%);
    opacity: 0.08;
    transform: rotate(-25deg);
    position: absolute;
    display: block;
    bottom: -9.375rem;
    /* position in the middle, 50% from the left, no matter how wide 
                   the screen gets, it will be placed on the center line of the div */
    left: 50%;
    /* push X amount of pixels from this 50% midpoint */
    margin-left: -18.75rem;
  }
  #cta-80 .cs-stripes:after {
    /* Stripe 2 */
    content: "";
    width: 8.25rem;
    height: 75rem;
    background: -moz-linear-gradient(top, #ffffff 0%, rgba(255, 255, 255, 0.45) 100%);
    /* FF3.6-15 */
    background: -webkit-linear-gradient(top, #ffffff 0%, rgba(255, 255, 255, 0.45) 100%);
    /* Chrome10-25,Safari5.1-6 */
    background: linear-gradient(to bottom, #ffffff 0%, rgba(255, 255, 255, 0.45) 100%);
    opacity: 0.08;
    transform: rotate(-25deg);
    position: absolute;
    display: block;
    bottom: -6.25rem;
    /* position in the middle, 50% from the left, no matter how wide 
                   the screen gets, it will be placed on the center line of the div */
    left: 50%;
    /* push X amount of pixels from this 50% midpoint */
    margin-left: -10.625rem;
  }
  #cta-80 .cs-container {
    width: 100%;
    max-width: 80rem;
    margin: auto;
    display: flex;
    flex-direction: column;
    align-items: center;
    /* 48px - 64px */
    gap: clamp(3rem, 6vw, 4rem);
  }
  #cta-80 .cs-content {
    /* set text align to left or center if content needs to be aligned */
    text-align: center;
    width: 100%;
    display: flex;
    flex-direction: column;
    /* aligns the content */
    align-items: center;
  }
  #cta-80 .cs-title {
    color: var(--bodyTextColorWhite);
  }
  #cta-80 .cs-text {
    color: var(--bodyTextColorWhite);
    margin-bottom: 2rem;
    opacity: 0.8;
  }
  #cta-80 .cs-button-solid {
    font-size: 1rem;
    /* 46px - 56px */
    line-height: clamp(2.875em, 5.5vw, 3.5em);
    text-decoration: none;
    font-weight: 700;
    text-align: center;
    margin: 0;
    color: #fff;
    min-width: 9.375rem;
    padding: 0 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;
  }
  #cta-80 .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;
  }
  #cta-80 .cs-button-solid:hover:before {
    width: 100%;
  }
  #cta-80 .cs-picture {
    width: 100%;
    max-width: 28.5625rem;
    margin: auto;
    position: relative;
    display: block;
    /* moves it to the 1st position at the top */
    order: -1;
    aspect-ratio: 300/475;
  }
  #cta-80 .cs-picture img {
    position: absolute;
    top: 0;
    left: 0;
    height: 100%;
    width: 100%;
    border-radius: 0.5rem 0.5rem 0 0;
    object-fit: cover;
  }
}
/* Tablet - 768px */
@media only screen and (min-width: 48rem) {
  #cta-80 {
    text-align: left;
    /* 144px - 225px - creates the white space above */
    margin-top: clamp(9rem, 9.9vw, 14.0625rem);
    padding-bottom: 0;
    position: relative;
    z-index: 1;
    background-color: #1a1a1a;
  }
  #cta-80:before {
    display: none;
  }
  #cta-80 .cs-stripes:before {
    top: -9.375rem;
    bottom: auto;
    margin-left: -7.5rem;
  }
  #cta-80 .cs-stripes:after {
    top: -6.25rem;
    bottom: auto;
    margin-left: -15.9375rem;
  }
  #cta-80 .cs-container {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    position: relative;
  }
  #cta-80 .cs-content {
    text-align: left;
    width: 50%;
    max-width: 39.375rem;
    margin: 0;
    /* 60px - 100px - this gives us the space on the bottom without padding  */
    margin-bottom: clamp(3.75rem, 6.2vw, 6.25rem);
    align-items: flex-start;
  }
  #cta-80 .cs-picture {
    width: 41vw;
    max-width: 28.5625rem;
    /* height is a percentage of parent container height. When the cs-content height changes from extra text, the height of the image adjusts. Since the container is now longer/shorter, 150% of that height with also be longer/shorter */
    height: clamp(145%, 44vw, 160%);
    /* 500px - 578px */
    max-height: clamp(31.25rem, 44vw, 36.125rem);
    margin: 0;
    /* position absolute so we can have the cs-content centered inside the black section and have it respond to different heights of the cs-content */
    position: absolute;
    right: 0;
    bottom: 0;
    /* reset */
    aspect-ratio: none;
  }
}
/* Small Desktop - 1024px */
@media only screen and (min-width: 64rem) {
  #cta-80 {
    /* 144px - 200px */
    margin-top: clamp(9rem, 12.9vw, 12.5rem);
  }
  #cta-80 .cs-stripes:before {
    margin-left: -13.75rem;
    width: 12.1875rem;
  }
  #cta-80 .cs-stripes:after {
    margin-left: -26.875rem;
    width: 12.125rem;
  }
}

/*-- ------------------------------------------- -->
<---          Banner for Content Page            -->
<--- ------------------------------------------- -*/

/* Mobile - 360px */
@media only screen and (min-width: 0rem) {
  #banner-559 {
      padding: var(--sectionPadding);
      /* 137px - 212px */
      padding-top: clamp(8.5625rem, 25vw, 13.25rem);
      /* clips the line from causing overflow issues for going off screen */
      overflow: hidden;
      position: relative;
      z-index: 1;
  }
  #banner-559 .cs-container {
      text-align: center;
      width: 100%;
      max-width: 80rem;
      margin: auto;
      display: flex;
      justify-content: center;
      align-items: flex-start;
      flex-direction: column;
      gap: 1rem;
  }
  #banner-559 .cs-int-topper {
      font-size: var(--topperFontSize);
      text-transform: uppercase;
      font-weight: 700;
      letter-spacing: 0.01em;
      margin: 0;
      padding: 0 0 0 1.25rem;
      color: var(--bodyTextColorWhite);
      display: block;
      position: relative;
  }
  #banner-559 .cs-int-topper:before {
      /* yellow line */
      content: "";
      width: 50vw;
      height: 2px;
      background: var(--secondary);
      opacity: 1;
      position: absolute;
      display: block;
      top: 50%;
      right: 100%;
      transform: translateY(-50%);
  }
  #banner-559 .cs-int-title {
      /* 39px - 61px */
      font-size: clamp(2.4375rem, 6.4vw, 3.8125rem);
      font-weight: 900;
      line-height: 1.2em;
      text-align: inherit;
      margin: 0;
      color: var(--bodyTextColorWhite);
      position: relative;
  }
  #banner-559 .cs-breadcrumbs {
      color: var(--primaryLight);
      display: flex;
      justify-content: center;
      align-items: center;
  }
  #banner-559 .cs-link {
      /* 16px - 20px */
      font-size: clamp(1rem, 1.5vw, 1.25rem);
      line-height: 1.2em;
      text-decoration: none;
      color: var(--bodyTextColorWhite);
      position: relative;
      display: flex;
      justify-content: center;
      align-items: center;
  }
  
  #banner-559 .cs-link:last-of-type::after {
      display: none;
  }
  #banner-559 .cs-link:after {
      /* chevron - added as pseudo to make adding and removing them easier */
      content: "";
      width: 1.875rem;
      height: 0.125rem;
      /* 12px - 24px */
      margin: 0 clamp(0.75rem, 2vw, 1.5rem);
      background-color: #fff;
  }
  #banner-559 .cs-link.cs-active {
      color: #fff;
  }
  #banner-559 .cs-background {
      width: 100%;
      height: 100%;
      display: block;
      position: absolute;
      top: 0;
      left: 0;
      z-index: -1;
  }
  #banner-559 .cs-background:before {
      /* background color overlay */
      content: "";
      position: absolute;
      display: block;
      height: 100%;
      width: 100%;
      background: var(--primary);
      opacity: 0.9;
      top: 0;
      left: 0;
      z-index: 1;
  }
  #banner-559 .cs-background img {
      position: absolute;
      top: 0;
      left: 0;
      height: 100%;
      width: 100%;
      /* Makes img tag act as a background image */
      object-fit: cover;
  }
}

                              

/*-- -------------------------- -->
<---          Content           -->
<--- -------------------------- -*/

/* Mobile - 360px */
@media only screen and (min-width: 0rem) {
  #content-1450 {
    padding: var(--sectionPadding);
  }
  #content-1450 .cs-container {
    width: 100%;
    max-width: 80rem;
    margin: auto;
    display: flex;
    flex-direction: column;
    align-items: center;
    /* 48px - 64px */
    gap: clamp(3rem, 6vw, 4rem);
  }
  #content-1450 .cs-content {
    /* set text align to left if content needs to be left aligned */
    text-align: left;
    width: 100%;
    display: flex;
    flex-direction: column;
    /* centers content horizontally, set to flex-start to left align */
    align-items: center;
  }
  #content-1450 .cs-title,
  #content-1450 .cs-text {
    max-width: 100%;
  }
  #content-1450 .cs-text {
    /* 16px - 20px */
    font-size: clamp(1rem, 2vw, 1.25rem);
    margin: 0 0 2rem 0;
  }
  #content-1450 .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 3rem;
    background-color: var(--primary);
    border-radius: 0.5rem;
    overflow: hidden;
    display: inline-block;
    position: relative;
    z-index: 1;
    /* prevents padding from adding to the width */
    box-sizing: border-box;
  }
  #content-1450 .cs-button-solid:before {
    content: '';
    position: absolute;
    height: 100%;
    width: 0%;
    background: #000;
    opacity: 1;
    top: 0;
    left: 0;
    z-index: -1;
    transition: width .3s;
  }
  #content-1450 .cs-button-solid:hover:before {
    width: 100%;
  }
}
                                
                                
#toc {
  padding: 10px;
  margin-bottom: 20px;
}

#toc ul {
  list-style-type: none;
  padding-left: 0;
  counter-reset: section;
}

#toc li {
  counter-increment: section;
  margin: 6px 0;
  padding-left: 0.5em;
  position: relative;
  font-family: 'Maven Pro', 'Arial', sans-serif;
  font-size: 0.95rem;
  font-weight: 600;
  text-transform: uppercase;
  color: var(--bodyTextColor);
}

/* Sub-level items */
#toc li ul {
  counter-reset: subsection;
  margin-left: 1.5em;
  margin-top: 0.2em;
}

#toc li ul li {
  counter-increment: subsection;
  font-size: 0.85rem;
  font-weight: 500;
}

/* Link styling */
#toc a {
  text-decoration: none;
  color: var(--bodyTextColor);
}

#toc a:hover {
  color: var(--primary);
}

#toc h2 {
  font-family: 'Maven Pro', 'Arial', sans-serif;
  font-size: 2.2rem;
  font-weight: 700;
  text-transform: uppercase;
  color: var(--headerColor);
  margin-bottom: 1rem;
  text-align: center;
}


/* Tablet - 768px */
@media only screen and (min-width: 48rem) {
  #content-page-1532 .cs-container {
    flex-direction: row;
    align-items: flex-start;
    justify-content: space-between;
  }
  #content-page-1532 .cs-content {
    width: 60%;
    max-width: 43.375rem;
    /* prevents flexbox from squishing it */
    flex: none;
  }
  #content-page-1532 .cs-image-group {
    font-size: min(1.3vw, 1em);
    display: block;
  }
}
/* Desktop - 1200px */
@media only screen and (min-width: 75rem) {
  #content-page-1532 .cs-content {
    width: 53%;
  }
}
                                
/*-- ------------------------------------- -->
<---       Blog Page Side By Side         -->
<--- -------------------------------------- -*/

/* Mobile - 360px */
@media only screen and (min-width: 0rem) {
  @keyframes floatAnimation {
      0% {
          transform: translateY(0);
      }
      50% {
          transform: translateY(-2rem);
      }
      100% {
          transform: translateY(0);
      }
  }
  @keyframes floatAnimation2 {
      0% {
          transform: translateY(0);
      }
      50% {
          transform: translateY(-3rem);
      }
      100% {
          transform: translateY(0);
      }
  }
  #sbs-1362 {
      padding: var(--sectionPadding);
      position: relative;
      overflow: hidden;
      z-index: 1;
  }
  #sbs-1362 .cs-container {
      width: 100%;
      /* changes to 1280px at desktop */
      max-width: 36.5rem;
      padding-top: 4rem;
      margin: auto;
      display: flex;
      flex-direction: column;
      align-items: center;
      /* 48px - 64px */
      gap: clamp(3rem, 6vw, 4rem);
  }

  #sbs-1362 .cs-content {
    /* set text align to left if content needs to be left aligned */
    text-align: left;
    width: 100%;
    display: flex;
    flex-direction: column;
    /* centers content horizontally, set to flex-start to left align */
    align-items: flex-start;
  }
  #sbs-1362 .cs-title,
  #sbs-1362 .cs-text {
    max-width: 100%;
  }
  #sbs-1362 .cs-text {
    /* 16px - 20px */
    font-size: clamp(1rem, 2vw, 1rem);
    margin: 0 0 2rem 0;
  }

  #sbs-1362 .cs-topper {
      color:var(--primaryLight);
  }

  #sbs-1362 .cs-title-full {
    /* 23 characters wide including spaces */
    max-width: 100ch;
    font-family: 'Maven Pro', 'Arial', sans-serif;
    font-size: 2.5rem;
}

#sbs-1362 .cs-text {
    margin-bottom: 1rem;
  }
  
#sbs-1362 .cs-text:last-of-type {
      margin-bottom: 1.5rem;
  }
  #sbs-1362 .cs-card-group {
      width: 100%;
      max-width: 39.375rem;
      margin: 0 0 1.5rem 0;
      padding: 0;
      display: grid;
      grid-template-columns: repeat(auto-fit, minmax(15.625rem, 1fr));
      align-items: center;
      gap: clamp(1rem, 2vw, 1.25rem);
  }
  #sbs-1362 .cs-item {
      list-style: none;
      /* 16px - 24px */
      padding: clamp(1rem, 3vw, 1.5rem);
      /* prevents padding from affecting height and width */
      box-sizing: border-box;
      background-color: #f7f7f7;
      border-radius: 1rem;
      border: 1px solid #e8e8e8;
      display: flex;
      flex-direction: column;
      align-items: flex-start;
      gap: 0.75rem;
  }
  #sbs-1362 .cs-h3 {
      font-size: 1.25rem;
      line-height: 1.2em;
      font-weight: 700;
      margin: 0;
      color: var(--headerColor);
      display: flex;
      justify-content: flex-start;
      align-items: center;
      gap: 0.5rem;
  }
  #sbs-1362 .cs-h3-icon {
      width: 2rem;
      height: auto;
      display: block;
  }
  #sbs-1362 .cs-item-text {
      font-size: 0.875rem;
      line-height: 1.5em;
      margin: 0;
      color: var(--bodyTextColor);
  }
  #sbs-1362 .cs-ul {
      width: 100%;
      margin: 0 0 1.5rem 0;
      padding: 0;
      display: flex;
      flex-direction: column;
      align-items: flex-start;
      gap: 0.75rem;
  }
  #sbs-1362 .cs-li {
      font-size: var(--bodyFontSize);
      list-style: none;
      line-height: 1.5em;
      width: 100%;
      color: var(--bodyTextColor);
      display: flex;
      justify-content: flex-start;
      /* push icon top the top so if the list item goes to two lines the icon stays at the top */
      align-items: flex-start;
      gap: 0.5rem;
  }
  #sbs-1362 .cs-icon {
      width: 1.5rem;
      height: auto;
      /* adds extra space between the icon and top of parent so it's more centered */
      margin-top: 1px;
      display: block;
  }
  #sbs-1362 .cs-button-solid {
      font-size: 1rem;
      line-height: 3.5rem;
      text-decoration: none;
      font-weight: 700;
      overflow: hidden;
      margin: 0;
      color: #fff;
      padding: 0 3rem;
      border-radius: 1.875rem;
      background-color: var(--primary);
      display: inline-block;
      position: relative;
      z-index: 1;
      transition: color 0.3s;
  }
  #sbs-1362 .cs-button-solid:before {
      content: "";
      position: absolute;
      display: block;
      height: 100%;
      width: 0%;
      background: #1a1a1a;
      opacity: 1;
      top: 0;
      left: 0;
      z-index: -1;
      transition: width 0.3s;
  }
  #sbs-1362 .cs-button-solid:hover {
      color: var(--primary);
  }
  #sbs-1362 .cs-button-solid:hover:before {
      width: 100%;
  }
 
  #sbs-1362 .cs-background {
      width: 100%;
      height: 100%;
      background-color: #a2aebb;
      border: 1px solid #4e4b66; 
      border-radius: 2%;
      box-shadow: 12px 12px 2px 1px rgba(194, 198, 199, 0.2); 
      /* makes it cover the parent dimensions */
      object-fit: cover;
      display: block;
  }

  #sbs-1362 .blog-image {
    border: 1px solid #4e4b66;
    border-radius: 2%;
  }

  /* Media Queries for responsiveness */
  
  /* For tablets and small devices */
  @media only screen and (max-width: 768px) {
    #sbs-1362 .feature-image-container {
      max-width: 90%;
      margin: 3rem auto 1.5rem auto;
    }
  }
  
  /* For mobile devices */
  @media only screen and (max-width: 480px) {
    #sbs-1362 .feature-image-container {
      max-width: 95%;
      margin: 2rem auto 1rem auto;
    }
  }
  
/* Overlay container for the title text */
#sbs-1362 .feature-title-overlay {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  width: 90%;  /* Prevents text overflow */
  z-index: 3;  /* Ensures the title is above the overlay */
  color: #fff;
  text-shadow: 1px 1px 4px rgba(0, 0, 0, 0.8);
}

/* Optional: Adjust spacing for title texts within the overlay */
#sbs-1362 .feature-title-overlay .cs-topper,
#sbs-1362 .feature-title-overlay .cs-title-full {
  margin: 0.5rem 0;
}

/* Media Queries for responsive text overlay */

/* For tablets and small devices */
@media only screen and (max-width: 768px) {
  #sbs-1362 .feature-title-overlay {
    width: 95%;          /* Increase width for better legibility */
    padding: 0 1rem;     /* Add side padding to prevent text from touching the edges */
  }
  #sbs-1362 .feature-title-overlay .cs-topper,
  #sbs-1362 .feature-title-overlay .cs-title-full {
    margin: 0.4rem 0;    /* Slightly reduce vertical spacing */
  }
}

/* For mobile devices */
@media only screen and (max-width: 480px) {
  #sbs-1362 .feature-title-overlay {
    width: 100%;         /* Use full width on smaller screens */
    padding: 0 0.5rem;   /* Adjust padding to maximize space */
  }
  #sbs-1362 .feature-title-overlay .cs-topper,
  #sbs-1362 .feature-title-overlay .cs-title-full {
    margin: 0.3rem 0;    /* Further reduce spacing for mobile */
    font-size: 0.9rem;   /* Optionally decrease font size for readability */
  }
}


  #sbs-1362 .cs-box {
      text-align: left;
      width: 100%;
      max-width: 19rem;
      padding: 2rem;
      /* prevents padding from affecting height and width */
      box-sizing: border-box;
      background-color: var(--primary);
      /* 48px - 80px */
      border-radius: 2rem;
      display: flex;
      flex-direction: column;
      align-items: flex-start;
      gap: 1.5rem;
      position: absolute;
      /* 12px - 20px */
      right: clamp(0.75rem, 1.9vw, 1.5rem);
      /* 12px - 20px */
      bottom: clamp(0.75rem, 1.9vw, 1.5rem);
  }
  #sbs-1362 .cs-box-icon {
      width: 3.75rem;
      height: auto;
      display: block;
  }
  #sbs-1362 .cs-desc {
      font-size: 1.25rem;
      line-height: 1.2em;
      text-align: inherit;
      font-weight: 700;
      width: 100%;
      margin: 0;
      color: var(--bodyTextColorWhite);
  }
  #sbs-1362 .cs-bubbles {
      font-size: min(2.5vw, 0.7em);
      width: 26.1875em;
      height: 26.6875em;
      position: absolute;
      /* changes to 160px at larger desktop */
      right: -16.25em;
      /* changes to 30px at large desktop */
      bottom: -3.125em;
      z-index: -1;
  }
  #sbs-1362 .cs-bubbles:before {
      /* white border bubble */
      content: "";
      width: 20.625em;
      height: 20.625em;
      background: transparent;
      border: 1px solid #1a1a1a;
      border-radius: 50%;
      opacity: 1;
      position: absolute;
      display: block;
      top: 0;
      right: 0;
      animation-name: floatAnimation;
      animation-duration: 5s;
      animation-timing-function: ease-in-out;
      animation-fill-mode: forwards;
      animation-iteration-count: infinite;
  }
  #sbs-1362 .cs-bubbles:after {
      /* orange bubble */
      content: "";
      width: 16.25em;
      height: 16.25em;
      background: var(--primary);
      opacity: 0.15;
      border-radius: 50%;
      display: block;
      position: absolute;
      bottom: 0;
      left: 0;
      z-index: -1;
      animation-name: floatAnimation2;
      animation-duration: 14s;
      animation-timing-function: ease-in-out;
      animation-fill-mode: forwards;
      animation-iteration-count: infinite;
  }
}
/* Small Desktop - 1024px */
@media only screen and (min-width: 64rem) {
  #sbs-1362 .cs-container {
      max-width: 80rem;
      flex-direction: row;
      justify-content: space-between;
      align-items: stretch;
  }
  #sbs-1362 .cs-image-group {
      height: auto;
  }
  #sbs-1362 .cs-bubbles {
      font-size: min(2.5vw, 1em);
  }
}
/* Large Desktop 1600px */
@media only screen and (min-width: 100rem) {
  #sbs-1362 .cs-bubbles {
      margin-left: 40.625rem;
      right: auto;
      left: 50%;
      bottom: 1.875rem;
  }
}

/*-- -------------------------- -->
<---        Content Page        -->
<--- -------------------------- -*/

/* Mobile - 360px */
@media only screen and (min-width: 0rem) {
  #content-page-1945 {
    padding: var(--sectionPadding);
    padding-bottom: 1.5rem;
    overflow: hidden;
    position: relative;
    z-index: 1;
  }
  #content-page-1945 .cs-container {
    width: 100%;
    max-width: 80rem;
    margin: auto;
    display: flex;
    flex-direction: column;
    align-items: center;
    /* 48px - 64px */
    gap: clamp(3rem, 6vw, 4rem);
    position: relative;
  }
  #content-page-1945 .cs-content {
    text-align: left;
    width: 100%;
    max-width: 57.75rem;
    display: flex;
    flex-direction: column;
    align-items: flex-start;
  }
  #content-page-1945 .cs-title {
    font-size: var(--headerFontSize);
    font-weight: 900;
    line-height: 1.2em;
    text-align: inherit;
    width: 100%;
    max-width: 100%;
    margin: 0 0 1rem 0;
    color: var(--headerColor);
    position: relative;
  }
  #content-page-1945 h2,
  #content-page-1945 h3,
  #content-page-1945 h4,
  #content-page-1945 h5,
  #content-page-1945 h6 {
    font-weight: 700;
    text-align: inherit;
    margin: 0 0 1rem 0;
    color: var(--headerColor);
  }
  #content-page-1945 h2 {
    font-size: 2rem;
    margin-top: 2rem;
  }
  #content-page-1945 h3 {
    font-size: 1.5rem;
    color: var(--primary);
  }
  #content-page-1945 h4,
  #content-page-1945 h5,
  #content-page-1945 h6 {
    font-size: 1.25rem;
  }
  #content-page-1945 .cs-button-solid {
    margin-bottom: 2rem;
  }
  #content-page-1945 p {
    font-size: var(--bodyFontSize);
    line-height: 1.5em;
    text-align: inherit;
    width: 100%;
    margin: 0 0 1rem 0;
    color: var(--bodyTextColor);
  }
  #content-page-1945 p .cs-intro {
    font-size: var(--bodyFontSize);
    font-style: oblique 40deg;
    line-height: 1.5em;
    text-align: inherit;
    width: 100%;
    margin: 0 0 1rem 0;
    color: var(--bodyTextColor);
  }
  #content-page-1945 p:last-of-type {
    margin-bottom: 2rem;
  }
  #content-page-1945 p a {
    font-size: inherit;
    line-height: inherit;
    text-decoration: underline;
    color: var(--primary);
    filter: brightness(120%);
  }
  #content-page-1945 ol {
    margin: 0 0 2rem 0;
    padding-left: 1.5rem;
    color: var(--headerColor);
    display: flex;
    flex-direction: column;
    gap: 1rem;
  }
  #content-page-1945 ol li {
    font-size: 1rem;
    line-height: 1.5em;
  }
  #content-page-1945 ol li strong {
    color: var(--headerColor);
  }
  #content-page-1945 ol li p:last-of-type {
    margin: 0;
  }
  #content-page-1945 ul {
    margin: 0 0 2rem 0;
    padding-left: 1.5rem;
    color: var(--bodyTextColor);
    display: flex;
    flex-direction: column;
    gap: 1rem;
  }
  #content-page-1945 ul li {
    list-style: none;
    line-height: 1.5em;
    font-size: 1rem;
    color: inherit;
    position: relative;
  }
  #content-page-1945 ul li strong {
    color: var(--headerColor);
  }
  #content-page-1945 ul li:before {
    /* custom list bullet */
    content: "";
    width: 3px;
    height: 3px;
    background: currentColor;
    opacity: 1;
    border-radius: 50%;
    display: block;
    position: absolute;
    top: 0.625rem;
    left: -0.75rem;
  }
  #content-page-1945 .cs-side-content {
    font-size: min(2.29vw, 1rem);
    width: 19.875em;
    height: 47.75em;
    position: relative;
    z-index: 2;
  }
  #content-page-1945 .table-of-contents {
    border: 1px solid rgba(149, 157, 165, 0.4);
    border-radius: 02%;
  }

  #content-page-1945 .table-of-contents h2 {
    font-size: min(3.29vw, 1.2rem);
    font-weight: 700;
    text-align: inherit;
    margin: 2rem 0 1rem 0;
    padding-bottom: .5rem;
    color: var(--headerColor);
   }
  
  #content-page-1945 .table-of-contents h2::after {
    content:' ';
    display:block;
    border:2px solid #242121;
    width: 20%;
    margin-top: 1rem;
    border-radius:4px;
    -webkit-border-radius:4px;
    -moz-border-radius:4px;
    box-shadow:inset 0 1px 1px rgba(0, 0, 0, .05);
    -webkit-box-shadow:inset 0 1px 1px rgba(0, 0, 0, .05);
    -moz-box-shadow:inset 0 1px 1px rgba(0, 0, 0, .05);
  }

  #content-page-1945 .cs-graphic {
    height: auto;
    position: absolute;
  }
  #content-page-1945 .cs-twirl {
    width: 11.0625em;
    height: auto;
    top: 0.9375em;
    right: 0;
    z-index: 1;
  }
  #content-page-1945 .cs-peach {
    width: 5.375em;
    height: auto;
    top: 0.375em;
    right: 5.6875em;
  }
  #content-page-1945 .cs-blob {
    width: 19.1875em;
    height: auto;
    bottom: 0;
    left: 0;
    z-index: -2;
  }
  #content-page-1945 .cs-leaf {
    width: 16.4375em;
    height: auto;
    right: 0;
    bottom: 0;
    z-index: -3;
  }
  #content-page-1945 .blog-image {
    border: 1px solid rgba(149, 157, 165, 0.4);
    border-radius: 2%;
    margin-bottom: 1rem;
  }
}

/* Desktop - 1024px */
@media only screen and (min-width: 64rem) {
  #content-page-1945 .cs-container {
    flex-direction: row;
    align-items: flex-start;
  }
  #content-page-1945 .cs-image-group {
    font-size: min(1.2vw, 1rem);
    display: block;
    flex: none;
  }
}

/*-- -------------------------- -->
<---  Blog Post Sidebar Layout -->
<--- -------------------------- -*/
@media only screen and (min-width: 0rem) {
  #services-282.cs-blog-cards .cs-container {
    max-width: 100%;
    width: min(100%, 980px);
    padding-inline: 1.5rem;
    box-sizing: border-box;
    display: block !important;
    align-items: stretch !important;
    margin-inline: auto;
  }
  #services-282.cs-blog-cards .cs-topper {
    width: 100%;
    margin: 0;
    text-align: left;
    display: block;
  }
  #services-282.cs-blog-cards .cs-title {
    width: 100%;
    margin: 0;
    text-align: left;
    display: block;
  }
  #services-282.cs-blog-cards .cs-card-group {
    margin: 2rem 0 0;
    padding: 0;
    display: grid;
    gap: 1.25rem;
    grid-template-columns: repeat(3, 300px);
    justify-content: space-between;
    grid-auto-flow: row;
    align-items: stretch;
    list-style: none;
    width: 100%;
    max-width: 100%;
  }
  #services-282.cs-blog-cards .cs-item {
    width: 100%;
    min-width: 0;
    background: linear-gradient(150deg, rgba(255, 255, 255, 0.96), rgba(246, 250, 255, 0.95));
    border: 1px solid #d8e4f3;
    border-radius: 1.15rem;
    padding: 0;
    position: relative;
    overflow: hidden;
    transition: transform 0.2s ease, box-shadow 0.2s ease, border-color 0.2s ease;
    box-shadow: 0 20px 30px rgba(20, 50, 90, 0.08);
    display: flex;
  }
  #services-282.cs-blog-cards .cs-item::before {
    content: "";
    position: absolute;
    inset: 0 0 auto 0;
    height: 0.45rem;
    background: linear-gradient(90deg, #0e7fbf 0%, #4abf94 100%);
  }
  #services-282.cs-blog-cards .cs-link {
    text-decoration: none;
    color: inherit;
    padding: 1.35rem 1.4rem 1.4rem;
    display: block;
    height: 100%;
    box-sizing: border-box;
  }
  #services-282.cs-blog-cards .cs-link:hover {
    color: inherit;
  }
  #services-282.cs-blog-cards .cs-item:hover {
    transform: translateY(-6px);
    border-color: #9fc2de;
    box-shadow: 0 24px 36px rgba(12, 68, 130, 0.15);
    color: #1d2f40;
  }
  #services-282.cs-blog-cards .cs-item:hover .cs-h3,
  #services-282.cs-blog-cards .cs-item:hover .cs-item-text,
  #services-282.cs-blog-cards .cs-item:hover .cs-link {
    color: #1d2f40 !important;
  }
  #services-282.cs-blog-cards .cs-item .cs-step-badge {
    width: 2.1rem;
    height: 2.1rem;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border-radius: 999px;
    margin-bottom: 1rem;
    background: #0e7fbf;
    color: #fff;
    font-weight: 700;
    font-size: 0.95rem;
    line-height: 1;
    box-shadow: 0 8px 18px rgba(14, 127, 191, 0.35);
  }
  #services-282.cs-blog-cards .cs-h3 {
    margin: 0.2rem 0 0.65rem;
  }
  #services-282.cs-blog-cards .cs-item-text {
    margin: 0;
    line-height: 1.6;
    color: #2c3c4d;
    font-size: 1rem;
  }
  #services-282.cs-blog-cards .cs-topper,
  #services-282.cs-blog-cards .cs-title {
    text-align: left;
  }
}
@media only screen and (max-width: 1024px) {
  #services-282.cs-blog-cards .cs-card-group {
    grid-template-columns: repeat(2, minmax(280px, 300px));
    justify-content: center;
    gap: 1rem;
  }
}
@media only screen and (max-width: 720px) {
  #services-282.cs-blog-cards .cs-card-group {
    grid-template-columns: 1fr;
    justify-content: stretch;
  }
}

@media only screen and (min-width: 0rem) {
  #hero-1946 .table-of-contents {
    background: linear-gradient(150deg, rgba(255, 255, 255, 0.96), rgba(246, 250, 255, 0.95));
    border: 1px solid #d8e4f3;
    border-radius: 1.1rem;
    box-shadow: 0 18px 28px rgba(20, 50, 90, 0.08);
    padding: 10px;
    margin-bottom: 20px;
    position: relative;
    height: 100%;
    width: 100%;
    min-height: 100%;
    box-sizing: border-box;
  }
  #hero-1946 .table-of-contents::before {
    content: "";
    position: absolute;
    inset: 0 0 auto 0;
    height: 0.4rem;
    background: linear-gradient(90deg, #0e7fbf 0%, #4abf94 100%);
    border-radius: 1.1rem 1.1rem 0 0;
  }
  #hero-1946 .cs-side-content.cs-item {
    padding: 0;
    width: 100%;
    max-width: 100%;
    box-sizing: border-box;
    align-self: stretch;
  }
  #hero-1946 .cs-side-content.cs-item .table-of-contents {
    width: 100%;
    min-height: 100%;
  }
  #hero-1946 #toc h2 {
    text-align: left;
  }
  #hero-1946 #toc h2::after {
    display: none;
  }
  #hero-1946 #toc-list li a {
    transition: color 0.2s ease;
  }
  #hero-1946 #toc-list li a:hover {
    color: #0e7fbf;
  }
}

#content-page-1945.cs-post-sidebar-layout .cs-blog-sidebar,
#content-page-1945.cs-post-sidebar-layout .cs-content-sidebar {
  width: 100%;
}
#content-page-1945.cs-post-sidebar-layout .cs-blog-sidebar {
  background: linear-gradient(150deg, rgba(255, 255, 255, 0.96), rgba(246, 250, 255, 0.95));
  border: 1px solid #d8e4f3;
  border-radius: 1.1rem;
  box-shadow: 0 18px 28px rgba(20, 50, 90, 0.08);
  padding: 1.25rem 1.25rem 1.35rem;
  margin-bottom: 1.25rem;
  position: relative;
  box-sizing: border-box;
  width: 100%;
}
#content-page-1945.cs-post-sidebar-layout .cs-blog-sidebar::before {
  content: "";
  position: absolute;
  inset: 0 0 auto 0;
  height: 0.35rem;
  background: linear-gradient(90deg, #0e7fbf 0%, #4abf94 100%);
  border-radius: 1.1rem 1.1rem 0 0;
}
#content-page-1945.cs-post-sidebar-layout .cs-widget-title {
  margin: 0 0 0.9rem;
  font-size: 1.2rem;
  text-transform: uppercase;
  letter-spacing: 0.07em;
  color: #102f4a;
  font-weight: 700;
  font-family: 'Maven Pro', 'Arial', sans-serif;
}
#content-page-1945.cs-post-sidebar-layout .cs-widget {
  padding: 0.25rem 0 0.75rem;
  margin-bottom: 1rem;
  border-bottom: 1px solid rgba(14, 127, 191, 0.08);
}
#content-page-1945.cs-post-sidebar-layout .cs-widget:last-child {
  border-bottom: none;
  margin-bottom: 0;
  padding-bottom: 0.25rem;
}
#content-page-1945.cs-post-sidebar-layout .cs-widget-list {
  list-style: none;
  margin: 0;
  padding: 0;
  display: grid;
  gap: 0.65rem;
}
#content-page-1945.cs-post-sidebar-layout .cs-widget-list li + li {
  padding-top: 0.1rem;
}
#content-page-1945.cs-post-sidebar-layout .cs-widget-list li {
  margin: 0;
  line-height: 1.5;
  display: block;
}
#content-page-1945.cs-post-sidebar-layout .cs-widget-list a {
  text-decoration: none;
  color: #1d2f40;
  font-size: 1rem;
  line-height: 1.45;
  transition: color 0.2s ease;
}
#content-page-1945.cs-post-sidebar-layout .cs-widget-list a:hover {
  color: #0e7fbf;
}
#content-page-1945.cs-post-sidebar-layout .cs-widget-meta {
  margin: 0.2rem 0 0;
  color: rgba(29, 47, 64, 0.72);
  font-size: 0.94rem;
  line-height: 1.55;
}
#content-page-1945.cs-post-sidebar-layout .cs-content-sidebar .cs-widget:last-child {
  margin-bottom: 0;
}

@media only screen and (min-width: 64rem) {
  #content-page-1945.cs-post-sidebar-layout .cs-container {
    display: grid;
    grid-template-columns: minmax(0, 68%) minmax(250px, 19rem);
    gap: 1.5rem;
    align-items: start;
    flex-direction: unset;
  }
  #content-page-1945.cs-post-sidebar-layout .cs-content {
    max-width: 68rem;
    width: min(100%, 68rem);
  }
  #content-page-1945.cs-post-sidebar-layout .cs-content-sidebar {
    justify-self: end;
    position: sticky;
    top: 1rem;
  }
}

/*-- -------------------------- -->
<---    Content Page Reverse    -->
<--- -------------------------- -*/

/* Mobile - 360px */
@media only screen and (min-width: 0rem) {
  #content-page-1945 .cs-content-reverse {
    padding-top: 2.25rem;
  }
  #content-page-1945 .cs-content-reverse .cs-container {
    display: flex;
    flex-direction: column;
    align-items: center;
  }
  #content-page-1945 .cs-content-reverse .cs-image-group {
    font-size: min(1.8vw, 0.9rem);
    width: 47.8125em;
    height: 24.5em;
    display: block;
    position: relative;
    z-index: 1;
  }
  #content-page-1945 .cs-content-reverse .cs-picture {
    width: 47em;
    height: 21.25em;
    height: 100%;
    box-sizing: border-box;
    background-color: var(--primary);
    overflow: hidden;
    border: 0.5em solid var(--primary);
    border-radius: 16.25rem;
    position: absolute;
    z-index: -1;
  }
  #content-page-1945 .cs-content-reverse .cs-picture img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    position: absolute;
    top: 0;
    left: 0;
    transition: transform 0.7s;
  }
  #content-page-1945 .cs-content-reverse .cs-graphic {
    height: auto;
    position: absolute;
  }
  #content-page-1945 .cs-content-reverse .cs-dots {
    width: 8.5625em;
    height: auto;
    top: -2em;
    left: 2em;
  }
  #content-page-1945 .cs-content-reverse .cs-brown {
    width: 12.6875em;
    height: auto;
    top: 0;
    right: 0;
    z-index: -3;
  }
  #content-page-1945 .cs-content-reverse .cs-peach-right {
    width: 4.1875em;
    height: auto;
    top: -1.1875em;
    right: 8.3125em;
  }
  #content-page-1945 .cs-content-reverse .cs-leaf-right {
    width: 17.6875em;
    height: auto;
    bottom: -0.875em;
    left: 2em;
  }
}
/* Large Desktop 1300px */
@media only screen and (min-width: 81.25rem) {
  #content-page-1945 .cs-content-reverse .cs-container {
    flex-direction: row;
    align-items: flex-start;
  }
  #content-page-1945 .cs-content-reverse .cs-image-group {
    width: 38em;
    height: 30.125em;
    margin-top: 3rem;
    order: -1;
  }
  #content-page-1945 .cs-content-reverse .cs-picture {
    width: 38em;
  }
  #content-page-1945 .cs-content-reverse .cs-dots {
    top: -1em;
  }
}
                                
                                                            
/*-- -------------------------- -->
<---          Banner            -->
<--- -------------------------- -*/

/* Mobile - 360px */
@media only screen and (min-width: 0rem) {
  #banner-559 {
      padding: var(--sectionPadding);
      /* 137px - 212px */
      padding-top: clamp(8.5625rem, 25vw, 13.25rem);
      /* clips the line from causing overflow issues for going off screen */
      overflow: hidden;
      position: relative;
      z-index: 1;
  }
  #banner-559 .cs-container {
      text-align: center;
      width: 100%;
      max-width: 80rem;
      margin: auto;
      display: flex;
      justify-content: center;
      align-items: flex-start;
      flex-direction: column;
      gap: 1rem;
  }
  #banner-559 .cs-int-topper {
      font-family: 'Maven Pro', 'Arial', sans-serif;
      font-size: var(--topperFontSize);
      text-transform: uppercase;
      font-weight: 700;
      letter-spacing: 0.01em;
      margin: 0;
      padding: 0 0 0 1.25rem;
      color: var(--bodyTextColorWhite);
      display: block;
      position: relative;
  }
  #banner-559 .cs-int-topper:before {
      /* yellow line */
      content: "";
      width: 50vw;
      height: 2px;
      background: var(--secondary);
      opacity: 1;
      position: absolute;
      display: block;
      top: 50%;
      right: 100%;
      transform: translateY(-50%);
  }
  #banner-559 .cs-int-title {
      /* 39px - 61px */
      font-family: 'Maven Pro', 'Arial', sans-serif;
      font-size: clamp(2.4375rem, 6.4vw, 3.8125rem);
      font-weight: 900;
      line-height: 1.2em;
      text-align: inherit;
      margin: 0;
      color: var(--bodyTextColorWhite);
      position: relative;
  }
  #banner-559 .cs-breadcrumbs {
      display: flex;
      justify-content: center;
      align-items: center;
  }
  #banner-559 .cs-link {
      /* 16px - 20px */
      font-size: clamp(1rem, 1.5vw, 1.25rem);
      line-height: 1.2em;
      text-decoration: none;
      color: var(--bodyTextColorWhite);
      position: relative;
      display: flex;
      justify-content: center;
      align-items: center;
  }
  
  #banner-559 .cs-link:last-of-type::after {
      display: none;
  }
  #banner-559 .cs-link:after {
      /* chevron - added as pseudo to make adding and removing them easier */
      content: "";
      width: 1.875rem;
      height: 0.125rem;
      /* 12px - 24px */
      margin: 0 clamp(0.75rem, 2vw, 1.5rem);
      background-color: #fff;
  }
  #banner-559 .cs-link.cs-active {
      color: var(--secondary);
  }
  #banner-559 .cs-background {
      width: 100%;
      height: 100%;
      display: block;
      position: absolute;
      top: 0;
      left: 0;
      z-index: -1;
  }
  #banner-559 .cs-background:before {
      /* background color overlay */
      content: "";
      position: absolute;
      display: block;
      height: 100%;
      width: 100%;
      background: var(--primary);
      opacity: 0.9;
      top: 0;
      left: 0;
      z-index: 1;
  }
  #banner-559 .cs-background img {
      position: absolute;
      top: 0;
      left: 0;
      height: 100%;
      width: 100%;
      /* Makes img tag act as a background image */
      object-fit: cover;
  }
}

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

/* Mobile - 360px */
@media only screen and (min-width: 0rem) {
  #cs-footer-275 {
      padding: var(--sectionPadding);
      background-color: #1a1a1a;
      /* Navigation Links */
      /* Contact Links */
  }
  #cs-footer-275 .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-275 .cs-logo-group {
      /* takes up all the space, lets the other ul's wrap below it */
      width: 100%;
      position: relative;
  }
  #cs-footer-275 .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-275 .cs-logo-img {
      width: 100%;
      height: auto;
  }
  #cs-footer-275 .cs-logo-img.dark {
      display: none;
  }
  #cs-footer-275 .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(--bodyTextColorWhite);
  }
  #cs-footer-275 .cs-social {
      display: inline-flex;
      flex-direction: column;
      justify-content: flex-start;
      gap: 0.75rem;
      position: absolute;
      top: 0;
      right: 0;
  }
  #cs-footer-275 .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-275 .cs-social-link:hover {
      background-color: #1a1a1a;
      transform: translateY(-0.1875rem);
  }
  #cs-footer-275 .cs-social-img {
      height: 0.8125rem;
      width: auto;
      display: block;
  }
  #cs-footer-275 .cs-nav {
      padding: 0;
      margin: 0;
  }
  #cs-footer-275 .cs-nav-li {
      list-style: none;
      margin-bottom: 1rem;
  }
  #cs-footer-275 .cs-nav-li:last-of-type {
      margin-bottom: 0;
  }
  #cs-footer-275 .cs-header {
      font-size: 1rem;
      line-height: 1.5em;
      font-weight: 700;
      color: var(--bodyTextColorWhite);
      position: relative;
  }
  #cs-footer-275 .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-275 .cs-nav-link {
      font-size: 1rem;
      text-decoration: none;
      line-height: 1.5em;
      color: var(--bodyTextColorWhite);
      position: relative;
  }
  #cs-footer-275 .cs-nav-link:before {
      /* underline */
      content: "";
      width: 0%;
      height: 0.125rem;
      background: var(--bodyTextColorWhite);
      opacity: 1;
      position: absolute;
      display: block;
      bottom: -0.125rem;
      left: 0;
      transition: width 0.3s;
  }
  #cs-footer-275 .cs-nav-link:hover:before {
      width: 100%;
  }
  #cs-footer-275 .cs-contact {
      margin: 0;
      padding: 0;
      width: 35%;
  }
  #cs-footer-275 .cs-contact-li {
      list-style: none;
      margin-bottom: 0rem;
  }
  #cs-footer-275 .cs-contact-li:last-of-type {
      margin-bottom: 0;
  }
  #cs-footer-275 .cs-contact-link {
      font-size: 1rem;
      text-decoration: none;
      line-height: 1.5em;
      text-align: left;
      color: var(--bodyTextColorWhite);
      display: inline-block;
  }
  #cs-footer-275 .cs-contact-link:hover {
      text-decoration: underline;
  }
  #cs-footer-275 .cs-address {
      font-size: 1rem;
      margin-bottom: 1.25rem;
  }
}
/* Tablet - 768px */
@media only screen and (min-width: 48rem) {
  #cs-footer-275 .cs-container {
      max-width: 80rem;
      row-gap: 0;
  }
  #cs-footer-275 .cs-contact {
      flex-direction: row;
      justify-content: space-between;
      border-top: none;
  }
  #cs-footer-275 .cs-contact-li {
      margin: 0;
  }
}
/* Small Desktop - 1024px */
@media only screen and (min-width: 64rem) {
  #cs-footer-275 .cs-container {
      /* pushes all flex children to the top */
      align-items: flex-start;
      justify-content: flex-end;
  }
  #cs-footer-275 .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-275 .cs-text {
      width: 100%;
  }
  #cs-footer-275 .cs-social {
      flex-direction: row;
      position: relative;
      top: auto;
      right: auto;
  }
  #cs-footer-275 .cs-contact {
      width: auto;
  }
}

/*-- -------------------------- -->
<---          Banner            -->
<--- -------------------------- -*/

/* Mobile - 360px */
@media only screen and (min-width: 0rem) {
  #banner-1519 {
    padding: var(--sectionPadding);
    /* 190px - 268px */
    padding-top: clamp(11.875rem, 25vw, 16.75rem);
    /* 100px - 150px */
    padding-bottom: clamp(6.25rem, 12vw, 9.375rem);
    /* clips the line from causing overflow issues for going off screen */
    overflow: hidden;
    position: relative;
    z-index: 1;
  }
  #banner-1519 .cs-container {
    text-align: center;
    width: 100%;
    max-width: 80rem;
    margin: auto;
    display: flex;
    justify-content: center;
  }
  #banner-1519 .cs-int-title {
    /* 39px - 61px */
    font-size: clamp(2.4375rem, 6.4vw, 3.8125rem);
    font-family: 'Maven Pro', 'Arial', sans-serif;
    font-weight: 900;
    line-height: 1.2em;
    letter-spacing: -.1rem;
    text-transform: uppercase;
    text-align: center;
    margin: 0;
    color: #111724;
    text-shadow: 0 1px 0 rgba(255, 255, 255, 0.55);
    position: relative;
  }
  #banner-1519 .cs-breadcrumbs {
    display: flex;
    justify-content: center;
    align-items: center;
  }
  #banner-1519 .cs-link {
    font-size: 1rem;
    line-height: 1.2em;
    text-decoration: none;
    color: var(--bodyTextColor);
    position: relative;
    display: flex;
    justify-content: center;
    align-items: center;
  }

  #banner-1519 .cs-link:last-of-type::after {
    display: none;
  }
  #banner-1519 .cs-link:after {
    /* chevron */
    content: '';
    width: 0.4375rem;
    height: 0.75rem;
    margin: 0 1rem;
    background: url("https://csimg.nyc3.cdn.digitaloceanspaces.com/Images/Icons/grey-chevron.svg");
    background-size: contain;
    background-position: center;
    background-repeat: no-repeat;
    position: relative;
    display: block;
  }
  #banner-1519 .cs-link.cs-active {
    color: var(--primary);
  }
  #banner-1519 .cs-background {
    width: 100%;
    height: 100%;
    display: block;
    position: absolute;
    top: 0;
    left: 0;
    z-index: -1;
  }
  
  #banner-1519 .cs-mask {
    --maskBG: #ffffff;
    width: 100%;
    height: auto;
    display: block;
    position: absolute;
    bottom: -1px;
    left: 0;
    z-index: 100;
  }

  #banner-1519 .cs-contact-banner-title-panel {
    width: 100%;
    padding: clamp(1.125rem, 3vw, 1.75rem) 1rem;
    border-radius: 1rem;
    position: relative;
    overflow: hidden;
    text-align: center;
    background: transparent;
    margin: 0 auto;
  }

  #banner-1519 .cs-contact-banner-title-panel .cs-contact-banner-title-pattern {
    position: absolute;
    inset: 0;
    z-index: 0;
    background-image:
      linear-gradient(rgba(3, 25, 49, 0.24) 1px, transparent 1px),
      linear-gradient(90deg, rgba(3, 25, 49, 0.24) 1px, transparent 1px);
    background-size: 56px 56px;
    opacity: 0.34;
  }

  #banner-1519 .cs-contact-banner-title-panel .cs-int-title {
    position: relative;
    z-index: 1;
    margin: 0;
    color: #000;
  }
}
/* Tablet - 768px */
@media only screen and (min-width: 48rem) {
  #banner-1519 .cs-background:before {
    width: 100%;
    height: 100%;
    background: linear-gradient(90deg, rgba(255, 243, 236, 0.9) 23.05%, rgba(255, 243, 236, 0) 80.08%);
    opacity: 1;
  }
}


                                

/*-- -------------------------- -->
<---        Recent Posts        -->
<--- -------------------------- -*/
/* Mobile - 360px */
@media only screen and (min-width: 0rem) {
  @keyframes floatAnimation {
      0% {
          transform: translateY(0);
      }
      50% {
          transform: translateY(-2rem);
      }
      100% {
          transform: translateY(0);
      }
  }
  @keyframes floatAnimation2 {
      0% {
          transform: translateY(0);
      }
      50% {
          transform: translateY(-3rem);
      }
      100% {
          transform: translateY(0);
      }
  }
  #blog-1366 {
      padding: var(--sectionPadding);
      position: relative;
      z-index: 1;
      overflow: hidden;
  }
  #blog-1366 .cs-container {
      width: 100%;
      /* changes to 1280px on desktop */
      max-width: 43.75rem;
      margin: auto;
      display: flex;
      flex-direction: column;
      align-items: center;
      /* 48px - 64px */
      gap: clamp(3rem, 6vw, 4rem);
  }
  #blog-1366 .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;
  }

  #blog-1366 .cs-title {
      max-width: 20ch;
  }
  #blog-1366 .cs-topper {
      color: var(--secondary);
  }
  #blog-1366 .cs-card-group {
      width: 100%;
      margin: 0;
      padding: 0;
      display: grid;
      grid-template-columns: repeat(12, 1fr);
      gap: 1rem;
  }
  #blog-1366 .cs-item {
      list-style: none;
      display: flex;
      flex-direction: column;
      grid-column: span 12;
  }
  #blog-1366 .cs-item:hover .cs-h3,
  #blog-1366 .cs-item:hover .cs-date,
  #blog-1366 .cs-item:hover .cs-category {
      color: #fff;
  }
  #blog-1366 .cs-item:hover .cs-item-text {
      background-color: var(--primary);
  }
  #blog-1366 .cs-item:hover .cs-icon-wrapper {
      border-color: #fff;
  }
  #blog-1366 .cs-item:hover .cs-icon,
  #blog-1366 .cs-item:hover .cs-date-icon {
      filter: brightness(1000%) grayscale(1);
  }
  #blog-1366 .cs-item:hover .cs-icon {
      transform: rotate(45deg);
  }
  #blog-1366 .cs-item:hover .cs-category::before {
      background-color: #fff;
      opacity: 0.2;
  }
  #blog-1366 .cs-link {
      text-decoration: none;
      display: flex;
      flex-direction: column;
      /* if one card has more content then the others, the card will stretch to fill the parent container */
      flex-grow: 1;
      gap: 1rem;
  }
  #blog-1366 .cs-picture {
      width: 100%;
      height: 20rem;
      margin: 0;
      border-radius: 1.5rem;
      display: block;
      position: relative;
      z-index: 1;
      overflow: hidden;
  }
  #blog-1366 .cs-picture img {
      width: 100%;
      height: 100%;
      object-fit: cover;
      position: absolute;
      top: 0;
      left: 0;
  }
  #blog-1366 .cs-item-text {
      padding: 1.25rem;
      background-color: #f7f7f7;
      border-radius: 1.5rem;
      display: flex;
      flex-direction: column;
      justify-content: space-between;
      /* makes the item text the element that grows to fill the container */
      flex-grow: 1;
      transition: background-color 0.3s;
  }
  #blog-1366 .cs-h3 {
      /* 20px - 25px */
      font-size: clamp(1.25rem, 1.8vw, 1.5625rem);
      line-height: 1.2em;
      text-align: left;
      margin: 0;
      color: #1a1a1a;
      display: flex;
      justify-content: space-between;
      align-items: center;
      gap: 1rem;
      transition: color 0.3s;
  }
  #blog-1366 .cs-icon-wrapper {
      width: 3rem;
      height: 3rem;
      border: 1px solid #bababa;
      border-radius: 50%;
      display: flex;
      justify-content: center;
      align-items: center;
      /* prevents the parent flexbox from shrinking the icon */
      flex-shrink: 0;
      transition: border-color 0.3s;
  }
  #blog-1366 .cs-icon {
      width: auto;
      height: 0.75rem;
      transition:
          filter 0.3s,
          transform 0.3s;
  }
  #blog-1366 .cs-info {
      margin: 1rem 0 0;
      padding: 1rem 0 0;
      border-top: 1px solid #e8e8e8;
      display: flex;
      justify-content: space-between;
      align-items: center;
  }
  #blog-1366 .cs-date {
      font-size: 0.875rem;
      line-height: 1.5em;
      text-align: left;
      color: #1a1a1a;
      display: flex;
      align-items: center;
      gap: 0.5rem;
      transition: color 0.3s;
  }
  #blog-1366 .cs-date-icon {
      width: auto;
      height: 1.5rem;
      transition: filter 0.3s;
  }
  #blog-1366 .cs-category {
      font-size: 0.875rem;
      /* centers the text if the category bullet has to span multiple lines */
      text-align: center;
      padding: 0.25rem 1rem;
      color: #1a1a1a;
      border-radius: 5rem;
      position: relative;
      z-index: 0;
      overflow: hidden;
  }
  #blog-1366 .cs-category::before {
      content: "";
      width: 100%;
      height: 100%;
      background: #e8e8e8;
      position: absolute;
      top: 0;
      left: 0;
      z-index: -1;
  }
  #blog-1366 .cs-bubbles {
      width: 20.0625rem;
      height: 26.4375rem;
      position: absolute;
      top: 48.625rem;
      right: -8.75rem;
      z-index: -1;
  }
  #blog-1366 .cs-bubbles:before {
      /* white border bubble */
      content: "";
      width: 16.5rem;
      height: 16.5rem;
      background: transparent;
      opacity: 1;
      border: 1px solid #1a1a1a;
      border-radius: 50%;
      display: block;
      position: absolute;
      top: 0;
      right: 0;
      animation-name: floatAnimation;
      animation-duration: 5s;
      animation-timing-function: ease-in-out;
      animation-iteration-count: infinite;
      animation-fill-mode: forwards;
  }
  #blog-1366 .cs-bubbles:after {
      /* orange bubble */
      content: "";
      width: 16.5rem;
      height: 16.5rem;
      background: var(--primary);
      opacity: 0.1;
      border-radius: 50%;
      display: block;
      position: absolute;
      bottom: 0;
      left: 0;
      z-index: -1;
      animation-name: floatAnimation2;
      animation-duration: 14s;
      animation-timing-function: ease-in-out;
      animation-iteration-count: infinite;
      animation-fill-mode: forwards;
  }
}
/* Tablet - 768px */
@media only screen and (min-width: 48rem) {
  #blog-1366 .cs-item {
      grid-column: span 6;
  }
}
/* Desktop - 1024px */
@media only screen and (min-width: 64rem) {
  #blog-1366 .cs-container {
      max-width: 80rem;
  }
  #blog-1366 .cs-item {
      grid-column: span 4;
  }
}
/* Large Desktop - 1300px */
@media only screen and (min-width: 81.25rem) {
  #blog-1366 .cs-bubbles {
      margin-right: -61.875rem;
      right: 50%;
  }
}

                              

/*-- -------------------------- -->
<---        About Us Page       -->
<--- -------------------------- -*/



/* ^^^ Global Styles are in Global Stylesheet, but it is really this one at the top ^^^ */

/*-- -------------------------- -->
<---          Banner            -->
<--- -------------------------- -*/
/* Mobile - 360px */
@media only screen and (min-width: 0rem) {
  #Aboutbanner-328 {
      /* 144px - 252px */
      padding-top: clamp(9rem, 25vw, 15.75rem);
      /* 80px - 140px */
      padding-bottom: clamp(5rem, 13vw, 8.75rem);
      position: relative;
      z-index: 1;
  }
  #Aboutbanner-328 .cs-container {
      width: 100%;
      max-width: 80rem;
      margin: auto;
      display: flex;
      justify-content: center;
      align-items: center;
      flex-direction: column;
  }
  #Aboutbanner-328 .cs-int-title {
      /* 39px - 49px */
      font-size: clamp(2.4375rem, 4.5vw, 3.0625rem);
      font-weight: 900;
      line-height: 1.2em;
      text-align: center;
      max-width: 43.75rem;
      margin: 0 auto 0.75rem;
      color: var(--bodyTextColorWhite);
      position: relative;
  }
  #Aboutbanner-328 .cs-breadcrumbs {
      display: flex;
      justify-content: center;
      align-items: center;
  }
  #Aboutbanner-328 .cs-link {
      /* 14px - 16px */
      font-size: clamp(0.875rem, 1.5vw, 1rem);
      line-height: 1.2em;
      text-decoration: none;
      color: var(--bodyTextColorWhite);
      position: relative;
      display: flex;
      justify-content: center;
      align-items: center;
  }
  #Aboutbanner-328 .cs-link:hover {
      text-decoration: underline;
  }
 
  #Aboutbanner-328 .cs-link:last-of-type::after {
      display: none;
  }
  #Aboutbanner-328 .cs-link:after {
      /* chevron - added as pseudo to make adding and removing them easier */
      content: "";
      width: 0.4375rem;
      height: 0.75rem;
      margin-left: 0.75rem;
      margin-right: 0.75rem;
      background: url("https://csimg.nyc3.digitaloceanspaces.com/Banners/chevron-right.svg");
      background-size: contain;
      background-position: center;
      background-repeat: no-repeat;
  }
  #Aboutbanner-328 .cs-link.cs-active {
      color: var(--primaryLight);
  }
  #Aboutbanner-328 .cs-background {
      width: 100%;
      height: 100%;
      position: absolute;
      top: 0;
      left: 0;
      display: block;
      z-index: -1;
  }
  #Aboutbanner-328 .cs-background:before {
      /* black overlay box */
      content: "";
      width: 100%;
      height: 100%;
      background: #000;
      opacity: 0.72;
      position: absolute;
      display: block;
      top: 0;
      left: 0;
      z-index: 1;
  }
  #Aboutbanner-328 .cs-background img {
      position: absolute;
      top: 0;
      left: 0;
      height: 100%;
      width: 100%;
      object-fit: cover;
  }
}

/*-- -------------------------- -->
<---       Side By Side         -->
<--- -------------------------- -*/

/* Mobile - 360px */
@media only screen and (min-width: 0rem) {
  #ABoutRPsbs-328,
  #AboutRPsbsr-328 {
      padding: var(--sectionPadding);
  }
  #ABoutRPsbs-328 .cs-container,
  #AboutRPsbsr-328 .cs-container {
      width: 100%;
      max-width: 80rem;
      margin: auto;
      display: flex;
      flex-direction: column;
      align-items: center;
      /* 48px - 64px */
      gap: clamp(3rem, 6vw, 4rem);
  }
  #ABoutRPsbs-328 .cs-content,
  #AboutRPsbsr-328 .cs-content {
      /* set text align to left if content needs to be left aligned */
      text-align: left;
      width: 100%;
      max-width: 33.875rem;
      display: flex;
      flex-direction: column;
      /* centers content horizontally, set to flex-start to left align */
      align-items: flex-start;
  }

  #ABoutRPsbs-328 .cs-text:last-of-type,
  #AboutRPsbsr-328 .cs-text:last-of-type {
      margin-bottom: 2rem;
  }
  #ABoutRPsbs-328 .cs-quote,
  #AboutRPsbsr-328 .cs-quote {
      margin: 0 0 2rem 0;
      /* 16px - 32px */
      padding: clamp(1rem, 3vw, 2rem);
      background-color: #f7f7f7;
      border-radius: 1rem;
      position: relative;
  }
  #ABoutRPsbs-328 .cs-quote-text,
  #AboutRPsbsr-328 .cs-quote-text {
      /* 14px - 16px */
      font-size: clamp(0.875rem, 1.5vw, 1rem);
      line-height: 1.5em;
      margin: 0 0 1rem;
      color: #767676;
      display: block;
  }
  #ABoutRPsbs-328 .cs-name,
  #AboutRPsbsr-328 .cs-name {
      font-size: 1rem;
      line-height: 1.2em;
      text-transform: uppercase;
      font-weight: bold;
      margin: 0 0 0.25rem;
      color: var(--headerColor);
      display: block;
  }
  #ABoutRPsbs-328 .cs-job,
  #AboutRPsbsr-328 .cs-job {
      font-size: 0.875rem;
      line-height: 1.5em;
      color: #767676;
      display: block;
  }
  #ABoutRPsbs-328 .cs-quote-icon,
  #AboutRPsbsr-328 .cs-quote-icon {
      /* 60px - 136px */
      width: clamp(3.75rem, 10vw, 8.5rem);
      height: auto;
      position: absolute;
      bottom: 0rem;
      /* 16px - 32px */
      right: clamp(1rem, 4vw, 2rem);
  }
  #ABoutRPsbs-328 .cs-image-group,
  #AboutRPsbsr-328 .cs-image-group {
      /* scaling the font size with the view width */
      font-size: min(2.31vw, 0.7em);
      /* using ems so we can use font size to scale the whole section */
      /* width: 39.4375em;
      height: 39.75em; */
      width: 100%;
      max-width: 55.4375em;
      height: 45.75em;
      position: relative;
  }
  #ABoutRPsbs-328 .cs-picture,
  #AboutRPsbsr-328 .cs-picture {
      border-radius: 1.5em;
      /* clips img tag corners */
      overflow: hidden;
      position: absolute;
      display: block;
  }
  #ABoutRPsbs-328 .cs-picture img,
  #AboutRPsbsr-328 .cs-picture img {
      position: absolute;
      top: 0;
      left: 0;
      height: 100%;
      width: 100%;
      /* makes image act like a background image */
      object-fit: cover;
  }
  #ABoutRPsbs-328 .cs-picture1,
  #AboutRPsbsr-328 .cs-picture1 {
      width: 32.625em;
      height: 36.3125em;
      left: 0;
      top: 0;
  }
  #ABoutRPsbs-328 .cs-picture2,
  #AboutRPsbsr-328 .cs-picture2 {
      width: 25.875em;
      height: 25em;
      background-color: #fff;
      box-shadow: rgba(0, 0, 0, 0.1) 0px 0px 40px;
      /* 6px - 12px */
      border: clamp(0.375em, 1.5vw, 0.75em) solid #ffffff;
      right: 0;
      bottom: 0;
  }
}
/* Desktop - 1024px */
@media only screen and (min-width: 64rem) {
  #ABoutRPsbs-328 .cs-container,
  #AboutRPsbsr-328 .cs-container {
      flex-flow: row;
      justify-content: space-between;
      gap: 3.25rem;
  }
  #ABoutRPsbs-328 .cs-image-group,
  #AboutRPsbsr-328 .cs-image-group {
      font-size: min(1.2vw, 1em);
      flex: none;
  }
  #ABoutRPsbs-328 .cs-content,
  #AboutRPsbsr-328 .cs-content {
      margin: 0;
  }
}

/*-- -------------------------- -->
<---    Side By Side Reverse    -->
<--- -------------------------- -*/

/* Mobile - 360px */
@media only screen and (min-width: 0rem) {
  #AboutRPsbsr-328 {
      background-color: #f7f7f7;
  }
  #AboutRPsbsr-328 .cs-picture1 {
      left: auto;
      right: 0;
  }
  #AboutRPsbsr-328 .cs-picture2 {
      right: auto;
      left: 0;
  }
  #AboutRPsbsr-328 .cs-quote {
      background-color: rgba(0, 0, 0, 0.05);
  }
}
/* Desktop - 1024px */
@media only screen and (min-width: 64rem) {
  #AboutRPsbsr-328 .cs-image-group {
      /* sends it to the right in the 2nd position */
      order: 2;
  }
}

/*-- -------------------------- -->
<---           Stats            -->
<--- -------------------------- -*/

/* Mobile - 360px */
@media only screen and (min-width: 0rem) {
  #AboutStrip-328 {
      padding: var(--sectionPadding);
      background-color: #1a1a1a;
  }
  #AboutStrip-328 .cs-stat-group {
      width: 100%;
      /* changes to 1280px at desktop */
      max-width: 37.5rem;
      margin: auto;
      padding: 0;
      display: flex;
      justify-content: center;
      align-items: center;
      flex-direction: column;
      gap: 2.5rem;
  }
  #AboutStrip-328 .cs-item {
      list-style: none;
      width: 18.125rem;
      margin: 0;
      padding: 0;
      display: flex;
      justify-content: flex-start;
      align-items: center;
  }
  #AboutStrip-328 .cs-item:hover .cs-picture {
      background-color: #fff;
      box-shadow: rgba(149, 157, 165, 0.2) 0px 8px 24px;
      transform: scale(1.05);
  }
  #AboutStrip-328 .cs-picture {
      width: 5rem;
      height: 5rem;
      /* 12px - 20px */
      margin-right: clamp(0.75rem, 3vw, 1.25rem);
      border-radius: 50%;
      border: 1px solid var(--primary);
      display: flex;
      justify-content: center;
      align-items: center;
      /* prevents flexbox from squishing it */
      flex: none;
      transition:
          background-color 0.3s,
          box-shadow 0.3s,
          transform 0.6s;
  }
  #AboutStrip-328 .cs-flex-group {
      display: flex;
      justify-content: center;
      align-items: flex-start;
      flex-direction: column;
  }
  #AboutStrip-328 .cs-icon {
      width: 2.0625rem;
      height: auto;
  }
  #AboutStrip-328 .cs-header {
      font-size: 1.25rem;
      color: var(--bodyTextColorWhite);
      font-weight: 900;
      line-height: 1.2em;
      margin: 0;
      margin-bottom: 0.75rem;
      display: block;
  }
  #AboutStrip-328 .cs-link,
  #AboutStrip-328 .cs-hours {
      font-size: var(--bodyFontSize);
      line-height: 1.5em;
      text-decoration: none;
      color: #828282;
      display: block;
      transition: color.3s;
  }
  #AboutStrip-328 .cs-link:hover {
      color: var(--primary);
  }
}
/* Tablet - 650px */
@media only screen and (min-width: 40.625rem) {
  #AboutStrip-328 .cs-stat-group {
      flex-direction: row;
      flex-wrap: wrap;
      column-gap: 1.25rem;
      row-gap: 2rem;
  }
}
/* Small Desktop - 1024px */
@media only screen and (min-width: 64rem) {
  #AboutStrip-328 .cs-stat-group {
      max-width: 80rem;
      flex-wrap: nowrap;
      justify-content: space-evenly;
  }
}

/*-- -------------------------- -->
<---       Side By Side         -->
<--- -------------------------- -*/

/* Mobile - 360px */
@media only screen and (min-width: 0rem) {
  #Aboutsbs-328 {
      padding: var(--sectionPadding);
      background-color: #f7f7f7;
  }
  #Aboutsbs-328 .cs-container {
      width: 100%;
      /* changes to 1280px at desktop */
      max-width: 34.375rem;
      margin: auto;
      display: flex;
      justify-content: center;
      align-items: center;
      flex-direction: column;
      /* 48px - 64px */
      gap: clamp(3rem, 6vw, 4rem);
  }
  #Aboutsbs-328 .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;
  }
  #Aboutsbs-328 .cs-text {
      margin-bottom: 1rem;
  }
  #Aboutsbs-328 .cs-text:last-of-type {
      margin-bottom: 2rem;
  }
  #Aboutsbs-328 .cs-circles {
      width: 100%;
      /* changes at desktop */
      max-width: 23.375rem;
      margin: auto;
      /* 40px - 48px */
      margin-top: clamp(2.5rem, 3vw, 3rem);
      display: flex;
      align-items: flex-start;
      gap: 1.25rem;
  }
  #Aboutsbs-328 .cs-circle {
      position: relative;
      display: flex;
      justify-content: center;
      align-items: center;
      flex-direction: column;
      flex: 1;
      aspect-ratio: 1;
  }
  #Aboutsbs-328 .cs-ring-wrapper {
      position: relative;
      margin: 0 0 0.5rem 0;
  }
  #Aboutsbs-328 .cs-number {
      /* 20px - 39px */
      font-size: clamp(1.25rem, 3vw, 2.4375rem);
      font-weight: 900;
      /* prevents mouse from interacting with it */
      pointer-events: none;
      line-height: 1.2em;
      color: var(--headerColor);
      position: absolute;
      top: 50%;
      left: 50%;
      transform: translate(-50%, -50%);
  }
  #Aboutsbs-328 .cs-desc {
      /* 14px - 16px */
      font-size: clamp(0.875rem, 1.4vw, 1rem);
      line-height: 1.5em;
      text-align: center;
      width: 100%;
      color: var(--bodyTextColor);
  }
  #Aboutsbs-328 .cs-ring {
      --ring-width: 8px;
      width: calc(100% - var(--ring-width));
      aspect-ratio: 1;
      overflow: visible;
      pointer-events: none;
      rotate: -90deg;
      scale: 1 -1;
  }
  #Aboutsbs-328 .cs-ring circle {
      fill: none;
      stroke: #f7f7f7;
      stroke-width: var(--ring-width);
  }
  #Aboutsbs-328 .cs-ring circle:last-of-type {
      stroke: var(--secondaryLight);
      stroke-linecap: round;
      stroke-dasharray: calc(var(--ratio) * 314%) 314%;
      transition: stroke-dasharray 1s;
  }
  #Aboutsbs-328 .cs-circle:hover .cs-ring {
      --ratio: 0 !important;
  }
  #Aboutsbs-328 .cs-picture {
      /* set font size to scale with view width, stopping at 68% the value of em */
      font-size: min(2.16vw, 0.68em);
      width: 32.5em;
      height: 42.5em;
      /* margin top and bottom to match the exact amount the grey square overflows the parent for consistent spacing */
      margin: 3em 0;
      position: relative;
      display: block;
  }
  #Aboutsbs-328 .cs-picture:before {
      /* grey box */
      content: "";
      width: 100%;
      height: 100%;
      border-radius: 0.75rem;
      background: var(--primary);
      opacity: 1;
      position: absolute;
      display: block;
      top: 0;
      left: 0;
      transform: rotate(15deg);
  }
  #Aboutsbs-328 .cs-picture img {
      position: absolute;
      top: 0;
      left: 0;
      height: 100%;
      width: 100%;
      border-radius: 0.625rem;
      object-fit: cover;
  }
}
/* Desktop - 1024px */
@media only screen and (min-width: 64rem) {
  #Aboutsbs-328 .cs-container {
      max-width: 80rem;
      /* set to horizontal arrangement */
      flex-direction: row;
      justify-content: center;
      /* 77px - 160px */
      gap: clamp(4.8125rem, 11vw, 10rem);
  }
  #Aboutsbs-328 .cs-content {
      text-align: left;
      align-items: flex-start;
  }
  #Aboutsbs-328 .cs-picture {
      font-size: min(1.1vw, 1em);
      margin: 3.5em 0 3.5em 5em;
      /* prevent flexbox from squishing it */
      flex: none;
  }
  #Aboutsbs-328 .cs-circles {
      max-width: 100%;
      margin-left: 0;
      margin-right: 0;
  }
  #Aboutsbs-328 .cs-ring-wrapper {
      /* breaks the children out of the container.  They can now be arrnaged as if thy are all children of the cs-circle */
      display: contents;
  }
  #Aboutsbs-328 .cs-ring {
      /* make the ring position absolute so it can sit on top of the other elements that are centered relatively in the cs-circle */
      width: 100%;
      height: auto;
      position: absolute;
      top: 0;
      left: 0;
  }
  #Aboutsbs-328 .cs-number {
      /* make the number relative positioning so it and the cs-desc can position themselves around each other */
      position: relative;
      top: auto;
      left: auto;
      transform: none;
  }
  #Aboutsbs-328 .cs-desc {
      position: relative;
      bottom: auto;
      left: auto;
      transform: none;
  }
}

/*-- -------------------------- -->
<---       Meet The Team        -->
<--- -------------------------- -*/

/* Mobile - 360px */
@media only screen and (min-width: 0rem) {
  #AboutMeet-328 {
      padding: var(--sectionPadding);
  }
  #AboutMeet-328 .cs-container {
      width: 100%;
      max-width: 80rem;
      margin: auto;
      display: flex;
      flex-direction: column;
      align-items: center;
      /* 48px - 64px */
      gap: clamp(3rem, 6vw, 4rem);
  }
  #AboutMeet-328 .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;
  }
  #AboutMeet-328 .cs-card-group {
      padding: 0;
      margin: 0;
      display: flex;
      justify-content: center;
      align-items: center;
      flex-direction: column;
      gap: 1rem;
  }
  #AboutMeet-328 .cs-item {
      list-style: none;
      width: 100%;
      min-height: 18.875rem;
      position: relative;
      aspect-ratio: 1.08609272;
  }
  #AboutMeet-328 .cs-item:hover .cs-background img {
      transform: scale(1.1);
  }
  #AboutMeet-328 .cs-info {
      padding: 0.625rem 0;
      background-color: rgba(255, 255, 255, 0.06);
      border-radius: 0.5rem;
      -webkit-backdrop-filter: blur(18px);
      backdrop-filter: blur(18px);
      display: flex;
      justify-content: center;
      align-items: center;
      flex-direction: column;
      position: absolute;
      /* 12px - 16px */
      bottom: clamp(0.75rem, 1.4vw, 1rem);
      left: clamp(0.75rem, 1.4vw, 1rem);
      right: clamp(0.75rem, 1.4vw, 1rem);
      z-index: 10;
  }
  #AboutMeet-328 .cs-name {
      font-size: 1.25rem;
      font-weight: 700;
      color: var(--primaryLight);
      line-height: 1.2em;
      margin: 0;
      display: block;
  }
  #AboutMeet-328 .cs-job {
      /* 14px - 16px */
      font-size: clamp(0.875rem, 1.5vw, 1rem);
      line-height: 1.5em;
      color: #fff;
      display: block;
  }
  #AboutMeet-328 .cs-background {
      width: 100%;
      height: 100%;
      border-radius: 0.75rem;
      /* clips the corners of the img tag */
      overflow: hidden;
      position: absolute;
      top: 0;
      left: 0;
      display: block;
  }
  #AboutMeet-328 .cs-background img {
      position: absolute;
      top: 0;
      left: 0;
      height: 100%;
      width: 100%;
      object-fit: cover;
      transition: transform 0.6s;
  }
}
/* Tablet - 768px */
@media only screen and (min-width: 48rem) {
  #AboutMeet-328 .cs-card-group {
      max-width: 62.1875rem;
      flex-direction: row;
      flex-wrap: wrap;
      width: 100%;
  }
  #AboutMeet-328 .cs-item {
      aspect-ratio: 0.74172185;
      width: 100%;
      max-width: 19.0625rem;
  }
}

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

/* Mobile - 360px */
@media only screen and (min-width: 0rem) {
  #AboutContact-328 {
      padding: var(--sectionPadding);
      position: relative;
      z-index: 1;
  }
  #AboutContact-328 .cs-container {
      width: 100%;
      /* changes to 1280px at desktop */
      max-width: 34.375rem;
      margin: auto;
      display: flex;
      justify-content: center;
      align-items: center;
      flex-direction: column;
      gap: 3.25rem;
  }
  #AboutContact-328 .cs-topper {
      color: var(--secondaryLight);
  }
  #AboutContact-328 .cs-title {
      color: var(--bodyTextColorWhite);
  }
  #AboutContact-328 .cs-content {
      text-align: left;
  }
  #AboutContact-328 .cs-form {
      display: flex;
      justify-content: space-between;
      flex-wrap: wrap;
      align-items: center;
      gap: 0.75rem;
  }
  #AboutContact-328 .cs-label {
      /* 14px - 16px */
      font-size: clamp(0.875rem, 1.5vw, 1rem);
      width: 100%;
      color: #fff;
      display: flex;
      flex-direction: column;
      justify-content: center;
      align-items: flex-start;
      gap: 0.25rem;
  }
  #AboutContact-328 .cs-input {
      font-size: 1rem;
      width: 100%;
      height: 3.5rem;
      padding: 0;
      padding-left: 1.5rem;
      border-radius: 0.5rem;
      color: #fff;
      background: rgba(255, 255, 255, 0.12);
      backdrop-filter: blur(15px);
      border: none;
      /* prevents padding from adding to height and width */
      box-sizing: border-box;
  }
  #AboutContact-328 .cs-input::placeholder {
      color: #f7f7f7;
      opacity: 0.5;
  }
  #AboutContact-328 .cs-textarea {
      min-height: 7.5rem;
      padding-top: 1.5rem;
      margin-bottom: 0.75rem;
      font-family: inherit;
  }
  #AboutContact-328 .cs-submit {
      width: 17.6875rem;
      text-transform: uppercase;
      color: var(--headerColor);
      background-color: var(--secondaryLight);
      border: none;
      transition: color 0.3s;
  }
  #AboutContact-328 .cs-submit:hover {
      cursor: pointer;
  }
  #AboutContact-328 .cs-right {
      width: 100%;
      /* 16px - 24px */
      padding: clamp(1rem, 3.5vw, 1.5rem);
      border-radius: 1.5rem;
      background-color: rgba(255, 255, 255, 0.12);
      -webkit-backdrop-filter: blur(15px);
      backdrop-filter: blur(15px);
      display: flex;
      /* prevents padding from adding to height and width */
      box-sizing: border-box;
      flex-direction: column;
      align-items: flex-start;
      justify-content: center;
      /* 24px - 32px */
      gap: clamp(1.5rem, 4vw, 2rem);
  }
  #AboutContact-328 .cs-map {
      width: 100%;
      /* 300px - 425px */
      height: clamp(18.75rem, 63.4vw, 26.5625rem);
      border-radius: 1.5rem;
      /* clips the corners of the img tag */
      overflow: hidden;
      position: relative;
      display: block;
  }
  #AboutContact-328 .cs-map:before {
      content: "";
      position: absolute;
      display: block;
      /* 32px - 48px */
      width: clamp(2rem, 4vw, 3rem);
      height: clamp(2rem, 4vw, 3rem);
      background: url("https://csimg.nyc3.digitaloceanspaces.com/Contact-Page/pin-red.svg");
      background-size: contain;
      background-position: center;
      background-repeat: no-repeat;
      opacity: 1;
      /* 148px - 220px */
      top: clamp(9.25rem, 30.7vw, 13.75rem);
      /* push to the center line of the div */
      left: 50%;
      /* push X amount of pixels from it's current position off the center line */
      margin-left: 0.625rem;
      z-index: 10;
  }
  #AboutContact-328 .cs-map img {
      position: absolute;
      top: 0;
      left: 0;
      height: 100%;
      width: 100%;
      object-fit: cover;
  }
  #AboutContact-328 .cs-contact-group {
      padding: 0;
      margin: 0;
      display: flex;
      justify-content: center;
      align-items: flex-start;
      flex-direction: column;
      gap: 1rem;
  }
  #AboutContact-328 .cs-item {
      list-style: none;
      display: flex;
      flex-direction: column;
      justify-content: center;
      align-items: flex-start;
  }
  #AboutContact-328 .cs-header {
      font-size: 1.25rem;
      line-height: 1.2em;
      font-weight: 700;
      margin-bottom: 0.75rem;
      color: var(--secondaryLight);
      display: flex;
      justify-content: flex-start;
      align-items: center;
      gap: 0.25rem;
  }
  #AboutContact-328 .cs-link {
      /* 14px - 16px */
      font-size: clamp(0.875rem, 1.5vw, 1rem);
      line-height: 1.5em;
      text-decoration: none;
      color: var(--bodyTextColorWhite);
      transition: color 0.3s;
  }
  #AboutContact-328 .cs-link:hover {
      color: var(--secondary);
  }
  #AboutContact-328 .cs-background {
      width: 100%;
      height: 100%;
      position: absolute;
      top: 0;
      left: 0;
      display: block;
      z-index: -1;
  }
  #AboutContact-328 .cs-background:before {
      /* top right box */
      content: "";
      width: 100%;
      height: 100%;
      background: var(--primary);
      opacity: 0.92;
      position: absolute;
      display: block;
      top: 0;
      left: 0;
      z-index: 1;
  }
  #AboutContact-328 .cs-background img {
      position: absolute;
      top: 0;
      left: 0;
      height: 100%;
      width: 100%;
      object-fit: cover;
  }
}
/* Tablet - 650px */
@media only screen and (min-width: 40.625rem) {
  #AboutContact-328 .cs-contact-group {
      width: 100%;
      flex-direction: row;
      justify-content: space-between;
  }
}
/* Small Desktop - 1024px */
@media only screen and (min-width: 64rem) {
  #AboutContact-328 .cs-container {
      max-width: 80rem;
      flex-direction: row;
      justify-content: space-between;
      gap: 3.25rem;
  }
  #AboutContact-328 .cs-content {
      max-width: 32.625rem;
  }
  #AboutContact-328 .cs-title,
  #AboutContact-328 .cs-topper {
      text-align: left;
      margin-left: 0;
  }
  #AboutContact-328 .cs-title {
      max-width: 32.625rem;
  }
  #AboutContact-328 .cs-email,
  #AboutContact-328 .cs-phone {
      width: 48%;
  }
  #AboutContact-328 .cs-button-solid {
      margin-left: 0;
  }
  #AboutContact-328 .cs-right {
      width: 51.6%;
      max-width: 41.125rem;
      /* prevent flexbox from squishing it */
      flex: none;
  }
}
/* Desktop - 1300px - Parallax Effect */
@media only screen and (min-width: 81.25rem) {
  #AboutContact-328 {
      background: url("https://csimg.nyc3.digitaloceanspaces.com/Contact-Page/round-table.jpg");
      background-size: cover;
      background-position: center;
      background-repeat: no-repeat;
      /* makes parallax effect */
      background-attachment: fixed;
  }

  /*-- -------------------------- -->
<---          Banner            -->
<--- -------------------------- -*/

/* Mobile - 360px */
@media only screen and (min-width: 0rem) {
  #banner-1403 {
      padding: var(--sectionPadding);
      /* 190px - 268px */
      padding-top: clamp(11.875rem, 25vw, 16.75rem);
      padding-bottom: 6.25rem;
      /* clips the line from causing overflow issues for going off screen */
      overflow: hidden;
      position: relative;
      z-index: 1;
  }
  #banner-1403 .cs-container {
      text-align: center;
      width: 100%;
      max-width: 80rem;
      margin: auto;
      display: flex;
      justify-content: center;
      align-items: flex-start;
      flex-direction: column;
      /* 8px - 12px */
      gap: clamp(0.5rem, 1vw, 0.75rem);
  }
  #banner-1403 .cs-int-title {
      /* 39px - 61px */
      font-size: clamp(2.4375rem, 6.4vw, 3.8125rem);
      font-weight: 900;
      line-height: 1.2em;
      text-align: inherit;
      margin: 0;
      color: var(--bodyTextColorWhite);
      position: relative;
  }
  #banner-1403 .cs-breadcrumbs {
      display: flex;
      justify-content: center;
      align-items: center;
  }
  #banner-1403 .cs-link {
      font-size: 1rem;
      line-height: 1.2em;
      text-decoration: none;
      color: var(--bodyTextColorWhite);
      position: relative;
      display: flex;
      justify-content: center;
      align-items: center;
  }
  #banner-1403 .cs-link:last-of-type {
      /* remove the chevron on the last list item */
  }
  #banner-1403 .cs-link:last-of-type::after {
      display: none;
  }
  #banner-1403 .cs-link:after {
      /* chevron */
      content: "";
      width: 0.4375rem;
      height: 0.75rem;
      margin: 0 1rem;
      background: url("https://csimg.nyc3.cdn.digitaloceanspaces.com/Icons/white-chev.svg");
      background-size: contain;
      background-position: center;
      background-repeat: no-repeat;
      position: relative;
      display: block;
  }
  #banner-1403 .cs-link.cs-active {
      color: var(--primary);
  }
  #banner-1403 .cs-background {
      width: 100%;
      height: 100%;
      display: block;
      position: absolute;
      top: 0;
      left: 0;
      z-index: -1;
  }
  #banner-1403 .cs-background:before {
      /* gradient overlay */
      content: "";
      width: 100%;
      height: 100%;
      background: #000;
      opacity: 0.4;
      position: absolute;
      display: block;
      top: 0;
      left: 0;
      z-index: 1;
  }
  #banner-1403 .cs-background:after {
      /* gradient overlay */
      content: "";
      width: 100%;
      height: 40%;
      background: -webkit-gradient(
          linear,
          left top,
          left bottom,
          from(#000000),
          to(rgba(0, 0, 0, 0))
      );
      background: -o-linear-gradient(top, #000000 0%, rgba(0, 0, 0, 0) 100%);
      background: linear-gradient(
          to bottom,
          #000000 0%,
          rgba(0, 0, 0, 0) 100%
      );
      position: absolute;
      display: block;
      top: 0;
      left: 0;
      z-index: 2;
  }
  #banner-1403 .cs-background img {
      position: absolute;
      top: 0;
      left: 0;
      height: 100%;
      width: 100%;
      /* Makes img tag act as a background image */
      object-fit: cover;
  }
}
/* Tablet - 768px */
@media only screen and (min-width: 48rem) {
  #banner-1403 .cs-background:before {
      width: 50%;
      height: 100%;
      background: -webkit-gradient(
          linear,
          left top,
          right top,
          from(#000000),
          to(rgba(0, 0, 0, 0))
      );
      background: -o-linear-gradient(left, #000000 0%, rgba(0, 0, 0, 0) 100%);
      background: linear-gradient(
          to right,
          #000000 0%,
          rgba(0, 0, 0, 0) 100%
      );
      opacity: 1;
  }
}

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

/* Mobile - 360px */
@media only screen and (min-width: 0rem) {
  #contact-1403 {
      padding: var(--sectionPadding);
      padding-bottom: 0;
      background-color: #f7f7f7;
      position: relative;
      z-index: 10;
  }
  #contact-1403 .cs-container {
      width: 100%;
      /* changes to 1280px at tablet */
      max-width: 36.5rem;
      margin: auto;
      display: flex;
      justify-content: center;
      align-items: stretch;
      flex-direction: column;
      column-gap: auto;
      /* 48px - 64px */
      gap: clamp(2rem, 3vw, 3rem);
      position: relative;
  }
  #contact-1403 .cs-content {
      /* set text align to left if content needs to be left aligned */
      text-align: left;
      width: 100%;
      display: flex;
      flex-direction: column;
      /* centers content horizontally, set to flex-start to left align */
      align-items: flex-start;
  }

  #contact-1403 .cs-title {
      max-width: 23ch;
  }
  #contact-1403 .cs-text {
      margin-bottom: 1rem;
  }
  #contact-1403 .cs-text:last-of-type {
      margin-bottom: 2rem;
  }
  #contact-1403 .cs-ul {
      text-align: left;
      width: 100%;
      margin: 0;
      padding: 0;
      box-sizing: border-box;
      display: flex;
      flex-direction: column;
      align-items: flex-start;
      gap: 1.5rem;
      position: relative;
  }
  #contact-1403 .cs-li {
      list-style: none;
      display: flex;
      justify-content: flex-start;
      align-items: flex-start;
      gap: 1.25rem;
  }
  #contact-1403 .cs-li:hover .cs-icon-wrapper {
      transform: scale(1.1);
  }
  #contact-1403 .cs-header {
      font-size: 1.25rem;
      font-weight: 700;
      line-height: 1.2em;
      margin-bottom: 0.75rem;
      color: var(--headerColor);
      display: block;
  }
  #contact-1403 .cs-link {
      font-size: 1rem;
      line-height: 1.5em;
      text-decoration: none;
      color: #767676;
      display: block;
      position: relative;
  }
  #contact-1403 .cs-link:hover {
      text-decoration: underline;
  }
  #contact-1403 .cs-icon-wrapper {
      width: 3.75rem;
      height: 3.75rem;
      margin: 0;
      border-radius: 50%;
      border: 1px solid #bababa;
      display: flex;
      justify-content: center;
      align-items: center;
      /* prevents flexbox from squishing it */
      flex: none;
      transition: transform 0.3s;
  }
  #contact-1403 .cs-icon {
      width: 1.5rem;
      height: auto;
      display: block;
  }
  #contact-1403 .cs-form {
      width: 100%;
      max-width: 39.375rem;
      margin-bottom: 0;
      /* 24px - 48px top and bottom */
      /* 16px - 48px left and right */
      padding: clamp(1.5rem, 5.18vw, 3rem) clamp(1rem, 4vw, 3rem);
      /* prevents flexbox from affecting height and width */
      box-sizing: border-box;
      background-color: #fff;
      border-radius: 1rem;
      display: flex;
      justify-content: space-between;
      flex-wrap: wrap;
      align-items: center;
      gap: 0.75rem;
  }
  #contact-1403 .cs-h3 {
      /* 20px - 39px */
      font-size: clamp(1.25rem, 3vw, 2.4375rem);
      line-height: 1.2em;
      font-weight: 700;
      margin: 0 0 0.25rem 0;
      color: var(--headerColor);
  }
  #contact-1403 .cs-label {
      /* 14px - 16px */
      font-size: clamp(0.875rem, 1.5vw, 1rem);
      width: 100%;
      color: var(--headerColor);
      display: flex;
      flex-direction: column;
      justify-content: center;
      align-items: flex-start;
      gap: 0.25rem;
  }
  #contact-1403 .cs-input {
      font-size: 1rem;
      width: 100%;
      height: 3.5rem;
      padding: 0;
      padding-left: 1.5rem;
      color: var(--headerColor);
      background-color: #f7f7f7;
      border-radius: 0.5rem;
      border: none;
      /* prevents padding from adding to height and width */
      box-sizing: border-box;
  }
  #contact-1403 .cs-input::placeholder {
      color: #7d799c;
      opacity: 0.6;
  }
  #contact-1403 .cs-textarea {
      min-height: 7.5rem;
      padding-top: 1.5rem;
      margin-bottom: 0.75rem;
      font-family: inherit;
  }
  #contact-1403 .cs-button-solid {
      font-size: 1rem;
      line-height: 3.5rem;
      text-decoration: none;
      font-weight: 700;
      overflow: hidden;
      margin: 0;
      color: #fff;
      padding: 0 3rem;
      border-radius: 1.875rem;
      background-color: var(--primary);
      display: inline-block;
      position: relative;
      z-index: 1;
      transition: color 0.3s;
  }
  #contact-1403 .cs-button-solid:before {
      content: "";
      position: absolute;
      display: block;
      height: 100%;
      width: 0%;
      background: #1a1a1a;
      opacity: 1;
      top: 0;
      left: 0;
      z-index: -1;
      transition: width 0.3s;
  }
  #contact-1403 .cs-button-solid:hover {
      color: var(--primary);
  }
  #contact-1403 .cs-button-solid:hover:before {
      width: 100%;
  }
  #contact-1403 .cs-submit {
      width: 100%;
      min-width: 12.5rem;
      border: none;
  }
  #contact-1403 .cs-submit:hover {
      color: #fff;
      cursor: pointer;
  }
}
/* Tablet - 768px */
@media only screen and (min-width: 48rem) {
  #contact-1403 .cs-container {
      max-width: 80rem;
      flex-direction: row;
      justify-content: space-between;
  }
  #contact-1403 .cs-content {
      width: 47%;
      /* prevents flexbox from squishing it */
      flex: none;
  }
  #contact-1403 .cs-submit {
      width: auto;
  }
}
/* Desktop - 1024px */
@media only screen and (min-width: 64rem) {
  #contact-1403 .cs-form {
      width: 46%;
      max-width: 36.125rem;
  }
  #contact-1403 .cs-submit {
      width: auto;
  }
}
/* Large Desktop - 1500px */
@media only screen and (min-width: 93.75rem) {
  #contact-1403 .cs-graphic {
      display: block;
  }
}

/* Contact mobile hardening */
@media only screen and (max-width: 47.9375rem) {
  #contact-1403 .cs-content,
  #contact-1403 .cs-form,
  #contact-1403 .cs-ul,
  #contact-1403 .cs-li,
  #contact-1403 .cs-flex-group,
  #contact-1403 .cs-label {
      width: 100%;
  }
  #contact-1403 .cs-ul,
  #contact-1403 .cs-li {
      list-style: none;
      margin-left: 0;
      padding-left: 0;
  }
  #contact-1403 .cs-li {
      display: flex;
      align-items: flex-start;
      gap: 1rem;
  }
  #contact-1403 .cs-flex-group {
      display: flex;
      flex-direction: column;
      align-items: flex-start;
  }
  #contact-1403 .cs-form {
      display: flex;
      flex-direction: column;
      align-items: stretch;
      gap: 1rem;
      padding: 1.5rem;
      background: #fff;
      border-radius: 1rem;
  }
  #contact-1403 .cs-form > * {
      width: 100%;
      max-width: 100%;
  }
  #contact-1403 .cs-h3,
  #contact-1403 .cs-header,
  #contact-1403 .cs-label,
  #contact-1403 .cs-link,
  #contact-1403 .cs-text {
      font-family: 'Maven Pro', 'Arial', sans-serif;
  }
  #contact-1403 .cs-link {
      color: var(--bodyTextColor);
      text-decoration: none;
      word-break: break-word;
  }
  #contact-1403 .cs-input,
  #contact-1403 .cs-textarea,
  #contact-1403 .cs-submit {
      width: 100%;
      max-width: 100%;
      display: block;
      box-sizing: border-box;
  }
}

/*-- -------------------------- -->
<---    Google Maps Iframe      -->
<--- -------------------------- -*/

/* Mobile - 360px */
@media only screen and (min-width: 0rem) {
  #map-1403 {
    position: relative;
    z-index: 1;
    margin-top: -2rem;
  }

  #map-1403 iframe {
      width: 100%;
      /* 400px - 560px */
      height: clamp(25rem, 42vw, 35rem);
  }
}

/*-- -------------------------- -->
<---          Reviews           -->
<--- -------------------------- -*/

/* Mobile - 360px */
@media only screen and (min-width: 0rem) {
  #reviews-1403 {
      /* centers the button */
      text-align: center;
      padding: var(--sectionPadding);
      /* clips the orbs from causing overflow issues */
      overflow: hidden;
      position: relative;
      z-index: 1;
  }
  #reviews-1403 .cs-container {
      width: 100%;
      /* changes to 1024px at tablet */
      max-width: 36.5rem;
      margin: auto;
      display: flex;
      flex-direction: column;
      align-items: center;
      /* 48px - 64px */
      gap: clamp(3rem, 6vw, 4rem);
  }
  #reviews-1403 .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;
  }
  #reviews-1403 .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;
  }
  #reviews-1403 .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;
  }
  #reviews-1403 .cs-title {
      max-width: 20ch;
      margin: 0;
  }
  #reviews-1403 .cs-card-group {
      width: 100%;
      padding: 0;
      margin: 0;
      display: grid;
      grid-template-columns: repeat(12, 1fr);
      /* 16px - 20px */
      gap: clamp(1rem, 2.5vw, 1.15rem);
  }
  #reviews-1403 .cs-item {
      list-style: none;
      text-align: left;
      /* 20px - 60px */
      padding: clamp(1rem, 4vw, 3.75rem);
      background-color: #fff;
      /* 12px - 24px */
      border-radius: clamp(0.75rem, 1.5vw, 1.25rem);
      /* prevents padding from adding to height and width */
      box-sizing: border-box;
      /* clips the pseudo box from overflowing */
      overflow: hidden;
      display: flex;
      grid-column: span 12;
      justify-content: center;
      align-items: flex-start;
      flex-direction: column;
      position: relative;
      z-index: 1;
  }
  #reviews-1403 .cs-item:before {
      /* background color */
      content: "";
      width: 100%;
      height: 100%;
      background: var(--primary);
      opacity: 0.05;
      position: absolute;
      display: block;
      top: 0;
      left: 0;
      z-index: -1;
      /* prevents the mouse from interacting it */
      pointer-events: none;
  }
  #reviews-1403 .cs-quote {
      /* 72px - 120px */
      width: clamp(4.5rem, 10vw, 7.5rem);
      height: auto;
      /* 32px - 64px */
      margin-bottom: clamp(2rem, 6vw, 4rem);
      display: block;
  }
  #reviews-1403 .cs-item-text {
      /* 16px - 25px */
      font-size: clamp(1rem, 2.6vw, 1.5625rem);
      line-height: 1.2em;
      font-weight: bold;
      margin: 0;
      /* 24px - 64px */
      margin-bottom: clamp(1.5rem, 6vw, 4rem);
      color: var(--bodyTextColor);
  }
  #reviews-1403 .cs-flex-group {
      /* in case one card has more text than the other, this pushes up against the review text so the name and title are always at the bottom. Only works if parent is a flexbox */
      margin-top: auto;
      display: flex;
      justify-content: flex-start;
      align-items: center;
      /* 8px - 24px */
      gap: clamp(0.8rem, 1.5vw, 1rem);
  }
  #reviews-1403 .cs-profile {
      /* 40px - 52px */
      width: clamp(2.5rem, 5vw, 3.25rem);
      height: clamp(2.5rem, 5vw, 3.25rem);
      margin: 0;
      border-radius: 50%;
      box-sizing: border-box;
      border: 2px solid #fff;
      /* clips image corners to make circle */
      overflow: hidden;
      position: relative;
      display: block;
  }
  #reviews-1403 .cs-profile img {
      position: absolute;
      top: 0;
      left: 0;
      height: 100%;
      width: 100%;
      /* makes the image behave like a background image */
      object-fit: cover;
  }
  #reviews-1403 .cs-name {
      /* 16px - 25px */
      font-size: clamp(1rem, 2.5vw, 1.5625rem);
      line-height: 1.2em;
      font-weight: 700;
      margin: 0;
      color: var(--headerColor);
      display: block;
  }
  #reviews-1403 .cs-job {
      /* 14px - 16px */
      font-size: clamp(0.875rem, 1.5vw, 1rem);
      line-height: 1.5em;
      font-weight: 400;
      margin: 0;
      color: #746f95;
      display: block;
  }
}
/* Tablet - 768px */
@media only screen and (min-width: 48rem) {
  #reviews-1403 .cs-container {
      max-width: 80rem;
  }
  #reviews-1403 .cs-item {
      grid-column: span 6;
  }
}

                              
}


                              


                              

                              
                                
                                


                              


                              

                              
                                
/* --------------------------
   Blog pages (11ty)
   -------------------------- */
#blog-hero-1403 {
  padding: var(--sectionPadding);
}

#blog-hero-1403 .cs-text {
  max-width: 44rem;
}

#blog-featured-1403 {
  padding: 0 0 clamp(1.5rem, 5vw, 3rem);
}

#blog-featured-1403 .cs-container {
  padding: 0 1rem;
}

#blog-featured-1403 .cs-featured-post {
  max-width: 62rem;
  margin: 0;
  border: 1px solid #d6d8e0;
  border-radius: 1rem;
  background: #fff;
  box-shadow: 0 18px 35px -28px rgb(26 26 26 / 40%);
  padding: clamp(1rem, 3vw, 1.75rem);
}

#blog-featured-1403 .cs-featured-post .cs-title {
  margin-bottom: 0.65rem;
  text-decoration: none;
  display: inline-block;
  font-size: clamp(1.7rem, 4vw, 2.2rem);
}

#blog-featured-1403 .cs-featured-post .cs-blog-meta {
  margin: 0 0 0.7rem;
  color: #6f6b8f;
}

#blog-featured-1403 .cs-featured-post .cs-link {
  margin-top: 0.6rem;
  display: inline-block;
}

#blog-feed-1403 {
  padding: 0 0 var(--sectionPadding);
}

#blog-feed-1403 .cs-container {
  padding: 0 1rem;
}

#blog-feed-1403 .cs-card-group {
  margin: 0;
  padding: 0;
  display: grid;
  gap: 1rem;
  grid-template-columns: 1fr;
  list-style: none;
}

#blog-feed-1403 .cs-item {
  margin: 0;
}

#blog-feed-1403 .cs-recent-post-card {
  margin: 0;
  border: 1px solid #e5e7eb;
  border-radius: 1rem;
  background: #fff;
  box-shadow: 0 10px 20px -18px rgb(26 26 26 / 32%);
  overflow: hidden;
}

#blog-feed-1403 .cs-blog-link {
  color: var(--headerColor);
  text-decoration: none;
  font-size: clamp(1.1rem, 2vw, 1.35rem);
  line-height: 1.35;
  font-weight: 700;
  margin: 0;
}

#blog-feed-1403 .cs-card-link {
  text-decoration: none;
  display: flex;
  flex-direction: column;
}

#blog-feed-1403 .cs-blog-link:hover {
  color: var(--secondary);
}

#blog-feed-1403 .cs-picture {
  width: 100%;
  height: 13rem;
  margin: 0;
  display: block;
  position: relative;
  overflow: hidden;
}

#blog-feed-1403 .cs-picture img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  position: absolute;
  top: 0;
  left: 0;
}

#blog-feed-1403 .cs-blog-meta {
  margin: 0.45rem 0 0.75rem;
  color: #69668a;
  font-size: 0.95rem;
}

#blog-feed-1403 .cs-item-text {
  margin: 0;
  padding: 1rem 1.1rem 1.25rem;
}

#blog-post-1403 {
  padding: var(--sectionPadding);
}

#blog-post-1403 .cs-post-copy {
  max-width: 100%;
}

#blog-post-1403 .cs-post-copy p {
  color: var(--bodyTextColor);
}

#blog-related-1403 {
  padding: 0 0 var(--sectionPadding);
}

#blog-related-1403 .cs-container {
  padding: 0 1rem;
}

#blog-related-1403 .cs-card-group {
  margin: 0;
  padding: 0;
  list-style: none;
  display: grid;
  gap: 1rem;
}

#blog-related-1403 .cs-item {
  margin: 0;
  padding: 1.15rem 1.25rem;
  border: 1px solid #dce2e9;
  border-radius: 0.75rem;
  background: #fff;
  box-shadow: 0 8px 20px -24px rgb(26 26 26 / 32%);
}

.cs-main {
  background: #fbfbfc;
}
