#home {
  background-color: var(--main);
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  text-align: center;
}

.main-container {
  max-width: 600px;
  width: 100%;
}

.main-logo {
  width: 100%;
  height: 100%;
  display: block;
  padding-top: 1.8em;
  max-width: 800px;
}

.banner-wrapper {
  width: 100vw;
  overflow: hidden;
  white-space: nowrap;
  border-radius: 10px;
}

.banner-text {
  display: inline-block;
  animation: scroll 40s linear infinite;
  font-family: "Calistoga", sans-serif;
  font-size: 3rem;
  color: var(--dark1);
}

.banner-text span {
  display: inline-block;
}

/* Smooth scrolling */
@keyframes scroll {
  0% {
    transform: translateX(0);
  }
  100% {
    transform: translateX(-50%);
  }
}

/*VIDEO SECTION*/
.video-frame {
  width: min(70vw, 40em);
  max-width: 900px;
  aspect-ratio: 16 / 9;
  margin: 50px auto;
  border-radius: 15px;
  overflow: hidden;
  box-shadow: 0 4px 20px rgba(0, 0, 0, 0.3);
}

.video {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
}

/*PENGUIN IMAGE (IN OUR MISSION)*/
#mission {
  color: var(--neutral) !important;
  margin: 1em;
}

.mission-card {
  width: 100%;
  max-width: 1000px;
  margin: 0 auto;
  background-color: #59883d;
  border-radius: 10px;
  overflow: hidden;
}
#mission img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}
.row.align-items-stretch {
  min-height: 300px;
}
.group-photo {
  width: 100%;
  max-width: 900px;
  height: auto;
  display: block;
  margin: 0 auto;
  transition: transform 0.5s ease;
}

.group-photo:hover {
  transform: scale(1.1);
}

.project-row {
  display: flex;
  width: 100%;
  max-height: 300px;
  gap: 1em;
}

.proj-left {
  flex: 1;
  min-width: 250px;
  aspect-ratio: 1 / 1; /* Makes it a square */
  max-width: 300px;
  overflow: hidden;
}

.proj-right {
  flex: 2;
  display: flex;
  align-items: stretch;
  overflow: hidden;
}

.proj-left img,
.proj-right img {
  border-radius: 8px;
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
  object-position: 40% 80%;
}

/* Stack images on screens smaller than 768px */
@media (max-width: 768px) {
  .project-row {
    flex-direction: column;
    max-height: none;
    gap: 1em;
  }

  .proj-left img,
  .proj-right img {
    height: auto;
    object-fit: cover;
  }
}

.mission-card .card-body {
  padding: 80px;
}

@media (max-width: 768px) {
  .mission-card .card-body {
    padding: 2em;
  }
}

/*WE CAN REMOVE THE FRAME BOX BEHIND PIC*/
.project-card {
  padding: 3px 10px;
  border-radius: 8px;
  background-color: #518b0513;
}

ul {
  display: flex;
  align-items: center;
  justify-content: center;
  flex-wrap: wrap;
  margin: 1rem;
  list-style-type: none;
  font-size: 2rem;
}

ul li {
  padding: 1rem;
}

.fab {
  font-size: 3rem;
}

/* transition for social icon hover animation */
.fa-envelope,
.fa-codepen,
.fa-linkedin,
.fa-instagram,
.fa-github {
  transition: 0.4s;
  cursor: pointer;
}

/* social media icons hover color */

.fa-envelope {
  font-size: 43px;
}

.fa-envelope:hover,
.fa-envelope:focus {
  color: #c71610; /* Gmail red */
  transform: scale(1.1);
}

.fa-instagram:hover,
.fa-instagram:focus {
  color: #bd22a2;
  transform: scale(1.1);
}

.fa-linkedin:hover,
.fa-linkedin:focus {
  color: #0077b5;
  transform: scale(1.1);
}

.fade-in-logo {
  animation:
    logoBounce 1s cubic-bezier(0.34, 1.56, 0.64, 1),
    logoIdle 2.5s ease-in-out 1s infinite;
}

@keyframes logoIdle {
  0%,
  100% {
    transform: translateY(0);
  }
  50% {
    transform: translateY(-6px);
  }
}

@keyframes logoBounce {
  0% {
    transform: scale(0.7) translateY(40px);
    filter: blur(6px);
  }

  40% {
    transform: scale(1.15) translateY(-20px);
    filter: blur(0);
  }

  60% {
    transform: scale(0.95) translateY(10px);
  }

  80% {
    transform: scale(1.05) translateY(-5px);
  }

  100% {
    transform: scale(1) translateY(0);
  }
}

.join-card {
  border-radius: 30px;
  background: linear-gradient(135deg, var(--neutral), #4c7f0a);
}

.join-eyebrow {
  color: var(--accent2);
  letter-spacing: 2px;
  text-shadow: 1px 1px 2px black;
}

.join-btn {
  background-color: var(--secondary);
  color: var(--main);
  font-weight: bold;
  border-radius: 50px;
  box-shadow: 0 8px 20px rgba(180, 206, 31, 0.4);
  transition: all 0.25s ease;
}

.join-btn:hover {
  transform: translateY(-4px) scale(1.05);
  box-shadow: 0 15px 35px rgba(180, 206, 31, 0.6);
  color: var(--main);
}

.card-content {
  text-shadow: 1px 1px 2px rgb(120, 120, 120);
}

.join-us-btn {
  padding: 4px 20px;
  border-radius: 5px;
  border: 1px solid var(--neutral);
  color: var(--main);
  transition: all 0.25s ease;
}

.btn-style:hover {
  transform: translateY(-2px) scale(1.05);
  box-shadow: 0 8px 25px rgba(180, 206, 31, 0.6);
  color: var(--main);
  background-color: var(--secondary);
}

.donate-btn {
  padding: 4px 20px;
  border-radius: 5px;
  background-color: var(--secondary);
  transition: all 0.25s ease;
  text-shadow: 1px 1px 2px rgb(91, 91, 91);
}

#whoWeAreCarousel {
    width: 100%;
    max-width: 100%;
    margin: 0 auto;
    overflow: hidden;
    box-sizing: border-box;
}

#whoWeAreCarousel .carousel-item {
  min-height: 300px;
}

#whoWeAreCarousel .group-photo {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
}

@media (max-width: 768px) {
  #whoWeAreCarousel .carousel-item {
    height: 300px;
  }
}

html,
body {
  overflow-x: hidden;
}
