@font-face {
    font-family: 'Tangerine';
    src: url('../font/tangerine-bold.woff2') format('woff2'),
        url('../font/tangerine-bold.woff') format('woff');
    font-weight: bold;
    font-style: normal;
    font-display: block;
}
@font-face {
    font-family: 'SN Pro';
    src: url('../font/sn-pro-reg.woff2') format('woff2'),
        url('../font/sn-pro-reg.woff') format('woff');
    font-weight: normal;
    font-style: normal;
    font-display: block;
}
@font-face {
    font-family: 'SN Pro';
    src: url('../font/sn-pro-bold.woff2') format('woff2'),
        url('../font/sn-pro-bold.woff') format('woff');
    font-weight: bold;
    font-style: normal;
    font-display: block;
}
@font-face {
    font-family: 'SN Pro';
    src: url('../font/sn-pro-med.woff2') format('woff2'),
        url('../font/sn-pro-med.woff') format('woff');
    font-weight: 500;
    font-style: normal;
    font-display: block;
}
@font-face {
    font-family: 'SN Pro';
    src: url('../font/sn-pro-semi.woff2') format('woff2'),
        url('../font/sn-pro-semi.woff') format('woff');
    font-weight: 600;
    font-style: normal;
    font-display: block;
}

@font-face {
    font-family: 'sansation';
    src: url('../font/sansation-reg.woff2') format('woff2'),
        url('../font/sansation-reg.woff') format('woff');
    font-weight: normal;
    font-style: normal;
    font-display: block;
}

* {
  box-sizing: border-box;
  margin: 0;
  padding: 0;
  color: rgb(236, 232, 232);
}

body {
  background-color: rgb(29, 27, 27);
  background-image: url('../img/bg.webp');
  background-size: cover;
  background-repeat: no-repeat;
  background-position-y: 40%;
  background-blend-mode: overlay;
  font-family: 'SN Pro', 'Gill Sans', 'Gill Sans MT', Calibri, 'Trebuchet MS', sans-serif;
}

div.page-wrapper {
  display: flex;
  flex-wrap: wrap;
  min-height: 100vh;
  position: relative;
}

header {
  width: 30%;
  height: fit-content;
  padding: 2.5rem 0 0 4rem;
}
img#hero-img {
  height: 64px;
  width: 60px;
}
header p.annotation {
  font-size: 1rem;
}

nav {
  width: 70%;
  height: 64px;
  line-height: 64px;
  text-align: end;
  padding: 2.5rem 5rem 0 0;
  font-family: 'sn-pro', 'Gill Sans', 'Gill Sans MT', Calibri, 'Trebuchet MS', sans-serif;
}
li {
  list-style: none;
}
a {
  text-decoration: none;
}
nav a {
  font-size: 1.25rem;
  letter-spacing: 1.25px;
  word-spacing: 0px;
}
nav a:hover {
  font-weight: 600;
  font-size: 1.175rem;
  color: rgb(165, 240, 52);
}

p.annotation {
  font-family: 'Tangerine', cursive;
  text-transform: capitalize;
  font-weight: bold;
}
sup {
  text-transform: lowercase;
}


main {
  margin: 0 auto;
  display: flex;
  flex-direction: column;
  width: 50vw;
  height: fit-content;
  padding: 3rem 4rem 5.5rem 4rem;
  margin-bottom: 6rem;
  row-gap: 4rem;
  background-color: rgba(245, 249, 245, 0.959);
  border-radius: 0.5rem;
  box-shadow: rgba(0, 0, 0, 0.25) 0px 54px 55px, rgba(0, 0, 0, 0.12) 0px -12px 30px, rgba(0, 0, 0, 0.12) 0px 4px 6px, rgba(0, 0, 0, 0.17) 0px 12px 13px, rgba(0, 0, 0, 0.09) 0px -3px 5px;
}
h3 {
  position: relative;
  width: fit-content;
  align-self: center;
  text-transform: uppercase;
  color: rgb(21, 20, 20);
  font-size: 2rem;
  font-weight: bold;
  font-family: 'SN Pro', 'Gill Sans', 'Gill Sans MT', Calibri, 'Trebuchet MS', sans-serif;
}
h3::after {
  content: '';
  position: absolute;
  left: 10%;
  bottom: -0.325rem;
  width: 80%;
  margin: auto;
  height: 3px;
  background-color: rgb(136, 216, 16);
}

div.table {
  display: flex;
  flex-direction: column;
  row-gap: 2.5rem;
}
div.table p, div.table a {
  color: rgb(21, 20, 20);
}
p.table-headings {
  position: relative;
  margin-bottom: 0.5rem;
  width: fit-content;
  font-family: 'SN Pro', 'Gill Sans', 'Gill Sans MT', Calibri, 'Trebuchet MS', sans-serif;
  font-size: 1.5rem;
  font-weight: 600;
  text-transform: capitalize;
}
div.phone p.table-headings {
  margin-bottom: 0.85rem;
}
p.table-headings::after {
  content: '';
  position: absolute;
  left: 0;
  bottom: -3px;
  width: 80%;
  height: 2px;
  background-color: rgb(136, 216, 16);
}
div.phone > p {
  margin-bottom: 0.25rem;
}
div.phone ul {
  display: flex;
  justify-content: space-between;
}
div.phone li {
  color: rgb(21, 20, 20);
  display: flex;
  flex-direction: column;
  line-height: 1.375rem;
  row-gap: 0.25rem;
}
div.email a, div.phone li p {
  font-size: 1.25rem;
}
div.phone li p {
  font-weight: 500;
}
h3, p.table-headings, div.email a, div.phone li p, div.phone li p+a {
  letter-spacing: -0.75px;
}
p.contact-name {
  font-weight: 400;
}
div.phone li p+a {
  font-size: 1.1rem;
}
a {
  text-decoration: none;
}
a.contact-icon {
  width: max-content;
}

footer {
  position: absolute;
  bottom: 0;
  background-color: rgba(245, 249, 245, 0.83);
  width: 100%;
  padding: 0.75rem 2.5rem;
  display: flex;
  justify-content: space-between;
  align-items: center;
  column-gap: 1.5rem;
  height: fit-content;
  font-family: 'sansation', 'SN Pro', 'Gill Sans', 'Gill Sans MT', Calibri, 'Trebuchet MS', sans-serif;

}
footer p {
 color: rgb(21, 20, 20);
 font-size: 1rem;

}
div#socials-icons {
  display: flex;
  column-gap: 0.5rem;
}

/* MEDIA QUERIES */
@media (max-width: 1250px) {
  main {
    width: 60%;
    padding: 2.5rem 4rem;
  }
}

@media (max-width: 1024px) {
  nav {
    padding: 2.5rem 3rem 0 0;
  }

  main {
    width: 70%;
    padding: 2.5rem 4rem;
  }

  footer p {
    font-size: 0.9rem
  }

  nav a {
    font-size: 1rem;
  }

  nav a:hover {
    font-size: 0.95rem;
  }
}

@media (max-width: 850px) {
  main {
    width: 80%;
    padding: 2rem 2.5rem;
  }

  h3 {
    font-size: 1.75rem;
  }

  div.email a, div.phone li p {
    font-size: 1.5rem;
  }

  div.phone li p+a {
    font-size: 1rem;
  }

  p.table-headings {
    font-size: 1.25rem;
  }
}

@media (max-width: 728px) {
  header {
    padding: 1.75rem 0 0 1.75rem;
  }

  nav {
    padding: 2.5rem 2rem 0 0;
  }

  main {
    padding: 2.125rem 2.5rem 2.75rem 2.5rem;
  }

  footer p {
    font-size: 0.75rem
  }
}

@media (max-width: 600px) {
  div.page-wrapper {
    row-gap: 8vh;
  }

  h3::after {
    content: '';
    position: absolute;
    left: 10%;
    bottom: -0.675rem;
    width: 80%;
    margin: auto;
    height: 3px;
    background-color: rgb(136, 216, 16);
  }
  main {
    width: 90%;
    row-gap: 2rem;
  }

  h3 {
    font-size: 1.5rem;
    text-align: left;
    line-height: 1.3rem;
  }

  div.table {
    row-gap: 1.85rem;
  }
  p.table-headings {
    font-size: 1.25rem;
  }
  div.phone, div.email {
    line-height: 1.5rem;
  }
  div.email a, div.phone li p {
    font-size: 1.25rem;
  }
  div.email {
    word-wrap:break-word;
  }
  div.phone ul {
    flex-wrap: wrap;
    row-gap: 1rem;
    column-gap: 1rem;
    row-gap: 1.25rem;
  }
  div.phone li {
    line-height: 1.125rem;
    width: 40%;
  }
  div.phone li p+a {
    font-size: 1rem;
  }
}

@media (max-width: 480px) {
  nav {
    padding: 2.5rem 1.5rem 0 0;
  }

}

@media (max-width: 410px) {
  div.page-wrapper {
    row-gap: 4vh;
  }

  main {
    padding: 3rem 1rem 4rem 1.5rem;
  }

  footer {
    flex-direction: column;
    row-gap: 0.5rem;
  }
  footer p {
    text-align: center;
  }
}