pre code.hljs {
  display: block;
  overflow-x: auto;
  padding: 1em
}
code.hljs {
  padding: 3px 5px
}
/* Tomorrow Night Blue Theme */
/* http://jmblog.github.com/color-themes-for-google-code-highlightjs */
/* Original theme - https://github.com/chriskempson/tomorrow-theme */
/* http://jmblog.github.com/color-themes-for-google-code-highlightjs */
/* Tomorrow Comment */
.hljs-comment,
.hljs-quote {
  color: #7285b7
}
/* Tomorrow Red */
.hljs-variable,
.hljs-template-variable,
.hljs-tag,
.hljs-name,
.hljs-selector-id,
.hljs-selector-class,
.hljs-regexp,
.hljs-deletion {
  color: #ff9da4
}
/* Tomorrow Orange */
.hljs-number,
.hljs-built_in,
.hljs-literal,
.hljs-type,
.hljs-params,
.hljs-meta,
.hljs-link {
  color: #ffc58f
}
/* Tomorrow Yellow */
.hljs-attribute {
  color: #ffeead
}
/* Tomorrow Green */
.hljs-string,
.hljs-symbol,
.hljs-bullet,
.hljs-addition {
  color: #d1f1a9
}
/* Tomorrow Blue */
.hljs-title,
.hljs-section {
  color: #bbdaff
}
/* Tomorrow Purple */
.hljs-keyword,
.hljs-selector-tag {
  color: #ebbbff
}
.hljs {
  background: #002451;
  color: white
}
.hljs-emphasis {
  font-style: italic
}
.hljs-strong {
  font-weight: bold
}
.card {
  border-radius: 20px;
  position: relative;
  max-width: 500px;
  width: 100%;
  overflow: hidden;
  border: 1px solid rgba(70, 70, 70, 0.1);
  transition: 0.4s;
  max-height: 350px;
}

.cardx:hover {
  transform: scale(1.05);
  box-shadow: 0 0 10px rgba(0, 0, 0, 0.5);
}

.card-img {
  border-radius: 20px 20px 0 0;
  width: 100%;
  object-fit: cover;
  height: 100%;
  pointer-events: none;
}

.card-text {
  position: absolute;
  bottom: 0;
  left: 0;
  width: 100%;
  padding: 20px;
  text-align: center;
  backdrop-filter: blur(20px);
  cursor: pointer;
  transition: 0.4s;
  border-top: 1px solid #110101;
}
.card-text-container {
  width: 100%;
  position: relative;
}

.card-text::before {
  content: "";
  position: absolute;
  width: 40px;
  height: 100%;
  background: red;
  top: 0;
  right: -100%;
  transition: 0.4s;
}

.card-text::after {
  content: "";
  position: absolute;
  width: 40px;
  height: 100%;
  background: red;
  top: 0px;
  left: -100%;
  transition: 0.4s;
}

.card-text:hover::before {
  right: -30px;
}

.card-text:hover::after {
  left: -30px;
}

.card-text:hover {
  box-shadow: 0 0 10px rgba(0, 0, 0, 0.5);
}

.card-details {
  position: absolute;
  left: 0;
  top: 35px;
  padding: 20px;
  display: flex;
  flex-direction: column;
  justify-content: space-around;
  align-items: start;
  backdrop-filter: blur(20px);
  background: rgba(0, 7, 117, 0.4);

  width: 100%;
}

.cardImage {
  display: flex;
  flex-direction: column;
  max-width: 400px;
  background-color: hsl(240, 4.6%, 22%);
  border-radius: 0.45rem;
  overflow: hidden;
  margin: 1rem;
}

.cardImage-img {
  max-width: 100%;
}

.cardImage-description {
  padding: 25px;
}

@media (max-width: 340px) {
  .card-details {
    top: 0;
    padding: 0;
  }
  .card-text {
    height: 100%;
    display: flex;
    justify-content: center;
    align-items: center;
  }
}
.card-details__text {
  color: #fff;
  font-weight: 700;
}

.card-details__item {
  display: flex;
  flex-direction: row;
  justify-content: flex-start;
  align-items: center;
  width: 100%;
}
.card-details__tags {
  display: grid;
  gap: 7px;
  grid-template-columns: repeat(
    auto-fill,
    minmax(clamp(50px, 120px, 160px), 1fr)
  );
  grid-template-rows: 1fr;
  width: 100%;
}

.blog {
  padding: 15px;
  height: 100%;
}
.blog-cards {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(400px, 1fr));
  grid-gap: 15px;
  max-height: 88vh;
  overflow: scroll;
}
@media (max-width: 1199px) {
  .blog-cards {
    grid-template-columns: repeat(auto-fill, minmax(200px, 1fr));
    max-height: 88vh;
    overflow-y: scroll;
    height: auto;
  }
}

.widget-blog {
  position: absolute;
  width: 90%;
  height: 90%;
  top: 3%;
  left: 3%;
  backdrop-filter: blur(20px);
  background: rgba(250, 250, 250, 0.8);
  border-radius: 25px;
  padding: 25px;
}

.widget-project {
  width: 100%;
  height: 100%;
  position: absolute;
  background: #1b1b32;
  overflow-y: scroll;
  top: 0px;
  left: 0;
  font:
    1.25rem -apple-system,
    BlinkMacSystemFont,
    "Segoe UI",
    Roboto,
    Helvetica,
    Arial,
    sans-serif,
    "Apple Color Emoji",
    "Segoe UI Emoji",
    "Segoe UI Symbol";
  line-height: 1.5;
  font-size: 1.25rem !important;
}

.widget-project__header {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 10px;
  flex-direction: column;
  gap: 20px;
}
.widget-project__cover {
  width: clamp(30px, 90%, 600px);
  max-height: 600px;
  border-radius: 30px;
}
.widget-project__title {
  color: #fff;
  font-size: 45px;
}
.widget-project__content {
  padding: 10px;
  color: #eee;
  padding-bottom: 80px;
  overflow-x: scroll;
}

.widget-project__content a {
  color: #17f;
}

.widget-project__footer {
  position: sticky;
  bottom: 60px;
  display: flex;
  width: 100%;
  justify-content: space-evenly;
  backdrop-filter: blur(20px);
}
.widget-project__button-close {
  background: transparent;
  position: relative;
  padding: 5px 15px;
  display: flex;
  align-items: center;
  font-size: 17px;
  font-weight: 600;
  text-decoration: none;
  cursor: pointer;
  border: 1px solid rgb(255, 0, 0);
  border-radius: 25px;
  outline: none;
  overflow: hidden;
  color: rgb(255, 0, 0);
  transition: color 0.3s 0.1s ease-out;
  text-align: center;
}

.widget-project__button-close span {
  margin: 10px;
}

.widget-project__button-close::before {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  margin: auto;
  content: "";
  border-radius: 50%;
  display: block;
  width: 20em;
  height: 20em;
  left: -5em;
  text-align: center;
  transition: box-shadow 0.5s ease-out;
  z-index: -1;
}

.widget-project__button-close:hover {
  color: #fff;
  border: 1px solid rgb(255, 0, 0);
}

.widget-project__button-close:hover::before {
  box-shadow: inset 0 0 0 10em rgb(255, 0, 0);
}

.widget-project__button-share {
  cursor: pointer;
  font-size: 1em;
  width: 7em;
  aspect-ratio: 1/0.25;
  color: white;
  background: #212121;
  background-size: cover;
  background-blend-mode: overlay;
  border-radius: 0.5em;
  outline: 0.1em solid #353535;
  border: 0;
  box-shadow: 0 0 1em 1em rgba(0, 0, 0, 0.1);
  transition: all 0.3s ease-in-out;
  position: relative;
}

.widget-project__button-share:hover {
  transform: scale(1.1);
  box-shadow: 0 0 1em 0.45em rgba(0, 0, 0, 0.1);
  background: linear-gradient(45deg, #212121, #252525);
  background: radial-gradient(
    circle at bottom,
    rgba(50, 100, 180, 0.5) 10%,
    #212121 70%
  );
  outline: 0;
}

.icon {
  fill: white;
  width: 1em;
  aspect-ratio: 1;
  top: 0;
  left: 0;
  margin: auto;
  transform: translate(-35%, 10%);
}

.loader__circle-container {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  width: fit-content;
}
.loader__circle {
  width: 8px;
  height: 8px;
  position: relative;
  border-radius: 50%;
  background: #fff;
  animation: wave 1s ease-in infinite;
}

@keyframes wave {
  0% {
    box-shadow:
      0 0 0 0px rgba(255, 255, 255, 1),
      0 0 0 20px rgba(255, 255, 255, 0.2),
      0 0 0 40px rgba(255, 255, 255, 0.6),
      0 0 0 60px rgba(255, 255, 255, 0.4),
      0 0 0 80px rgba(255, 255, 255, 0.2);
  }
  100% {
    box-shadow:
      0 0 0 80px rgba(255, 255, 255, 0),
      0 0 0 60px rgba(255, 255, 255, 0.2),
      0 0 0 40px rgba(255, 255, 255, 0.4),
      0 0 0 20px rgba(255, 255, 255, 0.6),
      0 0 0 0px rgba(255, 255, 255, 1);
  }
}

.navbar {
  background: #171b22;
  display: flex;
  flex-direction: column;
  height: 100vh;
  /*justify-content: space-between; */
  max-width: 250px;
  overflow: auto;
  position: fixed;
  width: 100%;
  gap: 45px;
  box-shadow: -3px 2px 21px 4px rgba(32, 30, 41, 1);
}
.navbar-profile__img {
  width: 100%;
  pointer-events: none;
}

.navbar-profile__name {
  color: #fff;
  text-align: center;
}

.navbar-profile__title {
  color: #909090;
  font-size: 88%;
  text-align: center;
}
.navbar-profile__line {
  width: 100%;
  pointer-events: none;
  margin-top: 4rem;
}

.navbar-social {
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 10px;
}

.navbar-menu {
  display: grid;
  grid-template-columns: 1fr;
  gap: 30px;
}

.navbar {
  height: 100%;
  left: -250px;
  position: fixed;
  top: 0;
  transition: left 0.3s ease;
  width: 250px;
  z-index: 499;
}
.navbar.show {
  left: 0;
  -webkit-box-shadow: 7px 0px 20px 8px rgba(0, 0, 0, 0.38);
  -moz-box-shadow: 7px 0px 20px 8px rgba(0, 0, 0, 0.38);
  box-shadow: 7px 0px 20px 8px rgba(0, 0, 0, 0.38);
}

@media (max-width: 340px) {
  .navbar {
    width: 100vw;
    max-width: 100vw;
    height: 100%;
    top: calc(1vh + 50px);
    left: -100%;
  }
}
@media (max-width: 1200px) {
}

.round-icon {
  cursor: pointer;
  display: flex;
  gap: 0.5rem;
  border: none;

  transition: all 0.5s cubic-bezier(0.165, 0.84, 0.44, 1);
  -webkit-backdrop-filter: blur(32px);
  backdrop-filter: blur(32px);
  border-radius: 50px;
  font-weight: 800;
  place-content: center;

  padding: 0.5rem;
  font-size: 0.825rem;
  line-height: 1rem;

  background-color: rgba(255, 255, 255, 0.08);
  box-shadow:
    inset 0 1px 0 0 rgba(255, 255, 255, 0.04),
    inset 0 0 0 1px rgba(255, 255, 255, 0.04);
  color: #fff;
  justify-content: flex-start;
  align-items: center;
  font-size: 20px;
}

.round-icon:hover {
  box-shadow:
    inset 0 1px 0 0 rgba(255, 255, 255, 0.08),
    inset 0 0 0 1px rgba(252, 232, 3, 0.08);
  color: #fce803;
  background-color: rgba(255, 255, 255, 0.16);
}

.button-menu {
  margin: 0;
  height: auto;
  background: transparent;
  padding: 0;
  border: none;
  cursor: pointer;
  width: fit-content;
  padding-left: 35px;
}

/* button styling */
.button-menu {
  --border-right: 6px;
  --text-stroke-color: rgba(255, 255, 255, 0.6);
  --animation-color: #37ff8b;
  --fs-size: 1em;
  text-decoration: none;
  font-size: var(--fs-size);
  font-family: "Arial";
  position: relative;
  text-transform: uppercase;
  color: transparent;
  -webkit-text-stroke: 1px var(--text-stroke-color);
}

.actual-text {
  padding-left: 35px;
}
/* this is the text, when you hover on button */
.hover-text {
  position: absolute;
  box-sizing: border-box;
  content: attr(data-text);
  color: var(--animation-color);
  width: 0%;
  inset: 0;
  border-right: var(--border-right) solid var(--animation-color);
  overflow: hidden;
  transition: 0.5s;
  -webkit-text-stroke: 1px var(--animation-color);
  padding-left: 70px;
}
/* hover */
.button-menu:hover .hover-text {
  width: 100%;
  filter: drop-shadow(0 0 23px var(--animation-color));
}

.button-menu__icon {
  position: absolute;
  color: #fff;
}

/* From Uiverse.io by idesignedthat */
.button-tag {
  position: relative;
  font-size: 14px;
  padding: 6px;
  letter-spacing: 0.06em;
  position: relative;
  font-family: inherit;
  border-radius: 0.6em;
  transition: all 0.3s;
  line-height: 1.4em;
  background-color: #0d6efd;
  color: #fbfbfb;
  box-shadow:
    inset 0 0 10px rgba(243, 78, 22, 0.4),
    0 0 9px 3px rgba(243, 78, 22, 0.1);
  text-overflow: ellipsis;
  cursor: pointer;
}

.button-tag:hover {
  color: #fff;
  box-shadow:
    inset 0 0 10px rgba(243, 78, 22, 0.6),
    0 0 9px 3px rgba(243, 78, 22, 0.2);
}

.button-tag:before {
  content: "";
  position: absolute;
  left: -4em;
  width: 4em;
  height: 100%;
  top: 0;
  transition: transform 0.4s ease-in-out;
  background: linear-gradient(
    to right,
    transparent 1%,
    rgba(243, 78, 22, 0.1) 40%,
    rgba(243, 78, 22, 0.1) 60%,
    transparent 100%
  );
}

.button-tag:hover:before {
  transform: translateX(15em);
}

.button-tag__badge {
  position: absolute;
  top: 0;
  right: 0;
  background-color: #f34e16;
  color: #fff;
  padding: 0.1em 0.5em;
  border-radius: 20px;
  font-size: 0.8em;
  font-weight: 600;
  transform: translate(50%, -50%);
}

.heartContainer {
  cursor: pointer;
  position: relative;
}

.heartContainer .tooltip {
  visibility: hidden;
  width: 120px;
  background-color: #555;
  color: #fff;
  text-align: center;
  border-radius: 6px;
  padding: 5px 0;
  position: absolute;
  z-index: 1;
  bottom: 125%;
  left: 50%;
  margin-left: -60px;
  opacity: 0;
  transition: opacity 0.3s;
}

.heartContainer .tooltip::after {
  content: "";
  position: absolute;
  top: 100%;
  left: 50%;
  margin-left: -5px;
  border-width: 5px;
  border-style: solid;
  border-color: #555 transparent transparent transparent;
}

.heartContainer:hover .tooltip {
  visibility: visible;
  opacity: 1;
}

.heart #line {
  fill: none;
  stroke: #e00000;
  stroke-width: 1.5;
  stroke-linecap: butt;
  stroke-linejoin: round;
  stroke-miterlimit: 4;
  stroke-opacity: 1;
  stroke-dasharray: 1;
  stroke-dashoffset: 1;
  animation: dash 3s linear infinite;
}
.heart #point {
  fill: none;
  stroke: #f00000;
  stroke-width: 5;
  stroke-linecap: round;
  stroke-linejoin: round;
  stroke-miterlimit: 0.1;
  stroke-opacity: 1;
  stroke-dasharray: 0.0001, 0.9999;
  stroke-dashoffset: 1;
  animation: dash 3s linear infinite;
}
@keyframes dash {
  0% {
    stroke-dashoffset: 1;
  }
  80% {
    stroke-dashoffset: 0;
  }
  100% {
    stroke-dashoffset: 0;
  }
}

.page-title {
  text-align: center;
  color: #ffe;
  font-size: 35px;
  font-family: "Soft Compound", sans-serif;
  color: #ffe;
}

.page-subtitle {
  font-family: "Soft Compound", sans-serif;
  color: #ffe;
  margin: 2rem 0 1rem 0;
  padding: 20px;
}

/* RESET */

/* Box sizing rules */
*,
*::before,
*::after {
  box-sizing: border-box;
}

/* Remove default margin */
body,
h2,
p {
  margin: 0;
}

/* GLOBAL STYLES */

.projects {
  padding: 15px;
  height: 100%;
  padding-bottom: 80px;
}

p {
  color: var(--white);
}

.flow > * + * {
  margin-top: var(--flow-space, 1em);
}

/* card-project COMPONENT */

.card-project {
  display: grid;
  place-items: center;
  max-width: 21.875rem;
  height: 28.125rem;
  overflow: hidden;
  border-radius: 0.625rem;
  font-size: 1.3rem;

  -webkit-box-shadow: 1px -9px 25px -1px rgba(55, 255, 139, 0.29);
  -moz-box-shadow: 1px -9px 25px -1px rgba(55, 255, 139, 0.29);
  box-shadow: 1px -9px 25px -1px rgba(55, 255, 139, 0.29);
}

.card-project > * {
  grid-column: 1 / 2;
  grid-row: 1 / 2;
}

.card__background {
  object-fit: cover;
  max-width: 100%;
  height: 100%;
  filter: grayscale(100%);
  transition: filter 500ms ease-in;
  transition: 0.5s;
}

.card__content {
  --flow-space: 0.9375rem;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  align-self: flex-end;
  padding: 12% 1.25rem 1.875rem;
  background: linear-gradient(
    180deg,
    hsla(0, 0%, 0%, 0) 0%,
    hsla(0, 0%, 0%, 0.3) 10%,
    hsl(0, 0%, 0%) 100%
  );
}

.card__content--container {
  --flow-space: 1.25rem;
}

.card__title {
  position: relative;
  width: fit-content;
  width: -moz-fit-content; /* Prefijo necesario para Firefox  */
}

.card__title::after {
  content: "";
  position: absolute;
  height: 0.3125rem;
  width: calc(100% + 1.25rem);
  bottom: calc((1.25rem - 0.5rem) * -1);
  left: -1.25rem;
  background-color: var(--brand-color);
}

.card__button {
  padding: 0.75em 1.6em;
  width: fit-content;
  width: -moz-fit-content; /* Prefijo necesario para Firefox  */
  font-variant: small-caps;
  font-weight: bold;
  border-radius: 0.45em;
  border: none;
  background-color: var(--brand-color);
  font-family: var(--font-title);
  font-size: 1.125rem;
  color: var(--black);
  cursor: pointer;
}

.card__button:focus {
  outline: 2px solid black;
  outline-offset: -5px;
}

.projects-cards {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(350px, 1fr));
  grid-gap: 15px;
  height: 100%;
  overflow-y: scroll;
}

.card__content {
  transform: translateY(62%);
  transition: transform 500ms ease-out;
  transition-delay: 500ms;
}

.card__title::after {
  opacity: 0;
  transform: scaleX(0);
  transition:
    opacity 1000ms ease-in,
    transform 500ms ease-out;
  transition-delay: 500ms;
  transform-origin: right;
}

.card__background {
  transition: transform 500ms ease-in;
}

.card__content--container > :not(.card__title),
.card__button {
  opacity: 0;
  transition:
    transform 500ms ease-out,
    opacity 500ms ease-out;
}
.card-project:hover .card__background {
  filter: grayscale(0%);
}

.card-project:hover,
.card-project:focus-within {
  transform: scale(1.05);
  transition: transform 500ms ease-in;
}

.card-project:hover .card__content,
.card-project:focus-within .card__content {
  transform: translateY(0);
  transition: transform 500ms ease-in;
}

.card-project:focus-within .card__content {
  transition-duration: 0ms;
}

.card-project:hover .card__background,
.card-project:focus-within .card__background {
  transform: scale(1.3);
}

.card-project:hover .card__content--container > :not(.card__title),
.card-project:hover .card__button,
.card-project:focus-within .card__content--container > :not(.card__title),
.card-project:focus-within .card__button {
  opacity: 1;
  transition: opacity 500ms ease-in;
  transition-delay: 1000ms;
}

.card-project:hover .card__title::after,
.card-project:focus-within .card__title::after {
  opacity: 1;
  transform: scaleX(1);
  transform-origin: left;
  transition:
    opacity 500ms ease-in,
    transform 500ms ease-in;
  transition-delay: 500ms;
}

@media (max-width: 1199px) {
  .card__content--container > :not(.card__title),
  .card__button {
    width: 100%;
    opacity: 1;
    transition:
      transform 500ms ease-out,
      opacity 500ms ease-out;
  }
  .projects-cards {
    gap: 40px;
    display: grid;
    grid-template-columns: auto;
    justify-content: center;
    align-items: center;
    flex-direction: column;
    max-height: 88vh;
    overflow-y: scroll;
  }
  .card__background {
    filter: grayscale(0%);
  }
  .card-project:focus-within {
    transform: scale(1.05);
    transition: transform 500ms ease-in;
  }
  .card__content,
  .card-project:focus-within .card__content {
    transform: translateY(0);
    padding: 0 5px;
  }
  .card__background,
  .card-project:focus-within .card__background {
    transform: scale(1.3);
  }
  .card__content--container > :not(.card__title),
  .card-project:focus-within .card__content--container > :not(.card__title),
  .card-project:focus-within .card__button {
    opacity: 1;
    transition: opacity 500ms ease-in;
    transition-delay: 1000ms;
  }
  .card__title::after,
  .card-project:focus-within .card__title::after {
    opacity: 1;
    transform: scaleX(1);
    transform-origin: left;
    transition:
      opacity 500ms ease-in,
      transform 500ms ease-in;
    transition-delay: 500ms;
  }
}

.text__subtitle {
  font-weight: 800;
  color: #fc51e1;
  font-size: 1.5rem;
  margin: 2rem 0 1rem 0;
}

.text__cite {
  color: #cbc700;
}

.view-modal,
.popup {
  position: fixed;
  left: 50%;
  box-shadow: 1px 2px 30px #000;
}
.button-share {
  outline: none;
  cursor: pointer;
  font-weight: 500;
  border-radius: 4px;
  border: 2px solid transparent;
  transition:
    background 0.1s linear,
    border-color 0.1s linear,
    color 0.1s linear;
}
.view-modal {
  top: 50%;
  color: #7d2ae8;
  font-size: 18px;
  padding: 10px 25px;
  background: #fff;
  transform: translate(-50%, -50%);
}
.popup {
  background: #fff;
  padding: 25px;
  border-radius: 15px;
  top: -150%;
  max-width: 380px;
  width: 100%;
  opacity: 0;
  pointer-events: none;
  box-shadow: 0px 10px 15px rgba(0, 0, 0, 0.1);
  transform: translate(-50%, -50%) scale(1.2);
  transition:
    top 0s 0.2s ease-in-out,
    opacity 0.2s 0s ease-in-out,
    transform 0.2s 0s ease-in-out;
}
.popup.show {
  top: 50%;
  opacity: 1;
  pointer-events: auto;
  transform: translate(-50%, -50%) scale(1);
  transition:
    top 0s 0s ease-in-out,
    opacity 0.2s 0s ease-in-out,
    transform 0.2s 0s ease-in-out;
}
.popup :is(.header-share, .icons, .field) {
  display: flex;
  align-items: center;
  justify-content: space-between;
}
.popup .header-share {
  padding-bottom: 15px;
  border-bottom: 1px solid #ebedf9;
}
.header-share span {
  font-size: 21px;
  font-weight: 600;
}
.header-share .close,
.icons a {
  display: flex;
  align-items: center;
  border-radius: 50%;
  justify-content: center;
  transition: all 0.3s ease-in-out;
}
.header-share .close {
  color: #878787;
  font-size: 17px;
  background: #f2f3fb;
  height: 33px;
  width: 33px;
  cursor: pointer;
}
.header-share .close:hover {
  background: #ebedf9;
}
.popup .content {
  margin: 20px 0;
  color: #000;
}
.popup .icons {
  margin: 15px 0 20px 0;
}
.content p {
  font-size: 16px;
  color: #000;
}
.content .icons a {
  height: 50px;
  width: 50px;
  font-size: 20px;
  text-decoration: none;
  border: 1px solid transparent;
}
.icons a i {
  transition: transform 0.3s ease-in-out;
}
.icons a:nth-child(1) {
  color: #1877f2;
  border-color: #b7d4fb;
}
.icons a:nth-child(1):hover {
  background: #1877f2;
}
.icons a:nth-child(2) {
  color: #46c1f6;
  border-color: #b6e7fc;
}
.icons a:nth-child(2):hover {
  background: #46c1f6;
}
.icons a:nth-child(3) {
  color: #e1306c;
  border-color: #f5bccf;
}
.icons a:nth-child(3):hover {
  background: #e1306c;
}
.icons a:nth-child(4) {
  color: #25d366;
  border-color: #bef4d2;
}
.icons a:nth-child(4):hover {
  background: #25d366;
}
.icons a:nth-child(5) {
  color: #0088cc;
  border-color: #b3e6ff;
}
.icons a:nth-child(5):hover {
  background: #0088cc;
}
.icons a:hover {
  color: #fff;
  border-color: transparent;
}
.icons a:hover i {
  transform: scale(1.2);
}
.content .field {
  margin: 12px 0 -5px 0;
  height: 45px;
  border-radius: 4px;
  padding: 0 5px;
  border: 1px solid #e1e1e1;
}
.field.active {
  border-color: #7d2ae8;
}
.field i {
  width: 50px;
  font-size: 18px;
  text-align: center;
  display: flex;
  align-content: center;
}
.field.active i {
  color: #7d2ae8;
}
.field input {
  width: 100%;
  height: 100%;
  border: none;
  outline: none;
  font-size: 15px;
}
.field button {
  color: #fff;
  padding: 5px 18px;
  background: #7d2ae8;
}
.field button:hover {
  background: #8d39fa;
}
.uil-times {
  cursor: pointer;
}

.text__info-card {
  display: flex;
  width: fit-content;
  height: fit-content;
  justify-content: center;
  align-items: center;
  gap: 10px;
}

.text__info-card_span {
  font-size: 44px;
  color: #37ff8b;
  width: fit-content;
  padding: 0;
  margin: 0;
  height: fit-content;
}

.text__info-card_info {
  color: #fff;
  max-width: 200px;
  padding: 0;
  margin: 0;
  display: flex;
  justify-content: center;
  align-items: center;
}

.about {
  color: #ffe;
  margin: 2rem 0;
  display: grid;
  grid-template-columns: 1fr 1fr;
  align-items: center;
}

.about__subtitle {
  font-family: "Soft Compound", sans-serif;
  color: #ffe;
  margin: 2rem 0 1rem 0;
  font-size: 34px;
}

.about__description {
  color: var(--span-text);
  padding: 20px;
}

.about__description-buttons {
  margin: 2rem 0;
  display: flex;
  align-items: center;
  gap: 5px;
}
@media (max-width: 450px) {
  .about__description-buttons {
    flex-direction: column;
    width: fit-content;
    display: grid;
    margin: 2rem auto;
    grid-gap: 15px;
  }
  .about__stats-container {
    flex-direction: column;
    align-items: center;
  }
}

.about__stats-container {
  display: flex;
  gap: 20px;
  margin: 2rem auto;
  width: 90%;
  justify-content: center;
  -webkit-box-shadow: inset 1px -9px 25px -1px rgba(55, 255, 139, 0.29);
  -moz-box-shadow: inset 1px -9px 25px -1px rgba(55, 255, 139, 0.29);
  box-shadow: inset 1px -9px 25px -1px rgba(55, 255, 139, 0.29);
  border-radius: 20px;
}

.about__img {
  border-radius: 50%;
  display: flex;
  justify-content: center;
}

.about__page {
  height: 100%;
  overflow-y: scroll;
}

.about__img-img {
  width: 450px;
  height: 450px;
  border-radius: 100%;
  background-size: cover;
  display: inline-block;
}

.about__skills {
  display: grid;
  grid-template-columns: 1fr 1fr;
  grid-template-rows: auto;
  grid-gap: 15px;
  padding: 10px;
  width: clamp(690px, 60%, 1000px);
  margin: auto;
}

.about__skills--item {
  padding: 5px 20px;
  gap: 20px;
  display: flex;
  flex-direction: row;
  justify-content: flex-start;
  align-items: center;
  margin: auto;
  border-radius: 10px;
}

.about-separator {
  position: relative;
  font-size: 16px;
  width: 6em;
  height: 5.5em;
  margin: auto;
}

.last-blog-container {
  color: #fff;
  border: 1px solid #fff;
  display: flex;
  flex-direction: row;
  justify-content: space-around;
  align-items: center;
  max-width: 60%;
  border-radius: 20px;
}

.💩 {
  font-size: 48px;
  transition: 4s;
}

.💩:after {
  content: attr(data-content);
}

.💩:hover:after {
  content: attr(data-hover-content);
}

.💩:active:after {
  content: attr(data-active-content);
}

.about-separator:before {
  content: "";
  position: absolute;
  height: 4px;
  width: 100%;
  background: #fff;
  left: 0%;
  bottom: 0;
}

.about-separator:after {
  content: "";
  position: absolute;
  left: 0.2em;
  bottom: 0.4em;
  width: 1em;
  height: 1em;
  background-color: orange;
  border-radius: 15%;
  animation: rollingRock 3.5s cubic-bezier(0.79, 0, 0.47, 0.97) infinite;
}

@keyframes rollingRock {
  0% {
    transform: translate(0, 0) rotate(0deg);
  }
  10% {
    transform: translate(1em, 0) rotate(36deg);
  }
  20% {
    transform: translate(2em, 0) rotate(72deg);
  }

  30% {
    transform: translate(3em, 0) rotate(108deg);
  }

  40% {
    transform: translate(4em, 0) rotate(144deg);
  }
  50% {
    transform: translate(5em, 0) rotate(180deg);
  }

  60% {
    transform: translate(4em, 0) rotate(-90deg);
  }
  70% {
    transform: translate(3em, 0) rotate(180deg);
  }
  80% {
    transform: translate(2em, 0) rotate(-270deg);
  }
  90% {
    transform: translate(1em, 0) rotate(330deg);
  }

  100% {
    transform: translate(0, 0) rotate(0deg);
  }
}

@media (max-width: 1400px) {
  .about__img-img {
    height: 290px;
    width: 290px;
  }
}

@media (max-width: 1199px) {
  .last-blog-container {
    max-width: 100%;
    padding: 10px;
  }
  .about__skills {
    grid-template-columns: 1fr;
    width: 100%;
  }
  .about__subtitle {
    font-size: 46px !important;
  }
  .about__page {
    padding: 0 20px;
  }
  .about {
    display: flex;
    flex-direction: column;
    gap: 20px;
    height: fit-content;
  }

  .about__img {
    width: 70vw;
    height: 70vw;
    max-width: 100%;
  }

  .about__img-img {
    height: 100%;
    width: 100%;
  }
}

.contactContainer {
  display: flex;
  height: 90vh;
  flex-direction: column;
  justify-content: space-around;
  align-items: center;
}
.contactContainer__element {
  display: grid;
  display: flex;
  grid-template-columns: 1fr 1fr;
  grid-template-rows: 1fr;
  align-items: center;
  grid-gap: 10px;
  font-size: 1.5rem;
  transition: 0.5s;
  position: relative;
  color: var(--colorTextB);
}
.contactContainer__element::after {
  position: absolute;
  left: -100vw;
  top: 0;
  color: var(--span-text);
  transition: 0.5s;
  display: flex;
  justify-content: center;
  align-items: center;
  height: 100%;
  font-family: "Soft Compound", sans-serif;
  font-size: 30px;
}
.contactContainer__element:nth-child(1)::after {
  content: "Github";
}
.contactContainer__element:nth-child(2)::after {
  content: "Linkedin";
}
.contactContainer__element:nth-child(3)::after {
  content: "Email";
}
.contactContainer__element:hover.contactContainer__element::after {
  transform: translateX(calc(-110% + 100vw));
}
.contactContainer__logo {
  font-size: 2.5rem;
}
.contactContainer__element:hover {
  color: var(--colorD);
}
.contactTitle {
  color: var(--colorD);
  font-size: 1.5rem;
}

@media only screen and (max-width: 900px) {
  .contactContainer {
    height: 70vh;
    display: flex;
    margin: 0;
  }
  .contactContainer__element {
    display: flex;
    text-align: center;
    align-items: center;
    align-self: center;
    margin: auto;
  }
  .contactTitle {
    grid-column: 1 / -1;
  }
}

.img__cover {
  max-width: 100%;
  margin: 1rem 0;
  border: 3px solid #fff;
  border-radius: 0.45rem;
}

/*** Table Styles **/

.table-fill {
  background: white;
  border-radius: 3px;
  border-collapse: collapse;
  height: 320px;
  margin: auto;
  max-width: 800px;
  padding: 5px;
  width: 100%;
  box-shadow: 0 5px 10px rgba(0, 0, 0, 0.1);
  animation: float 5s infinite;
  margin-top: 2rem;
}

th {
  color: #d5dde5;
  background: #1758d9;
  border-bottom: 4px solid #9ea7af;
  border-right: 1px solid #343a45;
  font-size: 23px;
  font-weight: 100;
  padding: 24px;
  text-align: left;
  text-shadow: 0 1px 1px rgba(0, 0, 0, 0.1);
  vertical-align: middle;
}

th:first-child {
  border-top-left-radius: 3px;
}

th:last-child {
  border-top-right-radius: 3px;
  border-right: none;
}

tr {
  border-top: 1px solid #c1c3d1;
  border-bottom: 1px solid #c1c3d1;
  color: #666b85;
  font-size: 16px;
  font-weight: normal;
  text-shadow: 0 1px 1px rgba(256, 256, 256, 0.1);
}

tr:hover td {
  background: #4e5066;
  color: #ffffff;
  border-top: 1px solid #22262e;
}

tr:first-child {
  border-top: none;
}

tr:last-child {
  border-bottom: none;
}

tr:nth-child(odd) td {
  background: #ebebeb;
}

tr:nth-child(odd):hover td {
  background: #4e5066;
}

tr:last-child td:first-child {
  border-bottom-left-radius: 3px;
}

tr:last-child td:last-child {
  border-bottom-right-radius: 3px;
}

td {
  background: #ffffff;
  padding: 20px;
  text-align: left;
  vertical-align: middle;
  font-weight: 300;
  font-size: 18px;
  text-shadow: -1px -1px 1px rgba(0, 0, 0, 0.1);
  border-right: 1px solid #c1c3d1;
}

td:last-child {
  border-right: 0px;
}

th.text-left {
  text-align: left;
}

th.text-center {
  text-align: center;
}

th.text-right {
  text-align: right;
}

td.text-left {
  text-align: left;
}

td.text-center {
  text-align: center;
}

td.text-right {
  text-align: right;
}

.BoxCode {
  border-radius: 15px;
  position: relative;
  padding: 0 20px;
}
.BoxCodeButton {
  background-color: #362b52;
  color: #eee;
  border-color: #eee;
  position: absolute;
  right: 10px;
  top: 15px;
  transition: 0.3s;
  opacity: 0.04;
  cursor: pointer;
}
.BoxCode:hover .BoxCodeButton {
  opacity: 1;
}
.BoxCodeButton:hover {
  transform: scale(1.1);
}

.game {
  width: 100vw;
  height: 100vh;
  margin: 0;
  position: fixed;
  z-index: 10000;
  background-color: aquamarine;
  left: -100%;
  transition: 2s;
}

.game.show {
  left: 0;
}

.game--btnClose {
  position: absolute;
  top: 5px;
  right: 5px;
  color: red;
}

@font-face {
  font-family: "Soft Compound";
  font-style: normal;
  font-weight: 400;
  src:
    local("Soft Compound"),
    url(24fa1614c053bc6ef98c.woff) format("woff");
}

:root {
  /* Colors */
  --brand-color: hsl(46, 100%, 50%);
  --black: hsl(0, 0%, 0%);
  --white: hsl(0, 0%, 100%);
  /* Fonts */
  --font-title: "Montserrat", sans-serif;
  --font-text: "Lato", sans-serif;
  --span-text: #9e9e9e;
}

* {
  box-sizing: border-box;
  margin: 0;
  font:
    1.2rem -apple-system,
    BlinkMacSystemFont,
    "Segoe UI",
    Roboto,
    Helvetica,
    Arial,
    sans-serif,
    "Apple Color Emoji",
    "Segoe UI Emoji",
    "Segoe UI Symbol";

 font-size: 1rem;
  line-height: 1.5;
}

.hljs {
  tab-size: 4;
}
small {
  font-size: 16px;
}

li {
  margin: 0.75rem 0;
}
#paranguatutirimicuaro {
  width: 100%;
  height: 100vh;
  background-color: #0a1220;
  position: relative;
  background: url(c7944885a50acf84bb07.png) no-repeat fixed top center #34313f;
}

#app {
  padding: 15px;
  background-color: #212931;
  width: 100vw;
  height: 100vh;
  overflow: hidden;
  padding: 0 60px;
}

.app {
  margin-left: auto;
  margin-right: auto;
}

.container {
  position: relative;
  width: 100vw;
  height: 100vh;
  overflow: hidden;
  background: #0f141c;
  float: right;
  height: 100vh;
  max-width: 1300px;
  overflow-x: auto;
  padding: 0 20px 0 60px;
  width: 100%;
  padding-bottom: 2rem;
  box-shadow: -3px 2px 21px 4px rgba(32, 30, 41, 1);
}
@media (max-width: 1199px) {
  .container {
    max-width: 100%;
    padding: 0;
  }
}
@media (min-width: 992px) {
  .app {
    max-width: 960px;
  }
}

@media (max-width: 1599px) {
  .container {
    max-width: 1080px;
  }
}

.app {
  max-width: 100%;
}
@media (min-width: 992px) {
  .app {
    max-width: 960px;
  }
}

@media (min-width: 1650px) {
  .app {
    max-width: 1290px !important;
  }
  .container {
    max-width: 1040px !important;
  }
}

@media (min-width: 1200px) {
  .app {
    max-width: 1140px;
  }
}

@media (max-width: 1399px) {
  .container {
    max-width: 880px;
  }
}

@media (min-width: 1400px) {
  .app {
    max-width: 1320px;
  }
  .container {
    max-width: 1060px;
  }
}

.menu-toggle-button {
  display: none;
}

.menu-toggle-button {
  align-items: center;
  backdrop-filter: blur(6.5px);
  -webkit-backdrop-filter: blur(6.5px);
  background: #ffffff40;
  border: none;
  border-radius: 50%;
  cursor: pointer;
  display: block;
  display: flex;
  height: 50px;
  justify-content: center;
  position: fixed;
  right: 20px;
  top: 20px;
  width: 50px;
  z-index: 10;
}

.hamburger .line {
  background-color: #fff;
  display: block;
  height: 2px;
  margin: 6px auto;
  transition: all 0.3s ease-in-out;
  width: 25px;
}

#hamburger-1.is-active .line:first-child {
  transform: translateY(8px) rotate(48deg);
}
#hamburger-1.is-active .line:nth-child(2) {
  opacity: 0;
}
#hamburger-1.is-active .line:nth-child(3) {
  transform: translateY(-8px) rotate(-48deg);
}

@media (max-width: 340px) {
  .menu-toggle-button {
    top: 1px;
  }
}

.isHidden {
  display: none !important;
}

.isDisabled {
  pointer-events: none !important;
  opacity: 0.2 !important;
}

