:root {
   --bg-color_primary: #cdcdcd;
   --bg-color_secondary: #1c1d25;
   --accent-color: #2563eb;
   --text-color: #000;
   --button-color: #b0b2c3;
   --button-hover: #fff;
}

* {
   margin: 0;
   padding: 0;
   box-sizing: border-box;
   scroll-behavior: smooth;
   scrollbar-width: none;
}

html,
body {
   background-color: var(--bg-color_primary);
   font-family: "Play", sans-serif;
   font-optical-sizing: auto;
   font-size: large;
   font-style: normal;
}
body {
   display: flex;
   flex-direction: column;
}

.content {
   flex-grow: 1;
}

.container {
   max-width: 90vw;
   margin: 0 auto;
   padding: 0 10px;
}

header {
   top: 0;
   height: 4.5rem;
   position: sticky;
   background-color: var(--bg-color_secondary);
   padding: 0.75rem 0;
   z-index: 10;
   color: var(--text-color);
  
}

header .header__wrapper {
   display: flex;
   justify-content: space-between;
   align-items: center;
}

.header__logo__img {
   max-width: 10rem;
}

.header__navigation {
   margin: 0;
   padding: 0;
   list-style-type: none;

   &.header__navigation li {
      display: inline;
      padding-right: 0.6rem;
      padding-left: 0.6rem;
   }

   &.header__navigation a,
   label {
      display: inline-block;
      padding: 0.5rem;
      outline: none;
      color: var(--bg-color_primary);
      cursor: pointer;
      text-decoration: none;
      text-align: center;
      opacity: 0.9;
      font-family: "Play", sans-serif;
      font-size: clamp(16px, 1.5vw, 22px);
      font-weight: 600;
      font-style: normal;
      text-transform: uppercase;

      &:hover {
         color: var(--button-hover);
         transition: 0.8s;
         text-decoration: overline underline;
         text-decoration-thickness: 2px;
         text-underline-position: under;
      }

      &:active {
         text-shadow: 0px 0px 10px var(--accent-color);
         transition: 0.1s;
      }
   }
}

nav {
   color: var(--button-color);
   text-align: center;
}
.header__navigation label {
   display: none;
}

input[type="checkbox"] {
   display: none;
}

.about,
.contacts {
   padding-top: 5rem;
   display: flex;
   justify-content: space-around;
   align-items: center;
   min-height: calc(100vh - 5rem);
   flex-wrap: wrap;
}
.about__photo {
   display: flex;
   flex-direction: column;
   justify-content: center;
   width: 35%;
}

.about__image {
   display: block;
   margin: 0 auto;
   padding: 10%;
}

.about__text {
   display: flex;
   flex-direction: column;
   justify-content: center;
   width: 65%;
   padding: 2rem;
}
.about__h1 {
   text-align: center;
   padding-bottom: 3rem;
   font-size: clamp(36px, 4vw, 48px);
   font-weight: 700;
   text-transform: uppercase;
}

.skills,
.projects {
   display: grid;
   padding-top: 5rem;
   grid-template-rows: auto;
   align-items: stretch;
   min-height: calc(100vh - 5rem);
}

.h1_other {
   text-align: center;
   padding-bottom: 1rem;
   font-size: clamp(22px, 2vw, 36px);
   font-weight: 700;
   text-transform: uppercase;
}

.skills {
   grid-template-columns: 1fr 1fr 1fr;
   & p {
      padding-top: 3rem;
   }
}
.projects {
   display: grid;
   grid-template-columns: 1fr 1fr 1fr 1fr;
   & p {
      padding-top: 2rem;
   }
}

.skill,
.project {
   grid-row: 1;
   padding: 1rem;
   margin: 1rem;
   height: fit-content;
   max-width: 100%;
   -webkit-transition: 0.5s ease;
   -moz-transition: 0.5s ease;
   &:hover {
      transform: scale(1.03);
      opacity: 80%;
      transition: ease-in-out 0.5s;
   }
}

.contacts {
   display: flex;
   flex-direction: column;

   padding-bottom: 2rem;
}
.contact_form {
   width: 70%;
   flex-direction: column;
   justify-content: space-around;
}

.form__message {
   min-height: 15rem;
}
footer {
   padding: 0.7rem;
   text-align: center;
   background-color: var(--bg-color_secondary);
   color: var(--button-color);
   max-height: 3rem;
}

@media screen and (max-width: 1024px) {
   .about,
   .skills,
   .projects {
      min-width: 90%;
   }
   .about__photo,
   .form {
      min-width: 60%;
   }
   .about__text {
      min-width: 100%;
      margin: 0;
   }
   p {
      font-size: small;
   }
   .skill,
   .project {
      min-width: 80%;
   }
}
label :hover {
   transform: scale(1.1);
   opacity: 80%;
   transition: ease-in-out 0.3s;
}
.text_justify {
   text-align: justify;
}

@media screen and (max-width: 768px) {
   .header__navigation label {
      display: inline-block;
      width: 9rem;
   }
   nav > ul {
      display: none;
   }
   input[type="checkbox"]:checked ~ label + ul {
      display: block;
      width: 144px;
   }

   .header__logo__img {
      display: none;
   }
   .header__navigation {
      background-color: var(--bg-color_secondary);
      opacity: 80%;
   }
   .header__logo__min {
      height: 0.8rem;
      filter: drop-shadow(2px 2px 80px #b0b2c3);
      margin: 0 auto;
      padding-bottom: 0.1rem;
   }
   .about,
   .skills,
   .projects {
      display: flex;
      flex-direction: column;
      min-width: 90%;
   }
   .form {
      min-width: 60%;
      margin-bottom: 1rem;
   }
   .about__image {
      padding: 0;
   }
   .about__text {
      padding: 0.1rem;
   }
   .skill,
   .project {
      min-width: 80%;
      flex-wrap: wrap;
   }
}
