/*-- -------------------------- -->
<---          Landing           -->
<--- -------------------------- -*/

/* Mobile */
@media only screen and (min-width: 0em) {
  #int-hero {
    min-height: 50vh;
    background: url('/images/about-mobile.webp');
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;
    display: flex;
    justify-content: center;
    align-items: center;
    position: relative;
    z-index: 1;

    &:before {
      content: '';
      position: absolute;
      display: block;
      height: 100%;
      width: 100%;
      background: #000;
      opacity: 0.5;
      top: 0;
      left: 0;
      z-index: -1;
    }

    h1 {
      color: #fff;
      font-size: 64/20em;
      text-align: center;
      margin: 0;
      position: relative;

      &:before {
        content: '';
        position: absolute;
        display: block;
        height: 200%;
        max-height: 190/64em;
        width: 40%;
        background: transparent;
        border: 10/64em solid var(--primary);
        opacity: 0.5;
        top: 50%;
        left: 50%;
        transform: translate(-50%, -50%);
        z-index: -1;
      }
    }
  }
}

/* Tablet */
@media only screen and (min-width: 48em) {
  #int-hero {
    font-size: 20px;
    background: url('/images/about.webp');
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;
  }
}

/* Small Desktop */
@media only screen and (min-width: 64em) {
  #int-hero {
    min-height: 300/20em;
    height: 300/20em;
    margin-top: 148/20em;
    background-attachment: fixed;
    background-position: center 80%;
    font-size: inherit;
  }
}

/*-- -------------------------- -->
<---           Form             -->
<--- -------------------------- -*/

/* Mobile */
@media only screen and (min-width: 0em) {
  #form {
    padding: 100/20em 0;
    width: 96%;
    max-width: 700/20em;
    margin: auto;

    .topper {
      font-size: 14/20em;
      line-height: 19/14;
      color: var(--primary);
      letter-spacing: 0.06em;
      margin-bottom: 6/14em;
      display: block;
      text-transform: uppercase;
      font-weight: bold;
    }

    h2 {
      font-size: 36/20em;
      line-height: 42/36;
      color: #000;
      font-weight: 900;
      margin-bottom: 24/36em;
      position: relative;
    }

    p {
      font-size: 18/20em;
      line-height: 27/18;
      color: #595959;
      margin-bottom: 48/18em;
    }

    #contact {
      margin-bottom: 100/20em;
      .input-group {
        display: flex;
        flex-direction: column;
        margin-bottom: 30/20em;

        label {
          font-weight: bold;
          font-size: 16/20em;
          margin-bottom: 6/16em;
        }

        input[type='text'],
        input[type='tel'],
        textarea {
          height: 67/20em;
          border: none;
          border-bottom: 1/20em solid #d4d4d4;
        }

        input:focus {
          border: 1/20em solid var(--primary);
        }

        textarea {
          min-height: 200/20em;
          padding-top: 20/20em;
        }

        ::placeholder {
          color: #d4d4d4;
          font-family: 'Roboto', sans-serif;
        }
      }

      .button-solid {
        border: none;
      }
    }

    .contact-right {
      background: #3a3a3c;
      padding: 45/20em 34/20em;
      width: 100%;
      max-width: 300/20em;
      margin: auto;
      border-radius: 5/20em;

      .heading {
        color: #fff;
        font-size: 24/20em;
        line-height: 1.2em;
        font-weight: bold;
        padding-left: 20/24em;
        border-left: 5/24em solid var(--primary);
        display: block;
        margin-bottom: 20/24em;
      }

      .info-group {
        margin-bottom: 36/20em;

        &:last-of-type {
          margin-bottom: 0;
        }
      }

      .info {
        font-size: 16/20em;
        line-height: 28/16;
        color: #fff;
        opacity: 0.9;
        text-decoration: none;
        display: block;
      }
    }
  }
}

/* Mobile Landscape */
@media only screen and (min-width: 568px) {
  #form {
    #contact {
      max-width: 700/20em;
    }
    .contact-right {
      max-width: 700/20em;
      display: flex;
      justify-content: center;
      flex-wrap: wrap;

      .info-group {
        width: 40%;
        margin-left: 50/20em;
        &:nth-of-type(3) {
          margin-bottom: 0;
        }
      }
    }
  }
}

/* Tablet */
@media only screen and (min-width: 48em) {
  #form {
    #contact {
      display: flex;
      justify-content: space-between;
      flex-direction: row;
      flex-wrap: wrap;

      .input-group {
        width: 48%;
        margin-bottom: 50/20em;
        position: relative;

        &:nth-of-type(5) {
          width: 100%;
        }

        &:last-of-type {
          width: 100%;
        }

        &:hover {
          .hover-box {
            height: 46/20em;
            border: 1/20em solid var(--primary);
            pointer-events: none;
          }

          input[type='text'],
          input[type='tel'],
          textarea {
            padding-left: 20/20em;
          }
        }

        input[type='text'],
        input[type='tel'],
        textarea {
          border-bottom: none;
          position: relative;
          transition: padding 0.3s;
          background: transparent;
        }

        .hover-box {
          position: absolute;
          display: block;
          height: 1/20em;
          width: 100%;
          background: transparent;
          border: 1/20em solid #e9e8e8;
          opacity: 1;
          bottom: -1/20em;
          left: 0;
          z-index: 10;
          transition: height 0.3s, border 0.3s;
          z-index: -1;
        }
      }

      .textarea {
        &:hover {
          .hover-box {
            height: 135/20em;
          }
        }
      }

      .form-submit {
        margin-left: auto;
      }
    }
  }
}

/* Small Desktop */
@media only screen and (min-width: 64em) {
  #form {
    display: flex;
    justify-content: space-between;
    align-content: flex-start;
    font-size: 1.5vw;
    width: 100%;
    max-width: 1144/20em;

    .left-section {
      width: 750/20em;
      margin-left: 0;
    }

    #contact {
      margin-right: 0;
      max-width: none;
    }

    .contact-right {
      flex-direction: column;
      max-width: 300/20em;
      margin: 0;
      height: 554/20em;
      margin-top: 100/20em;

      .info-group {
        margin-left: 0;
        width: 100%;

        &:nth-of-type(3),
        &:last-of-type {
          margin-bottom: 36/20em;
        }
      }
    }
  }
}

/* Large Desktop */
@media only screen and (min-width: 1300px) {
  #form {
    font-size: inherit;
  }
}
