@import url('https://fonts.googleapis.com/css2?family=Montserrat:ital,wght@0,100..900;1,100..900&display=swap');
@import url('https://fonts.googleapis.com/css2?family=Roboto+Condensed:ital,wght@0,100..900;1,100..900&display=swap');

:root {
    
    --verde: #71AFB3;
    --verde_sec: #82C8CC;
    --azul:#20275C;
    --textos:#444444;
    --blanco:#FFFFFF;
}
body {
  font-family: "Montserrat", sans-serif;
  font-optical-sizing: auto;
  font-style: normal;
  font-size: 14px;
  font-weight: 400;
  background-color: #ECF5F5;
  color:var(--textos);
}
button:focus,.btn:focus,.btn.focus,
.btn:not(:disabled):not(.disabled).active,
.btn:not(:disabled):not(.disabled):active ,input:focus,input:not(:disabled),
select:focus{
    text-decoration: none;
    outline: none;
    outline: none !important;
    border-color: none !important;
    -webkit-box-shadow: none !important;
    box-shadow: none !important;
}

.roboto-condensed {
  font-family: "Roboto Condensed", sans-serif;
  font-optical-sizing: auto;
  font-weight: 500;
  font-style: normal;
}
.topbar{
    font-size: 14px;
    padding: 10px;
}
.topbar a{
    font-size: 14px;
    color: var(--textos);
    text-decoration: none;
}
.topbar a:hover{
    text-decoration: underline;
}
.topbar i{
    font-weight: 700;
    color: var(--verde);
}

.navbar .container{
    background-color: #fff;
    border-radius: 20px;
    padding: 5px 10px;
}
.navbar a.nav-link{
    margin: 0px 15px;
    color: var(--textos);
    font-size: 16px;
}
.navbar a.nav-link.active{
    color: var(--verde);
    font-weight: 600;
}
.navbar a.nav-link:hover{
    color: var(--verde);
}
.navbar-toggler i{
    font-size: 35px;
}

.navbar-brand img{ width: 180px;}

.btn-principal{
    display: block;
    background-color: var(--verde);
    color:var(--blanco);
    text-decoration: none;
    text-align: center;
    padding: 10px 0px;
    border-radius: 6px;
    width: 150px;
    max-width: 150px;
}
.btn-principal:hover{
    font-weight: 600;
    color: var(--blanco);
}
.btn-secundario{
    display: block;
    background-color: transparent;
    color:var(--verde);
    text-decoration: none;
    text-align: center;
    padding: 10px 0px;
    border-radius: 6px;
    width: 150px;
    max-width: 150px;
    border:1px solid var(--verde);
}
.btn-secundario:hover{
    font-weight: 600;
    color: var(--verde);
}
.btn-blanco{
    display: block;
    background-color: transparent;
    color:var(--blanco);
    text-decoration: none;
    text-align: center;
    padding: 10px 0px;
    border-radius: 6px;
    width: 150px;
    max-width: 150px;
    border:1px solid var(--blanco);
}
.btn-blanco:hover{
    font-weight: 600;
    color:var(--blanco);
}
.titulo{
    font-size: 38px;
    color: var(--azul);
}
.subtitulo{
    color: var(--verde);
    font-weight: 600;
    font-size: 22px;
}

/** BANNER HOME **/

.banner-home .col-izq{
    padding-top: 80px;
}
.banner-home h1{
    color: var(--azul);
    font-size: 48px;
}
.banner-home .sliderpromos img{
    border-radius: 20px;
}

.banner-home img.principal{
    width: 550px;
    height: 750px;
    border-radius: 20px;
}
.banner-home .slick-dots li button:before {
    font-family: "Material Symbols Outlined";
    content: '\e837';
    font-size: 20px;
    margin-top: 1px;
}
.banner-home .slick-dots li.slick-active button:before {
    color: var(--verde);
}

.banner-home .slick-dots {
    bottom: -65px;
}

@media (max-width: 768px) {

}

@media (max-width: 576px) {
    .titulo {
        font-size: 26px;
    }
    .banner-home .col-izq{
        padding-top: 30px;
    }
    .banner-home h1{
        color: var(--azul);
        font-size: 34px;
    }
    .banner-home .sliderpromos img{
        width: 100%;
    }
    .banner-home .slick-dots {
        bottom: 15px;
    }
     .banner-home img{
        width: 350px;
    }
}

/** FIN BLOQUE **/


/*** VALORES **/
.valores{
    margin: 80px 0px;
}
.valores .box{
    background-color: var(--verde_sec);
    color: var(--blanco);
    border-radius: 20px;
    padding: 10px;
    width: 90%;
    margin-left: 20px;
    min-height: 180px;
}
.valores .box .icon{
    background-color: rgba(252, 252, 252, 0.7);
    width: 160px;
    height: 80px;
    border-radius:50%;
    margin-left: -50px;
}
.valores .box .icon span{
    color: var(--azul);
    font-size: 50px;
}
.valores .box p.title{
    font-size: 20px;
    font-weight: 600;
}

@media (max-width: 576px) {
    .valores {
    margin: 40px 0px;
    }
    .valores .box {
        width: 90%;
        margin: 0 10%;
    }
}

/**** GALERIA ACERCA DE ***/

.info h2.titulo{
    margin-top: 120px;
}

.gallery-container {
            max-width: 900px;
            margin: 0 auto;
            border-radius: 20px;
            padding: 0px;
        }

        .main-image-container {
            position: relative;
            width: 100%;
            height: 500px;
            border-radius: 20px;
            overflow: hidden;
            margin-bottom: 20px;
        }

        .main-image {
            width: 100%;
            height: 100%;
            object-fit: cover;
            transition: opacity 0.5s ease;
        }

        .carousel-controls {
            position: absolute;
            top: 50%;
            transform: translateY(-50%);
            width: 100%;
            display: flex;
            justify-content: space-between;
            padding: 0 20px;
            pointer-events: none;
        }

        .carousel-btn {
            pointer-events: all;
            background: rgba(255,255,255,0.9);
            border: none;
            width: 50px;
            height: 50px;
            border-radius: 50%;
            cursor: pointer;
            display: flex;
            align-items: center;
            justify-content: center;
            transition: all 0.3s ease;
            box-shadow: 0 4px 15px rgba(0,0,0,0.2);
        }

        .carousel-btn:hover {
            background: white;
            transform: scale(1.1);
        }

        .carousel-btn svg {
            width: 24px;
            height: 24px;
            fill: var(--verde_sec);
        }

        .thumbnails-container {
            display: grid;
            grid-template-columns: repeat(6, 1fr);
            gap: 10px;
        }

        .thumbnail {
            position: relative;
            width: 100%;
            padding-top: 100%;
            border-radius: 10px;
            overflow: hidden;
            cursor: pointer;
            transition: all 0.3s ease;
            border: 3px solid transparent;
        }

        .thumbnail:hover {
            transform: translateY(-5px);
            box-shadow: 0 8px 20px rgba(0,0,0,0.2);
        }

        .thumbnail.active {
            border-color: var(--verde_sec);
            box-shadow: 0 8px 25px rgba(102, 126, 234, 0.4);
        }

        .thumbnail img {
            position: absolute;
            top: 0;
            left: 0;
            width: 100%;
            height: 100%;
            object-fit: cover;
        }

        .gallery-title {
            text-align: center;
            color: #333;
            margin-bottom: 30px;
            font-weight: 600;
        }

        @media (max-width: 768px) {
            .main-image-container {
                height: 350px;
            }

            .thumbnails-container {
                grid-template-columns: repeat(3, 1fr);
            }

            .carousel-btn {
                width: 40px;
                height: 40px;
            }

            .info h2.titulo{
                margin-top: 20px;
            }
        }

/*** ESPECIALIDADES ***/

.especialidades .box{
    background-color: var(--azul);
    border-radius: 10px;
    width: 80%;
    height: 180px;
    margin: 20px auto;
    box-shadow: 3px 4px 10px 5px rgba(122,122,122,0.75);
    -webkit-box-shadow: 3px 4px 10px 5px rgba(122,122,122,0.75);
    -moz-box-shadow: 3px 4px 10px 5px rgba(122,122,122,0.75);
}
.especialidades .box span{
    font-size: 110px;
    color: var(--blanco);
}
.especialidades .text-esp{
    color: var(--azul);
    font-size: 20px;
}
.especialidades .slick-prev:before {
    font-family: "Material Symbols Outlined";
    content: '\e2ea';
    color: var(--verde);
    font-size: 40px;
}
.especialidades .slick-next:before {
    font-family: "Material Symbols Outlined";
    content: '\e5e1';
    color: var(--verde);
    font-size: 40px;
}

@media (max-width: 576px) {
    .especialidades .box {
        width: 70%;
    }
    .especialidades .slick-prev {
        left: 5px;
    }
    .especialidades .slick-next {
        right: 25px;
    }
}
/*** Seccion Portal ***/

.bg-green{
    background-color: var(--verde);
}
.bg-green .list{
    background-color: var(--blanco);
    padding: 20px 20px;
    border-radius: 20px;
    margin: 0 auto;
    width: 70%;
}
.bg-green .list p{
    font-size: 24px;
    color: var(--azul);
}
.bg-green .list i{
    color: var(--verde);
    margin-right: 10px;
    font-size: 20px;
}
.bg-green .info{
    color:var(--blanco);
    margin-top: 80px;
}

@media (max-width: 576px) {
    .bg-green .list {
        width: 90%;
    }
    .bg-green .info {
        margin: 40px 20px 20px;
    }
}

/*Segurios*/

.carrusel-seguros .box-seguros{
    width: 250px;
    height: 150px;
    text-align: center;
    display: inline-block;
    margin: 0 auto;
}


/** CONTACTO ***/

.contacto i{
    color: var(--verde);
    font-size: 20px;
}
.contacto a{
    color: var(--textos);
    font-size: 14px;
    text-decoration: none;
}
.contacto a:hover{
    color: var(--verde);
    text-decoration: underline;
}
.contacto p.detalle{
    color: var(--azul);
    font-style: italic;
}
.contacto .form{
    background-color: var(--blanco);
    border-radius: 20px;
    margin: 30px;
    padding: 30px 30px;
}
.contacto .form input{
    font-size: 14px;
}
.contacto .form input::placeholder,.contacto .form textarea::placeholder,.contacto .form select  {
  color: #9c9c9c;
  opacity: 0.8;
  font-size: 12px;
}
.contacto .form textarea  {
  font-size: 12px;
}
.contacto .mensaje-comment{
    display: none;
} 
@media (max-width: 576px) {
    .contacto .form {
        margin: 10px;
    }
    .carrusel-seguros .box-seguros {

    display: flex;
    margin: 0px 8px 0px 10px;
    justify-content: center;
    }
}

/*** PRENSA ***/

.prensa .nota{
    height: 250px;
    width: 90%;
    border-radius: 20px;
    background-size:cover;
    background-position: center;
}
.prensa .nota .fecha{
    background-color:rgba(236, 236, 236, 0.75);
    padding:10px 15px;
    font-size: 12px;
    border-radius: 10px;
    margin-top: 10px;
    margin-left: 10px;
    position: absolute;
}
.prensa .contenido{
    height: 200px;
    width: 90%;
    border-radius: 20px;
    background-color: var(--blanco);
    margin-top: -40px;
    padding: 20px 15px;
}
.prensa .contenido .titulo{
    color: var(--azul);
    font-size: 20px;
    font-weight: 600;
}
.prensa .contenido .link{
    color: var(--verde);
    font-weight: 600;
    text-decoration: none;
}
.prensa .contenido .link:hover{
    text-decoration: underline;
}
@media (max-width: 576px) {
    .prensa .nota, .prensa .contenido {
        width: 75%;
        margin: 0 auto;
    }
    .prensa .contenido {
        margin-top: -50px;
    }
    .prensa .slick-prev:before {
        font-family: "Material Symbols Outlined";
        content: '\e2ea';
        color: var(--verde);
        font-size: 30px;
    }
    .prensa .slick-next:before {
        font-family: "Material Symbols Outlined";
        content: '\e5e1';
        color: var(--verde);
        font-size: 30px;
    }
    .prensa .slick-next {
        right: 20px;
    }
    .prensa .slick-prev {
        left: 10px;
    }
}

/*** FOOTER ***/
footer p.titulo{
    font-size: 16px;
    color: var(--verde);
    font-weight: 600;
}
footer p{
    font-size:12px;
}
footer a{
    color: var(--textos);
    text-decoration: none;
}

footer{
    border-top: 2px solid var(--verde);
    margin-top: 60px;
    padding-top: 40px;
}

footer .bar-bottom{
    background-color: var(--verde);
    color:#fff;
    padding: 20px;
    height: 60px;
}
footer i{
    color:var(--verde);
}

footer i.redes{
    font-size: 30px;
}
footer a.linkr:hover i{
    color: var(--azul);
}
footer .bar-bottom i{
    color: var(--blanco);
    font-size: 20px;
}

footer img.logofooter{
    width: 234px;
    height: 90px;
}


/*** WHATSAPP **/
.float-wa {
    position: fixed;
    bottom: 140px;
    right: 14px;
    z-index: 100;
    width: 70px;
}
@media (max-width: 576px) {
    .float-wa {
         bottom: 100px;
         width: 50px;
    }
}


/*** BANNER INt ***/

.banner-int img{
    max-height: 480px;
    border-radius: 20px;
}
.banner-int iframe{
    width: 100%;
    height: 400px;
    border-radius: 20px;
    filter: grayscale(.9);
}

/*** SERVICIOS ***/
.servicios{
    padding: 40px 0px;
}
.servicios .box .icon{
    background-color: var(--verde_sec);
    border-radius: 10px;
    width: 100px;
    height: 100px;
    margin:0 auto;
    z-index: 2;
}
.servicios .box .icon span{
    color: var(--azul);
    font-size: 40px;
}
.servicios .box .contenido{
    background-color: var(--blanco);
    border-radius: 10px;
    text-align: center;
    padding: 10px;
    width: 90%;
    margin-top: -20px;
    overflow: hidden;
    min-height: 140px;
    justify-content: center;
}
.servicios .box:hover {
    transform: scale(1.1);
}
.servicios .box .contenido p{
    padding: 20px 0px 0px;
    text-align: center;
}

/**** BENEFICIOS ***/

.beneficios{
    color:var(--blanco);
    padding: 60px 0px;
}

.beneficios .galeria img{
    border-radius: 30px;
}
@media (max-width: 576px) {
    .beneficios {
        padding: 20px 0px 40px;
    }
}


/*** Casos ***/
.casos{
    padding-top: 60px;
    padding-bottom: 50px;
    position: relative;
}
.casos p.name{
    color: var(--azul);
    font-size: 18px;
    margin-bottom: 0px;
}
.casos p.title{
    color: var(--verde);
    font-size: 16px;
    margin-bottom: 0px;
}
.casos img.casosimg{
    border-radius: 20px;
    border: 5px solid var(--blanco);
    width: 350px;
    height: auto;
}
.casos i{
    font-size: 40px;
    color: var(--verde);
}
.casos .arrows{
    position: relative;
    margin-top: -120px;
    z-index: 4;
    overflow: visible;
}


/*** FAQS ****/

.faqs .accordion-item{
    border-radius: 10px;
    margin-bottom: 20px;
    padding-top: 10px;
    padding-bottom: 1px;
}
.faqs .accordion-item .accordion-button{
    background: #fff;
    border-radius: 10px;
}


/*** BANNER FINAL. ***/

.banner-final .container{
    background-image: url(../images/bg-banner.png);
    height: 370px;
    border-radius: 20px;
    background-size: contain;
    color:var(--blanco);
}
.banner-final h2{
    font-size: 38px;
}
.banner-final .btn-interno{
    display: block;
    background-color: var(--blanco);
    color:var(--azul);
    text-decoration: none;
    text-align: center;
    padding: 10px 0px;
    border-radius: 6px;
    width: 150px;
    max-width: 150px;
}

@media (max-width: 576px) {
    .banner-final .container{
        height: 400px;
        background-size: cover;
    }
}


/*** VERIFICA ***/
.verifica .bg-white{
    background-color: #fff;
    border-radius: 20px;
    padding: 30px 30px;
    margin: 0 auto;
    justify-content: center;
}
.verifica .form-column{
    width: 45%;
    max-width: 45%;
}
.verifica .mensaje, .verifica .alert-success, .verifica .alert-danger{
    display: none;
}


.portal-medico .material-symbols-outlined{
    font-size: 80px;
    color: var(--verde_sec);
}
.portal-medico .card .card-header{
    font-size: 14px;
    color:var(--azul);
    font-weight: 600;
    text-align: center;
}
.portal-medico .card .card-text{
    min-height: 100px;
}

.solicitudes .container{
    background-color: var(--blanco);
    border-radius: 20px;
    padding: 20px 0px;
}