/********** Template CSS **********/
:root {
 --primary: #86b817;
 --secondary: #fe8800;
 --light: #f5f5f5;
 --dark: #14141f;
}

.fw-medium {
 font-weight: 600 !important;
}

.fw-semi-bold {
 font-weight: 700 !important;
}

.back-to-top {
 position: fixed;
 display: none;
 right: 45px;
 bottom: 45px;
 z-index: 99;
}

/*** Spinner ***/
#spinner {
 opacity: 0;
 visibility: hidden;
 transition:
  opacity 0.5s ease-out,
  visibility 0s linear 0.5s;
 z-index: 99999;
}

#spinner.show {
 transition:
  opacity 0.5s ease-out,
  visibility 0s linear 0s;
 visibility: visible;
 opacity: 1;
}

/*** Button ***/
.btn {
 font-family: "Nunito", sans-serif;
 font-weight: 600;
 transition: 0.5s;
}

.btn.btn-primary,
.btn.btn-secondary {
 color: #ffffff;
}

.btn-square {
 width: 38px;
 height: 38px;
}

.btn-sm-square {
 width: 32px;
 height: 32px;
}

.btn-lg-square {
 width: 48px;
 height: 48px;
}

.btn-square,
.btn-sm-square,
.btn-lg-square {
 padding: 0;
 display: flex;
 align-items: center;
 justify-content: center;
 font-weight: normal;
 border-radius: 0px;
}

/*** Carousel ***/
.carousel-caption {
 top: 0;
 left: 0;
 right: 0;
 bottom: 0;
 /* background: rgba(9, 30, 62, .7); */
 z-index: 1;
}

.carousel-item {
 /* height: 500px; */
}

.carousel-image {
 height: 100%;
}

.slideInDown {
}

.sub-header-text {
 font-size: 20px;
}

/*** Service ***/
.service-item {
 position: relative;
 height: 350px;
 padding: 0 30px;
 transition: 0.5s;
}

.service-item .service-icon {
 margin-bottom: 30px;
 width: 60px;
 height: 60px;
 display: flex;
 align-items: center;
 justify-content: center;
 background: var(--primary);
 border-radius: 2px;
 transform: rotate(-45deg);
}

.service-item .service-icon i {
 transform: rotate(45deg);
}

.service-item a.btn {
 position: absolute;
 width: 60px;
 bottom: -48px;
 left: 50%;
 margin-left: -30px;
 opacity: 0;
}

.service-item:hover a.btn {
 bottom: -24px;
 opacity: 1;
}

.highlights {
 color: var(--primary);
}

.unordered-list {
 text-align: left;
 width: 100%;
}

.text-white-icon {
 font-size: 20px;
}

.manager-text {
 padding: 1.5rem 0px !important;
}

@media (max-width: 576px) {
 .carousel-caption h5 {
  font-size: 14px;
  font-weight: 500 !important;
 }

 .carousel-caption h1 {
  font-size: 30px;
  font-weight: 600 !important;
 }

 .sub-header-text {
  display: none;
 }
 .row-images {
  display: none;
 }
}

.carousel-control-prev,
.carousel-control-next {
 width: 10%;
}

.carousel-control-prev-icon,
.carousel-control-next-icon {
 width: 3rem;
 height: 3rem;
}

/*** Navbar ***/
.navbar-light .navbar-nav .nav-link {
 font-family: "Nunito", sans-serif;
 position: relative;
 margin-right: 25px;
 padding: 35px 0;
 color: #ffffff !important;
 font-size: 18px;
 font-weight: 600;
 outline: none;
 transition: 0.5s;
}

.sticky-top.navbar-light .navbar-nav .nav-link {
 padding: 20px 0;
 color: var(--dark) !important;
}

.navbar-light .navbar-nav .nav-link:hover,
.navbar-light .navbar-nav .nav-link.active {
 color: var(--primary) !important;
}

.navbar-light .navbar-brand img {
 max-height: 60px;
 transition: 0.5s;
}

.sticky-top.navbar-light .navbar-brand img {
 max-height: 45px;
}

@media (max-width: 991.98px) {
 .sticky-top.navbar-light {
  position: relative;
  background: #ffffff;
 }

 .navbar-light .navbar-collapse {
  margin-top: 15px;
  border-top: 1px solid #dddddd;
 }

 .navbar-light .navbar-nav .nav-link,
 .sticky-top.navbar-light .navbar-nav .nav-link {
  padding: 10px 0;
  margin-left: 0;
  color: var(--dark) !important;
 }

 .navbar-light .navbar-brand img {
  max-height: 45px;
 }
}

@media (min-width: 992px) {
 .navbar-light {
  position: absolute;
  width: 100%;
  top: 0;
  left: 0;
  border-bottom: 1px solid rgba(256, 256, 256, 0.1);
  z-index: 999;
 }

 .sticky-top.navbar-light {
  position: fixed;
  background: #ffffff;
 }

 .navbar-light .navbar-nav .nav-link::before {
  position: absolute;
  content: "";
  width: 0;
  height: 2px;
  bottom: -1px;
  left: 50%;
  background: var(--primary);
  transition: 0.5s;
 }

 .navbar-light .navbar-nav .nav-link:hover::before,
 .navbar-light .navbar-nav .nav-link.active::before {
  width: calc(100% - 2px);
  left: 1px;
 }

 .navbar-light .navbar-nav .nav-link.nav-contact::before {
  display: none;
 }
}

/*** Hero Header ***/
.hero-header {
 background-position: center center;
 background-repeat: no-repeat;
 background-size: cover;
 background:
  linear-gradient(rgb(20 20 31 / 28%), rgb(253 253 253 / 34%)),
  url(../img/audit-black-hand.jpeg);
}

.hero-header-about {
 background-position: center center;
 background-repeat: no-repeat;
 background-size: cover;
 background:
  linear-gradient(rgba(20, 20, 31, 0.7), rgba(253, 253, 253, 0.7)),
  url(../img/About-Us-1.jpg);
}

.breadcrumb-item + .breadcrumb-item::before {
 color: rgba(255, 255, 255, 0.5);
}

/* Youth Day gallery grid */
.youth-grid {
 display: grid;
 grid-template-columns: repeat(3, 1fr);
 grid-template-rows: 320px 180px; /* first row taller (portrait), second row landscape */
 gap: 1rem;
}
.youth-grid .item {
 overflow: hidden;
 background: #f8f9fa;
 display: flex;
 align-items: center;
 justify-content: center;
 border-radius: 6px;
}
.youth-grid .portrait {
 /* kept for semantic marking but no longer spans rows */
}
.youth-grid img {
 max-width: 100%;
 max-height: 100%;
 object-fit: contain;
 display: block;
}

@media (max-width: 768px) {
 .youth-grid {
  grid-template-columns: repeat(2, 1fr);
  grid-template-rows: 260px 140px;
 }
 .youth-grid .portrait {
  /* on mobile portraits keep first-row height via placement */
 }
}

/*** Section Title ***/
.section-title {
 position: relative;
 display: inline-block;
 text-transform: uppercase;
}

.section-title::before {
 position: absolute;
 content: "";
 width: calc(100% + 80px);
 height: 2px;
 top: 4px;
 left: -40px;
 background: var(--primary);
 z-index: -1;
}

.section-title::after {
 position: absolute;
 content: "";
 width: calc(100% + 120px);
 height: 2px;
 bottom: 5px;
 left: -60px;
 background: var(--primary);
 z-index: -1;
}

.section-title.text-start::before {
 width: calc(100% + 40px);
 left: 0;
}

.section-title.text-start::after {
 width: calc(100% + 60px);
 left: 0;
}

/*** Service ***/
.service-item {
 transition: 0.5s;
 box-shadow: 0 0 45px rgba(0, 0, 0, 0.08);
}

.service-item:hover {
 background: var(--primary);
 box-shadow: none;
 font-size: 17px;
}

.service-item * {
 transition: 0.1s;
}

.service-item:hover * {
 color: var(--dark) !important;
}

.service-logo {
 height: 100%;
 width: 380px;
}

.service-logo:hover {
 border: 3px rgb(245, 245, 245) solid;
 box-shadow: 0 0 45px rgba(0, 0, 0, 0.08);
}

/*** Destination ***/
.destination img {
 transition: 0.5s;
}

.destination a:hover img {
 transform: scale(1.1);
}

/*** Package ***/
.package-item {
 box-shadow: 0 0 45px rgba(0, 0, 0, 0.08);
}

.package-item img {
 transition: 0.5s;
}

.package-item:hover img {
 transform: scale(1.1);
}

/*** Booking ***/
.booking {
 background:
  linear-gradient(rgba(15, 23, 43, 0.7), rgba(15, 23, 43, 0.7)),
  url(../img/booking.jpg);
 background-position: center center;
 background-repeat: no-repeat;
 background-size: cover;
}

/*** Team ***/
.team-item {
 box-shadow: 0 0 45px rgba(0, 0, 0, 0.08);
}

.team-item img {
 transition: 0.5s;
}

.team-item:hover img {
 transform: scale(1.1);
}

.team-item .btn {
 background: #ffffff;
 color: var(--primary);
 border-radius: 20px;
 border-bottom: 1px solid var(--primary);
}

.team-item .btn:hover {
 background: var(--primary);
 color: #ffffff;
}

.designer-tag {
 color: #f0fff940 !important;
 font-style: italic;
 font-size: 14px;
}

/*** Testimonial ***/
.testimonial-carousel::before {
 position: absolute;
 content: "";
 top: 0;
 left: 0;
 height: 100%;
 width: 0;
 background: linear-gradient(
  to right,
  rgba(255, 255, 255, 1) 0%,
  rgba(255, 255, 255, 0) 100%
 );
 z-index: 1;
}

.testimonial-carousel::after {
 position: absolute;
 content: "";
 top: 0;
 right: 0;
 height: 100%;
 width: 0;
 background: linear-gradient(
  to left,
  rgba(255, 255, 255, 1) 0%,
  rgba(255, 255, 255, 0) 100%
 );
 z-index: 1;
}

@media (min-width: 768px) {
 .testimonial-carousel::before,
 .testimonial-carousel::after {
  width: 200px;
 }
}

@media (min-width: 992px) {
 .testimonial-carousel::before,
 .testimonial-carousel::after {
  width: 300px;
 }
}

.dark-space {
 background-color: #cccccc4d;
}

.testimonial-carousel .owl-item .testimonial-item,
.testimonial-carousel .owl-item.center .testimonial-item * {
 transition: 0.5s;
}

.testimonial-carousel .owl-item.center .testimonial-item {
 background: var(--primary) !important;
 border-color: var(--primary) !important;
}

.testimonial-carousel .owl-item.center .testimonial-item * {
 color: #ffffff !important;
}

.testimonial-carousel .owl-dots {
 margin-top: 24px;
 display: flex;
 align-items: flex-end;
 justify-content: center;
}

.testimonial-carousel .owl-dot {
 position: relative;
 display: inline-block;
 margin: 0 5px;
 width: 15px;
 height: 15px;
 border: 1px solid #cccccc;
 border-radius: 15px;
 transition: 0.5s;
}

.testimonial-carousel .owl-dot.active {
 background: var(--primary);
 border-color: var(--primary);
}

/*** Footer ***/
.footer .btn.btn-social {
 margin-right: 5px;
 width: 35px;
 height: 35px;
 display: flex;
 align-items: center;
 justify-content: center;
 color: var(--light);
 font-weight: normal;
 border: 1px solid #ffffff;
 border-radius: 35px;
 transition: 0.3s;
}

.footer .btn.btn-social:hover {
 color: var(--primary);
}

.footer .btn.btn-link {
 display: block;
 margin-bottom: 5px;
 padding: 0;
 text-align: left;
 color: #ffffff;
 font-size: 15px;
 font-weight: normal;
 text-transform: capitalize;
 transition: 0.3s;
}

.footer .btn.btn-link::before {
 position: relative;
 content: "\f105";
 font-family: "Font Awesome 5 Free";
 font-weight: 900;
 margin-right: 10px;
}

.footer .btn.btn-link:hover {
 letter-spacing: 1px;
 box-shadow: none;
}

.footer .copyright {
 padding: 25px 0;
 font-size: 15px;
 border-top: 1px solid rgba(256, 256, 256, 0.1);
}

.footer .copyright a {
 color: var(--light);
}

.footer .footer-menu a {
 margin-right: 15px;
 padding-right: 15px;
 border-right: 1px solid rgba(255, 255, 255, 0.1);
}

.footer .footer-menu a:last-child {
 margin-right: 0;
 padding-right: 0;
 border-right: none;
}

/* Gallery layout */

.gallery-containter {
 width: 80%;
}

body {
 font-family: Arial;
 margin: 0;
}

img {
 vertical-align: middle;
}

/* Position the image container (needed to position the left and right arrows) */
.container {
 position: relative;
}

/* Hide the images by default */
.mySlides {
 display: none;
}

/* Add a pointer when hovering over the thumbnail images */
.cursor {
 cursor: pointer;
}

/* Next & previous buttons */
.prev,
.next {
 cursor: pointer;
 position: absolute;
 top: 40%;
 width: auto;
 padding: 16px;
 margin-top: -50px;
 color: #86b817;
 font-weight: bold;
 font-size: 20px;
 border-radius: 0 3px 3px 0;
 user-select: none;
 -webkit-user-select: none;
 background-color: #dee6e2b5;
}

/* Position the "next button" to the right */
.next {
 right: 0;
 border-radius: 3px 0 0 3px;
}

.prev {
 left: 0;
}

/* On hover, add a black background color with a little bit see-through */
.prev:hover,
.next:hover {
 background-color: rgba(0, 0, 0, 0.8);
}

/* Number text (1/3 etc) */
.numbertext {
 color: #f2f2f2;
 font-size: 12px;
 padding: 8px 12px;
 position: absolute;
 top: 0;
}

/* Container for image text */
.caption-container {
 text-align: center;
 background-color: #222;
 padding: 2px 16px;
 color: white;
}

.row:after {
 content: "";
 display: table;
 clear: both;
}

/* Six columns side by side */
.column {
 float: left;
 width: 16.66%;
}

/* Add a transparency effect for thumnbail images */
.demo {
 opacity: 0.6;
 width: 100%;
 height: 60px;
}

.active,
.demo:hover {
 opacity: 1;
}

.slide-image {
 width: 100%;
 aspect-ratio: 3/2;
 object-fit: contain;
}

.image-row {
 aspect-ratio: 3/2;
}
