@keyframes slideZoomIn {
  0% {
    transform: scale(1.12);
  }
  100% {
    transform: scale(1.36);
  }
}
@keyframes slideZoomInOver {
  0% {
    transform: scale(1);
    opacity: 0;
  }
  20% {
    opacity: 1;
  }
  80% {
    opacity: 1;
  }
  100% {
    transform: scale(1.24);
    opacity: 0;
  }
}
@keyframes bounce {
  0% {
    opacity: 0;
    transform: translateY(0%);
  }
  10% {
    opacity: 0.4;
  }
  50% {
    transform: translateY(20%);
  }
  85% {
    opacity: 0.4;
  }
  100% {
    opacity: 0;
    transform: translateY(15%);
  }
}
header {
  overflow: hidden;
  position: relative;
  background-color: black;
  height: 100vh;
  display: flex;
  align-items: end;
}
header #slides {
  -o-object-fit: cover;
  object-fit: cover;
  position: absolute;
  width: 100vw;
  height: 100vh;
}
header #gradient {
  position: absolute;
  top: 0;
  bottom: 0;
  right: 0;
  left: 0;
  background: linear-gradient(
    180deg,
    rgba(0, 0, 0, 0.34) 0%,
    rgba(6, 25, 44, 0.7) 40%,
    rgba(13, 39, 67, 0.65) 100%
  );
}
header #slide-image {
  position: absolute;
  display: flex;
  height: 100vh;
  width: 100vw;
  animation: slideZoomIn 8s linear infinite 4s;
}
header #slide-image-over {
  background-color: rgba(0, 0, 255, 0.175);
  display: flex;
  height: 100vh;
  width: 100vw;
  position: absolute;
  animation: slideZoomInOver 8s linear infinite;
}
header .container {
  margin: 0;
  max-width: none;
  width: 100% !important;
  -webkit-backdrop-filter: blur(0rem);
  backdrop-filter: blur(0rem);
  flex-direction: column;
  display: flex;
  align-items: center;
  justify-content: center;
  background: linear-gradient(to top, rgba(0, 0, 0, 0.7), rgba(0, 0, 0, 0));
}
header .container > * {
  padding-right: 2rem;
  padding-left: 2rem;
  max-width: 100rem;
}
header .container .icon {
  padding-top: 3rem;
  opacity: 0.3;
  width: 6rem;
  animation: bounce 4s infinite;
}
header .carousel-container {
  width: 100%;
  background: linear-gradient(
    to right,
    transparent,
    rgba(133, 133, 133, 0.5),
    transparent
  );
  border-radius: 0.5rem;
}
header .carousel-container p {
  margin: auto;
  padding: 2rem;
  text-align: center;
  line-height: 1.8em;
  color: white !important;
  max-width: 42rem;
}
header .h-plus {
  text-align: center;
  display: flex;
  justify-content: center;
  align-items: center;
  line-height: clamp(1em, 8vw, 1em);
  font-size: clamp(3rem, 8vw, 6rem);
  padding-bottom: 2rem;
  background: linear-gradient(to top, rgb(169, 0, 0), rgb(255, 86, 86));
  opacity: 0.9;
  -webkit-background-clip: text;
  background-clip: text;
  -webkit-text-fill-color: transparent;
}
header h5 {
  text-align: center;
  font-weight: 500;
  color: white;
  padding-bottom: 1.5rem;
  opacity: 0.8;
}

section {
  min-height: 52rem;
}
section h1 {
  color: #2b2d43;
  padding-bottom: 3rem;
}
section h5 {
  color: red;
}

#about-us {
  background: linear-gradient(
      to top,
      rgba(169, 0, 0, 0.9),
      rgba(255, 86, 86, 0.75)
    ),
    url("../assets/index/about-us.webp") no-repeat center center;
  background-size: cover;
  min-height: 24rem;
}
#about-us .container {
  gap: 1.2rem;
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: center;
}
#about-us .hero-card {
  -webkit-backdrop-filter: blur(0.5rem);
  backdrop-filter: blur(0.5rem);
  border-radius: 0.5rem;
  width: 30%;
  min-width: 16rem;
  max-width: 24rem;
  background-color: rgba(136, 0, 0, 0.286);
  text-align: center;
  padding: 2rem;
  box-shadow: 0rem 0.5rem 4rem rgba(37, 0, 0, 0.7019607843);
}
#about-us .hero-card h2,
#about-us .hero-card h5 {
  padding: 0;
  color: rgba(255, 255, 255, 0.75);
}
#about-us .hero-card h2 {
  font-weight: 800 !important;
}

#facilities {
  text-align: center;
  background: linear-gradient(
    to left,
    rgba(255, 250, 243, 0.7),
    rgb(255, 255, 255)
  );
}
#facilities .container {
  display: flex;
  align-items: center;
  flex-direction: column;
}
#facilities p {
  max-width: 60rem;
  padding-bottom: 1.5rem;
}
#facilities h6 {
  padding-top: 0.5rem;
}
#facilities .card-list {
  padding-top: 1rem;
  padding-bottom: 2rem;
  display: flex;
  flex-wrap: wrap;
  gap: 1.2rem;
  align-items: center;
  justify-content: center;
  max-width: 50rem;
}
#facilities .card-list img {
  width: 9rem;
  box-shadow: inset -0.5rem -0.5rem 3rem rgba(0, 0, 0, 0.25);
  padding: 2rem;
  border-radius: 1rem;
  height: 9rem;
  transition: box-shadow 0.5s;
}
#facilities .card-list img:hover {
  box-shadow: inset 0.5rem 0.5rem 3rem rgba(0, 0, 0, 0.25);
}
#facilities .btn {
  margin: 1.5rem;
}

@keyframes rotate {
  from {
    transform: translate(-50%, -50%) rotate(0deg);
  }
  to {
    transform: translate(-50%, -50%) rotate(360deg);
  }
}
#affiliated-clubs {
  overflow: hidden;
  text-align: left;
  align-items: flex-start;
  background: url(../assets/index/clubs-bg.svg) bottom center/contain no-repeat,
    linear-gradient(
      to left,
      rgb(255, 231, 231),
      rgba(0, 0, 0, 0),
      rgb(255, 227, 227)
    );
  align-items: end;
}
#affiliated-clubs .container {
  display: flex;
  flex-direction: column;
  padding-top: 0;
  padding-bottom: 0;
  align-items: center;
}
#affiliated-clubs .content {
  width: 75%;
  justify-content: space-between;
}
#affiliated-clubs h1 {
  padding: 0;
  text-align: center;
}
#affiliated-clubs .h-plus {
  justify-content: center;
  display: flex;
  align-items: center;
  height: 12rem;
  color: darkred;
  font-size: 12rem;
}
#affiliated-clubs p {
  text-align: right;
  padding: 3rem 0rem 6rem !important;
}
#affiliated-clubs .content {
  z-index: 10;
}
#affiliated-clubs img {
  padding-top: 4rem;
  width: 100%;
  max-width: 64rem;
}
#affiliated-clubs .btn {
  left: 0;
  right: 0;
  bottom: 0;
  position: absolute;
}

#latest-events {
  background: linear-gradient(
    to right,
    #2b2d43,
    rgb(15, 15, 35),
    rgb(15, 15, 35),
    #2b2d43
  );
}
#latest-events .container {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
}
#latest-events .container > img {
  width: 10rem;
}
#latest-events .container > img {
  opacity: 0.6;
}
#latest-events .hr {
  width: 100%;
  border-top: solid #9f9fa7 2px;
}
#latest-events h1 {
  text-align: center;
  color: white;
  width: 100%;
  padding-bottom: 1rem;
}
#latest-events h5 {
  width: 100%;
  padding-bottom: 2rem;
  text-align: center;
  color: rgb(255, 0, 0);
}
#latest-events .event-slide-container {
  width: 100%;
  display: flex;
  align-items: center;
  justify-content: center;
}
#latest-events .event-slide {
  margin: 0.5rem;
  margin-top: 3rem;
  margin-bottom: 3rem;
  max-width: 75rem;
  min-height: 10rem;
  border-radius: 1rem;
  padding: 1rem;
  gap: 1rem;
  display: flex;
  background-color: white;
}
#latest-events .event-slide .event-details {
  padding: 2rem 1rem;
  width: 50%;
}
#latest-events .event-slide .event-details .event-title {
  display: flex;
  gap: 1rem;
  padding-bottom: 1rem;
}
#latest-events .event-slide .event-details .event-title h2 {
  display: flex;
  width: 100%;
}
#latest-events .event-slide .event-details p {
  height: 9rem;
  overflow: hidden;
  padding-top: 1rem;
  border-top: 1px solid #d0d0d0;
}
#latest-events .event-slide .date-card {
  justify-self: flex-end;
  width: 8rem;
  background-color: rgb(232, 232, 232);
  padding: 0.5rem;
  border-radius: 1rem;
  text-align: center;
}
#latest-events .event-slide .date-card h3 {
  background-color: white;
  margin-top: 0.5rem;
  border-radius: 1rem;
  padding: 0.5rem;
}
#latest-events .event-slide img {
  width: 50%;
  border-radius: 1rem;
  -o-object-fit: cover;
  object-fit: cover;
  height: 20rem;
}
#latest-events .btn {
  width: 60%;
  max-width: 60rem;
  border: solid 2px white;
  margin-top: 3rem;
  color: white;
}
#latest-events .btn:hover {
  background-color: white;
  color: #2b2d43;
}

@media screen and (max-width: 72rem) {
  .mobile-collapse {
    flex-direction: column;
  }
  .mobile-collapse > * {
    width: 100% !important;
  }
  .mobile-collapse p {
    text-align: center !important;
  }
}
@keyframes marquee {
  0% {
    transform: translateX(0);
  }
  100% {
    transform: translateX(-100%);
  }
}
#tourist-attractions {
  text-align: center;
}
#tourist-attractions .container {
  overflow: hidden;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-direction: column;
}
#tourist-attractions li {
  color: rgba(0, 0, 0, 0.264);
  list-style: circle;
  text-wrap: nowrap;
  padding-right: 1.5rem;
}
#tourist-attractions button {
  background-color: red;
  color: white;
  font-size: 1rem;
  height: 3rem;
  align-items: center;
  justify-content: center;
  display: flex;
  padding: 1rem 2rem;
  border-radius: 0.5rem;
}
#tourist-attractions button .svg {
  padding-right: 1rem;
  height: 2rem;
}
#tourist-attractions .btn {
  outline: none;
  color: hsl(28, 40%, 51%);
  padding: 1em;
  padding-left: 3em;
  padding-right: 3em;
  border: 2px dashed hsl(28, 40%, 51%);
  border-radius: 15px;
  background-color: #eaddca;
  box-shadow: 0 0 0 4px #eaddca, 2px 2px 4px 2px rgba(0, 0, 0, 0.5);
  transition: 0.1s ease-in-out, 0.4s color;
}
#tourist-attractions button:active {
  transform: translateX(0.1em) translateY(0.1em);
  box-shadow: 0 0 0 4px #eaddca, 1.5px 1.5px 2.5px 1.5px rgba(0, 0, 0, 0.5);
}
#tourist-attractions .marquee-1 {
  animation: marquee 48s linear 0s infinite;
}
#tourist-attractions .marquee-2 {
  animation: marquee 48s linear -6s infinite reverse;
}
#tourist-attractions .marquee-3 {
  animation: marquee 48s linear -12s infinite;
}
#tourist-attractions .marquee-4 {
  animation: marquee 48s linear -18s infinite reverse;
}
#tourist-attractions .marquee {
  width: 100%;
  max-width: 75rem;
  overflow: hidden;
  padding-bottom: 4rem;
}
#tourist-attractions img {
  padding: 0rem 0 2rem;
}
