body {
    margin: 0;
    max-width: 100%;
    display: flex;
    flex-direction: column;
    font-size: 17px;
    line-height: 1.6;
    padding: 0;
    overflow-x: hidden;
    min-height: 100vh;
    font-family: Arial, Helvetica, sans-serif;

    background-image:
    linear-gradient(to right, rgba(57, 54, 54, 0.153) 2px, transparent 1px);
    background-size: 300px 100%;
}
main {
  flex: 1;
}

/* Side decor */
.side-title {
  position: fixed;
  top: 95%;
  left: 50px;
  transform: translateY(-50%) rotate(-90deg);
  transform-origin: left center;
  font-size: 22px;
  color: #3a3731;
  text-decoration: line;
}
.side-socials a {
  display: flex;
  align-items: center;
  margin-bottom: 10px;
  text-decoration: none;
  color: #6b6363;
  transition: 0.5s;
}
.side-socials {
  position: fixed;
  right: -90px;
  top: 55%;
  transform: rotate(270deg);
  font-size: 18px;
  z-index: 2;
  display: flex;
  flex-direction: row;
  gap: 15px;
}
.side-socials a:hover {
  color: #000000;
}
.insta-icon {
  width: auto;
  height: 20px;
  vertical-align: middle;
}
.linkedin-icon {
  width: auto;
  height: 20px;
  vertical-align: middle;
}

/* Gallery */
.gallery {
  margin-top: 100px;
  column-count: 3;
  column-gap: 30px;
  margin: 30px auto;
  margin-left: 150px;
  max-width: 1200px;
  width: 100%;
  padding: 0;
  z-index: 0;
}
.item {
  filter:saturate(120%);
  break-inside: avoid;
  margin-bottom: 20px;
}
.item img {
  width: 100%;
  height: auto;
  display: block;
  border-radius: 12px;
}
/* Navbar */
.navbar {
  background-color: #ffffff;
  border-bottom: solid 3px #000000be;
  border-top: 2px solid #000000;
  width: 100%;
  height: 90px;
  position: sticky;
  top: 0;
  display: flex;
  align-items: center;
  z-index: 5;
}
.logo {
    position: absolute;
    height: 80px;
    left: 12px;
    top: 5px;
}
ul {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  max-width: 1200px;
  margin: 0 auto;
  list-style: none;
}

li {
  display: flex;
  justify-content: center;
  align-items: center;
}

li a {
  color: #000000;              
  font-size: 23px;
  padding: 10px 16px;
  font-family: 'Oswald', sans-serif;
  text-align: center; 
  text-decoration: none;     
  transition: color 0.4s;    
}
li a:hover {
    color: #ffda96;
    cursor: pointer;
}
.active {
    color: #ffa600;
}

/* Gallery features - greyscaling and fullscreening */
.item img {
  filter: grayscale(0%);
  transition: filter 0.1s, transform 0.1s;
}

.item img:hover {
  cursor: pointer;
  filter: brightness(75%);
  filter: grayscale(80%);
}

#FullScreenClick {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-color: rgba(76, 70, 70, 0.901);
  display: none;
  text-align: center;
  z-index: 5;
}

#FullImg {
  padding: 20px;
  max-width: 90%;
  max-height: 90%;
  border-radius: 30px;
  margin-top: 30px;
}

#Close {
  position: fixed;
  top: 20px;
  right: 40px;
  font-size: 40px;
  color: #ffffff;
  cursor: pointer;
}

/* About Page */
.about-header {
  text-align: center;
  padding: 100px 0;
}

.about-header h1 {
  font-size: 70px;
  letter-spacing: 2px;
  margin: 0;
}

.about-section {
  display: flex;
  gap: 80px;
  max-width: 1000px;
  margin: auto;
  align-items: center;
  padding: 80px 0;
}

.about-portrait img {
  width: 100%;
  object-fit: cover;
  border-radius: 16px;
  position: relative;
  top: 20px;
}

.about-text .lead {
  font-size: 22px;
  font-weight: 500;
}

.about-text p {
  font-size: 18px;
  line-height: 1.6;
}

/* Gear Page */
.overlay-text {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  text-align: center;
  color: #fffbf5;
}

.overlay-text h1 {
  font-size: 76px;
  margin-bottom: 5px;
  font: sans-serif;
}
.overlay-text p {
  font-size: 16px;
  font-weight: 500;
}
.gear-hero {
  position: relative;
  width: 100%;
  height: 100vh;
  z-index: 2;
}
.gear-hero img {
  width: 86%;
  height: 100%;
  object-fit: cover;
  display: block;
  margin: 0 auto;
  border-bottom: solid 3px #000000;
  border-top: 2px solid #000000;
}

/* Gear Content Section */
.gear-intro {
  max-width: 800px;
  margin: 0 auto 60px auto;
  text-align: center;
}

.gear-intro p {
  font-size: 20px;
  line-height: 1.8;
  color: #333;
  font-weight: 400;
}

.gear-content {
  display: block;
  margin: 0px auto;
  max-width: 1200px;
  padding: 40px;
  background-color: #ffffff;
  border-radius: 16px;
}

.gear-content h2 {
  font-size: 26px;
  margin-bottom: 15px;
  border-bottom: 1px solid #d6d0c8;
  padding-bottom: 8px;
  letter-spacing: 0.5px;
}

.gear-content p {
  font-size: 18px;
  line-height: 1.7;
  margin-bottom: 18px;
  color: #2e2e2e;
}

/* Contact Page */
.contact-hero {
  position: relative;
  width: 100%;
  height: 100vh;
}

.contact-hero img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
  border-bottom: solid 3px #000000;
  border-top: 2px solid #000000;
}

.contact-container {
  display: flex;
  justify-content: center;
  align-items: center;
  flex-direction: column;
  background-color: rgba(255, 255, 255, 0.95);
  border-radius: 12px;
  padding: 40px;
  z-index: 1; 
}
.contact .button {
  align-self: center;
  width: 250px;
}

.contact {
  width: 100%;
  max-width: 500px;
  display: flex;
  flex-direction: column;
  gap: 15px;
  border-radius: 6px;
}

.contact-title p {
  text-align: center;
  margin-bottom: 10px;
  font-size: 18px;
}

.contact input,
.contact textarea {
  padding: 10px;       
  margin-bottom: 10px;
}

/* Fancy Button */
.button {
  border-radius: 5px;
  position: relative;
  background-color: transparent;
  color: #000000;
  border: 1px solid #000000;
  padding: 15px 20px;
  cursor: pointer;
  overflow: hidden;
}
.button span {
  position: relative;
  z-index: 2;
}

.button::after {
  content: "";
  inset: 0;
  position: absolute;
  background-color: #000000;
  transform: scaleY(0);
  transform-origin: center;
  transition: transform 0.2s ease-out;
  z-index: 1;
}
.button:hover::after {
  transform: scaleY(1);
}
.button:hover {
  color: white;
}

/* Contact info */
.contact-wrapper {
  display: flex;
  gap: 60px;
  max-width: 1000px;
  align-items: center;
}

.contact-info-sidebar {
  font-size: 17px;  
  min-width:400px;
  line-height: 1.3;
}
.contact-info-sidebar h1 {
  margin: 0;
  font-size: 38px;
  line-height: 0.9;
}
.social-links {
  display: flex;
  gap: 10px;
}
.social-links a img {
  width: 48px;
  height: 48px;
  vertical-align: center;
}

/* Footer */
.footer {
  width: 100%;
  height: auto;
  background-color: #232323;
  color: #f5f5f5;
  border-top: 2px solid #4e474792;
  padding: 60px 20px;
  text-align: center;
  box-sizing: border-box;
}

.footer-columns {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
}

.footer a {
  color: #757373;
  text-decoration: none;
  font-size: 16px;
  transition: 0.3s;
  text-align: center;
  display: flex;
  flex-direction: column;
}

.footer a:hover {
  color: #ffffff;
}

.footer h3,
.footer p {
  color: #f5f5f5;
}

/* Newsletter formatting */
.footer .col-2 {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 1px;
}

.newsletter-form input {
  padding: 12px;
  border-radius: 6px;
}

.newsletter-form button {
  padding: 15px;
  border-radius: 6px;
  border: solid #ffffff;
  background: transparent;
  color: white;
  cursor: pointer;
  transition: 0.3s;
  font-size: 15px;
}

.newsletter-form button:hover {
  background: white;
  color: black;
}

.copyright-text {
  font-size: 14px;
  margin-top: 40px;
}