/* ------------------------------------
*  HEADER
* ------------------------------------
*/
header {
  color: var(--green);
  width: 100%;

  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: space-between;
}

@media (max-width: 1080px) {
  header {
    position: sticky;
    top: 0;
    z-index: 10;
  }
}

header .wrapper {
  background-color: var(--gray);
  width: 100%;
  display: flex;
  gap: var(--gap);
  align-items: center;
  padding: 3rem var(--padding);
  position: relative
}

header .logo {
  display: flex;
  align-items: center;
  justify-content: center;
  margin: auto;
  z-index: 1;
  position: relative;
  overflow: visible;
  flex-grow: 1;
  width: 100%;
  flex-shrink: 1;
}

.logo img {
    height: auto;
    width: 100%;
}

@media (min-width: 1081px) {
  header .logo {
    width: 90%;
    flex-grow: 0;
  }

  .logo img {
    height: auto;
    width: var(--width);
    max-width: var(--width);
    margin-left: calc(0px - (var(--width) - (var(--width) * 0.9)) / 2);
    margin-right: calc(0px - (var(--width) - (var(--width) * 0.9)) / 2);
    pointer-events: none;
  }
}

#hamburger {
  position: absolute;
  width: 4rem;
  background: none;
  cursor: pointer;
  color: var(--green);
  border-top: 1rem solid var(--gray);
  border-bottom: 1rem solid var(--gray);
  background-color: currentColor;
  box-sizing: border-box;
  right: calc(var(--padding));
  top: 5rem;
  transform: translateY(-50%);
  z-index: 5;
  height: .4rem;
  transition: all 0.3s ease-in-out;
  box-sizing: content-box;
}

@media (max-width: 1080px) {
  #hamburger {
    position: relative;
    top: auto;
    right: 0;
  }
}

#hamburger::before,
#hamburger::after {
  content: "";
  position: absolute;
  left: 0;
  width: 100%;
  height: inherit;
  border: none;
  background-color: currentColor;
  transition: all 0.3s ease-in-out;
}

#hamburger::before {
  bottom: 1rem;
}

#hamburger::after {
  top: 1rem;
}

#hamburger[aria-expanded="true"] {
  /* border-top: none; */
  background-color: transparent;
}

#hamburger[aria-expanded="true"]::before {
  bottom: 50%;
  left: 50%;
  transform: rotate(45deg);
  transform: translateY(50%) translateX(-50%) rotate(45deg);
}

#hamburger[aria-expanded="true"]::after {
  top: 50%;
  left: 50%;
  transform: rotate(-45deg);
  transform: translateY(-50%) translateX(-50%) rotate(-45deg);
}

#main_menu {
  padding: 5rem;
  display: flex;
  flex-direction: column;
  gap: 3rem;
  font-size: var(--h2);
  background-color: var(--white);
  width: 100%;
}

#main_menu ul {
  display: flex;
  flex-direction: column;
  align-items: center;
}


/* ------------------------------------
*  NAVIGATION
* ------------------------------------
*/
nav ul li {
  display: inline-block;
  list-style-type: none;
  position: relative;
}

nav ul li:last-child {
  margin-right: 0;
}

nav ul li a {
  transition: all 0.2s ease;
}

nav ul li a:hover {
  color: var(--gray);
}

/* ------------------------------------
*  FOOTER
* ------------------------------------
*/
footer {
  background: var(--gray);
  color: var(--green);
  width: 100%;
  font-size: var(--box);

  align-items: center;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
}

footer p a {
  text-decoration: underline;
}

footer h2 {
  font-size: var(--footer);
  text-transform: none;
  font-weight: var(--bold, 600);
  font-family: var(--font, 'NotoSans'), 'RobotoFlex', 'Rubik', sans-serif;
}

footer .logo {
  width: 55%;
  height: auto;
}

footer img {
  height: 20rem;
  width: auto;
}

footer .wrapper {
  width: 100%;
  padding: 3rem var(--padding);
  display: flex;
  justify-content: space-between;
  gap: 3rem;
}

footer .wrapper div {
  display: flex;
  flex-direction: column;
  max-width: fit-content;
}

footer .links {
  width: 100%;
  padding: 1rem var(--padding);
  background-color: var(--green);
  color: var(--white);

  font-size: var(--footer);
  list-style: none;
  font-weight: var(--bold, 700);

  display: flex;
  justify-content: flex-end;
  gap: 0 var(--gap);
  flex-wrap: wrap;
}

footer div {
  width: 100%;
  height: auto;
}

footer span {
  margin-bottom: 1rem;
}

footer .copyright {
  padding: 1rem 2rem;
  margin-left: auto;
  background-color: var(--white);
  display: flex;
  justify-content: flex-end;
}


@media screen and (max-width: 850px) {
  footer .wrapper {
    width: 100%;
    padding: 3rem var(--padding);
    display: flex;
    justify-content: flex-start;
    gap: 5rem 3rem;
    flex-wrap: wrap;
    align-items: flex-end;
  }

  footer .logo {
    width: 100%;
  }
}