/* General */
    html, body { 
        height: 100%; 
        font-size: 10px;
    }


    


    /* inclir fuente Cormorat en assets/fonts/ */
    @font-face {
        font-family: "Cormorant";
        src: url("../fonts/Cormorant-Regular.ttf") format("truetype");
    }

    .glifos-numeros {
        font-family: "Cormorant", serif;
        font-variant-numeric: lining-nums;
    }


    body { 
        /* margin-top: 30px; 
        margin-left: 30px; 
        margin-right: 30px;  */
        border: var(--margin-total) solid white;
        overflow: hidden; 
 
        font-family: "Cormorant", serif;
        font-optical-sizing: auto;
        font-weight: 300;
        font-style: normal;
    }
    :root { 
        --content-width: calc(100vw - (var(--margin-total) * 3)); 
        --col-width: calc(var(--content-width) / 3); 
        --col-yellow: #E7C206;
        --col-gray: #7f807f;
        --margin-total: 40px;
    }

    a {
        transition: all 0.3s ease-in-out;

        &:visited {
            color: inherit;
        }
    }

    p {
        line-height: 1.1;
    }

    .left-col { 
        position: fixed; 
        top: var(--margin-total); 
        left: var(--margin-total); 
        width: var(--col-width); 
        height: calc(100vh - var(--margin-total)); 
        display: flex; 
        flex-direction: column;         
    }
    .layout-rest { 
        margin-left: var(--col-width); 
        overflow: hidden; 
    }
    .right-scroll { 
        height: calc(100vh - var(--margin-total)); 
        overflow-y: scroll; 
        scrollbar-width: none; 
        -ms-overflow-style: none; 
    }
    .right-scroll::-webkit-scrollbar { 
        display: none; 
    }


    /* fonts */
    .cormorant-300 {
        font-family: "Cormorant", serif;
        font-optical-sizing: auto;
        font-weight: 300;
        font-style: normal;
    }
    .cormorant-700 {
        font-family: "Cormorant", serif;
        font-optical-sizing: auto;
        font-weight: 700;
        font-style: normal;
    }


    h1.page-title {
        font-size: 3.6rem;
    }

    .h1, .h2, .h3, .h4, .h5, .h6, h1, h2, h3, h4, h5, h6 {
        font-weight: 300;
    }




/* 1º columna */
.menu {
    margin-bottom: var(--margin-total);
    a { 
        font-size: 3.6rem;
        display: block; 
        padding: 2rem 0 0 0; 
        text-decoration: none; 
        color: var(--col-gray); 
        line-height: 25px;
        font-weight: 500 !important;
        
        &:hover {
            color: var(--col-yellow);
        }

        &.active {
            color: var(--col-yellow);
        }

    }

    .title-bottom {
        font-size: 3.6rem;
        display: block; 
        padding: 2rem 0 0 0; 
        text-decoration: none; 
        color: var(--col-gray); 
        line-height: 25px;
        font-weight: 500 !important;
    }
}

#logo {
    img {
        width: 260px;
        max-width: 260px;
    }
}




/* 3º columna */
.content-item { 
    /* min-height: 250px;  */
    /* max-height: 250px; */
    display: flex;
    align-items: end;
    overflow:hidden;
    /* padding: 3rem 2rem; */

    /* margin-bottom: var(--margin-total) !important; */

    h2 {
        /* font-size: 3rem; */
        line-height: 1;
        font-weight: 500;
        /* margin-bottom: 1.2rem; */
    }

    a {
        text-decoration: none;
        color: #000;
        &.active {
            color: var(--col-yellow);
            outline: none;

            &:hover {
                color: var(--col-yellow);
            }
        }
    }

    &:last-child {
        margin-bottom: var(--margin-total) !important;
    }
    

    .content-description,
    .content-location,
    .content-info {
        font-size: 2rem;
        /* line-height: 1.2; */

        a {
            color: var(--col-gray);
            text-decoration: none;

            &:visited {
                color: inherit;
            }
            &:hover {
                color: var(--col-yellow);
            }
        }

        p:last-child {
            margin-bottom: 0;
        }
    }
}

.content-item-inner {
    width: 100%;
}

.content-text {
    color: var(--col-gray);
    /* padding-right: 3rem; */
    text-align: left;
}

.content-title {
    font-size: 3rem;
    line-height: 1.1;
    margin: 0 0 1.2rem 0;
    color: #000 !important;

    &.small {
        font-size: 2.5rem;
    }
}

.content-description,
.content-location {
    font-size: 2.5rem;
    line-height: 1.3;
    margin: 0 0 0rem 0;
}
.content-location {
    margin: 0 0 0 0;
}

.content-image-wrap img {
    max-width: 100%;
    height: auto;
    display: block;
}

/* visor a pantalla completa */
.contenido-imagenes {
    position: fixed;
    top: 0;
    left: 0;
    width: 100vw;
    height: 100vh;
    border: var(--margin-total) solid white;
    background: #ffffff;
    z-index: 999999999;
    display: none;
    justify-content: flex-start;
    align-items: flex-start;
    overflow: hidden;
}

.contenido-imagenes img {
    height: 100%;
    width: auto;
    display: block;
}

.contenido-imagenes-close {
    position: absolute;
    top: 0px;
    right: 0px;
    z-index: 99999999999999999999999;
    background: transparent;
    border: none;
    color: var(--col-gray);
    font-size: 5rem;
    line-height: 0;
    cursor: pointer;
    padding:0;
}

.contenido-imagenes .carousel {
    width: 100%;

    .carousel-control-next,
    .carousel-control-prev {
        width: 5%;
    }
}

/* carousel dentro del visor */
.contenido-imagenes .carousel,
.contenido-imagenes .carousel-inner,
.contenido-imagenes .carousel-item {
    height: 100%;
}

/* .contenido-imagenes .carousel-item { */
    /* usar el display por defecto de Bootstrap (no sobreescribir) */
/* } */
.contenido-imagenes .carousel-item img {
    height: 100%;
    width: auto;
}

/* contenedor dinámico fuera del overlay */
#contenidor-imagenes-dinamico {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    /* border: 1px solid #ccc; */
    background-color: #ffffff;
    display: none;
    overflow: hidden;
}

#contenidor-imagenes-dinamico .carousel-control-prev-icon,
#contenidor-imagenes-dinamico .carousel-control-next-icon {
    opacity: 0 !important;
}

#contenidor-imagenes-dinamico .content-image-plus-more {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    font-size: 8rem;
    color: var(--col-gray);
    opacity: 0 !important;
    text-decoration: none !important;
    transition: all 0.3s ease-in-out;
}

#contenidor-imagenes-dinamico .carousel-item:hover .content-image-plus-more {
    opacity: 1 !important;
}

#contenidor-imagenes-dinamico .carousel-control-prev:hover .carousel-control-prev-icon,
#contenidor-imagenes-dinamico .carousel-control-next:hover .carousel-control-next-icon {
    opacity: 1 !important;
}


#contenidor-imagenes-dinamico .carousel,
#contenidor-imagenes-dinamico .carousel-inner,
#contenidor-imagenes-dinamico .carousel-item {
    height: 100%;
}

#contenidor-imagenes-dinamico .carousel-item img {
    height: 100%;
    width: auto;
}

.carousel-loading {
    width: 100%;
    height: 100%;
    display: flex;
    align-items: center;
    justify-content: center;
}

.spinner-circle {
    width: 48px;
    height: 48px;
    border-radius: 50%;
    border: 4px solid rgba(0, 0, 0, 0.1);
    border-top-color: var(--col-gray);
    animation: spinner-rotate 0.8s linear infinite;
}

@keyframes spinner-rotate {
    from {
        transform: rotate(0deg);
    }
    to {
        transform: rotate(360deg);
    }
}

.contenido-imagenes .carousel {
    --bs-carousel-control-prev-icon-bg: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath fill='%23ff0000' d='M11.354 1.646a.5.5 0 010 .708L5.707 8l5.647 5.646a.5.5 0 01-.708.708l-6-6a.5.5 0 010-.708l6-6a.5.5 0 01.708 0z'/%3E%3C/svg%3E");
    --bs-carousel-control-next-icon-bg: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath fill='%23ff0000' d='M4.646 1.646a.5.5 0 01.708 0l6 6a.5.5 0 010 .708l-6 6a.5.5 0 01-.708-.708L10.293 8 4.646 2.354a.5.5 0 010-.708z'/%3E%3C/svg%3E");
}

#contenidor-imagenes-dinamico .carousel {
    --bs-carousel-control-prev-icon-bg: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath fill='%23ff0000' d='M11.354 1.646a.5.5 0 010 .708L5.707 8l5.647 5.646a.5.5 0 01-.708.708l-6-6a.5.5 0 010-.708l6-6a.5.5 0 01.708 0z'/%3E%3C/svg%3E");
    --bs-carousel-control-next-icon-bg: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath fill='%23ff0000' d='M4.646 1.646a.5.5 0 01.708 0l6 6a.5.5 0 010 .708l-6 6a.5.5 0 01-.708-.708L10.293 8 4.646 2.354a.5.5 0 01-.708z'/%3E%3C/svg%3E");
}
.content-image-wrap {
 
    .content-image-plus {
        position: absolute;
        top: 50%;
        left: 50%;
        transform: translate(-50%, -50%);
        font-size: 8rem;
        color: var(--col-gray);
        text-decoration: none;
        opacity: 0;

        transition: all 0.3s ease-in-out;
    }
}

.layout-detalle .content-image-wrap {
    &:hover {
        cursor: pointer;
        .content-image-plus {
            opacity: 1;
        }
    }
}


#contenidor-imagenes-dinamico .carousel-item.active  {
    z-index: 99999999 !important;
}

/* disabilitar las flecha al principio y al final del carousel */
.carousel-control-prev.is-disabled,
.carousel-control-next.is-disabled {

    .carousel-control-next-icon,
    .carousel-control-prev-icon {
        &:before {
            opacity: 0.3;
            pointer-events: none;
            cursor: default;
        }
    }

}


.content-link {
    display: flex;
    justify-content: space-between;
    align-items: center;

    a {
        font-size: 1.7rem;
        font-weight: 500;
        line-height: 1;
        color: var(--col-gray);
        text-decoration: none;
        padding: .5rem 0;
        
        &:hover {
            color: var(--col-yellow);
        }
    
    }
}

.margin-automatico {
    opacity: 0;
    transition: opacity 0.4s ease;
}
.margin-automatico.is-visible {
    opacity: 1;
}


#ver-planos,
#ver-dibujos, 
#ver-imagenes {
    text-decoration: none !important;
}



/* mobile */
.mobile-header {
    padding: 0 1.5rem;
}

@media (max-width: 991.98px) {
    body {
        overflow-y: auto;
    }
}

.contenido-imagenes .carousel-control-prev-icon,
.contenido-imagenes .carousel-control-next-icon,
#contenidor-imagenes-dinamico .carousel-control-prev-icon,
#contenidor-imagenes-dinamico .carousel-control-next-icon {
    background-image: none;
    background-size: 100% 100%;
    background-repeat: no-repeat;
}

.contenido-imagenes .carousel-control-prev-icon,
#contenidor-imagenes-dinamico .carousel-control-prev-icon {
    background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' fill='%23ff0000' viewBox='0 0 16 16'%3e%3cpath d='M11.354 1.646a.5.5 0 0 1 0 .708L5.707 8l5.647 5.646a.5.5 0 0 1-.708.708l-6-6a.5.5 0 0 1 0-.708l6-6a.5.5 0 0 1 .708 0z'/%3e%3c/svg%3e");
}

.contenido-imagenes .carousel-control-next-icon,
#contenidor-imagenes-dinamico .carousel-control-next-icon {
    background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' fill='%23ff0000' viewBox='0 0 16 16'%3e%3cpath d='M4.646 1.646a.5.5 0 0 1 .708 0l6 6a.5.5 0 0 1 0 .708l-6 6a.5.5 0 0 1-.708-.708L10.293 8 4.646 2.354a.5.5 0 0 1 0-.708z'/%3e%3c/svg%3e");
}

.contenido-imagenes .carousel-control-prev-icon,
.contenido-imagenes .carousel-control-next-icon,
#contenidor-imagenes-dinamico .carousel-control-prev-icon,
#contenidor-imagenes-dinamico .carousel-control-next-icon {
    filter: invert(19%) sepia(99%) saturate(7441%) hue-rotate(1deg) brightness(101%) contrast(117%);
}


#contenidor-imagenes-dinamico .carousel-control-prev,
#contenidor-imagenes-dinamico .carousel-control-next {
    z-index: 99999999 !important;
}

#contenidor-imagenes-dinamico .mensaje {
    width: 100%;
    height: 100%;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    text-align: center;
    color: var(--col-gray);
}

#contenidor-imagenes-dinamico .mensaje h4 {
    font-size: 2.4rem;
    margin-bottom: 0.5rem;
}

#contenidor-imagenes-dinamico .mensaje h6 {
    font-size: 1.6rem;
    margin: 0;
}

#custom-preloader {
    position: fixed;
    top: 0;
    left: 0;
    width: 100vw;
    height: 100vh;
    background: #ffffff;
    z-index: 1000000000;
    display: flex;
    align-items: center;
    justify-content: center;
    opacity: 1;
    transition: opacity 1.5s ease;
}

#custom-preloader img {
    width: 250px;
    height: auto;
    opacity: 0;
    transition: opacity 1.5s ease;
}

#custom-preloader img.fade-in {
    opacity: 1;
}

#custom-preloader img.fade-out {
    opacity: 0;
    transition: opacity 1s ease;
}

#custom-preloader.hide {
    opacity: 0;
}

.contenido-imagenes .carousel-control-prev-icon,
#contenidor-imagenes-dinamico .carousel-control-prev-icon {
    background-image: none;
    filter: none;
    width: auto;
    height: auto;
}

.contenido-imagenes .carousel-control-prev-icon::before,
#contenidor-imagenes-dinamico .carousel-control-prev-icon::before {
    content: "←";
    display: block;
    color: var(--col-gray);
    font-size: 4rem;
    line-height: 1;
}


.contenido-imagenes .carousel-control-next-icon,
#contenidor-imagenes-dinamico .carousel-control-next-icon {
    background-image: none;
    filter: none;
    width: auto;
    height: auto;
}

.contenido-imagenes .carousel-control-next-icon::before,
#contenidor-imagenes-dinamico .carousel-control-next-icon::before {
    content: "→";   
    display: block;
    color: var(--col-gray);
    font-size: 4rem;
    line-height: 1;
}




/* contacto */
#right-scroll .content-item .info-contacto {
    a {
        color: var(--col-gray) !important;
        text-decoration: none !important;

        &:hover {
            color: var(--col-yellow) !important;
        }
    }
}

#menu-menu-footer {
    li {
        
        &:after {
            content: "·";
            display: inline-block;
            padding: 0 15px;
        }

        &:first-child {
            padding-left: 0;
        }

        &:last-child {
            padding-right: 0;

            &:after {
                content: "";
            }
        }
    }
}





/* cookies */
#moove_gdpr_cookie_info_bar {
    border-radius: 0px !important;
    .moove-gdpr-cookie-notice {
        p {
            font-size: 1.8rem !important;
            line-height: 1.8rem !important;
    
            &:first-child {
                padding-bottom: 1px;
            }
        }
    }
}

button.mgbutton {
    font-size: 1.6rem !important;

    &.moove-gdpr-infobar-allow-all,
    &.moove-gdpr-modal-allow-all,
    &.moove-gdpr-modal-save-settings {
        color: #000 !important;
    }
}

ul#moove-gdpr-menu {
    li {
        button {
            color: #000 !important;
        }
    }
}


b, strong {
    font-weight: 700 !important;
}