/* Reset the page */
*::before, *, *::after{
  box-sizing: border-box;
  margin: 0;
  padding: 0;
}
/* set variables */
:root{
  --menuColor: #11504E;
  --heading:#4C5357;
  --bar-width: 45px;
  --bar-height: 6px;
  --hamburger-gap: 6px;
  --foreground: #333;
  --hamburger-margin: 8px;
  --animation-timing: 200ms ease-in-out;
  --hamburger-height: calc(var(--bar-height) * 3 + 
  var(--hamburger-gap) * 2);
  --background: #A8A8A8;
}

#header{
  display: flex;
  background-color: var(--background);
  padding: 1.8rem;
}

#header-img{
  width: 120px;
}

html{
  scroll-behavior: smooth;
}

.hamburger-menu, .sidebar{
  position: absolute;
  top:0;
  right:0;
}

.hamburger-menu{
  display: none;
}

#navbar, ul li{
  display: inline-flex;
  list-style: none;
  margin: 2rem;
}

.nav-link{
  margin: 1rem;
  text-decoration: none;
  color: #000000;
  font-size: 20px;
  font-family: "Ubuntu mono", monospace;
}

.nav-link:hover{
  font-weight: 600;
  border-bottom: 4px solid var(--menuColor);
}

.content{
  background-color: #FAFAD2;
}

.content p{
  line-height: 44px;
  margin-left: 15px;
}

h1{
  font-size: 45px;
  text-shadow: 2px 3px 2px;
  background-color: #F5FFFA;
}

h1, h2, h3{
  color: #4C5357;
  padding: 5rem;
  text-align: center;
}

p, .text{
  padding: 0px 15px;
  line-height: 31.2px;
  color: #97118B;
  font-size: 21px;
}

.text{
  width: 70%;
  margin: 0 auto;
  padding: 0 120px;
}

ul li{
  margin-bottom: 2rem;
  list-style: circle;
}

iframe{
  display: block;
  width: 50%;
  height: 80%;
  margin: 0 auto;
}

#service{
  display: grid;
  grid-template-columns: 1fr 1fr;
}

form{
  width: 20%;
  margin: 0 auto;
  padding-bottom: 2rem;
}

form p{
  padding-bottom: 15px;
}
  #msg{
   margin-left: 10rem;
   margin-bottom: 2rem;
 }

#email{
  font-size: 17px;
}

#email:hover, #msg:hover{
  background-color: rgba(135, 231, 231, 0.705);
  border-color: black;
}

#submit{
  display: block;
  width: 150%;
  margin-top: 4rem;
  font-size: 19px;
  color: whitesmoke;
  background-color: var(--menuColor);
}

#submit:hover{
  background-color: #11504ecb;
  box-sizing: 2px 3px 2px #4f5457;
  cursor: pointer;
}
/* ALWAYS USE THESE MEDIA QUERIES!!!!!!!!!! */
/* Small Phones */
@media screen and (max-width: 480px){
  html{
    scroll-behavior: smooth;
  }

 #header-img{
  width: 40px;
 }
/* As hard as it is, make sure the hamburger is the same in all 
media queries!! */
 .hamburger-menu{
  --x-width:calc(var(--hamburger-height) * 1.41421356);
  display: flex;
  flex-direction: column;
  gap: var(--hamburger-gap);
  position: absolute;
  top: var(--hamburger-margin);
  right: var(--hamburger-margin);
  z-index: 2;
  cursor: pointer;
  border: 1px solid var(--foreground);
  padding: 0.75rem;
 }

 .hamburger-menu input{
  appearance: none;
  padding: 0;
  margin: 0;
  outline:none;
  pointer-events: none;
 }


    .hamburger-menu::before, .hamburger-menu input,
    .hamburger-menu::after{
      content: "";
      width: var(--bar-width);
      height: var(--bar-height);
      background-color: var(--foreground);
      border-radius: 50px;
      transition: opacity var(--animation-timing), 
      width var(--animation-timing), rotate var(--animation-timing),
      translate var(--animation-timing);
      transform-origin: left center;
    }

    .hamburger-menu input:checked{
      opacity: 0;
      width: 0;
    }

    .hamburger-menu:has(input:checked)::before{
      rotate: 45deg;
      width: var(--x-width);
      translate: 0 calc(var(--bar-height) / -2);
    }

    .hamburger-menu:has(input:checked)::after{
      rotate: -45deg;
      width: var(--x-width);
      translate: 0 calc(var(--bar-height) / 2);
    }
    /* Make sure to add positioning to get it to work! */
    .sidebar{
      transition: var(--animation-timing);
      transform: translateX(100%);
      padding: 0.5rem 1rem;
      padding-top: calc(var(--hamburger-height) + var(--hamburger-margin) + 1rem);
      background-color: var(--background);
      color: var(--foreground);
      width: 10rem;
      min-height: 10vh;
      position:fixed;
      top: 0;
      right: 0;
    }

    .hamburger-menu:has(input:checked) + .sidebar{
      transform: translateX(0);
    }

    .hamburger-menu:has(input:checked){
      border-radius: 50px;
    }

    .hamburger-menu:has(input:focus-visible)::before,
    .hamburger-menu:has(input:focus-visible)::after,
    .hamburger-menu input:focus-visible{
      border: 1px solid var(--background);
      box-shadow: 0 0 0 1px var(--foreground);
    }

 .nav-link{
  font-size: 12px;
  text-align: left;
  display: block;
 }

 #navbar{
  display: block;
 }


 h1{
  font-size: 20px;
 }

p, .text{
  font-size: 13px;
  padding: 10px 20px;
  line-height: 22px;
}

h2{
  font-size: 18px;
}

#service{
  display: block;
}

h3{
  font-size: 16px;
  padding-bottom: 15px;
}

form{
  width: 25%;
}

form p{
  font-size: 13px;
  white-space: nowrap;
  position: relative;
  right: 120px;
}

  #msg{
   margin-left: 8rem;
   margin-bottom: 2rem;
 }

#email{
  font-size: 14px;
}

#submit{
  font-size: 14px;
}

#email:hover{
  border-color: var(--foreground);
}
}
/* Bigger Phones */
@media screen and (min-width: 481px) and (max-width: 768px) {
  html{
    scroll-behavior: smooth;
  }
  
  #header-img{
    width: 60px;
  }


  .hamburger-menu{
    --x-width:calc(var(--hamburger-height) * 1.41421356);
    display: flex;
    flex-direction: column;
    gap: var(--hamburger-gap);
    position: absolute;
    top: var(--hamburger-margin);
    right: var(--hamburger-margin);
    z-index: 2;
    cursor: pointer;
    border: 1px solid var(--foreground);
    padding: 0.75rem;
   }
  
   .hamburger-menu input{
    appearance: none;
    padding: 0;
    margin: 0;
    outline:none;
    pointer-events: none;
   }
  
  
      .hamburger-menu::before, .hamburger-menu input,
      .hamburger-menu::after{
        content: "";
        width: var(--bar-width);
        height: var(--bar-height);
        background-color: var(--foreground);
        border-radius: 50px;
        transition: opacity var(--animation-timing), 
        width var(--animation-timing), rotate var(--animation-timing),
        translate var(--animation-timing);
        transform-origin: left center;
      }
  
      .hamburger-menu input:checked{
        opacity: 0;
        width: 0;
      }
  
      .hamburger-menu:has(input:checked)::before{
        rotate: 45deg;
        width: var(--x-width);
        translate: 0 calc(var(--bar-height) / -2);
      }
  
      .hamburger-menu:has(input:checked)::after{
        rotate: -45deg;
        width: var(--x-width);
        translate: 0 calc(var(--bar-height) / 2);
      }
      /* Make sure to add positioning to get it to work! */
      .sidebar{
        transition: var(--animation-timing);
        transform: translateX(100%);
        padding: 0.5rem 1rem;
        padding-top: calc(var(--hamburger-height) + var(--hamburger-margin) + 1rem);
        background-color: var(--background);
        color: var(--foreground);
        width: 10rem;
        min-height: 10vh;
        position:fixed;
        top: 0;
        right: 0;
      }
  
      .hamburger-menu:has(input:checked) + .sidebar{
        transform: translateX(0);
      }
  
      .hamburger-menu:has(input:checked){
        border-radius: 50px;
      }
  
      .hamburger-menu:has(input:focus-visible)::before,
      .hamburger-menu:has(input:focus-visible)::after,
      .hamburger-menu input:focus-visible{
        border: 1px solid var(--background);
        box-shadow: 0 0 0 1px var(--foreground);
      }
  
   .nav-link{
    font-size: 12px;
    text-align: left;
    display: block;
   }
  
   #navbar{
    display: block;
   }

   h1{
    font-size: 20px;
   }
  
  p, .text{
    font-size: 16px;
    padding: 12px 22px;
    line-height: 24px;
  }
  
  h2{
    font-size: 24px;
  }
  
  #service{
    display: block;
  }
  
  h3{
    font-size: 18px;
    padding-bottom: 20px;
  }
  
  form{
    width: 25%;
  }
  
  form p{
    font-size: 15px;
    white-space: nowrap;
  }
  
  #email{
    font-size: 14px;
  }
  
  #submit{
    font-size: 16px;
  }
  
  #email:hover{
    border-color: var(--foreground);
  }
}
/* Tablets */
@media screen and (min-width: 769px) and (max-width: 1024px){
  html{
    scroll-behavior: smooth;
  }
  
  #header-img{
    width: 80px;
  }


  .hamburger-menu{
    --x-width:calc(var(--hamburger-height) * 1.41421356);
    display: flex;
    flex-direction: column;
    gap: var(--hamburger-gap);
    position: absolute;
    top: var(--hamburger-margin);
    right: var(--hamburger-margin);
    z-index: 2;
    cursor: pointer;
    border: 1px solid var(--foreground);
    padding: 0.75rem;
   }
  
   .hamburger-menu input{
    appearance: none;
    padding: 0;
    margin: 0;
    outline:none;
    pointer-events: none;
   }
  
  
      .hamburger-menu::before, .hamburger-menu input,
      .hamburger-menu::after{
        content: "";
        width: var(--bar-width);
        height: var(--bar-height);
        background-color: var(--foreground);
        border-radius: 50px;
        transition: opacity var(--animation-timing), 
        width var(--animation-timing), rotate var(--animation-timing),
        translate var(--animation-timing);
        transform-origin: left center;
      }
  
      .hamburger-menu input:checked{
        opacity: 0;
        width: 0;
      }
  
      .hamburger-menu:has(input:checked)::before{
        rotate: 45deg;
        width: var(--x-width);
        translate: 0 calc(var(--bar-height) / -2);
      }
  
      .hamburger-menu:has(input:checked)::after{
        rotate: -45deg;
        width: var(--x-width);
        translate: 0 calc(var(--bar-height) / 2);
      }
      /* Make sure to add positioning to get it to work! */
      .sidebar{
        transition: var(--animation-timing);
        transform: translateX(100%);
        padding: 0.5rem 1rem;
        padding-top: calc(var(--hamburger-height) + var(--hamburger-margin) + 1rem);
        background-color: var(--background);
        color: var(--foreground);
        width: 10rem;
        min-height: 10vh;
        position:fixed;
        top: 0;
        right: 0;
      }
  
      .hamburger-menu:has(input:checked) + .sidebar{
        transform: translateX(0);
      }
  
      .hamburger-menu:has(input:checked){
        border-radius: 50px;
      }
  
      .hamburger-menu:has(input:focus-visible)::before,
      .hamburger-menu:has(input:focus-visible)::after,
      .hamburger-menu input:focus-visible{
        border: 1px solid var(--background);
        box-shadow: 0 0 0 1px var(--foreground);
      }
  
   .nav-link{
    font-size: 12px;
    text-align: left;
    display: block;
   }
  
   #navbar{
    display: block;
   }

   h1{
    font-size: 40px;
   }
  
  p, .text{
    font-size: 18px;
    padding: 14px 27px;
    line-height: 24px;
  }
  
  h2{
    font-size: 28px;
  }
  
  #service{
    display: block;
  }
 

  h3{
    font-size: 16px;
    padding-bottom: 20px;
  }
  
  form{
    width: 25%;
  }
  
  form p{
    font-size: 15px;
    white-space: nowrap;
  }
  
  #email{
    font-size: 14px;
  }
  
  #submit{
    font-size: 16px;
  }
  
  #email:hover{
    border-color: var(--foreground);
  }
}