/* Typography */
html {
  font-family: 'Roboto', sans-serif;
}

@media (min-width: 576px) {
  html {
    font-size: 14px;
  }
}

@media (min-width: 768px) {
  html {
    font-size: 16px;
  }
}

@media (min-width: 992px) {
  html {
    font-size: 18px;
  }
}

@media (min-width: 1200px) {
  html {
    font-size: 20px;
  }
}

.icons-social i {
  font-size: 3em;
}

/* Custom Styles */
body {
  font-family: 'Roboto', sans-serif;
  margin: 0;
  padding: 0;
  background-color: #FAFAFA;
  color: #333;
  display: flex;
  flex-direction: column;
  height: 100vh;
}

main {
  display: flex;
  flex-direction: column;
  flex-grow: 1; /* Позволяет main занимать все доступное пространство */
  justify-content: center;
  padding: 0 30px;
  text-align: center;
}

main > .intro {
  font-family: 'Reem Kufi', sans-serif;
  font-size: 3.75em;
  font-weight: 600;
}

main > .tagline {
  font-size: 1.5rem;
  margin: 1.5rem 0;
  font-weight: 100;
}

.icons-social i {
  padding: 10px;
}

.icons-social a {
  text-decoration: none;
}

.devto {
  margin-bottom: -0.20rem;
}

.devto svg {
  margin-bottom: -0.20rem;
  margin-left: 0.675rem;
  width: 2.65rem;
  height: 2.65rem;
}

/* Footer Styles */
footer {
  text-align: center;
  padding: 20px;
  background-color: #303F9F;
  color: #FAFAFA;
  font-size: 1.2rem;
}

footer a {
  color: #FAFAFA;
  text-decoration: none;
}

footer a:hover {
  text-decoration: underline;
}

footer hr {
  margin: 0;
  border: 0;
  border-top: 1px solid #FAFAFA;
}

footer p {
  margin-top: 20px;
}

/* Social Icons */
.icons-social {
  display: flex;
  justify-content: center;
  gap: 15px;
}

.icons-social a {
  color: #303F9F;
  transition: color 0.3s ease;
}

.icons-social a:hover {
  color: #FAFAFA;
}

.icons-social i {
  font-size: 2.5rem;
}

/* Responsive Design */
@media (max-width: 768px) {
  .intro {
    font-size: 2.5em;
  }

  .tagline {
    font-size: 1.2rem;
  }
}
