:root {
  --main-color: rgb(14, 17, 17);
  --font-color: rgb(255, 255, 255);
  --secondary-color: rgb(31, 24, 24);
  --link-color: #6ca9ea;
  --gap: 16px;
  --gap-minimum: 10px;
}
html {
  box-sizing: border-box;
}

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

html {
  background-color: var(--secondary-color);
  color: var(--font-color);
}

body,
header,
main,
footer,
img,
h1,
h2,
ul,
p {
  margin: 0;
}

.main,
.name,
.description,
.links {
  margin-bottom: var(--gap);
}

a {
  color: #6ca9ea;
  text-decoration: none;
  transition: color 0.7s;
}

a:hover,
a:focus,
a:active {
  opacity: 0.9;
}

body {
  min-height: 100vh;
  display: flex;
  flex-direction: column;
  background-color: var(--main-color);
  width: 300px;
  margin: 0 auto;
  text-align: center;
  padding: var(--gap);
  overflow: hidden;
}

.header {
  position: relative;
  margin-bottom: 47px;
}

.footer {
  margin-top: auto;
}

.name {
  font-size: 24px;
}

.nickname {
  font-size: 22px;
}

.avatar {
  height: 200px;
  object-fit: cover;
  border-radius: 50%;
  border: 2px solid var(--link-color);
}

.language {
  position: absolute;
  top: 0;
  right: 0;
}

.links {
  display: flex;
  justify-content: center;
  gap: 5px;

  list-style: none;
  padding: 0;
}

.linkedin-icon-svg,
.github-icon-svg,
.telegram-icon-svg {
  --link-size: 35px;
  width: var(--link-size);
  height: var(--link-size);
}

.large-button {
  display: block;
  line-height: 50px;
  text-align: center;

  border-radius: 25px;
  border: 2px solid var(--link-color);
  font-size: 21px;
  font-weight: 700;

  transition: 0.4s ease-in-out;
  opacity: unset;
  &:hover {
    background-color: var(--link-color);
    color: var(--font-color);
  }
}

@media screen and (min-width: 450px) {
  body {
    width: 300px;
  }
}

@media screen and (min-width: 576px) {
  body {
    width: 400px;
    .name {
      font-size: 32px;
    }
    .nickname {
      font-size: 28px;
    }
  }
}
