


  ::-webkit-scrollbar-track {
    background: #1a1a1a;
  }
  
  ::-webkit-scrollbar-thumb {
    background: #5a5a5a;
  }
  
  ::-webkit-scrollbar-thumb:hover {
    background: #777;
  }
  
  * {
    scrollbar-color: #5a5a5a #1a1a1a;
  }
 


body{
    background-color: black;
}
p,a{
    grid-area: TXT;
    text-shadow: 0vh 0vh 2vh black;
    font-size: 2.5vh;
    word-wrap: break-word;
    overflow-wrap: break-word;
    margin: 0;
    padding: 0;
    font-family: "Roboto", serif;
    font-weight: 300;

    color: white;
}
a {
    font-size: 2vh;
   
    color: rgb(123, 36, 223);

}
h1 {
    text-shadow: 0vh 0vh 2vh black;
    grid-area: TIT;
    word-wrap: break-word;
    overflow-wrap: break-word;
    margin: 0;
    padding: 0;
    font-family: "Roboto", serif;
    font-weight: 900;
    font-size: 6vh;
    color: white;
    
}
.subtitulo{
    font-size: 4vh;
}
.minititulo{
    pointer-events: none;
    font-size: 3vh;
}
.minitexto{
    font-family: "Chillax";
    font-weight: 500;
    font-size: 2.5vh;
    grid-area: MIN;
    display: flex;
    justify-content: baseline;
    color: white;
}
input:-ms-input-placeholder, textarea:-ms-input-placeholder { color: white; }  
input::-webkit-input-placeholder, textarea::-webkit-input-placeholder { color: white; }
input::-moz-placeholder, textarea::-moz-placeholder { color: white; } 
input, textarea, option, select{
    outline: none;
    border-radius: 0%;
    padding: 0;
    margin: 0;
    resize: none;
    border: 0.05vh white solid;
    background-color: black;
    font-family: "Chillax";
    font-weight: 500;
    font-size: 2.5vh;
    grid-area: MIN;
    display: flex;
    justify-content: baseline;
    color: white;
}
input[type="search"]::-webkit-search-cancel-button {
    filter: grayscale(100%) brightness(1000%);
}


#rayas{
    display: none;
}
#sidebar{
    display: none;
}
#sidebar .link{
    width: 100%;
}
.links{
    padding-right: 5vh;
    grid-area: LINK;
    display: flex;
    flex-wrap: wrap;
    gap: 5vh;
    justify-content: right;
    align-items: center;
}
.logo{
    grid-area: LOGO;
    background-position: center;
    background-repeat: no-repeat;
    background-size: contain;
}
#nosotros{
    opacity: 0%;
    pointer-events: none;
}
.link{
    background-color: transparent;
    border: none;
    text-decoration: none;
    margin: 0;
    font-family: "Chillax";
    font-weight: 500;
    font-size: 2vh;
    grid-area: MIN;
    display: flex;
    justify-content: baseline;
    color: white;
}
 .indicadores { 
    display: flex; 
    justify-content: center; 
    width: max-content;
    height: max-content;
    padding: 3vh;
    grid-area: IND; 
    gap: 2vh;
}
.indicador { 
    box-shadow: 0vh 0vh 2vh black;
    width: 1.5vh; 
    height: 1.5vh; 
    background-color: rgba(255, 255, 255, 0.356); 
    border-radius: 20vh; 
    cursor: pointer; 
    transition: transform 0.2s ease-in-out, background-color 0.2s ease-in-out;
}
.activo { 
    transform: scale(1.2);
    background-color: rgba(255, 255, 255, 0.781); 
}
button, a{
    cursor: pointer;
    margin: 0;
    padding: 0;
}
#links .link{
    transition:  opacity 0.2s ease-in-out, transform 0.2s ease-in-out;

}
 #links .link:hover{
    transform: scale(1.1);
}
.imagen{
    background-color: black;
    pointer-events: none;
    position: absolute;
    background-image: url(recursos/img/a1.jpg);
    background-position: center;
    background-size: cover;
    background-repeat: no-repeat;
    width: 100%;
    height: 100%;
    top: 0%;
}
.filtro {
    pointer-events: none;
    width: 100%;
    height: 100%;
    position: absolute;
    left: 0;
    top: 0;
    background: linear-gradient(to right, rgba(0, 0, 0, 0.719), transparent, transparent,rgba(0, 0, 0, 0.719)); 
}
.filtro2 {
    pointer-events: none;
    width: 100%;
    height: 100%;
    position: absolute;
    left: 0;
    top: 0;
    background: linear-gradient(to left, rgba(0, 0, 0, 0.719), transparent, transparent); 
}
.textos {
    pointer-events: none;

    width: 100%;
    height: 100%;
    position: absolute;
    left: 0;
    top: 0;
    display: grid;
    grid-template: 
    ". . . ."25vh
    ". MIN . ."max-content
    ". TIT . ."max-content
    ". TXT TXT ." max-content
    ". . . ."auto/
    10vw 80vh 5% auto;
}
.texto{
    font-size: 3vh;
}
.filtro4{
    mix-blend-mode: difference;
    background-color: rgba(0, 0, 0, 0.5);
    filter: blur(5vh);
    width: 100%;
    height: 100%;
    left: 0%;
    top: 0%;
    position: absolute;
    z-index: -1;
}
.textos p {
    position: relative;
    font-size: 3vh;
    margin: 0;
    transition: transform 0.5s ease-in-out, opacity 0.5s ease-in-out;
    opacity: 0%;
    transform: translateY(5vh);
   
}
.textos h1{
    margin: 0;
    transition: transform 0.5s ease-in-out, opacity 0.5s ease-in-out;
    opacity: 0%;
    transform: translateY(5vh);
}

    
.boton-control{
    text-shadow: 0vh 0vh 2vh rgba(0, 0, 0, 0.849);
    mix-blend-mode: difference;
    width: 10vh;
    height: 5vh;
    background-color: transparent;
    border: none;
    color: rgb(255, 255, 255);
    font-size: 5vh;
}
.controles {
    width: 100%;
    height: 100%;
    position: absolute;
    left: 0;
    top: 0;
    display: grid;
    grid-template:
    ". . . . ." auto
    "BIZ . . . BDE" max-content
    ". . . . ." auto
    ". . IND . ."max-content/
    max-content auto max-content auto max-content;
}
#botonizquierdo{
    grid-area: BIZ;
}
#botonderecho{
    grid-area: BDE;
}
.imagenes{
    width: 100%;
    height: 100%;
    position: absolute;
    left: 0;
    top: 0;

}
#main{
 
    width: 100%;
    height: 100%;
    position: absolute;
    background-color: aliceblue;
    left: 0%;
    top: 0%;
    display: grid;
    grid-template:
    "CAR  " max-content
    "SER  " max-content
    "PRO  " max-content
    "MAR  " max-content
    "PRS  " max-content
    "VID  " max-content
    "CON  " max-content
    "FOO  " max-content
    "AGUA  " max-content/
    auto  ;
}

#footer{
    min-height: 50vh;
}
#header{
    transition: all 0.5s ease-in-out;
    transition-property: width, height;
    transition-duration: 0s;
    z-index: 100;
    width: 100%;
    height: 8vh;
    position: fixed;
    left: 0%;
    top: 0%;
    display: grid;
    padding-left: 2vh;
    padding-right: 2vh;
    padding-top: 1vh;
    padding-bottom: 1vh;
    grid-template:
    "LOGO . LINK" auto/
    15vh auto auto ;
}
.hidden{
    background-color: rgba(0, 0, 0, 0.308);
    -webkit-backdrop-filter: blur(5vh);
    backdrop-filter: blur(5vh);
}
.visible{
    background: linear-gradient(to bottom, rgba(0, 0, 0, 0.397), transparent); ;

}
.logo{
grid-area: LOGO;
background-image: url();
}
#carrusel{
    background-color: black;
    min-height: 90vh;
    overflow: hidden;
    max-height: 90vh ;
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    position: relative;
    grid-area: CAR;
}
.whats{
    transition: transform 0.1s ease-in-out;

    box-shadow: 1vh 1vh 2vh rgba(0, 0, 0, 0.397);
    width: 10vh;
    height: 10vh;
    background-color: #25D366;
    border-radius: 50vh;
    background-position: center;
    background-size: 6vh;
    background-repeat: no-repeat;
    position: fixed;
    right: 2vh;
    bottom: 2vh;
    z-index: 100;
}
.whats:hover{
    transform: scale(1.1);
    
}
.fondonegro{
    position: relative;
    background-color: black;
    background-repeat: no-repeat;
    background-attachment: fixed;
}
#servicios{
    padding-top: 10vh;
    position: relative;
    min-height: 100vh;
    overflow: hidden;
    background-size: 220vh;
    background-position: center;
    grid-area: SER;
    display: grid;
    grid-template: 
    ". . ."2vh
    ". MIN ." max-content
    ". TIT ." max-content
    "SERV SERV SERV" max-content
    ". BOT . " auto 
    ". . . " auto /
    auto 80vw  auto ;
}

.listaservicios{
    gap: 3vh;
    grid-area: SERV;
    display: flex;
    position: relative;
    overflow: hidden;
    flex-wrap: wrap;
    align-items: center;
    justify-content: center;
    padding-bottom: 5vh;
    padding-top: 1vh;
}
.listaproductos{
    gap: 3vh;
    grid-area: SERV;
    display: flex;
    position: relative;
    overflow: hidden;
    flex-wrap: wrap;
    align-items: center;
    justify-content: center;
    padding-bottom: 5vh;
    padding-top: 1vh;
}
.servicio{
    cursor: default;
    transition: background-size 0.3s ease;
    position: relative;
    background-position: center;
    background-size: auto 100%;
    background-repeat: no-repeat;
    display: grid;
    width: 50vh;
    height: 60vh;
    background-color: rgba(255, 255, 255, 0.116);
    grid-template: 
    "TIT" max-content
    "TXT" auto
    "BOT"max-content/
    auto ;

}
.producto{
    cursor: default;
    transition: background-size 0.3s ease;
    position: relative;
    background-position: top;
    background-size: 100% auto;
    background-repeat: no-repeat;
    display: grid;
    width: 50vh;
    height: 55vh;
    background-color: white;
    grid-template: 
    "TXT" auto
    "BOT"max-content
    "TIT" max-content/
    auto ;
}

.producto h1{
    text-overflow: ellipsis;
    background-color: black;
    border: 0.05vh solid white;
    padding: 1vh;
    z-index: 3;

}
.producto p{
    padding: 2vh;
    opacity: 0%;
    transition: opacity 0.2s ease-in-out;
    z-index: 2;

}
.producto:hover {
    background-size: auto 110%;
}
.producto:hover p{
    opacity: 100%;
}
.producto .blur{
    border-radius: none;
    position: absolute;
    width: 100%;
    height: 100%;
    left: 0%;
    top: 0%;
    z-index: 1;

}
.producto:hover .blur{
    background-color: rgba(0, 0, 0, 0.705);
    backdrop-filter: blur(0.5vh);
    -webkit-backdrop-filter: blur(0.5vh);
}
.botonegro{
    z-index: 3;

    background-color: black;
    border: 0.05vh solid white;
    grid-area: BOT;
    width: max-content;
    padding: 1vh;
    height: max-content;
    font-family: "Chillax";
    font-weight: 400;
    font-size: 2vh;
    display: flex;
    justify-content: baseline;
    color: white;
}
.botonegro2{
    display: flex;
    align-items: center;
    justify-content: center;
    z-index: 3;
    background-color: black;
    border: 0.05vh solid white;
    grid-area: BOT2;
    padding: 1vh;
    font-family: "Chillax";
    font-weight: 400;
    font-size: 2vh;
    display: flex;
    justify-content: baseline;
    color: white;
}
.servicio:hover {
    background-size: auto 110%;
}
.servicio:hover p{
    opacity: 100%;
}

.servicio:hover .blur{
    background-color: rgba(0, 0, 0, 0.705);
    backdrop-filter: blur(0.5vh);
    -webkit-backdrop-filter: blur(0.5vh);
}
.servicio h1{
    padding: 1vh;
    z-index: 2;
}
.servicio .blur{
    position: absolute;
    width: 100%;
    height: 100%;
    left: 0%;
    top: 0%;
    z-index: 1;
    background: linear-gradient(to bottom, rgba(0, 0, 0, 0.397), transparent); 

}
.servicio p{
    z-index: 2;
    padding: 1vh;
    opacity: 0%;
    transition: opacity 0.2s ease-in-out;

}
#producto{
    padding-top: 2vh;
    min-height: 80vh;
    background-position: center;
    background-size: cover;
    background-repeat: no-repeat;
    position: relative;
    background-color: black;
    grid-area: PRO;
    display: grid;
    grid-template: 
    ". . ."auto
    ". MIN ." max-content
    ". TIT ." max-content
    ". TXT . " max-content
    ". . . " 1vh
    ". BOT . " auto 
    ". . . " auto /
    auto 70vh 5vw  ;
}
#sinResultados{
    background-position: center;
    background-size: 30vh;
    height: 42vh;
    background-repeat: no-repeat;
    display: grid;
    grid-template: 
    "TIT TIT TIT"auto
    ". BOT2 ."max-content/
    auto max-content auto
}
#sinResultados h1{
    font-size: 5vh;

}

#producto p{
    background-color: rgba(0, 0, 0, 0.623);
backdrop-filter: blur(2vh);
    padding: 1vh;
    border: 0.05vh solid white;
}
#productos{
    padding-top: 5vh;
    padding-bottom: 5vh;
    min-height: 100vh;
    background-size: 250vh;
    background-position: center;
    grid-area: PRS;
    display: grid;
    grid-template: 
    ". . . ."5vh
    ". MIN MIN ." max-content
    ". TIT TIT ." max-content
    ". BUS BOT2." max-content
    ". BUS2 BUS2." max-content
    "SERV SERV SERV SERV " minmax(60vh, max-content)
    ". BOT BOT . " auto 
    ". . . ." auto /
    auto 75vw 10vh auto ;
}
#buscar{
    grid-area: BUS;
    padding: 1vh;
    margin-right: 2vh;
}
#marcasbuscar{
    padding: 0.5vh;
    gap: 2vh;
    margin-top: 2vh;
    margin-bottom: 1vh;
    position: relative;
    grid-area: BUS2;
    display: flex;
    align-items: center;
    overflow-x: auto;
}

#video{
    min-height: 90vh;

    background-color: black;
    grid-area: VID;
}

#contacto{
    position: relative;
    padding-top: 8vh;
    min-height: 100vh;
    background-position: center;
    background-size: cover;
    background-repeat: no-repeat;
    background-color: black;
    grid-area: CON;
    display: grid;
    grid-template: 
    ". .  ."auto
    ". MIN  ." max-content
    ". TIT  ." max-content
    ". FORM  . " max-content
    ". BOT  . " auto 
    ". . .  " auto /
    auto 80vh auto ;
}
.inputs{
 grid-area: FORM;
 position: relative;
 display: flex;
 flex-wrap: wrap;
 align-items: center;
 justify-content: center;
}
.inputs input,.inputs  select,.inputs  option{
    margin-bottom: 1vh;
    width: 100%;
    padding: 1vh;
    height: auto;
}

.inputs  textarea{
    margin-bottom: 1vh;
    padding: 1vh;
    width: 100%;
    height: 30vh;
}  
.grecaptcha-badge{
    transform: scale(0%);
    display: none;
}
#marcas{
    overflow: hidden;
    max-height: 25vh;
    min-height: 25vh;
    background-color: black;
    position: relative;
    grid-area: MAR;
    min-height: 20vh;
   
    padding-left: 5vh;
}
#footer{
    background-size: cover;
    background-position: 50% 20vh;
    grid-area: FOO;
    display: grid;
    padding: 2vh;
    gap: 2vh;
    grid-template: 
    "LOGO ." auto
    "INFO INFO" auto/
    max-content auto;
    
}
#marcadeagua{
    font-size: 2vh;
    min-height: 5vh;
    grid-area: AGUA;
    background-color: black;
    font-family: "Roboto", serif;
    font-weight: 300;
    color: white;
    display: flex;
    align-items: center;
    justify-content: center;
}
.informacion{
    grid-area: INFO;
    position: relative;
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: center;
    gap: 5%;

}
.cuadro {
    position: relative;
    padding-top: 5vh;
    background-color: rgba(0, 0, 0, 0.438);
    border: 0.005vh white solid;
    width: 45vh;
    min-height: 30vh;
    height: max-content;
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: flex-start;
    box-sizing: border-box;
}
.cuadro .minititulo{
    position: absolute;
    top: 1vh;
    left: 5%;
    width: 90%;
    height: 10vh;
}
.correo{
    width: 100%;
    height: 5vh;
    display: flex;
    align-items: center;
    padding-left: 7vh;
    background-position: 2vh;
    background-size: 4vh;
    background-repeat: no-repeat;
}
.cuadro a{
 color: white
}
.marca{
   background-position: center;
   background-size: 25vh;
   background-repeat: no-repeat;
   position: absolute;
   right: -30vh;
    min-width: 30vh;
    height: 100%;
}
.marca2{
    background-position: center;
    background-repeat: no-repeat;
    background-size: 10vh;
    background-color: black;
    min-width: 15vh;
    height: 10vh;
    border: 0.05vh solid white;
 }
 
@keyframes animarca {
    0%{
        right: -30vh;
    }
    100%{
        right: 250vh;
    }
}

.logoyredes{
    position: relative;
    grid-area: LOGO;
    display: grid;
    width: 15vh;
    height: max-content;
    grid-template:
    "." 7vh
    "REDE " max-content/
    15vh ;
    background-position: top;
    background-repeat: no-repeat;
    background-size: contain;
}
.listaredes{
grid-area: REDE;
 display: flex;
 position: relative;
 flex-wrap: wrap;
 gap: 1vh;
}
.red{
    width: 3vh;
    height: 3vh;
    background-position: center;
    background-repeat: no-repeat;
    background-size: contain;
}

@keyframes show {
    from {
        opacity: 0%;
        transform: translateY(5vh);
    }
    to {
        opacity: 100%;

        transform:  translateY(0);
    }
}
.aparece {
    animation: show 0.6s ease-out forwards;
}

.producto,.cuadro, .servicio, .titulo, .inputs, #producto h1, #producto p, .botonegro, .minitexto, #servicios .titulo {
    opacity: 0;
}

.confetti-container {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    overflow: hidden;
    pointer-events: none;
    z-index: 1000;
}

.confetti {
    width: 1vh;
    height: 2vh;
    background-color: red;
    position: absolute;
    opacity: 0;
    animation: confettiFall linear ;

}
@keyframes confettiFall {
    0% {
        opacity: 100%;
        transform: translateY(0) rotate(0deg);
    }

    100% {
        opacity: 0%;
        transform: translateY(100vh) rotate(360deg);
    }
}