/* Navbar */
.navbar {
  transition: background-color 0.4s ease;
  z-index: 1000; /* keep it above everything */
}

.navbar-transparent {
  background-color: transparent !important;
}

.navbar-colored {
  background-color: rgba(0, 0, 0, 0.8) !important;
}

.hero{
  position: relative;
  height: 105vh;
  color: white;
  text-align: center;
  justify-content: center;
  align-items: center;
  overflow: hidden;
}

/* Place background SVG behind content */
.hero svg {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  z-index: 0;
}

/* Hero text above SVG */
.hero .container {
  position: relative;
  z-index: 2;
}

.banner-text{
  margin-top: 18%;
}

.glass-box {
  position: relative;
  overflow: hidden;
  background: rgba(255, 255, 255, 0.25); /* transparent white */
  backdrop-filter: blur(12px);           /* frosted blur */
  -webkit-backdrop-filter: blur(12px);   /* Safari support */
  border-radius: 16px;
  border: 2px solid rgb(23, 86, 104);
  box-shadow: 0 8px 20px rgba(0, 0, 0, 0.1); /* soft shadow */
  padding: 20px;
}

/* Shine effect */
.glass-box::after {
  content: "";
  position: absolute;
  top: 0;
  left: -100%;
  width: 60%;
  height: 100%;
  background: linear-gradient(
      120deg,
      rgba(255, 255, 255, 0) 0%,
      rgba(255, 255, 255, 0.6) 50%,
      rgba(255, 255, 255, 0) 100%
  );
  transform: skewX(-20deg);
  transition: all 0.7s ease;
}

/* Move shine on hover */
.glass-box:hover::after {
  left: 120%;
}

.glider-slide {
  padding: 0 0.75rem; /* adds horizontal spacing between slides */
  box-sizing: border-box;
}

.glider {
  margin: 0 -0.75rem; /* compensate outer padding to align with container */
}

.glider-prev,
.glider-next {
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  width: 45px;
  height: 45px;
  border-radius: 50%;
  background-color: #fff;
  border: none;
  font-size: 1.5rem;
  color: #000;
  display: flex;
  justify-content: center;
  align-items: center;
  box-shadow: 0 2px 6px rgba(0, 0, 0, 0.1);
  z-index: 10;
  transition: all 0.3s ease;
}

/* Left and right placement */
.glider-prev {
  left: -20px; /* adjust as needed */
}

.glider-next {
  right: -20px; /* adjust as needed */
}

.image-box {
  width: 100%;
  height: 60px; /* your preferred height */
  display: flex;
  align-items: center;
  justify-content: center;
  overflow: hidden;
}

.icon-box{
  display: flex;
  align-items: center;
  justify-content: center;
}

.image-box img {
  width: 100%;
  height: 60%;
  object-fit: contain;   /* fills the div, crops edges */
}

.primary-color{
  color: rgb(23, 86, 104);
}

.primary-bg{
  background-color: rgb(23, 86, 104);
  color: #fff;
}

.custom-border{
  border: 1px solid rgb(23, 86, 104);
}

.text-align{
  position: absolute;
  left: 20%;
  bottom: 18%;
}

.custom-margin{
  margin-top: -8%;
}

.img-size{
  width: 75%;
}


.carousel-item {
  height: 90vh;
  position: relative;
}

.carousel-item video {
  object-fit: cover;
  height: 100%;
}

.carousel-caption {
  inset: 0;
  background: linear-gradient(
    rgba(0, 0, 0, 0.45),
    rgba(0, 0, 0, 0.7)
  );
  text-align: left;
  padding-left: 8%;
}

.carousel-caption h1 {
  font-size: 3rem;
}

.carousel-caption p {
  font-size: 1.2rem;
}

.video-controls {
  position: absolute;
  bottom: 25px;
  right: 25px;
  display: flex;
  gap: 10px;
  z-index: 4000;
}

.btn-control {
  width: 45px;
  height: 45px;
  border-radius: 50%;
  border: none;
  background: rgba(255,255,255,0.25);
  backdrop-filter: blur(8px);
  color: #fff;
  font-size: 18px;
  cursor: pointer;
}

.btn-control:hover {
  background: rgba(255,255,255,0.45);
}


@media only screen and (max-width: 600px){
  .hero{
    position: relative;
    height: 85vh;
    color: white;
    text-align: center;
    display: flex;
    justify-content: center;
    align-items: center;
    overflow: hidden;
  }
  /*.text-align{
    position: relative;
    text-align: center;
  }*/
  .custom-margin{
    margin-top: 0%;
  }
  .carousel-caption h1 {
    font-size: 35px;
  }
}

/*for ipads*/
@media only screen and (min-width: 768px) and (max-width: 1366px) and (orientation: portrait){
  .hero{
    position: relative;
    height: 60vh;
    color: white;
    text-align: center;
    display: flex;
    justify-content: center;
    align-items: center;
    overflow: hidden;
  }
  .custom-margin{
    margin-top: 0%;
  }
  .img-size{
    width: 85%;
  }
  .carousel-item {
    height: 60vh;
    position: relative;
  }
}
