* {
    padding: 0;
    margin: 0;
    box-sizing: border-box;
    font-family: "Open Sans", sans-serif;
}

:root{
    --colorBlanco: rgb(255,255,255);
    --colorGray: rgb(85,85,85);
    --colorLogo: rgb(199, 51, 13);
    --borderBtn: 25px;
}

.open-sans{
    font-family: "Open Sans", sans-serif;
    font-optical-sizing: auto;
    font-weight: 500;
    font-style: normal;
}

/*xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx*/
/* Background */
.contBack{
    width: 100%;
    height: 100vh;
    display: flex;
    justify-content: center;
    align-items: center;
    background-image: url(../img/background.jpg);
    background-position: center;
    background-repeat: no-repeat;
    background-size: cover;
}

.filterBack{
    width: 100%;
    height: 100%;
    display: flex;
    justify-content: center;
    align-items: center;
    background-color: rgb(0, 0, 0, .7);
}

.back{
    width: 100%;
    height: auto;
    display: flex;
    justify-content: center;
    align-items: center;
}

.textBack{
    width: 95%;
    height: auto;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
}

.slogan{
    width: 100%;
    display: flex;
    justify-content: center;
    align-items: center;
}

.slogan hr{
    width: 70px;
    height: 1.5px;
    border: none;
    margin-right: 5px;
    background-color: var(--colorBlanco);
}

.slogan span{
    font-size: 16px;
    font-weight: 500;
    color: var(--colorBlanco);
}

.textBack h1{
    font-size: 35px;
    color: var(--colorBlanco);
}

.textBack p{
    width: 70%;
    text-align: center;
    font-size: 16px;
    font-weight: 400;
    margin-bottom: 15px;
    color: var(--colorBlanco);
}

.textBack a{
    text-decoration: none;
}

.textBack a button{
    width: 170px;
    height: 37px;
    border: none;
    cursor: pointer;
    font-size: 15.5px;
    font-weight: 500;
    color: black;
    background-color: var(--colorBlanco);
    border-radius: var(--borderBtn);
}

.textBack a button i{
    font-size: 14.5px;
    color: black;
    margin-left: 3px;
}

@media screen and (max-width: 950px){
    .slogan hr{
        width: 60px;
    }
    .slogan span{
        font-size: 15px;
    }
    .textBack h1{
        font-size: 30px;
    }
    .textBack p{
        width: 70%;
        font-size: 15px;
    }
    .textBack a button{
        width: 165px;
        height: 32px;
        font-size: 15px;
    }
    .textBack a button i{
        font-size: 14px;
    }
}

@media screen and (max-width: 768px){
    .slogan hr{
        width: 55px;
    }
    .slogan span{
        font-size: 14px;
    }
    .textBack h1{
        text-align: center;
        font-size: 27px;
    }
    .textBack p{
        width: 80%;
        font-size: 14px;
    }
}

@media screen and (max-width: 650px){
    .slogan hr{
        width: 50px;
    }
    .slogan span{
        font-size: 14px;
    }
    .textBack h1{
        font-size: 25px;
    }
    .textBack p{
        width: 90%;
        font-size: 14px;
    }
}

@media screen and (max-width: 550px){
    .slogan hr{
        width: 45px;
    }
    .slogan span{
        font-size: 13px;
    }
    .textBack h1{
        font-size: 21px;
    }
    .textBack p{
        width: 90%;
        font-size: 13px;
    }
    .textBack a button{
        width: 160px;
        height: 30px;
        font-size: 14px;
    }
    .textBack a button i{
        font-size: 13px;
    }
}

@media screen and (max-width: 450px){
    .slogan hr{
        width: 40px;
    }
    .slogan span{
        font-size: 12px;
    }
    .textBack h1{
        font-size: 18px;
    }
    .textBack p{
        font-size: 12px;
    }
    .textBack a button{
        width: 150px;
        height: 27px;
        font-size: 13.5px;
    }
    .textBack a button i{
        font-size: 12.5px;
    }
}

@media screen and (max-width: 414px){
    .textBack h1{
        font-size: 17px;
    }
    .textBack p{
        width: 95%;
        font-weight: 450;
    }
}



/*xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx*/
/* Nosotros */
.contWe{
    width: 100%;
    height: auto;
    display: flex;
    justify-content: center;
    align-items: center;
    margin-top: 30px;
}

.we{
    width: 100%;
    height: auto;
    display: flex;
    justify-content: center;
    align-items: center;
}

.imgWe{
    width: 50%;
    height: auto;
    display: flex;
    justify-content: center;
    align-items: center;
    margin: 10px;
}

.imgWe img{
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.contTextWe{
    width: 50%;
    height: auto;
    display: flex;
    flex-direction: column;
    justify-content: center;
    margin: 10px;
}
.textWe{
    width: 100%;
    height: auto;
    display: flex;
    flex-direction: column;
    justify-content: center;
}

.textWe h2{
    font-size: 35px;
    color: var(--colorLogo);
    margin-bottom: 5px;
}

.textWe p{
    width: 95%;
    font-size: 16px;
    color: var(--colorGray);
    font-weight: 400;
    margin-bottom: 10px;
}

.recuadro{
    width: 100%;
    height: auto;
    display: flex;
    justify-content: center;
    align-items: center;
    padding: 10px;
    border-radius: var(--borderBtn);
    background-color: rgb(245, 245, 245);
    box-shadow: 1.7px 1.7px 2.7px rgba(0, 0, 0, 0.030),
    4.3px 4.3px 6.9px rgba(0, 0, 0, 0.040),
    8.9px 8.9px 14.2px rgba(0, 0, 0, 0.040),
    18.3px 18.3px 29.2px rgba(0, 0, 0, 0.050),
    50px 50px 80px rgba(0, 0, 0, 0.10);
}

.textRecuadro{
    width: 100%;
    height: auto;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
}

.textRecuadro h3{
    font-size: 21px;
    color: var(--colorLogo);
    margin-bottom: 5px;
}

.valorRec{
    width: 100%;
    height: auto;
    display: flex;
    justify-content: center;
    align-items: center;
}

.imgValor{
    width: 50%;
    height: auto;
    display: flex;
    justify-content: center;
    align-items: center;
    margin: 5px;
}

.imgValor img{
    width: 100%;
    height: 100%;
    object-fit: contain;
}

.textValor{
    width: 50%;
    height: auto;
    display: flex;
    flex-direction: column;
    justify-content: center;
    margin: 5px;
}

.textValor p{
    font-size: 14.5px;
    font-weight: 350;
    color: var(--colorGray);
}

.textValor a{
    text-decoration: none;
    margin-top: 10px;
}

.textValor a button{
    width: 150px;
    height: 30px;
    border: none;
    cursor: pointer;
    font-size: 14px;
    font-weight: 500;
    color: var(--colorBlanco);
    background-color: var(--colorLogo);
    border-radius: var(--borderBtn);
}

.textValor a button i{
    font-size: 13px;
    color: var(--colorBlanco);
    margin-left: 5px;
}


@media screen and (max-width: 1150px){
    .textWe h2{
        font-size: 25px;
    }
    .textWe p{
        font-size: 14px;
    }
    .textRecuadro h3{
        font-size: 18px;
    }
    .imgValor{
        height: 170px;
    }
    .imgValor img{
        object-fit: contain;
    }
    .textValor p{
        font-size: 14px;
    }
    .textValor a button{
        width: 145px;
        height: 28px;
        font-size: 13px;
    }
    .textValor a button i{
        font-size: 12px;
    }
}

@media screen and (max-width: 1100px){
    .textWe h2{
        font-size: 23px;
    }
    .textWe p{
        font-size: 14px;
    }
    .textRecuadro h3{
        font-size: 17px;
    }
    .imgValor{
        height: 150px;
    }
    .textValor p{
        font-size: 13px;
    }
}

@media screen and (max-width: 950px){
    .we{
        flex-direction: column;
    }
    .imgWe{
        width: 50%;
    }
    .contTextWe{
        width: 90%;
        align-items: center;
        text-align: center;
    }
    .textWe h2{
        font-size: 25px;
    }
    .textWe p{
        width: 100%;
        padding: 0 40px;
        font-size: 15px;
    }
    .textRecuadro h3{
        font-size: 21px;
    }
    .textValor p{
        font-size: 15px;
    }
}

@media screen and (max-width: 700px){
    .imgWe{
        width: 60%;
    }
    .textWe h2{
        font-size: 23px;
    }
    .textWe p{
        padding: 0 30px;
        font-size: 14px;
    }
    .textRecuadro h3{
        font-size: 18px;
    }
    .textValor p{
        font-size: 14px;
    }
}

@media screen and (max-width: 600px){
    .imgWe{
        width: 75%;
    }
    .textWe h2{
        font-size: 22px;
    }
    .textWe p{
        padding: 0 15px;
        font-size: 13px;
    }
    .textRecuadro h3{
        font-size: 17px;
    }
    .textValor p{
        font-size: 12px;
    }
}

@media screen and (max-width: 550px){
    .imgWe{
        width: 75%;
    }
    .textWe h2{
        font-size: 22px;
    }
    .textWe p{
        padding: 0 15px;
        font-size: 13px;
    }
    .textRecuadro h3{
        font-size: 17px;
    }
    .textValor p{
        font-size: 12px;
    }
}

@media screen and (max-width: 450px){
    .imgWe{
        width: 80%;
    }
    .contTextWe{
        width: 95%;
    }
    .textWe p{
        padding: 0 5px;
        font-size: 12px;
        font-weight: 500;
    }
    .textRecuadro h3{
        font-size: 17px;
    }
    .textValor p{
        font-size: 12px;
    }
}

@media screen and (max-width: 414px){
    .textWe p{
        font-size: 12px;
        font-weight: 450;
    }
    .textRecuadro h3{
        font-size: 15px;
    }
    .textValor p{
        font-size: 10px;
    }
    .textValor a button{
        width: 130px;
        height: 25px;
        font-size: 12px;
    }
    .textValor a button i{
        font-size: 11px;
    }
}

/*xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx*/
/* Service */
.contServ{
    width: 100%;
    height: auto;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    position: relative;
    margin-top: 30px;
}

.iconCircle{
    width: 200px;
    height: 190px;
    display: flex;
    justify-content: center;
    align-items: center;
    position: absolute;
    z-index: 1;
}

.iconCircle:first-child{
    top: 5px;
    left: 0;
}

.iconCircle:nth-child(2){
    bottom: 10px;
    right: 0;
}

.iconCircle:nth-child(3){
    top: 5px;
    right: 0px;
}

.iconCircle img{
    width: 100%;
    height: 100%;
    object-fit: contain;
}

.tittleServ{
    width: 100%;
    height: auto;
    display: flex;
    justify-content: center;
    align-items: center;
    text-align: center;
    margin-bottom: 15px;
}

.tittleServ h4{
    font-size: 45px;
    color: var(--colorLogo);
}

.service{
    width: 95%;
    height: auto;
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(350px, 1fr));
    grid-auto-rows: 400px;
    gap: 10px;
    z-index: 2;
}

.cardServ{
    padding: 10px;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    border-radius: 15px;
    background-color: rgb(250, 250, 250);
    box-shadow: 1.7px 1.7px 2.7px rgba(0, 0, 0, 0.030),
    4.3px 4.3px 6.9px rgba(0, 0, 0, 0.040),
    8.9px 8.9px 14.2px rgba(0, 0, 0, 0.040),
    18.3px 18.3px 29.2px rgba(0, 0, 0, 0.050),
    50px 50px 80px rgba(0, 0, 0, 0.10);
}

.imgCardServ{
    width: 100%;
    height: 60%;
    display: flex;
    justify-content: center;
    align-items: center;
}

.imgCardServ img{
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.textCardServ{
    width: 100%;
    height: 40%;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    padding-top: 5px;
}

.textCardServ h5{
    font-size: 25px;
    color: var(--colorLogo);
    margin-bottom: 5px;
}

.textCardServ p{
    width: 95%;
    text-align: center;
    font-size: 16px;
    font-weight: 400;
    color: var(--colorGray);
    margin-bottom: 10px;
}

.textCardServ a{
    text-decoration: none;
}

.textCardServ a button{
    width: 178px;
    height: 30px;
    border: none;
    cursor: pointer;
    font-size: 15px;
    font-weight: 500;
    color: var(--colorBlanco);
    background-color: var(--colorLogo);
    border-radius: var(--borderBtn);
}

.textCardServ a button i{
    font-size: 14px;
    color: var(--colorBlanco);
    margin-left: 5px;
}

@media screen and (max-width: 1000px){
    .iconCircle{
        width: 180px;
        height: 170px;
    }
    .tittleServ h4{
        font-size: 40px;
    }
    .textCardServ h5{
        font-size: 23px;
    }
    .textCardServ p{
        font-size: 15px;
    }
    .textCardServ a button{
        width: 178px;
        height: 30px;
        font-size: 14px;
    }
    .textCardServ a button i{
        font-size: 13px;
    }
}

@media screen and (max-width: 768px){
    .iconCircle{
        width: 150px;
        height: 140px;
    }
    .tittleServ h4{
        font-size: 37px;
    }
}

@media screen and (max-width: 650px){
    .iconCircle{
        width: 130px;
        height: 120px;
    }
    .tittleServ h4{
        font-size: 35px;
    }
}

@media screen and (max-width: 600px){
    .iconCircle{
        width: 120px;
        height: 110px;
    }
}

@media screen and (max-width: 550px){
    .iconCircle{
        width: 80px;
        height: 70px;
    }
    .tittleServ h4{
        font-size: 32px;
    }
}

@media screen and (max-width: 450px){
    .iconCircle{
        width: 80px;
        height: 70px;
    }
    .tittleServ h4{
        font-size: 30px;
    }
    .iconCircle:first-child{
        top: 30px;
    }
    .textCardServ h5{
        font-size: 22px;
    }
    .textCardServ p{
        font-size: 14px;
    }
    .textCardServ a button{
        width: 175px;
        height: 30px;
        font-size: 14px;
    }
    .textCardServ a button i{
        font-size: 13px;
    }
}