:root {
  --primary-color: #002147;
  --secondary-color: #f58000;
  --text-color: #333;
  --background-color: #f4f4f4;

  --white: #fff;
  --black: #000;

  --bs-border-color: transparent;
}

body {
  font-family: "Roboto", sans-serif;
}

main {
  height: 100%;
  min-height: calc(100vh - 398px);
}

header {
  padding: 0;
  background-color: #002147;
  transition: all 0.5s;
}

header .logo img {
  height: 60px;
}

header .navbar .nav-link {
  color: var(--white) !important;
  font-size: 16px;
  padding: 15px 20px;
  transition: all 0.5s ease;
}

header .navbar .nav-link:hover {
  color: var(--secondary-color) !important;
}

header .navbar .nav-link.active {
  color: var(--secondary-color) !important;
}

header .navbar .btn-login {
  border-color: var(--secondary-color);
}

header .navbar .btn-login:hover {
  background-color: var(--secondary-color);
}

.about-us-card:hover .about-us-card-icon {
  background-color: var(--secondary-color);
}

.about-us-card-icon {
  width: 120px;
  height: 120px;
  border-radius: 50%;
  transition: all 0.5s ease;
}

.about-us-card-icon i {
  font-size: 3rem;
}

.about-us-card-text p {
  font-size: 14px;
}

.anniv-img {
  grid-template-columns: 150px 150px;
}

.event-grid {
  grid-template-columns: repeat(auto-fit, minmax(300px, 1fr));
}

footer {
  color: var(--white);
  background-color: var(--primary-color);
}

footer a {
  color: var(--white) !important;
  transition: all 0.5s ease;
}

footer a:hover {
  color: var(--secondary-color) !important;
}

footer .footer-link ul li {
  position: relative;
}

footer .footer-link ul li a:hover {
  color: var(--secondary-color) !important;
}

footer .footer-link a {
  color: var(--white) !important;
  font-size: 14px;
  padding: 0 15px;
  transition: all 0.5s ease;
}

footer .footer-link a::after {
  content: "\00bb";
  position: absolute;
  top: 2px;
  left: 0px;
  color: #fff;
}

footer .social-links a i {
  color: var(--white) !important;
  font-size: 14px;
  padding: 0 15px;
  transition: all 0.5s ease;
  width: 32px;
  height: 32px;
  text-align: center;
}

footer .social-links a:hover i {
  background-color: var(--secondary-color) !important;
}

footer .complain a {
  color: var(--white) !important;
  font-size: 1.5rem;
  padding: 0 15px;
  transition: all 0.5s ease;
}

footer .complain a:hover {
  color: var(--secondary-color) !important;
}

footer .contact-lists p {
  font-size: 14px;
}

/* Utilities */
.theme-bg-primary {
  background-color: var(--primary-color) !important;
}
.theme-bg-primary-light {
  background-color: rgba(0, 33, 71, 0.8) !important;
}
.theme-bg-secondary {
  background-color: var(--secondary-color) !important;
}
.theme-text-primary {
  color: var(--primary-color) !important;
}
.theme-text-secondary {
  color: var(--secondary-color) !important;
}
.d-grid {
  display: grid !important;
}
.gap-1 {
  gap: 1rem !important;
}
.gap-2 {
  gap: 2rem !important;
}
.gap-3 {
  gap: 3rem !important;
}
.gap-4 {
  gap: 4rem !important;
}
.gap-5 {
  gap: 5rem !important;
}
.border-1 {
  border-width: 1px !important;
}
.border-2 {
  border-width: 2px !important;
}
.border-3 {
  border-width: 3px !important;
}
.border-4 {
  border-width: 4px !important;
}
.border-5 {
  border-width: 5px !important;
}
.border-double {
  border-style: double !important;
}
.border-top-double {
  border-top-style: double !important;
}
.border-bottom-double {
  border-bottom-style: double !important;
}
.border-left-double {
  border-left-style: double !important;
}
.border-right-double {
  border-right-style: double !important;
}
.top-0 {
  top: 0 !important;
}
.bottom-0 {
  bottom: 0 !important;
}
.left-0 {
  left: 0 !important;
}
.right-0 {
  right: 0 !important;
}
.divider {
  border-top: 3px solid var(--secondary-color);
  margin: 20px auto;
  width: 100px;
  height: 1px;
}
.back-to-top {
  visibility: hidden;
  opacity: 0;
  transition: all 0.5s ease;
}
.back-to-top.show {
  visibility: visible;
  opacity: 1;
}
.back-to-top:hover {
  background-color: var(--white) !important;
  color: var(--primary-color) !important;
  box-shadow: 0 0 3px var(--secondary-color) !important;
}

/* Bootstrap Carousel */
.bootstrap-carousel-control-prev,
.bootstrap-carousel-control-next {
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  width: 50px;
  height: 50px;
  background-color: var(--primary-color) !important;
  border-color: transparent;
  border-radius: 50%;
  box-shadow: 0 0 3px var(--primary-color) !important;
  z-index: 9;
  color: #fff;
  transition: all 0.5s ease;
}
.bootstrap-carousel-control-prev:hover,
.bootstrap-carousel-control-next:hover {
  background-color: var(--white) !important;
  color: var(--secondary-color) !important;
  box-shadow: 0 0 3px var(--secondary-color) !important;
}
.bootstrap-carousel-control-prev {
  left: 10px;
}
.bootstrap-carousel-control-next {
  right: 10px;
}
.carousel-item::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-color: rgba(0, 0, 0, 0.2);
}

/* Owl Carousel */
.owl-carousel .owl-nav button {
  border-color: transparent;
  color: #fff;
  transition: all 0.5s ease;
}
.owl-carousel .owl-nav button:hover {
  background-color: transparent !important;
  color: var(--white) !important;
}
.owl-carousel .owl-nav button i {
  font-size: 2.5rem;
  transition: all 0.5s ease;
}
.owl-carousel .owl-nav button:hover i {
  color: var(--secondary-color) !important;
}
.owl-carousel .item .card:hover img {
  transform: scale(1.15, 1.15) rotate(-5deg);
  -webkit-transform: scale(1.15, 1.15) rotate(-5deg);
  -moz-transform: scale(1.15, 1.15) rotate(-5deg);
}
.owl-carousel .item .card:hover .card-body {
  background: var(--primary-color);
  color: var(--white);
}
.owl-carousel .item .card-image {
  position: relative;
  overflow: hidden;
  transition: all 0.5s ease;
}
.owl-carousel .item .card-image img {
  transition: all 0.5s ease;
}
.owl-carousel .item .card-image::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-color: rgba(0, 0, 0, 0.5);
  -webkit-transform: scaleY(0);
  -ms-transform: scaleY(0);
  transform: scaleY(0);
  -webkit-transition: 0.4s;
  -ms-transition: 0.4s;
  transition: all 0.5s ease;
  z-index: 1;
}
.owl-carousel .item .card:hover .card-image::before {
  transform: scaleY(1);
}
