/*universal selectors*/
:root {
  --schwarz: black;
  --weiss: white;
  --zw-dunkelgrau: #3f4a47;
  --zw-blau: #89c0bd;
}

* {
  box-sizing: border-box;
}

*::selection {
  background-color: var(--weiss);
  color: var(--zw-dunkelgrau);
}

*:focus-visible {
  box-shadow: 0 0 0 0.3rem var(--weiss);
  outline: none;
}

html {
  font-size: 22px;
  scroll-behavior: smooth;
  overflow: hidden;
}

a {
  color: var(--zw-dunkelgrau);
  text-decoration: none;
}

body {
  margin: 0;
  background-color: var(--zw-dunkelgrau);
  font-family: "Nunito", sans-serif;
  font-weight: 500;
  line-height: 150%;
  letter-spacing: 2%;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  height: 100vh;
}

.logo-wrapper {
  padding: 5rem 5rem 5rem 5rem;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 5rem;
}

.logo {
  width: 75%;
}
.subline {
  width: 35%;
}

footer {
  background-color: var(--zw-blau);
  color: var(--zw-dunkelgrau);
  padding: 2rem;
  display: flex;
  gap: 2rem;
  justify-content: space-between;
  align-items: center;
}

.white {
  color: var(--weiss);
}

.link-wrapper {
  display: flex;
  gap: 2rem;
  align-items: center;
}

.icon {
  height: 3rem;
}

@media screen and (max-width: 1500px) {
  .logo-wrapper {
    gap: 4rem;
  }
}

@media screen and (max-width: 1300px) {
  .logo-wrapper {
    padding: 4rem;
    gap: 3rem;
  }
}

@media screen and (max-width: 1100px) {
  html {
    font-size: 16px;
  }
}

@media screen and (max-width: 750px) {
  footer {
    flex-direction: column;
    align-items: start;
  }

  .logo {
    width: 100%;
  }

  .subline {
    width: 75%;
  }

  .logo-wrapper {
    padding: 4rem 2rem 2rem 2rem;
    gap: 2rem;
  }

  footer {
    padding: 2rem 2rem 6rem 2rem;
  }
}
