* {
  padding: 0;
  margin: 0;
  box-sizing: border-box;
}
/* ====  Preloader styles ==== */
#hola {
  width: 100vw;
  height: 100vh;
  background-color: #252328;
  position: fixed;
  z-index: 999;
}
#preloader {
  position: relative;
  width: 80px;
  height: 80px;
  top: 45%;
  margin: 0 auto;
}
#preloader span {
  position: absolute;
  border: 8px solid #41ff41;
  border-top: 8px solid transparent;
  border-radius: 999px;
}

#preloader span:nth-child(1) {
  width: 80px;
  height: 80px;
  -webkit-animation: spin-1 2s infinite linear;
  animation: spin-1 2s infinite linear;
}
#preloader span:nth-child(2) {
  top: 20px;
  left: 20px;
  width: 40px;
  height: 40px;
  -webkit-animation: spin-2 1s infinite linear;
  animation: spin-2 1s infinite linear;
}
@-webkit-keyframes spin-1 {
  0% {
    transform: rotate(360deg);
    opacity: 1;
  }
  50% {
    transform: rotate(180deg);
    opacity: 0.5;
  }
  100% {
    transform: rotate(0deg);
    opacity: 1;
  }
}
@keyframes spin-1 {
  0% {
    transform: rotate(360deg);
    opacity: 1;
  }
  50% {
    transform: rotate(180deg);
    opacity: 0.5;
  }
  100% {
    transform: rotate(0deg);
    opacity: 1;
  }
}
@-webkit-keyframes spin-2 {
  0% {
    transform: rotate(0deg);
    opacity: 0.5;
  }
  50% {
    transform: rotate(180deg);
    opacity: 1;
  }
  100% {
    transform: rotate(360deg);
    opacity: 0.5;
  }
}
@keyframes spin-2 {
  0% {
    transform: rotate(0deg);
    opacity: 0.5;
  }
  50% {
    transform: rotate(180deg);
    opacity: 1;
  }
  100% {
    transform: rotate(360deg);
    opacity: 0.5;
  }
}

/* ====  Page layout ==== */
#canvas {
  position: absolute;
  z-index: 0;
  top: 0;
  left: 0;
  height: 100vh;
  width: 100vw;
  background-image: linear-gradient(#a3a2a2, #585858);
}
.glass {
  position: relative;
  top: 5px;
  left: 50%;
  transform: translateX(-50%);
  height: 95vh;
  width: 95vw;
  border: 2px solid rgba(0, 0, 0, 0.15);
  border-radius: 15px;
  box-shadow: 0 0 10px rgba(0, 0, 0, 0.25), inset 0 0 2px 0px white;
  background: rgba(0, 0, 0, 0.0125);
  overflow: hidden;
  display: grid;
  grid-template-columns: 1fr;
  grid-template-rows: 2fr 3fr;
  grid-template-areas:
    "logo"
    "options";
}
.glass::after {
  content: "";
  position: absolute;
  top: 0;
  bottom: 0;
  left: 0;
  right: 0;
  -webkit-backdrop-filter: blur(3px);
  backdrop-filter: blur(2px);
  background-color: rgba(255, 255, 255, 0.025);
  z-index: 10;
}

.logo-svg {
  position: relative;
  width: 95%;
  max-height: 100%;
  align-content: center;
  justify-content: center;
  display: flex;
  left: 50%;
  margin-top: 8px;
  transform: translateX(-50%);
  z-index: 50;
  grid-area: logo;
}

.power-switch {
  position: absolute;
  display: -webkit-box;
  display: flex;
  -webkit-box-pack: center;
  justify-content: center;
  -webkit-box-align: center;
  align-items: center;
  width: 100%;
  height: 100%;
}

.power-switch .button {
  width: 100%;
  height: 100%;
  padding: 0;
  display: -webkit-box;
  display: flex;
  -webkit-box-pack: center;
  justify-content: center;
  -webkit-box-align: center;
  align-items: center;
  position: absolute;
}

svg {
  isolation: isolate;
  position: absolute;
  top: 50%;
  left: 0;
  transform: translateY(-50%);
  max-width: 100%;
  max-height: 100%;
}

.cls-3 {
  opacity: 0.67;
  mix-blend-mode: darken;
}

.cls-4 {
  fill: #e9e9e4;
}

.cls-4,
.cls-6 {
  stroke: #000;
  stroke-miterlimit: 10;
  stroke-width: 0.2px;
}

.cls-5 {
  fill: #231f20;
}

.cls-6 {
  fill: #3cf;
}

.power-switch .button:after {
  content: "";
  width: 100%;
  height: 100%;
  position: absolute;
  background: radial-gradient(circle closest-side, #41ff41, transparent);
  -webkit-filter: blur(20px);
  filter: blur(20px);
  opacity: 0;
  -webkit-transition: opacity 1s ease, -webkit-transform 1s ease;
  transition: opacity 1s ease, -webkit-transform 1s ease;
  transition: opacity 1s ease, transform 1s ease;
  transition: opacity 1s ease, transform 1s ease, -webkit-transform 1s ease;
  -webkit-transform: perspective(1px) translateZ(0);
  transform: perspective(1px) translateZ(0);
  -webkit-backface-visibility: hidden;
  backface-visibility: hidden;
}
.power-switch .button svg .cls-1 #Crop_Marks .power-on,
.power-switch .button svg .cls-1 #Crop_Marks .power-off {
  z-index: 1;
  fill: #41ff41;
}

.power-switch .button svg .cls-1 #Crop_Marks .power-on .line,
.power-switch .button svg .cls-1 #Crop_Marks .power-off .line {
  opacity: 0.2;
}
.power-switch .button svg .cls-1 #Crop_Marks .power-on .circle,
.power-switch .button svg .cls-1 #Crop_Marks .power-off .circle {
  opacity: 0.2;
  stroke-dasharray: 220;
  stroke-dashoffset: 40;
}
.power-switch .button svg .cls-1 #Crop_Marks .power-on {
  -webkit-filter: drop-shadow(0px 0px 6px rgba(96, 252, 90, 0.8));
  filter: drop-shadow(0px 0px 6px rgba(96, 252, 90, 0.8));
}
.power-switch .button svg .cls-1 #Crop_Marks .power-on .line {
  opacity: 0;
  -webkit-transition: opacity 0.3s ease 1s;
  transition: opacity 0.3s ease 1s;
}
.power-switch .button svg .cls-1 #Crop_Marks .power-on .circle {
  opacity: 0;
  -webkit-transition: opacity 0.3s ease 1s;
  transition: opacity 0.3s ease 1s;
  /* stroke-dashoffset: 220;
  -webkit-transition: stroke-dashoffset 1s ease 0s, -webkit-transform 0s ease;
  transition: stroke-dashoffset 1s ease 0s, -webkit-transform 0s ease;
  transition: transform 0s ease, stroke-dashoffset 1s ease 0s;
  transition: transform 0s ease, stroke-dashoffset 1s ease 0s,
    -webkit-transform 0s ease; */
}
.power-switch input {
  position: absolute;
  height: 100%;
  width: 100%;
  z-index: 100;
  cursor: pointer;
  opacity: 0;
}
.power-switch input:checked + .button:after {
  opacity: 0.15;
  /* -webkit-transform: scale(2) perspective(1px) translateZ(0);
  transform: scale(2) perspective(1px) translateZ(0); */
  -webkit-backface-visibility: hidden;
  backface-visibility: hidden;
  -webkit-transition: opacity 0.5s ease, -webkit-transform 0.5s ease;
  transition: opacity 0.5s ease, -webkit-transform 0.5s ease;
  transition: opacity 0.5s ease, transform 0.5s ease;
  transition: opacity 0.5s ease, transform 0.5s ease,
    -webkit-transform 0.5s ease;
  height: 100%;
  width: 100%;
}
.power-switch input:checked + .button svg .cls-1 #Crop_Marks .power-on,
.power-switch input:checked + .button svg .cls-1 #Crop_Marks .power-off {
  /* -webkit-animation: click-animation 0.3s ease forwards;
  animation: click-animation 0.3s ease forwards; */
  -webkit-transform: scale(1);
  transform: scale(1);
}

/* .power-switch input:empty + .button svg .cls-1 #Crop_Marks .power-on {
  opacity: 0;
} */

.power-switch input:checked + .button svg .cls-1 #Crop_Marks .power-on .line,
.power-switch input:checked + .button svg .cls-1 #Crop_Marks .power-off .line {
  -webkit-animation: line-animation 0.4s ease-in forwards;
  animation: line-animation 0.4s ease-in forwards;
}

.power-switch input:checked + .button svg .cls-1 #Crop_Marks .power-on .line {
  opacity: 1;
  -webkit-transition: opacity 0.05s ease-in 0.55s;
  transition: opacity 0.05s ease-in 0.55s;
}
.power-switch input:checked + .button svg .cls-1 #Crop_Marks .power-on .circle {
  /* stroke-dashoffset: 40;
  -webkit-transition: stroke-dashoffset 0.4s ease 0.2s,
    -webkit-transform 0.4s ease 0.2s;
  transition: stroke-dashoffset 0.4s ease 0.2s, -webkit-transform 0.4s ease 0.2s;
  transition: transform 0.4s ease 0.2s, stroke-dashoffset 0.4s ease 0.2s;
  transition: transform 0.4s ease 0.2s, stroke-dashoffset 0.4s ease 0.2s,
    -webkit-transform 0.4s ease 0.2s; */
  opacity: 1;
  -webkit-transition: opacity 0.55s ease-in 0.55s;
  transition: opacity 0.55s ease-in 0.55s;
}
@-webkit-keyframes line-animation {
  0% {
    -webkit-transform: translateY(0);
    transform: translateY(0);
  }
  10% {
    -webkit-transform: translateY(7px);
    transform: translateY(7px);
  }
  40% {
    -webkit-transform: translateY(-15px);
    transform: translateY(-15px);
  }
  60% {
    -webkit-transform: translateY(-15px);
    transform: translateY(-15px);
  }
  85% {
    -webkit-transform: translateY(7px);
    transform: translateY(7px);
  }
  100% {
    -webkit-transform: translateY(0px);
    transform: translateY(0px);
  }
}

@keyframes line-animation {
  0% {
    -webkit-transform: translateY(0);
    transform: translateY(0);
  }
  10% {
    -webkit-transform: translateY(7px);
    transform: translateY(7px);
  }
  40% {
    -webkit-transform: translateY(-15px);
    transform: translateY(-15px);
  }
  60% {
    -webkit-transform: translateY(-15px);
    transform: translateY(-15px);
  }
  85% {
    -webkit-transform: translateY(7px);
    transform: translateY(7px);
  }
  100% {
    -webkit-transform: translateY(0px);
    transform: translateY(0px);
  }
}
/* @-webkit-keyframes click-animation {
  0% {
    -webkit-transform: scale(1);
    transform: scale(1);
  }
  50% {
    -webkit-transform: scale(0.9);
    transform: scale(0.9);
  }
  100% {
    -webkit-transform: scale(1);
    transform: scale(1);
  }
}
@keyframes click-animation {
  0% {
    -webkit-transform: scale(1);
    transform: scale(1);
  }
  50% {
    -webkit-transform: scale(0.9);
    transform: scale(0.9);
  }
  100% {
    -webkit-transform: scale(1);
    transform: scale(1);
  }
} */

#title {
  position: absolute;
  top: 60%;
  left: 0;
  z-index: 1;
  width: 100%;
  margin: 0;
  padding: 0;
  font-family: "Raleway", sans-serif;
  font-size: 3em;
  text-align: center;
  color: #ffffff;
  mix-blend-mode: overlay;
}

/* @media screen and (max-width: 500px) {
  .logo-svg {
    width: 45vw;
  }
} */
.options {
  position: relative;
  height: 100%;
  width: 100%;
  max-width: 800px;
  margin: 0 auto 0 auto;
  display: grid;
  grid-template-columns: 1fr;
  grid-template-rows: 1fr 1fr 1fr 1fr;
  gap: 10px;
  grid-template-areas:
    "services"
    "email"
    "message"
    "call";
  text-align: center;
  grid-area: options;
  z-index: 20;
}
a {
  text-decoration: none;
  width: 100%;
  height: 100%;
  font-size: 3rem;
  z-index: 31;
  display: flex;
  justify-content: center;
  align-content: center;
  flex-direction: column;
}
.glass_services {
  position: relative;
  top: 5px;
  left: 50%;
  transform: translateX(-50%);
  height: 10vh;
  width: 90%;
  border: 2px solid rgba(0, 0, 0, 0.15);
  border-radius: 15px;
  box-shadow: 0 0 10px rgba(0, 0, 0, 0.25), inset 0 0 2px 0px white;
  background: rgba(0, 0, 0, 0.0125);
  overflow: hidden;
  grid-area: services;
  display: flex;
}
.glass_services::after {
  content: "";
  position: absolute;
  top: 0;
  bottom: 0;
  left: 0;
  right: 0;
  -webkit-backdrop-filter: blur(3px);
  backdrop-filter: blur(2px);
  background-color: rgba(255, 255, 255, 0.025);
  z-index: 21;
}
.glass_email {
  position: relative;
  top: 5px;
  left: 50%;
  transform: translateX(-50%);
  height: 10vh;
  width: 90%;
  border: 2px solid rgba(0, 0, 0, 0.15);
  border-radius: 15px;
  box-shadow: 0 0 10px rgba(0, 0, 0, 0.25), inset 0 0 2px 0px white;
  background: rgba(0, 0, 0, 0.0125);
  overflow: hidden;
  grid-area: email;
  display: flex;
}
.glass_email::after {
  content: "";
  position: absolute;
  top: 0;
  bottom: 0;
  left: 0;
  right: 0;
  -webkit-backdrop-filter: blur(3px);
  backdrop-filter: blur(2px);
  background-color: rgba(255, 255, 255, 0.025);
  z-index: 22;
}
.glass_message {
  position: relative;
  top: 5px;
  left: 50%;
  transform: translateX(-50%);
  height: 10vh;
  width: 90%;
  border: 2px solid rgba(0, 0, 0, 0.15);
  border-radius: 15px;
  box-shadow: 0 0 10px rgba(0, 0, 0, 0.25), inset 0 0 2px 0px white;
  background: rgba(0, 0, 0, 0.0125);
  overflow: hidden;
  grid-area: message;
  display: flex;
}
.glass_message::after {
  content: "";
  position: absolute;
  top: 0;
  bottom: 0;
  left: 0;
  right: 0;
  -webkit-backdrop-filter: blur(3px);
  backdrop-filter: blur(2px);
  background-color: rgba(255, 255, 255, 0.025);
  z-index: 23;
}
.glass_phone {
  position: relative;
  top: 5px;
  left: 50%;
  transform: translateX(-50%);
  height: 10vh;
  width: 90%;
  border: 2px solid rgba(0, 0, 0, 0.15);
  border-radius: 15px;
  box-shadow: 0 0 10px rgba(0, 0, 0, 0.25), inset 0 0 2px 0px white;
  background: rgba(0, 0, 0, 0.0125);
  overflow: hidden;
  grid-area: call;
  display: flex;
}
.glass_phone::after {
  content: "";
  position: absolute;
  top: 0;
  bottom: 0;
  left: 0;
  right: 0;
  -webkit-backdrop-filter: blur(3px);
  backdrop-filter: blur(2px);
  background-color: rgba(255, 255, 255, 0.025);
  z-index: 24;
}
