/***FOR MAIN STYLE/DESIGN ELEMENTS***/


/* STATIC AND TEXT ELEMENTS -------------------*/
*{
  box-sizing: border-box;
  font-family: AlteHaasGrotesk, "Helvetica Neue", sans-serif;
  font-weight: normal;
  color: #414141;
  scroll-behavior: smooth;

  /* border: 1px solid red !important; */
}

p, h1, h2, h3, h4, h5, h6, a {
  word-wrap: break-word;
  overflow-wrap: break-word; 
  white-space: normal; 
}

h1 {
  font-size: 3.5rem;
}

h2 {
  color: #757575;
}

hr {
  border: 0;
  height: .2rem;
  background-color: #F5F5F5;
  border-radius: 1rem;
  margin-top: 2rem;
}

body {
  animation: fadeInAnimation ease 3s;
  animation-iteration-count: 1;
  animation-fill-mode: forwards;
}
@keyframes fadeInAnimation {
  0% {
      opacity: 0;
  }
  100% {
      opacity: 1;
   }
}

.contact div a p, .copyright p{
  color: #757575;
}

.copyright p{
  margin-top: 2rem;
  font-size: .9rem;
}
/* END OF STATIC AND TEXT ELEMENTS */


/* INTERACTIVE ELEMENTS -------------------*/
a{
  text-decoration: none;
  font-weight: bold;
}

a:hover,
a:focus, 
.contact div a p:hover,
.contact div a p:focus{
  color: #6FC839;
  transition: color .2s ease-in-out;
}

.contact-svg:hover,
.contact-svg:focus {
  stroke: #6FC839;
  transition: color .3s ease-in-out;
}

.contact div a:focus {
  opacity: 0.5;
  transition: opacity .3s ease-in-out;
}

.contact div a p{
  padding-bottom: .45rem;
}

.projects a img {
  transition: opacity 0.s ease-in-out;
}
.projects a:hover img,
.projects a:focus img{
  opacity: 0.8;
  transition: opacity 0.3s ease-in-out;
}
/* END OF INTERACTIVE ELEMENTS */


/* NAVIGATION -------------------*/
.nav-logo{
  width: 2.5rem;
  height: auto;
}

nav li{
  list-style-type: none;
  display: inline-block;
}

nav ul.grid.three-col {
  @media (width<40rem){
    padding: 0;
    justify-content: center;
    text-align: center;
    gap: 1rem;
  }
}

nav a{
  text-transform: uppercase;
  text-decoration: none;
  font-weight: bold;
  color: #757575;
  margin-left: 3rem;
  font-size: .9rem;
  letter-spacing: .05rem;

  @media (width<40rem){
    margin: 0;
  }
}

.nav-section a:hover,
.nav-section a:focus {
  opacity: 0.7;
  transition: opacity .3s ease-in-out;
}

nav button{
  background: none;
  border: none;
  padding: 0;

  @media (width>=40rem) {
    display: none;
  }
}

.nav-burger{
  @media (width<40rem){
    background-color: rgb(255, 255, 255);
    position: fixed;
    inset: 0;
    padding: 1.5rem;
    translate: 100vw 0;
    transition: translate .5s ease-in-out;
  }

  @media (width<40rem) and (prefers-reduced-motion) {
    translate: 0;
    opacity: 0;
    transition: opacity 500ms ease-in-out;
  }

  
}

.navburger-close{
  display: block;
  margin-inline-start: auto;
  margin-block-end: 8rem;

  @media (width>=40rem) {
    display: none;
  }
}

.navburger-open[aria-expanded="true"]{
  + .nav-burger {
    translate: 0;

    @media (prefers-reduced-motion){
      opacity: 1;
    }
  }
}
/* END OF NAVIGATION */


/* FOOTER -------------------*/
.footer{
  margin: 4rem;
}

.footer p {
  text-align:center;
}

.footer div{
  justify-items: center;
  align-items: center;
}

.footer .four-col {
  margin-top: 1rem;
  width: fit-content;
  justify-self: center;
}

footer {
  align-items: center;
  justify-content: center;
}

.footer div a:hover,
.footer div a:focus {
  stroke: #6FC839;
  transition: color .3s ease-in-out;
}
/* END OF FOOTER */

