@charset "UTF-8";
/* Definimos las Custom properties */
:root {
  /* Colores */
  --negro: #393939;
  /* Tipografía */
  --tipo-principal: Helvetica, Arial, sans-serif;
  --tipo-secundaria: Verdana;
}

/* Reseteamos los margin y paddings de todas las etiquetas */
*, *::before, *::after {
  margin: 0;
  padding: 0;
  border: 0;
  box-sizing: border-box;
  vertical-align: baseline;
}

*::before, *::after {
  display: block;
}

/* Evitamos problemas con las imagenes */
img, picture, video, iframe, figure {
  max-width: 100%;
  width: 100%;
  display: block;
  /* (Opcional) */
  -o-object-fit: cover;
     object-fit: cover;
  /* (Opcional) */
  -o-object-position: center center;
     object-position: center center;
}

/* Reseteamos los enlaces para funcionar como cajas... */
a {
  display: block;
  text-decoration: none;
  color: inherit;
  font-size: inherit;
}

/* ... excepto los que se encuentran en párrafos */
p a {
  display: inline;
}

/* Quitamos los puntos de los <li> */
li {
  list-style-type: none;
}

/* (Opcional) Configuramos anclas suaves */
html {
  scroll-behavior: smooth;
}

/* Desactivamos estilos por defecto de las principales etiquetas de texto */
h1, h2, h3, h4, h5, h6, p, span, a, strong, blockquote, i, b, u, em {
  font-size: inherit;
  font-weight: inherit;
  font-style: inherit;
  text-decoration: none;
  color: inherit;
}

/* Evitamos problemas con los pseudoelementos de quotes */
blockquote:before, blockquote:after, q:before, q:after {
  content: "";
  content: none;
}

/* (Opcional) Configuramos el texto que seleccionamos */
::-moz-selection {
  background-color: var(--negro);
  color: var(--blanco);
}
::selection {
  background-color: var(--negro);
  color: var(--blanco);
}

/* Nivelamos problemas de tipografías y colocación de formularios */
form, input, textarea, select, button, label {
  font-family: inherit;
  font-size: inherit;
  -webkit-hyphens: auto;
          hyphens: auto;
  background-color: transparent;
  color: inherit;
  display: block;
  /* (Opcional) */
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
}

/* Reseteamos las tablas */
table, tr, td {
  border-collapse: collapse;
  border-spacing: 0;
}

/* Evitamos problemas con los SVG */
svg {
  width: 100%;
  display: block;
  fill: currentColor;
}

/* Configuramos la tipografía para toda la web */
body {
  min-height: 100vh;
  font-size: 100%;
  font-family: var(--tipo-principal);
  color: var(--negro);
}

@font-face {
  font-family: Pixellari;
  src: url("../pixellari.ttf");
}
@font-face {
  font-family: VCR OSD;
  src: url("../fonts/VCROSDMono.ttf");
}
body {
  position: relative;
}

body::-webkit-scrollbar {
  width: 0.525rem;
}

body::-webkit-scrollbar-track {
  background: #7ee3ff;
}

body::-webkit-scrollbar-thumb {
  width: 1.5125rem;
  background-color: white;
  border-radius: 20px;
}

.anim-fade {
  animation: fadeIn2 0.5s ease, goma 0.7s ease 0.5s;
}

@keyframes fadeIn2 {
  0% {
    width: 1.25rem;
    opacity: 0;
  }
  100% {
    width: 550px;
    opacity: 1;
  }
}
@keyframes goma {
  0% {
    transform: scaleX(1);
  }
  30% {
    transform: scale3d(1.25, 0.75, 1);
  }
  40% {
    transform: scale3d(0.75, 1.25, 1);
  }
  50% {
    transform: scale3d(1.15, 0.85, 1);
  }
  65% {
    transform: scale3d(0.95, 1.05, 1);
  }
  75% {
    transform: scale3d(1.05, 0.95, 1);
  }
  to {
    transform: scaleX(1);
  }
}
.tabla {
  animation: rotacion 1s ease 2.5s, opacidad 3.2s ease-in;
}
.tabla:nth-child(2) {
  animation: rotacion 1s ease 2.7s, opacidad 3.4s ease-in;
}
.tabla:nth-child(3) {
  animation: rotacion 1s ease 2.9s, opacidad 3.6s ease-in;
}

.tabla2 {
  animation: rotacion2 1s ease 3.5s, opacidad 4.6s ease-in;
}
.tabla2.github {
  animation: rotacion2 1s ease 3.7s, opacidad 4.8s ease-in;
}
.tabla2.email {
  animation: rotacion2 1s ease 3.9s, opacidad 5s ease-in;
}

@keyframes tabla {
  0% {
    transform: perspective(400px) rotateX(90deg);
    animation-timing-function: ease-in;
    opacity: 0;
  }
  40% {
    transform: perspective(400px) rotateX(-20deg);
    animation-timing-function: ease-in;
  }
  60% {
    transform: perspective(400px) rotateX(10deg);
    opacity: 1;
  }
  80% {
    transform: perspective(400px) rotateX(-5deg);
  }
  to {
    transform: perspective(400px);
    opacity: 1;
  }
}
.opacidad {
  animation-name: opacidad;
  animation-duration: 1s;
  animation-delay: 1s;
  animation-timing-function: ease;
  animation-fill-mode: forwards;
}

.opacidad2 {
  animation-name: opacidad;
  animation-duration: 0.2s;
  animation-delay: 1s;
  animation-timing-function: ease;
  animation-fill-mode: forwards;
}

.opacidad3 {
  animation-name: opacidad;
  animation-duration: 1s;
  animation-delay: 0s;
  animation-timing-function: ease;
}

.opacidad4 {
  animation-name: opacidad3;
  animation-duration: 1s;
  animation-delay: 4.8s;
  animation-timing-function: ease;
  animation-fill-mode: both;
}

@keyframes opacidad {
  0% {
    opacity: 0;
  }
  25% {
    opacity: 0;
  }
  75% {
    opacity: 0;
  }
  100% {
    opacity: 1;
  }
}
@keyframes opacidad2 {
  0% {
    opacity: 1;
  }
  25% {
    opacity: 0;
  }
  100% {
    opacity: 0;
  }
}
@keyframes opacidad3 {
  0% {
    opacity: 0;
  }
  100% {
    opacity: 1;
  }
}
.flecha {
  animation: bote 2s ease 4.8s infinite, opacidad 1s ease 4.8s forwards;
}

.bote {
  animation-name: bote;
  animation-duration: 1s;
  animation-timing-function: linear;
}
.bote:nth-child(2) {
  animation-delay: 0.2s;
}
.bote:nth-child(3) {
  animation-delay: 0.4s;
}
.bote:nth-child(4) {
  animation-delay: 0.6s;
}

.bote2 {
  animation: bote 1s linear, opacidad2 1s ease-out 2s forwards;
}

.bote3 {
  animation: bote 1s linear 1.3s, posicion 0.3s ease-out 1.5s forwards;
}
.bote3:nth-child(2) {
  animation: bote 1s linear 1.5s, posicion 0.3s ease-out 1.7s forwards;
}
.bote3:nth-child(3) {
  animation: bote 1s linear 1.7s, posicion 0.3s ease-out 1.9s forwards;
}
.bote3:nth-child(4) {
  animation: bote 1s linear 1.9s, posicion 0.3s ease-out 2.1s forwards;
}

.bote4 {
  animation: bote 1s linear 4.5s, posicion2 0.3s ease 4.5s forwards;
}

.bote5 {
  animation: bote 1s linear;
}

@keyframes bote {
  0%, 20%, 53%, to {
    animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
    transform: translateZ(0);
  }
  40%, 43% {
    animation-timing-function: cubic-bezier(0.755, 0.05, 0.855, 0.06);
    transform: translate3d(0, -30px, 0) scaleY(1.1);
  }
  70% {
    animation-timing-function: cubic-bezier(0.755, 0.05, 0.855, 0.06);
    transform: translate3d(0, -15px, 0) scaleY(1.05);
  }
  80% {
    transition-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
    transform: translateZ(0) scaleY(0.95);
  }
  90% {
    transform: translate3d(0, -4px, 0) scaleY(1.02);
  }
}
@keyframes rotacion {
  0% {
    transform: rotate(-180deg);
    transform-origin: center left;
    opacity: 0;
  }
  100% {
    transform: rotate(0deg);
    opacity: 1;
  }
}
@keyframes rotacion2 {
  0% {
    transform: rotate(180deg);
    transform-origin: center right;
    opacity: 0;
  }
  100% {
    transform: rotate(0deg);
    opacity: 1;
  }
}
@keyframes posicion {
  from {
    position: relative;
    top: -200px;
  }
  to {
    position: relative;
    top: 0;
  }
}
@keyframes posicion2 {
  from {
    top: 40%;
  }
  to {
    top: 62%;
  }
}
@keyframes posicion3 {
  from {
    bottom: -15rem;
  }
  to {
    bottom: 1rem;
  }
}
@keyframes escala {
  0% {
    transform: scale(1);
  }
  100% {
    transform: scale(1.1);
  }
}
@keyframes moveClouds {
  from {
    left: -50%;
  }
  to {
    left: 2%; /* ajusta el ancho de la imagen */
  }
}
.header {
  width: 100%;
  height: 100vh;
  position: absolute;
  z-index: -1;
  top: 0;
  left: 0;
  overflow: hidden;
}
.header__background1 {
  width: 100%;
  height: 100vh;
  background-image: url(../assets/fondo.png);
  background-repeat: no-repeat;
  background-size: cover;
}
@media (max-width: 600px) {
  .header__background1 {
    background-position: -350px center;
  }
}
.header__background2 {
  width: 200%;
  height: 100vh;
  position: absolute;
  top: 0;
  left: 0;
}
.header__background2 .nubes {
  width: 300%;
  animation-name: moveClouds;
  animation-duration: 40s; /* ajusta la duración de la animación a tu gusto */
  animation-timing-function: linear;
  animation-iteration-count: infinite;
  position: absolute;
  -o-object-fit: fill;
     object-fit: fill;
  -o-object-position: right;
     object-position: right;
  top: 0;
  left: -100%;
}
.header__background3 {
  width: 100%;
  position: absolute;
  top: 0;
  left: 0;
}
.header__background3 .tree {
  width: 35.25rem;
  position: absolute;
  bottom: 0;
  left: -3.125rem;
}
@media (max-width: 800px) {
  .header__background3 .tree {
    display: none;
  }
}

.menu {
  width: 100%;
  padding: 1.625rem;
}
.menu__wrapper {
  width: 87%;
  margin: auto;
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding-bottom: 0.625rem;
}
@media (max-width: 800px) {
  .menu__wrapper {
    width: 100%;
  }
}
.menu__img {
  width: 7.25rem;
  cursor: pointer;
  transition: all 0.5s ease-out;
}
.menu__img:hover {
  transform: scale(1.1);
}
.menu__ul {
  display: flex;
  flex-flow: row nowrap;
  justify-content: center;
  align-items: center;
  gap: 2em;
}
.menu__li {
  font-family: Pixellari;
  font-size: 1.1rem;
  font-weight: 500;
  color: white;
  text-shadow: 1px 2px 2px black;
  transition: all 0.5s ease;
  position: relative;
  top: -200px;
  text-transform: uppercase;
  z-index: 4;
  cursor: pointer;
}
.menu__li--img {
  position: relative;
  top: -42px;
  left: 0;
}
.menu__li a {
  padding: 0.625rem;
}
.menu__li.active {
  text-shadow: 0px 0px 1px yellow;
  transform: translateY(1rem);
}
@media (max-width: 800px) {
  .menu__li {
    display: none;
  }
}
.menu__linea {
  width: 100%;
  height: 0.0625rem;
  background-color: rgb(100, 100, 100);
  transform: scaleX(0);
  transform-origin: right;
  transition: all 0.5s ease-out;
}
.menu__linea2 {
  width: 100%;
  height: 0.0625rem;
  background-color: rgb(100, 100, 100);
  transform: scaleX(0);
  transform-origin: left;
  transition: all 0.5s ease-out;
}
.menu__txt {
  position: absolute;
  top: 37%;
  left: 15%;
  text-align: center;
}
.menu__txt2 {
  position: absolute;
  top: 37%;
  left: 26%;
  text-align: center;
}
.menu__ham {
  display: flex;
  flex-flow: column nowrap;
  gap: 0.5em;
  cursor: pointer;
  display: none;
  position: relative;
  top: 0;
  right: 0;
  z-index: 5;
}
@media (max-width: 800px) {
  .menu__ham {
    display: block;
  }
}
.menu__ham.active {
  position: fixed;
  top: 1.6rem;
  right: 1.6rem;
}
.menu__img2, .menu__img3 {
  width: 3.5rem;
  display: none;
}
.menu__img2.active, .menu__img3.active {
  display: block;
}

.iconoinicio {
  width: 6rem;
  position: fixed;
  bottom: 3rem;
  right: 0;
  z-index: 4;
}
.iconoinicio__img {
  width: 100%;
}

.cookies {
  width: 30rem;
  position: fixed;
  bottom: 1rem;
  left: 5rem;
  z-index: 4;
  transition: all 0.5s ease;
  opacity: 0;
}
@media (max-width: 600px) {
  .cookies {
    display: none;
  }
}
.cookies__cont {
  padding: 1rem 1.5rem;
  position: absolute;
  top: 0;
  left: 0;
}
.cookies__h2 {
  font-family: Pixellari;
  font-size: 2rem;
  color: #a5741c;
  text-shadow: 1px 2px 1px black;
  text-align: center;
  text-transform: uppercase;
}
.cookies__p {
  font-family: Pixellari;
  font-size: 1rem;
  color: white;
  text-shadow: 1px 2px 1px black;
}
.cookies__botones {
  display: flex;
  justify-content: center;
  text-align: center;
  gap: 1em;
}
.cookies__btn {
  font-family: Pixellari;
  font-size: 1rem;
  padding: 0.75rem 1.525rem;
  background-image: url(../assets/titleframe.png);
  background-size: contain;
  background-position: center;
  background-repeat: no-repeat;
  color: white;
  text-shadow: 1px 2px 1px black;
  transition: all 0.3s ease;
}
.cookies__btn:hover {
  transform: scale(1.1);
}
.cookies__galleta {
  width: 5rem;
  position: absolute;
  top: -2rem;
  right: -1rem;
}
.cookies.oculto {
  bottom: -15rem;
}

.hamburguesa {
  width: 100%;
  height: 100vh;
  background-color: rgba(0, 0, 0, 0.425);
  position: fixed;
  z-index: 4;
  top: 0;
  right: -100%;
  transition: all 0.5s ease;
}
.hamburguesa.active {
  right: 0;
}
.hamburguesa__cont {
  width: 30%;
  height: 100%;
  display: flex;
  flex-flow: column nowrap;
  gap: 0.5em;
  position: absolute;
  top: 7rem;
  right: 0;
  padding-right: 0.5rem;
}

.avatar {
  width: 100%;
  height: 78vh;
  position: relative;
  z-index: 3;
}
.avatar__wrapper {
  width: 90%;
  max-width: 60rem;
  height: 100%;
  margin: auto;
}
.avatar__cont {
  position: relative;
  top: -5rem;
  right: 10rem;
  height: 43.75rem;
  display: flex;
  justify-content: center;
  align-items: center;
  transform: scale(1.2);
}
@media (min-width: 1980px) {
  .avatar__cont {
    transform: scale(1.5);
    top: 5rem;
  }
}
@media (max-width: 600px) {
  .avatar__cont {
    top: 0;
    right: 0;
    height: auto;
    transform: scale(1);
  }
}
.avatar__bubble {
  width: 550px;
  position: relative;
  top: -7rem;
  right: -12.125rem;
  display: none;
}
@media (max-width: 600px) {
  .avatar__bubble {
    display: none;
  }
}
.avatar__bubble--img {
  width: 100%;
  right: 1.25rem;
  bottom: 47%;
}
.avatar__bubble.active {
  display: block;
}
@media (max-width: 800px) {
  .avatar__bubble.active {
    right: 0;
  }
}
.avatar__image {
  width: 20%;
  height: 36rem;
  position: relative;
  top: 10%;
  right: -5%;
}
@media (max-width: 600px) {
  .avatar__image {
    width: 80%;
    top: 0;
    right: 0;
  }
}
.avatar__tab {
  width: 7rem;
  position: relative;
  top: 39%;
  left: 157px;
  transition: all 0.4s ease-in;
  cursor: pointer;
}
@media (max-width: 800px) {
  .avatar__tab {
    display: none;
  }
}
.avatar__tab:nth-child(2) {
  top: 50%;
}
.avatar__tab:nth-child(3) {
  top: 61%;
}
.avatar__tab.active {
  transform: rotate(-15deg);
  transform-origin: left;
}
.avatar__tab:hover {
  transform: scale(1.05);
}
.avatar__tab.active .avatar__h2 {
  color: rgb(255, 255, 100);
  text-shadow: 1px 2px 2px black;
}
.avatar__h2 {
  font-family: Pixellari;
  color: white;
  text-shadow: 1px 2px 2px black;
  position: absolute;
  bottom: -38px;
  left: 30%;
}
.avatar__h2.move {
  left: 25%;
}
.avatar__img {
  width: 10.5rem;
  position: absolute;
  top: 40%;
  left: 0;
}
.avatar__img:nth-child(9) {
  width: 10rem;
  top: 36.73%;
  left: 1%;
  opacity: 1;
}
.avatar__img:nth-child(10) {
  width: 7.1rem;
  top: 39.3%;
  left: 13%;
}
@media (max-width: 600px) {
  .avatar__img:nth-child(10) {
    display: none;
  }
}
.avatar__redes {
  width: 3.5rem;
  position: absolute;
  top: 43%;
  left: -3.7rem;
  transition: all 0.3s ease;
}
.avatar__redes.github {
  top: 54%;
}
.avatar__redes.email {
  top: 65%;
}
.avatar__redes:hover {
  transform: scale(1.05);
}
.avatar__hud {
  width: 9rem;
  position: absolute;
  top: 40%;
  left: 4%;
}
@media (max-width: 800px) {
  .avatar__hud {
    left: 0;
    top: 40%;
  }
}
.avatar__tap {
  position: absolute;
  top: -7rem;
  left: 45%;
  display: flex;
  flex-flow: column nowrap;
  margin-bottom: 1.625rem;
  gap: 0.5em;
  z-index: 3;
  cursor: pointer;
}
@media (max-width: 800px) {
  .avatar__tap {
    left: 25vw;
  }
}
.avatar__tap .avatar__taph2 {
  font-family: Pixellari;
  font-size: 1.1rem;
  color: white;
  text-shadow: 1px 2px 1px black;
  text-align: center;
  opacity: 0;
}
.avatar__tap .avatar__tapimg {
  width: 2rem;
  margin: auto;
  opacity: 0;
}

.centrar {
  left: 22%;
}

.line-1 {
  font-family: Pixellari;
  position: absolute;
  top: 20%;
  left: 6%;
  width: 24em;
  margin: 0 auto;
  border-right: 2px solid rgba(0, 0, 0, 0.75);
  font-size: 1.25rem;
  text-align: center;
  white-space: nowrap;
  overflow: hidden;
  transform: translateY(-50%);
}

#typedtext, #typedtext2, #typedtext3 {
  font-family: Pixellari;
  font-size: 1.4rem;
  position: absolute;
  top: 19%;
  left: 6%;
  opacity: 0;
}
@media (max-width: 800px) {
  #typedtext, #typedtext2, #typedtext3 {
    top: 15%;
    font-size: 0.8rem;
  }
}

.blue-text {
  color: rgb(0, 180, 180);
}

.red-text {
  color: crimson;
}

.orange-text {
  color: orange;
}

.pink-text {
  color: rgb(255, 138, 157);
}

.darkblue-text {
  color: darkblue;
}

.separador {
  width: 100%;
  background: rgb(20, 20, 20);
  background: linear-gradient(0deg, rgb(20, 20, 20) 0%, rgb(118, 61, 87) 42%);
  position: relative;
  padding-bottom: 10rem;
}
.separador__img {
  width: 100%;
  position: relative;
  top: -2.5rem;
}
.separador__img:nth-of-type(2) {
  top: 11rem;
}
.separador__titulo {
  width: 90%;
  margin: auto;
  position: relative;
}
.separador__tituloh2 {
  font-family: Pixellari;
  font-size: 5rem;
  color: white;
  text-shadow: 1px 2px 1px black;
  text-align: center;
}
.separador__tituloh3 {
  font-family: Pixellari;
  font-size: 1.2rem;
  color: white;
  text-shadow: 1px 2px 1px black;
  text-align: center;
  padding-bottom: 6.5rem;
}
.separador__contselector {
  width: 100%;
  position: absolute;
  top: -6rem;
  left: 0;
  opacity: 0;
  transition: all 0.2s ease;
}
.separador__selector {
  width: 5rem;
  transform: rotate(90deg);
  margin: auto;
}
.separador__linea {
  width: 30%;
  height: 3px;
  background-color: white;
  margin: auto;
  margin-bottom: 1.875rem;
}
.separador__tecno {
  width: 90%;
  margin: auto;
  margin-bottom: 3rem;
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 1em;
}
.separador__tecnoimg {
  width: 5%;
}
.separador__wrapper {
  width: 90%;
  display: flex;
  flex-flow: row wrap;
  justify-content: space-between;
  align-items: center;
  margin: auto;
  position: relative;
}
@media (max-width: 50rem) {
  .separador__wrapper {
    gap: 2em;
  }
}
@media (max-width: 600px) {
  .separador__wrapper {
    gap: 7em;
  }
}
.separador__marco {
  flex-basis: 30%;
  position: relative;
  z-index: 2;
  transition: all 0.5s ease;
  background-color: black;
}
@media (max-width: 50rem) {
  .separador__marco {
    flex-basis: 100%;
  }
}
.separador__marco.active .separador__imgprev {
  transform: scale(1.1);
  filter: brightness(100%);
}
.separador__marco.active .separador__cartel {
  top: 35%;
}
.separador__marco.active .separador__marcoimg {
  transform: scale(1.08);
}
.separador__marco.active .separador__contecno {
  bottom: -11rem;
  opacity: 1;
}
.separador__marco.active .separador__contselector {
  opacity: 1;
}
.separador__marcoimg {
  width: 100%;
  position: relative;
  transition: all 0.5s ease;
}
.separador__imgprev {
  width: 96%;
  position: absolute;
  top: 11%;
  left: 2%;
  -o-object-fit: fill;
     object-fit: fill;
  transform: scale(1.04);
  transition: all 0.5s ease;
  filter: brightness(50%);
}
.separador__cartel {
  width: 25%;
  margin: auto;
  position: absolute;
  top: -5%;
  left: 37%;
  transition: all 0.5s ease;
}
.separador__title {
  width: 100%;
  position: relative;
}
.separador__titleimg {
  width: 100%;
}
.separador__titleh2 {
  font-family: Pixellari;
  color: white;
  font-size: 1.2rem;
  text-shadow: 1px 2px 1px black;
  text-align: center;
  position: absolute;
  top: 19%;
  left: 3%;
}
.separador__contecno {
  width: 60%;
  background-color: transparent;
  position: absolute;
  bottom: 0;
  left: 20%;
  opacity: 0;
  transition: all 0.3s ease;
}
@media (max-width: 600px) {
  .separador__contecno {
    bottom: -7.5rem;
    opacity: 1;
  }
}
.separador__contenedormarco {
  background-color: black;
  position: relative;
}

.footer {
  width: 100%;
  background-image: url(../assets/fondocueva.png);
  background-size: cover;
}
.footer__wrapper {
  width: 90%;
  height: 100%;
  margin: auto;
  display: flex;
  flex-flow: column nowrap;
  justify-content: center;
  align-items: center;
}
.footer__cont {
  width: 100%;
  margin: auto;
  padding-top: 4.25rem;
  display: flex;
  flex-flow: row wrap;
  justify-content: space-between;
  align-items: center;
  gap: 3em;
}
.footer__contacto {
  font-family: Pixellari;
  font-size: 4rem;
  color: white;
  text-shadow: 1px 2px 1px black;
  text-align: center;
  position: absolute;
  top: 42%;
  left: 20%;
}
.footer__form {
  width: 35%;
  margin: auto;
  position: relative;
}
.footer__form .linea {
  width: 100%;
  height: 2px;
  background-color: white;
}
@media (max-width: 600px) {
  .footer__form {
    width: 100%;
  }
}
.footer__cartel {
  width: 100%;
  position: relative;
  margin: auto;
  margin-bottom: 1.25rem;
}
.footer__contactoimg {
  width: 80%;
  margin: auto;
}
.footer__contactoimg2 {
  width: 30%;
  position: absolute;
  bottom: 0;
  left: -1rem;
  transform: rotate(20deg);
}
.footer__formimg {
  width: 6rem;
  position: absolute;
  bottom: 0;
  right: 0;
}
.footer__btn {
  width: 100%;
  margin: 1.25rem 0;
  position: relative;
  left: -5%;
  display: flex;
  justify-content: center;
  text-align: center;
}
.footer__btnimg {
  width: 8%;
  opacity: 0;
  transition: all 0.3s ease;
}
.footer__btnimg.active {
  opacity: 1;
}
.footer__boton:hover {
  transform: scale(1.1);
}
.footer__mailcontainer {
  width: 28%;
}
@media (max-width: 800px) {
  .footer__mailcontainer {
    width: 100%;
  }
}
@media (max-width: 460px) {
  .footer__mailcontainer {
    width: 100%;
  }
}
.footer__mail {
  width: 30rem;
  position: relative;
}
.footer__mail--h2 {
  font-family: Pixellari;
  font-size: 2.5rem;
  color: black;
  text-shadow: 1px 2px 1px gray;
  position: relative;
  width: 100%;
  height: 100%;
  left: 0;
  transform: scale(0.8);
}
@media (max-width: 460px) {
  .footer__mail--h2 {
    font-size: 1.8rem;
  }
}
.footer__mail .linea {
  width: 80%;
  height: 0.0625rem;
  background-color: white;
  margin: auto;
  margin-top: 0.3125rem;
}
@media (max-width: 600px) {
  .footer__mail {
    width: 100%;
  }
}
.footer__papel {
  width: 100%;
  position: absolute;
  top: 0;
  left: 0;
}
.footer__pin {
  width: 5rem;
  position: absolute;
  top: -2rem;
  right: 0rem;
}
.footer__piedra {
  position: relative;
  z-index: 2;
}
.footer__piedra--img {
  width: 12rem;
  position: absolute;
  top: -1rem;
  left: 0;
  z-index: 0;
}
.footer__mailcont {
  padding-top: 2.5rem;
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 0.5em;
}
@media (max-width: 460px) {
  .footer__mailcont {
    padding-top: 1.5rem;
  }
}
.footer__mailimg {
  width: 3rem;
  position: relative;
}
.footer__mailp {
  font-family: Pixellari;
  font-size: 1.4rem;
  color: black;
  line-height: 1.5rem;
  position: relative;
  padding: 1rem 1.5rem;
}
@media (max-width: 460px) {
  .footer__mailp {
    font-size: 0.9rem;
    line-height: 1.125rem;
  }
}
.footer__mochila {
  width: 6rem;
  position: absolute;
  bottom: 0;
  right: 5.5rem;
}
@media (max-width: 600px) {
  .footer__mochila {
    bottom: -1rem;
    right: 4rem;
  }
}
.footer__correo {
  width: 28%;
}
@media (max-width: 600px) {
  .footer__correo {
    width: 100%;
  }
}
.footer__correocont {
  width: 100%;
  display: flex;
  flex-flow: column nowrap;
  justify-content: flex-start;
  align-items: flex-end;
}
.footer__correocont--h2 {
  font-family: Pixellari;
  font-size: 2rem;
  color: white;
  text-shadow: 1px 2px 1px black;
}
.footer__correocont--img {
  width: 10rem;
}
.footer__correocont--img.oculto {
  opacity: 0;
  transition: all 0.3s ease;
}
.footer__correocont2 {
  display: flex;
  flex-flow: row nowrap;
  justify-content: center;
  text-align: center;
  gap: 1em;
}
.footer__correocont2:hover .footer__correocont--img.oculto {
  opacity: 1;
}
.footer label {
  font-family: Pixellari;
  font-size: 1.2rem;
  color: white;
  text-shadow: 1px 2px 1px black;
  padding: 1rem 0;
}
.footer input {
  width: 100%;
  font-family: Pixellari;
  font-size: 1rem;
  padding: 1rem 0.5rem;
  color: rgb(255, 255, 255);
  background-color: rgba(0, 0, 0, 0.479);
}
.footer textarea {
  width: 100%;
  height: 5rem;
  font-family: Pixellari;
  font-size: 1rem;
  color: rgb(255, 255, 255);
  background-color: rgba(0, 0, 0, 0.479);
  padding: 0.5rem;
}
.footer button {
  font-family: Pixellari;
  font-size: 1rem;
  padding: 0.75rem 1.125rem;
  background-image: url(../assets/titleframe.png);
  background-size: contain;
  background-repeat: no-repeat;
  background-position: center;
  color: white;
  text-shadow: 1px 2px 1px black;
  cursor: pointer;
  transition: all 0.3s ease;
}/*# sourceMappingURL=index.css.map */