body {
  background-color: rgb(222, 222, 222) !important;
}

/* Headers */
.form-control-dark {
  border-color: var(--bs-gray);
}
.form-control-dark:focus {
  border-color: #fff;
  box-shadow: 0 0 0 .25rem rgba(255, 255, 255, .25);
}

.text-small {
  font-size: 85%;
}

.dropdown-toggle:not(:focus) {
  outline: 0;
}

.bd-placeholder-img {
  font-size: 1.125rem;
  text-anchor: middle;
  -webkit-user-select: none;
  -moz-user-select: none;
  user-select: none;
}


.b-example-divider {
  width: 100%;
  height: 3rem;
  background-color: rgba(0, 0, 0, .1);
  border: solid rgba(0, 0, 0, .15);
  border-width: 1px 0;
  box-shadow: inset 0 .5em 1.5em rgba(0, 0, 0, .1), inset 0 .125em .5em rgba(0, 0, 0, .15);
}

.b-example-vr {
  flex-shrink: 0;
  width: 1.5rem;
  height: 100vh;
}

.bi {
  vertical-align: -.125em;
  fill: currentColor;
}

.nav-scroller {
  position: relative;
  z-index: 2;
  height: 2.75rem;
  overflow-y: hidden;
}

.nav-scroller .nav {
  display: flex;
  flex-wrap: nowrap;
  padding-bottom: 1rem;
  margin-top: -1px;
  overflow-x: auto;
  text-align: center;
  white-space: nowrap;
  -webkit-overflow-scrolling: touch;
}

.btn-bd-primary {
  --bd-violet-bg: #712cf9;
  --bd-violet-rgb: 112.520718, 44.062154, 249.437846;

  --bs-btn-font-weight: 600;
  --bs-btn-color: var(--bs-white);
  --bs-btn-bg: var(--bd-violet-bg);
  --bs-btn-border-color: var(--bd-violet-bg);
  --bs-btn-hover-color: var(--bs-white);
  --bs-btn-hover-bg: #6528e0;
  --bs-btn-hover-border-color: #6528e0;
  --bs-btn-focus-shadow-rgb: var(--bd-violet-rgb);
  --bs-btn-active-color: var(--bs-btn-hover-color);
  --bs-btn-active-bg: #000000;
  --bs-btn-active-border-color: #5a23c8;
}

.bd-mode-toggle {
  z-index: 1500;
}

.bd-mode-toggle .dropdown-menu .active .bi {
  display: block !important;
}


.bd-placeholder-img {
  font-size: 1.125rem;
  text-anchor: middle;
  -webkit-user-select: none;
  -moz-user-select: none;
  user-select: none;
}

@media (min-width: 768px) {
  .bd-placeholder-img-lg {
    font-size: 3.5rem;
  }
}

.b-example-divider {
  width: 100%;
  height: 3rem;
  background-color: rgba(0, 0, 0, .1);
  border: solid rgba(0, 0, 0, .15);
  border-width: 1px 0;
  box-shadow: inset 0 .5em 1.5em rgba(0, 0, 0, .1), inset 0 .125em .5em rgba(0, 0, 0, .15);
}

.b-example-vr {
  flex-shrink: 0;
  width: 1.5rem;
  height: 100vh;
}

.bi {
  vertical-align: -.125em;
  fill: currentColor;
}

.nav-scroller {
  position: relative;
  z-index: 2;
  height: 2.75rem;
  overflow-y: hidden;
}

.nav-scroller .nav {
  display: flex;
  flex-wrap: nowrap;
  padding-bottom: 1rem;
  margin-top: -1px;
  overflow-x: auto;
  text-align: center;
  white-space: nowrap;
  -webkit-overflow-scrolling: touch;
}

.navbar-nav .nav-link  {
  font-size: 20px !important;
  line-height: 2rem;
}

.btn-bd-primary {
  --bd-violet-bg: #712cf9;
  --bd-violet-rgb: 112.520718, 44.062154, 249.437846;

  --bs-btn-font-weight: 600;
  --bs-btn-color: var(--bs-white);
  --bs-btn-bg: var(--bd-violet-bg);
  --bs-btn-border-color: var(--bd-violet-bg);
  --bs-btn-hover-color: var(--bs-white);
  --bs-btn-hover-bg: #6528e0;
  --bs-btn-hover-border-color: #6528e0;
  --bs-btn-focus-shadow-rgb: var(--bd-violet-rgb);
  --bs-btn-active-color: var(--bs-btn-hover-color);
  --bs-btn-active-bg: #5a23c8;
  --bs-btn-active-border-color: #5a23c8;
}

.bd-mode-toggle {
  z-index: 1500;
}

.bd-mode-toggle .dropdown-menu .active .bi {
  display: block !important;
}

/* Custom Button */

.cbtn{
  --bs-btn-color: #fff;
  --bs-btn-bg: #2d91ab !important;
  --bs-btn-border-color: #2d91ab !important;
  --bs-btn-hover-color: #fff;
  --bs-btn-hover-bg: #424649;
  --bs-btn-hover-border-color: #373b3e;
  --bs-btn-focus-shadow-rgb: 66,70,73;
  --bs-btn-active-color: #fff;
  --bs-btn-active-bg: #4d5154;
  --bs-btn-active-border-color: #373b3e;
  --bs-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);
  --bs-btn-disabled-color: #fff;
  --bs-btn-disabled-bg: #2d91ab !important;
  --bs-btn-disabled-border-color: #2d91ab !important;
}

/* FOOTER */
.bd-placeholder-img {
  font-size: 1.125rem;
  text-anchor: middle;
  -webkit-user-select: none;
  -moz-user-select: none;
  user-select: none;
}


.b-example-divider {
  width: 100%;
  height: 3rem;
  background-color: rgba(0, 0, 0, .1);
  border: solid rgba(0, 0, 0, .15);
  border-width: 1px 0;
  box-shadow: inset 0 .5em 1.5em rgba(0, 0, 0, .1), inset 0 .125em .5em rgba(0, 0, 0, .15);
}

.b-example-vr {
  flex-shrink: 0;
  width: 1.5rem;
  height: 100vh;
}

.bi {
  vertical-align: -.125em;
  fill: currentColor;
}

.nav-scroller {
  position: relative;
  z-index: 2;
  height: 2.75rem;
  overflow-y: hidden;
}

.nav-scroller .nav {
  display: flex;
  flex-wrap: nowrap;
  padding-bottom: 1rem;
  margin-top: -1px;
  overflow-x: auto;
  text-align: center;
  white-space: nowrap;
  -webkit-overflow-scrolling: touch;
}

.btn-bd-primary {
  --bd-violet-bg: #712cf9;
  --bd-violet-rgb: 112.520718, 44.062154, 249.437846;

  --bs-btn-font-weight: 600;
  --bs-btn-color: var(--bs-white);
  --bs-btn-bg: var(--bd-violet-bg);
  --bs-btn-border-color: var(--bd-violet-bg);
  --bs-btn-hover-color: var(--bs-white);
  --bs-btn-hover-bg: #6528e0;
  --bs-btn-hover-border-color: #6528e0;
  --bs-btn-focus-shadow-rgb: var(--bd-violet-rgb);
  --bs-btn-active-color: var(--bs-btn-hover-color);
  --bs-btn-active-bg: #5a23c8;
  --bs-btn-active-border-color: #5a23c8;
}

.bd-mode-toggle {
  z-index: 1500;
}

.bd-mode-toggle .dropdown-menu .active .bi {
  display: block !important;
}

/* From Carousel */

/* GLOBAL STYLES
-------------------------------------------------- */
/* Padding below the footer and lighter body text */




/* CUSTOMIZE THE CAROUSEL
-------------------------------------------------- */

/* Carousel base class */
/* .carousel {
  margin-bottom: 4rem;
} */
/* Since positioning the image, we need to help out the caption */
.carousel-caption {
  bottom: 3rem;
  z-index: 10;
}

/* Declare heights because of positioning of img element */
.carousel-item {
  height: 32rem;
}

#myCarousel {
  margin-top: 100px !important; /* Adjust this value based on your navbar height */
}


/* For larger screens, change the object-fit to contain */
@media (min-width: 992px) {
  .carousel-item img {
    object-fit: contain;  /* Prevents zooming, ensures the entire image fits */
  }
}

.carousel-item {
  position: relative; /* Make sure it's positioned relatively */
}

.carousel-item img {
  object-fit: cover;  /* Ensures image covers the carousel space */
  width: 100%;
  height: 100%;
}

.carousel-caption {
  position: absolute;
  bottom: 20px; 
  left: 20px; 
  right: 20px; 
  color: white; 
  text-shadow: 2px 2px 4px rgba(0, 0, 0, 0.7); 
  z-index: 2; /* Ensure the caption stays above the image */
  padding: 10px; 
  background-color: rgba(0, 0, 0, 0.5);
  border-radius: 5px; 
}

.carousel-caption h1, .carousel-caption p {
  margin: 0; /* Remove default margins for tighter control */
}

/* Change caption behavior on smaller screens */
@media (max-width: 768px) {
  .carousel-caption {
    bottom: 10px; 
    left: 10px;
    right: 10px;
  }
}


/* MARKETING CONTENT
-------------------------------------------------- */

/* Center align the text within the three columns below the carousel */
.marketing .col-lg-4 {
  margin-bottom: 1.5rem;
  text-align: center;
}
/* rtl:begin:ignore */
.marketing .col-lg-4 p {
  margin-right: .75rem;
  margin-left: .75rem;
}
/* rtl:end:ignore */


/* Featurettes
------------------------- */

.featurette-divider {
  margin: 5rem 0; /* Space out the Bootstrap <hr> more */
}

/* Thin out the marketing headings */
/* rtl:begin:remove */
.featurette-heading {
  letter-spacing: -.05rem;
}

/* rtl:end:remove */

/* RESPONSIVE CSS
-------------------------------------------------- */

@media (min-width: 40em) {
  /* Bump up size of carousel content */
  .carousel-caption p {
    margin-bottom: 1.25rem;
    font-size: 1.25rem;
    line-height: 1.4;
  }

  .featurette-heading {
    font-size: 50px;
  }
}

@media (min-width: 62em) {
  .featurette-heading {
    margin-top: 7rem;
  }
}

.section {

  background-color: rgb(190, 189, 189) !important;
}


.anav {
  color: black !important;
}

.anav:hover {
  background-color: black !important;
  color: white !important;
}


/* Contact Section */
/* Mobile-first design adjustments */
@media (max-width: 767px) {
  .section {
    padding-left: 1rem;
    padding-right: 1rem;
  }

  /* Adding spacing between the columns */
  .row > .col-md-6 {
    margin-bottom: 1.5rem;
  }

  /* Centering content */
  .row {
    display: flex;
    justify-content: center;
    align-items: center;
    text-align: center;  /* Optional: centers the text in the columns as well */
  }

  /* Card adjustments */
  .card {
    margin-bottom: 1rem;
  }

  /* Ensuring content is centered on smaller screens */
  .col-md-6 {
    max-width: 100%;
    padding: 0 10px;  /* Optional padding to prevent text from sticking to the edges */
  }

}

/* Make sure the card expands to full height on all screen sizes */
.card {
  height: 100%;
}

.bd-placeholder-img {
  object-fit: cover;
  border-radius: 5px;
}

/* Gallery */


.gallery {
  display: flex;
  flex-wrap: wrap;
  justify-content: center !important;
  align-items: center !important;
  margin: 0 auto !;
  padding: 0 !important;
  gap: 0;
  height: 100vh;
}

.gallery-item {
  flex: 0 1 10%; /* Thumbnail size */
  max-width: 10%;
  padding: 0 !important;
  position: relative;
  overflow: hidden;
  transition: transform 0.3s ease;
}

.gallery-item:hover {
  transform: scale(1.5);
  z-index: 2;
}

.gallery-item img {
  width: 100%;
  aspect-ratio: 1 / 1; /* Ensures the image remains square */
  object-fit: cover; /* Keeps the image cropped proportionally */
  display: block;
}

/* Responsive adjustments for larger thumbnails */
@media (max-width: 1200px) {
  .gallery-item {
    flex: 1 1 15%;
    max-width: 15%;
  }
}

@media (max-width: 992px) {
  .gallery-item {
    flex: 1 1 20%;
    max-width: 20%;
  }
}

@media (max-width: 768px) {
  .gallery-item {
    flex: 1 1 33.33%;
    max-width: 33.33%;
  }
}

@media (max-width: 576px) {
  .gallery-item {
    flex: 1 1 50%;
    max-width: 50%;
  }
}


/* Service Card */

.servicecard {
  display: flex;
  flex-direction: column;
  border: 2px solid #2d91ab; /* Border color to match the theme */
  background-color: #f1f8fc; /* Light background color */
  transition: transform 0.2s ease-in-out;
}


.servicecard-body {
  flex-grow: 1;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  padding: 1.25rem;
  background-color: white; /* White background for readability */
}

/* Card Title */
.servicecard-title {
  font-size: 1.2rem;
  font-weight: bold;
  color: #2d91ab; /* Title color to match theme */
  margin-bottom: 0.75rem; /* Space between title and paragraph */
}

/* Card Text (Paragraph) */
.servicecard-text {
  font-size: 0.9rem;
  color: #333; /* Darker color for readability */
  margin-bottom: 0;
}

/* Accordion */

.accordion-button:not(.collapsed) {
  background-color: #2d91ab !important; /* Accent color when the accordion item is expanded */
  color: white !important;
}

.accordion-button {
  background-color: #343a40 !important; /* Dark background for button */
  border-color: #2d91ab !important; /* Border color for the button */
}

.card:hover {
  border-color: #2d91ab !important; /* Accent color on hover for the cards */
}
.card-title {
  color: #2d91ab !important;
}


/* logo */
.img-thumbnail {
  border: none; /* Removes the border */
}