header {
  position: relative;
  background-color: black;
  height: 90vh;
  min-height: 25rem;
  width: 100%;
  overflow: hidden;
}

header video {
  position: absolute;
  top: 50%;
  left: 50%;
  min-width: 100%;
  min-height: 100%;
  width: auto;
  height: auto;
  z-index: 0;
  -ms-transform: translateX(-50%) translateY(-50%);
  -moz-transform: translateX(-50%) translateY(-50%);
  -webkit-transform: translateX(-50%) translateY(-50%);
  transform: translateX(-50%) translateY(-50%);
}

header .container {
  position: relative;
  z-index: 2;
}

header .overlay {
  position: absolute;
  top: 0;
  left: 0;
  height: 100%;
  width: 100%;
  background-color: black;
  opacity: 0.5;
  z-index: 1;
}


/* Media Query for devices withi coarse pointers and no hover functionality */

/* This will use a fallback image instead of a video for devices that commonly do not support the HTML5 video element */

@media (pointer: coarse) and (hover: none) {
  header {
    background: url('https://source.unsplash.com/XT5OInaElMw/1600x900') black no-repeat center center scroll;
  }

  header video {
    display: none;
  }
}

.bg-custom {
  background-color: #002B44;
  color: white;
  }

  .ls-1 { letter-spacing: 1px; }
.ls-2 { letter-spacing: 2px; }
.ls-3 { letter-spacing: 3px; }

.custom-carousel-control {
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  width: 60px; /* Increased width for a larger clickable area */
  height: 60px; /* Increased height for a larger clickable area */
}

.carousel-control-prev {
  left: -70px; /* Moves the left arrow further out */
}

.carousel-control-next {
  right: -70px; /* Moves the right arrow further out */
}

.carousel-control-prev-icon,
.carousel-control-next-icon {
  background-color: #F2313A; /* Custom color for arrows */
  border-radius: 50%; /* Keeps the circular shape */
  width: 50px; /* Set size for the circular background */
  height: 50px; /* Set size for the circular background */
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 20px; /* Adds space inside the circle */
}

.carousel-control-prev-icon::before,
.carousel-control-next-icon::before {
  font-size: 24px; /* Makes the arrow icon slightly bigger */
  color: red; /* Ensures arrow color contrast */
}

.open-sans-custom {
  font-family: "Open Sans", sans-serif;
  font-optical-sizing: auto;
  font-weight: 400;
  font-style:normal;
  font-variation-settings:
    "wdth" 100;
    letter-spacing: 1px;
}

.animated-border {
  position: relative;
  display: inline-block;
  padding: 15px 30px;
  border: 3px solid transparent;
}

.animated-border::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  border: 3px solid #ff5733;
  position: absolute;
  clip-path: inset(0 100% 100% 0); /* Initially hidden */
  animation: border-move 3s ease-out forwards;
}

@keyframes border-move {
  0% {
    clip-path: inset(0 100% 100% 0); /* Start at top-left */
  }
  25% {
    clip-path: inset(0 0 100% 0); /* Top border visible */
  }
  50% {
    clip-path: inset(0 0 0 100%); /* Right border visible */
  }
  75% {
    clip-path: inset(100% 0 0 0); /* Bottom border visible */
  }
  100% {
    clip-path: inset(0 0 0 0); /* Full border */
  }
}



.btn-customlightblue {
  --bs-btn-color: #fff;
  --bs-btn-bg: #002B44;
  --bs-btn-border-color: #002B44;
  --bs-btn-hover-color: #fff;
  --bs-btn-hover-bg: #002B44;
  --bs-btn-hover-border-color: #002B44;
  --bs-btn-focus-shadow-rgb: 49, 132, 253;
  --bs-btn-active-color: #fff;
  --bs-btn-active-bg: #002B44;
  --bs-btn-active-border-color: #002B44;
  --bs-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);
  --bs-btn-disabled-color: #fff;
  --bs-btn-disabled-bg: #002B44;
  --bs-btn-disabled-border-color: #002B44;
}

.carousel-caption2 {
  position: absolute;
  top: 35%;
  left: 16%;
  padding-top: 1.25rem;
  padding-bottom: 1.25rem;
  color: #fff;
  text-align: center;
}

.text-shadow {

  text-shadow: 1px 1px 2px black;

}