*{
    margin: 0;
    padding: 0;
    box-sizing: border-box;
    transition: 0.2s;
}
html{
    font-size: 15px;
    font-family: Arial, Helvetica, sans-serif;
}
/* --HEADER-- */
/* #region header */

header{
    width: 100%;
    height: 9rem;
    background-image: url(../img/header/banner.webp);
    background-size: cover;
    background-position: center;
}
.navbar{
    width: 100%;
    height: 9rem;
    background-color: rgba(217, 69, 0, 0.280);
}
header .navbar{
    width: 100%;
    height: 9rem;
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 1rem;
    min-height: 8rem;
    position: relative;
}
.navbar #log{
    width: 10rem;
    height: auto;
}
.navbar label{
    position: absolute; 
    top: 2.5rem;         
    right: 1rem;        
    display: flex;
    justify-content: center;
    align-items: center;
    cursor: pointer;
    background-color: rgba(0, 0, 0, 0.250);
    border-radius: 5px;
}
.navbar label img{
    width: 4rem;
    height: auto;
}
header input, header .slide-menu ul{
    display: none;
    transition: 0.3s ease-out;
}
header input:checked ~ .slide-menu ul{
    width: 100%;
    display: flex;
    flex-direction: row;  
    position: absolute;
    top: 6rem; 
    right: 0;
    background-color: rgba(4, 0, 255, 0.200);
}
.slide-menu{
    width: 100%;
}

header .navbar .slide-menu ul li{
    width: 10rem;
    height: auto;
    list-style: none;
    padding: 1rem ;
}
.slide-menu ul li a{
    color: white;
    font-size: 1rem;
    text-decoration: none;
    &:hover{
        color: #daa520;
    }
}

/* #endregion header */

/* --BODY-- */
body{
    width: 100%;
    height: auto;
}
main{
    width: 100%;
    height: auto;
}
#servicios{
    width: 100%;
    height: auto;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    padding: 1rem;
    
}
#textser{
    width: 100%;
    height: auto;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    gap: 1rem;
    text-align: center;
    font-size: 1.2rem;
}
h3{
    font-size: 3.5rem;
    margin-top: 1.5rem;
    margin-bottom: 1.5rem;
}
hr{
    width: 100%;
    height: 0.2rem;
    background-color: black;
}
#cards{
    width: 100%;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    gap: 1.5rem;
}
.serbox{
    width: 19rem; 
    height: 48rem;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    align-items: center;
    padding: 0.8rem;
    background-color: #3F495B;
    color: white;
    border-radius: 1rem;
    border: 2px solid rgba(22, 30, 46, 0.3);
    line-height: 2.1;
}
h4{
    width: 100%;
    height: 130px;
    font-size: 1.6rem;
    text-align: center;
    display: flex;
    justify-content: center;
    align-items: center;
}
.serbox p{
    width: 17.5rem;
    height: 14rem;
    text-justify: auto;
}
.call{
    width: 10rem;
    height: 3rem;
    background-color: goldenrod;
    display: flex;
    justify-content: center;
    align-items: center;
    font-weight: bold;
    font-size: 1.5rem;
    text-decoration: none;
    color: black;
    border-radius: 8%;
    &:hover{
        background-color: #1e3a8a;
        color: white;
        transform: scale(1.2);
        transition: .4s;
    }
}

/* --FOOTER-- */
footer{
    width: 100%;
    height: auto;
    background-color: #161E2E;
    display: flex;
    flex-direction: column;
    justify-content: space-evenly;
    align-items: center;
    padding: 1rem;
    gap: 1rem;
}
#logof img{
    width: 7rem;
    height: auto;
}
#mapsite{
    text-align: center;
    font-size: 1.2rem;
    color: white;
}
#telefono{
    color: white;
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 1.5rem;
    & p{
        font-size: 1.5rem;
    }
    & i:hover{
        color: #25D366;
        transform: scale(1.2);
    }
}
#telefono a{
    text-decoration: none;
    color: white;
}

@media (min-width: 400px) {
    .serbox{
    width: 21rem; 
    }
}
@media (min-width: 430px) {
    #cards{
        padding: 1rem;
    }  
}

@media (min-width: 756px) {
    header{
        width: 100%;
        height: auto;
    }
    header input:checked ~ .slide-menu ul{
        width: 100%;
        height: auto;
        display: flex;
        justify-content: space-around;
    }
    #cards{
        display: grid;
        grid-template-columns: repeat(2, 1fr);
        justify-items: center;

    }
    h4{
        justify-content: center;
        align-items: flex-start;
    }
    footer{
        width: 100%;
        height: 9rem;
        flex-direction: row;
        justify-content: space-around;
    }
}

@media (min-width: 1200px) {
    header{
        width: 100%;
    }
    #cards{  
        width: 100%;  
        grid-template-columns: repeat(4, 1fr);
    }
    .serbox{
    width: 22rem; 
    }
    footer{
        width: 100%;
    }
    
}
