/* FMH RESET */

.bt-content-wrapper .container {
    padding: 0 !important;
    margin: 0;
    max-width: 100%;
    width: 100%;
    overflow: hidden;
}

.bt-page-header {
    display: none;
}

/* GENERAL */

body {
    padding: 0;
    margin: 0;
    border: 0;
    box-sizing: content-box;
    font-family: "Quicksand", sans-serif;
    font-size: 14px;
}

h1,
h2,
h3 {
    text-transform: uppercase;
}

h2,
h3 {
    font-size: 2rem;
    font-weight: 400;
}

a {
    text-decoration: none;
}

.center {
    text-align: center;
}

.landing>ul,
.one-column ul,
.two-columns-no-spacing ul,
.two-columns-padded ul {
    list-style-type: none;
    padding-left: 0;
    margin-left: 0;
}

.landing>ul li:before,
.one-column ul li:before,
.two-columns-no-spacing ul li:before,
.two-columns-padded ul li:before {
    content: "– ";
    font-weight: 700;
}

.one-column:not(.blue-background) ul li:before,
.two-columns-no-spacing:not(.blue-background) ul li:before,
.two-columns-padded:not(.blue-background) ul li:before {
    content: "– ";
    font-weight: 700;
    color: #2F5F86;
}

@media (max-width: 1098px) {

    h2,
    h3 {
        font-size: 1.6rem;
    }

    ul {
        text-align: left;
    }
}

/* ICON */

.icon {
    width: 1.6rem;
}

/* BOTONES */

.btn-main {
    display: flex;
    padding: 1rem 2rem;
    margin: 1rem 0;
    font-weight: 500;
    color: white;
    background-color: #2F5F86;
    text-transform: uppercase;
    border: 9px solid white;
    outline: 1px solid #2F5F86;
    transition: background-color 0.3s, color 0.3s;
    text-align: center;
    width: auto;
    align-items: center;
    justify-content: center;
    flex: 1;
    max-width: 12rem;
}

.btn-main:hover {
    background-color: #2F5F86;
    color: white;
}

.btn-mobile {
    display: none;
}

.btn-desktop {
    display: inline-block;
}

.btn-wrapper {
    display: flex;
    gap: 1rem;
    align-items: center;
    align-content: center;
    justify-content: center;
    width: 100%;
    align-items: stretch;
}

.btn-wrapper .btn-main {
    width: 45%;
}

@media (max-width: 598px) {
    .btn-wrapper {
        display: flex;
        flex-direction: column;
        gap: 1rem;
        align-items: center;
        align-content: center;
        justify-content: center;
    }

    .btn-wrapper .btn-main {
        width: 80%;
        margin: 0;
    }

    .btn-desktop {
        display: none;
    }

    .btn-mobile {
        display: inline-block;
    }
}

/* COLORES, BACKGROUNDS */

a,
strong,
h2,
h3 {
    color: #2F5F86;
}

.blue-background {
    background-color: #2F5F86;
    color: white;
}

.light-blue-background {
    background-color: rgba(47, 95, 134, 0.08);
}

.blue-background h1,
.blue-background a,
.blue-background strong {
    color: white;
}

.blue-background .btn-main {
    background-color: white;
    color: #2F5F86;
    border-color: #2F5F86;
    outline-color: white;
}

.blue-background a,
.blue-background strong,
.blue-background h2,
.blue-background h3 {
    color: white;
}

/* TABLE */

table {
    width: 100%;
    border-collapse: collapse;
    border: none;
}

th,
td {
    text-align: center;
}

th {
    padding: 8px;
    border: none;
    text-transform: uppercase;
}

.blue-background th,
.blue-background td {
    color: white;
}

td {
    padding: 8px;
    border: none;
    border-bottom: 1px solid #ddd;
}

/* BANNER */

.banner {
    width: 100%;
    height: 90vh;
    overflow: hidden;
}

.banner img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
}

@media (max-width: 1098px) {
    .banner {
        height: 30vh;
    }
}

/* INTRODUCCION */

.intro {
    display: flex;
    flex-direction: column;
    align-items: center;
    padding: 2rem 0;
}

.intro p {
    text-transform: uppercase;
    font-weight: 700;
}

/* UNA COLUMNA */

.one-column {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    padding: 2rem;
}

.one-column p {
    width: 80%;
    text-align: center;
}

.one-column .btn-wrapper {
    width: 50%;
}

@media (max-width: 1098px) {
    .one-column {
        text-align: center;
    }

    .one-column .btn-wrapper {
        width: 100%;
    }

    .one-column .btn-main {
        width: 100%;
    }
}

/* SEPARADOR DE MAPA */

.map-separator {
    width: 100%;
    height: 50vh;
    overflow: hidden;
}

/* SEPARADOR DE IMAGEN */

.image-separator {
    width: 100%;
    height: 50vh;
    overflow: hidden;
}

.image-separator img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
}

/* SEPARADOR DE MÚLTIPLES IMÁGENES */

.multiple-image-separator {
    width: 100%;
    overflow: hidden;
    position: relative;
}

.separator-desktop {
    display: block;
    width: 100%;
    height: 50vh;
    object-fit: cover;
    object-position: center;
}

.image-carousel {
    display: none;
    position: relative;
    width: 100%;
    height: 50vh;
    overflow: hidden;
}

.carousel-container {
    position: relative;
    width: 100%;
    height: 100%;
    overflow: hidden;
}

.carousel-track {
    display: flex;
    width: 100%;
    height: 100%;
    transition: transform 0.5s ease;
}

.carousel-track img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center;
    flex-shrink: 0;
    display: block;
}

.carousel-btn {
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    background: transparent;
    border: none;
    color: white;
    font-size: 3rem;
    cursor: pointer;
    padding: 0.5rem 1rem;
    z-index: 10;
}

.carousel-btn:hover {
    background: rgba(0, 0, 0, 0.5);
}

.carousel-btn.prev {
    left: 1rem;
}

.carousel-btn.next {
    right: 1rem;
}

@media (max-width: 768px) {
    .separator-desktop {
        display: none;
    }

    .image-carousel {
        display: block;
    }

    .carousel-btn {
        font-size: 2rem;
        padding: 0.3rem 0.8rem;
    }
}

/* DOS COLUMNAS CON ESPACIADO */

.two-columns-padded {
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    padding: 3rem 0;
}

.two-columns-padded .content-wrapper {
    width: 85%;
    display: flex;
    align-items: center;
    gap: 2rem;
}

.two-columns-padded h2 {
    font-weight: 400;
}

.two-columns-padded .content-wrapper .text-column {
    flex: 1.1;
}

.two-columns-padded .picture-column {
    flex: 1.1;
}

.two-columns-padded .picture-column img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
}

.two-columns-padded a:not(.btn-main),
.two-columns-padded strong {
    font-weight: bold;
}

.two-columns-padded .text-wrapper {
    flex-direction: column;
    display: flex;
    justify-content: center;
    align-content: center;
    align-items: center;
}

.two-columns-padded .text-wrapper p,
.two-columns-padded .text-wrapper ul,
.two-columns-padded .text-wrapper h2,
.two-columns-padded .text-wrapper h3 {
    width: 90%;
}

@media (max-width: 1098px) {

    .two-columns-padded h2:not(.text-wrapper>h2),
    .two-columns-padded h3:not(.text-wrapper>h3) {
        width: 80%;
    }

    .two-columns-padded {
        text-align: center;

    }

    .two-columns-padded .content-wrapper {
        flex-direction: column;
        gap: 0;
        width: 100%;
        width: 80%;
    }

    .two-columns-padded .text-wrapper {
        width: 100%;
    }

    .two-columns-padded .text-wrapper p,
    .two-columns-padded .text-wrapper ul,
    .two-columns-padded .text-wrapper h2,
    .two-columns-padded .text-wrapper h3 {
        width: 100%;
    }
}

/* DOS COLUMNAS SIN ESPACIADO */

.two-columns-no-spacing {
    display: flex;
}

.two-columns-no-spacing h2 {
    font-weight: 400;
}

.two-columns-no-spacing .text-column {
    flex: 1;
    flex-direction: column;
    display: flex;
    justify-content: center;
    align-items: center;
    padding: 1rem 0;
}

.two-columns-no-spacing .picture-column {
    flex: 1.2;
}

.two-columns-no-spacing .picture-column img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
}

.two-columns-no-spacing a:not(.btn-main),
.two-columns-no-spacing strong {
    font-weight: bold;
}

.two-columns-no-spacing .text-wrapper {
    width: 70%;
}

@media (max-width: 1098px) {
    .two-columns-no-spacing {
        flex-direction: column;
        text-align: center;
    }

    .two-columns-no-spacing .text-wrapper {
        width: 80%;
    }

    .two-columns-no-spacing .picture-column {
        order: 0;
    }

    .two-columns-no-spacing .text-column {
        order: 1;
    }
}

/* TWO COLUMNS NO SPACING, HALF AND HALF */

.half-and-half .picture-column {
    flex: 1;
}

/* TAKE A TOUR */

.take-a-tour {
    text-align: center;
    padding: 2rem 0;
}

.take-a-tour h2 {
    text-align: center;
    font-weight: 400;
}

/* SCHEDULE A VISIT */

.schedule-visit {
    text-align: center;
    display: flex;
    flex-direction: column;
    align-items: center;
    padding: 2rem;
}

.schedule-visit h2 {
    font-weight: 400;
}

.schedule-visit p {
    font-weight: 700;
}

.schedule-visit h3 {
    font-weight: 700;
    font-size: 1rem;
}

.schedule-visit a:not(.btn-main) {
    display: block;
}

/* SPACER */

.spacer {
    height: 10vh;
}

/* CARRUSEL */

.carousel {
    width: 100%;
    font-family: sans-serif;
}

.carousel .main-image-container {
    position: relative;
    width: 100%;
    height: 85vh;
}

.carousel .main-image-container img {
    width: 100%;
    display: block;
    height: 100%;
    object-fit: cover;
}

.carousel .arrow {
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    font-size: 2rem;
    color: white;
    background-color: transparent;
    border: none;
    cursor: pointer;
    padding: 10px;
    z-index: 2;
}

.carousel .arrow.left {
    left: 10px;
}

.carousel .arrow.right {
    right: 10px;
}

.carousel .thumbnails-wrapper {
    overflow: hidden;
    width: 100%;
}

.carousel .thumbnails {
    display: flex;
    transition: transform 0.3s ease;
    width: max-content;
}

.carousel .thumbnails img {
    width: 25vw;
    cursor: pointer;
    display: block;
    flex-shrink: 0;
}

.carousel .thumbnails img.active {
    opacity: 0.6;
}

@media (max-width: 598px) {
    .carousel .thumbnails-wrapper {
        display: none;
    }

    .carousel .main-image-container {
        height: 30vh;
    }
}

/* FAQ */

.faq {
    text-align: center;
    display: flex;
    flex-direction: column;
    justify-content: center;
    padding-top: 2rem;
    padding-bottom: 2rem;
}

.faq h2,
.faq h3 {
    width: 80%;
    align-self: center;
}

.acordeon-item {
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
}

.acordeon-item:not(:last-child) {
    border-bottom: 1px solid #ccc;
}

.acordeon-titulo,
.acordeon-contenido {
    width: 80%;
    text-align: left;
}

.acordeon-titulo {
    cursor: pointer;
    padding: 15px;
    display: flex;
    align-items: center;
    gap: 10px;
}

.acordeon-icono {
    font-weight: bold;
    width: 20px;
    text-align: center;
}

.acordeon-contenido {
    max-height: 0;
    overflow: hidden;
    transition: max-height 0.4s ease;
}

.acordeon-contenido p,
.acordeon-contenido ul {
    margin: 15px 0;
}


/* Media query opcional para refinar aún más en pantallas pequeñas */
@media (max-width: 480px) {
    .acordeon-titulo {
        font-size: 16px;
        padding: 12px;
    }

    .acordeon-icono {
        font-size: 18px;
    }

    .acordeon-titulo,
    .acordeon-contenido {
        width: 90%;
    }
}

/* DOT CARROUSEL */

.dot-carousel {
    position: relative;
    width: 100%;
    overflow: hidden;
    text-align: center;
    padding-bottom: 2rem;
}

.dot-carousel h2 {
    font-weight: 500;
}

.dot-carousel-track {
    display: flex;
    transition: transform 0.6s ease-in-out;
    width: 100%;
}

.dot-carousel .slide {
    width: 100%;
    height: 85vh;
    object-fit: cover;
    flex-shrink: 0;
}

.dot-carousel-dots {
    display: flex;
    justify-content: center;
    gap: 10px;
    margin-top: 3rem;
}

.dot-carousel-dot {
    width: 14px;
    height: 14px;
    border-radius: 50%;
    background-color: #ccc;
    cursor: pointer;
    transition: background-color 0.3s ease;
}

.dot-carousel-dot.active {
    background-color: #2F5F86;
}

/* TWO COL CARRUSEL */

.two-col-carousel {
    width: 100%;
    height: 100%;
    display: block;
}

.two-col-carousel .carousel-track img {
    object-fit: cover;
}

/* MULTICOLUMN LAYOUT */

.multicolumn {
    display: flex;
    justify-content: center;
    width: 100%;
    padding-bottom: 2rem;
    gap: 10rem;
    flex-wrap: wrap;
}

.multicolumn-child p,
.multicolumn-child h3 {
    text-align: left;
}

.multicolumn-child p {
    margin: .5rem 0;
}

.multicolumn-child h3 {
    font-size: 1.5rem;
}

.multicolumn-child>img:not(.icon) {
    max-width: 100%;
    width: auto;
    max-height: 30rem;
}

.multicolumn .center {
    text-align: center;
}


@media (max-width: 1370px) {
    .multicolumn {
        gap: 2rem;
    }

    .multicolumn-child {
        width: 20%;
    }

    .multicolumn-child p:not(.floorplan-specs p),
    .multicolumn-child h3:not(.floorplan-specs h3) {
        width: 100%;
        text-align: center;
    }

    .multicolumn-child {
        display: flex;
        flex-direction: column;
        align-items: center;
    }

    .multicolumn-child>img {
        align-self: center;
    }
}

@media (max-width: 680px) {
    .multicolumn {
        flex-direction: column;
        gap: 2rem;
    }

    .multicolumn-child {
        width: 100%;
    }
}

/* MULTICOLUMN, THREE PER ROW */

.multicolumn.three-per-row {
    gap: 2rem;
}

.multicolumn.three-per-row .multicolumn-child {
    display: flex;
    flex-direction: column;
    align-items: center;
}

.multicolumn.three-per-row .multicolumn-child {
    width: 30%;
}

.multicolumn.three-per-row .multicolumn-child>img {
    align-self: center;
}

.multicolumn.three-per-row .multicolumn-child p {
    width: 100%;
    text-align: center;
}

@media (max-width: 680px) {
    .multicolumn.three-per-row {
        gap: 1rem;
        justify-content: center;
        align-items: center;
    }

    .multicolumn.three-per-row .multicolumn-child {
        width: 80%;
    }
}


/* FLOORPLAN SPECS */

.floorplan-specs {
    display: flex;
    align-items: center;
    gap: 2rem;
    width: 43%;
    align-content: center;
    justify-content: center;
}


.floorplan-specs img {
    width: 20rem;
    height: auto;
}

.floorplan-specs h3 {
    text-transform: none;
    font-weight: bold;
    font-size: 1.2rem;
}

@media (max-width: 1370px) {
    .floorplan-specs {
        flex-direction: row;
    }

    .floorplan-specs img {
        width: 10rem;
        height: auto;
    }
}

@media (max-width: 750px) {
    .floorplan-specs {
        width: 100%;
        justify-content: center;
        flex-wrap: wrap;
    }

    .floorplan-specs img {
        width: 40%;
    }
}

/* LISTINGS */

.listings {
    width: 100%;
    height: 70vh;
}

.listings-iframe {
    width: 100%;
    height: 100%;
}