
*{
    margin: 0;  
    padding: 0;
    font-family: 'Montserrat', sans-serif;
}

html{
    font-size: 62.5%;
    height: 100%;
    overflow-x: hidden;
    scroll-behavior: smooth;
}

body{
    font-size: 16px;
    color: #333333;
}

::-webkit-scrollbar{
    width: .5rem;
    height: .5rem;
    background: #F4F4F4;
}

::-webkit-scrollbar-thumb{
    background-color: #003567;
    border-radius: 2rem;
}

h1{
    font-size: 3.4rem;
    font-weight: 600;
}

h2{
    font-size: 2.8rem;
    color: #003567;
}

h3{
    font-weight: 600;
}

a, a:hover{
    color:inherit;
    text-decoration: none;
}

p{
    font-size: 1.4rem;
}

.header{
    overflow: hidden;
}

/*---------- Banner ----------*/
.banner{
    height: 98vh;
    display: flex;
    background-color: rgb(244, 244, 244);
}

.navbar-brand img{
   height: 7rem;
   width: 11.2rem;
}

.logoBlack{
    filter: invert(1);
    height: 5rem !important;
    width: 8rem !important;
    transition: all .8s;
}

.nav-item{
    margin-right: 1rem;
    font-size: 1.4rem;
}

.navbar-nav a.active{
    font-weight: 800;
}

.bannerImg{
    width: 60%;
    overflow: hidden;
    position: relative;
    clip-path: polygon(0 0, 80% 0%, 100% 100%, 0% 100%);
}

.maskColor{
    position: absolute;
    width: 100%;
    height: 100%;
    background-color: rgba(0, 53, 103, .8);
    mix-blend-mode: overlay;
    z-index: 9;
}

.carousel{
    height: 100%;
    width: 100%;
}

.carousel-indicators li{
    height: .8rem;
    width: .8rem;
    border: none;
    border-radius: 50%;
    margin-left: 1rem;
    transition: width .9s, border-radius .6s;
}

.carousel-indicators li.active{
    width: 3.6rem;
    border-radius: 2.4rem;
    opacity: 48%;
}

.carousel-inner, .carousel-item{
    height: inherit;
    width: inherit;
}

.carousel-item img{
    object-fit: cover;
    height: 100%;
    width: 100%;
    filter: grayscale(100%);
    clip-path: polygon(0 0, 80% 0%, 100% 100%, 0% 100%);
}

.bannerContent{
    width: 35%;
}

.bannerContent button{
    width: 189px;
    height: 51px;
    font-size: 1.6rem;
}

.bannerArrow{
    color: #FFFFFF;
    background-color: #8D2C37;
    padding: .4rem 1.1rem;
    border-radius: 50%;
    position: relative;
    margin-top: -2rem;
    margin-left: 50%;
}

/*---------- Botones ----------*/


.btnBase{
    color: #FFFFFF;
    font-size: 1.2rem;
    border-radius: 2.6rem;
    border:none;
    padding: .5rem;
    height: 3.1rem;
    width: 10rem;
}

.btn-close{
    color: #FFFFFF;
    background-color: transparent;
    border: none;
    font-size: 3rem;
}

.btn-azul{
    background-color: #003567;
}

.btn-azul-secundario{
    background-color: #0078B7;
}

.btn-rojo{
    background-color: #8D2C37;
}

.btn-gris{
    background-color: #48627E;
}

/********************/

.sectionTitle{
    margin-bottom: 6rem;
    padding-top: 6rem;
}

/*---------- Tarjetas ----------*/
.card{
    border: none;
    background-color: #F4F4F4;
    border-radius: 1rem;
}

.img-top{
    position: relative;
}

.imgOverlay{
    color: #FFFFFF;
    position: absolute;
    top: 50%;
    left: 40%;
    transform: translate(-30%, -50%);
}

.serviciosHaz .card-img-top{
    filter: grayscale(100%);
    mix-blend-mode: overlay;
}

.card-body{
    font-size: 1.2rem;
    margin: 1rem 1rem 0 1rem;
}

.card-body p{
    font-size: 1.2rem;
}

.card-body ul{
    list-style: none;
}

.card-footer{
    border: none;
    background-color: inherit;
}

.aboutHaz .card p{
    font-weight: 600;
}

.aboutHaz .card img{
    background-color: #003567;
    padding: 1rem;
    border-radius: 50%;
}

.cardSistemas{
    display: grid;
    grid-template-columns: 1fr 2fr;
    grid-template-rows: 1fr 17rem 1fr;
}

.logo{
    grid-row: 1 / 4;
    text-align: center;
}

.titulo{
    grid-column: 2 / 3;
    grid-row: 1 / 1;
}

/*---------- Media ajustar cardSistmas---------*/
@media only screen and (max-width: 75rem){
    .cardSistemas{
        grid-template-rows: 5rem 14rem 1fr;
    }
    .logo {
        grid-column: 1 / 1 ;
        grid-row: 1 / 1;
    } 
    .logo img{
        height: 100%;
    }
    .titulo {
        grid-column: 2 / 3;
    }
    .texto{
        grid-column: 1 / 3;
    }
    .boton{
        grid-column: 1 / 3;
        text-align: center;
    }
    .banner{
        height: 160vh;
    }
  }


.contactHaz{
    background-color: #F4F4F4;
    margin-top: 8rem;
}

.form-control{
    border: none;
    border-radius: 12px;
    padding: 1.7rem;
}

#endPage{
    background: #003567;
    color: #F4F4F4;
    padding: .8rem 2rem 2.5rem 2rem;
}

/*--------- inputs login ---------*/

.input-login{
    width: 60%;
    font-size: 1.6rem;
    padding: 1rem;
    border: none;
    border-radius: 1.2rem;
    text-indent: .8rem;
    background-color: #F4F4F4;
}

.input-login::placeholder{
    font-family: 'Montserrat', 'Font Awesome 5 free';
    font-weight: 600;
    color: #969696;
}

.modal-content{
    border-radius: 1.2rem;
}

.modal-header{
    border-top-right-radius: 1.2rem;
    border-top-left-radius: 1.2rem;
}

.modal-body i{
    color: #003567;
    cursor: pointer;
    position: absolute;
    margin-top: 1.5rem;
    margin-left: -10%;
}

.modal-body a{
    color: #003567;
}

.nav-second{
    font-size: 1rem;
    margin-right: 2rem;
    transition: all .7s ease;
}