body {
	font-family: "avenir-lt-pro", sans-serif;
	background-color: #2A2A2A;
	min-height: 100vh;
	display: flex;
	flex-direction: column;
}
a {
	display: inline-block; /* Required for transform to work correctly */
  transition: transform 0.3s ease; /* Smooths the magnification */
	color: #E9E9E9;
	text-decoration: none;
	}
 header {
      padding: 1rem 2rem;
	 background-color: #2A2A2A;
     display: flex;
     justify-content: center;
     align-items: center;
     position: relative;
    }

    .logo img {
      max-height: 100px;
    }
    .header-left {
      display: flex;
      align-items: center;
    }
    .header-right {
      position: absolute;
      right: 2rem;
      display: flex;
      align-items: center;
      gap: 1rem;
    }
    .header-logo-link {
      display: inline-block;
      margin-right: 0.5rem;
    }
    .header-logo {
      max-height: 42px;
      width: auto;
      display: block;
    }

    .burger {
      padding: 0.5rem 1rem;
    }
.social-icon {
    color: #E9E9E9;
    font-size: 1.5rem; /* Adjusts the size of the icons */
}

/* Responsive images and media */
.img-responsive { 
	width:100%; 
	height:auto; 
	display:block; 
	border-radius:6px; 
	object-fit:cover; }

/* HERO */
.hero {
  height: 80vh;
	display: flex;
  align-items: center;
  justify-content: center;
  text-align: center;
 max-height: 200px;
background-image: 
    radial-gradient( rgba(233, 233, 233, 0.9) 30%, /* 50% transparent white */
      transparent 80%),
    url("images/Hero.jpg");
	background-size: cover;
  background-position: top;
}
h1 {
    font-size: 3rem;
    color: #000000;
-webkit-text-stroke: 1px #fff;
}
.hero-content p {
  margin-top: 0;
  margin-bottom: 5%;
  font-size: 1.25rem;
  font-weight: 400;
}
h2 {
font-size: 2rem;
font-weight: 400;
color: #2A2A2A;
margin-bottom: .25rem;
}
p {
color: #2A2A2A;
}

/* portfolio GRID used on home page*/
.portfolio-grid {
  padding: 40px;
	background-color: #2A2A2A;
	margin-bottom: 15px;
}
.grid-container {
  display: grid;
  grid-template-columns: repeat(2,1fr);
  gap: 20px;
}
.grid-item {
  position: relative;
  display: block;
  overflow: hidden;
	border: thin,#000000,solid;
  border-radius: 6px;
}
.grid-item img {
  width: 100%;
  height: 300px;
  object-fit: cover;
  display: block;
  border-radius: 6px;
}
/* Gallery Grid - used for image gallery (Masonry style) */
.gallery-grid {
  margin: 0 auto 15px;
  padding: 20px;
  max-width: 1200px;
}
.gallery-item {
  width: 33.333%;
  float: left;
  padding: 8px;
  box-sizing: border-box;
}
.gallery-item img {
  width: 100%;
  display: block;
  object-fit: cover;
  border-radius: 6px;
}
@media (max-width: 960px) {
  .gallery-item { width: 50%; }
}
@media (max-width: 640px) {
  .gallery-item { width: 100%; }
}

/* overlay text */
.overlay {
  position: absolute;
  inset: 0;
  color: #fff;
  display: flex;
  align-items: center;
  justify-content: center;
  text-align: center;
  opacity: 1;
  padding: 1rem;
  z-index: 2;
  border-radius: 6px;
}

/* footer overlay */
.footer-overlay {
  position: absolute;
  inset: 0;
  color: #2a2a2a;
  display: flex;
  align-items: center;
  justify-content: center;
  text-align: center;
  opacity: 1;
  padding: 0.5rem;
  z-index: 2;
  border-radius: 6px;
}

.footer-overlay span {
  font-size: 0.75rem;
  font-weight: 600;
}

/* hover effect */
.grid-item:hover img {
  transform: scale(1.05);
  transition: 0.3s ease;
}

/* Forms */
.form-row { 
	display:flex; 
	gap:12px; 
	flex-wrap:wrap; }
.input, .select, .textarea {
 	width:100%; 
	padding:10px 12px; 
	border:1px solid #d8e3f2; 
	border-radius:8px; 
	font-size: var(--fs-base);
  	background:#fff;
}
.button {
 	display:inline-block; 
	background:var(--brand); 
	color:#fff; 
	border:0; 
	padding:10px 16px; 
	border-radius:8px; 
	cursor:pointer; 
	font-weight:600;
}
.button:disabled { 
	opacity:0.6; 
	cursor:not-allowed; }

/* Utility classes */
.text-center { 
	text-align:center; }
.mt-1 { 
	margin-top:8px; } 
.mt-2 { 
	margin-top:16px; } 
.mb-2 { 
	margin-bottom:16px; }
.flex { 
	display:flex; } 
.items-center { 
	align-items:center; } 
.justify-between { 
	justify-content:space-between; }

footer {
  margin-top: auto;
  min-height: 100px;
  display: flex;
  align-items: center; 
  justify-content: space-between;
  background-color: #2A2A2A;
  padding: 1rem 2rem;
  flex-wrap: wrap;
}
.footer-left {
  flex: 1;
  display: flex;
  flex-direction: column;
  gap: 0.75rem;
}
.footer-title {
  margin: 0;
  font-size: 0.9rem;
  color: #E9E9E9;
}
.footer-grid-items {
  display: flex;
  gap: 0.75rem;
}
.footer-grid-item {
  position: relative;
  display: block;
  width: 80px;
  height: 80px;
  overflow: hidden;
  border-radius: 6px;
  flex-shrink: 0;
}
.footer-grid-item img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
  transition: transform 0.3s ease;
}
.footer-grid-item:hover img {
  transform: scale(1.05);
}
.footer-grid-item:hover .footer-overlay {
  background: rgba(0,0,0,0.3);
}
.footer-right {
      gap: 1.5rem;
}

/* Accessibility & prefers-reduced-motion */
@media (prefers-reduced-motion: reduce) {
  * { 
	  transition: none !important; 
	  animation: none !important; }
}

/* Small-screen adjustments */
@media (max-width: 640px) {
  .container { 
	  padding-left: 12px; 
	  padding-right: 12px; }
  .header-left,
  .header-right { 
    width: 100%;
    justify-content: space-between;
  }
  .header-right {
    flex-wrap: wrap;
    margin-top: 0.5rem;
  }
  .hero { 
	  padding: 28px 0; }
  .footer {
	  flex-direction: column;
	  gap: 1rem;
	  align-items: flex-start;
  }
  .footer-left {
    width: 100%;
  }
  .footer-grid-item {
    width: 60px;
    height: 60px;
  }
  .footer-right {
	  width: 100%;
	  justify-content: flex-start;
  }
}

/* Optional: utility for two-column content where text + sidebar swap order on mobile */
.two-col { 
	display:grid; 
	gap:16px; 
	grid-template-columns: 2fr 1fr; 
	align-items:start; }
@media (max-width:900px) { 
	.two-col { 
		grid-template-columns:1fr; } }

/* Small helpers for readable code */
.hidden { 
	display:none !important; }
.show { 
	display:block !important; }
