@import url("https://mxmst.ru/fonts/mont_lato.css");


* {
  margin: 0;
  padding: 0;
  box-sizing: border-box;
  font-family: Montserrat, Lato, sans-serif;
  color: #fafafa;
  text-decoration: none;
  line-height: 1.4;
  -webkit-tap-highlight-color: transparent;
  scrollbar-width: thin;
  scrollbar-color: #222 transparent;
}

*::-webkit-scrollbar {
  width: 1rem;
}
*::-webkit-scrollbar-track {
  background: transparent;
}
*::-webkit-scrollbar-thumb {
  background-color: #222;
  border-radius: 10px;
}

:root {
  --content-width: 1000px
}

div, header, footer, main, article, section, aside, nav, body {
  display: flex;
  flex-direction: column;
}

img, svg {
  display: block;
}

h1, h2, h3, h4, h5, h6 {
  line-height: 1;
}

body {
  background-color: #111;
  align-items: center;
  min-height: 100dvh;
  gap: 2rem;
  overflow-x: hidden;
}

h2 {
  font-size: 2rem;
}

header {
  flex-direction: row;
  width: 90vw;
  max-width: var(--content-width);
  padding: 2rem 0;
  justify-content: space-between;
  align-items: center;

  & img {
    height: 2.2rem;
  }

  & nav {
    flex-direction: row;
    align-items: center;
    gap: 1rem;
    height: min-content;

    & a {
      display: block;
      transition: .1s;

      & svg {
        height: 2rem;

        & path {
          fill: #333;
          transition: .15s;
        }

        &:hover path {
          fill: #fafafa;
        }
      }

      &:active svg {
        transform: scale(.96);
      }
    }
  }
}

.main-content {
  flex-direction: row;
  width: 90vw;
  max-width: var(--content-width);
  gap: 3rem;

  & main {
    gap: 3rem;
    width: 100%;

    & article {
      gap: 1.4rem;

      & img {
        --border-radius: 1rem;

        max-width: 100%;
        -webkit-border-radius: var(--border-radius);
        -moz-border-radius: var(--border-radius);
        border-radius: var(--border-radius);
      }

      & > a {
        --border-radius: .6rem;

        display: block;
        width: 100%;
        text-align: center;
        padding: .8rem;
        border: 1px solid #fafafa;
        -webkit-border-radius: var(--border-radius);
        -moz-border-radius: var(--border-radius);
        border-radius: var(--border-radius);
        transition: .2s;

        &:active {
          transform: scale(.98);
        }
      }
    }
  }

  & aside {
    max-width: 300px;
    padding: 1rem 0;
  }
}

.portfolio-header {
  gap: 1rem;

  & h1 {
    font-size: 3rem;
  }

  & h3 {
    font-weight: 400;
    line-height: 1.4;
  }
}

.about {
  gap: 1rem;
  position: sticky;
  top: 3rem;

  & img {
    --border-radius: 1.2rem;

    -webkit-border-radius: var(--border-radius);
    -moz-border-radius: var(--border-radius);
    border-radius: var(--border-radius);
  }

  & .photo-inscription {

    & .about-name {
      font-weight: 600;
      font-size: 1.9rem;
    }

    & .about-nickname {
      font-weight: 300;
      font-size: 1.2rem;
    }
  }
}

@media screen and (max-width: 900px) and (min-width: 701px) {
  aside {
    max-width: 200px;
  }
}

@media screen and (max-width: 700px) {
  header {
    padding-bottom: 0;
  }

  .main-content {
    flex-direction: column-reverse;
    align-items: center;
  }

  aside {
    width: 100%;
    max-width: none;

    & img {
      max-width: 300px;
    }
  }

}

footer {
  border-top: 1px solid #666;
  margin-top: 3rem;
  padding: 3rem;
  width: 100%;
  align-items: center;
  /*background-color: #141414;*/

  & .footer-content {
    flex-direction: row;
    gap: 3rem;
    width: 90vw;
    max-width: var(--content-width);
    justify-content: space-between;

    & main {
      gap: 1.6rem;
      justify-content: space-between;

      & a {
        width: fit-content;
        transition: .2s transform;

        & img {
          height: 3rem;
        }

        &:active {
          transform: scale(.95);
        }
      }

      & h3 {
        font-size: 1.6rem;
      }

      & .footer-text {
        gap: .6rem;
      }
    }

    & aside {
      gap: 1.5rem;
      justify-content: space-between;
      padding-bottom: .5rem;
      width: fit-content;
      padding-right: 2rem;

      & .footer-links {
        gap: 0.8rem;

        & a {
          font-size: 1.1rem;
        }
      }

      & nav {
        flex-direction: row;
        align-items: center;
        gap: 1rem;
        height: min-content;

        & a {
          display: block;
          transition: .1s;

          & svg {
            height: 1.8rem;

            & path {
              fill: #fafafa;
              transition: .15s;
            }
          }

          &:active svg {
            transform: scale(.96);
          }
        }
      }
    }
  }

  @media screen and (max-width: 700px) {
    & aside {
      padding-right: 0 !important;
    }
  }

  @media screen and (max-width: 450px) {
    & .footer-content {
      flex-direction: column;
    }
  }
}

@media (max-height: 650px) and (min-width: 701px) {
  .about {
    position: inherit;
  }
}

@media screen and (max-width: 400px) {
  header nav a:not(:first-child) {
    display: none;
  }
}
