:root {
    --azul: #115E7D;
    --verde : #64AC42;
    --rojo: #EF4136;
    --naranja: #F7941D;
    --morado: #662D91;
}

nav{
    background: rgb(10,132,169);
    background: linear-gradient(0deg, rgba(10,132,169,0.7) 0%, rgba(10,62,92,1) 56%, rgba(4,38,68,1) 100%);
}

nav a.nav-link {
    color: white !important;
    text-transform: uppercase;
    font-weight: bold;
    font-size: 13px;
    margin: 7px;
}

@media all and (max-width: 500px) {
    .navbar-brand img {
        width: 200px;
    }
}

nav a:hover {
    color: #1caeda !important;
}

h2, h3, h4, p {
    color: var(--azul)
}

h2 {
    text-transform: uppercase;
    font-weight: bold;
    font-size: 40px;
    padding: 10px 0;
    margin: 70px 5px 75px;
}
h2 span {
    width: auto;
}
h2 span:after {
    content: " ";
    width: 180px;
    height: 4px;
    background-color: var(--verde);
    display: block;
    margin: 5px auto 0;
}

h2 span.verde:after { background-color: var(--verde);}
h2 span.rojo:after { background-color: var(--rojo);}
h2 span.naranja:after { background-color: var(--naranja);}
h2 span.morado:after { background-color: var(--morado);}

h3 {
    font-size: 24px;
    font-weight: bold;
    padding: 10px 0;
    margin: 20px 5px;
}

.filosofia {
    background-color: #F1F2F2;
    margin: 20px;
    font-size: 16px;
    color: var(--azul);
}

.bg-gris {
    background-color: #F1F2F2;
    padding-top: 40px;
    padding-bottom: 50px;
}

.filosofia .texto {
    padding: 20px;
    font-size: 16px;
}

@media all and (min-width: 992px) {
    .filosofia .texto {
        min-height: 340px;
    }
}

.bg-azul {
    background-color: rgba(13,130,169,0.3);
}

.servicio  {
    background: rgb(4,38,68);
    background: linear-gradient(0deg, rgba(4,38,68,1) 0%, rgba(17,94,124,1) 100%);
}

.servicio p,
.servicio h3,
.servicio li {
    color: white;
    
}

.servicio h3 {
    margin-top: 0;
    font-size: 16px;
}

@media all and (max-width: 767px) {
    .servicio {
        padding: 80px 20px;
    }
}

footer {
    background: rgb(4,38,68);
    background: linear-gradient(0deg, rgba(4,38,68,1) 0%, rgba(17,94,124,1) 100%);
}

footer p {
    color: white;
    margin: 0;
    padding: 30px 15px;
    font-size: 13px;
}

#contacto a {
    color: var(--azul);
    text-decoration: none;
}

#contacto a:hover {
    color: var(--verde);
    text-decoration: none;
}

#mainCarousel .texto {
    position: absolute;
    top: 0;
    left: 0;
    
    width: 100%;
    height: 100%;
    color: white;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    padding: 40px;
    font-weight: bold;
    font-size: 30px;
    line-height: 35px;
    text-align: center;
    text-shadow: 3px 3px 4px rgba(0,0,0,0.2);
}

#mainCarousel a.regresar,
#mainCarousel a.conocer-mas {
    position: absolute;
    bottom: 20px;
   
}

#mainCarousel a.regresar img,
#mainCarousel a.conocer-mas img{
    display: inline-block;
    width: 100px;
    margin-top: 40px;
}

#mainCarousel .texto.texto-2 {
    font-size: 16px;
    line-height: 20px;
}

#mainCarousel .carousel-control-prev,
#mainCarousel .carousel-control-next {
    z-index: 99;
}

@media all and (min-width:768px) {
    #mainCarousel .texto {
        padding: 40px 15%;
        font-size: 30px;
        line-height: 35px;
    }

    #mainCarousel .texto.texto-2 {
        font-size: 18px;
        line-height: 22px;
    }
}

@media all and (min-width:992px) {
    #mainCarousel .texto {
        padding: 40px 15%;
        font-size: 50px;
        line-height: 55px;
    }

    #mainCarousel .texto.texto-2 {
        font-size: 26px;
        line-height: 32px;
    }

    #mainCarousel a.regresar,
    #mainCarousel a.conocer-mas {
        bottom: 100px;
    }

    #mainCarousel a.regresar img,
    #mainCarousel a.conocer-mas img{
        width: 120px;
    }
}

@media all and (min-width:1600px) {
    #mainCarousel .texto {
        padding: 40px 20%;
        font-size: 70px;
        line-height: 75px;

    }
    #mainCarousel .texto.texto-2 {
        font-size: 37px;
        line-height: 42px;
    }
}