html,
body {
  overflow-x: hidden;
}

a:has(img) {
  width: 100%;
}

.triangle-icon svg {
  filter: drop-shadow(0px -13px 10px rgba(0 0 0 / 0.04));
}

/* Overriding icons colors */
.simple-icons svg path,
.header-dropdown-menu-icon .elementor-button-icon svg path {
  stroke: var(--e-global-color-accent);
}

.multi-path-icons svg path {
  fill: var(--e-global-color-accent);
}
/* end */

/* Header */

.header-dropdown-menu-container
  .header-dropdown-menu-icon
  .elementor-button
  .elementor-button-icon {
  visibility: hidden;
}

.header-dropdown-menu-container:hover
  .header-dropdown-menu-icon
  .elementor-button
  .elementor-button-icon {
  visibility: visible;
}

.ear-menu-dropdown {
  left: 620px !important;
}

.elementor-field-type-submit button .elementor-button-icon svg,
.primary-button .elementor-button svg {
  transition: transform 0.3s ease;
  width: auto !important;
}

.elementor-field-type-submit button:hover .elementor-button-icon svg,
.primary-button .elementor-button:hover .elementor-button-icon svg {
  transform: rotate(45deg);
}

/* Carousel Continuos slider */
.carousel-continuous .swiper-wrapper {
  -webkit-transition-timing-function: linear !important;
  transition-timing-function: linear !important;
}

.carousel-continuous .swiper-wrapper .swiper-slide {
  width: 28% !important;
}

.elementor-icon-wrapper {
  display: flex;
  justify-content: center;
  align-items: center;
}

.has-error {
  border-color: red !important;
}

/* Footer */
.footer {
  background: linear-gradient(
    180deg,
    rgba(21, 150, 64, 0) 0%,
    rgba(21, 150, 64, 0.5) 134.87%
  );
  background-color: #000;
}

.subscribe-form .elementor-field-group-email input {
  padding: 15px 38px;
}

.subscribe-form .elementor-field-group-email::before {
  width: 15px;
  height: 15px;
  position: absolute;
  left: 18px;
  top: 23px;
  background-repeat: no-repeat;
  content: "";
  background-size: contain;
  background-color: var(--e-global-color-primary);
  -webkit-mask-image: url(/wp-content/uploads/sites/8/2025/05/Green-Email-Icon.svg);
  -webkit-mask-repeat: no-repeat;
  -webkit-mask-size: contain;
  mask-image: url(/wp-content/uploads/sites/8/2025/05/Green-Email-Icon.svg);
  mask-repeat: no-repeat;
  mask-size: contain;
}

.dashed-line .elementor-divider-separator {
  height: 2px;
  background-image: repeating-linear-gradient(
    to right,
    rgba(39, 38, 43, 0.2) 0,
    rgba(39, 38, 43, 0.2) 5px,
    transparent 5px,
    transparent 15px
  );
}

.elementor-widget-n-carousel
  .e-n-carousel
  > .swiper-wrapper
  > .swiper-slide
  > .e-con {
  height: auto !important;
}

.blog-container .swiper-pagination,
.testimonial .swiper-pagination,
.explore-service-carousel .swiper-pagination {
  display: none;
}

.testimonial .swiper,
.explore-service-carousel .swiper,
.blog-container .swiper {
  padding-bottom: 0px !important;
}

.working-hours p {
  margin: 0;
}

.home-shortcode-container h2 {
  font-family: var(--e-global-typography-secondary-font-family), Sans-serif;
  font-size: var(--e-global-typography-secondary-font-size);
  font-weight: var(--e-global-typography-secondary-font-weight);
  line-height: var(--e-global-typography-secondary-line-height);
}

.book-your-slot-container .form-container .e-con-inner {
  padding-bottom: 90px;
}

/* Line Clamp */
.post-item-post-title .elementor-heading-title,
.post-item-post-featured-title .elementor-heading-title,
.post-item-excerpt,
.featured-post-item-excerpt {
  display: -webkit-box;
  -webkit-box-orient: vertical;
  overflow: hidden;
}

.post-item-post-title .elementor-heading-title,
.post-item-post-featured-title .elementor-heading-title,
.post-item-excerpt {
  -webkit-line-clamp: 2;
}

.featured-post-item-excerpt {
  -webkit-line-clamp: 3;
}

.post-item-post-title .elementor-heading-title a {
  font-weight: 600 !important;
  font-size: 20px !important;
  line-height: 30px !important;
  letter-spacing: -2.5%;
}

.learn-more-btn svg {
  transition: transform 0.3s ease;
  width: auto !important;
}

.service-card:hover .learn-more-btn .elementor-button-icon svg {
  transform: rotate(45deg);
}

.elementor-shortcode:has(.read-time) {
  justify-content: center;
  align-items: center;
  font-size: 12px;
  line-height: 20px;
  font-weight: 400;
}

/* Contact us form */
.contact-form .elementor-field-type-text,
.contact-form .elementor-field-type-select,
.contact-form .elementor-field-type-date,
.contact-form .elementor-field-type-textarea,
.contact-form .elementor-field-type-email {
  position: relative;
  outline: none;
}

.contact-form .elementor-field-type-text.focused label,
.contact-form .elementor-field-type-select.focused label,
.contact-form .elementor-field-type-date.focused label,
.contact-form .elementor-field-type-textarea.focused label,
.contact-form .elementor-field-type-email.focused label {
  transition: all 0.2s linear;
  top: -10px;
  z-index: 1;
  font-size: 12px;
  line-height: 12px;
}

.contact-form .elementor-field-type-text label,
.contact-form .elementor-field-type-select label,
.contact-form .elementor-field-type-date label,
.contact-form .elementor-field-type-textarea label,
.contact-form .elementor-field-type-email label {
  position: relative;
  white-space: nowrap;
  overflow: hidden;
  white-space: nowrap;
  overflow: hidden;
  position: absolute;
  top: 13px;
  background-color: var(--e-global-color-be99f1d);
  padding: 0px 10px;
  left: 14px;
  transition: all 0.2s linear;
}

.booking-form-container {
  max-height: 100%;
}
.booking-form-container .elementor-widget-html,
.booking-form-container .elementor-widget-html .appointment-wrapper {
  height: 100%;
}

.faq details[open] summary {
  border-style: solid !important;
  border-width: 1px 1px 0 1px !important;
  border-color: var(--e-global-color-c01b404);
  border-radius: 14px 14px 0 0;
  padding: 20px 24px 10px 24px;
}

.awsm-job-single-wrap {
  padding: 20px;
}

/* Store locations */
.location_marker_list_main {
  max-height: 600px;
  overflow-y: auto;
}

#worldMap {
  min-height: 62vh;
  border-radius: 5px;
}

.location_marker_list {
  display: flex;
  justify-content: flex-start;
  align-items: center;
  gap: 24px;
  padding: 12px;
  border-width: 0px 1px 1px 0px;
  border-style: solid;
  border-color: #cccccc;
  cursor: pointer;
}

.location_marker_list:hover,
.location_marker_list.active {
  background-color: #eff7ff;
  border-radius: 5px;
}

.location_marker_list p {
  margin: 0;
}

.location_marker_list .map-pin {
  align-self: baseline;
}

.location_marker_list .content-area .location-details {
  display: flex;
  flex-direction: column;
  gap: 8px;
}

.location_marker_list .content-area {
  display: flex;
  flex-direction: column;
  gap: 24px;
}

.location_marker_list .location-details .location_name {
  font-weight: 600;
  font-size: 16px;
  line-height: 24px;
  color: #000;
}

.location_marker_list .location-details .location_address,
.location_marker_list .location-details .working_hours span,
.location_marker_list .location-details .location_telephone span {
  font-weight: 400;
  font-size: 14px;
  line-height: 20px;
  color: #000;
}

.location_marker_list .location-details .working_hours,
.location_marker_list .location-details .location_telephone {
  display: flex;
  justify-content: flex-start;
  align-items: center;
  gap: 8px;
}

.content-area .location_link {
  font-weight: 600;
  font-size: 18px;
  line-height: 28px;
  vertical-align: middle;
}

.content-area .location_link span {
  margin-left: 5px;
}

.content-area .location_link a svg {
  transition: transform 0.3s ease;
  width: auto !important;
}

.content-area .location_link a:hover span svg {
  transform: rotate(45deg);
}

@media only screen and (max-width: 768px) {
  .high-lighter-list-icon ul {
    gap: 12px;
  }
  .high-lighter-list-icon ul li {
    align-items: flex-start !important;
    flex-direction: column;
    gap: 12px;
  }

  .high-lighter-list-icon ul li span {
    padding: 0px !important;
  }

  .container-layout {
    background-image: none !important;
  }

  .image-container::before,
  .our-mission-image-container::before,
  .our-vision-image-container::before {
    content: "";
    position: absolute;
    top: -60px;
    width: 380px;
    height: 350px;
    left: -20px;
    background-image: linear-gradient(
      90deg,
      var(--e-global-color-secondary) 75%,
      #f2295b00 75%
    );
  }

  .our-mission-image-container::before,
  .our-vision-image-container::before {
    width: 400px;
    height: 310px;
  }

  .our-vision-image-container::before {
    left: 57px;
  }

  .blog-container .swiper-pagination,
  .explore-service-carousel .swiper-pagination,
  .testimonial .swiper-pagination {
    display: block;
  }

  .explore-service-carousel .elementor-swiper-button,
  .testimonial .elementor-swiper-button {
    display: none !important;
  }

  .testimonial .swiper-pagination-bullet.swiper-pagination-bullet-active,
  .explore-service-carousel
    .swiper-pagination-bullet.swiper-pagination-bullet-active,
  .blog-container .swiper-pagination-bullet.swiper-pagination-bullet-active {
    background: var(--e-global-color-accent) !important;
  }

  .testimonial .swiper-pagination-bullet,
  .explore-service-carousel .swiper-pagination-bullet,
  .blog-container .swiper-pagination-bullet {
    border: 1px solid #dad9de;
  }

  .testimonial .swiper,
  .explore-service-carousel .swiper,
  .blog-container .swiper {
    padding-bottom: 0px !important;
    margin-bottom: 25px;
  }

  .book-your-slot-container {
    background-color: var(--e-global-color-secondary);
  }

  /* Single page template */
  .cta-inner-container {
    background-color: transparent;
    background-image: linear-gradient(180deg, #00000000 0%, #05112e 29%);
  }

  .location-stories .absolute-content {
    position: relative;
    top: 0px !important;
  }

  .carousel-continuous .swiper-wrapper .swiper-slide {
    width: 60% !important;
  }

  .lancing_mobile_list li {
    padding-bottom: 12px !important;
    border-bottom: 1px solid #effef5;
  }

  .mobile_list li {
    padding-bottom: 12px !important;
    border-bottom: 1px solid #eff7ff;
  }

  .lancing_mobile_list .elementor-widget-container,
  .mobile_list .elementor-widget-container {
    padding-bottom: 0px !important;
  }

  /* About us */
  .about-us-video-thumbnail .elementor-widget-container {
    min-height: 400px;
  }

  /* Resources */
  .resource-tabs .e-n-tabs .e-n-tabs-heading button {
    min-width: 85%;
    justify-content: flex-start;
  }
}
