:root {
  --body-color: rgb(16, 25, 33);
  --h1-color: #ffe5ae;
}

body {
  margin: 0px 100px 100px;
  background-color: var(--body-color);
  box-sizing: border-box;
}
/* ----------------------------------------------------- */
header {
  position: sticky;
  top: 0;
  z-index: 1000;
  display: flex;
  justify-content: space-between;
  align-items: center;

  background-color: rgb(16, 25, 33);
  color: var(--h1-color);
  padding: 10px 20px;

  box-shadow: 0px 9px 20px 0px rgb(0 0 0);
}
nav {
  display: flex;
  align-items: center;
  justify-content: space-around;
}
nav a {
  color: var(--h1-color);
  text-decoration: none;

  padding: 5px;
  margin: 5px;
}
.btn-menu {
  display: none;
}
.ul-opciones {
  margin: 5px;
  padding: 5px;
  display: block;
}
.ul-opciones li {
  display: none;
}
/*---------------------------------------------------------------- */
.hero {
  position: relative;
  display: flex;
  justify-content: space-between;
  padding: 60px 100px 100px 100px;
  background-color: #101921;
  overflow: hidden;
}
#tsparticles {
  position: absolute;
  width: 100%;
  height: 100%;
  top: 0;
  left: 0;
  z-index: 0;
}
.hero-text {
  position: relative;
  z-index: 1;
}
h1 {
  font-size: 80px;
  text-shadow: -1px -1px 0 rgb(16, 25, 33);
  text-shadow: 12px 7px 15px rgb(16, 25, 33);

  color: var(--h1-color);
}
.span-h1 {
  font-size: 30px;
  text-shadow: none;

  color: #ffffff;
}
h2 {
  display: inline-block;

  color: var(--h1-color);
}
/* animacion de cursor que parpadea------------------------ */
h2::after {
  content: "█";
  margin-left: 4px;
  color: var(--h1-color);
  .text-hero {
    max-width: 350px;

    color: var(--h1-color);
  }
  animation: cursorTitila 0.8s steps(2, start) infinite;
}
@keyframes cursorTitila {
  to {
    visibility: hidden;
  }
}
/* ----------------------------------------------------------- */
.text-hero {
  max-width: 350px;

  color: var(--h1-color);
}
.text-hero {
  color: #ffffff;
  background-color: #101921;
}
.btn-hero {
  display: flex;
  align-items: center;
  flex-direction: row;
  position: relative;
  z-index: 1;
}
.btn-CV {
  padding: 14px;

  color: black;
  box-shadow: -1px -1px 0 rgb(16, 25, 33);
  background-color: var(--h1-color);

  text-decoration: none;
}
.btn-github {
  padding: 14px;
  margin-left: 10px;

  color: black;
  box-shadow: -1px -1px 0 rgb(16, 25, 33);
  background-color: var(--h1-color);

  text-decoration: none;
}
.div-img-llaves {
  position: relative;
  align-items: center;
  display: flex;
  justify-content: center;
  align-items: center;
}
#llaves {
  position: absolute;
  user-select: none;
  transition: all 0.3s ease;

  font-size: 18rem;
  /* font-weight: bold; */
  color: rgb(255, 255, 255);
  font-family: heebo, sans-serif;
}
.llave-atras {
  rotate: 110deg;
  top: -45px;
  right: 40px;
  animation: llavesFlotan 2s ease-in-out infinite;
}
.mi-foto {
  max-width: 300px;
  max-height: 300px;
  position: relative;
  z-index: 1;
  left: -26px;
  top: 8px;
  filter: drop-shadow(15px 0px 10px rgb(16, 25, 33));
}
.llave-delante {
  right: 75px;
  top: 210px;
  z-index: 2;
  rotate: 90deg;
  text-shadow: -6px -2px 20px rgb(16, 25, 33);
  animation: llavesFlotan 4s ease-in-out infinite;
}
/* animacion de llaves-------------------- */
@keyframes llavesFlotan {
  0% {
    transform: translateX(0px);
  }
  50% {
    transform: translateX(5px);
  }
  100% {
    transform: translateX(0px);
  }
}
/* Seccion de proyectos--------------------------------------- */
.proyectos {
  padding: 30px 100px 100px 100px;
}
h3 {
  color: var(--h1-color);
}
.p-cards {
  max-width: 350px;

  color: #ffffff;
}
.card {
  display: flex;
  flex-direction: column;

  justify-content: center;

  padding: 20px;
  margin-bottom: 20px;

  border: solid 1px rgb(255, 255, 255);
  background-color: rgb(16, 25, 33);
  box-shadow: -1px -1px 0 rgb(16, 25, 33);
}
.card-header {
  display: flex;
  justify-content: space-between;
  align-items: center;
}
.p-img {
  display: flex;
}
.div-img-card {
  position: relative;
  min-width: 150px;
  display: flex;
  justify-content: flex-start;
  margin: 20px;
}
.img-card-grande {
  position: absolute;
  height: 210px;
  right: -350px;
  width: 380px;

  filter: drop-shadow(12px 4px 6px black);
}
.img-card-chica {
  position: absolute;
  min-height: 200px;
  max-width: 100px;
  right: -400px;
  bottom: -100px;

  filter: drop-shadow(12px 4px 6px black);
  transform: perspective(600px) rotateY(322deg) rotateX(24deg);
  transform-origin: bottom left;
}
#img-chica-derly {
  bottom: -140px;
}
.tecnologias-usadas {
  display: flex;
  flex-direction: column;
  justify-content: flex-start;

  flex-wrap: wrap;
  /* gap: 10px; */
}
.icons-tecnologias {
  display: flex;
  flex-direction: row;
  justify-content: flex-start;

  flex-wrap: wrap;
  gap: 10px;
}
.p-icon {
  display: flex;
  flex-direction: column;
  align-items: center;

  color: #ffffff;
}
.svg-icon {
  fill: var(--h1-color);
}
.tec-vermas {
  display: flex;
  align-items: center;
  justify-content: space-between;
}
.details-vermas {
  color: var(--h1-color);
  text-decoration: none;
  cursor: pointer;

  display: flex;
  align-items: flex-end;
  flex-direction: column;
}
.summary-vermas {
  color: var(--body-color);
  background-color: var(--h1-color);
  text-decoration: none;
  user-select: none;
  list-style: none;

  padding: 5px;
  width: fit-content;
  display: block;
  margin-bottom: 10px;
  margin-top: 10px;
}
summary::-webkit-details-marker {
  display: none;
}
.p-summary {
  color: #ffffff;
}
/* sobre mi ---------------------------------*/
#sobre-mi {
  padding: 30px 100px 100px 100px;
}
h3 {
  max-width: 450px;
}
strong {
  color: var(--h1-color);
}
.div-ps-sobremi {
  display: flex;
  justify-content: center;
  align-items: baseline;
}
.contenedor-p-sobremi {
  display: flex;
  flex-direction: column;
  justify-content: center;

  max-width: 450px;
  margin: 20px;
}
.p-sobremi {
  max-width: 450px;

  color: #ffffff;
}
.div-padre-cinta {
  display: flex;
  justify-content: center;
}
.contenedor-cinta-stack {
  overflow: hiden;
  width: 60%;
  position: relative;
  padding: 30px 0px;

  mask-image: linear-gradient(
    to right,
    transparent,
    black 10%,
    black 90%,
    transparent
  );
  -webkit-mask-image: linear-gradient(
    to right,
    transparent,
    black 10%,
    black 90%,
    transparent
  );
}
.cinta-stack {
  display: flex;
  flex-shrink: 0;
  width: max-content;
  justify-content: space-between;

  padding: 10px 0px;
  gap: 50px;
  padding-right: 50px;

  animation: cintaStack 20s linear infinite;
}
@keyframes cintaStack {
  0% {
    transform: translateX(0%);
  }
  100% {
    transform: translateX(-50%);
  }
}
/* ----------------------------------------------------------------- */
footer {
  border-top: solid 1px rgb(255, 255, 255);
  background-color: rgb(16, 25, 33);
  color: var(--h1-color);
}
.footer-container {
  display: flex;
  justify-content: space-between;
  align-items: center;
  justify-content: center;

  padding: 10px 20px;
}
/* ---------------------------------------------------------------------- */
@media screen and (max-width: 768px) {
  body {
    margin: 0px;
  }

  /* header------------------------------------------------------- */
  .ul-opciones {
    display: none;
  }
  /* hero-------------------------------------------------------------- */
  .hero {
    padding: 60px 20px 100px 20px;
  }
  .tsparticles {
    z-index: 0;
  }
  .hero-text {
    position: relative;
    z-index: 2;
  }
  .btn-hero {
    display: flex;
    align-items: stretch;
  }
  .div-img-llaves {
    z-index: 1;
  }
  .llave-delante {
    top: 207px;
    z-index: 2;
    rotate: 90deg;
    text-shadow: -6px -2px 50px rgb(16, 25, 33);
    animation: llavesFlotan 4s ease-in-out infinite;
  }
  .llave-atras {
    top: -38px;
  }

  .mi-foto {
    top: -75px;
  }
  .btn-github {
    display: flex;
    align-items: center;
  }
  /* proyectos----------------------------------- */
  .proyectos {
    padding: 30px 20px 100px 20px;
  }
  .card {
    overflow: hidden;
  }
  .p-cards {
    margin: 0px;
  }
  #p-tec-usadas {
    margin-top: 20px;
  }
  .p-img {
    display: flex;
    flex-direction: column;
  }
  .div-img-card {
    position: relative;
    min-width: 150px;
    min-height: 200px;
    display: flex;
    justify-content: flex-start;
  }
  .img-card-grande {
    width: 320px;
    height: 170px;
    right: -15px;

    filter: drop-shadow(12px 4px 6px black);
  }
  .img-card-chica {
    position: absolute;
    min-height: 200px;
    right: -11px;
    bottom: -40px;

    filter: drop-shadow(12px 4px 6px black);
    transform: perspective(600px) rotateY(322deg) rotateX(24deg);
    transform-origin: bottom left;
  }
  #img-chica-derly {
    bottom: -50px;
  }
  .tec-vermas {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
  }
  .details-vermas {
    margin-top: 20px;
  }

  /* sobre mi----------------------------------- */
  #sobre-mi {
    padding: 30px 20px 100px 20px;
  }
  .cinta-stack {
    display: flex;
    flex-direction: row;
    justify-content: space-between;

    padding: 10px 20px;
  }
}
