/*

    Adding external fonts

*/

/* Clash Display */
@font-face {
    font-family: 'ClashDisplay-Bold';
    src: url(../resources/fonts/clash-display/ClashDisplay-Bold.otf);
}
@font-face {
    font-family: 'ClashDisplay-Extralight';
    src: url(../resources/fonts/clash-display/ClashDisplay-Extralight.otf);
}
@font-face {
    font-family: 'ClashDisplay-Light';
    src: url(../resources/fonts/clash-display/ClashDisplay-Light.otf);
}
@font-face {
    font-family: 'ClashDisplay-Medium';
    src: url(../resources/fonts/clash-display/ClashDisplay-Medium.otf);
}
@font-face {
    font-family: 'ClashDisplay-Regular';
    src: url(../resources/fonts/clash-display/ClashDisplay-Regular.otf);
}
@font-face {
    font-family: 'ClashDisplay-Semibold';
    src: url(../resources/fonts/clash-display/ClashDisplay-Semibold.otf);
}


#flecha-abajo{
    display: none;
}




/* Remove margins and padding */
*{
    margin: 0;
    padding: 0;
    box-sizing: border-box;
}

/* Header styling */
.navbar{
    background-color: #17406D;
}
.navbar-toggler
{
    border: none;
}

.navbar-toggler-icon{

    background-image: url("data:image/svg+xml;charset=UTF8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 30 30'%3E%3Cpath stroke='rgba(255,255,255, 1)' stroke-width='2' stroke-linecap='round' stroke-miterlimit='10' d='M4 7h22M4 15h22M4 23h22'/%3E%3C/svg%3E");

}
.nav-link{
    color: white;
    font-family: 'ClashDisplay-Light';
    display: flex;
    justify-content: right;
    font-size: 150%;
}

.navbar-brand img{
    width: 20vw;
}
/* Main Content*/
.left-container{
    background-color: #17406D;
    color: white;
    font-family: 'ClashDisplay-Regular';
    padding: 5%;
    text-align: center;
    position: absolute;
    height: 340px;
    width: 100%;
}

.left-container h2, .left-container p, .left-container i{
    position: relative;
    z-index: 1;
}

.left-container h2{
    font-size: 250%;
    font-family: 'ClashDisplay-Semibold';
    
}

.left-container p{
    width: 80%;
    font-size: 100%;
    font-family: 'ClashDisplay-Light';
    margin-top: 20%;
    margin-left: 10%;
    text-align: justify;
}
.right-container {
    
    position: relative;
}
.image-mask {
    position: relative;
    width: 100%;
    height: auto;
}

.image-mask img {
    width: 100%;
    height: 340px;
    -webkit-mask-image: linear-gradient(to right, transparent, black 100%);
    mask-image: linear-gradient(to right, transparent, black 100%);
}

.left-container i{
    font-size: 200%;
    margin-top: 10%;
}

/* Info banner */
.info-banner{
    color: #0345AC;
    height: 300px;

}

.info-banner h2{
    font-size: 250%;
    font-family: 'ClashDisplay-Semibold';
    padding-top: 5%;
    text-align: center;
    padding-bottom: 5%;
    color: #0345AC;
}

.info-banner p{
    font-size: 150%;
    font-family: 'ClashDisplay-Light';
    padding-top: 0%;
    text-align: center;
    padding-bottom: 5%;
    color: #0345AC;
}

/* Services */
.service-1{
    padding-top: 20%;
    padding-bottom: 15%;
}

.service-2{
    padding-top: 25%;
    padding-bottom: 20%;
}

.service-3{
    padding-top: 25%;
    padding-bottom: 20%;
}

.service-4{
    padding-top: 20%;
    padding-bottom: 15%;
}



/* Contact Banner */
.contact-banner{
    background-color: white;
    color: #006DE4;
    font-family: 'ClashDisplay-Regular';
    padding: 5%;
    text-align: center;
    height: 300px;
}

.contact-banner h2{
    font-size: 180%;
    font-family: 'ClashDisplay-Semibold';
    padding-top: 10%;
    text-align: center;
    padding-bottom: 15%;
}

.contact-banner a{
    color: white;
    text-decoration: none;
    font-family: 'ClashDisplay-Semibold';
    font-size: 1.5rem;
    padding: 5%;
    background-color: #006DE4;
    border-radius: 40px;
}
/* Footer styling */

footer{
    background-color: #17406D;
    color: white;
    font-family: 'ClashDisplay-Regular';
}
.footer-title li{

    font-size: 125%;
    font-family: 'ClashDisplay-Medium';
    margin-top: 5% ;
}
.social-media-elements{
    display: flex;
}

.footer-pages{

    margin-top: 10%;
}

.navbar-collapse{

    height: 100vh;
    transition: none !important;
}

.footer-title li {
        font-size: 150%; /* Adjust font size for larger screens */
    
}

.social-media-elements i{

    font-size: 160%;
    padding: 5%;
}

.social-media-elements a{
    color: white;
    text-decoration: none;
    font-family: 'ClashDisplay-Regular';
    font-size: 1.5rem;
    padding: 5%;
}

.navbar-collapse{

    height: 100vh;
    transition: none !important;
}

@media (min-width: 550px) and (max-width: 670px) {
    .service-1{
        padding-top: 20%;
        padding-bottom: 15%;
    }
    
    .service-2{
        padding-top: 20%;
        padding-bottom: 15%;
    }
    
    .service-3{
        padding-top: 20%;
        padding-bottom: 15%;
    }
    
    .service-4{
        padding-top: 15%;
        padding-bottom: 10%;
    }

    .contact-banner h2{
        padding-top: 10%;
        padding-bottom: 10%;
    }
}
@media(min-width: 671px) and (max-width: 860px){
    .service-1{
        padding-top: 15%;
        padding-bottom: 10%;
    }
    
    .service-2{
        padding-top: 15%;
        padding-bottom: 10%;
    }
    
    .service-3{
        padding-top: 15%;
        padding-bottom: 10%;
    }
    
    .service-4{
        padding-top: 15%;
        padding-bottom: 10%;
    }

    .contact-banner h2{
        padding-top: 5%;
        text-align: center;
        padding-bottom: 10%;
    }

    .left-container p{
        margin-top: 5%;
        margin-left: 10%;
        font-size: 150%;
    }
    
}

@media(min-width: 861px) and (max-width: 991px){
    .service-1{
        padding-top: 10%;
        padding-bottom: 10%;
    }
    
    .service-2{
        padding-top: 10%;
        padding-bottom: 10%;
    }
    
    .service-3{
        padding-top: 10%;
        padding-bottom: 10%;
    }
    
    .service-4{
        padding-top: 10%;
        padding-bottom: 10%;
    }

    .contact-banner h2{
        padding-top: 5%;
        padding-bottom: 8%;
    }

    .left-container p{
        margin-top: 5%;
        margin-left: 10%;
        font-size: 150%;
    }

}
@media (min-width: 992px) {
    .navbar-collapse{

        height: 20vh;
    }
    .navbar-brand{
        width: 15%;
    }
    .navbar-brand img{
        width: 80%;
    }

    .main-container{
        display: flex;
        justify-content: space-between;
        
    }

    .left-container{
        width: 50%;
        position: relative;
    }
    .right-container{
        width: 50%;
        background-color: #17406D;
        position: relative;
    }

    .main-container h2{
        text-align: left;
        font-size: 300%;
        padding-left: 5%;
    }

    .main-container p{
        margin-top: 5%;
        text-align: left;
        margin-left: 5%;
        
    }


    .main-container i{
        margin-left: 108.5%;
    }

    .service-container{
        display: flex;
        justify-content: space-between;
    }

    .service-1{
        font-size: 3rem;
        width: 100%;
        padding-top: 15%;
        padding-bottom: 0;
    }
    .service-2{
        font-size: 3rem;
        width: 100%;
        padding-top: 15%;
        padding-bottom: 0;
    }

    .service-3{
        font-size: 3rem;
        width: 100%;
        padding-top: 15%;
        padding-bottom: 0;
    }

    .service-4{
        font-size: 3rem;
        width: 100%;
        padding-top: 15%;
        padding-bottom: 0;
    }

    .contact-banner{
       height: fit-content;
    }

    .contact-banner h2{
        padding-top: 0;
        padding-bottom: 5%;
    }

    .contact-banner a{
        padding: 2%;
        font-size: 1.5rem;
    }
    
}

@media (min-width: 1280px) {
    .service-4{
        padding-top: 10%;
        
    }

}

@media (min-width: 1600px) {
    .main-container h2{
        font-size: 300%;
        padding-left: 5%;
    }

    .main-container p{
        font-size: 150%;
    }
    .info-banner h2{
        font-size: 300%;
        padding-top: 3%;
        padding-bottom: 0;
    }
    .info-banner p{
        font-size: 200%;
        padding-top: 3%;
        padding-bottom: 0;
    }

    .service-1{
        padding-top: 10%; 
    }

    .service-2{
        padding-top: 10%; 
    }

    .service-3{
        padding-top: 10%; 
    }

    .service-4{
        padding-top: 10%; 
    }   
}

@media (min-width: 1920px) {
    
    .service-1{
        padding-top: 5%; 
    }

    .service-2{
        padding-top: 5%; 
    }

    .service-3{
        padding-top: 5%; 
    }

    .service-4{
        padding-top: 5%; 
    } 

}


@media (min-width: 2560px) {
    
    .navbar-brand img{
        width: 13vw;
    }

    .nav-link{
        font-size: 300%;
    }

    .nav-item{
        padding: 5%;
    }

}