html {
  font-size: 18px;
  --aad-black-rgb: 14 14 14;
  --aad-black: rgb(var(--aad-black-rgb));
  --aad-white-rgb: 236 236 236;
  --aad-white: rgb(var(--aad-white-rgb));
  --aad-orange-rgb: 228 153 14;
  --aad-orange: rgb(var(--aad-orange-rgb));
  --aad-orange-dark-rgb: 199 91 22;
  --aad-orange-dark: rgb(var(--aad-orange-dark-rgb));

  font-family:
    -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen-Sans, Ubuntu,
    Cantarell, "Helvetica Neue", sans-serif;
  background: var(--aad-black);
  color: var(--aad-white);
}

body {
  line-height: 1.6;
}

h1,
h2,
h3 {
  font-weight: 500;
}

h1 {
  font-size: 3em;
}
h2 {
  font-size: 2em;
}

a {
  color: var(--aad-orange);
}

.container {
  max-width: 950px;
  margin: 0 auto;
  padding-left: 2em;
  padding-right: 2em;

  /** reset to full width */
  .container-reset {
    width: 100vw;
    position: relative;
    left: 50%;
    margin-left: -50vw;
  }
}

@media only screen and (max-width: 600px) {
  .container {
    padding-left: 1em;
    padding-right: 1em;
  }
}

/* h1 { */
/*   font-size: 3.625em; */
/*   font-weight: 400; */
/* } */
/**/
/* h2 { */
/*   font-size: 3em; */
/*   font-weight: 400; */
/* } */
/**/
/* h3 { */
/*   font-size: 1.8em; */
/*   font-weight: 400; */
/* } */

/* --------- UTILS ------------ */
.flex {
  display: flex;
}

.flex-1 {
  flex: 1;
}

justify-center {
  justify-content: center;
}

items-center {
  align-items: center;
}

/* --------- NAV ------------ */
header {
  font-size: 0.85em;
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding-top: 2em;
  padding-bottom: 2em;

  .site-logo {
    line-height: 0;
  }

  .hamburger {
    border: none;
    background: none;
    color: white;
    font-size: 2em;

    display: none;
    flex-direction: column;
    cursor: pointer;

    span {
      height: 3px;
      width: 25px;
      background-color: white;
      margin-bottom: 4px;
      border-radius: 5px;
    }
  }

  ul {
    display: flex;
    justify-content: flex-end;

    li {
      font-size: 1em;
      list-style: none;
      margin-left: 2em;

      a {
        text-decoration: none;
        color: white;
      }
    }
  }
}

@media only screen and (max-width: 600px) {
  header {
    position: relative;

    .hamburger {
      display: flex;
    }

    nav {
      margin-left: -1em;

      opacity: 0;
      position: absolute;
      text-align: right;
      top: 100%;
      background: rgba(var(--aad-black-rgb), 0.95);
      backdrop-filter: blur(3px);
      z-index: 10;
      width: 100%;
      transition: opacity 0.1s ease-in-out;
      pointer-events: none;

      &.open {
        opacity: 1;
      }

      ul {
        flex-direction: column;
        margin-top: 0;
        padding-right: 20px;

        li {
          font-size: 1.25em;
          padding: 0.5em 0;
        }
      }
    }
  }
}

/* --------- BUTTONS ------------ */
.btn {
  margin-top: 1em;
  font-weight: 500;
  background: var(--aad-white);
  color: var(--aad-black);
  padding: 0.8em 1em;
  font-size: 0.9em;
  border-radius: 2px;
  border: none;
  cursor: pointer;

  &:hover {
    background: lightgray;
  }

  &.btn-orange {
    background: var(--aad-orange-dark);
    color: rgba(var(--aad-white-rgb) / 0.9);

    &:hover {
      background: rgba(var(--aad-orange-dark-rgb) / 0.8);
    }
  }

  a& {
    text-decoration: none;
    display: inline-block;
  }
}

/* --------- FORMS ------------ */
.form-floating {
  position: relative;
  margin-bottom: 1em;
}

.form-floating input,
.form-floating textarea {
  font-family: inherit;
  width: 100%;

  background: rgba(24 24 24);
  color: var(--aad-white);
  outline-color: var(--aad-orange);
  border-radius: 2px;
  border: 1px solid rgb(124 124 124);

  padding: 1.6em 1em 0.6em 1em;
  font-size: 1em;

  &:user-invalid {
    border: 1px solid tomato;
  }
}

.form-floating label {
  position: absolute;
  top: 0;
  left: 15px;
  color: #999;

  /* Position the label inside the input area initially */
  transform: translate(0, 1em) scale(1);

  transition:
    transform 80ms cubic-bezier(0, 0, 0.58, 1),
    font-size 80ms cubic-bezier(0, 0, 0.58, 1);

  pointer-events: none; /* Allows clicks to pass through to the input */
}

/* When the input is NOT showing its placeholder (i.e., it has a value) OR it is focused, move the label up and scale it down */
.form-floating input:not(:placeholder-shown) ~ label,
.form-floating input:focus ~ label,
.form-floating textarea:not(:placeholder-shown) ~ label,
.form-floating textarea:focus ~ label {
  transform: translate(0.3em, 0.8em);
  color: #777;
  font-size: 0.6em;
}

/* Optional: Hide the actual placeholder text so it doesn"t
  overlap
  with
  the
  label
  */
.form-floating input::placeholder {
  color: transparent;
}
