html {
  scroll-behavior: smooth;
  overflow-x: hidden;
}

body {
  font-family: 'Georgia', sans-serif;
  background-color: #F2F2F2;
  margin: 0;
  padding: 0;
  overflow-x: hidden;
  }

/* ----- ----- ----- ----- ----- HEADER SECTION ----- ----- ----- ----- ----- */

header {
  background-color: #F2F2F2;
  margin: 0px;
  margin-top: 100px;
}

/* ----- ----- ----- ----- ----- HERO-IMAGE SECTION ----- ----- ----- ----- ----- */

.hero-image {
  background-image: 
    linear-gradient(to right, rgba(0,0,0,0.5), rgba(0,0,0,0)),
    url("images/BrandonTaylor_Picture1.jpg");

  background-size: cover;
  background-position: center;

  width: 100%;
  min-height: 500px;

  display: flex;
  flex-direction: column;
  justify-content: flex-end;
}

/* TEXT BOX */
.hero-text {
  padding: 50px;
  max-width: 600px;
}

/* TITLE */
.hero-text h1 {
  font-family: "freehouse", Georgia, serif;
  font-size: 25px;
  font-weight: bold;
  color: #DBD3CD;
  margin: 0px;
  line-height: 1.2;
}

/* SUBTEXT */
.hero-text p {
  font-family: "Georgia", serif;
  font-size: 20px;
  color: #DBD3CD;
  opacity: 0.8;
  margin: 10px 0 0 0;
}

/* ----- ----- ----- ----- ----- DESKTOP NAVIGATION SECTION ----- ----- ----- ----- ----- */

nav {
  background-color: #261E1A;
  display: flex;
  justify-content: space-between;
  box-sizing: border-box;

  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  z-index: 1000;

  padding: 25px 50px;
  margin: 0;
}

.nav-left {
  display: flex;
  align-items: center;
  gap: 15px;
}

nav ul {
  list-style: none;
  display: flex;
  gap: 50px;
  flex-wrap: wrap;
  padding-left: 0px;
}

nav a {
  text-decoration: none;
  color: #DBD3CD;
  font-family: "Georgia", serif;
  letter-spacing: 5px;
  font-size: 15px;
  height: 50px;
}

nav .shop {
  font-family: "freehouse", Georgia, serif;
  color: #DBD3CD;
  border: 3px solid #DBD3CD;
  border-radius: 5px;
  padding: 10px 15px;
  font-weight: bold;
}

.hamburger {
  display: none;
  width: 50px;
  height: auto;
  cursor: pointer;
}

.logo {
  width: 100px;
  height: auto;
}

/* ----- ----- ----- ----- -----ABOUT SECTION ----- ----- ----- ----- ----- */

#about {
  background-color: #DBD3CD;
  padding: 50px;
}

#about h1 {
  font-family: "freehouse", Georgia , serif;
  font-size: 25px;
  font-weight: bold;
  font-style: normal;
  color: #261E1A;
  margin-top: 25px;
  margin-bottom: 0px
}

#about p {
  font-family: "Georgia", serif;
  font-size: 15px;
  color: #261E1A;
  width: 50%;
}

.learn-more-section {
  display: flex;
  align-items: center;
  justify-content: center;
  padding-top: 25px;
}

.line1 {
  height: 3px;
  width: 100%;
  background-color: #2B211D;
}

.line2 {
  height: 3px;
  width: 5%;
  background-color: #2B211D;
}

.learn-more {
  text-decoration: none;
  font-family: serif;
  font-weight: bold;
  font-size: 25px;
  color: #2B211D;
  letter-spacing: 5px;
  text-align: center;
  white-space: nowrap;
  padding: 5px 10px;
}

/* ----- ----- ----- ----- -----CONTACT SECTION ----- ----- ----- ----- ----- */

#contact {
  background-color: #CBBCB4;
  padding: 50px;
  align-items: center;
  justify-content: center;
}

#contact h1 {
  font-family: "freehouse", Georgia , serif;
  font-size: 25px;
  font-weight: bold;

  font-style: normal;
  color: #261E1A;
  text-align: center;
  margin: 0px;
}

#contact p {
  font-family: "Georgia", serif;
  font-size: 15px;
  color: #261E1A;
  width: 50%;
  margin-top: 5px;
  margin-bottom: 25px
}

/* ----- ----- ----- ----- ----- HATS SECTION ----- ----- ----- ----- ----- */

#hats {
  background-color: #DBD3CD;
  padding: 50px;
  display: flex;
  flex-direction: column;
  gap: 25px;
}

#hats h1 {
  font-family: "freehouse", Georgia , serif;
  font-size: 25px;
  font-weight: bold;
  color: #261E1A;
  text-align: center;
  margin: 0px;
}

/* ----- HAT FILTERS ----- */

.hat-filters {
  display: flex;
  gap: 25px;
  align-items: center;
  justify-content: center;
}

.hat-filters button {
  background: transparent;
  color: #261E1A;
  padding: 25px;
  border: none;
  font-family: "Georgia", serif;
  font-size: 15px;
  cursor: pointer;
}

/* ----- HAT GRID ----- */

.hat-grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 100px;
}

.hat-grid img {
  width: 100%;
  height: auto;
  display: block;
}

/* ----- HAT GRID ----- */

.hat-grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 100px;

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

.hat-grid img {
  width: 100%;
  height: auto;
  object-fit: cover;
}

/* ----- ----- ----- */

.hat {
  background: #f2f2f2;
}

/* ----- ----- ----- ----- ----- SERVICE SECTION ----- ----- ----- ----- ----- */

#services {
  background-color: #CBBCB4;
  padding: 50px;
  align-items: center;
  justify-content: center;
}

#services h1 {
  font-family: "freehouse", Georgia , serif;
  font-size: 50px;
  font-weight: bold;
  font-style: normal;
  color: rgb(38, 30, 26, 0.5);
  text-align: center;
  margin: 0px;
  letter-spacing: 5px;
}

.services-layout {
  display: flex;
  gap: 25px;
  justify-content: center;
  padding-top: 25px;
  flex-wrap: wrap;
}

/* ----- SERVICE BOX ----- */

.services-box {
  width: 300px;
  height: 500px;
  display: flex;
  flex-direction: column;
  justify-content: flex-start;
  align-items: flex-start;
  text-align: left;
  color: #261E1A;
  background-size: cover;
  background-position: center;
  position: relative;
  padding: 25px;
  margin: 25px;
}

.services-box h2 {
  font-family: "freehouse", Georgia, serif;
  margin: 0;
  position: relative;
  z-index: 2;
}

.services-box a {
  margin-top: 10px;
  text-decoration: none;
  color: rgb(38, 30, 26, 0.5);
  font-weight: bold;
  letter-spacing: 2px;
  position: relative;
  z-index: 2;
}

/* ----- ----- ----- */

.services1 {
  background-image:
  linear-gradient(to bottom, rgba(0,0,0,0), rgba(0,0,0,0.5)),
  url("images/BrandonTaylor_Picture3.jpg");
}

/* SECOND IMAGE */
.services2 {
  background-image:
  linear-gradient(to bottom, rgba(0,0,0,0), rgba(0,0,0,0.5)),
  url("images/BrandonTaylor_Picture4.jpg");
}

/* ----- ----- ----- ----- ----- VIDEO SECTION ----- ----- ----- ----- ----- */

#video {
  background-color: #DBD3CD;
  padding: 50px;
}

#video h1 {
  font-family: "freehouse", Georgia , serif;
  font-size: 25px;
  font-weight: bold;
  font-style: normal;
  color: #261E1A;
  text-align: center;
}

#video a {
  font-family: "Georgia", serif;
  font-size: 15px;
  text-decoration: none;
  color: #261E1A;
  width: 50%;
  margin-top: 5px;
  margin-bottom: 25px
}

#video .video-grid {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 100px;
}

.video1 {
  background-image:
  linear-gradient(to right, rgba(0,0,0,0), rgba(0,0,0,0.5)),
  url("images/BrandonTaylor_Picture5.jpg");
}

.video2 {
  background-image:
  linear-gradient(to right, rgba(0,0,0,0), rgba(0,0,0,0.5)),
  url("images/BrandonTaylor_Picture6.jpg");
}

.video3 {
  background-image:
  linear-gradient(to right, rgba(0,0,0,0), rgba(0,0,0,0.5)),
  url("images/BrandonTaylor_Picture7.jpg");
}

/* ----- ----- ----- ----- ----- SPACERS ----- ----- ----- ----- ----- */

.spacer-25 {
  height: 25px;
}

.spacer-50 {
  height: 50px;
}

.spacer-100 {
  height: 100px;
}

/* ----- ----- ----- ----- ----- FOOTER SECTION ----- ----- ----- ----- ----- */

footer {
  background-color: #261E1A;
  padding: 50px; 
  }

footer h1 {
  font-family: "freehouse", Georgia , serif;
  font-size: 15px;
  font-weight: bold;
  font-style: normal;

  color: #DBD3CD;
}

footer p {
  font-family: "Georgia", serif;
  font-size: 15px;
  color: #DBD3CD;
    }

footer .footer-info {
  display: flex;
  gap: 50px;
  padding: 25px 0px;
  flex-wrap: wrap;
}

footer .copyright {
    text-align: center;
}

/* ----- ----- ----- ----- ----- MOBILE ----- ----- ----- ----- ----- */

@media (max-width: 600px) {

/* HEADER */

  header {
    margin-top: 0px;
  }

/* NAVIGATION */

  nav {
    flex-direction: row;
    justify-content: space-between;
    align-items: center;
    padding: 25px 50px;
    background-color: transparent;
  }

  .nav-left {
    width: 100%;
    justify-content: space-between;
  }

  .hamburger {
    display: block;
  }

  nav ul {
    display: none;
  }

.logo {
  content: url("images/HeritageHats_Logo1.png");
}


/* HERO IMAGE */

  .hero-image {
    min-height: 350px;
  }

  .hero-text {
    padding: 25px;
  }

  .hero-text h1 {
    font-size: 18px;
  }

  .hero-text p {
    font-size: 16px;
  }

/* ABOUT SECTION */

  #about {
    padding: 25px;
    text-align: left;
  }

  #about p {
    width: 100%;
  }

  #about h1 {
    text-align: left;
  }

  .learn-more {
    font-size: 15px;
    gap: 5px;
  }

  .line1,
  .line2 {
    width: 50%;
  }

/* HAT SECTION */

#hats {
  padding: 50px;
}

.hat-filters {
  flex-wrap: wrap;
  gap: 10px;
}

.hat-filters button {
  padding: 10px;
  font-size: 12px;
}

.hat-grid {
  display: flex;
  gap: 25px;

  overflow-x: auto;
  scroll-snap-type: x mandatory;
  -webkit-overflow-scrolling: touch;

  margin: 0;
  padding: 0;

  scroll-padding-left: 50px;
}

.hat-grid img {
  flex: 0 0 80%;
  height: auto;
  width: 100%;

  scroll-snap-align: center;
  display: block;
}

/* VIDEO SECTION */

  #video {
    padding: 50px;
  }

  #video .video-grid {
    flex-direction: column;
    gap: 25px;
  }

  /* each video card */
  #video .video-grid a {
    display: flex;
    flex-direction: column;
    align-items: center;
    text-align: center;
  }

  #video .video-grid img {
    width: 100%;
    max-width: 300px;
    height: auto;
    display: block;
  }

  #video .video-grid p {
    font-size: 14px;
    margin-top: 10px;
    width: 100%;
  }

/* FOOTER SECTION */

  footer .footer-info {
    display: flex;
    gap: 50px;
    padding: 25px 0px;
    flex-wrap: wrap;
  }

}