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

/* Mobile - 360px */
@media only screen and (min-width: 0rem) {
    #gallery-1716 {
        padding: clamp(20vh, 7.82vw, 6.25rem) 1rem;
        position: relative;
        z-index: 1;
        overflow: hidden;
        min-height: 85vh;
    }
    #gallery-1716 .cs-container {
        width: 100%;
        max-width: 100rem;
        margin: auto;
        display: flex;
        flex-direction: column;
        align-items: center;
        /* 48px - 64px */
        gap: clamp(3rem, 6vw, 4rem);
    }
    #gallery-1716 .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;
    }
    #gallery-1716 .cs-title {
        margin: 0 0 2.5rem 0;
        color: var(--primary);
        /* padding-left: 70;
        text-align: center; */

        font-family: "Playfair Display", serif;
        font-optical-sizing: auto;
        font-weight: 400;
        font-style: normal;
    }
    #gallery-1716 .cs-text {
        margin-bottom: 1.5rem;
    }
    #gallery-1716 .cs-text:last-of-type {
        /* 32px - 64px */
        margin-bottom: clamp(2rem, 7vw, 4rem);
    }
    #gallery-1716 .cs-text:last-of-type:before {
        /* colored overlay rectangle - positioned absolute to the section tag because it is the nearest parent with a decalred position relative */
        content: '';
        width: 100%;
        height: 80%;
        background: var(--primary);
        opacity: .1;
        position: absolute;
        display: block;
        bottom: 0;
        left: 0;
        z-index: -1;
    }
    #gallery-1716 .cs-button-solid {
        font-size: 1.5rem;
        /* 46px - 56px */
        line-height: clamp(2.875rem, 5.5vw, 3.5rem);
        text-decoration: none;
        font-weight: 550;
        text-align: center;
        margin: 0;
        color: #fff;
        min-width: 9.375rem;
        padding: 0 1.5rem;
        background-color: var(--primary);
        display: inline-block;
        position: relative;
        z-index: 1;
        /* prevents padding from adding to the width */
        box-sizing: border-box;
        font-family: "Playfair Display", serif;
        font-optical-sizing: auto;
        font-style: normal;
    }
    #gallery-1716 .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;
    }
    #gallery-1716 .cs-button-solid:hover:before {
        width: 100%;
    }
    #gallery-1716 .cs-gallery {
        width: 100%;
        display: grid;
        grid-template-columns: repeat(12, 1fr);
        /* sends it to the top in the 1st position */
        order: 1;
    }
    #gallery-1716 .cs-picture {
        width: 100%;
        /* changes at tablet */
        height: 100vw;
        max-height: 25rem;
        display: block;
        position: relative;
        z-index: 1;
        grid-column: span 4;
    }
    #gallery-1716 .cs-picture img {
        width: 100%;
        height: 100%;
        object-fit: cover;
        position: absolute;
        top: 0;
        left: 0;
    }
}
/* Tablet - 768px */
@media only screen and (min-width: 48rem) {
    #gallery-1716 .cs-container {
        display: flex;
        flex-direction: row;
        justify-content: space-between;
        align-items: stretch;
    }
    #gallery-1716 .cs-content {
        flex: 1.2;
        max-width: none;
        padding-bottom: clamp(2rem, 7vw, 4rem);
    }
    #gallery-1716 .cs-text:last-of-type {
        /* add position relative so the colored rectangle is now absolutely positioned to the cs-text parent. We also only want these styles on the last paragraph tag */
        position: relative;
        z-index: 1;
    }
    #gallery-1716 .cs-text:last-of-type:before {
        width: 250vw;
        height: 100vw;
        top: calc(100% + 1.8rem);
        left: 50%;
        transform: translateX(-50%);
    }
    #gallery-1716 .cs-gallery {
        height: auto;
        flex: 2;
    }
    #gallery-1716 .cs-picture {
        height: 100%;
        max-height: 100%;
        /* 280px - 420px */
        min-height: clamp(17.5rem, 37vw, 26.25rem);
    }
}

/*-- -------------------------- -->
<---        Side By Side        -->
<--- -------------------------- -*/
/* Mobile - 360px */
#sbs-1639 .cs-topper {
    color: var(--primaryLight)
}
@media only screen and (min-width: 0rem) {
    #wrapper-1639 {
        background-color: #d3d0dd;
        overflow: hidden;
    }
    #sbs-1639 {
        padding: var(--sectionPadding);
        padding-top: 50;
    }
    #sbs-1639 .cs-container {
        width: 100%;
        /* changes to 1280px at tablet */
        max-width: 36.5rem;
        margin: auto;
        display: flex;
        flex-direction: column;
        align-items: center;
        /* 48px - 64px */
        gap: clamp(3rem, 6vw, 4rem);
    }
    #sbs-1639 .cs-content {
        /* set text align to left if content needs to be left aligned */
        text-align: center;
        width: 100%;
        max-width: 39.375rem;
        display: flex;
        flex-direction: column;
        /* centers content horizontally, set to flex-start to left align */
        align-items: space-evenly;
        justify-content: space-evenly;
        position: relative;
        z-index: 10;
    }
    #sbs-1639 .cs-section-title {
        margin: 0 0 2.5rem 0;
        color: var(--bodyTextColorWhite);
        text-align: center;

        align-content: center;
        font-size: 60;

        font-family: "Playfair Display";
        font-optical-sizing: auto;
        font-weight: 400;
        font-style: normal;
    }
    #sbs-1639 .cs-title {
        margin: 0 0 2.5rem 0;
        color: var(--bodyTextColorWhite);
        padding-left: 70;
        text-align: center;

        font-family: "Playfair Display";
        font-optical-sizing: auto;
        font-weight: 400;
        font-style: normal;
    }
    #sbs-1639 .cs-text {
        margin-bottom: 1rem;
        color: var(--bodyTextColorWhite);
        opacity: .8;

        padding-left: 80;
    }
    #sbs-1639 .cs-text:last-of-type {
        margin-bottom: 2rem;
    }
    #sbs-1639 .cs-picture {
        width: 100%;
        height: auto;
        min-height: 26.25rem;
        display: block;
        position: relative;
        z-index: 1;

    }
    #sbs-1639 .cs-picture img {
        width: 100%;
        height: 100%;
        object-fit: cover;
        position: absolute;
        top: 0;
        left: 0;
        border-radius: 50% 20% / 10% 40%;
    }
    #sbs-1639 .cs-stats-group {
        width: 100%;
        max-width: 35.625rem;
        display: flex;
        flex-direction: column;
    }
    #sbs-1639 .cs-stats {
        width: 100%;
        max-width: 39.375rem;
        padding: 0;
        margin: 0;
        display: grid;
        grid-template-columns: repeat(12, 1fr);
        row-gap: 1.5rem;
        column-gap: 0.75rem;
    }
    #sbs-1639 .cs-stat {
        list-style: none;
        margin: 0;
        padding: 0;
        display: flex;
        grid-column: span 4;
        flex-direction: column;
        align-self: stretch;
        align-content: space-between;
    }
    #sbs-1639 .cs-number {
        /* 39px - 61px */
        font-size: clamp(2.4375rem, 5vw, 3.8125rem);
        line-height: 1.2em;
        font-weight: 900;
        text-align: left;
        color: var(--bodyTextColorWhite);
        display: block;
        margin: 0 0 0.25rem 0;
    }
    #sbs-1639 .cs-desc {
        font-size: 1rem;
        line-height: 1.5em;
        font-weight: 700;
        text-align: left;
        /* auto margin top will push text to bottom if there's only one line */
        margin: 0;
        color: var(--primary);
    }
}
/* Tablet - 768px */
@media only screen and (min-width: 48rem) {
    #sbs-1639 .cs-container {
        max-width: 80rem;
        flex-direction: row;
        justify-content: space-between;
        align-items: stretch;
    }
    #sbs-1639 .cs-stats-group {
        /* 52px - 90px */
        margin-bottom: clamp(3.25rem, 7vw, 5.625rem);
        /* 60px - 120px */
        padding-top: clamp(3.75rem, 10vw, 7.5rem);
        /* 60px - 80px */
        padding-bottom: clamp(3.75rem, 8vw, 5rem);
        position: relative;
        z-index: 1;
    }
    #sbs-1639 .cs-stats-group:before {
        content: '';
        width: 200vw;
        height: 100%;
        background: #fff;
        opacity: 1;
        position: absolute;
        display: block;
        top: 100%;
        left: -100%;
        z-index: -1;
        transform: translateX(-50%);
    }
    #sbs-1639 .cs-picture {
        height: 100%;
    }
}

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

/* Mobile - 360px */
@media only screen and (min-width: 0rem) {
    #contact-1388 {
        padding: var(--sectionPadding);
        background-color: #f7f7f7;
        position: relative;
        z-index: 1;
    }
    #contact-1388 .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-1388 .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-1388 .cs-title {
        max-width: 23ch;
    }
    #contact-1388 .cs-text {
        margin-bottom: 1rem;
    }
    #contact-1388 .cs-text:last-of-type {
        margin-bottom: 2rem;
    }
    #sbs-1639 .cs-ul {
        text-align: left;
        width: 100%;
        margin: 0;
        padding-left: 180;
        box-sizing: border-box;
        display: flex;
        flex-direction: column;
        align-items: flex-start;
        gap: 1.5rem;
        position: relative;
    }
    #sbs-1639 .cs-li {
        list-style: none;
        display: flex;
        justify-content: flex-start;
        align-items: flex-start;
        gap: 1.25rem;
    }
    #sbs-1639 .cs-li:hover .cs-icon-wrapper {
        transform: scale(1.1);
    }
    #sbs-1639 .cs-header {
        font-size: 1.25rem;
        font-weight: 700;
        line-height: 1.2em;
        margin-bottom: 0.75rem;
        color: var(--headerColor);
        display: block;
    }
    #sbs-1639 .cs-link {
        font-size: 1rem;
        line-height: 1.5em;
        text-decoration: none;
        color: #181b16;
        display: block;
        position: relative;
    }
    #sbs-1639 .cs-link:hover {
        text-decoration: underline;
    }
    #sbs-1639 .cs-icon-wrapper {
        width: 3.75rem;
        height: 3.75rem;
        margin: 0;
        border-radius: 50%;
        border: 1px solid #181b16;
        display: flex;
        justify-content: center;
        align-items: center;
        /* prevents flexbox from squishing it */
        flex: none;
        transition: transform 0.3s;
    }
    #sbs-1639 .cs-icon {
        width: 1.5rem;
        height: auto;
        display: block;
    }
    #contact-1388 .cs-form {
        width: 100%;
        max-width: 39.375rem;
        /* 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: #181b16;
        border-radius: 1rem;
        display: flex;
        justify-content: space-between;
        flex-wrap: wrap;
        align-items: center;
        gap: 0.75rem;
    }
    #contact-1388 .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-1388 .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-1388 .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-1388 .cs-input::placeholder {
        color: #7d799c;
        opacity: 0.6;
    }
    #contact-1388 .cs-textarea {
        min-height: 7.5rem;
        padding-top: 1.5rem;
        margin-bottom: 0.75rem;
        font-family: inherit;
    }
    #contact-1388 .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-1388 .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-1388 .cs-button-solid:hover {
        color: var(--primary);
    }
    #contact-1388 .cs-button-solid:hover:before {
        width: 100%;
    }
    #contact-1388 .cs-submit {
        width: 100%;
        min-width: 12.5rem;
        border: none;
    }
    #contact-1388 .cs-submit:hover {
        color: #fff;
        cursor: pointer;
    }
}
/* Tablet - 768px */
@media only screen and (min-width: 48rem) {
    #contact-1388 .cs-container {
        max-width: 80rem;
        flex-direction: row;
        justify-content: space-between;
    }
    #contact-1388 .cs-content {
        width: 47%;
        /* prevents flexbox from squishing it */
        flex: none;
    }
    #contact-1388 .cs-submit {
        width: auto;
    }
}
/* Desktop - 1024px */
@media only screen and (min-width: 64rem) {
    #contact-1388 .cs-form {
        width: 46%;
        max-width: 36.125rem;
    }
    #contact-1388 .cs-submit {
        width: auto;
    }
}
/* Large Desktop - 1500px */
@media only screen and (min-width: 93.75rem) {
    #contact-1388 .cs-graphic {
        display: block;
    }
}

