body {
  font-family: 'Montserrat', sans-serif;
  background-color: white;
  margin: 0;
}

h3 {
  font-size: 3rem;
  padding-bottom: 2%;
  color: #203F96;
  text-decoration: underline;
}

#title {
  display: flex;
  align-items: center;
  justify-content: space-between;
  background-color: #d16e34;
  padding: 2rem;
  position: relative;
  height: 100vh; /* Ensures full height */
}

.img-of-me {
  margin-top: 2rem; 
  top: 50px;  /* Moves the image slightly down */
  margin-left: 10px;  /* Adjust if needed to move horizontally */
  width: 80%;         
  height: 90%;
  object-fit: cover;
  border-radius: 10px;
}

.text-section {
  width: 40%;
  padding: 2rem;
  color: white;
  font-family: 'Montserrat', sans-serif;
}

h1 {
  font-size: 3rem;
  font-weight: bold;
}

h2 {
  font-size: 1.5rem;
  color: navy; /* Adjust for better contrast */
}

.col-lg-6 {
  height: 100%;
}

.row {
  padding: 0;
}

/* Navigation Bar */
.navbar {
  padding: 0.5rem 2rem 0.5rem;
}

.navbar-custom {
  background-color: #E7EDEE;
}

.navbar-brand {
  font-weight: bold;
  font-size: 1.5rem;
}

/* spacing between words*/
.nav-item {
  padding: 0 18px;
}

.nav-item:hover {
  text-decoration: underline;
}

.nav-link {
  font-size: 1.2rem;
}

.sticky-top {
  background-color: #d16e34;
}

/* Styling for name + bio */
.my-name {
  font-family: 'Sacramento', cursive;
  line-height: 1.5;
  text-align: center;
  font-size: 5.7rem;
  margin: 250px auto 0 auto;
  color: white;
}

.bio {
  font-size: 1.75rem;
  font-weight: bold;
  color: #203F96;
  text-align: center;
  padding-bottom: 10px;
}

.container-fluid {
  padding: 0 1% 1% 0;
}

/* Social Media Buttons */
[class*="brandico-"]:before {
  font-family: 'brandico', sans-serif;
}

ul.social-buttons {
  text-align: center;
  margin-top: 50px;
  padding-bottom: 10%;
}

ul.social-buttons li a {
  width: 60px;
  height: 60px;
  display: block;
  border-radius: 50px;
  text-decoration: none;
  font-size: 35px;
  line-height: 60px;
  color: white;
}

ul.social-buttons li {
  display: inline-block;
  margin: 0 10px;
  padding-bottom: 10%;
}

.brandico-twitter {
  background-color: #3f729b;
}

.brandico-linkedin {
  background-color: #0e76a8;
}

/* About Section */

#about {
  padding: 5% 5% 0% 6%; /* Keep the same padding logic as resume */
  margin-left: 0%; /* Adjust this value for fine-tuning */
}


#features {
  padding: 5% 5% 0% 6%;
  line-height: 2;
  font-size: 1.2rem;
}

.about-img {
  border-radius: 100%;
  height: 18%;
  width: 18%;
  float: left;
  margin-left: -30px; 
}

.about-sec {
  font-weight: bolder;
}

#projects {
  text-align: center;
  padding: 5% 6% 6%;
}

/* Resume */
#resume {
  background-color: #f0efef;
  display: grid;
  grid-template-columns: 1fr 4fr;
  gap: 20px;
  padding: 5% 5% 0% 6%;
  border-bottom: 1px solid lightgrey;
}

.section-title {
  font-weight: bold;
  font-size: 1.43rem;
  color: #d16e34;
}




/* Learn More Button */
.btn {
  background-image: linear-gradient(120deg, #e0c3fc 0%, #8ec5fc 100%);
}

/* Experience Section */
.job {
  padding-bottom: 14px;
  margin-bottom: 14px;
  border-bottom: 1px solid lightgrey;
}

.job:last-child {
  border-bottom: none;
}

.job-title-container {
  display: flex;
  justify-content: space-between;
  margin-bottom: 20px;
  font-size: 1.1rem;
}

.job-company {
  font-weight: bolder;
  line-height: 1.2;
  color: #d16e34;
}


.skills-container {
  display: grid;
  grid-template-columns: 1fr 1fr 1fr;
  gap: 20px;
  margin-bottom: 14px;
  font-size: 1.1rem;
  line-height: 2;
}

.skills-container ul {
  margin-left: 0;
  list-style-type: disc;
}

/* Footer */

#footer {
  background-color: #d16e34; /* Match the desired color */
  color: white;
  width: 100; /* Ensures the footer stretches across the full viewport width */
  padding: 4% 15%; /* Adjust padding to create more vertical space */
  text-align: center;
  
}

.social-icon {
  padding: 0;
  font-size: 2.5em;
}

.fa-linkedin, .fa-twitter {
  display: inline-block;
  width: 1.2em;
  color:white;
}

.social-icon .grow {
  transition: all .2s ease-in-out;
}

.social-icon :hover {
  transform: scale(1.5);
  text-decoration: none;
}

.section-title {
  font-weight: bold;
  font-size: 1.43rem;
  color: #E07D78;
}

/* ------------------------------
   Mobile Responsiveness Tweaks
   (Only applied on screens 768px wide or smaller)
--------------------------------- */
@media only screen and (max-width: 768px) {
  /* Stack the title section vertically and remove fixed height */
  #title {
    flex-direction: column;
    height: auto;
    padding: 2rem 1rem;
  }
  
  /* Make the title image scale properly */
  .img-of-me {
    width: 100% !important;
    height: auto !important;
    margin: 1rem auto;
    top: 0;
    margin-left: 0;
  }
  
  /* Scale down the name and adjust its margin */
  .my-name {
    margin: 1rem auto 0 auto;
    font-size: 3rem;
  }
  
  /* Slightly reduce bio font size */
  .bio {
    font-size: 1.2rem;
  }
  
  /* Center the about image and adjust its size */
  .about-img {
    float: none;
    display: block;
    margin: 0 auto 1rem auto;
    width: 30%;
    height: auto;
  }
  
  /* In the Resume section, stack grid columns into one */
  #resume {
    grid-template-columns: 1fr;
    padding: 5% 5% 0% 6%; /* Keeping your original padding logic */
  }
  
  /* Stack job title container items vertically */
  .job-title-container {
    flex-direction: column;
    align-items: flex-start;
  }
  
  /* Adjust the skills grid to 2 columns */
  .skills-container {
    grid-template-columns: 1fr 1fr;
  }
}

/* Project Card Image Standardization */
/* Standardize project card heights */
.card {
  height: 100%;
  display: flex;
  flex-direction: column;
}

/* Create consistent image container with fixed height */
.card-img-container {
  height: 240px;  /* Increased height to show more of the image */
  overflow: hidden;
  position: relative;
}

/* Make all project images fill their containers consistently */
.project-img {
  width: 100%;
  height: 100%;
  object-fit: cover;  /* This crops/scales images to fit the container */
  object-position: top;  /* Ensures the top part of the image is always visible */
}

/* Make card body flex to push button to bottom */
.card-body {
  display: flex;
  flex-direction: column;
  flex-grow: 1;
}

/* Push the button to the bottom of card */
.card-body .btn {
  margin-top: auto;
}

/* For the Boxi logo, show the entire logo more clearly */
.project-img.boxi-img {
  object-fit: contain !important; /* show entire logo */
  transform: scale(0.9);          /* slightly “zoom out” */
  transform-origin: center center;
  background-color: white;        /* optional if you want a white behind the logo */
}

/* For the Archimedes image, adjust how much is visible */
.project-img.archimedes-img {
  object-fit: cover;             /* still cover the container */
  object-position: top center;   /* center from the top */
  transform: scale(0.9);         /* reduce size to see more of the figure */
  transform-origin: top center;
}

