@font-face {
  font-family: "Jura";
  src: url("fonts/Jura-VariableFont_wght.woff2") format("woff2");
  font-weight: 300 700;
  font-style: normal;
  font-display: swap;
}

@font-face {
  font-family: "Orbitron";
  src: url("fonts/Orbitron-VariableFont_wght.woff2") format("woff2");
  font-weight: 400 900;
  font-style: normal;
  font-display: swap;
}

* {
  margin: 0;
  padding: 0;
  box-sizing: border-box;
}

html {
  scroll-behavior: smooth;
}

a {
  text-decoration: none;
}

ul {
  list-style: none;
}

button {
  background: none;
  border: none;
  padding: 0;
  margin: 0;
  font: inherit;
  color: inherit;
  cursor: pointer;
}

input,
textarea {
  all: unset;
  box-sizing: border-box;
}

body {
  font-family: "Jura", sans-serif;
  font-size: 16px;
  letter-spacing: 0.0012em;
  line-height: 1.4;
  background-color: black;
  color: white;
}

h1,
h2,
h3,
h4,
h5,
h6 {
  font-family: "Orbitron", sans-serif;
  line-height: 1.4;
  font-style: normal;
  letter-spacing: 0.0012em;
  color: rgba(255, 255, 255, 1);
}

h1,
h2,
h3,
h4 {
  -webkit-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none;
}

.container {
  position: relative;
  width: 100%;
  max-width: 1440px;
  margin: 0 auto;
  padding: 0 60px;
}

/* HEADER START */
.h-wrap {
  display: flex;
  justify-content: space-between;
  margin-top: 30px;
}

.language {
  position: relative;
  display: flex;
  flex-direction: column;
  gap: 10px;
  width: 92px;
  min-height: 36px;
  max-height: 36px;
  overflow: hidden;
  padding: 6px 12px;
  border-radius: 18px;
  font-size: 16px;
  font-weight: 700;
  background-color: rgba(255, 255, 255, 0.2);
  backdrop-filter: blur(8px);
  -webkit-backdrop-filter: blur(8px);
  border: 1px solid rgba(255, 255, 255, 0.4);
  box-shadow:
    inset 1px 1px 0px rgba(255, 255, 255, 0.4),
    0 8px 20px rgba(0, 0, 0, 0.1);
  transition:
    padding 0.3s ease,
    border-radius 0.5s ease,
    max-height 0.5s ease,
    height 0.5s ease,
    background-color 0.3s ease;
  cursor: pointer;
}

.language:not(.open):not(.closing):hover {
  background-color: rgba(255, 255, 255, 0.5);
}

.language.open {
  border-radius: 20px;
  height: auto;
  max-height: 152px;
  padding: 8px 12px 15px 12px;
  background-color: rgba(255, 255, 255, 0.2);
  z-index: 1;
}

.language::after {
  position: absolute;
  content: "";
  width: 100%;
  height: 100%;
  inset: 0;
  z-index: -1;
}

.language > .language-actual {
  display: flex;
  justify-content: center;
}

.language > .language-actual > span {
  display: flex;
  justify-content: center;
  align-items: center;
  transition: transform 0.3s ease;
}

.language.open > .language-actual > span:nth-of-type(2) {
  transform: rotate(180deg);
}

.language > ul {
  display: flex;
  flex-direction: column;
  gap: 10px;
}

.language > ul > li {
  display: flex;
  align-items: center;
  justify-content: center;
  border: 0.5px solid white;
  border-radius: 80px;
}

.language > ul > li:hover {
  background-color: rgba(255, 255, 255, 0.5);
}

.language > ul > li:active {
  background-color: rgba(0, 0, 0, 0.1);
}

.language > .language-actual > span:nth-of-type(1) {
  width: 39px;
}

.language > .language-actual > span:nth-of-type(2) {
  width: 24px;
  height: 24px;
}

.nav-wrap {
  z-index: 1;
  display: flex;
  flex-direction: column;
  align-items: self-end;
  gap: 30px;
}

.theme-control {
  position: relative;
  width: 66px;
  height: 28px;
  border-radius: 18px;
  background-color: rgba(235, 239, 246, 0.2);
  backdrop-filter: blur(4px) saturate(120%);
  -webkit-backdrop-filter: blur(4px) saturate(120%);
  box-shadow:
    inset 0 1px 0 rgb(255 255 255 / 20%),
    inset 0 -1px 0 rgb(0 0 0 / 12%),
    0 0 0 1px rgb(255 255 255 / 18%);
}

.theme-control > label {
  position: absolute;
  width: 40px;
  height: 24px;
  background-color: rgb(4, 2, 15, 1);
  border-radius: 80px;
  left: 2px;
  top: 50%;
  transform: translate(0%, -50%);
  cursor: pointer;
}

.theme-control > label > input {
  position: absolute;
  width: 1px;
  height: 1px;
  top: 0;
  left: 0;
  background-color: rgb(4, 2, 15, 1);
}

.nav-wrap > nav > ul {
  display: flex;
  flex-direction: column;
  align-items: flex-end;
  gap: 6px;
}

.nav-wrap > nav > ul > li {
  display: flex;
}

.nav-wrap > nav > ul > li > a {
  color: white;
  font-size: 36px;
  font-weight: 600;
  line-height: 140%;
  cursor: pointer;
}

/* HEADER END */

/* MAIN START */
.m-wrap {
  display: flex;
}
/* HOME PAGE START */
.m-homepage {
  width: 100%;
}

.hero {
  display: flex;
  flex-direction: column;
  gap: 50px;
  transform: translateY(-150px);
}

.hero-title {
  position: relative;
  display: flex;
  flex-direction: column;
  margin-left: 8px;
}

.hero-title > h2 {
  position: relative;
  font-weight: 400;
  font-size: 150px;
  margin-top: -54px;
  margin-left: -8px;
  color: transparent;
  background-image: linear-gradient(to bottom, rgba(130, 130, 130, 0.8) 60%, rgba(255, 255, 255, 1) 100%);
  -webkit-background-clip: text;
  background-clip: text;
  -webkit-text-stroke: 1px rgba(255, 255, 255, 0.5);
}

.hero-title > h1 {
  font-size: 200px;
  font-weight: 500;
  margin-top: -127px;
  margin-left: -12px;
  color: white;
}

.hero-title > h3 {
  width: fit-content;
  margin-top: -68px;
  margin-right: 118px;
  margin-left: auto;
  font-weight: 400;
  font-size: 130px;
  color: transparent;
  background-image: linear-gradient(135deg, rgba(255, 255, 255, 0.8) 0%, rgba(255, 255, 255, 0.2) 100%);
  -webkit-background-clip: text;
  background-clip: text;
  -webkit-text-stroke: 1px rgba(255, 255, 255, 0.5);
}

.hero-title > h4 {
  width: fit-content;
  font-weight: 400;
  font-size: 120px;
  margin-top: -92px;
  margin-left: 381px;
  color: transparent;
  background-image: linear-gradient(135deg, rgba(255, 255, 255, 0.8) 0%, rgba(255, 255, 255, 0.2) 100%);
  -webkit-background-clip: text;
  background-clip: text;
  -webkit-text-stroke: 1px rgba(255, 255, 255, 0.5);
}

.hero-cta {
  position: relative;
  display: flex;
  flex-direction: column;
  gap: 50px;
}

.hero-name {
  font-size: 64px;
  font-weight: 600;
  line-height: 125%;
  margin-left: 30px;
}

.hero-btns {
  display: flex;
  gap: 47px;
  height: 93px;
  margin-left: 255px;
}

.hero-btns > a {
  display: flex;
  align-items: center;
  justify-content: center;
  text-align: center;
  height: 100%;
  border-radius: 50px;
}

.hero-btns > a:nth-of-type(1) {
  position: relative;
  overflow: hidden;
  font-size: 32px;
  font-weight: 700;
  color: black;
  background-color: rgba(255, 255, 255, 0.7);
  width: 395px;
}

.hero-btns > a:nth-of-type(2) {
  font-size: 30px;
  font-weight: 500;
  color: white;
  width: 315px;
  border: 0.5px solid #c9c9c9;
  background-color: rgba(255, 255, 255, 0.1);
}

.hero-socials {
  position: absolute;
  z-index: 1;
  display: flex;
  justify-content: center;
  align-items: center;
  flex-direction: column;
  gap: 25px;
  top: -293px;
  right: 0;
}

.hero-socials > div {
  display: flex;
  cursor: pointer;
}

.aboutme {
  margin-top: 120px;
}

.about-wrap {
  display: flex;
  justify-content: space-between;
  width: 100%;
}

.about-wrap > .bl-l {
  display: flex;
  justify-content: flex-end;
  flex-direction: column;
  gap: 30px;
  max-width: 650px;
  width: 100%;
}

.about-title {
  font-size: 64px;
  font-weight: 600;
  line-height: 125%;
}

.about-text {
  font-size: 32px;
  font-weight: 400;
  line-height: 126%;
}

.about-wrap > .bl-r {
  display: flex;
  max-width: 558px;
  width: 558px;
  height: 558px;
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
  background-image: url("img/photo-lg.webp");
  border-radius: 50%;
  border: 1px solid #16a5a5;
}

.sk-wrap {
  display: flex;
  justify-content: space-evenly;
  width: 100%;
  margin-top: 281px;
}

.sk-wrap > .bl-l {
  display: flex;
  flex-direction: column;
  gap: 50px;
  max-width: 538px;
  width: 100%;
}

.sk-wrap > .bl-r {
  display: flex;
  flex-direction: column;
  gap: 50px;
  max-width: 426px;
  width: 100%;
}

.skill-l-title,
.skill-r-title {
  text-align: center;
  font-size: 48px;
  font-weight: 500;
  line-height: 125%;
}

.bl-l > ul,
.bl-r > ul {
  display: flex;
  flex-direction: column;
  gap: 35px;
}

.bl-l > ul > li,
.bl-r > ul > li {
  position: relative;
  display: flex;
  justify-content: center;
  align-items: center;
  height: 90px;
  border-radius: 50px;
  border: 1px solid #c9c9c9;
  background: rgb(255 255 255 / 10%);
  font-size: 24px;
  font-weight: 400;
}

.contact {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 60px;
  margin-top: 198px;
  margin-bottom: 262px;
}

.contact-title {
  text-align: center;
  font-size: 64px;
  font-weight: 600;
  line-height: 125%;
}

.cont-form-wrap {
  display: flex;
  flex-direction: column;
  max-width: 426px;
  min-width: 272px;
  width: 100%;
}

.cont-from {
  display: flex;
  flex-direction: column;
  gap: 24px;
}

.cont-form-wrap label {
  font-size: 20px;
  font-weight: 600;
  line-height: 125%;
}

.cont-form-wrap input {
  width: 100%;
  height: 56px;
  background-color: rgb(255 255 255 / 10%);
  font-size: 16px;
  font-weight: 700;
  line-height: 125%;
  border-radius: 80px;
  padding: 0 24px;
  color: rgb(255 255 255 / 70%);
}

.cont-form-wrap input::placeholder {
  font-size: 16px;
  font-weight: 700;
  line-height: 125%;
  color: rgb(255 255 255 / 70%);
}

.cont-form-wrap .bl-one {
  display: flex;
  flex-direction: column;
  gap: 24px;
}

.cont-form-wrap .bl-one > div,
.cont-form-wrap .bl-two > .bl-inp-social {
  display: flex;
  flex-direction: column;
  gap: 9px;
}

.cont-form-wrap .bl-one > .bl-social {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 24px;
}

.cont-form-wrap .bl-one > .bl-social > .social-text {
  display: flex;
  flex-direction: column;
  text-align: center;
  font-size: 20px;
  font-weight: 600;
  line-height: 125%;
  pointer-events: none;
}

.cont-form-wrap .bl-one > .bl-social > .socials-icons {
  display: flex;
  gap: 23px;
  cursor: pointer;
}

.cont-from > .cont-btn-send {
  align-self: center;
  width: 244px;
  height: 63px;
  margin-top: 16px;
  border: 1px solid #c9c9c9;
  border-radius: 80px;
  background-color: rgb(255 255 255 / 70%);
  font-size: 24px;
  font-weight: 600;
  line-height: 125%;
  color: white;
}

/* HOME PAGE END */
/* MAIN END */

/* DECOR ELEMENTS START */
.decor-element {
  display: none;
}

.layer-texture-one {
  display: none;
  position: absolute;
  width: 872px;
  height: 805px;
  background: url(img/texture-lg.svg) center / contain no-repeat;
  top: -270px;
  right: -230px;
}

.layer-gradient {
  width: 647px;
  height: 661px;
  background: radial-gradient(circle, rgba(120, 12, 255, 1), transparent);
  border-radius: 50%;
  filter: blur(140px);
  top: -150px;
  right: -100px;
}

.layer-cube {
  width: 700px;
  height: 700px;
  aspect-ratio: 1 / 1;
  background: url(img/cube-md.svg) center / contain no-repeat;
  top: -380px;
  right: -120px;
  transform: rotate(-88deg);
  opacity: 0.6;
}
/* DECOR ELEMENTS END */
