.elementor-22 .elementor-element.elementor-element-8f2802d{--display:flex;--flex-direction:row;--container-widget-width:initial;--container-widget-height:100%;--container-widget-flex-grow:1;--container-widget-align-self:stretch;--flex-wrap-mobile:wrap;}.elementor-22 .elementor-element.elementor-element-2323623{--e-image-carousel-slides-to-show:3;}.elementor-22 .elementor-element.elementor-element-7082e68{--display:flex;--flex-direction:row;--container-widget-width:initial;--container-widget-height:100%;--container-widget-flex-grow:1;--container-widget-align-self:stretch;--flex-wrap-mobile:wrap;}.elementor-widget-text-editor{font-family:var( --e-global-typography-text-font-family ), Sans-serif;font-weight:var( --e-global-typography-text-font-weight );color:var( --e-global-color-text );}.elementor-widget-text-editor.elementor-drop-cap-view-stacked .elementor-drop-cap{background-color:var( --e-global-color-primary );}.elementor-widget-text-editor.elementor-drop-cap-view-framed .elementor-drop-cap, .elementor-widget-text-editor.elementor-drop-cap-view-default .elementor-drop-cap{color:var( --e-global-color-primary );border-color:var( --e-global-color-primary );}.elementor-22 .elementor-element.elementor-element-a612445{--display:flex;--flex-direction:row;--container-widget-width:initial;--container-widget-height:100%;--container-widget-flex-grow:1;--container-widget-align-self:stretch;--flex-wrap-mobile:wrap;}.elementor-22 .elementor-element.elementor-element-a612445.e-con{--flex-grow:0;--flex-shrink:0;}.elementor-22 .elementor-element.elementor-element-d979e1c.elementor-element{--flex-grow:0;--flex-shrink:0;}.elementor-22 .elementor-element.elementor-element-24b9e22{--display:flex;--flex-direction:row;--container-widget-width:initial;--container-widget-height:100%;--container-widget-flex-grow:1;--container-widget-align-self:stretch;--flex-wrap-mobile:wrap;}.elementor-22 .elementor-element.elementor-element-f39bfe4{--display:flex;--flex-direction:row;--container-widget-width:initial;--container-widget-height:100%;--container-widget-flex-grow:1;--container-widget-align-self:stretch;--flex-wrap-mobile:wrap;}.elementor-22 .elementor-element.elementor-element-1e75c45{width:var( --container-widget-width, 98.871% );max-width:98.871%;--container-widget-width:98.871%;--container-widget-flex-grow:0;}.elementor-22 .elementor-element.elementor-element-1e75c45.elementor-element{--flex-grow:0;--flex-shrink:0;}.elementor-22 .elementor-element.elementor-element-4d9432a{--display:flex;--flex-direction:row;--container-widget-width:initial;--container-widget-height:100%;--container-widget-flex-grow:1;--container-widget-align-self:stretch;--flex-wrap-mobile:wrap;}.elementor-widget-loop-grid .elementor-button{background-color:var( --e-global-color-accent );font-family:var( --e-global-typography-accent-font-family ), Sans-serif;font-weight:var( --e-global-typography-accent-font-weight );}.elementor-widget-loop-grid .elementor-pagination{font-family:var( --e-global-typography-secondary-font-family ), Sans-serif;font-weight:var( --e-global-typography-secondary-font-weight );}.elementor-widget-loop-grid .e-load-more-message{font-family:var( --e-global-typography-secondary-font-family ), Sans-serif;font-weight:var( --e-global-typography-secondary-font-weight );}.elementor-22 .elementor-element.elementor-element-48e0f63{--grid-columns:3;}@media(max-width:1024px){.elementor-22 .elementor-element.elementor-element-2323623{--e-image-carousel-slides-to-show:2;}.elementor-22 .elementor-element.elementor-element-d979e1c > .elementor-widget-container{margin:0px 0px 0px 120px;}.elementor-22 .elementor-element.elementor-element-48e0f63{--grid-columns:2;}}@media(max-width:767px){.elementor-22 .elementor-element.elementor-element-a612445{--margin-top:0px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;}.elementor-22 .elementor-element.elementor-element-d979e1c{width:initial;max-width:initial;}.elementor-22 .elementor-element.elementor-element-d979e1c > .elementor-widget-container{margin:0px 0px 0px 0px;}.elementor-22 .elementor-element.elementor-element-48e0f63{--grid-columns:1;}.elementor-22 .elementor-element.elementor-element-48e0f63 > .elementor-widget-container{margin:0px 0px 0px 20px;}}@media(min-width:768px){.elementor-22 .elementor-element.elementor-element-a612445{--content-width:1140px;}}/* Start custom CSS for image-carousel, class: .elementor-element-2323623 *//* ======= Desktop: 3 Slides ======= */
@media (min-width: 1025px) {
  .elementor-22 .elementor-element.elementor-element-2323623 .swiper-slide {
    flex: 0 0 calc(33.333% - 10px);
    margin: 0 5px;
    box-sizing: border-box;
  }

  .elementor-22 .elementor-element.elementor-element-2323623 .swiper-slide img {
    width: 100%;
    aspect-ratio: 1 / 1;  /* ✅ Square image for desktop */
    height: auto;
    object-fit: cover;
  }
}

/* ======= Tablet: 2 Slides ======= */
@media (min-width: 768px) and (max-width: 1024px) {
  .elementor-22 .elementor-element.elementor-element-2323623 .swiper-slide {
    flex: 0 0 calc(50% - 10px);
    margin: 0 5px;
    box-sizing: border-box;
  }

  .elementor-22 .elementor-element.elementor-element-2323623 .swiper-slide img {
    aspect-ratio: 3 / 4;
    width: 100%;
    height: auto;
    object-fit: cover;
  }
}

/* ======= Mobile: 1 Slide ======= */
@media (max-width: 767px) {
  .elementor-22 .elementor-element.elementor-element-2323623 .swiper-slide {
    flex: 0 0 100%;
    margin: 0;
    box-sizing: border-box;
  }

  .elementor-22 .elementor-element.elementor-element-2323623 .swiper-slide img {
    aspect-ratio: 1 / 1;
    width: 100%;
    height: auto;
    object-fit: cover;
  }

  .elementor-22 .elementor-element.elementor-element-2323623 .swiper-pagination {
    margin-top: 12px;
  }

  .elementor-22 .elementor-element.elementor-element-2323623 .swiper-pagination-bullet,
  .elementor-22 .elementor-element.elementor-element-2323623 .swiper-pagination-bullet-active {
    width: 20px;
    height: 4px;
  }
}

/* ======= Shared Styling ======= */

.elementor-22 .elementor-element.elementor-element-2323623 .swiper-slide img {
  width: 100%;
  object-fit: cover;
  display: block;
  border-radius: 0;
  margin: 0;
  padding: 0;
}

.elementor-22 .elementor-element.elementor-element-2323623 .swiper-wrapper {
  gap: 0px;
}

.elementor-22 .elementor-element.elementor-element-2323623 .elementor-widget-container {
  height: auto;
}

/* Pagination styling */
.elementor-22 .elementor-element.elementor-element-2323623 .swiper-pagination {
  position: relative;
  bottom: 0;
  text-align: center;
  margin-top: 20px;
  display: flex !important;
  justify-content: center;
  gap: 6px;
  visibility: visible !important;
  opacity: 1 !important;
  z-index: 10;
}

.elementor-22 .elementor-element.elementor-element-2323623 .swiper-pagination-bullet {
  background-color: #d3d3d3;
  opacity: 1;
  width: 30px;
  height: 4px;
  border-radius: 0px;
  margin: 0 2px;
  transition: background-color 0.3s ease, width 0.3s ease;
}

.elementor-22 .elementor-element.elementor-element-2323623 .swiper-pagination-bullet-active {
  background-color: #ff4d5a;
  width: 36px;
  height: 4px;
}

/* Arrows */
.elementor-22 .elementor-element.elementor-element-2323623 .swiper-button-prev,
.elementor-22 .elementor-element.elementor-element-2323623 .swiper-button-next {
  background-color: rgba(0, 0, 0, 0.5);
  color: #fff;
  padding: 10px;
  border-radius: 50%;
  z-index: 15;
}/* End custom CSS */
/* Start custom CSS for html, class: .elementor-element-d979e1c *//* Base Style for Dropdown */
.searchandfilter select {
  width: 530px;
  min-width: 400px;
  max-width: 100%;
  padding: 10px;
  margin: 0 15px;
  font-size: 18px;
  border: none;
  border-bottom: 2px solid #000;
  background-color: transparent;
  color: #000;
  outline: none;
  text-align: left;
  transition: border-color 0.3s ease;
}

/* Style when focused */
.searchandfilter select:focus {
  border-bottom: 2px solid #e53935;
}

/* Option font weight */
.searchandfilter select option {
  font-weight: bold;
}

/* Tablet Styling */
@media (min-width: 768px) and (max-width: 1024px) {
  .searchandfilter ul {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 30px;
    padding: 0;
    margin: 0 auto;
  }

  .searchandfilter ul li {
    flex: 0 0 45%;
    list-style: none;
    margin: 0;
    padding: 0;
    max-width: 220px;
  }

  .searchandfilter select {
    width: 100%;
    min-width: unset;
    font-size: 18px;
  }
}

/* ✅ Mobile Styling Fix */
@media (max-width: 767px) {
  .elementor-element-d979e1c .searchandfilter ul {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 20px;
    padding: 0;
    margin: 20px auto 0;
  }

  .elementor-element-d979e1c .searchandfilter ul li {
    width: auto;
    min-width: 300px !important;  /* ✅ Set minimum width */
    list-style: none;
    margin: 0;
    padding: 0;
  }

  .elementor-element-d979e1c #ofsuite_type,
  .elementor-element-d979e1c #ofoccupancy {
    width: 100% !important;
    min-width: 300px !important;  /* ✅ Force dropdown to at least 321px */
    font-size: 18px !important;
    padding: 10px 32px 10px 10px !important;
    border: none !important;
    border-bottom: 2px solid #000 !important;
    background-color: transparent !important;
    color: #000 !important;
    outline: none !important;
    box-sizing: border-box !important;

    appearance: none !important;
    -webkit-appearance: none !important;
    -moz-appearance: none !important;
    background-image: url("data:image/svg+xml;utf8,<svg fill='black' height='12' viewBox='0 0 24 24' width='12' xmlns='http://www.w3.org/2000/svg'><path d='M7 10l5 5 5-5z'/></svg>") !important;
    background-repeat: no-repeat !important;
    background-position: right 8px center !important;
    background-size: 12px !important;
    text-align: left !important;
  }

  .elementor-element-d979e1c #ofsuite_type:focus,
  .elementor-element-d979e1c #ofoccupancy:focus {
    border-bottom: 2px solid #e53935 !important;
  }
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-f39bfe4 *//* Make the image box containers equal height */
.elementor-22 .elementor-element.elementor-element-f39bfe4 .elementor-widget-image-box {
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    height: 100%; /* Full height to fill the container */
    position: relative; /* To ensure the button is positioned correctly */
}

/* Ensure consistent height for all cards */
.elementor-22 .elementor-element.elementor-element-f39bfe4 .elementor-image-box-wrapper {
    height: 100%;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
}

/* Adjust the image box content */
.elementor-22 .elementor-element.elementor-element-f39bfe4 .elementor-image-box-content {
    flex-grow: 1;
    display: flex;
    flex-direction: column;
    justify-content: center;
}

/* Adjust the heading and text to align in the center */
.elementor-22 .elementor-element.elementor-element-f39bfe4 .elementor-image-box-title, 
.elementor-22 .elementor-element.elementor-element-f39bfe4 .elementor-image-box-description {
    margin: 10px 0;
    text-align: center;
}

/* Ensure consistent padding and margin between cards */
.elementor-22 .elementor-element.elementor-element-f39bfe4 .elementor-image-box {
    padding: 20px;
}

/* Reversed Diagonal Striped Background Effect for the Section */
.elementor-22 .elementor-element.elementor-element-f39bfe4 {
    background-image: repeating-linear-gradient(
        -45deg, /* Reverse diagonal angle of the stripes */
        rgba(0, 0, 0, 0.03), /* Light gray stripe */
        rgba(0, 0, 0, 0.03) 15px, /* Stripe width */
        transparent 15px,
        transparent 30px
    );
    background-size: 100% 100%; /* Cover the entire section */
    background-position: center;
    background-attachment: fixed; /* Keeps the stripes fixed on scroll */
}/* End custom CSS */
/* Start custom CSS for loop-grid, class: .elementor-element-48e0f63 */.elementor-heading-title.elementor-size-default {
    display: none;
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-4d9432a *//* Make the image box containers equal height */
.elementor-22 .elementor-element.elementor-element-4d9432a .elementor-widget-image-box {
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    height: 100%; /* Full height to fill the container */
    position: relative; /* To ensure the button is positioned correctly */
}

/* Ensure consistent height for all cards */
.elementor-22 .elementor-element.elementor-element-4d9432a .elementor-image-box-wrapper {
    height: 100%;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
}

/* Adjust the image box content */
.elementor-22 .elementor-element.elementor-element-4d9432a .elementor-image-box-content {
    flex-grow: 1;
    display: flex;
    flex-direction: column;
    justify-content: center;
}

/* Adjust the heading and text to align in the center */
.elementor-22 .elementor-element.elementor-element-4d9432a .elementor-image-box-title, 
.elementor-22 .elementor-element.elementor-element-4d9432a .elementor-image-box-description {
    margin: 10px 0;
    text-align: center;
}

/* Ensure consistent padding and margin between cards */
.elementor-22 .elementor-element.elementor-element-4d9432a .elementor-image-box {
    padding: 20px;
}

/* Reversed Diagonal Striped Background Effect for the Section */
.elementor-22 .elementor-element.elementor-element-4d9432a {
    background-image: repeating-linear-gradient(
        -45deg, /* Reverse diagonal angle of the stripes */
        rgba(0, 0, 0, 0.03), /* Light gray stripe */
        rgba(0, 0, 0, 0.03) 15px, /* Stripe width */
        transparent 15px,
        transparent 30px
    );
    background-size: 100% 100%; /* Cover the entire section */
    background-position: center;
    background-attachment: fixed; /* Keeps the stripes fixed on scroll */
}/* End custom CSS */