/* Page Styles -- Start */
.page-template-template-modular .modules {
    display: -ms-grid;
    display: grid;
    row-gap: 50px;
    margin: 50px 0;
}
.page-template-template-modular .modules .module-buttons {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    gap: 30px;
}
.page-template-template-modular .modules .module-buttons.module-buttons--center {
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
}
.page-template-template-modular .modules .module-buttons .module-button {
    display: inline-block;
    padding: 10px 20px;
    text-transform: uppercase;
    font-size: 16px;
    letter-spacing: 4px;
    border: 1px solid #AB825E !important;
    color: #AB825E;
    font-weight: 400;
    font-family: "brandon-grotesque", sans-serif;
    -o-transition: all 0.5s ease;
    transition: all 0.5s ease;
    -webkit-transition: all 0.5s ease;
    -moz-transition: all 0.5s ease;
    position: relative;
    width: auto;
    -webkit-box-flex: 0;
        -ms-flex: none;
            flex: none;
}
.page-template-template-modular .modules .module-buttons .module-button:before {
    content: "";
    position: absolute;
    top: -8px;
    bottom: -8px;
    left: 7px;
    right: 7px;
    display: block;
    border: 1px solid #AB825E;
}
.page-template-template-modular .modules .module-buttons .module-button:hover {
    background-color: #AB825E;
    color: #fff;
}
/* Page Styles -- End */

/* Content Block -- Start */
.page-template-template-modular .modules .content-block {
    text-align: center;
}
.page-template-template-modular .modules .content-block h2 {
    color: #5D0749;
	font-size: 24px;
	letter-spacing: 2px;
	line-height: 35px;
	margin:0;
	font-weight: 300;
	font-family: "kepler-std",serif;
}
.page-template-template-modular .modules .content-block .content-block__cols {
    margin-top: 40px;
}
.page-template-template-modular .modules .content-block .content-block__cols p:last-child,
.page-template-template-modular .modules .content-block .content-block__cols ul:last-child,
.page-template-template-modular .modules .content-block .content-block__cols ol:last-child {
    padding-bottom: 0;
}
.page-template-template-modular .modules .content-block .content-block__cols--two {
    text-align: left;
	margin-top: 40px;
	-webkit-column-count: 2;
    -moz-column-count: 2;
    column-count: 2;
    -webkit-column-width: 420px;
    -moz-column-width: 420px;
    column-width: 420px;	
}
.page-template-template-modular .modules .content-block .module-buttons {
    margin-top: 40px;
}
/* Content Block -- End */

/* Banner -- Start */
.page-template-template-modular .modules .banner {
    position: relative;
}
.page-template-template-modular .modules .banner .banner__image {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    z-index: 1;
}
.page-template-template-modular .modules .banner .banner__image--dark:after {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-color: rgba(0, 0, 0, 0.3);
}
.page-template-template-modular .modules .banner .banner__image .banner__image-img {
    width: 100%;
    height: 100%;
    -o-object-fit: cover;
       object-fit: cover;
    -o-object-position: center;
       object-position: center;
}
.page-template-template-modular .modules .banner .wrapper {
    min-height: 300px;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
}
.page-template-template-modular .modules .banner .wrapper.wrapper__content--right {
    -webkit-box-pack: end;
        -ms-flex-pack: end;
            justify-content: flex-end;
}
.page-template-template-modular .modules .banner .banner__content {
    position: relative;
    z-index: 2;
    padding: 88px 0;
    max-width: 480px;
    text-align: center;
    display: inline-block;
}
.page-template-template-modular .modules .banner .banner__content .module-buttons {
    margin-top: 40px;
}
/* Banner -- End */

/* CI Block -- Start */
.page-template-template-modular .modules .ci-block .ci-block__image {
    height: 80vw;
    max-height: 400px;
    margin-bottom: 30px;
}
.page-template-template-modular .modules .ci-block .ci-block__image img {
    height: 100%;
    width: 100%;
    -o-object-fit: cover;
       object-fit: cover;
    -o-object-position: center;
       object-position: center;
}
.page-template-template-modular .modules .ci-block .ci-block__content-container {
    padding: 0 20px;
}
.page-template-template-modular .modules .ci-block .ci-block__heading {
    font-size: 20px;
    letter-spacing: 4px;
    font-weight: 400;
    line-height: 26px;
    text-transform: uppercase;
    margin: 0;
}
.page-template-template-modular .modules .ci-block .ci-block__content {
    margin: 20px 0 40px 0;
}
.page-template-template-modular .modules .ci-block .ci-block__content p:last-child,
.page-template-template-modular .modules .ci-block .ci-block__content ul:last-child,
.page-template-template-modular .modules .ci-block .ci-block__content ol:last-child {
    padding-bottom: 0;
}
/* CI Block -- End */

/* Image CTAs -- Start */
.page-template-template-modular .modules .image-ctas .image-ctas__ctas {
    display: -ms-grid;
    display: grid;
    row-gap: 50px;
}
.page-template-template-modular .modules .image-ctas .image-ctas__ctas .image-ctas__cta {
    position: relative;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    aspect-ratio: 1 / 1;
}
.page-template-template-modular .modules .image-ctas .image-ctas__ctas .image-ctas__cta .image-ctas__cta-image {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    -o-object-fit: cover;
       object-fit: cover;
    -o-object-position: center;
       object-position: center;
    -webkit-transition: opacity 0.5s ease;
    -o-transition: opacity 0.5s ease;
    transition: opacity 0.5s ease;
}
.page-template-template-modular .modules .image-ctas .image-ctas__ctas .image-ctas__cta:hover .image-ctas__cta-image {
    opacity: 0.6;
}
.page-template-template-modular .modules .image-ctas .image-ctas__ctas .image-ctas__cta .image-ctas__cta-title {
    position: relative;
    display: block;
    width: 100%;
    text-align: center;
    background-color: rgba(255, 255, 255, 0.9);
    padding: 30px 20px;
    color: #AB825E;
    font-size: 18px;
    letter-spacing: 5px;
    line-height: 25px;
    font-family: "brandon-grotesque", sans-serif;
    text-transform: uppercase;    
}
/* Image CTAs -- End */

/* Gallery Grid -- Start */
.page-template-template-modular .modules .gallery-grid .gallery-grid__images {
    display: -ms-grid;
    display: grid;
    row-gap: 15px;
}
.page-template-template-modular .modules .gallery-grid .gallery-grid__images .gallery-grid__images-col {
    display: -ms-grid;
    display: grid;
    row-gap: 15px;
}
.page-template-template-modular .modules .gallery-grid .gallery-grid__images .gallery-grid__images-col img {
    width: 100%;
    height: auto;
}
/* Gallery Grid -- End */

/* Media Queries */
@media (min-width: 576px) {
    .page-template-template-modular .modules {
        row-gap: 55px;
        margin: 55px 0;
    }

    .page-template-template-modular .modules .banner .wrapper {
        min-height: 350px;
    }
}
@media (min-width: 768px) {
    .page-template-template-modular .modules {
        row-gap: 60px;
        margin: 60px 0;
    }

    .page-template-template-modular .modules .banner .wrapper {
        min-height: 400px;
    }

    .page-template-template-modular .modules .ci-block .ci-block__image {
        max-height: unset;
        height: 450px;
    }

    .page-template-template-modular .modules .image-ctas .image-ctas__ctas {
        -ms-grid-columns: minmax(0, 1fr) 30px minmax(0, 1fr);
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 30px;
        margin: 0 15px;
    }

    .page-template-template-modular .modules .gallery-grid .gallery-grid__images {
        row-gap: 10px;
    }
    .page-template-template-modular .modules .gallery-grid .gallery-grid__images .gallery-grid__images-col {
        row-gap: 10px;
    }
    .page-template-template-modular .modules .gallery-grid .gallery-grid__images .gallery-grid__images-col img {
        -o-object-fit: cover;
           object-fit: cover;
        -o-object-position: center;
           object-position: center;
    }
    .page-template-template-modular .modules .gallery-grid .gallery-grid__images .gallery-grid__images-col-1 img,
    .page-template-template-modular .modules .gallery-grid .gallery-grid__images .gallery-grid__images-col-3 img {
        aspect-ratio: 1 / 1;
    }
    .page-template-template-modular .modules .gallery-grid .gallery-grid__images .gallery-grid__images-col-2 img {
        height: calc((100vw - 55px) / 2);
    }
    .page-template-template-modular .modules .gallery-grid .gallery-grid__images .gallery-grid__images-col-1,
    .page-template-template-modular .modules .gallery-grid .gallery-grid__images .gallery-grid__images-col-3 {
        -ms-grid-columns: minmax(0, 1fr) 10px minmax(0, 1fr);
        grid-template-columns: repeat(2, minmax(0, 1fr));
        -webkit-column-gap: 10px;
           -moz-column-gap: 10px;
                column-gap: 10px;
    }
}
@media (min-width: 992px) {
    .page-template-template-modular .modules {
        row-gap: 65px;
        margin: 65px 0;
    }

    .page-template-template-modular .modules .banner .wrapper {
        min-height: 450px;
    }

    .page-template-template-modular .modules .ci-block {
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
    }
    .page-template-template-modular .modules .ci-block.ci-block--image-right {
        -webkit-box-orient: horizontal;
        -webkit-box-direction: reverse;
            -ms-flex-direction: row-reverse;
                flex-direction: row-reverse;
    }
    .page-template-template-modular .modules .ci-block .ci-block__image {
        height: 100%;
        width: 40%;
        -webkit-box-flex: 0;
            -ms-flex: none;
                flex: none;
        margin-bottom: 0;
        position: absolute;
    }
    .page-template-template-modular .modules .ci-block .ci-block__content-container {
        padding: 55px;
        width: 60%;
        -webkit-box-flex: 0;
            -ms-flex: none;
                flex: none;
        min-height: 475px;
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -webkit-box-orient: vertical;
        -webkit-box-direction: normal;
            -ms-flex-direction: column;
                flex-direction: column;
        -webkit-box-pack: center;
            -ms-flex-pack: center;
                justify-content: center;        
    }
    .page-template-template-modular .modules .ci-block.ci-block--image-right .ci-block__content-container {
        margin-right: auto;
    }
    .page-template-template-modular .modules .ci-block.ci-block--image-left .ci-block__content-container {
        margin-left: auto;
    }

    .page-template-template-modular .modules .gallery-grid .gallery-grid__images {
        -ms-grid-columns: minmax(0, 1fr) 10px minmax(0, 1fr) 10px minmax(0, 1fr);
        grid-template-columns: repeat(3, minmax(0, 1fr));
        -webkit-column-gap: 10px;
           -moz-column-gap: 10px;
                column-gap: 10px;
    }
    .page-template-template-modular .modules .gallery-grid .gallery-grid__images .gallery-grid__images-col-1,
    .page-template-template-modular .modules .gallery-grid .gallery-grid__images .gallery-grid__images-col-3 {
        grid-template-columns: repeat(1, minmax(0, 1fr));
        row-gap: 10px;
    }
    .page-template-template-modular .modules .gallery-grid .gallery-grid__images .gallery-grid__images-col-1 img,
    .page-template-template-modular .modules .gallery-grid .gallery-grid__images .gallery-grid__images-col-3 img {
        aspect-ratio: unset;
        height: 225px;
    }
    .page-template-template-modular .modules .gallery-grid .gallery-grid__images .gallery-grid__images-col-2 img {
        height: 100%;
    }
}
@media (min-width: 1200px) {
    .page-template-template-modular .modules {
        row-gap: 70px;
        margin: 70px 0;
    }

    .page-template-template-modular .modules .banner .wrapper {
        min-height: 500px;
    }

    .page-template-template-modular .modules .ci-block .ci-block__content-container {
        min-height: 500px;
    }

    .page-template-template-modular .modules .gallery-grid .gallery-grid__images .gallery-grid__images-col-1 img,
    .page-template-template-modular .modules .gallery-grid .gallery-grid__images .gallery-grid__images-col-3 img {
        height: 250px;
    }
}
@media (min-width: 1400px) {
    .page-template-template-modular .modules {
        row-gap: 75px;
        margin: 75px 0;
    }

    .page-template-template-modular .modules .banner .wrapper {
        min-height: 550px;
    }

    .page-template-template-modular .modules .ci-block {
        max-width: 1500px;
        margin-left: auto;
        margin-right: auto;
    }
    .page-template-template-modular .modules .ci-block .ci-block__content-container {
        min-height: 516px;
    }

    .page-template-template-modular .modules .gallery-grid .gallery-grid__images .gallery-grid__images-col-1 img,
    .page-template-template-modular .modules .gallery-grid .gallery-grid__images .gallery-grid__images-col-3 img {
        height: 265px;
    }
}