@import url("https://fonts.googleapis.com/css2?family=Orbitron:wght@400..900&family=Roboto:ital,wght@0,100..900;1,100..900&display=swap");
.contact-header, .projects-header, .resume-header, .homepage-header {
  background-size: cover;
  background-repeat: no-repeat;
  background-position: top;
  overflow: hidden;
}

.contact-header .flex-container .main-content .contact-heading, .resume-header .flex-container .main-content .resume-heading, .homepage-header .main-content .homepage-heading {
  display: inline-block;
  font-size: 4.5rem;
  position: relative;
  padding: 0.5rem;
  margin-bottom: 1.5rem;
  font-weight: 800;
  color: #f5f5f5;
}
@media only screen and (min-width: 75em) {
  .contact-header .flex-container .main-content .contact-heading, .resume-header .flex-container .main-content .resume-heading, .homepage-header .main-content .homepage-heading {
    font-size: 4.5rem;
  }
}
@media only screen and (max-width: 62em) {
  .contact-header .flex-container .main-content .contact-heading, .resume-header .flex-container .main-content .resume-heading, .homepage-header .main-content .homepage-heading {
    font-size: 4rem;
  }
}
@media only screen and (max-width: 48em) {
  .contact-header .flex-container .main-content .contact-heading, .resume-header .flex-container .main-content .resume-heading, .homepage-header .main-content .homepage-heading {
    font-size: 3.5rem;
  }
}
@media only screen and (max-width: 36em) {
  .contact-header .flex-container .main-content .contact-heading, .resume-header .flex-container .main-content .resume-heading, .homepage-header .main-content .homepage-heading {
    font-size: 4rem;
  }
}

.fade-up-initial {
  transform: translateY(2rem);
  opacity: 0;
}

.fade-left-initial {
  transform: translateX(35%);
  opacity: 0;
}

@keyframes fadeUp {
  0% {
    transform: translateY(2rem);
    opacity: 0;
  }
  100% {
    transform: translateY(0);
    opacity: 1;
  }
}
@keyframes fadeLeft {
  0% {
    transform: translateX(35%);
    opacity: 0;
  }
  100% {
    transform: translateX(0);
    opacity: 1;
  }
}
@keyframes scroll {
  to {
    transform: translate(calc(-50% - 0.5rem));
  }
}
#finisher-canvas {
  background-color: rgba(0, 0, 0, 0) !important;
  z-index: 0 !important;
  width: 100% !important;
  height: 100% !important;
}

.tippy-box {
  color: #101010;
  padding: 0.5rem;
  font-weight: 800;
  font-family: "Orbitron", sans-serif;
}

.tippy-box[data-theme~=primary] {
  background-color: #ffb428;
}

.tippy-box[data-theme~=primary][data-placement^=bottom] > .tippy-arrow::before {
  color: #ffb428;
}

.tippy-box[data-theme~=secondary] {
  background-color: #2cc3ff;
}

.tippy-box[data-theme~=secondary][data-placement^=bottom] > .tippy-arrow::before {
  color: #2cc3ff;
}

*,
*::before,
*::after {
  margin: 0;
  padding: 0;
  box-sizing: inherit;
}

html {
  font-size: 62.5%;
}
@media only screen and (max-width: 62em) {
  html {
    font-size: 56.25%;
  }
}
@media only screen and (max-width: 48em) {
  html {
    font-size: 50%;
  }
}
@media only screen and (min-width: 75em) {
  html {
    font-size: 75%;
  }
}
@media only screen and (min-width: 112.5em) {
  html {
    font-size: 100%;
  }
}

body {
  box-sizing: border-box;
  font-family: "Roboto", sans-serif;
  background-color: #0a0a56;
  font-size: 1.6rem;
}
body[data-page=homepage] ::-webkit-scrollbar {
  -webkit-box-shadow: inset 0 0 5px #ffb428;
  box-shadow: inset 0 0 5px #ffb428;
  border-radius: 10px;
  width: 0.6rem;
}
body[data-page=homepage] ::-webkit-scrollbar-thumb {
  background: #ffb428;
  border-radius: 10px;
}
body[data-page=homepage] ::-webkit-scrollbar-thumb:hover {
  background: #ffb428;
}
body[data-page=resume] ::-webkit-scrollbar {
  -webkit-box-shadow: inset 0 0 5px #2cc3ff;
  box-shadow: inset 0 0 5px #2cc3ff;
  border-radius: 10px;
  width: 0.6rem;
}
body[data-page=resume] ::-webkit-scrollbar-thumb {
  background: #2cc3ff;
  border-radius: 10px;
}
body[data-page=resume] ::-webkit-scrollbar-thumb:hover {
  background: #2cc3ff;
}
body[data-page=projects] ::-webkit-scrollbar {
  -webkit-box-shadow: inset 0 0 5px #ffb428;
  box-shadow: inset 0 0 5px #ffb428;
  border-radius: 10px;
  width: 0.6rem;
}
body[data-page=projects] ::-webkit-scrollbar-thumb {
  background: #ffb428;
  border-radius: 10px;
}
body[data-page=projects] ::-webkit-scrollbar-thumb:hover {
  background: #ffb428;
}

h1,
h2,
h3,
h4,
h5,
h6 {
  font-family: "Orbitron", sans-serif;
}

.navbar {
  color: #f5f5f5;
  padding: 3rem 0;
  z-index: 3;
  transition: all 0.25s ease-out;
}
.navbar__logo {
  color: #f5f5f5;
  font-family: "Orbitron", sans-serif;
  transition: color 0.25s ease-out;
  animation: fadeUp 0.7s ease-out forwards;
}
.navbar__links {
  gap: 3.6rem;
  border-bottom: 2px solid transparent;
  animation: fadeUp 0.7s ease-out 100ms forwards;
}
.navbar__links .hire-me-btn {
  padding: 3.2rem 2rem;
  border-radius: 2rem;
  color: #101010;
  transition: color 0.25s ease-out;
}
.navbar__links .hire-me-btn:hover, .navbar__links .hire-me-btn:active {
  color: #f5f5f5;
}
.navbar__links--link {
  color: #f5f5f5;
  transition: all 0.25s ease-out;
  font-family: "Orbitron", sans-serif;
  font-weight: 600;
}
@media only screen and (max-width: 48em) {
  .navbar__links {
    display: none !important;
  }
}
.navbar__hamburger-btn {
  border: none;
  width: 3rem;
  height: 2.4rem;
  background-color: transparent;
  animation: fadeUp 0.7s ease-out 100ms forwards;
}
@media only screen and (max-width: 48em) {
  .navbar__hamburger-btn {
    display: block !important;
  }
}
.navbar__hamburger-btn span {
  position: absolute;
  left: 0;
  width: 100%;
  height: 0.3rem;
  border-radius: 1rem;
  background-color: #f5f5f5;
  transition: 0.25s ease-out;
}
.navbar__hamburger-btn span:nth-of-type(1) {
  width: 50%;
  top: 0;
}
.navbar__hamburger-btn span:nth-of-type(2) {
  top: 50%;
}
.navbar__hamburger-btn span:nth-of-type(3) {
  width: 50%;
  top: 100%;
  left: 50%;
}
.navbar__hamburger-btn::after {
  content: "";
  position: absolute;
  inset: 0;
  border-radius: 50%;
  background-color: #2cc3ff;
  z-index: -1;
  filter: blur(1.2rem);
}

.off-screen-nav {
  background-color: #101010;
  width: 100%;
  right: 0;
  transform: translateX(100%);
  transition: transform 0.3s ease-out;
}
@media only screen and (max-width: 48em) {
  .off-screen-nav {
    display: flex !important;
    justify-content: center;
    align-items: center;
    width: 50%;
  }
}
@media only screen and (max-width: 36em) {
  .off-screen-nav {
    width: 75%;
  }
}
.off-screen-nav.active {
  transform: translateX(0);
  z-index: 3;
}
.off-screen-nav__close-btn {
  background-color: transparent;
  border: none;
  cursor: pointer;
  top: 2.8rem;
  right: 3rem;
  color: #f5f5f5;
  font-size: 3rem;
  border-radius: 50%;
}
@media only screen and (max-width: 36em) {
  .off-screen-nav__close-btn {
    right: 0.8rem;
  }
}
.off-screen-nav__close-btn::before {
  content: "";
  position: absolute;
  inset: 0;
  z-index: -1;
  border-radius: inherit;
  filter: blur(1rem);
}
.off-screen-nav__links > *:not(:last-child) {
  margin-bottom: 3rem;
}
.off-screen-nav__links--link {
  color: #ffb428;
  font-family: "Orbitron", sans-serif;
}

.homepage-navbar .navbar__logo span {
  color: #ffb428;
}
.homepage-navbar .navbar__logo:hover, .homepage-navbar .navbar__logo:active {
  color: #ffb428;
}
.homepage-navbar .navbar__links .hire-me-btn {
  background-color: #ffb428;
}
.homepage-navbar .navbar__links .hire-me-btn:hover, .homepage-navbar .navbar__links .hire-me-btn:active {
  color: #f5f5f5;
}
.homepage-navbar .navbar__links--link:hover, .homepage-navbar .navbar__links--link:active {
  color: #ffb428;
}
.homepage-navbar .navbar__links--link.active {
  color: #ffb428;
  border-bottom: 2px solid #ffb428;
}

.homepage-header .navbar-scroll {
  background-color: #101010;
  padding: 2.4rem !important;
  box-shadow: 1px 2px 10px 3px #ffb428;
}

.off-screen-nav-homepage {
  background-color: #101010;
  top: 0;
  right: 0;
  transform: translateX(100%);
  transition: transform 0.3s ease-out;
}
@media only screen and (max-width: 48em) {
  .off-screen-nav-homepage {
    display: flex !important;
    justify-content: center;
    align-items: center;
    width: 50%;
  }
}
@media only screen and (max-width: 36em) {
  .off-screen-nav-homepage {
    width: 75%;
  }
}
.off-screen-nav-homepage.active {
  transform: translateX(0);
  z-index: 3;
}
.off-screen-nav-homepage .off-screen-nav__close-btn {
  background-color: transparent;
  border: none;
  cursor: pointer;
  top: 2.8rem;
  right: 3rem;
  color: #f5f5f5;
  font-size: 3rem;
  border-radius: 50%;
}
@media only screen and (max-width: 36em) {
  .off-screen-nav-homepage .off-screen-nav__close-btn {
    right: 0.8rem;
  }
}
.off-screen-nav-homepage .off-screen-nav__close-btn::before {
  content: "";
  position: absolute;
  inset: 0;
  z-index: -1;
  border-radius: inherit;
  background-color: #ffb428;
  filter: blur(1rem);
}
.off-screen-nav-homepage .off-screen-nav__links > *:not(:last-child) {
  margin-bottom: 3rem;
}
.off-screen-nav-homepage .off-screen-nav__links--link {
  color: #ffb428;
  font-family: "Orbitron", sans-serif;
}

.resume-navbar .navbar__logo span {
  color: #2cc3ff;
}
.resume-navbar .navbar__logo:hover, .resume-navbar .navbar__logo:active {
  color: #2cc3ff;
}
.resume-navbar .navbar__links .hire-me-btn {
  background-color: #2cc3ff;
}
.resume-navbar .navbar__links .hire-me-btn:hover, .resume-navbar .navbar__links .hire-me-btn:active {
  color: #f5f5f5;
}
.resume-navbar .navbar__links--link:hover, .resume-navbar .navbar__links--link:active {
  color: #2cc3ff;
}
.resume-navbar .navbar__links--link.active {
  color: #2cc3ff;
  border-bottom: 2px solid #2cc3ff;
}

.resume-header .navbar-scroll {
  background-color: #101010;
  padding: 2.4rem !important;
  box-shadow: 1px 2px 10px 3px #2cc3ff;
}

.off-screen-nav-resume {
  background-color: #101010;
  top: 0;
  right: 0;
  transform: translateX(100%);
  transition: transform 0.3s ease-out;
}
@media only screen and (max-width: 48em) {
  .off-screen-nav-resume {
    display: flex !important;
    justify-content: center;
    align-items: center;
    width: 50%;
  }
}
@media only screen and (max-width: 36em) {
  .off-screen-nav-resume {
    width: 75%;
  }
}
.off-screen-nav-resume.active {
  transform: translateX(0);
  z-index: 3;
}
.off-screen-nav-resume .off-screen-nav__close-btn {
  background-color: transparent;
  border: none;
  cursor: pointer;
  top: 2.8rem;
  right: 3rem;
  color: #f5f5f5;
  font-size: 3rem;
  border-radius: 50%;
}
@media only screen and (max-width: 36em) {
  .off-screen-nav-resume .off-screen-nav__close-btn {
    right: 0.8rem;
  }
}
.off-screen-nav-resume .off-screen-nav__close-btn::before {
  content: "";
  position: absolute;
  inset: 0;
  z-index: -1;
  border-radius: inherit;
  background-color: #2cc3ff;
  filter: blur(1rem);
}
.off-screen-nav-resume .off-screen-nav__links > *:not(:last-child) {
  margin-bottom: 3rem;
}
.off-screen-nav-resume .off-screen-nav__links--link {
  color: #2cc3ff;
  font-family: "Orbitron", sans-serif;
}

.projects-navbar .navbar__logo span {
  color: #ffb428;
}
.projects-navbar .navbar__logo:hover, .projects-navbar .navbar__logo:active {
  color: #ffb428;
}
.projects-navbar .navbar__links .hire-me-btn {
  background-color: #ffb428;
}
.projects-navbar .navbar__links .hire-me-btn:hover, .projects-navbar .navbar__links .hire-me-btn:active {
  color: #f5f5f5;
}
.projects-navbar .navbar__links--link:hover, .projects-navbar .navbar__links--link:active {
  color: #ffb428;
}
.projects-navbar .navbar__links--link.active {
  color: #ffb428;
  border-bottom: 2px solid #ffb428;
}

.projects-header .navbar-scroll {
  background-color: #101010;
  padding: 2.4rem !important;
  box-shadow: 1px 2px 10px 3px #ffb428;
}

.off-screen-nav-projects {
  background-color: #101010;
  top: 0;
  right: 0;
  transform: translateX(100%);
  transition: transform 0.3s ease-out;
}
@media only screen and (max-width: 48em) {
  .off-screen-nav-projects {
    display: flex !important;
    justify-content: center;
    align-items: center;
    width: 50%;
  }
}
@media only screen and (max-width: 36em) {
  .off-screen-nav-projects {
    width: 75%;
  }
}
.off-screen-nav-projects.active {
  transform: translateX(0);
  z-index: 3;
}
.off-screen-nav-projects .off-screen-nav__close-btn {
  background-color: transparent;
  border: none;
  cursor: pointer;
  top: 2.8rem;
  right: 3rem;
  color: #f5f5f5;
  font-size: 3rem;
  border-radius: 50%;
}
@media only screen and (max-width: 36em) {
  .off-screen-nav-projects .off-screen-nav__close-btn {
    right: 0.8rem;
  }
}
.off-screen-nav-projects .off-screen-nav__close-btn::before {
  content: "";
  position: absolute;
  inset: 0;
  z-index: -1;
  border-radius: inherit;
  background-color: #ffb428;
  filter: blur(1rem);
}
.off-screen-nav-projects .off-screen-nav__links > *:not(:last-child) {
  margin-bottom: 3rem;
}
.off-screen-nav-projects .off-screen-nav__links--link {
  color: #ffb428;
  font-family: "Orbitron", sans-serif;
}

.contact-navbar .navbar__logo span {
  color: #2cc3ff;
}
.contact-navbar .navbar__logo:hover, .contact-navbar .navbar__logo:active {
  color: #2cc3ff;
}
.contact-navbar .navbar__links .hire-me-btn {
  background-color: #2cc3ff;
}
.contact-navbar .navbar__links .hire-me-btn:hover, .contact-navbar .navbar__links .hire-me-btn:active {
  color: #f5f5f5;
}
.contact-navbar .navbar__links--link:hover, .contact-navbar .navbar__links--link:active {
  color: #2cc3ff;
}
.contact-navbar .navbar__links--link.active {
  color: #2cc3ff;
  border-bottom: 2px solid #2cc3ff;
}

.contact-header .navbar-scroll {
  background-color: #101010;
  padding: 2.4rem !important;
  box-shadow: 1px 2px 10px 3px #2cc3ff;
}

.off-screen-nav-contact {
  background-color: #101010;
  top: 0;
  right: 0;
  transform: translateX(100%);
  transition: transform 0.3s ease-out;
}
@media only screen and (max-width: 48em) {
  .off-screen-nav-contact {
    display: flex !important;
    justify-content: center;
    align-items: center;
    width: 50%;
  }
}
@media only screen and (max-width: 36em) {
  .off-screen-nav-contact {
    width: 75%;
  }
}
.off-screen-nav-contact.active {
  transform: translateX(0);
  z-index: 3;
}
.off-screen-nav-contact .off-screen-nav__close-btn {
  background-color: transparent;
  border: none;
  cursor: pointer;
  top: 2.8rem;
  right: 3rem;
  color: #f5f5f5;
  font-size: 3rem;
  border-radius: 50%;
}
@media only screen and (max-width: 36em) {
  .off-screen-nav-contact .off-screen-nav__close-btn {
    right: 0.8rem;
  }
}
.off-screen-nav-contact .off-screen-nav__close-btn::before {
  content: "";
  position: absolute;
  inset: 0;
  z-index: -1;
  border-radius: inherit;
  background-color: #2cc3ff;
  filter: blur(1rem);
}
.off-screen-nav-contact .off-screen-nav__links > *:not(:last-child) {
  margin-bottom: 3rem;
}
.off-screen-nav-contact .off-screen-nav__links--link {
  color: #2cc3ff;
  font-family: "Orbitron", sans-serif;
}

.scroller {
  max-width: 100%;
}
.scroller[data-animated=true] {
  overflow: hidden;
  -webkit-mask: linear-gradient(90deg, transparent, #f5f5f5 20%, #f5f5f5 80%, transparent);
  mask: linear-gradient(90deg, transparent, #f5f5f5 20%, #f5f5f5 80%, transparent);
}
.scroller[data-animated=true] .scroller__inner {
  overflow: hidden;
  animation: scroll 30s linear infinite;
  width: fit-content;
}
.scroller__inner {
  overflow-x: scroll;
  gap: 1rem;
}
.scroller__inner--icon {
  height: 6rem;
  background-color: rgba(44, 195, 255, 0.2901960784);
  border-radius: 1rem;
  transition: background-color 0.25s ease-out;
}
.scroller__inner--icon:hover {
  cursor: pointer;
  background-color: rgba(44, 195, 255, 0.3882352941);
}

.project-details-modal {
  background-color: #101010;
  border-radius: 2rem;
}
.project-details-modal .modal-title {
  font-weight: 700;
  color: #ffb428;
}
.project-details-modal h2 {
  color: #ffb428;
  font-weight: 700;
  margin-bottom: 1.2rem;
}
.project-details-modal .btn-close {
  filter: brightness(0) saturate(100%) invert(80%) sepia(78%) saturate(1119%) hue-rotate(322deg) brightness(105%) contrast(101%);
}
.project-details-modal .project-modal {
  display: grid;
  grid-template-areas: "details details" "performance mockups" "technologies technologies" "links links";
  grid-auto-columns: 1fr;
  row-gap: 5rem;
  column-gap: 8rem;
}
@media only screen and (max-width: 62em) {
  .project-details-modal .project-modal {
    grid-template-areas: "details" "performance" "mockups" "technologies" "links";
  }
}
@media only screen and (max-width: 36em) {
  .project-details-modal .project-modal {
    gap: 6rem;
  }
}
.project-details-modal .project-modal__details {
  grid-area: details;
}
.project-details-modal .project-modal__details--title {
  font-weight: 700;
  color: #ffb428;
}
.project-details-modal .project-modal__details--description {
  color: #f5f5f5;
  font-size: 1.3rem;
  line-height: 2;
  letter-spacing: 1.1px;
}
.project-details-modal .project-modal__performances #performances-chart {
  width: 100% !important;
}
.project-details-modal .project-modal__mockups {
  grid-area: mockups;
}
.project-details-modal .project-modal__mockups img {
  width: 80%;
}
@media only screen and (max-width: 36em) {
  .project-details-modal .project-modal__mockups img {
    display: block;
    margin: 0 auto;
    width: 100%;
  }
}
.project-details-modal .project-modal__technologies {
  grid-area: technologies;
}
.project-details-modal .project-modal__technologies--icons {
  gap: 1.6rem;
}
.project-details-modal .project-modal__technologies--icons div {
  width: 8.2rem;
  background-color: #212121;
  padding: 1.4rem;
  border-radius: 1rem;
  color: #f5f5f5;
  gap: 0.6rem;
}
.project-details-modal .project-modal__technologies--icons div p {
  font-size: 1.2rem;
}
.project-details-modal .project-modal__cta-links {
  gap: 1rem;
}
@media only screen and (max-width: 36em) {
  .project-details-modal .project-modal__cta-links {
    gap: 1.2rem;
  }
}
.project-details-modal .project-modal__cta-links > * {
  text-decoration: none;
  font-family: "Orbitron", sans-serif;
  font-size: 1.4rem;
  color: #ffb428;
  padding: 0.8rem 1.8rem;
  border-radius: 2rem;
  border: 2px solid #ffb428;
  background-color: transparent;
  font-weight: 700;
  transition: all 0.25s ease-out;
}
.project-details-modal .project-modal__cta-links > *:active, .project-details-modal .project-modal__cta-links > *:hover {
  background-color: #ffb428;
  color: #f5f5f5;
}

.slider {
  min-height: 36rem;
  animation: fadeUp 0.7s ease-out 400ms forwards;
}
@media only screen and (max-width: 36em) {
  .slider {
    min-height: 38rem;
  }
}
.slider .project {
  position: absolute;
  padding: 2.4rem;
  gap: 2rem;
  max-width: 32rem;
  background-color: #101010;
  border-radius: 2rem;
  left: calc(50% - 16rem);
  border: 1px solid #d18a06;
  transition: all 0.5s ease-out;
}
@media only screen and (max-width: 36em) {
  .slider .project {
    max-width: 28rem;
    height: 35rem;
    left: calc(50% - 14rem);
  }
}
.slider .project > * {
  flex: 1 1 auto;
}
.slider .project__image {
  width: 100%;
  border-radius: 1rem;
  overflow: hidden;
}
.slider .project__details--title {
  color: #ffb428;
  font-weight: 700;
  font-size: 2.4rem;
}
.slider .project__details--description {
  font-size: 1.2rem;
  color: #f5f5f5;
  letter-spacing: 1.1px;
  line-height: 1.8;
}
.slider .project__details--cta {
  gap: 1rem;
}
.slider .project__details--cta > * {
  display: flex;
  justify-content: center;
  font-size: 2rem;
  padding: 0.6rem 0;
  border-radius: 1.2rem;
  flex: 1 1 100%;
  background-color: transparent;
  border: 2px solid #ffb428;
  color: #ffb428;
  transition: all 0.25s ease-out;
}
.slider .project__details--cta > *:hover, .slider .project__details--cta > *:active {
  color: #f5f5f5;
  background-color: #ffb428;
}
.slider .project__details--cta a {
  text-decoration: none;
}

.slider-button {
  position: absolute;
  z-index: 3;
  top: 50%;
  transform: translateY(-50%);
  border: none;
  width: 4rem;
  height: 4rem;
  border-radius: 50%;
  background-color: #ffb428;
  color: #f5f5f5;
  transition: background-color 0.25s ease-out;
}
.slider-button:active, .slider-button:hover {
  background-color: #ffc04a;
}
.slider-button.next {
  right: 0.75rem;
}

.homepage-header {
  background-image: linear-gradient(rgba(0, 0, 0, 0.5), rgba(0, 0, 0, 0.5)), url("../../assets/images/earth-tech.jpg");
}
.homepage-header :is(a, button, input, textarea):focus-visible {
  outline: max(2px, 0.08em) solid #ffb428 !important;
  outline-offset: 4px !important;
}
@media only screen and (max-width: 62em) and (orientation: landscape) {
  .homepage-header {
    padding: 6rem 0;
  }
}
.homepage-header .main-content {
  z-index: 2;
}
.homepage-header .main-content p {
  letter-spacing: 1.1px;
}
.homepage-header .main-content p:nth-of-type(1) {
  color: #ffc04a;
  animation: fadeUp 0.7s ease-out 200ms forwards;
}
.homepage-header .main-content p:nth-of-type(2) {
  color: #919191;
  animation: fadeUp 0.7s ease-out 400ms forwards;
}
@media only screen and (max-width: 36em) {
  .homepage-header .main-content p:nth-of-type(2) {
    width: 75% !important;
  }
}
.homepage-header .main-content .homepage-heading {
  animation: fadeUp 0.7s ease-out 300ms forwards;
}
.homepage-header .main-content .homepage-heading::before {
  content: "";
  position: absolute;
  inset: 0;
  z-index: -1;
  background: linear-gradient(to right, #d18a06, transparent 60%);
  filter: blur(1rem);
}
.homepage-header .main-content .cta-buttons {
  gap: 1rem;
}
.homepage-header .main-content .cta-buttons > * {
  cursor: pointer;
  outline: none;
  background-color: transparent;
  border: 2px solid #ffb428;
  color: #ffb428;
  padding: 1rem;
  z-index: 1;
  transition: all 0.15s ease-out;
}
.homepage-header .main-content .cta-buttons > *:hover, .homepage-header .main-content .cta-buttons > *:active {
  background-color: #ffb428;
  color: #f5f5f5;
}
.homepage-header .main-content .cta-buttons__download-cv {
  border-radius: 2rem;
  padding-left: 2.2rem;
  padding-right: 2.2rem;
  font-family: "Orbitron", sans-serif;
  font-weight: 700;
  animation: fadeUp 0.7s ease-out 500ms forwards;
}
.homepage-header .main-content .cta-buttons__github, .homepage-header .main-content .cta-buttons__linked-in {
  min-width: 3.25rem;
  min-height: 3.25rem;
  border-radius: 50%;
  animation: fadeUp 0.7s ease-out 600ms forwards;
}
.homepage-header .main-content .cta-buttons__linked-in {
  animation: fadeUp 0.7s ease-out 700ms forwards;
}

.resume-header {
  background-image: linear-gradient(rgba(0, 0, 0, 0.5), rgba(0, 0, 0, 0.5)), url("../../assets/images/earth-tech-blue.jpg");
}
.resume-header :is(a, button, input, textarea):focus-visible {
  outline: max(2px, 0.08em) solid #2cc3ff !important;
  outline-offset: 4px !important;
}
@media only screen and (max-width: 62em) and (orientation: landscape) {
  .resume-header {
    padding: 6rem 0;
  }
}
.resume-header .flex-container {
  gap: 1rem;
  z-index: 2;
}
.resume-header .flex-container > * {
  flex: 1 1 100%;
}
.resume-header .flex-container .main-content .resume-heading {
  animation: fadeUp 0.7s ease-out 300ms forwards;
}
.resume-header .flex-container .main-content .resume-heading::before {
  content: "";
  position: absolute;
  inset: 0;
  z-index: -1;
  background: linear-gradient(to right, #0093cd, transparent 60%);
  filter: blur(1rem);
}
.resume-header .flex-container .main-content .resume-subtext {
  color: #919191;
  letter-spacing: 1.1px;
  animation: fadeUp 0.7s ease-out 400ms forwards;
}
.resume-header .flex-container .main-content .resume-subtext__highlight {
  color: #2cc3ff;
}
.resume-header .flex-container .main-content .tab-buttons {
  gap: 1rem;
}
.resume-header .flex-container .main-content .tab-buttons > * {
  cursor: pointer;
  background-color: transparent;
  padding: 0.8rem 2rem;
  outline: none;
  border: 2px solid #0093cd;
  width: 11rem;
  max-width: 20rem;
  border-radius: 2rem;
  color: #2cc3ff;
  font-family: "Orbitron", sans-serif;
  font-weight: 700;
  transition: all 0.15s ease-out;
}
@media only screen and (max-width: 36em) {
  .resume-header .flex-container .main-content .tab-buttons > * {
    width: 24rem;
    max-width: 30rem;
  }
}
.resume-header .flex-container .main-content .tab-buttons > *:hover, .resume-header .flex-container .main-content .tab-buttons > *:active {
  background-color: #0093cd;
  color: #f5f5f5;
}
.resume-header .flex-container .main-content .tab-buttons__button.active {
  background-color: #0093cd;
  color: #f5f5f5;
}
.resume-header .flex-container .main-content .tab-buttons__button:nth-of-type(1) {
  animation: fadeUp 0.7s ease-out 500ms forwards;
}
.resume-header .flex-container .main-content .tab-buttons__button:nth-of-type(2) {
  animation: fadeUp 0.7s ease-out 600ms forwards;
}
.resume-header .flex-container .main-content .tab-buttons__button:nth-of-type(3) {
  animation: fadeUp 0.7s ease-out 700ms forwards;
}
.resume-header .flex-container .tab-content {
  backdrop-filter: blur(1rem) brightness(40%);
  border-radius: 1rem;
  overflow-y: auto;
  animation: fadeUp 0.7s ease-out 800ms forwards;
}
@media only screen and (max-width: 36em) {
  .resume-header .flex-container .tab-content {
    max-width: 30rem;
    max-height: 14.2rem;
  }
}
.resume-header .flex-container .tab-content__tab {
  display: none;
  padding-left: 0.8rem;
  padding-right: 0.8rem;
}
.resume-header .flex-container .tab-content__tab.active {
  display: block;
}
.resume-header .flex-container .tab-content__tab--heading {
  color: #2cc3ff;
}
.resume-header .flex-container .tab-content__tab--lead-paragraph {
  letter-spacing: 1.1px;
}

.typed-cursor {
  color: #f5f5f5;
}

.projects-header {
  background-image: linear-gradient(rgba(0, 0, 0, 0.5), rgba(0, 0, 0, 0.5)), url("../../assets/images/earth-tech.jpg");
}
.projects-header :is(a, button, input, textarea):focus-visible {
  outline: max(2px, 0.08em) solid #ffb428 !important;
  outline-offset: 4px !important;
}
@media only screen and (max-width: 62em) and (orientation: landscape) {
  .projects-header {
    padding: 6rem 0;
  }
}
.projects-header .projects-container {
  z-index: 2;
}

.contact-header {
  background-image: linear-gradient(rgba(0, 0, 0, 0.5), rgba(0, 0, 0, 0.5)), url("../../assets/images/earth-tech-blue.jpg");
}
.contact-header :is(a, button, input, textarea):focus-visible {
  outline: max(2px, 0.08em) solid #2cc3ff !important;
  outline-offset: 4px !important;
}
@media only screen and (max-width: 62em) and (orientation: landscape) {
  .contact-header {
    padding: 6rem 0;
  }
}
.contact-header .flex-container {
  gap: 1rem;
  z-index: 2;
}
.contact-header .flex-container > * {
  flex: 1 1 100%;
}
.contact-header .flex-container .main-content .contact-heading {
  animation: fadeUp 0.7s ease-out 200ms forwards;
}
.contact-header .flex-container .main-content .contact-heading::before {
  content: "";
  position: absolute;
  inset: 0;
  z-index: -1;
  background: linear-gradient(to right, #0093cd, transparent 60%);
  filter: blur(1rem);
}
.contact-header .flex-container .main-content .contact-details {
  gap: 2rem;
}
@media only screen and (max-width: 36em) {
  .contact-header .flex-container .main-content .contact-details {
    gap: 1rem;
  }
}
.contact-header .flex-container .main-content .contact-details > * {
  display: flex;
  align-items: center;
  gap: 1.4rem;
}
.contact-header .flex-container .main-content .contact-details__item:nth-child(1) {
  animation: fadeUp 0.7s ease-out 300ms forwards;
}
.contact-header .flex-container .main-content .contact-details__item:nth-child(2) {
  animation: fadeUp 0.7s ease-out 400ms forwards;
}
.contact-header .flex-container .main-content .contact-details__item--icon {
  display: flex;
  align-items: center;
  justify-content: center;
  background-color: rgba(44, 195, 255, 0.2901960784);
  color: #f5f5f5;
  border-radius: 1rem;
  width: 5.6rem;
  height: 5.6rem;
}
.contact-header .flex-container .main-content .contact-details__item--content {
  gap: 0.6rem;
  font-size: 1.4rem;
  letter-spacing: 1.1px;
}
.contact-header .flex-container .main-content .contact-details__item--content--label {
  color: #919191;
}
.contact-header .flex-container .main-content .contact-details__item--content--text {
  color: #f5f5f5;
}
.contact-header .flex-container .form-section .contact-form {
  border-radius: 2rem;
  animation: fadeUp 0.7s ease-out 500ms forwards;
}
@media only screen and (max-width: 36em) {
  .contact-header .flex-container .form-section .contact-form {
    width: 30.5rem;
  }
}
.contact-header .flex-container .form-section .contact-form__label {
  color: #4bccff;
  font-family: "Orbitron", sans-serif;
  font-size: 1.4rem;
  font-weight: 700;
}
.contact-header .flex-container .form-section .contact-form__input, .contact-header .flex-container .form-section .contact-form__textarea {
  background-color: rgba(16, 16, 16, 0.6274509804);
  color: #f5f5f5;
  border-radius: 1rem;
  padding: 0.8rem 1rem;
  font-size: 1.1rem;
  border-color: #919191;
  letter-spacing: 1.1px;
}
.contact-header .flex-container .form-section .contact-form__input::placeholder, .contact-header .flex-container .form-section .contact-form__textarea::placeholder {
  color: #919191;
  letter-spacing: 1.1px;
}
.contact-header .flex-container .form-section .contact-form__textarea {
  resize: none;
}
.contact-header .flex-container .form-section .contact-form__submit-btn {
  background-color: #2cc3ff;
  font-size: 1.2rem;
  color: #101010;
  padding: 0 2rem;
  font-family: "Orbitron", sans-serif;
  font-weight: 700;
  border: none;
  border-radius: 2rem;
  transition: color 0.25s ease-out;
}
.contact-header .flex-container .form-section .contact-form__submit-btn:hover, .contact-header .flex-container .form-section .contact-form__submit-btn:active {
  color: #f5f5f5;
}
