

:root {

  --primary-white: #fffff5ff; 
  --primary-black: #070d13; 
}

html {
  scroll-behavior: smooth;
}
/* Custom styles for the slider */
.slider-container {
  margin-top: 20px;
}

input[type="range"] {
  width: 100px;
  height: 25px;
}


#ahh {
  position:absolute;
  top:20%;
  left:50%
}

#no-scroll {
  overflow:hidden;
}
.hidden-text {
  opacity: 0;
  transition: opacity 0.5s ease-in-out;
}

.hidden-text.visible {
  opacity: 1;
}

body {
  
  margin:0;
  transition: background-color .5s;
  background-color: var(--primary-white);
}
#sec1 {
  background-color: var(--primary-white);
  position: relative;
  height:700px;
  
}
#sec2 {
  margin-top: -100px;
  /*box-shadow: 0px -20px 50px rgba(13, 17, 20, 0.99);*/
  background-image: linear-gradient(#070d13 0%, #070d13 30%, black 100%);
  position: relative;
  height:1500px;
  

}



h1 {
  
  font-family: "Space Grotesk", sans-serif;
  font-optical-sizing: auto;
  font-weight: 700;
  font-size: 50px;
  font-style: normal;
}

#name {
  
  display:inline-block;
  position: fixed;
  z-index:10;
  top: 20%;
  left:10%;
  transition: 0.3s;
}
#grass {
  object-fit: cover;
  height: 1000px;
  width:100%;
  
  position:absolute;
  bottom:0%;
}

#mountain {

  width:100%;
  position: absolute;
  top:0%;
  left:0%
  
  
}

#mountain2 {

  width:100%;
  position: absolute;
  top:-40%;
  left:-1%;
  
  
}

#mountain3 {

  width:100%;
  position: absolute;
  top:-40%;
  left:-1%;
  z-index:-1;
  
}

.confirmation-message {
  display: none; /* Hide the message by default */
  margin-bottom: 20px;
  background-color: #d4edda; /* soft green background */
  border: 2px solid #28a745; /* green border */
  border-radius: 8px;
  padding: 15px;
  color: #155724; /* dark green text */
  font-size: 1rem;
  font-weight: bold;
  text-align: center;
  box-shadow: 0 4px 8px rgba(0, 0, 0, 0.1); /* subtle shadow */
  max-width: 600px; /* control the width */
  margin-left: auto;
  margin-right: auto;
  transition: opacity 0.5s ease-in-out, transform 0.5s ease-in-out;
}

.hidden-text {
  opacity: 0;
  transform: translateY(-20px);
  transition: opacity 0.5s ease-in-out, transform 0.5s ease-in-out;
}

.hidden-text.visible {
  opacity: 1;
  transform: translateY(0);
}

.confirmation-message p {
  margin: 0;
  padding: 0;
}



.sidenav {
  height: 100%;
  width: 0;
  position: fixed;
  z-index: 10;
  top: 0;
  right: 0;
  background-color: #111;
  overflow-x: hidden;
  transition: 0.5s;
  padding-top: 60px;
}

.sidenav a {
  position: relative;
  width: 200px;
  font-family: "Space Grotesk", sans-serif;
  padding: 8px 8px 8px 32px;
  text-decoration: none;
  font-size: 20px;
  color: var(--primary-white);
  display: inline-block;
  transition: color 0.3s ease;
}

.sidenav a::after {
  content: '';
  position: absolute;
  left: 32px;
  bottom: 6px;
  height: 2px;
  width: 0;
  background-color: var(--primary-white);
  transition: width 0.3s ease-in-out;
}

.sidenav a:hover {
  color: #bbbbbb; /* optional: slight color shift */
}
.sidenav a:hover::after {
  width: calc(100% - 90px); /* subtract left padding to match text width */
}


.sidenav .closebtn {
  position: absolute;
  top: 0;
  left: 25px;
  font-size: 36px;
  z-index:10;
}


/* --- Hamburger Icon Styling --- */
.menu-icon {
  position: fixed;
  top: 30px;
  right: 30px;
  width: 35px;
  height: 30px;
  cursor: pointer;
  z-index: 10;
}

.menu-icon div {
  width: 100%;
  height: 5px;
  background-color: var(--primary-black);
  margin: 6px 0;
  transition: 0.3s;
}
.menu-icon.white-icon div {
  background-color: var(--primary-white);
}


/* --- When sidebar is opened, animate the icon --- */
.menu-icon.open div:nth-child(1) {
  transform: translateY(11px) rotate(45deg);
}

.menu-icon.open div:nth-child(2) {
  opacity: 0;
}

.menu-icon.open div:nth-child(3) {
  transform: translateY(-11px) rotate(-45deg);
}


/* --- Change icon color when navbar is open --- */
.menu-icon.open div {
  background-color: var(--primary-white); /* Turns white when navbar opens */
}

@media screen and (max-height: 450px) {
  .sidenav {padding-top: 15px;}
  .sidenav a {font-size: 18px;}
}

.centered{
  
  padding-top:30px;
  position:absolute;
  left:42%;
  top:2%;
}

.centered2{
  
  padding-top:30px;
  position:absolute;
  left:44%;
  top:9%;
}



/* Reset */
* {
  margin: 0;
  padding: 0;
  box-sizing: border-box;
  font-family: "Space Grotesk", sans-serif;
}



/* Portfolio Container */
.portfolio-container {
  display: flex;
  justify-content: space-between;
  align-items: center;
  height: 100%;
  width: 100vw;
  padding: top 20px left 20px bottom 20px
}

/* Timeline on the Right */
.timeline {
  position: fixed;
  right: 50px;
  top: 50%;
  transform: translateY(-50%);
  text-align: right;
}

.timeline h2 {
  font-size: 18px;
  margin-bottom: 10px;
  color: var(--primary-white);
}

.timeline ul {
  list-style: none;
  padding: 0;
}

.timeline li {
  font-size: 12px;
  margin: 10px 0;
  cursor: pointer;
  opacity: 0.6;
  transition: opacity 0.3s ease-in-out;
  color: var(--primary-white)
}

.timeline li.active {
  opacity: 1;
  font-weight: bold;
  color: var(--primary-white);
}

/* Portfolio Section (One Scrollbar Only) */
.portfolio {
  padding-top:100px;
  display: flex;
  flex-direction: column;
  align-items: center;
  height: 100vh;
  width: 100%;
  overflow-y: scroll;
  scroll-snap-type: y mandatory;
 
}

/* Project Cards */
.project {
  width: 40%;
  max-width: 800px;
  padding: 30px;
  background: var(--primary-white);
  border: 2px solid var(--primary-black);
  border-radius: 15px;
  text-align: left;  /* Align text to the left */
  display: flex;  /* Use flexbox for layout */
  align-items: center;  /* Vertically align content */
  justify-content: space-between;  /* Space between the title/description and image */
  scroll-snap-align: center;
  transition: transform 0.5s ease-in-out, box-shadow 0.5s ease-in-out, opacity 0.3s ease-in-out;
  margin: 120px 0;
  opacity: 0.5;
}

/* BIG BIG Selected Project */
.project.selected {
  transform: scale(1.1);
  box-shadow: 0px 0px 50px grey;
  opacity: 1;
}

.card-text {
  text-align: center;
  display: flex;
  flex-direction: column;
}
/* Project Image (on the right side) */
.project img {
  width: 40%;  /* Adjusted width for the image */
  height: auto;
  border-radius: 10px;
  margin-left: 20px;  /* Space between image and text */
}

/* Title and Description Container (Left side) */
.project .text-container {
  display: flex;
  flex-direction: column;  /* Stack the title and description vertically */
  justify-content: center;  /* Vertically center the text */
  width: 50%;  /* Ensure the text container takes up 50% of the space */
}

/* Title */
.project h2 {
  font-size: 24px;  /* Smaller font size for the title */
  margin-bottom: 10px;
  font-family: "Space Grotesk", sans-serif;  /* Keep the title font the same */
}

/* Description */
.project p {
  font-size: 14px;  /* Smaller font size for the description */
  opacity: 0.8;
  font-family: "Arial", sans-serif;  /* Different font for the description */
  line-height: 1.5;  /* Improved readability */
  margin-top: 5px;  /* Space between the title and description */
}

.contact-section {
  
  max-width: 600px;
  margin: 100px auto;
  padding: 40px 30px;
  background-color: rgba(255, 255, 245, 0.85); /* matches var(--primary-black) with slight transparency */
  border-radius: 20px;
  box-shadow: 0 0 20px rgba(13, 17, 20, 0.08); /* subtle black glow */
  text-align: center;
  color: var(--primary-white);
}

.contact-section h2 {
  font-size: 1.8rem;
  color: var(--primary-white);
  margin-bottom: 10px;
}

.contact-section p {
  font-size: 1rem;
  color: var(--primary-black);
  margin-bottom: 30px;
}

.contact-form input,
.contact-form textarea {
  width: 100%;
  padding: 15px;
  margin-bottom: 20px;
  background: var(--primary-white);
  border: 1.5px solid rgba(13, 17, 20, 0.3);
  border-radius: 10px;
  font-size: 1rem;
  color: var(--primary-black);
  transition: border-color 0.3s ease, box-shadow 0.3s ease;
}

.contact-form input::placeholder,
.contact-form textarea::placeholder {
  color: rgba(13, 17, 20, 0.5);
}

.contact-form input:focus,
.contact-form textarea:focus {
  outline: none;
  border-color: #82d4aa; /* temp soft green accent */
  box-shadow: 0 0 8px #82d4aa;
}

.contact-form button {
  background: #82d4aa; /* soft green or change to a color you want */
  color: var(--primary-black);
  border: none;
  padding: 12px 25px;
  border-radius: 10px;
  font-weight: bold;
  font-size: 1rem;
  cursor: pointer;
  transition: 0.3s ease;
}

.contact-form button:hover {
  box-shadow: 0 0 12px #82d4aa;
  transform: scale(1.03);
}

.contact-info {
  margin-top: 20px;
  font-size: 0.95rem;
  color: var(--primary-white);
}

.contact-info a {
  color: #82d4aa;
  text-decoration: none
}

.space {
  height:0px;
}

.parallax-container {
  position: relative;
  height: 700px;
  padding-top:850px;
  overflow: hidden;
}

.parallax-layer {
  position: absolute;
  width:110%;
  height:100%;
  top: 10%;
  left: 0;
  pointer-events: none;
}




#layer1 { 
  z-index: 1; 
  top:-10%;
  transform: translateZ(-0.6px); }
#layer2 { z-index: 2; 
  top:-10%;
  transform: translateZ(-0.4px); }
#layer3 { 
  z-index: 3; 
  top: -10%;
  transform: translateZ(-0.2px); }
#layer4 { 
  z-index: 4; 
  top: -10%;
  transform: translateZ(-0.1px); }
#layer5 { 
  z-index: 5; 
  transform: translateZ(0px); 
  position: absolute;
  width:110%;
  height:100%;
  top: 60%;
  left: 0;
}
#layer6 { 
  z-index: 6; 
  transform: translateZ(0px); 
  position: absolute;
  width:110%;
  height:100%;
  top: 50%;
  left: 0%;
}
#layer7 { 
  z-index: 7; 
  transform: translateZ(0px); 
  position: absolute;
  width:110%;
  height:100%;
  top: 40%;
  left: 0%;
}
#layer8 { 
  z-index: 8; 
  position: absolute;
  width:110%;
  height:100%;
  top: 27%;
  left: 0%;
  transform: translateZ(0px); 
}

/* 
.project-link{
  font: 10px;
  padding-top:10px;
} */

.project-image{
  width:500px;
  height:500px;
}