/* LAYOUT */
.section {padding: 48px 24px;}
.section.splash-section {padding: 30px;}

.bg-secondary {background-color: var(--bs-tertiary) !important;}

.full-bg-section,
.full-bg-container {
    background-position: center;
    background-size: cover;
    background-repeat: no-repeat;
}
.section.full-bg-section {padding: 0;}
.section .full-bg-container {padding: 48px 24px;}
.section:not(.splash-section) {position: relative;}
.section:not(.splash-section):before {
    content: "";
    position: absolute;
    top: -20px;
    left: 50%;
    width: 1px;
    height: 40px;
    background: var(--bs-secondary);
    z-index: 10;
    transform: translateX(-50%);
}


/* TYPOGRAPHY */
p {
    font-weight: 300;
}

.btn {
    text-transform: uppercase;
}

h3.subheader {
    font-weight: 300;
    text-transform: uppercase;
    font-size: calc(0.5rem * var(--ra-h-scale));
}

/* COMPONENTS */
.header {
    position: absolute;
    left: 0;
    right: 0;
    top: 0;
    z-index: 1001;
    background: var(--bs-primary);
}
.navbar-toggler-icon {
    filter: invert(1) brightness(1.6);
}
.navbar-toggler:focus {
    box-shadow: none;
}
.footer .copyright {
    border-top: 1px solid var(--bs-tertiary-hover);
}
.form-control-lg {
    font-size: 1rem;
}
.card {
    border-radius: 0 120px 0 120px;
}

.card > div:first-child {
    border-radius: 0 120px 0 0;
}


/* SECTIONS */
.splash-section {
    position: relative;
    max-width: 100%;
    overflow: hidden;
    border-radius: 0 0 120px 0;
    background-position: center;
    background-size: cover;
    background-repeat: no-repeat;
    min-height: 480px;
    height: 70vh;
    max-height: 640px;
}

.splash-section.interior-splash-section {
    min-height: 360px;
    height: 50vh;
    max-height: 480px;
}

.splash-section:before {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: var(--ra-primary-fade);
    z-index: 1;
}

.splash-section .container {
    position: relative;
    z-index: 2;
}

/* STYLISTICS */
.corner-bottom-right {
    border-radius: 0 0 120px 0;
}
.corner-bottom-left {
    border-radius: 0 0 0 120px;
}

.image-montage {
    position: relative;
    z-index: 1;
}
.image-montage:before {
    content: "";
    position: absolute;
    top: 16px;
    left: 16px;
    right: -16px;
    bottom: -16px;
    background: transparent;
    z-index: 0;
    border-radius: 0 0 120px 0;
    border: 1px solid var(--bs-secondary);
}

.bg-secondary .image-montage:before {
    border: 1px solid var(--bs-primary);
}

.image-montage.single-image > .image img {
    z-index: 2;
    position: relative;
    border-radius: 0 0 120px 0;
}
.image-montage.split-image {
    padding: 16px;
    max-width: 640px;
}

.image-montage.split-image:before {
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
}

.image-montage.split-image .image {
    width: 50%;
}
.image-montage.split-image .image-right {
    position: absolute;
    bottom: 16px;
    right: -16px;
}

.image-montage.split-image .image-right img {
    border-radius: 0 120px 0 0;
}

.image-montage.split-image.split-image-left .image-right {
    position: relative;
    bottom: auto;
    right: auto;
}
.image-montage.split-image.split-image-left .image-right img {
    border-radius: 0;
}

.image-montage.split-image.split-image-left:before {
    border-radius: 0 0 0 120px;
}

.image-montage.split-image.split-image-left .image-left img {
    border-radius: 120px 0 0 0;
}

.image-montage.split-image.split-image-left .image-left {
    position: absolute;
    bottom: 16px;
    left: -16px;
}

.image-montage.single-image.corner-top-right:before,
.image-montage.single-image.corner-top-right > .image img {
    border-radius: 0 120px 0 0;
}
.image-montage.single-image.corner-top-right:before {
    top: -16px;
    left: 16px;
    right: -16px;
    bottom: 16px;
}

.image-montage.single-image.corner-top-left:before,
.image-montage.single-image.corner-top-left > .image img {
    border-radius: 120px 0 0 0;
}
.image-montage.single-image.corner-top-left:before {
    top: -16px;
    left: -16px;
    right: 16px;
    bottom: 16px;
}

.image-montage.single-image.corner-bottom-left:before,
.image-montage.single-image.corner-bottom-left > .image img {
    border-radius: 0 0 0 120px;
}
.image-montage.single-image.corner-bottom-left:before {
    top: 16px;
    left: -16px;
    right: 16px;
    bottom: -16px;
}





@media only screen and (min-width: 768px) {


}

@media only screen and (min-width: 992px) {
    .section {padding: 48px 0;}
    .section .full-bg-container {padding-top: 48px; padding-bottom: 48px;}
    .section:not(.splash-section):before {
        top: -40px;
        height: 80px;
    }

    h3.subheader {
        font-size: calc(0.75rem * var(--ra-h-scale));
    }

    .footer .copyright {background: none;}

}

@media only screen and (min-width: 1200px) {
    .section,
    .section.splash-section,
    .section .full-bg-container {padding: 96px 0;}
    .section.splash-section {padding-top: 120px;}

    .section:not(.splash-section):before {
        top: -60px;
        height: 120px;
    }

    .header {background: none;}
    .footer .copyright {
        border-top: none;
    }
    .splash-section {
        background-position: center;
        min-height: 600px;
        height: 90vh;
        max-height: 720px;
    }
    .splash-section.interior-splash-section {
        min-height: 480px;
        height: 60vh;
        max-height: 640px;
    }
}

@media only screen and (min-width: 1440px) {
    .section,
    .section .full-bg-container {padding: 88px 0;}
}

#header-logo {
    max-width: 100px;
}