* {
 box-sizing: border-box;
 margin: 0;
 padding: 0;
 font-family: 'Kumbh Sans', sans-serif;
}
/* ... your entire existing CSS remains unchanged ... */

/* Prevent horizontal scrolling and layout issues on small screens */
html, body {
  max-width: 100%;
  overflow-x: hidden;
}

/* --- ADDITIONAL RESPONSIVE FIXES --- */
@media screen and (max-width: 480px) {
  .main__container,
  .navbar__container,
  .pubs__container {
    padding-left: 20px;
    padding-right: 20px;
  }

  .background-box {
    padding: 10px;
  }
}

/* Existing mobile overrides (if not already included above) */
@media (max-width: 768px) {
  .gallery-container {
    display: flex;
    flex-direction: column;
    align-items: center;
  }
}

.gallery-item {
  margin: 10px 0;
  max-width: 90%;
}
/*NAVBAR*/

.navbar {
 background: #bf5700;
 height: 55px;
 display: flex;
 justify-content: center;
 align-items: center;
 font-size: 1.0rem;
 position: sticky;
 top: 0;
 z-index: 999;
}

.navbar__container {
 display: flex;
 justify-content: space-between;
 height: 80px;
 z-index: 1;
 width: 100%;
 max-width: 1300px;
 margin: 0 auto;
 padding: 0 50px;
}

#navbar__logo {
 color: #fff;
 -webkit-background-clip: text; /* Chrome and Safari */
 -moz-background-clip: text; /* Firefox */
 display: flex;
 align-items: center;
 cursor: pointer;
 text-decoration: none;
 font-size: 1.5rem;
}

.fa-gem {
 margin-right: 0.5rem
}

.navbar__menu {
 display: flex;
 align-items: center;
 list-style: none;
 text-align: center;
}

.navbar__item {
 height: 80px;
}

.navbar__links {
 color:#fff;
 display: flex;
 align-items: center;
 text-decoration: none;
 padding: 0 1rem;
 height: 100%;
}

.navbar__btn{
 display: flex;
 justify-content: center;
 align-items: center;
 padding: 0 1rem;
 width: 100%;
}

.button{
 display: flex;
 justify-content: center;
 align-items: center;
 text-decoration: none;
 padding: 10px 20px;
 height: 100%;
 width: 100%;
 border: none;
 border-radius: none;
 background: #bf5700;
 color: #fff
}


.button:hover {
 background: #fff;
 color: #bf5700;
 transition: all 0.3s ease;
}

.navbar__links:hover {
 color: #131313;
 transition: all 0.3s ease;
}

@media screen and (max-width: 960px){
 .navbar__container{
  display: flex;
  justify-content: space-between;
  height: 80px;
  z-index: 1;
  width: 100%;
  max-width: 1300px;
  padding: 0;
 }

 .navbar__menu{
  display:grid;
  grid-template-columns: auto;
  margin: 0;
  width: 100%;
  position: absolute;
  top: -1000px;
  opacity: 0;
  transition: all 0.5s ease;
  height: 50vh;
  z-index: -1;
  background: #bf5700;

 }

 .navbar__menu.active{
  background: #bf5700;
  top: 100%;
  opacity: 1;
  transition: all 0.5s ease;
  z-index: 99;
  height: 50vh;
  font-size: 1.6rem;
 }

 #navbar__logo {
  padding-left: 25px;
 }

 .navbar__toggle .bar{
  width: 25px;
  height: 3px;
  margin: 5px auto;
  transition: all 0.5s ease-in-out;
  background: #fff;
 }

 .navbar__item{
  width: 100%;
 }

 .navbar__links{
  text-align: center;
  padding: 2rem;
  width: 100%;
  display: table;
 }

 #mobile-menu{
  position: absolute;
  top: 20%;
  right: 5%;
  transform: translate(5%, 20%);
 }
 .navbar_btn{
  padding-bottom: 2rem;
 }

 .button{
  display: flex;
  justify-content: center;
  align-items: center;
  width: 80%;
  height: 80px;
  margin: 0;
 }

 .navbar__toggle .bar{
  display: block;
  cursor: pointer;
 }

 #mobile-menu.is-active .bar:nth-child(2){
  opacity: 0;
 }

 #mobile-menu.is-active .bar:nth-child(1){
  transform: translateY(8px) rotate(45deg);
 }

 #mobile-menu.is-active .bar:nth-child(3){
  transform: translateY(-8px) rotate(-45deg);
 }

}

/*HOME*/
.main{
 background-color: #fff;
}

.main__container {
 display: grid;
 grid-template-columns: 1fr 1fr;
 align-items: center;
 justify-self: center;
 margin: 0 auto;
 height: 80vh;
 background-color: #fff;
 z-index: 1;
 width: 100%;
 max-width: 1300px;
 padding: 0 50px;
}

.main__content h1 {
 font-size: 4rem;
 background-color: #bf5700;
 background-size: 100%;
 -webkit-background-clip: text;
 -moz-background-clip: text;
 -webkit-text-fill-color: transparent;
 -moz-text-fill-color: transparent;
}

.main__content h2{
 font-size: 4rem;
 background-color: #bf5700;
 background-size: 100%;
 -webkit-background-clip: text;
 -moz-background-clip: text;
 -webkit-text-fill-color: transparent;
 -moz-text-fill-color: transparent;
}

.main__content h3{
 font-size: 4rem;
 background-color: #bf5700;
 background-size: 100%;
 -webkit-background-clip: text;
 -moz-background-clip: text;
 -webkit-text-fill-color: transparent;
 -moz-text-fill-color: transparent;
}

.main__content p {
 margin-top: 1rem;
 margin-bottom: 1rem;
 font-size: 2rem;
 font-weight: 400;
 color: #bf5700
}

.main__btn {
 font-size: 1rem;
 background-image: #bf5700;
 padding: 14px 32px;
 border: none;
 border-radius: 4px;
 color: #fff;
 cursor: pointer;
 position: relative;
 transition: all 0.35s;
 outline: none;
}

.main__btn a {
 position: relative;
 z-index: 2;
 color: #bf5700;
 text-decoration: none;

}

.main__btn:after {
 position: absolute;
 content: '';
 top: 0;
 left: 0;
 width: 0;
 height: 100%;
 background: #bf5700;
 transition: all 0.35s;
 border-radius: 4px;
}


.main__btn:hover {
 color: #fff
}

.main__btn:hover a {
 color: #fff;
}

.main__btn:hover:after {
 width: 100%
}

.main__img--container {
 text-align: center;
}

#main__img {
 height: 80%;
 width: 80%;
}

.main::after {
 content: ""; /* Required for the pseudo-element */
 display: block; /* Make it a block element */
 height: 7px; /* Adjust the thickness of the line */
 background-color: #bf5700; /* Change to your desired color */
 margin-top: 1px; /* Space between the hero section and the line */
}
/* Mobile Responsive */

@media screen and (max-width: 768px) {
 .main__container {
  display: grid;
  grid-template-columns: auto;
  align-items: center;
  justify-self: center;
  width: 100%;
  margin: 0 auto;
  height: 90vh;
 }

 .main__content {
  text-align: center;
  margin-bottom: 4rem;
 }

 .main__content h1 {
  font-size: 2.5rem;
  margin-top: 1rem;
 }
 .main__content h2 {
  font-size: 2.5rem;
  margin-top: 1rem;
 }

 .main__content h3 {
  font-size: 2.5rem;
  margin-top: 1rem;
 }

 .main__content p{
  font-size: 1.5rem;
  margin-top: 1.5rem;
 }

}

@media screen and (max-width: 480px) {

 .main__content h1 {
  font-size: 2rem;
  margin-top: 2rem;
 }
 .main__content h2 {
  font-size: 2rem;
  margin-top: 2rem;
 }

 .main__content h3 {
  font-size: 2.5rem;
  margin-top: 1rem;
 }

 .main__content p{
  font-size: 2rem;
  margin-top: 1.5rem;
 }

 .main__btn{
  padding: 12px 36px;
  margin: 2.5rem 0;
 }
}

/*RESEARCH OUR FOCUS */
.focus {
 background: #fff;
 display: flex;
 flex-direction: column;
 align-items: center;
 height: 100vh;
 margin-top: 5rem;
}

.focus h1 {
 background-color: #bf5700;
 background-size: 100%;
 margin-bottom: 5rem;
 font-size: 3rem;
 -webkit-background-clip: text;
 -moz-background-clip: text;
 -webkit-text-fill-color: transparent;
 -moz-text-fill-color: transparent;

}

.focus__container {
 display: flex;
 justify-content: space-around;
 width: 100%;
 max-width: 1200px
}

.focus__card {
 background-color: #bf5700;
 flex: 1;
 margin: 0 1rem;
 padding: 1rem;
 border-radius: 8px;
}

.focus__card h2{
 color: #fff;
 margin-bottom: 1rem;
}

.focus__card p br {
 content: "";
 display: block; /* Treats the line break like a block element */
 margin-bottom: 1rem; /* Space after the line break */
}

.focus__card p{
 color: #fff
}

@media screen and (max-width: 768px) {
 .focus {
    height: 1400px;
 }
 .focus h1{
  font-size: 4rem;
  margin-top: 2rem;
 }
}

@media screen and (max-width: 480px){
 .focus {
    height: 1400px;
 }

 .focus h1 {
  font-size: 4rem;
 }

 .focus__card {
  width: 300px;
  height: 1400px;
 }
}


/* FOOTER */
.footer__container {
  background-color: #bf5700;
  padding: 1rem;
  display: flex;
  flex-direction: row;
  align-items: center;
  justify-content: center;
  width: 100%;
  flex-wrap: wrap;
  box-sizing: border-box;
  overflow-x: hidden;
}

.footer__links {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  align-items: center;
  margin: 10px;
  gap: 1rem;
}

.footer__link--wrapper {
  display: flex;
  flex-wrap: wrap;
}

.footer__link--items {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  margin: 0 8px;
  text-align: center;
  box-sizing: border-box;
}

.footer__link--items h2 {
  margin: 0 1rem 0 0;
  color: #fff;
  font-size: 1rem;
}

.footer__link--items a {
  color: #fff;
  margin: 0 8px;
  text-decoration: none;
  font-size: 0.9rem;
}

.footer__image {
  text-align: center;
  width: 100%;
  margin-top: 1rem;
}

.footer__image img {
  width: 90%;
  max-width: 300px;
  height: auto;
  display: block;
  margin: 0 auto;
}

/* Responsive Footer */
@media screen and (max-width: 768px) {
  .footer__container {
    flex-direction: column;
    padding: 1rem;
  }

  .footer__links {
    flex-direction: column;
    margin: 0;
  }

  .footer__link--items {
    flex-direction: column;
    align-items: center;
    margin: 1rem 0;
  }

  .footer__link--items h2 {
    margin-bottom: 0.5rem;
  }

  .footer__link--items a {
    margin: 0.25rem 0;
  }

  .footer__image img {
    width: 80%;
  }
}
/* Mobile adjustments for footer */
@media screen and (max-width: 768px) {
.footer__container {
flex-direction: column; /* Stack items vertically */
padding: 1rem;
}

.footer__links {
margin-right: 0;
margin-bottom: 1rem; /* Ensure there's spacing between links */
}

.footer__image img {
width: 80%; /* Make the image smaller on mobile */
}
}




/*PUBLICATIONS*/

.pubs__header__container{
    margin-top: 2vh;
    padding-left: 100px;
    padding-top: 50px;
    padding-bottom: 50px;
}

.pubs__header__container h1{
    color: #bf5700;
}

.pubs__header__container p{
    color: #131313;
}

.pubs__container {
    display: flex;
    justify-content: center;
    align-items: center;
    padding-left: 100px;
    padding-right: 100px;
    padding-bottom: 100px;
}

.pubs-box {
    background-color: #f5ece5; /* Light orange-gray background */
    border: 1px solid #a9a9a9; /* Darker gray border */
    padding: 20px; /* Padding inside the box */
    border-radius: 5px; /* Rounded corners */
	align-content: center;
}

.pubs-box h2 {
    margin-top: 0; /* Remove top margin from the heading */
}


.pubs-box ul {
    list-style-type: none; /* Remove bullet points */
    padding: 0; /* Remove default padding */
	align-content: center;
}

.pubs-box ul li {
    margin: 30px 0; /* Space between list items */
}

.pubs-box ul li a{
    color: #bf5700; /* Space between list items */
}

/*CONTACT*/

.contact-header {
    color: #bf5700; /* Text color */
    height: auto;
    padding: 20px; /* Add padding */
    margin-bottom: 20px; /* Space between header and content */
}

.contact-header h2 {
    font-size: 2.5rem; /* Adjust the size of the main header */
    margin: 0; /* Remove default margin */
}

.background-box {
    background-color: #f5ece5; /* Desired background color */
    color: #bf5700; /* Desired text color */
    padding: 20px; /* Add some padding */
    height: 50vh; /* Optional: Set the height */
    border: 2px solid #bf5700; /* Border color and width */
    border-radius: 15px; /* Adjust the radius for rounded corners */
    max-width: 1300px; /* Set a maximum width */
    margin: 0 auto; /* Center the box horizontally */
    margin-bottom: 100px;
}

.three-columns {
    display: flex;
    flex-wrap: wrap; /* Allows columns to wrap on smaller screens */
}

.column {
    flex: 1; /* Each column will take equal space */
    margin: 10px; /* Add some margin between columns */
    min-width: 250px; /* Ensures columns are at least this wide */
    display: flex; /* Use flexbox for column layout */
    flex-direction: column; /* Align children in a column */
    justify-content: center; /* Center contents vertically */
    align-items: center; /* Center contents horizontally */
    text-align: center; /* Center text horizontally */
    height: 100%; /* Allow the column to take full height of parent */
}


.column h2 {
    margin-bottom: 20px; /* Space below the heading */
}

.column p {
    margin: 0; /* Remove default margin */
}

.map {
    height: auto; /* Set a height for the map */
}


/* Media Queries for Mobile Responsiveness */
@media (max-width: 1000px) {
    .background-box{
        height: 70vh;
        margin-bottom: 50px;
    }

    .three-columns {
        flex-direction: column; /* Stack columns on top of each other */
    }

    .column {
        margin: 10px 0; /* Adjust margin for stacked columns */
    }

    .page-header h1 {
        font-size: 1.5em; /* Smaller header size on mobile */
    }

}

/*PEOPLE*/


.PI_container {
    display: flex;
    align-items: center; /* Align items vertically */
    margin-left: 20px;
    margin-right: 20px;
    margin-top: -50px;
}

.PI_image-container {
    flex: 0 0 40%;
}

.PI_image-container img {
    width: 100%; /* Make image responsive */
    height: auto; /* Maintain aspect ratio */
}

.PI_text-container {
    flex: 1; /* Take up the remaining space */
    padding: 30px; /* Add some padding */
    margin-top: 70px;
}

.PI_text-container h2{
    margin-bottom: 20px;
}

@media (max-width: 1000px) {
    .PI_container {
        flex-direction: column; /* Stack items vertically */
        align-items: center; /* Center align items */
        margin-top: 40px;
    }

    .PI_image-container {
        order: 1; /* Image first */
        flex: 0 0 auto; /* Reset flex properties */
        margin-top: 0; /* Remove margin on top for better spacing */
    }

    .PI_text-container {
        order: 2; /* Header and paragraph second */
        margin-top: 20px; /* Space above text on mobile */
    }
}

.gallery-container {
    display: flex; /* Use flexbox for layout */
    justify-content: space-between; /* Space between items */
    margin-bottom: 20px; /* Space between rows */
}

.gallery-header{
    font-size: 2.5rem;
    text-align: center;
    color: #bf5700;
    padding: 15px;
}

.gallery-item {
    flex: 1; /* Make items equally sized */
    margin: 0 10px; /* Add space between items */
}

.gallery-item img {
    width: 100%; 
    height: 90%; 
    object-fit: cover;
    display:block;
  border-radius: 8px; /* Optional: makes them look nicer */
}

.item-header {
    font-weight: bold; /* Make item header bold */
    margin-top: 10px; /* Space above item header */
}

.gallery-item p {
    margin-top: 5px; /* Space above paragraph */
}

.former_members_section{
    margin-bottom: 40px;
}

.former_members_section h2{
    font-size: 2.5rem;
    text-align: center;
    color: #bf5700;
    padding: 15px;
}

.former_members_section p{
    margin-top: 5px;
    text-align: center;
}

/* Media Query for Mobile Responsiveness */
@media (max-width: 768px) {
    .gallery-container {
        display: flex;
        flex-direction: column;
        align-items: center;
    }
}

    .gallery-item {
        margin: 10px 0; /* Add vertical spacing between items */
        max-width: 90%; /* Limit max width for smaller screens */
    }
.focus__image {
    width: 100%;  /* Make sure the image scales within the container */
    max-width: 300px;  /* Set a reasonable max width */
    height: auto;  /* Maintain aspect ratio */
    display: block;
    margin: 10px auto;  /* Center the image */
    border-radius: 10px;  /* Optional: Rounded corners */
    object-fit: cover;  /* Ensures it looks good if constrained */
}
html, body {
    max-width: 100%;
    overflow-x: hidden;
}