:root {
    --color-principal: #025098;
    --gris: #eeee;
    --gris-osc: #cbc8c7;

    --font-size-normal: 1.1rem
}

/*
****************************************************************************************
GENERAL
****************************************************************************************

#sp-menu .menu-reserva{
  display:none !important;
}*/
html {
    font-size: 100%;
}

.fondo-gris {
    background: var(--gris);
}

p {
    font-size: var(--font-size-normal);
}

ul.listado-servicios-icono {
    display: flex;
    gap: 25px;
    flex-direction: column;
    font-size: var(--font-size-normal);
    list-style-image: url(../../../images/img/logos/raya.webp) !important;
    flex-wrap: wrap;
    padding: 20px 45px;
    max-height: 200px;
}

ul.listado-servicios-icono li {
    width: 200px;
    display: list-item !important;
}

ul.listado-servicios-icono li::marker {}

#sppb-addon-336b0b40-73b7-4a32-884f-6ff6e17aa50d {
    max-width: 200px;
    margin: 0 auto;
}

#sppb-addon-336b0b40-73b7-4a32-884f-6ff6e17aa50d p {
    font-size: 1.8rem;
    line-height: 15px;
    font-weight: 700;
}

#sppb-addon-336b0b40-73b7-4a32-884f-6ff6e17aa50d p span {
    font-size: 2.5rem;

}

/*
****************************************************************************************
MENU
****************************************************************************************
*/
.linea-negra {
    border-bottom: 1px solid black;
    display: block;
}

#sp-top-bar {
    background-color: var(--color-principal);
}

#sp-top-bar .topbar {
    display: flex;
    flex-direction: row;
    justify-content: space-between;
    align-items: center;
    width: 95vw;
}

#sp-top-bar .topbar .box-logo img {
    height: 60px;
    margin: 0 0px 0px 25%;
}

#sp-top-bar .topbar .box-contac {
    display: flex;
    gap: 70px;
}

#sp-top-bar .topbar .box-contac .box {
    display: flex;
    gap: 15px;
}

#sp-top-bar .topbar .box-contac .box div:first-child {
    display: flex;
    align-items: center;
}

#sp-top-bar .topbar .box-contac .box img {
    height: 30px;
    width: 35px;
    object-fit: contain;
}

#sp-top-bar .topbar .box-contac .box p {
    margin: 0;
    color: white;
    font-size: 14px;
}

#sp-top-bar .topbar .box-contac .box p strong {}

#sp-header #offcanvas-toggler {
    display: none !important;
}

#sp-menu {
    padding: 0 5% 0px 0px;
}

#sp-menu .sp-megamenu-parent .sp-menu-item {
    margin-left: 15px;
}

#sp-menu .sp-megamenu-parent .sp-menu-item a.menu-areaprivada {
    border: 1px solid var(--color-principal);
    padding: 20px 20px;
    display: block;
    line-height: 0px;
    border-radius: 15px;
    color: var(--color-principal);
}

#sp-menu .sp-megamenu-parent .sp-menu-item a.menu-areaprivada:hover {
    color: white;
    background: var(--color-principal);
}

#sp-menu .sp-megamenu-parent .sp-menu-item a.menu-reserva {
    border: 1px solid var(--color-principal);
    padding: 20px 20px;
    display: block;
    line-height: 0px;
    border-radius: 15px;
    color: white;
    background: var(--color-principal);
}

#sp-menu .sp-megamenu-parent .sp-menu-item a.menu-reserva:hover {
    color: var(--color-principal);
    background: transparent;
}

#sp-menu .sp-menu-item {
    text-transform: uppercase;
}

.row-cabecera #sppb-carousel1 img {
    height: 500px;
    object-fit: cover;
}

.row-cabecera #sppb-carousel1 .cabecera-cont {
    background: linear-gradient(90deg, rgba(255, 255, 255, 1) 0%, rgba(194, 194, 194, 0) 70%);
    padding: 30px 0px 30px 40px;
    height: 70%;
}

.row-cabecera #sppb-carousel1 .cabecera-cont .cont-izq {
    max-width: 795px;
    display: flex;
    flex-direction: column;
    height: 100%;
    justify-content: space-around;
}

.row-cabecera #sppb-carousel1 .sppb-carousel-content {
    height: 100%;
    display: grid;
    align-items: center;
}

.row-cabecera #sppb-carousel1 .cabecera-cont .cont-izq h1 {
    color: var(--color-principal);
    font-weight: bold;
    font-size: 3rem;
    text-align: left;
}

.row-cabecera #sppb-carousel1 .cabecera-cont .cont-izq p {
    max-width: 470px;
    line-height: 22px;
    margin: 15px 0 40px 0;
    font-weight: 600;
}

.row-cabecera #sppb-carousel1 .cabecera-cont .cont-izq a {
    color: white;
    background: var(--color-principal);
    padding: 15px 20px;
    text-align: center;
    width: 200px;
    border-radius: 10px;
}

/*
****************************************************************************************
INICIO
.page-1
****************************************************************************************
*/
.page-1 .row-cabecera #sppb-carousel1 img {
    height: 700px;
}

.page-1 .row-cabecera #sppb-carousel1 .cabecera-cont .cont-izq h1 {
    font-size: 3.5rem;
}

.page-1 .row-cabecera #sppb-carousel1 .cabecera-cont {
    padding: 20px 0px 45px 40px;
    position: relative;
    height: 83%;
    top: -15px;
}

.page-8 .row-cabecera #sppb-carousel1 .cabecera-cont .cont-izq {
    height: 100%;
    justify-content: center;
}

.page-1 .row-asesorias {
    padding: 7% 0;
}

.page-1 .row-asesorias .asesorias-cont {
    display: flex;
    flex-direction: row;
    flex-wrap: wrap;
    align-content: center;
    justify-content: space-around;
    align-items: center;
    gap: 15px;
}

.page-1 .row-asesorias .asesorias-cont .box {
    width: 265px;
    height: 350px;
    border: 1px solid var(--gris-osc);
    padding: 15px 20px;
    background: white;
    border-radius: 15px;
}

.page-1 .row-asesorias .asesorias-cont .box img {
    width: 100px;
    height: 100px;
    object-fit: contain;
    margin: 0 auto;
}

.page-1 .row-asesorias .asesorias-cont .box h2 {
    text-align: center;
    color: var(--color-principal);
    font-size: 1.5rem;
    height: 60px;
    margin: 15px 0 0 0;
}

#areas-asesoria .columna-imagen-asesorias .overlay-image-title h4 a {
    color: white;
    text-transform: uppercase;
    font-size: 30px;
}

#areas-asesoria .columna-imagen-asesorias {
    max-width: 16.666667% !important;
    flex-basis: 16.666667% !important;
    -webkit-transition: 0.5s ease all;
    -moz-transition: 0.5s ease all;
    -ms-transition: 0.5s ease all;
    -o-transition: 0.5s ease all;
    transition: 0.5s ease all;
}

#areas-asesoria .columna-imagen-asesorias.columna-expandida {
    max-width: 50% !important;
    flex-basis: 50% !important;
    -webkit-transition: 0.5s ease all;
    -moz-transition: 0.5s ease all;
    -ms-transition: 0.5s ease all;
    -o-transition: 0.5s ease all;
    transition: 0.5s ease all;
}

#areas-asesoria .title-subtitle-top-center .sppb-addon-title {
    transform: translate3d(0, 0, 0) !important;
}

#areas-asesoria .sppb-row.sppb-no-gutter {
    background-color: #5f5f5f;
}

/*
****************************************************************************************
CONTACTO
.page-8
****************************************************************************************
*/
.page-8 .row-cabecera #sppb-carousel1 img {
    height: 500px;
}

.page-8 .row-cabecera #sppb-carousel1 .cabecera-cont .cont-izq h1 {
    font-size: 3rem;
    text-align: left;
}

#addon-content-V5QGgf9PM79OxV6AwDJ9L-0 {
    height: 100%;
}

.page-8 .row-cabecera #sppb-carousel1 .cabecera-cont {
    padding: 30px 0px 30px 40px;
    height: 70%;
    top: 15%;
}

.page-8 .row-cabecera #sppb-carousel1 .cabecera-cont .cont-izq {
    height: 100%;
    justify-content: center;
}

.page-8 .contactos {
    padding: 10% 0;
    background: var(--gris);
}

.page-8 .contactos .contactos-cont {
    display: flex;
    flex-direction: row;
    flex-wrap: wrap;
    align-content: center;
    justify-content: space-around;
    align-items: center;
    gap: 20px;
}

.page-8 .contactos .contactos-cont .box {
    width: 290px;
    height: 281px;
    border: 1px solid var(--gris-osc);
    padding: 30px 20px;
    text-align: center;
    background: white;
}

.page-8 .contactos .contactos-cont .box img {
    width: 100px;
    height: 55px;
    object-fit: contain;
    margin: 0 auto;
}

.page-8 .contactos .contactos-cont .box h2 {
    color: var(--color-principal);
    font-size: 1.5rem;
    height: 60px;
    margin: 15px 0 0 0;
}

.page-8 .form-contacto {
    padding: 60px 0;
}

.page-8 .form-contacto .txt-contacto {
    margin: 30px 0 60px 0;
}

.page-8 .form-contacto .txt-contacto h2 {
    margin: 0 0 20px 0;
}

.page-8 .form-contacto .txt-contacto p {
    line-height: 15px;
}

.page-8 .form-contacto #sppb-addon-1692187915484 #btn-1692187915484.sppb-btn-custom {
    background-color: var(--color-principal);
    color: #FFFFFF;
    padding: 15px 80px;
    font-size: 1.2rem;
    border-radius: 15px;
}

/*
****************************************************************************************
SERVICIOS
.page-7
****************************************************************************************
*/

.servicios-cont {
    display: flex;
    flex-direction: column;
    gap: 60px;
}

.servicios-cont .box {
    display: flex;
    flex-wrap: wrap;
    flex-direction: row;
    align-items: center;
    gap: 20px;
    justify-content: space-around;
}

.servicios-cont .box .colum-txt {
    width: 45%;
    min-width: 300px;
}

.servicios-cont .box .colum-txt h2 {
    text-align: left;
    text-transform: uppercase;
    border-bottom: 1px solid black;
    width: fit-content;
    padding: 0 10% 0 0px;
    margin: 0 0 30px 0;
}

.servicios-cont .box .colum-img {
    width: 45%;
    min-width: 300px;
}

/*
****************************************************************************************
QUIENES SOMOS
.page-11
****************************************************************************************
*/
.page-11 .servicios-cont .box .colum-txt {
    width: 40%;
    min-width: 300px;
}

.page-11 .servicios-cont .box .colum-txt h2 {
    border-bottom: none;
}

/*
****************************************************************************************
FOOTER
****************************************************************************************
*/
#sp-bottom {
    margin: 0;
    padding: 0;
}

#sp-bottom .sp-module {
    margin: 0;
    padding: 0;
}

#sp-bottom .sp-module ul.listado-servicios-icono {
    margin: 0 auto;
    gap: 0px;
    max-height: none;
}

#sp-bottom .sp-module ul.listado-servicios-icono li {
    margin: 5px auto;
}

#sp-bottom address {
    display: flex;
    flex-direction: column;
    gap: 10px;
}

#sp-bottom address .box {
    display: flex;
    gap: 30px;
}

#sp-bottom address .box p {
    margin: 0;
}

#sp-bottom address .box img {
    width: inherit;
    height: inherit;
    object-fit: contain;
}

#sp-bottom address .box:nth-child(2) p {
    font-size: 30px;
}

#sp-bottom address .box div:nth-child(1) {
    min-width: 40px;
    width: 40px;
    height: 45px;
    display: flex;
    justify-content: center;
}

#sp-bottom address .box div:nth-child(2) {
    display: flex;
    align-content: center;
    flex-wrap: wrap;
}

#sp-footer {
    background-color: var(--color-principal);
}

#sp-footer .container-inner {
    padding: 10px 0;
}

#sp-footer span,
#sp-footer a {
    color: white;
}

/*
****************************************************************************************
MEDIA QUERY
****************************************************************************************
*/
@media only screen and (max-width: 1440px) {}

@media only screen and (max-width: 1200px) {
    html {
        font-size: 85%;
    }

    #sp-top-bar .topbar .box-contac {
        display: none;
    }


}

@media only screen and (max-width: 992px) {
    #sp-header nav #offcanvas-toggler {
        display: flex !important;
    }

    .servicios-cont .box .colum-img {
        order: 1;
    }

    .servicios-cont .box .colum-img,
    .servicios-cont .box .colum-txt,
    .page-11 .servicios-cont .box .colum-txt {
        width: 100%;
    }

    #areas-asesoria {
        display: none;
    }
}

@media only screen and (max-width: 768px) {
    .page-1 .row-asesorias .asesorias-cont .box {
        width: 230px;
        height: 310px;
    }

    .page-1 .row-cabecera #sppb-carousel1 .cabecera-cont {
        padding: 20px 20px 45px 20px;
    }

    .row-cabecera #sppb-carousel1 .cabecera-cont {
        background: rgb(255 255 255 / 70%);
        padding: 20px 30px;
    }

    .row-cabecera #sppb-carousel1 .cabecera-cont .cont-izq h1 {
        font-size: 2.4rem;
    }

    .row-cabecera #sppb-carousel1 .cabecera-cont .cont-izq a {
        margin: 0 auto;
    }

    #sp-bottom .sp-module ul.listado-servicios-icono {
        margin: 20px 0;
    }

    #sp-bottom .sp-module ul.listado-servicios-icono li {
        margin: 5px 8%;
    }
}

@media only screen and (max-width: 576px) {
    .page-1 .row-cabecera #sppb-carousel1 .cabecera-cont .cont-izq h1 {
        font-size: 2rem;
    }

    ul.listado-servicios-icono {
        max-height: none;
        align-items: center;
    }
}