@import url("https://fonts.googleapis.com/css2?family=Lato:wght@400;700&family=Open+Sans:wght@300;400;600;700&display=swap");

/* ==================================================
General Styles
================================================== */
body {
  font-family: Cambria, "Times New Roman", serif;
  color: #0c0c0c;
  background-color: #ffffff;
  overflow-x: hidden; /* Prevent horizontal scrolling */
}

/* Custom Background Gradient */
.bg-my {
  background: #000046; /* Fallback color */
  background: linear-gradient(to right, #1cb5e0, #000046); /* Modern browsers */
}

/* Padding Utilities */
.layout_padding {
  padding: 90px 0;
}

.layout_padding2 {
  padding: 75px 0;
}

.layout_padding2-top {
  padding-top: 75px;
}

.layout_padding2-bottom {
  padding-bottom: 75px;
}

.layout_padding-top {
  padding-top: 90px;
}

.layout_padding-bottom {
  padding-bottom: 90px;
}

/* Heading Container (Generic) */
.heading_container {
  display: flex;
  flex-direction: column;
  align-items: flex-start; /* Default alignment */
}

.heading_container h2 {
  position: relative;
  font-weight: bold;
  margin-bottom: 0;
}

.heading_container h2 span {
  color: #00bbf0;
}

.heading_container p {
  margin-top: 10px;
  margin-bottom: 0;
}

/* Centered Heading Container */
.heading_container.heading_center {
  align-items: center; /* Override default alignment */
  text-align: center;
}

/* Link Styles (Resets) */
a,
a:hover,
a:focus {
  text-decoration: none;
}

a:hover,
a:focus {
  color: initial; /* Remove default link color */
}

/* Button Styles (Resets) */
.btn,
.btn:focus {
  outline: none !important;
  box-shadow: none;
}

/* ==================================================
Header Section
================================================== */
.hero_area {
  position: relative;
  min-height: 100vh; /* Cover entire viewport height */
  display: flex;
  flex-direction: column;
}

/* Hero Background Box */
.hero_area .hero_bg_box {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  display: flex;
  justify-content: center;
  align-items: flex-end;
  overflow: hidden;
  z-index: -1; /* Place behind content */
}

/* Background Image Box */
.hero_area .hero_bg_box .bg_img_box {
  min-width: 100%;
  min-height: 100%;
}

.hero_area .hero_bg_box img {
  min-width: 100%;
  min-height: 100%;
  object-fit: cover; /* Ensure image covers the entire area */
}

/* Subpage Styles */
.sub_page .hero_area {
  min-height: auto; /* Adjust height for subpages */
  background: linear-gradient(130deg, #231a6f, #0f054c);
}

.sub_page .hero_area .hero_bg_box {
  display: none; /* Hide background on subpages */
}

/* Header */
.header_section {
  padding: 15px 0;
}

.header_section .container-fluid {
  padding-right: 25px;
  padding-left: 25px;
}

/* Brand */
.navbar-brand span {
  font-weight: bold;
  font-size: 24px;
  color: #ffffff;
}

/* Navigation Container */
.custom_nav-container {
  padding: 0;
}

.custom_nav-container .navbar-nav {
  margin-left: auto; /* Push to the right */
}

/* Navigation Links */
.custom_nav-container .navbar-nav .nav-item .nav-link {
  padding: 5px 20px;
  color: #ffffff;
  text-align: center;
  text-transform: uppercase;
  border-radius: 5px;
  transition: all 0.3s;
}

.custom_nav-container .navbar-nav .nav-item:hover .nav-link,
.custom_nav-container .navbar-nav .nav-item.active .nav-link {
  color: #00bbf0;
}

.custom_nav-container .navbar-nav .nav-item.active .nav-link {
  font-weight: 600; /* Make active link bolder */
}

/* Search Button */
.custom_nav-container .nav_search-btn {
  width: 35px;
  height: 35px;
  padding: 0;
  border: none;
  color: #ffffff;
}

.custom_nav-container .nav_search-btn:hover {
  color: #00bbf0;
}

/* Navbar Toggler */
.custom_nav-container .navbar-toggler {
  outline: none;
  padding: 0;
  width: 37px;
  height: 42px;
  transition: all 0.3s;
}

.custom_nav-container .navbar-toggler span {
  display: block;
  width: 35px;
  height: 4px;
  background-color: #ffffff;
  margin: 7px 0;
  transition: all 0.3s;
  position: relative;
  border-radius: 5px;
}

.custom_nav-container .navbar-toggler span::before,
.custom_nav-container .navbar-toggler span::after {
  content: "";
  position: absolute;
  left: 0;
  height: 100%;
  width: 100%;
  background-color: #ffffff;
  top: -10px;
  border-radius: 5px;
  transition: all 0.3s;
}

.custom_nav-container .navbar-toggler span::after {
  top: 10px;
}

/* Toggler Animation */
.custom_nav-container .navbar-toggler[aria-expanded="true"] {
  transform: rotate(360deg);
}

.custom_nav-container .navbar-toggler[aria-expanded="true"] span {
  transform: rotate(45deg);
}

.custom_nav-container .navbar-toggler[aria-expanded="true"] span::before,
.custom_nav-container .navbar-toggler[aria-expanded="true"] span::after {
  transform: rotate(90deg);
  top: 0;
}

/* ==================================================
Slider Section
================================================== */
.slider_section {
  flex: 1;
  display: flex;
  align-items: center;
  position: relative;
  padding: 10px 0 145px 0;
}

.slider_section .row {
  align-items: center;
}

.slider_section #customCarousel1 {
  width: 100%;
  position: unset;
}

/* Slider Detail Box */
.slider_section .detail-box {
  color: #00204a;
}

.slider_section .detail-box h1 {
  font-size: 3rem;
  font-weight: bold;
  text-transform: uppercase;
  margin-bottom: 15px;
  color: #ffffff;
}

.slider_section .detail-box p {
  color: #fefefe;
  font-size: 14px;
}

/* Slider Button Box */
.slider_section .detail-box .btn-box {
  display: flex;
  margin: 0 -5px;
  margin-top: 25px;
}

.slider_section .detail-box .btn-box a {
  margin: 5px;
  text-align: center;
  width: 165px;
}

.slider_section .detail-box .btn-box .btn1 {
  display: inline-block;
  padding: 10px 15px;
  background-color: #00bbf0;
  color: #ffffff;
  border-radius: 0;
  transition: all 0.3s;
  border: none;
}

.slider_section .detail-box .btn-box .btn1:hover {
  background-color: #007fa4;
}

.slider_section .detail-box .btn-box .btn2 {
  display: inline-block;
  padding: 10px 15px;
  background-color: #000000;
  color: #ffffff;
  border-radius: 0;
  transition: all 0.3s;
  border: none;
}

.slider_section .detail-box .btn-box .btn2:hover {
  background-color: black;
}

/* Slider Image Box */
.slider_section .img-box {
  margin: 45px 0;
}

.slider_section .img-box img {
  width: 100%;
  animation: upDown 5s infinite; /* Apply image animation */
}

/* Image Animation */
@keyframes upDown {
  0% {
    transform: translateY(-45px);
  }

  50% {
    transform: translateY(45px);
  }

  100% {
    transform: translateY(-45px);
  }
}

/* Carousel Indicators */
.slider_section .carousel-indicators {
  position: unset;
  margin: 0;
  justify-content: center;
  align-items: center;
}

.slider_section .carousel-indicators li {
  background-color: #ffffff;
  width: 12px;
  height: 12px;
  border-radius: 100%;
  opacity: 1;
}

.slider_section .carousel-indicators li.active {
  width: 20px;
  height: 20px;
  background-color: #00bbf0;
}

/* ==================================================
Service Section
================================================== */
.service_section {
  position: relative;
}

/* Service Box */
.service_section .box {
  display: flex;
  flex-direction: column;
  align-items: center;
  text-align: center;
  margin-top: 45px;
  background-color: #f8f8f9;
  padding: 20px;
  border-radius: 5px;
}

.service_section .box .img-box {
  display: flex;
  justify-content: center;
  align-items: flex-start;
  width: 125px;
  min-width: 75px;
  height: 75px;
  margin-bottom: 15px;
}

.service_section .box .img-box img {
  max-width: 100%;
  max-height: 100%;
  transition: all 0.3s;
}

.service_section .box .detail-box h5 {
  font-weight: bold;
  text-transform: uppercase;
}

.service_section .box .detail-box a {
  color: #00204a;
  font-weight: 600;
}

.service_section .box .detail-box a:hover {
  color: #00bbf0;
}

/* Service Button Box */
.service_section .btn-box {
  display: flex;
  justify-content: center;
  margin-top: 45px;
}

.service_section .btn-box a {
  display: inline-block;
  padding: 10px 45px;
  background-color: #00bbf0;
  color: #ffffff;
  border-radius: 0;
  transition: all 0.3s;
  border: none;
}

.service_section .btn-box a:hover {
  background-color: #007fa4;
}

/* ==================================================
About Section
================================================== */
.about_section {
  background-color: #00204a;
  color: #ffffff;
}

.about_section .heading_container {
  margin-bottom: 45px;
}

.about_section .row {
  align-items: center;
}

.about_section .img-box img {
  max-width: 100%;
}

.about_section .detail-box h3 {
  font-weight: bold;
}

.about_section .detail-box p {
  margin-top: 15px;
}

.about_section .detail-box a {
  display: inline-block;
  padding: 10px 45px;
  background-color: #00bbf0;
  color: #ffffff;
  border-radius: 0px;
  transition: all 0.3s;
  border: none;
  margin-top: 15px;
}

.about_section .detail-box a:hover {
  background-color: #007fa4;
}

/* ==================================================
Why Section
================================================== */
.why_section .box {
  margin-top: 45px;
  display: flex;
  flex-direction: column;
  align-items: center;
  text-align: center;
}

.why_section .box .img-box {
  margin-bottom: 20px;
  width: 120px;
  height: 120px;
  min-width: 120px;
  min-height: 120px;
  border-radius: 100%;
  border: 5px solid #00204a;
  display: flex;
  justify-content: center;
  align-items: center;
}

.why_section .box .img-box img {
  width: 55px;
  height: auto;
  fill: #00204a; /* Consider using CSS variables for consistency */
}

.why_section .box h5 {
  font-weight: bold;
  margin-bottom: 10px;
}

.why_section .box p {
  margin-bottom: 0;
}

.why_section .btn-box {
  display: flex;
  justify-content: center;
  margin-top: 45px;
}

.why_section .btn-box a {
  display: inline-block;
  padding: 10px 45px;
  background-color: #00bbf0;
  color: #ffffff;
  border-radius: 0;
  transition: all 0.3s;
  border: none;
}

.why_section .btn-box a:hover {
  background-color: #007fa4;
}

/* ==================================================
Team Section
================================================== */
.team_section {
  text-align: center;
  background-color: #00204a;
  color: #ffffff;
}

.team_section .heading_container {
  justify-content: center;
}

.team_section .team_container {
  padding: 0 15px;
}

.team_section .team_container .box {
  padding: 35px 0 0 0;
  border-radius: 5px;
  overflow: hidden;
  transition: all .1s;
  margin-top: 45px;
  background: linear-gradient(to bottom, #002759, #002b64);
}

.team_section .team_container .box .img-box {
  display: flex;
  justify-content: center;
  align-items: center;
}

.team_section .team_container .box .img-box img {
  width: 120px;
  border-radius: 100%;
  border: 5px solid #ffffff;
}

.team_section .team_container .box .detail-box {
  margin: 25px 0;
}

.team_section .team_container .box .detail-box h5 {
  color: #00bbf0;
  font-weight: 600;
  position: relative;
}

.team_section .team_container .box .social_box {
  padding: 10px 45px 20px 45px;
  display: flex;
  justify-content: space-between;
}

.team_section .team_container .box .social_box a {
  color: #ffffff;
  font-size: 22px;
}

.team_section .team_container .box .social_box a:hover {
  color: #00bbf0;
}

/* ==================================================
Client Section
================================================== */
.client_section .heading_container {
  margin-bottom: 30px;
}

.client_section .box {
  display: flex;
  flex-direction: column;
  margin: 15px;
}

.client_section .box .img-box {
  position: relative;
  display: flex;
  justify-content: center;
  align-items: center;
  width: 100px;
  margin-bottom: -50px;
  margin-left: 25px;
  position: relative;
}

.client_section .box .img-box img {
  border-radius: 5%;
}

.client_section .box .client_id {
  display: flex;
  justify-content: space-between;
}

.client_section .box .client_id .client_info h6 {
  font-weight: 600;
  margin-bottom: 5px;
}

.client_section .box .client_id .client_info p {
  margin-bottom: 0;
  font-size: 14px;
  margin-bottom: 10px;
}

.client_section .box .detail-box {
  background-color: #ffffff;
  box-shadow: 0 0 15px 0 rgba(0, 0, 0, 0.15);
  padding: 75px 25px 25px 25px;
}

.client_section .box .detail-box i {
  color: #00204a;
  margin-bottom: 10px;
}

/* Client Carousel Navigation */
.client_section .owl-carousel .owl-nav {
  display: flex;
  justify-content: center;
  margin-top: 45px;
}

.client_section .owl-carousel .owl-nav .owl-prev,
.client_section .owl-carousel .owl-nav .owl-next {
  width: 55px;
  height: 55px;
  background-color: #ffffff;
  color: #000000;
  outline: none;
  bottom: 0px;
  font-size: 24px;
  box-shadow: 0 0 5px 0 rgba(0, 0, 0, 0.25);
}

.client_section .owl-carousel .owl-nav .owl-prev:hover,
.client_section .owl-carousel .owl-nav .owl-next:hover {
  color: #00204a;
}

/* ==================================================
Info Section
================================================== */
.info_section {
  background-color: #00204a;
  color: #ffffff;
  padding: 45px 0 15px 0;
}

.info_section h4 {
  font-weight: 600;
  margin-bottom: 20px;
}

.info_section .info_col {
  margin-bottom: 30px;
}

/* Contact Information */
.info_section .info_contact .contact_link_box {
  display: flex;
  flex-direction: column;
}

.info_section .info_contact .contact_link_box a {
  margin: 5px 0;
  color: #ffffff;
}

.info_section .info_contact .contact_link_box a i {
  margin-right: 5px;
}

.info_section .info_contact .contact_link_box a:hover {
  color: #00bbf0;
}

/* Social Media Links */
.info_section .info_social {
  display: flex;
  margin-top: 20px;
  margin-bottom: 10px;
}

.info_section .info_social a {
  display: flex;
  justify-content: center;
  align-items: center;
  color: #ffffff;
  border-radius: 100%;
  margin-right: 10px;
  font-size: 24px;
}

.info_section .info_social a:hover {
  color: #00bbf0;
}

/* Useful Links */
.info_section .info_links {
  display: flex;
  flex-direction: column;
  flex-wrap: wrap;
}

.info_section .info_links a {
  display: flex;
  align-items: center;
  margin-bottom: 15px;
  color: #ffffff;
}

.info_section .info_links a:hover {
  color: #00bbf0;
}

/* Newsletter Form */
.info_section form input {
  border: none;
  border-bottom: 1px solid #ffffff;
  background-color: transparent;
  width: 100%;
  height: 45px;
  color: #ffffff;
  outline: none;
}

.info_section form input::placeholder {
  color: #ffffff;
}

.info_section form button {
  width: 100%;
  text-align: center;
  display: inline-block;
  padding: 10px 55px;
  background-color: #00bbf0;
  color: #ffffff;
  border-radius: 0;
  transition: all 0.3s;
  border: none;
  margin-top: 15px;
}

.info_section form button:hover {
  background-color: #007fa4;
}

/* ==================================================
Footer Section
================================================== */
.footer_section {
  position: relative;
  background-color: #ffffff;
  text-align: center;
}

.footer_section p {
  color: #00204a;
  padding: 25px 0;
  margin: 0;
}

.footer_section p a {
  color: inherit;
}
