/* 1. For Chrome, Edge, and Safari (WebKit) */
::-webkit-scrollbar {
  width: 6px; /* Ultra-thin width */
  height: 6px; /* For horizontal scrollbars */
}

::-webkit-scrollbar-track {
  background: #ffffff; /* Pure white background for light theme */
}

::-webkit-scrollbar-thumb {
  background: #e0e0e0; /* Very subtle light grey thumb */
  border-radius: 20px; /* Fully rounded capsules */
  border: 1px solid #ffffff; /* Creates a tiny gap for a "floating" effect */
}

::-webkit-scrollbar-thumb:hover {
  background: #cccccc; /* Darkens slightly on hover for feedback */
}

/* 2. For Firefox */
html {
  scrollbar-width: thin;
  scrollbar-color: #e0e0e0 #ffffff; /* thumb | track */
}

:root {
  --bs-blue: #0d6efd;
  --bs-indigo: #6610f2;
  --bs-purple: #6f42c1;
  --bs-pink: #d63384;
  --bs-red: #dc3545;
  --bs-orange: #fd7e14;
  --bs-yellow: #ffc107;
  --bs-green: #198754;
  --bs-teal: #20c997;
  --bs-cyan: #0dcaf0;
  --bs-white: #fff;
  --bs-gray: #6c757d;
  --bs-gray-dark: #343a40;
  --bs-primary: #0d6efd;
  --bs-secondary: #6c757d;
  --bs-success: #198754;
  --bs-info: #0dcaf0;
  --bs-warning: #ffc107;
  --bs-danger: #dc3545;
  --bs-light: #f8f9fa;
  --bs-dark: #212529;
  --bs-font-sans-serif:
    system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", Arial,
    "Noto Sans", "Liberation Sans", sans-serif, "Apple Color Emoji",
    "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";
  --bs-font-monospace:
    SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New",
    monospace;
  --bs-gradient: linear-gradient(
    180deg,
    rgba(255, 255, 255, 0.15),
    rgba(255, 255, 255, 0)
  );
  /* my declarations */
  --dev-border: 1px solid var(--bs-dark);
  --coda-easing: 0.8s cubic-bezier(0.25, 1, 0.5, 1);
  --dev-blue: #2c4681;
  --round-border: 60px;
}

* {
  margin: 0;
  padding: 0;
  box-sizing: border-box;
}

html {
  width: 100vw;
  overflow-x: hidden;
}

body {
  background: var(--bs-light);
  min-height: 100vh;
  width: 100vw;
  overflow-x: hidden;
}

.PilcrowRounded-Semibold {
  font-family: "PilcrowRounded-Variable", sans-serif;
}

.varela-round-regular {
  font-family: "Varela Round", sans-serif;
  font-weight: 400;
  font-style: normal;
}
.Hind-Regular {
  font-family: "Hind-Regular", sans-serif;
}
.Gill-Sans-2-Italic {
  font-family: "Gill-Sans-2", sans-serif;
  font-style: italic;
}
.Gill-Sans-2 {
  font-family: "Gill-Sans-2", sans-serif;
}
.Alpino-Regular {
  font-family: "Alpino-Regular", sans-serif;
}

.Gill-Sans-2 {
  font-family: "Gill Sans 2", sans-serif;
  font-weight: 300;
}

.navbar {
  width: 100vw;
  position: fixed;
  z-index: 999;
  background: rgba(245, 245, 245, 1);
}

.navbar .navbar-brand img {
  height: 50px;
}

#hero {
  height: 100vh;
  display: flex;
  align-items: center;
  justify-content: center;
}

/* backgroung engineering */
#hero.home {
  background: url(../coda-files/img/home-bg.jpg) center/cover no-repeat;
}
#hero.story {
  background: url(../coda-files/img/theilblorustory-bg.jpg) center/cover
    no-repeat;
}
#hero.leardershipandgovernance {
  background: url(../coda-files/img/leasrship.jpg) center/cover no-repeat;
}
#hero.heritage {
  background: url(../coda-files/img/heritage-visiting.jpg) center/cover
    no-repeat;
}

#hero .contents {
  height: 100%;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-direction: column;
  width: 100vw;
  backdrop-filter: brightness(45%);
}

#hero.story .contents {
  backdrop-filter: saturate(40%) brightness(45%);
}

#hero h1 {
  font-size: clamp(3rem, 9vw, 5rem);
  text-align: center;
  color: var(--bs-light);
  line-height: 1.05;
  letter-spacing: -0.03em;
}

#hero p {
  font-size: 1.8rem;
  text-align: center;
  font-family: "Alpino-Regular", sans-serif;
  letter-spacing: 0.1rem;
  font-weight: 400;
  color: var(--bs-white);
  line-height: 1.35;
  color: #cccccc;
}

#hero .social-media-links {
  width: 360px;
  display: flex;
  align-items: center;
  justify-content: space-between;
}

#hero .social-media-links a {
  color: var(--bs-white);
  transition: color var(--coda-easing);
  font-size: 28px;
  color: #cccccc;
}

#hero .social-media-links a:hover {
  color: var(--bs-blue);
}

#hero .cta-buttons {
  height: auto;
  width: 100%;
  display: flex;
  align-items: center;
  justify-content: center;
  margin: 20px 0 0 0;
}

#hero .cta-buttons a {
  color: var(--bs-white);
  text-decoration: none;
  padding: 8px 12px;
  border: 1px solid var(--bs-white);
  border-radius: var(--round-border);
  transition: all var(--coda-easing);
  font-size: 18px;
  text-align: center;
  margin: 0 10px;
}

#hero .cta-buttons a:hover {
  background: var(--bs-dark);
  color: var(--bs-white);
  border-color: var(--bs-dark);
}

#overview {
  width: 100vw;
  /* background: #f5f5f5; */
}

#overview .directive-link {
  color: var(--bs-dark);
  text-decoration: none;
  padding: 8px 20px;
  border: 1px solid var(--bs-dark);
  border-radius: var(--round-border);
  transition: all var(--coda-easing);
}

#overview .directive-link:hover {
  color: var(--bs-light);
  background: var(--bs-dark);
}

.reveal {
  opacity: 0;
  transform: translateY(30px);
  transition: all 0.8s cubic-bezier(0.215, 0.61, 0.355, 1);
  visibility: hidden;
}

.reveal.active {
  opacity: 1;
  transform: translateY(0);
  visibility: visible;
}

.active svg {
  transition: transform 1s ease-out 0.2s;
}

.reveal svg path,
.reveal svg circle,
.reveal svg rect,
.reveal svg polygon {
  stroke-dasharray: 1000;
  stroke-dashoffset: 1000;
  transition: stroke-dashoffset 2s ease-in-out 0.3s;
}

.reveal.active svg path,
.reveal.active svg circle,
.reveal.active svg rect,
.reveal.active svg polygon {
  stroke-dashoffset: 0;
}

@media (min-width: 1200px) {
  .navbar .navbar-brand {
    margin-right: 150px;
  }
}

/* footer styling */
footer .container {
  padding-top: 40px;
}

footer .container ul {
  list-style: none;
  padding: 0;
  margin: 0 0 10px 0;
  li a {
    color: var(--bs-red);
    font-size: 14px;
    text-decoration: underline;
  }
}

footer span {
  color: var(--bs-secondary);
  font-size: 16px;
  padding: 0;
  color: var(--dev-blue);
  font-weight: 600;
}

footer .container p {
  color: var(--bs-secondary);
  font-size: 14px;
  padding: 0;
  color: var(--dev-blue);
  a {
    color: var(--bs-red);
    text-decoration: underline;
    transition: all var(--coda-easing);
  }
}

footer .container a {
  text-decoration: none;
}

footer .nav-link {
  color: var(--bs-secondary);
  transition: all var(--coda-easing);
}

footer .nav-link:hover {
  color: var(--bs-blue);
  transform: translateX(5px);
}

footer .container .join-us {
  padding: 8px 20px;
  background: transparent;
  border-radius: var(--round-border);
  color: var(--bs-blue);
  transition: all var(--coda-easing);
  border: 1px solid var(--bs-blue);
  margin: 40px 0 0 0;
  border-radius: 0;
}

footer .container .join-us:hover {
  color: var(--bs-white);
  background: var(--bs-blue);
}

footer .container li.nav-item {
  color: var(--bs-secondary);
  i {
    color: var(--bs-blue);
  }
}

.social-link-footer {
  margin: 20px 0 0 0;
  a {
    font-size: 28px;
    color: var(--dev-blue);
    transition: var(--coda-easing);
  }
  a:hover {
    color: var(--bs-blue);
  }
}

footer .logo-container {
  img {
    height: 80px;
  }
}

/* the ibloru story styling */
#summary {
  height: 50vh;
}

#summary .container {
  height: 100%;
  display: flex;
  align-items: center;
  justify-content: center;
}

#summary .container p {
  font-size: 20px;
  font-style: italic;
  font-weight: 400;
  color: var(--dev-blue);
  text-align: center;
}

.image-container img {
  width: 100%;
}

p.decription-text {
  font-size: 16px;
  letter-spacing: 0.05rem;
  color: var(--dev-blue);
  font-weight: 300;
  padding: 10px 0 0 0;
}

span.decription-text {
  font-size: 18px;
  color: var(--dev-blue);
  font-weight: 500;
}

a.decription-text {
  text-decoration: none;
  font-size: 14px;
  letter-spacing: 0.01rem;
  transition: all var(--coda-easing);
}

a.decription-text:hover {
  text-decoration: underline;
}

span.decription-big-text {
  font-size: 2rem;
  color: var(--dev-blue);
  font-weight: 400;
}

/* RESPONSIVE IMPROVEMENTS - typography scaling + full 100vw fit + prevent large hero fonts from being cut off above navbar on small screens */
@media (max-width: 768px) {
  #hero .social-media-links {
    width: 280px;
  }
  #hero .cta-buttons {
    width: 100%;
  }
  .container {
    width: 100vw;
    max-width: 100vw;
  }
}

@media (max-width: 678px) {
  #summary .container p {
    font-size: 18px;
  }
  #hero h1.manimizeonsmallscreens {
    font-size: 3rem;
    padding-top: 90px;
  }
  #hero .social-media-links {
    width: 260px;
  }
  #hero .cta-buttons {
    width: 100%;
  }
}

@media (max-width: 576px) {
  #hero .social-media-links {
    width: 100%;
    max-width: 220px;
  }
  #hero .cta-buttons {
    width: 100%;
    max-width: 260px;
    flex-direction: column;
    align-items: center;
    gap: 12px;
  }
  #hero .cta-buttons a {
    width: 100%;
    max-width: 220px;
    font-size: 17px;
  }
  .container {
    width: 100vw;
    max-width: 100vw;
  }
}

@media (max-width: 450px) {
  #hero.inner-pages {
    height: 50vh;
  }
  #summary .container p {
    font-size: 17px;
  }
  #hero .social-media-links {
    max-width: 200px;
  }
  #hero .cta-buttons {
    max-width: 240px;
  }
}

/* Base Button Styling */
#Toggle-button {
  background-color: #ffffff;
  border: 1px solid rgba(0, 0, 0, 0.08); /* Very soft border */
  border-radius: 10px; /* Modern rounded corners */
  padding: 10px 14px;
  cursor: pointer;
  transition: all 0.25s cubic-bezier(0.4, 0, 0.2, 1);
  box-shadow: 0 2px 4px rgba(0, 0, 0, 0.03); /* Tiny elevation */
  display: flex;
  align-items: center;
  justify-content: center;
}

@media (min-width: 990px) {
  #Toggle-button {
    display: none;
  }
}

#Toggle-icon {
  color: #2d3436;
  font-size: 1.1rem;
  transition: transform 0.3s ease;
}

#Toggle-button:not(.collapsed) #Toggle-icon {
  transform: rotate(90deg);
  color: var(--bs-red);
}

#Toggle-button:active {
  transform: translateY(0);
}

.motto {
  font-family: "Playwrite IE", sans-serif;
  font-optical-sizing: auto;
  font-weight: 200;
  font-style: normal;
  color: #cccccc;
  font-size: 1.7rem;
  margin: 5px 0 40px 0;
}
