.elementor-3293 .elementor-element.elementor-element-27bd06a{--display:flex;--min-height:110px;--flex-direction:row;--container-widget-width:calc( ( 1 - var( --container-widget-flex-grow ) ) * 100% );--container-widget-height:100%;--container-widget-flex-grow:1;--container-widget-align-self:stretch;--flex-wrap-mobile:wrap;--justify-content:center;--align-items:center;}.elementor-3293 .elementor-element.elementor-element-27bd06a:not(.elementor-motion-effects-element-type-background), .elementor-3293 .elementor-element.elementor-element-27bd06a > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:var( --e-global-color-2250ad1 );}.elementor-widget-heading .elementor-heading-title{font-family:var( --e-global-typography-primary-font-family ), Sans-serif;font-weight:var( --e-global-typography-primary-font-weight );color:var( --e-global-color-primary );}.elementor-3293 .elementor-element.elementor-element-4fc7f9a{margin:0px 0px calc(var(--kit-widget-spacing, 0px) + 0px) 0px;padding:0% 0% 0% 1%;}.elementor-3293 .elementor-element.elementor-element-4fc7f9a .elementor-heading-title{font-family:"Roboto", Sans-serif;font-size:50px;font-weight:600;-webkit-text-stroke-color:#000;stroke:#000;color:#AFAFAF;}.elementor-3293 .elementor-element.elementor-element-13ca4cf{--display:flex;--min-height:25rem;--margin-top:0px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-3293 .elementor-element.elementor-element-13ca4cf:not(.elementor-motion-effects-element-type-background), .elementor-3293 .elementor-element.elementor-element-13ca4cf > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-position:center center;background-repeat:no-repeat;background-size:cover;}.elementor-3293 .elementor-element.elementor-element-ede0ef1{--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;--justify-content:center;}.elementor-3293 .elementor-element.elementor-element-bc8cf8c{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;}.elementor-widget-theme-post-content{color:var( --e-global-color-text );font-family:var( --e-global-typography-text-font-family ), Sans-serif;font-weight:var( --e-global-typography-text-font-weight );}.elementor-3293 .elementor-element.elementor-element-8c7eea6{font-family:"Roboto", Sans-serif;font-weight:400;}.elementor-3293 .elementor-element.elementor-element-dda83ab{--display:flex;--flex-direction:column;--container-widget-width:calc( ( 1 - var( --container-widget-flex-grow ) ) * 100% );--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;--justify-content:center;--align-items:center;}.elementor-3293 .elementor-element.elementor-element-a6e47d7 .elementor-heading-title{color:var( --e-global-color-2250ad1 );}.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-3293 .elementor-element.elementor-element-8996219{--grid-columns:3;}.elementor-3293 .elementor-element.elementor-element-8996219.elementor-element{--flex-grow:1;--flex-shrink:0;}.elementor-3293 .elementor-element.elementor-element-8996219 .elementor-loop-container{grid-auto-rows:1fr;}.elementor-3293 .elementor-element.elementor-element-8996219 .e-loop-item > .elementor-section, .elementor-3293 .elementor-element.elementor-element-8996219 .e-loop-item > .elementor-section > .elementor-container, .elementor-3293 .elementor-element.elementor-element-8996219 .e-loop-item > .e-con, .elementor-3293 .elementor-element.elementor-element-8996219 .e-loop-item .elementor-section-wrap  > .e-con{height:100%;}.elementor-3293 .elementor-element.elementor-element-352375b{--display:flex;--flex-direction:column;--container-widget-width:calc( ( 1 - var( --container-widget-flex-grow ) ) * 100% );--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;--justify-content:center;--align-items:center;}.elementor-3293 .elementor-element.elementor-element-d8d56a8.elementor-element{--align-self:flex-start;}.elementor-3293 .elementor-element.elementor-element-d8d56a8 .elementor-heading-title{font-family:"Roboto", Sans-serif;font-size:18px;font-weight:600;color:var( --e-global-color-2250ad1 );}.elementor-3293 .elementor-element.elementor-element-746e003{--swiper-slides-to-display:2;--swiper-slides-gap:10px;--arrow-prev-left-align:0%;--arrow-prev-translate-x:0px;--arrow-prev-left-position:15px;--arrow-prev-top-align:50%;--arrow-prev-translate-y:-50%;--arrow-prev-top-position:0px;--arrow-next-right-align:0%;--arrow-next-translate-x:0%;--arrow-next-right-position:15px;--arrow-next-top-align:50%;--arrow-next-translate-y:-50%;--arrow-next-top-position:0px;}.elementor-3293 .elementor-element.elementor-element-746e003 .swiper-slide > .elementor-element{height:100%;}.elementor-3293 .elementor-element.elementor-element-1332489a{--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;--gap:0px 0px;--row-gap:0px;--column-gap:0px;--padding-top:0%;--padding-bottom:0%;--padding-left:5%;--padding-right:5%;}.elementor-3293 .elementor-element.elementor-element-62b115ba{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;}.elementor-3293 .elementor-element.elementor-element-62b115ba.e-con{--flex-grow:0;--flex-shrink:0;}.elementor-widget-form .elementor-field-group > label, .elementor-widget-form .elementor-field-subgroup label{color:var( --e-global-color-text );}.elementor-widget-form .elementor-field-group > label{font-family:var( --e-global-typography-text-font-family ), Sans-serif;font-weight:var( --e-global-typography-text-font-weight );}.elementor-widget-form .elementor-field-type-html{color:var( --e-global-color-text );font-family:var( --e-global-typography-text-font-family ), Sans-serif;font-weight:var( --e-global-typography-text-font-weight );}.elementor-widget-form .elementor-field-group .elementor-field{color:var( --e-global-color-text );}.elementor-widget-form .elementor-field-group .elementor-field, .elementor-widget-form .elementor-field-subgroup label{font-family:var( --e-global-typography-text-font-family ), Sans-serif;font-weight:var( --e-global-typography-text-font-weight );}.elementor-widget-form .elementor-button{font-family:var( --e-global-typography-accent-font-family ), Sans-serif;font-weight:var( --e-global-typography-accent-font-weight );}.elementor-widget-form .e-form__buttons__wrapper__button-next{background-color:var( --e-global-color-accent );}.elementor-widget-form .elementor-button[type="submit"]{background-color:var( --e-global-color-accent );}.elementor-widget-form .e-form__buttons__wrapper__button-previous{background-color:var( --e-global-color-accent );}.elementor-widget-form .elementor-message{font-family:var( --e-global-typography-text-font-family ), Sans-serif;font-weight:var( --e-global-typography-text-font-weight );}.elementor-widget-form .e-form__indicators__indicator, .elementor-widget-form .e-form__indicators__indicator__label{font-family:var( --e-global-typography-accent-font-family ), Sans-serif;font-weight:var( --e-global-typography-accent-font-weight );}.elementor-widget-form{--e-form-steps-indicator-inactive-primary-color:var( --e-global-color-text );--e-form-steps-indicator-active-primary-color:var( --e-global-color-accent );--e-form-steps-indicator-completed-primary-color:var( --e-global-color-accent );--e-form-steps-indicator-progress-color:var( --e-global-color-accent );--e-form-steps-indicator-progress-background-color:var( --e-global-color-text );--e-form-steps-indicator-progress-meter-color:var( --e-global-color-text );}.elementor-widget-form .e-form__indicators__indicator__progress__meter{font-family:var( --e-global-typography-accent-font-family ), Sans-serif;font-weight:var( --e-global-typography-accent-font-weight );}.elementor-3293 .elementor-element.elementor-element-19c0fc2 .elementor-field-group{padding-right:calc( 10px/2 );padding-left:calc( 10px/2 );margin-bottom:10px;}.elementor-3293 .elementor-element.elementor-element-19c0fc2 .elementor-form-fields-wrapper{margin-left:calc( -10px/2 );margin-right:calc( -10px/2 );margin-bottom:-10px;}.elementor-3293 .elementor-element.elementor-element-19c0fc2 .elementor-field-group.recaptcha_v3-bottomleft, .elementor-3293 .elementor-element.elementor-element-19c0fc2 .elementor-field-group.recaptcha_v3-bottomright{margin-bottom:0;}body.rtl .elementor-3293 .elementor-element.elementor-element-19c0fc2 .elementor-labels-inline .elementor-field-group > label{padding-left:0px;}body:not(.rtl) .elementor-3293 .elementor-element.elementor-element-19c0fc2 .elementor-labels-inline .elementor-field-group > label{padding-right:0px;}body .elementor-3293 .elementor-element.elementor-element-19c0fc2 .elementor-labels-above .elementor-field-group > label{padding-bottom:0px;}.elementor-3293 .elementor-element.elementor-element-19c0fc2 .elementor-field-type-html{padding-bottom:0px;}.elementor-3293 .elementor-element.elementor-element-19c0fc2 .elementor-field-group .elementor-field:not(.elementor-select-wrapper){background-color:#ffffff;}.elementor-3293 .elementor-element.elementor-element-19c0fc2 .elementor-field-group .elementor-select-wrapper select{background-color:#ffffff;}.elementor-3293 .elementor-element.elementor-element-19c0fc2 .e-form__buttons__wrapper__button-next{background-color:var( --e-global-color-secondary );color:#ffffff;}.elementor-3293 .elementor-element.elementor-element-19c0fc2 .elementor-button[type="submit"]{background-color:var( --e-global-color-secondary );color:#ffffff;}.elementor-3293 .elementor-element.elementor-element-19c0fc2 .elementor-button[type="submit"] svg *{fill:#ffffff;}.elementor-3293 .elementor-element.elementor-element-19c0fc2 .e-form__buttons__wrapper__button-previous{background-color:var( --e-global-color-secondary );color:#ffffff;}.elementor-3293 .elementor-element.elementor-element-19c0fc2 .e-form__buttons__wrapper__button-next:hover{background-color:var( --e-global-color-2250ad1 );color:#ffffff;}.elementor-3293 .elementor-element.elementor-element-19c0fc2 .elementor-button[type="submit"]:hover{background-color:var( --e-global-color-2250ad1 );color:#ffffff;}.elementor-3293 .elementor-element.elementor-element-19c0fc2 .elementor-button[type="submit"]:hover svg *{fill:#ffffff;}.elementor-3293 .elementor-element.elementor-element-19c0fc2 .e-form__buttons__wrapper__button-previous:hover{background-color:var( --e-global-color-2250ad1 );color:#ffffff;}.elementor-3293 .elementor-element.elementor-element-19c0fc2{--e-form-steps-indicators-spacing:20px;--e-form-steps-indicator-padding:30px;--e-form-steps-indicator-inactive-secondary-color:#ffffff;--e-form-steps-indicator-active-secondary-color:#ffffff;--e-form-steps-indicator-completed-secondary-color:#ffffff;--e-form-steps-divider-width:1px;--e-form-steps-divider-gap:10px;}.elementor-3293 .elementor-element.elementor-element-34022fba{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;}.elementor-3293 .elementor-element.elementor-element-72bf4d20 iframe{height:740px;}@media(max-width:1024px){.elementor-3293 .elementor-element.elementor-element-8996219{--grid-columns:2;}.elementor-3293 .elementor-element.elementor-element-746e003{--swiper-slides-to-display:2;}}@media(max-width:767px){.elementor-3293 .elementor-element.elementor-element-8996219{--grid-columns:1;}.elementor-3293 .elementor-element.elementor-element-746e003{--swiper-slides-to-display:1;}}@media(min-width:768px){.elementor-3293 .elementor-element.elementor-element-13ca4cf{--width:100%;}.elementor-3293 .elementor-element.elementor-element-bc8cf8c{--width:80%;}.elementor-3293 .elementor-element.elementor-element-1332489a{--content-width:80%;}.elementor-3293 .elementor-element.elementor-element-62b115ba{--width:57.699%;}.elementor-3293 .elementor-element.elementor-element-34022fba{--width:50%;}}@media(max-width:1024px) and (min-width:768px){.elementor-3293 .elementor-element.elementor-element-1332489a{--content-width:100%;}}/* Start custom CSS for loop-grid, class: .elementor-element-8996219 *//* ----------------------------------
 * 1. SET UP THE HOVER CONTAINER
 * ---------------------------------- */
.elementor-3293 .elementor-element.elementor-element-8996219 .hover-item {
    position: relative;
    overflow: hidden; 
    cursor: pointer;
}

/* ----------------------------------
 * 2. CREATE THE OVERLAY LAYER (60% HEIGHT from bottom)
 * ---------------------------------- */
.elementor-3293 .elementor-element.elementor-element-8996219 .hover-item::before {
    content: "";
    position: absolute;
    top: 40%; /* Start at 40% from top = bottom 60% */
    left: 0;
    width: 100%; /* Full width */
    height: 60%; /* Cover 60% from bottom */
    background-color: rgba(255, 255, 255, 0); 
    transition: background-color 0.90s ease-in-out; 
    z-index: 5; 
    pointer-events: none; 
}

/* ----------------------------------
 * 3. CONTAINER FOR TEXT CONTENT
 * ---------------------------------- */
.elementor-3293 .elementor-element.elementor-element-8996219 .hover-item .elementor-widget-heading,
.elementor-3293 .elementor-element.elementor-element-8996219 .hover-item .elementor-widget-text-editor {
    position: absolute;
    bottom: 0;
    left: 0;
    width: 100%;
    z-index: 10;
    opacity: 0;
    transition: opacity 0.3s ease-in-out;
    pointer-events: none;
    box-sizing: border-box; /* Good practice */
}

/* ----------------------------------
 * 4. POSITION THE HEADING (H2) - Bottom area
 * ---------------------------------- */
.elementor-3293 .elementor-element.elementor-element-8996219 .hover-item .elementor-widget-heading {
    bottom: 9%; /* Position near bottom with some spacing */
    padding: 0 30px;
}

.elementor-3293 .elementor-element.elementor-element-8996219 .hover-item .elementor-widget-heading .elementor-heading-title {
    font-size: 2.3rem;
    font-weight: 700;
    margin: 0;
    line-height: 1.2;
    color: #000;
    text-align: center;
    width: 100%;
}

/* ----------------------------------
 * 5. POSITION THE TEXT EDITOR (Description) - Below H2
 * ---------------------------------- */
.elementor-3293 .elementor-element.elementor-element-8996219 .hover-item .elementor-widget-text-editor {
    bottom: 5%; /* Position below the heading */
    padding: 0 20px;
}

.elementor-3293 .elementor-element.elementor-element-8996219 .hover-item .elementor-widget-text-editor p {
    font-size: 1.1rem;
    line-height: 1.5;
    margin: 0;
    color: #333;
    text-align: center;
    width: 100%;
}

.elementor-3293 .elementor-element.elementor-element-8996219 .hover-item .elementor-widget-text-editor a {
    pointer-events: auto;
    position: relative;
    z-index: 20;
}

/* ----------------------------------
 * 6. HOVER EFFECT (Show Overlay, Heading and Text)
 * ---------------------------------- */
.elementor-3293 .elementor-element.elementor-element-8996219 .hover-item:hover::before {
    background-color: rgba(255, 255, 255, 0.85); 
}
.elementor-3293 .elementor-element.elementor-element-8996219 .hover-item:hover .elementor-widget-heading {
    opacity: 1; 
}
.elementor-3293 .elementor-element.elementor-element-8996219 .hover-item:hover .elementor-widget-text-editor {
    opacity: 1; 
}

/* ----------------------------------
 * 7. IMAGE FIX & ZOOM
 * !! This is the only part that's changed
 * ---------------------------------- */
.elementor-3293 .elementor-element.elementor-element-8996219 .hover-item img {
    display: block;
    width: 100%;
    height: auto; /* Allow aspect-ratio to control height */
    
    /* !! FIX: Force a consistent aspect ratio on the image itself */
    aspect-ratio: 16 / 9;
    
    /* !! FIX: Crop the image to fit, don't stretch */
    object-fit: cover; 
    
    transition: transform 0.3s;
}

.elementor-3293 .elementor-element.elementor-element-8996219 .hover-item:hover img {
    transform: scale(1.05); 
}

/* ----------------------------------
 * 8. RESPONSIVE ADJUSTMENTS
 * ---------------------------------- */
@media (max-width: 768px) {
    .elementor-3293 .elementor-element.elementor-element-8996219 .hover-item .elementor-widget-heading .elementor-heading-title {
        font-size: 2rem;
    }
    .elementor-3293 .elementor-element.elementor-element-8996219 .hover-item .elementor-widget-text-editor p {
        font-size: 1rem;
    }
    .elementor-3293 .elementor-element.elementor-element-8996219 .hover-item .elementor-widget-heading {
        bottom: 20%;
    }
    .elementor-3293 .elementor-element.elementor-element-8996219 .hover-item .elementor-widget-text-editor {
        bottom: 12%;
    }
    
    /* !! FIX: Optional responsive aspect ratio */
    /* You might want a different ratio on mobile */
    /*
    .elementor-3293 .elementor-element.elementor-element-8996219 .hover-item img {
        aspect-ratio: 4 / 3;
    }
    */
}

/* ----------------------------------
 * 9. FIX FOR LONG TITLES (Line Clamp)
 * ---------------------------------- */

/* This prevents the box height from "jumping" if one 
   title is 1 line and another is 2 lines. */
.elementor-3293 .elementor-element.elementor-element-8996219 .hover-item .elementor-widget-heading {
    min-height: 100px; /* Adjust this value as needed */
}

.elementor-3293 .elementor-element.elementor-element-8996219 .hover-item .elementor-widget-heading .elementor-heading-title {
    display: -webkit-box;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 1; /* <-- Set max lines to 2 */
    overflow: hidden;
    text-overflow: ellipsis;
    
    /* You may also need to adjust line-height for a good fit */
    line-height: 1.2; 
}

/* ----------------------------------
 * 10. FIX FOR LONG DESCRIPTIONS (Line Clamp)
 * ---------------------------------- */
.elementor-3293 .elementor-element.elementor-element-8996219 .hover-item .elementor-widget-text-editor p {
    display: -webkit-box;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 2; /* <-- Set max lines to 2 */
    overflow: hidden;
    text-overflow: ellipsis;
    
    /* You may also need to adjust line-height for a good fit */
    line-height: 1.2; 
}/* End custom CSS */
/* Start custom CSS for form, class: .elementor-element-19c0fc2 *//* Target the main container for the checkbox field */
.elementor-field-group-field_ab7a6d4 {
  /* Ensure the container uses the full available width */
  width: 100%;
}

/* Apply flexbox to the subgroup to control the layout of all options */
.elementor-field-group-field_ab7a6d4 .elementor-field-subgroup {
  display: flex;
  flex-direction: column; /* Stack the checkbox options vertically */
}

/* Use Flexbox for each individual checkbox option to invert their order */
.elementor-field-group-field_ab7a6d4 .elementor-field-option {
  display: flex;
  /*flex-direction: row-reverse;*/ /* Put the checkbox on the right */
  justify-content: flex-end; /* Align the checkbox to the far right */
  align-items: center; /* Vertically center the checkbox with the label */
  text-align: left; /* Align the label text to the right */
}

/* Ensure the label text can wrap and doesn't overflow */
.elementor-field-group-field_ab7a6d4 .elementor-field-option label {
  flex-grow: 1; /* Allow the label to grow and take up space */
  padding-right: 10px; /* Add some space between the label and the checkbox */
  word-wrap: break-word; /* Ensure long text breaks to the next line */
  white-space: normal; /* Override any 'nowrap' property */
}

/* Reset any width properties on the checkbox input itself that might be causing issues */
.elementor-field-group-field_ab7a6d4 .elementor-field-option input[type="checkbox"] {
  width: auto;
}/* End custom CSS */