html {
    box-sizing: border-box;
    scroll-behavior: smooth;
}

body {
    margin: 0px auto;
    padding: 0px;
    font-family: Montserrat, Arial, sans-serif;
    color: whitesmoke;
    max-width: 1700px;
    min-width: 330px;
}

a {text-decoration: none;}
a:link {color:wheat;}      /* Color por defecto para enlaces no visitados */
a:visited {color: wheat;}  /* Color para enlaces visitados */ 
a:hover {color: wheat;}          /* Color para enlaces cuando el cursor está sobre ellos */
a:active {color: wheat;}      /* Color para enlaces activos (cuando están siendo presionados) */

p {
    font-size: 14px;
    padding: 10px;
    text-align: justify;
    line-height: 1.5;
}

h1, h3 {
    text-align: end;
}

h4 {
    padding: 15px;
    text-align: justify;
}

.mainContainer {
    background: #0123b4;
    /* min-width: 400px; */
}



/***** HEADER *****/
.cabecera {
    padding: 17px;
    display: grid;
    grid-template-columns: 190px auto ;
    grid-template-rows: 133px 50px;
    align-items: end;
}

.logo {
    grid-auto-rows: 183px;
    grid-row-start: span 2;
}

.boxMenu {
    position: relative;
    height: 58px; 
    background: linear-gradient(to right, #001db8, #3366cc);
    box-shadow: 20px 17px 20px 1px rgba(0, 0, 0, 0.3);   
}

.opMenu { 
    margin: 10px 80px 10px 0px;
    display: grid;
    grid-template-columns: repeat(4, 10em);   
    gap: 10px;
    justify-content: right;
    justify-items: center;
    align-items: center;
    font-size: 14px;
    line-height: 38px;
    list-style: none; 
    
}

.cellMenu {
    position: absolute;
    display: none;
    gap: 17px;
    top: 60px;
    right: 0px;
    list-style: none;
    background-color: #3366cc;
    margin: 2px auto;
    padding: 13px;
    box-shadow: 20px 17px 20px 1px rgba(0, 0, 0, 0.3);   
    background: linear-gradient(#3366cc, #001db8 );
    border-radius: 1em;
    transition: 0.7s ease-in-out all;
}

 .botonesMenu {
    width: 10em;   
    text-align: center;
}

.botonesMenu:hover {
    border-radius: 3em;
    background-color: #006;
    cursor: pointer;
    color:#001db8;
    font-weight: bolder;
    transition: 0.7s ease-in-out all;
}

.iconoMenu {
    position: absolute;
    display: flex;
    gap: 17px;
    margin: 0px;
    top: 8px;
    right: 17px;
    list-style: none; 
}

.imgMenu {
    display: none;
}

.botonesCellMenu {
    width: 10em;   
    text-align: center;    
    height: 17px;
}

.botonesCellMenu:hover {
    border-radius: 3em;
    background-color: #006;
    cursor: pointer;
    color:#001db8;
    font-weight: bolder;
    transition: 0.7s ease-in-out all;
}

@media (width < 914px) {   
    .botonesMenu1 {
        width:15em;    
    }
    .opMenu {
        display:none;
    }
    .imgMenu {
        display: block;
    }
}




/* **** CONTENIDO **** */
.contenido {
    display: grid;
    grid-template-columns: repeat(4, 360px);
    grid-auto-rows: 330px;
    gap: 0.1em;
    padding: 17px;
    justify-content: center;
    transition: .3s ease-in-out all;
}

.contenido img {
    width: 100%;
    height: 100%;
    border-radius: 0em;
     /*border: 1px solid rgb(46, 25, 23);*/ 
}

.contenido div {
    border-radius: 0em;
}

@media (width < 1450px) {
    .contenido {
        grid-template-columns: repeat(auto-fit, 327px); /*minmax(327px, 1fr)*/
    }       
}

.text1 {
    padding: 20px;
    grid-column-start: span 2;
    align-content: center;
}

@media (width < 690px) {
    .totalServices {display: none;}
    .text1 {
        grid-column-start: span 1;
        padding: 0px;
        height: 100%;
    }
    .contenido {
        grid-auto-rows: auto;    
        gap: 1em;
        border-radius: 2em;
    }
    .contenido div {border-radius: 2em;}
    .contenido img {border-radius: 2em;}    
}

.text2 {
    padding: 20px;
    display: grid;
    align-content: center;
}

.txtServices {
    position: absolute;
    padding: 10px;
    transition: all 500ms ease-out;
    opacity: 0;    
}

.electricidad {
    position: relative;
    background-color: #3333cc;
    transition: all 500ms ease-out;
    opacity: 1;
}

.electricidad:hover {
    box-shadow: 20px 17px 20px 1px rgba(0, 0, 0, 0.3);
    img {opacity: 0.15;}
    .txtServices {opacity: 1;}
    cursor: pointer;  
    z-index: 1;  
}

.data {
    position: relative;
    background-color: #2d62ce;
    transition: all 500ms ease-out;
    opacity: 1;
}

.data:hover {
    box-shadow: 20px 17px 20px 1px rgba(0, 0, 0, 0.3);
    img {opacity: 0.15;}
    .txtServices {opacity: 1;}
    cursor: pointer;   
    z-index: 1;  
 
}

.ac {
    position: relative;
    background-color: #0490d1;
    transition: all 500ms ease-out;
    opacity: 1;
}

.ac:hover {
    box-shadow: 20px 17px 20px 1px rgba(0, 0, 0, 0.3);
    img {opacity: 0.15;}
    .txtServices {opacity: 1;}
    cursor: pointer;   
    z-index: 1;  
 
}

.general {
    position: relative;
    background-color: #0099cc;
    transition: all 500ms ease-out;
    opacity: 1;
}

.general:hover {
    box-shadow: 20px 17px 20px 1px rgba(0, 0, 0, 0.3);
    img {opacity: 0.15;}
    .txtServices {opacity: 1;}
    cursor: pointer;   
    z-index: 1;  
 
}

.plumbing {
    position: relative;
    background-color: #29bec9;
    transition: all 500ms ease-out;
    opacity: 1;
}

.plumbing:hover {
    box-shadow: 20px 17px 20px 1px rgba(0, 0, 0, 0.3);
    img {opacity: 0.15;}
    .txtServices {opacity: 1;}
    cursor: pointer; 
    z-index: 1;  
   
}



/***** imgDIV *****/
.imgDiv > img {
    width: 100%;
    min-height: 750px;

}
@media (width < 550px) {
    .imgDiv img {min-height: 300px;}
}


/***** NOS *****/
.nos {
    padding: 17px;
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 1em;
}
.about {padding: 10px;}
.about p {padding: 0;}

@media (width < 1300px) {
    .nos {
        grid-template-columns: 1fr;
    }       
}

.contactUs {
    background-color: #36c;
    display: grid;
    grid-template-rows: repeat(2,1f);
    grid-area: 1em;
}

.contactUs1 {
    padding: 17px;
    color: black;
    background: #e9edf0;
    display: grid;
    grid-template-columns: 1fr 221px;
    gap: 15px;
}

.imgContactUs img {
    height: -webkit-fill-available;
    width: -webkit-fill-available;
}

@media (width < 670px) {
    .contactUs1 {
        grid-template-columns: 1fr;
        background-image: url("../img/florida.jpg");
        background-size: cover;
        background-position: center;
        background-repeat: no-repeat;
    }
    .imgContactUs {display: none;}
    textarea {width: 100%;}
}


.contactUs2 {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    grid-template-rows: repeat(2, 1fr);
    justify-items: center;
    align-items: center;  
    padding: 17px;
    font-size: 12px;
    gap: 15px;
}

.iconAddress {grid-column: 1/2; grid-row: 1/2;}
.address {grid-column: -5/-4;}
.iconCell {grid-column: 2/3; grid-row: 1/2;}
.cell {grid-column: -3/-4;}
.iconEmail {grid-column: 3/4; grid-row: 1/2;}
.email {grid-column: -2/-3;}
.iconWeb {grid-column: 4/5; grid-row: 1/2;}
.web {grid-column: -1/-2}

@media (width < 740px) {
    .contactUs2 {
        grid-template-columns: 30px 1fr;
        gap: 15px;
        justify-items: left;
    }
    .iconAddress {grid-column: 1/2;}
    .address {grid-column: 2/3; }
    .iconCell {grid-column: 1/2; grid-row: 2/3;}
    .cell {grid-column: 2/3; grid-row: 2/3;}
    .iconEmail {grid-column: 1/2; grid-row: 3/4;}
    .email {grid-column: 2/3; grid-row: 3/4;}
    .iconWeb {grid-column: 1/2; grid-row: 4/5;}
    .web {grid-column: 2/3; grid-row: 4/5;}    
}


/***** FOOTER *****/
.footer {
    padding: 20px;
    background-color: #006;
    border-top: 7px solid rgb(0 0 51 / 50%);
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    grid-auto-rows: auto;
}

@media (width < 1000px) {
    .footer {
        grid-template-columns: repeat(auto-fit, 350px);
        justify-content: left;
    }       
}

.footer ul li {
    color:wheat;
    list-style: none;
    padding: 0.4em 1em;
}

.footer h3 {
    text-align: left;
    color: wheat;
}

.footerMontibus {
   
}

/* Estilos para el botón flotante */
#myBtn {
    display: none;
    position: fixed;
    bottom: 20px;
    right: 30px;
    z-index: 99;
    font-size: 17px;
    width: 55px;
    border: 3px solid rgb(177, 88, 240);
    outline: none;
    background-color: transparent;
    color: rgb(177, 88, 240);
    cursor: pointer;
    padding: 15px;
    border-radius: 50%;
}

#myBtn:hover {
    background-color: #0056b3;
}
