/*-- -------------------------- -->
<---          Banner            -->
<--- -------------------------- -*/
/* Mobile - 360px */
@media only screen and (min-width: 0em) {
  #banner-1004 {
    padding: 0 1rem;
    /* 160px - 245px */
    padding-top: clamp(10rem, 25vw, 10rem);
    padding-bottom: 7.5rem;
    background-color: #000;
    position: relative;
    z-index: 1;
  }
  #banner-1004 .cs-container {
    text-align: center;
    width: 100%;
    max-width: 80rem;
    margin: auto;
    display: flex;
    justify-content: center;
    align-items: center;
    flex-direction: column;
  }
  #banner-1004 .cs-picture {
    width: 100%;
    margin: 0 0 0.75rem;
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 1rem;
    position: relative;
  }
  #banner-1004 .cs-picture:before {
    /* left line */
    content: "";
    width: 50%;
    max-width: 9.375rem;
    height: 1px;
    background: #b4b2c7;
    opacity: 1;
    position: relative;
    display: block;
  }
  #banner-1004 .cs-picture:after {
    /* right line */
    content: "";
    width: 50%;
    max-width: 9.375rem;
    height: 1px;
    background: #b4b2c7;
    opacity: 1;
    position: relative;
    display: block;
  }
  #banner-1004 .cs-icon {
    width: 40%;
    /* 100px - 180px */
    max-width: clamp(6.25rem, 18vw, 11.25rem);
    height: auto;
    /* prevents flexbox from squishing it */
    flex: none;
  }
  #banner-1004 .cs-int-title {
    /* 39px - 61px */
    font-size: clamp(2.4375rem, 6.5vw, 3.8125rem);
    font-weight: 900;
    line-height: 1.2em;
    text-align: center;
    max-width: 43.75rem;
    margin: 0 0 1rem 0;
    color: var(--bodyTextColorWhite);
    position: relative;
  }
  #banner-1004 .cs-text {
    color: var(--bodyTextColorWhite);
    font-family: Roboto;
  }
  #banner-1004 .cs-background {
    width: 100%;
    height: 100%;
    opacity: 0.7;
    position: absolute;
    top: 0;
    left: 0;
    display: block;
    z-index: -1;
  }
  #banner-1004 .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;
  }
  #banner-1004 .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) {
    #sbs-1006 {
        padding: var(--sectionPadding);
    }
    #sbs-1006 .cs-container {
        width: 100%;
        /* changes to 1280px at desktop */
        max-width: 50rem;
        margin: auto;
        display: flex;
        flex-direction: column;
        align-items: center;
        /* 48px - 64px */
        gap: clamp(3rem, 6vw, 4rem);
    }
    #sbs-1006 .cs-content {
        /* set text align to left if content needs to be left aligned */
        text-align: left;
        width: 100%;
        /* changes to 522px at desktop */
        max-width: 36.125rem;
        margin-top: -1rem;
        display: flex;
        flex-direction: column;
        /* centers content horizontally, set to flex-start to left align */
        align-items: flex-start;
    }

    #sbs-1006 .cs-text {
        margin-bottom: 1rem;
        font-family: Roboto;
    }
    #sbs-1006 ul li {
        font-family: Roboto;
        color: var(--bodyTextColor);
        margin-bottom: 0.5rem;
    }
    #sbs-1006 .cs-text:last-of-type {
        margin-bottom: 2rem;
    }
    #sbs-1006 .cs-spacer {
        width: 100%;
        /* 16px - 24px */
        height: clamp(1rem, 3vw, 1.5rem);
        display: block;
    }
    #sbs-1006 .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 2rem;
        background-color: var(--primary);
        display: inline-block;
        position: relative;
        z-index: 1;
        /* prevents padding from adding to the width */
        box-sizing: border-box;
    }
    #sbs-1006 .cs-button-solid:before {
        content: "";
        position: absolute;
        height: 100%;
        width: 0%;
        background: #000;
        opacity: 1;
        top: 0;
        left: 0;
        z-index: -1;
        transition: width 0.3s;
    }
    #sbs-1006 .cs-button-solid:hover:before {
        width: 100%;
    }
    #sbs-1006 .cs-image-group {
        width: 100%;
        display: flex;
        flex-direction: column;
    }
    #sbs-1006 .cs-picture {
        width: 100%;
        height: 16.3125rem;
        border: 12px solid #fff;
        background-color: #fff;
        display: block;
        box-shadow: rgba(149, 157, 165, 0.2) 0px 8px 24px;
        position: relative;
    }
    #sbs-1006 .cs-picture img {
        position: absolute;
        top: 0;
        left: 0;
        height: 100%;
        width: 100%;
        /* makes it behave like a background image */
        object-fit: cover;
    }
    #sbs-1006 .cs-seal {
        /* changes to a clamp(104px - 190px) at desktop */
        width: 6.5rem;
        height: auto;
        /* 104px - 190px */
        /* wrapped clamp in calc function to make the value negative, and multiply by half (.5) the height to it always overlaps the bg image by half its height */
        margin-top: calc(clamp(6.5rem, 12vw, 11.875rem) * -0.5);
        margin-left: auto;
        /* 28px - 120px */
        margin-right: clamp(1.75rem, 10vw, 7.5rem);
        background-color: #fff;
        border: clamp(6px, 0.8vw, 12px) solid #ffffff;
        border-radius: 50%;
        display: block;
        position: relative;
        /* make it rest on top of the bg picture */
        z-index: 10;
    }

    #sbs-1006 .cs-picture:not(:first-child) {
        display: none;
    }

    /* Rule to ensure the first image is always visible on mobile */
    #sbs-1006 .cs-picture:first-child {
        display: block;
        object-position: bottom;
        min-height: 400px;
    }
}
/* Tablet - 768px */
@media only screen and (min-width: 48rem) {

    #sbs-1006 .cs-picture {
        display: block !important; /* Use !important if necessary to override */
    }

    #sbs-1006 .cs-container {
        align-items: flex-start;
    }
    #sbs-1006 .cs-flex-group {
        flex-direction: row;
    }
    #sbs-1006 .cs-spacer {
        display: none;
    }
}
/* Small Desktop - 1024px */
@media only screen and (min-width: 64rem) {
    #sbs-1006 .cs-container {
        max-width: 80rem;
        flex-direction: row;
        justify-content: flex-start;
        align-items: center;
        /* 100px - 200px */
        gap: clamp(6.25rem, 13vw, 6rem);
    }
    #sbs-1006 .cs-image-group {
        max-width: 33.875rem;
        display: flex;
        justify-content: flex-end;
        position: relative;
    }
    #sbs-1006 .cs-picture {
        height: 28.75rem;
        aspect-ratio: initial;
    }
    #sbs-1006 .cs-seal {
        /* 104 - 190px */
        width: clamp(6.5rem, 13vw, 11.875rem);
        margin: 0;
        position: absolute;
        top: 50%;
        /* subtract 12px (.75rem) to account for the border */
        right: calc((clamp(6.5rem, 13vw, 11.875rem) * -0.5) + -0.75rem);
        transform: translateY(-50%);
    }
    #sbs-1006 .cs-content {
        flex: none;
        width: 54%;
        max-width: 33.875rem;
    }
}

/* Mobile - 360px */
/* you can copy and paste these styles into the section CSS where you placed the #list-827 HTML, or you can place it in your global stylesheet so you can reuse the HTML in any Side By Side section on your site. That way when you make changes to it, it will also change everywhere in the site */
#quote-827 * {
    font-family: Roboto;
}
#quote-827 {
    width: 100%;
    max-width: 39.375rem;
    margin: 0 0 2rem 0;
    /* 16px - 32px */
    padding: clamp(1rem, 3vw, 2rem);
    background-color: #272727;
    position: relative;
}
#quote-827 .cs-quote-text {
    /* 14px - 16px */
    font-size: clamp(0.875rem, 1.5vw, 1rem);
    line-height: 1.5em;
    width: 100%;
    max-width: 31.25rem;
    margin: 0 0 1rem;
    color: white;
    display: block;
}
#quote-827 .cs-name {
    font-size: 1rem;
    line-height: 1.2em;
    text-transform: uppercase;
    font-weight: bold;
    width: 100%;
    margin: 0 0 0.25rem;
    color: var(--primary);
    display: block;
}
#quote-827 .cs-job {
    font-size: 0.875rem;
    line-height: 1.5em;
    color: #767676;
    display: block;
}
#quote-827 .cs-quote-icon {
    /* 60px - 136px */
    width: clamp(3.75rem, 10vw, 8.5rem);
    height: auto;
    position: absolute;
    bottom: 0;
    /* 16px - 32px */
    right: clamp(1rem, 4vw, 2rem);
}

/*-- -------------------------- -->
<---            CTA             -->
<--- -------------------------- -*/
/* Mobile - 360px */
@media only screen and (min-width: 0rem) {
  #cta-262 {
    padding: var(--sectionPadding);
    background-color: #FAFAFA;
  }
  #cta-262 .cs-container {
    width: 100%;
    max-width: 80rem;
    margin: auto;
    /* 32px - 88px top & bottom */
    /* 24px - 88px left & right */
    padding: clamp(2em, 6.3vw, 5.5em) clamp(1.5em, 5.7vw, 5.5em);
    border-radius: 1rem;
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    justify-content: center;
    gap: 2rem;
    position: relative;
    /* clips the corners for the border radius to show */
    overflow: hidden;
    z-index: 1;
    /* prevents padding from adding to height and width */
    box-sizing: border-box;
  }
  #cta-262 .cs-background {
    width: 100%;
    height: 100%;
    position: absolute;
    top: 0;
    left: 0;
    display: block;
    z-index: -1;
  }
  #cta-262 .cs-background:before {
    /* black overlay */
    content: "";
    width: 100%;
    height: 100%;
    background: #000;
    opacity: 0.7;
    position: absolute;
    display: block;
    top: 0;
    left: 0;
    z-index: 1;
  }
  #cta-262 .cs-background:after {
    /* brown overlay */
    content: "";
    width: 100%;
    height: 100%;
    background: 000000;
    opacity: 0.8;
    position: absolute;
    display: block;
    top: 0;
    left: 0;
    z-index: 2;
  }
  #cta-262 .cs-background img {
    position: absolute;
    top: 0;
    left: 0;
    height: 100%;
    width: 100%;
    object-fit: cover;
  }
  #cta-262 .cs-left-section {
    max-width: 27.125rem;
  }
  #cta-262 .cs-title {
    color: var(--bodyTextColorWhite);
    margin-bottom: clamp(1.25rem, 4.2vw, 3rem);
  }
  #cta-262 .cs-button-solid {
    font-size: 1rem;
    /* 46px - 56px */
    line-height: clamp(2.875em, 5.5vw, 3.5em);
    text-decoration: none;
    font-weight: 700;
    text-align: center;
    margin: auto;
    color: black;
    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-262 .cs-button-solid:before {
    content: "";
    position: absolute;
    height: 100%;
    width: 0%;
    background: white;
    opacity: 1;
    top: 0;
    left: 0;
    z-index: -1;
    border-radius: 0.25rem;
    transition: width 0.3s;
  }
  #cta-262 .cs-button-solid:hover:before {
    width: 100%;
  }
  #cta-262 .cs-content {
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: flex-start;
    /* 12px - 20px */
    gap: clamp(0.75rem, 1.6vw, 1.25rem);
  }
  #cta-262 .cs-header {
    /* 20px - 25px */
    font-size: clamp(1.25rem, 2.4vw, 1.5625rem);
    font-weight: bold;
    color: var(--primary);
    display: block;
    font-family: Roboto;
  }
  #cta-262 .cs-p {
    /* 14px - 20px */
    font-size: clamp(0.875rem, 1.5vw, 1.25rem);
    line-height: 1.5em;
    margin: 0;
    color: var(--bodyTextColorWhite);
    font-family: Roboto;
  }
}
/* Tablet - 768px */
@media only screen and (min-width: 48rem) {
  #cta-262 .cs-container {
    flex-direction: row;
    justify-content: space-between;
  }
  #cta-262 .cs-content {
    align-items: flex-end;
    text-align: right;
    /* prevents flexbox from squishing it */
    flex: none;
  }
}

/*-- -------------------------- -->
<---            Map             -->
<--- -------------------------- -*/

/* Mobile - 360px */
@media only screen and (min-width: 0rem) {
    #map-720 {
        min-height: 25rem;
        padding: var(--sectionPadding);
        /* prevents padding and border from affecting height and width */
        box-sizing: border-box;
        display: flex;
        justify-content: center;
        align-items: center;
        position: relative;
        width: 100%;
        margin: 0;
        padding: 0;
    }
    #map-720 .cs-background {
        width: 100%;
        height: 100%;
        display: block;
        position: absolute;
        top: 0;
        left: 0;
        z-index: -1;
    }
    #map-720 .cs-background img {
        position: absolute;
        top: 0;
        left: 0;
        height: 100%;
        width: 100%;
        /* Makes img tag act as a background image */
        object-fit: cover;
    }
#map-720 iframe {
    margin: 0;
    padding: 0;
    height: 25rem;
    width: 100%;
}
}
