@media (max-width: 1024px) {
  body.admin-bar .dialog-type-lightbox {
    position: fixed !important;
    height: 100vh;
    z-index: 999999999999;
  }
}
/* WebKit Browsers (Chrome, Edge, Safari) */
::-webkit-scrollbar {
  width: 10px;
  background-color: #f3efeb;
}

::-webkit-scrollbar-track {
  -webkit-box-shadow: inset 0 0 6px rgba(0, 0, 0, 0.1) !important;
  background-color: #f3efeb;
  border-radius: 10px;
}

::-webkit-scrollbar-thumb {
  border-radius: 10px;
  background: #004735;
  border: 2px solid #f3efeb;
  /* Optional: better contrast */
}

/* Firefox Browsers */
html body {
  font-family: "Raleway", sans-serif !important;
  overflow-x: hidden !important;
  line-height: 1.7;
}
html body h1,
html body h2,
html body h3,
html body h4,
html body h5,
html body h6,
html body p {
  font-family: "Raleway", sans-serif !important;
}
html body .elementor-heading-title {
  line-height: 1.3;
}
html body .elementor-section.elementor-element {
  padding-left: 0;
  padding-right: 0;
}
@media (max-width: 1440px) {
  html body .elementor-section.elementor-section-boxed > .elementor-container {
    max-width: 1280px;
  }
}
@media (max-width: 1300px) {
  html body .elementor-section.elementor-section-boxed > .elementor-container {
    max-width: 1024px;
  }
}
@media (max-width: 1060px) {
  html body .elementor-section.elementor-section-boxed > .elementor-container {
    max-width: 991px;
  }
}

#sub-header {
  text-align: center;
}

.mobile-menu .dialog-widget-content,
.mobile-menu .dialog-message {
  height: 100% !important;
}
.mobile-menu .elementor-location-popup {
  height: 100%;
}
.mobile-menu-wrap {
  height: 100%;
}
.mobile-menu-wrap .elementor-container,
.mobile-menu-wrap .elementor-column {
  height: 100%;
}

.mobile-menu-close .elementor-icon:hover {
  background-color: #004735;
  color: #fff !important;
  transition: 0.3s ease-in-out;
  border-color: #004735 !important;
}
.mobile-menu-close .elementor-icon:hover svg {
  fill: #fff !important;
}

.book-form .dialog-widget-content {
  max-height: 95vh !important;
  overflow: hidden !important;
}

.paralax-custom .elementor-widget-wrap {
  background-repeat: no-repeat;
  background-size: 50% !important;
  background-attachment: fixed !important;
}
@media (max-width: 1440px) {
  .paralax-custom .elementor-widget-wrap {
    background-size: 80% !important;
  }
}
@media (max-width: 991px) {
  .paralax-custom .elementor-widget-wrap {
    background-size: cover !important;
    background-attachment: initial !important;
  }
}
.paralax-custom__left .elementor-widget-wrap {
  background-position: left !important;
}
@media (max-width: 991px) {
  .paralax-custom__left .elementor-widget-wrap {
    background-position: center !important;
  }
}
.paralax-custom__right .elementor-widget-wrap {
  background-position: right !important;
}
@media (max-width: 991px) {
  .paralax-custom__right .elementor-widget-wrap {
    background-position: center !important;
  }
}

.swiper-pagination-bullets {
  position: relative !important;
  transform: none !important;
  right: 0 !important;
}
.swiper-pagination-bullets .swiper-pagination-bullet {
  background-color: transparent !important;
  width: 10px !important;
  height: 10px !important;
  border: 1px solid #004735 !important;
  opacity: 1 !important;
}
.swiper-pagination-bullets .swiper-pagination-bullet-active {
  background-color: #004735 !important;
}

.elementor-swiper-button {
  width: 40px !important;
  height: 40px !important;
  border: 1px solid #004735 !important;
  border-radius: 50px;
  color: #004735 !important;
  text-align: center;
  line-height: 40px;
  font-size: 16px !important;
  font-family: icomoon;
  display: block;
  outline: 0 !important;
}
@media (max-width: 1600px) {
  .elementor-swiper-button {
    display: none !important;
  }
}
.elementor-swiper-button svg {
  display: none;
}
.elementor-swiper-button::before {
  width: 100%;
}
.elementor-swiper-button:hover {
  background-color: #004735;
  color: #fff !important;
}
.elementor-swiper-button i {
  font-size: 18px;
  width: 100%;
  line-height: 40px;
  font-family: swiper-icons;
}
.elementor-swiper-button-prev i::before {
  content: "prev";
}
.elementor-swiper-button-next i::before {
  content: "next";
}
.elementor-swiper-button.swiper-button-next::after, .elementor-swiper-button.swiper-button-prev::after {
  display: none;
}

.dialog-type-lightbox .elementor-swiper-button {
  background-color: transparent;
  margin: 10px;
  border-color: #fff !important;
  color: #fff !important;
}
.dialog-type-lightbox .elementor-swiper-button:hover {
  background-color: #09624b;
  color: #fff !important;
  border-color: #09624b !important;
}

#scroll-to-top {
  display: none;
}

.elementor-pagination {
  margin-top: 30px;
}
.elementor-pagination .page-numbers {
  width: 40px;
  height: 40px;
  font-size: 20px;
  border: 1px solid #004735;
  border-radius: 100%;
  display: none;
}
.elementor-pagination .page-numbers.current {
  opacity: 0.5;
  display: inline-block;
}
.elementor-pagination a.page-numbers {
  display: inline-block;
}
.elementor-pagination a.page-numbers:hover {
  background-color: #004735;
  color: #fff !important;
}

.elementor-tabs .elementor-tabs-wrapper,
.elementor-tabs .elementor-tabs-content-wrapper {
  border: 0 !important;
}
.elementor-tabs .elementor-tab-mobile-title,
.elementor-tabs .elementor-tab-title {
  border-color: #004735 !important;
  color: #004735 !important;
  text-transform: uppercase !important;
  font-weight: 600 !important;
  padding: 15px 40px !important;
  font-size: 17px !important;
  letter-spacing: 0.5px !important;
}
.elementor-tabs .elementor-tab-mobile-title:before, .elementor-tabs .elementor-tab-mobile-title:after,
.elementor-tabs .elementor-tab-title:before,
.elementor-tabs .elementor-tab-title:after {
  display: none !important;
}
.elementor-tabs .elementor-tab-mobile-title.elementor-active,
.elementor-tabs .elementor-tab-title.elementor-active {
  background-color: #004735 !important;
  color: #fff !important;
}
.elementor-tabs .elementor-tab-mobile-title {
  width: 50%;
  min-width: fit-content;
  margin: auto !important;
  margin-top: 20px !important;
}
.elementor-tabs .elementor-tab-content {
  border: 0 !important;
  text-align: center;
  max-width: 900px;
  margin: auto;
  padding: 0;
  margin-top: 30px;
}
@media (max-width: 767px) {
  .elementor-tabs .elementor-tab-content {
    padding: 0 !important;
  }
}
.elementor-tabs .elementor-tab-content ul,
.elementor-tabs .elementor-tab-content ol {
  list-style-position: inside;
  padding: 0;
}

.header-custom .elementor-inner-section {
  width: auto !important;
}
.header-custom .logo--white {
  display: none;
}
.header-custom .logo--sticky {
  display: none;
}
.header-custom.she-header .logo--sticky {
  display: block;
}
.header-custom.she-header .logo--color, .header-custom.she-header .logo--white {
  display: none;
}
.header-custom .menu-item a.elementor-item::after {
  background-color: #004735;
  height: 2px;
  width: calc(100% - 30px);
  margin: auto;
  left: 0;
  right: 0;
  bottom: 5px !important;
}
.header-custom .mobile-menu-open .elementor-icon:hover {
  background-color: #004735;
  color: #fff !important;
  transition: 0.3s ease-in-out;
  border-color: #004735 !important;
}
.header-custom .mobile-menu-open .elementor-icon:hover svg {
  fill: #fff !important;
}

.home .header-custom {
  background: transparent !important;
}
.home .header-custom .logo--color {
  display: none;
}
.home .header-custom .logo--white {
  display: block;
}
.home .header-custom:not(.she-header) .menu-item a.elementor-item {
  color: #fff;
}
.home .header-custom:not(.she-header) .menu-item a.elementor-item::after {
  background-color: #fff;
}
.home .header-custom:not(.she-header) .mobile-menu-open .elementor-icon {
  fill: #fff !important;
  color: #fff !important;
  border-color: #fff !important;
}
.home .header-custom.she-header {
  background-color: #fff !important;
}
.home .header-custom.she-header .logo--white {
  display: none !important;
}
.home__centered-slide .swiper-slide {
  max-width: 50% !important;
  width: 100% !important;
}
@media (max-width: 991px) {
  .home__centered-slide .swiper-slide {
    max-width: 80% !important;
    width: 100% !important;
  }
}
.home__centered-slide .elementor-image-carousel {
  margin-bottom: 30px;
}
.home__centered-slide .swiper-pagination-bullets {
  margin-top: 30px;
}
.home__catalog .swiper-slide {
  max-width: calc(25% - 10px) !important;
}
@media (max-width: 991px) {
  .home__catalog .swiper-slide {
    max-width: calc(33.3333% - 10px) !important;
  }
}
@media (max-width: 767px) {
  .home__catalog .swiper-slide {
    max-width: 80% !important;
    width: 100% !important;
  }
}
.home__catalog__single .elementor-widget-image {
  display: block;
  overflow: hidden;
}
.home__catalog__single .elementor-widget-image a {
  display: block;
  overflow: hidden;
  height: 0;
  padding-bottom: 135%;
  position: relative;
  border-radius: 20px;
  bottom: 0;
  left: 0;
  right: 0;
  top: 0;
}
.home__catalog__single .elementor-widget-image a img {
  transition: 0.3s ease-in-out !important;
  transform: scale(1) !important;
  left: 0 !important;
  top: 0 !important;
  width: 100% !important;
  height: 100%;
  object-fit: cover;
  position: absolute;
  will-change: transform;
}
.home__catalog__single .elementor-widget-image a:hover img {
  transform: scale(1.02) !important;
}
.home__catalog__single h3 a {
  transition: 0.3s ease-in-out;
}
.home__catalog__single h3 a:hover {
  color: #09624b !important;
}
.home__catalog .swiper-pagination-bullets {
  margin-top: 30px;
}
@media (min-width: 1601px) {
  .home__catalog .swiper-pagination-bullets {
    display: none;
  }
}
@media (max-width: 1600px) {
  .home__catalog .elementor-swiper-button {
    display: none;
  }
}
@media (min-width: 992px) {
  .home__blog .swiper-slide {
    max-width: 33.33%;
  }
}
.home__blog .swiper-pagination-bullets {
  margin-top: 30px;
}
@media (min-width: 1601px) {
  .home__blog .swiper-pagination-bullets {
    display: none;
  }
}
@media (max-width: 1600px) {
  .home__blog .elementor-swiper-button {
    display: none;
  }
}
.home__blog .elementor-widget-theme-post-featured-image a {
  display: block;
  overflow: hidden;
  height: 0;
  padding-bottom: 75%;
  position: relative;
  border-radius: 20px;
}
.home__blog .elementor-widget-theme-post-featured-image a img {
  width: 100%;
  height: 100%;
  display: block;
  object-fit: cover;
  object-position: center;
  position: absolute;
  transition: 0.3s ease-in-out;
  transform: scale(1);
  will-change: transform;
}
.home__blog .elementor-widget-theme-post-featured-image a:hover img {
  transform: scale(1.02);
}
.home__newsletter .elementor-form-fields-wrapper {
  display: flex;
}
.home__newsletter .elementor-form-fields-wrapper .elementor-field-type-email {
  width: calc(100% - 140px) !important;
}
.home__newsletter .elementor-form-fields-wrapper .elementor-field-type-email input {
  height: 100%;
  padding: 10px 20px;
}
.home__newsletter .elementor-form-fields-wrapper .elementor-field-type-submit {
  width: 140px;
  margin-left: -1px;
  cursor: pointer !important;
}
.home__newsletter .elementor-form-fields-wrapper .elementor-field-type-submit button {
  cursor: pointer !important;
}
.home__newsletter .elementor-form-fields-wrapper .elementor-field-type-submit .elementor-form-spinner {
  position: absolute;
}
@media (max-width: 1280px) {
  .home__partners > .elementor-container {
    flex-direction: column;
  }
  .home__partners .partner__top__wrap.elementor-col-50,
.home__partners .partner__right__wrap.elementor-col-50 {
    width: 100% !important;
  }
  .home__partners .partner__top__wrap .elementor-widget-wrap {
    margin-right: 0 !important;
  }
}
@media (max-width: 767px) {
  .home__partners .partner__single .partner__img .elementor-widget-wrap {
    padding-bottom: 70%;
  }
}
.home__partners .partner__single .partner__img .elementor-widget-wrap {
  transition: 0.3s ease-in-out;
  transform: scale(1);
  will-change: transform;
}
.home__partners .partner__single:hover .partner__img .elementor-widget-wrap {
  transform: scale(1.02);
}
@media (min-width: 1280px) {
  .home__partners .partner__top .elementor-container {
    flex-direction: column;
  }
  .home__partners .partner__top .elementor-column {
    width: 100% !important;
  }
  .home__partners .partner__top .partner__img .elementor-widget-wrap {
    padding-bottom: 70%;
  }
}
@media (min-width: 1280px) {
  .home__partners .partner__left {
    height: calc(50% - 30px);
  }
  .home__partners .partner__left > .elementor-container {
    height: 100%;
  }
}

.elementor-widget-testimonial-carousel .swiper-pagination {
  margin-top: 20px;
}
@media (min-width: 991px) {
  .elementor-widget-testimonial-carousel .swiper-pagination {
    display: none;
  }
}

.catalog-main-swiper-container {
  overflow: hidden;
}
.catalog-main-swiper-container .swiper-slide a {
  position: relative;
  width: 100%;
  padding-top: 70%;
  /* 4:3 aspect ratio (3/4 = 0.75) */
  overflow: hidden;
  display: block;
}
.catalog-main-swiper-container img {
  border-radius: 20px !important;
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100% !important;
  object-fit: cover;
  /* Still works in older browsers */
  object-position: center;
}
.catalog-main-swiper-container .elementor-swiper-button {
  color: #fff !important;
  background-color: #004735 !important;
  top: calc(50% - 30px);
  transition: 0.3s;
}
.catalog-main-swiper-container .elementor-swiper-button:hover {
  background-color: #09624b !important;
  border-color: #09624b !important;
}

.catalog-thumbs-swiper-container {
  overflow: hidden;
  margin-top: 20px;
}
.catalog-thumbs-swiper-container .swiper-slide {
  cursor: pointer;
  opacity: 0.5;
  position: relative;
  width: 100%;
  padding-top: 17%;
  /* 4:3 aspect ratio (3/4 = 0.75) */
  overflow: hidden;
  display: block;
  transition: 0.3s;
}
.catalog-thumbs-swiper-container .swiper-slide-thumb-active, .catalog-thumbs-swiper-container .swiper-slide:hover {
  opacity: 1;
}
.catalog-thumbs-swiper-container img {
  border-radius: 5px !important;
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100% !important;
  object-fit: cover;
  /* Still works in older browsers */
  object-position: center;
}

.catalog__breadcrumbs .elementor-icon-list-item::after {
  border-width: 0px !important;
  content: "/" !important;
  margin-top: -2px !important;
  font-size: 18px;
}
.catalog__breadcrumbs .elementor-icon-list-item:last-child::after {
  display: none;
}
@media (min-width: 991px) {
  .catalog__related .home__catalog .swiper-pagination {
    display: none;
  }
}

.catalog-list__img {
  height: 100%;
}
.catalog-list__img__wrap .elementor-widget-container,
.catalog-list__img__wrap .elementor-image {
  height: 100%;
}
.catalog-list__img__wrap a {
  overflow: hidden;
  position: relative;
  height: 100%;
  width: 100%;
  display: block;
}
@media (max-width: 767px) {
  .catalog-list__img__wrap a {
    padding-bottom: 75%;
  }
}
.catalog-list__img__wrap img {
  transition: 0.3s ease-in-out !important;
  transform: scale(1) !important;
  left: 0 !important;
  top: 0 !important;
  width: 100% !important;
  object-fit: cover;
  display: block !important;
  height: 100% !important;
  position: absolute;
  will-change: transform;
}
.catalog-list__img__wrap img:hover {
  transform: scale(1.02) !important;
}
.catalog-list__single h2:hover {
  color: #09624b;
}

.blog__list .elementor-posts-masonry .elementor-grid-item .elementor-post__thumbnail__link,
.blog__list .elementor-grid .elementor-grid-item .elementor-post__thumbnail__link {
  overflow: hidden;
  border-radius: 20px;
}
.blog__list .elementor-posts-masonry .elementor-grid-item .elementor-post__thumbnail,
.blog__list .elementor-grid .elementor-grid-item .elementor-post__thumbnail {
  transition: 0.3s ease-in-out !important;
  transform: scale(1) !important;
  height: 100%;
  width: 100%;
  will-change: transform;
}
.blog__list .elementor-posts-masonry .elementor-grid-item .elementor-post__thumbnail img,
.blog__list .elementor-grid .elementor-grid-item .elementor-post__thumbnail img {
  height: 100%;
  width: 100%;
  object-fit: cover;
  object-position: center;
}
.blog__list .elementor-posts-masonry .elementor-grid-item .elementor-post__thumbnail:hover,
.blog__list .elementor-grid .elementor-grid-item .elementor-post__thumbnail:hover {
  transform: scale(1.02) !important;
}
.blog__list .elementor-posts-masonry .elementor-grid-item .elementor-post__text,
.blog__list .elementor-grid .elementor-grid-item .elementor-post__text {
  display: flex;
  flex-direction: column;
}
.blog__list .elementor-posts-masonry .elementor-grid-item .elementor-post__text .elementor-post__meta-data,
.blog__list .elementor-grid .elementor-grid-item .elementor-post__text .elementor-post__meta-data {
  order: -1;
  margin-bottom: 10px !important;
}
.blog__list .elementor-posts-masonry .elementor-grid-item .elementor-post__text .elementor-post__title,
.blog__list .elementor-grid .elementor-grid-item .elementor-post__text .elementor-post__title {
  margin-bottom: 15px !important;
}
.blog__list .elementor-posts-masonry .elementor-grid-item .elementor-post__text .elementor-post__title a:hover,
.blog__list .elementor-grid .elementor-grid-item .elementor-post__text .elementor-post__title a:hover {
  color: #09624b;
}
.blog__list .elementor-posts-masonry .elementor-grid-item .elementor-post__text .elementor-post__excerpt,
.blog__list .elementor-grid .elementor-grid-item .elementor-post__text .elementor-post__excerpt {
  margin-bottom: 30px !important;
}
.blog__list .elementor-posts-masonry .elementor-grid-item .elementor-post__text .elementor-post__read-more,
.blog__list .elementor-grid .elementor-grid-item .elementor-post__text .elementor-post__read-more {
  text-decoration: none;
  color: #004735;
  border: 1px solid #004735;
  font-size: 14px;
  padding: 10px 20px 10px 20px;
  font-weight: 600;
  border-radius: 30px;
  line-height: normal;
}
.blog__list .elementor-posts-masonry .elementor-grid-item .elementor-post__text .elementor-post__read-more:hover,
.blog__list .elementor-grid .elementor-grid-item .elementor-post__text .elementor-post__read-more:hover {
  background-color: #004735;
  color: #fff;
}
@media (min-width: 991px) {
  .blog__related .home__blog .swiper-pagination {
    display: none;
  }
}
.blog__featured .elementor-widget-container {
  height: 0;
  padding-bottom: 75%;
  overflow: hidden;
  border-radius: 20px;
}
.blog__featured .elementor-widget-container img {
  height: 100%;
  width: 100%;
  object-fit: cover;
  object-position: center;
  position: absolute;
  left: 0;
  right: 0;
}