@charset "utf-8";
/* CSS Document */

* {
  margin: 0;
  padding: 0;
  user-select: none; /* Disable text selection on all elements */
  -webkit-user-select: none; /* Safari/iOS */
  -moz-user-select: none; /* Firefox */
  -ms-user-select: none; /* Internet Explorer/Edge */
}

body, html {
  user-select: none; /* Disable text selection */
  -webkit-user-select: none; /* For Safari on iOS */
  -moz-user-select: none; /* For Firefox */
  -ms-user-select: none; /* For Internet Explorer/Edge */
  
  overflow-x: hidden; /* Disable horizontal scrolling */
  overflow-y: scroll; /* Always show vertical scrollbar (optional) */
  height: 100%; /* Ensure full height */
}

body {
  position: relative;
  background-color: var(--white);
  user-select: none;
  overflow-x: hidden; /* Ensure horizontal overflow is hidden */
  -webkit-overflow-scrolling: touch; /* Improve scrolling behavior on mobile */
}

/* Ocultar la barra de desplazamiento en Webkit (Chrome, Safari, Opera) */
body::-webkit-scrollbar {
  width: 0px; /* Elimina la barra de scroll */
  height: 0px; /* Elimina la barra de scroll horizontal (si es necesario) */
}

/* Para navegadores basados en Blink/Chromium */
body {
  -ms-overflow-style: none; /* Para IE y Edge (antiguo) */
}

/* Make sure no child element overflows */
* {
  box-sizing: border-box; /* Prevent elements from overflowing */
}

:root {
  --dark-blue: #011C4D; /* Dark Blue color */
  --red: #D10D00; /* Red color */
  --white: #f4f4f4; /* white color */
  --first-color: var(--dark-blue); /* Start with dark blue for text */
  --second-color: var(--white); /* Start with red for .color background */
}


h1 {
  font-family: "Helvetica Neue", Helvetica, Arial, sans-serif;
  color: var(--dark-blue);
  font-weight: 400;
  font-size: 5.5vw;
}

h2 {
  font-family: "Helvetica Neue", Helvetica, Arial, sans-serif;
  color: var(--dark-blue);
  font-weight: 400;
  font-size: 3.5vw;  
}

h3 {
  font-family: "Helvetica Neue", Helvetica, Arial, sans-serif;
  color: var(--dark-blue);
  font-weight: 400;
  font-size: 2vw;
 	padding:.7vw 0vw .7vw 0vw;
  border-bottom: 0.16vw solid #001b54;
}

p {
  font-family: "Helvetica Neue", Helvetica, Arial, sans-serif;
  color: var(--red);
  text-transform: uppercase;
  font-weight: 400;
  font-size: 1vw;
}

/* PRELOADER _____________________________________________________________________________________________________*/
#prenombreelectricidad, #prenombregamir {
  opacity: 0;
  transform: translateY(1vw);
}

#preloader{
  width: 100vw;
  height: 100vh;
  background-color: var(--dark-blue);
  z-index: 9999999999999;
  position: absolute;
  top: 0;
  display: flex;
  align-items: center;
  justify-content: center;
}

#pretodojunto{
  display: flex;
  flex-direction: column;
  align-items: center;
}
#prenombre{
  display: flex;
  justify-content: center;
  padding-top: 1vw;
}

#prenombregamir{
  padding-left: .4vw;
}

/* HEADER _____________________________________________________________________________________________________*/
header {
	width: 96vw;
	height: 1vw;
    position: fixed;
    top: 0;
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin: 1vw 2vw 1vw 2vw;
	z-index: 99999;
}

#posicionraton{
	width: 30vw;
  display: flex;
}

#coordX{
width: 4vw;;
}
#coordY{
  width: 4vw;;
  }

#headerlogo{
	width: 36vw;
  cursor: pointer;
}

#header{
	width: 30vw;
}

#headercontacto {
  position: relative; /* Necesario para que el ::after se posicione en relación al div */
  cursor: pointer; /* Cambiar el cursor para que el usuario sepa que es clickeable */
}

#headercontacto::after {
  content: ""; /* Creamos un contenido vacío */
  position: absolute;
  bottom: -5px; /* Ajusta la posición de la línea debajo del texto */
  left: 0;
  width: 0;  /* Inicialmente, la línea tendrá un ancho de 0 */
  height: .1vw; /* Definimos el grosor de la línea */
  background-color: var(--red); /* Color de la línea */
  transition: width 0.3s ease; /* Animación de la línea de izquierda a derecha */
}

#headercontacto:hover::after {
  width: 100%; /* Cuando se hace hover, la línea se expande de izquierda a derecha */
}


.ticker {
  width: 100vw;
  height: 2vw;
  margin-bottom: .2vw;
  overflow: hidden;
  white-space: nowrap;
  position: fixed;
  display: flex;
  bottom: 0;
  z-index: 99999;
  overflow-x: hidden;
}
.scrolling-text {
  display: flex;
  animation: scroll 26s linear infinite;
  min-width: 100vw;
  flex-shrink: 0;
  align-items: flex-end;
 }

.ticker:hover .scrolling-text {
  animation-play-state: paused;
}
      
       
@keyframes scroll {
    from {
        transform: translateX(0);
    }
    to {
        transform: translateX(-50%);
    }
}

/* HERO _____________________________________________________________________________________________________*/
#hero{
	width: 100vw;
	height: 100vh;
	display: flex;
	align-items: flex-end;
}

#titular1{
	position: relative;
	text-align: left;
	margin-left: 2vw;
	margin-bottom: 2.5vw;
  z-index: 99;
}

spline-viewer{
  position: absolute;
  width: 100vw;
  height: 100vh;
  top: 0vw;
  z-index: 0;
}

#alt3d{
  display: none;
}

#cuadrado{
  position: absolute;
  width: 25vw;
  height: 15vh;
  top: 90vh;
  right: 0;
  background-color: var(--white)
}



/* SERVICIOS _____________________________________________________________________________________________________*/
#servicios{
	width: 100vw;
}

/* SERVICIOS 01 ______________________________________________________________________________________________________________________________*/
#servicios01{
	width: 96vw;
	height: 40vw;
  margin: 0vw 2vw 0vw 2vw;
  display: flex;
  align-items: center;
  padding-top: 10vw;
}

#servicios01izq{
  width: 50vw;
}

#texto01{
  color: var(--dark-blue);
  text-transform: none;
}

#servicios01drcha{
  width: 50vw;
  display: flex;
  justify-content: center;
}

#servicios01drcha img{
  padding-top: 10vw;
  width: 20vw;
  height: auto;
  max-width: 100%;
}

/* SERVICIOS 02 _____________________________________________________________________________________________________*/
#servicios02{
	width: 96vw;
	height: 50vw;
  margin: 0vw 2vw 0vw 2vw;
  display: flex;
  align-items: center;
}

#servicios02izq{
  width: 50vw;
}

#texto02{
  color: var(--dark-blue);
  text-transform: none;
}

#servicios02drcha{
  width: 50vw;
  display: flex;
  justify-content: center;
}

#servicios02drcha img{
  padding-top: 10vw;
  width: 20vw;
  height: auto;
  max-width: 100%;
}
/* SERVICIOS 03 ___________________________________________________________________________________________________________________________*/
#servicios03{
	width: 96vw;
	height: 40vw;
  margin: 0vw 2vw 0vw 2vw;
  display: flex;
  align-items: center;
}

#servicios03izq{
  width: 50vw;
}

#texto03{
  color: var(--dark-blue);
  text-transform: none;
}

#servicios03drcha{
  width: 50vw;
  display: flex;
  justify-content: center;
}

#servicios03drcha img{
  padding-top: 10vw;
  width: 20vw;
  height: auto;
  max-width: 100%;
}

/* SERVICIOS secundarios ___________________________________________________________________________________________________*/
#serviciossecundarios{
	width: 100vw;
	height: 45vw;
	background-color:var(--white);
	display: flex;
	align-items: center;
	justify-content: center;
}

ul {
  list-style-type: none;
  margin: 0;
}

#izq2drcha2{
	display: flex;	
}

#izq2{
	width: 30vw;
}
#izq2 p{
	padding:.7vw 0vw .7vw 0vw;
}

#drcha2{
	width: 66vw;
}


/* FOOTER ___________________________________________________________________________________________________________*/
footer {
  width: 100vw;
  height: 40vw;
  display: flex;
  flex-direction: column;
  justify-content: flex-end;
  align-content: center;
  overflow: hidden;
}

#footertodojunto {
  width: 96vw;
  padding: 1vw 2vw 1vw 2vw;
}

#ftarriba {
  display: flex;
  justify-content: space-between;
  padding-bottom: 1vw;
  width: 96vw;
}

#ftviana{
  width: 30vw;
}
#fttelefono{
  width: 36vw;
  text-align: center;
}
#ftlogroño{
  width: 30vw;
  text-align: right;
}
footer a {
  text-decoration: none;
  color: var(--dark-blue);
  font-family: "Helvetica Neue", Helvetica, Arial, sans-serif;
  font-weight: 400;
  font-size: 2vw;
  position: relative; /* Necesario para que el ::after se posicione en relación al enlace */
}

/* Línea animada debajo del enlace */
footer a::after {
  content: ""; /* Creamos un contenido vacío */
  position: absolute;
  bottom: 0; /* Alineamos la línea justo debajo del texto */
  left: 0;
  width: 0;  /* Inicialmente, la línea tendrá un ancho de 0 */
  height: .15vw; /* Definimos el grosor de la línea */
  background-color: var(--dark-blue); /* Color de la línea */
  transition: width 0.3s ease; /* Animación de la línea de izquierda a derecha */
}

footer a:hover::after {
  width: 100%; /* Cuando se hace hover, la línea se expande de izquierda a derecha */
}

#ftgamir {
  width: 96vw;
  display: flex;
  justify-content: center;
}

#ftgamir h1 {
  font-size: 30vw;
  line-height: 25vw;
  text-align: center;
  color: var(--dark-blue);
}


/* Responsive Design __________________________________________________________________________________________________________________________________________________________________________________
_________________________________________________________________________________________-________________________________________________________________________  */

@media screen and (max-width:1024px) and (orientation:portrait) {
  h1 {
    font-size: 10.5vw;
  }
  
  h2 {
    font-size: 11vw;
  }
 
  h3 {
    font-size: 7vw;
    border-bottom: 0.26vw solid #001b54;
  }

  p {
    font-size: 4vw;
  }

  body {
  max-width: 100vw;
  box-sizing: border-box;
  }



  /* PRELOADER __________________________________________________________________________________________________________  */


#preloader {
  width: 100vw;
  height: 100vh;
  top: 0;
  left: 0; /* Ensure it starts from the very left */
}
  /* HEADER __________________________________________________________________________________________________________  */

#posicionraton {
    display: none;
}

#headerlogo {
  width: 76vw;
}

#headercontacto {
  width: 20vw;
  text-align: right;
}
#headercontacto::after {
  height: .2vw; /* Definimos el grosor de la línea */
}

#headercontacto:hover::after {
  animation: lineAnimation1 1s ease forwards;
}

@keyframes lineAnimation1 {
  0% {
    width: 0;
    left: 0;
  }
  50% {
    width: 100%;
    left: 0;
  }
  100% {
    width: 0;
    left: 100%;
  }
}


header {
  width: 92vw;
	height: 5vw;
  margin: 5vw 4vw 5vw 4vw;
}
  
.ticker{
  display: none;
}


/* HERO __________________________________________________________________________________________________________  */

spline-viewer {
 display: none;
}

#alt3d{
  display: block;
  position: absolute;
  top: 0;
  left: 0;
}

#alt3d img{
  width: 160vw;
}

#cuadrado{
  display: none;
}

#titular1 br {
  display: none;
}

#titular1{
	margin-bottom: 20vw;
}
/* SERVICIOS __________________________________________________________________________________________________________  */

#servicios{
	width: 100vw;
  position: relative;
}
/* SERVICIOS 01 __________________________________________________________________________________________________________  */
#servicios01{
	width: 96vw;
	height: 240vw;
  margin: 0vw 2vw 0vw 2vw;
  display: flex;
  align-items: flex-start;
  flex-direction: column;
  padding-top: 30vw;
}
#servicios01izq{
  width: 96vw;
  text-align: center;
}
#servicios01izq h2{
  margin: 5vw;
}

#servicios01drcha{
  width: 100vw;
}
#servicios01drcha img{
	width: 64vw;
	height: 90vw;
}

/* SERVICIOS 02 __________________________________________________________________________________________________________  */
#servicios02{
	width: 96vw;
	height: 180vw;
  display: flex;
  align-items: flex-start;
  flex-direction: column;
}

#servicios02izq{
  width: 96vw;
  text-align: center;
  order: -1;
}
#servicios02izq h2{
  margin: 5vw;
}
#servicios02drcha{
  width: 100vw;
}
#servicios02drcha img{
  width: 64vw;
	height: 90vw;
}
/* SERVICIOS 03 __________________________________________________________________________________________________________  */
#servicios03{
	width: 96vw;
	height: 200vw;
  display: flex;
  align-items: flex-start;
  flex-direction: column;
}
#servicios03izq{
  width: 96vw;
  text-align: center;
}
#servicios03izq h2{
  margin: 5vw;
}
#servicios03drcha{
  width: 100vw;
}
#servicios03drcha img{
	width: 64vw;
	height: 90vw;
}
/* SERVICIOS SECUNDARIOS __________________________________________________________________________________________________________  */

#serviciossecundarios {
  height: 120vw;
}
#izq2drcha2{
  flex-direction: column;
  width: 96vw;
}
#izq2{
  width: 96vw;
  text-align: center;
  padding-bottom: 4vw;
}
#drcha2{
  width: 96vw;
  text-align: left;
}
ul li {
  margin-bottom:3vw;
  margin-top: 3vw;
}


/* FOOTER __________________________________________________________________________________________________________  */
footer {
  width: 100vw;
  height: 210vw;
}

#ftarriba {
  padding-bottom: 50vw;
  flex-direction: column;
  align-items: center;
}

#ftviana, #fttelefono, #ftlogroño{
  text-align: center;
  width: 96vw;
  padding-bottom: 9vw;
}

#fttelefono{
  order: -1;
}

footer a {
  text-decoration: none;
  color: var(--dark-blue);
  font-family: "Helvetica Neue", Helvetica, Arial, sans-serif;
  font-weight: 400;
  font-size: 7vw;
  position: relative; /* Necesario para que el ::after se posicione en relación al enlace */
  height: .26vw; /* Definimos el grosor de la línea */
}

#ftgamir {
  padding-bottom: 5vw;
}


footer a:hover::after {
  animation: lineAnimation 1s ease forwards;
}

@keyframes lineAnimation {
  0% {
    width: 0;
    left: 0;
  }
  50% {
    width: 100%;
    left: 0;
  }
  100% {
    width: 0;
    left: 100%;
  }
}

}