@font-face { font-family: CaspicaraFont; src: url('../font/CaspicaraFontLight.otf'); } 
@font-face { font-family: CaspicaraFont; font-weight: bold; src: url('../font/CaspicaraFontBold.otf'); }

/**
* Reset
**/

*, *:before, *:after {
    box-sizing: border-box;
  }
  
  /**
  * Variables
  **/
  
  :root {
    --metric-rhythm: 2rem;
    --metric-interaction-padding: 0.6rem 0.6rem;
  }
  
  /**
  * Base
  **/
  
  body {
    height: 100vh;
    font-family: CaspicaraFont, sans-serif;
    margin: 0;
    padding: 0;
    display: grid;
    grid-template-columns: 65% 35%;
    grid-template-areas:
      "header side-image"
      "main side-image"
      "main side-image"
      "footer side-image";
    background-image: url('../img/backgroundsand.jpg');
    background-size: cover
  }
  
  /**
  * Utilities
  **/
  
  .visually-hidden {
    border: 0;
    clip: rect(0 0 0 0);
    height: auto;
    margin: 0;
    overflow: hidden;
    padding: 0;
    position: absolute;
    width: 1px;
    white-space: nowrap;
  }
  
  /* .flow {
    --flow-space: var(--metric-rhythm);
  }
   */
  /* .flow > * + * {
    margin-top: 1em;
    margin-top: var(--flow-space);
  } */
  
  /**
  * Header
  **/
  
  header {
    grid-area: header;
    height: 100px;
    padding-top: 3rem;
    padding-left: 10rem;
  }
  
  /**
  * Side
  **/
  
  .side-image {
    grid-area: side-image;
    background-image: url('../img/pronto.jpg');
    background-repeat: no-repeat;
    background-size: cover;
  }
  
  /**
  * Main
  **/
  
  .main {
    grid-area: main;
    max-width: 800px;
    padding-left: 10rem;
  }
  
  h2 {
    font-size: 3rem;
    font-weight: 400;
    letter-spacing: 0.3em;
    text-transform: uppercase;
    word-spacing: 100vw;
    line-height: 1.1em;
    margin: 0.4em 0;
  }
  
  h2 .heading--sunset {
    font-weight: 300;
    color: #C69760;
    letter-spacing: 0.33em;
  }

  h2 .heading--warmsand {
    /* color: #D7D0BA; */
    color: #1D120F;
  }
  
  .main p {
    /* color: #D7D0BA; */
    color: #38221D;
    line-height: 1.5em;
    width: 55ch;
  }
  
  .form {
      --flow-space: 0.5rem;
  }
  
  .form__control {
    display: flex;
    position: relative;
    width: 48ch;
    border: 1px solid #C69760;
    border-radius: 999px;
    transition: 0.2s;
    --flow-space: 0rem;
  }
  
  .form__control:focus-within {
    border-width: 2px;
  }
  
  .form__control label {
    position: absolute;
    text-transform: capitalize;
    height: 100%;
    color: #C69760;
    display: flex;
    align-items: center;
    padding-left: 2rem;
    width: 100%;
    transition: 0.2s;
  }
  
  input:-webkit-autofill,
  input:-webkit-autofill:hover, 
  input:-webkit-autofill:focus, 
  input:-webkit-autofill:active  {
    -webkit-box-shadow: 0 0 0 30px white inset !important;
  }
  
  .form__control input {
    border: none;
    background-color: transparent;
    outline: 0;
    padding: 20px 0 20px 2rem;
    flex: auto;
  }
  
  input:focus + label, input:not([value=""]) + label {
      align-items: flex-start;
      opacity: 0.75;
      transform: translateY(-1.5rem);
  }
  
  
  .button {
    z-index: 1;
    background-image: linear-gradient(135deg, #023E40ee, #023E40);
    min-width: 7.5rem;
    border-radius: 999px;
    cursor: pointer;
  }
  
  .button:hover, .button:focus {
    filter: brightness(1.05);
    box-shadow: 0px 8px 15px rgba(0, 0, 0, 0.1);
    color: #fff;
    outline: 0;
  }
  
  .button svg {
    transform: translateY(1px); /* Optical adjustment */
  }
  
  /**
   * ALERT COMPONENT
   */
  
  .form__alert {
      --flow-space: 0;
  }
  
  .alert {
    --alert-text: #C69760;
  
    display: flex;
    align-items: flex-start;
    color: var(--alert-text);
    animation: slide-up 250ms ease;
  }
  
  .alert[data-state='success'] {
    --alert-text: green;
  }
  
  .alert__icon {
    font-size: 1.6em;
    flex-shrink: 0;
  }
  
  .alert__content {
    padding-left: 2rem;
  }
  
  .alert__content b {
    display: block;
  }
  
  /**
   * ANIMATIONS
   */
  @keyframes slide-up {
    0% {
      opacity: 0;
      transform: translateY(0.4rem);
    }
    100% {
      opacity: 1;
      transform: translateY(0);
    }
  }
  
  /**
  * Footer
  **/
  
  footer {
    grid-area: footer;
    display: flex;
    justify-content: center;
  }
  
  footer a {
    color: #C69760;
  }
  
  /**
  * Media Query
  **/
  
  @media screen and (-ms-high-contrast: active) {
    input[type],
    button {
      border: 1px solid;
    }
  }
    
  @media(min-width: 1440px) {
    h2 {
      font-size: 4rem;
    }
  }

  @media(max-width: 1000px) {
    body {
      grid-template-columns: 100%;
      grid-template-areas:
        "header"
        "side-image"
        "main"
        "footer";
      background-image: url('../img/backgroundsand-mb.jpg');
      background-size: cover;
      background-position: 0 100%;
      height: 100%;
    }

    header {
      padding-left: 0;
      padding-top: 0;
      height: 0;
    }
    
    .side-image {
      min-height: 20rem;
      background-image: url('../img/pronto.jpg');
      background-size: cover;
      background-position: 50% 50%;
    }
    
    .main {
      text-align: center;
      padding-left: 0rem;
      margin-bottom: 6rem;
      margin-top: 3rem;
    }
    
    .main h2, .main p {
      text-align: center;
    }
    
    .main h2 {
      font-size: 2rem;
    }
    
    .main p, .form__control {
      width: 98%;
      margin: 0 auto;
    }
  }
  