.elementor-21 .elementor-element.elementor-element-0fa2b2e{--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;--padding-top:60px;--padding-bottom:60px;--padding-left:20px;--padding-right:20px;}.elementor-21 .elementor-element.elementor-element-0fa2b2e:not(.elementor-motion-effects-element-type-background), .elementor-21 .elementor-element.elementor-element-0fa2b2e > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:var( --e-global-color-cc186c0 );}.elementor-21 .elementor-element.elementor-element-81fe2f0{--display:flex;--gap:35px 35px;--row-gap:35px;--column-gap:35px;border-style:none;--border-style:none;}.elementor-21 .elementor-element.elementor-element-0827d30{--display:flex;border-style:solid;--border-style:solid;border-width:0px 0px 2px 0px;--border-top-width:0px;--border-right-width:0px;--border-bottom-width:2px;--border-left-width:0px;border-color:var( --e-global-color-secondary );--border-color:var( --e-global-color-secondary );--padding-top:0px;--padding-bottom:30px;--padding-left:0px;--padding-right:0px;}.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-widget-text-editor{font-family:var( --e-global-typography-text-font-family ), Sans-serif;font-size:var( --e-global-typography-text-font-size );font-weight:var( --e-global-typography-text-font-weight );line-height:var( --e-global-typography-text-line-height );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-21 .elementor-element.elementor-element-bc71837{font-family:"Helvetica", Sans-serif;font-size:22px;font-weight:400;}.elementor-21 .elementor-element.elementor-element-7f157f6{--e-filter-direction:row;--e-filter-white-space:nowrap;--e-filter-wrap:wrap;--e-filter-overflow-x:initial;--e-filter-space-between:30px;--e-filter-normal-text-color:#BDBDBD;--e-filter-hover-text-color:var( --e-global-color-text );--e-filter-active-text-color:var( --e-global-color-secondary );}.elementor-21 .elementor-element.elementor-element-7f157f6 .e-filter-item:not( [aria-pressed=true] ):not( :hover ){background-color:#EFEDE3;}.elementor-21 .elementor-element.elementor-element-7f157f6 .e-filter-item:hover:not( [aria-pressed=true] ){background-color:var( --e-global-color-accent );}.elementor-21 .elementor-element.elementor-element-7f157f6 .e-filter-item[aria-pressed="true"]{background-color:var( --e-global-color-accent );}.elementor-21 .elementor-element.elementor-element-7f157f6 .e-filter-item{font-size:16px;padding:10px 15px 10px 15px;}.elementor-21 .elementor-element.elementor-element-d3f1a74{--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;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.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-21 .elementor-element.elementor-element-ff0cc5a{--grid-columns:1;--grid-row-gap:0px;width:100%;max-width:100%;}.elementor-21 .elementor-element.elementor-element-ff0cc5a .elementor-repeater-item-ef15a5d{grid-column:span min( 1, var(--grid-columns) );}@media(min-width:1920px){.elementor-widget-text-editor{font-size:var( --e-global-typography-text-font-size );line-height:var( --e-global-typography-text-line-height );}}@media(max-width:1366px){.elementor-widget-text-editor{font-size:var( --e-global-typography-text-font-size );line-height:var( --e-global-typography-text-line-height );}}@media(max-width:1024px){.elementor-widget-text-editor{font-size:var( --e-global-typography-text-font-size );line-height:var( --e-global-typography-text-line-height );}.elementor-21 .elementor-element.elementor-element-d3f1a74{--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-21 .elementor-element.elementor-element-ff0cc5a{--grid-columns:1;}}@media(max-width:767px){.elementor-21 .elementor-element.elementor-element-0fa2b2e{--padding-top:40px;--padding-bottom:40px;--padding-left:20px;--padding-right:20px;}.elementor-widget-text-editor{font-size:var( --e-global-typography-text-font-size );line-height:var( --e-global-typography-text-line-height );}.elementor-21 .elementor-element.elementor-element-ff0cc5a{--grid-columns:1;}}/* Start custom CSS for taxonomy-filter, class: .elementor-element-7f157f6 *//* On mobile (under 768px, adjust as you like) */
@media (max-width: 768px) {
 .elementor-21 .elementor-element.elementor-element-7f157f6 .e-filter {
    flex-direction: column; /* stack vertically */
  }

 .elementor-21 .elementor-element.elementor-element-7f157f6 .e-filter-item {
    width: 100%; /* make each button full width */
    flex: none; /* prevent flex shrinking */
  }
}/* End custom CSS */
/* Start custom CSS for loop-grid, class: .elementor-element-ff0cc5a *//* ------------ Stack the two columns at ≤1024px (Loop template ID 1948) ------------ */
@media (max-width: 1024px) {
  /* Row becomes a column */
  .elementor-1948 .elementor-element-6ccda40 {
    flex-direction: column-reverse;
    justify-content: flex-start;
    row-gap: 0px;
    column-gap: 0px;
  }


  /* Both columns full width */
  .elementor-1948 .elementor-element-4d26afa,  /* left (image bg) */
  .elementor-1948 .elementor-element-0a0f585 { /* right (green content) */
    width: 100%;
    min-width: 0 !important;
    min-height: auto;
  }

  /* Order on tablet: content first, image second (swap to taste) */
  .elementor-1948 .elementor-element-0a0f585 { order: 1; }
  .elementor-1948 .elementor-element-4d26afa { order: 2; }

  /* Give the image panel a sensible height when stacked */
  .elementor-1948 .elementor-element-4d26afa { min-height: 380px; }

  /* Soften the green panel side paddings on tablet */
  .elementor-1948 .elementor-element-0a0f585 {
    padding-left: 24px;
    padding-right: 24px;
  }
}

/* ------------ Stack the two columns at ≤1024px (Alternate loop template ID 2033) ------------ */
@media (max-width: 1024px) {
  /* Row becomes a column */
  .elementor-2033 .elementor-element-ba1857f {
    flex-direction: column;
    justify-content: flex-start;
  }

  /* Both columns full width */
  .elementor-2033 .elementor-element-c56beef,  /* image bg */
  .elementor-2033 .elementor-element-9cad93c { /* content */
    width: 100%;
    min-width: 0 !important;
    min-height: auto;
  }

  /* Order: content first, image second (swap if you want image first) */
  .elementor-2033 .elementor-element-9cad93c { order: 1; }
  .elementor-2033 .elementor-element-c56beef { order: 2; }

  /* Image panel height when stacked */
  .elementor-2033 .elementor-element-c56beef {min-height: 380px; }

  /* Tighter side padding on tablet */
  .elementor-2033 .elementor-element-9cad93c {
    padding-left: 24px;
    padding-right: 24px;
  }
}

/* ---------- Keep previous anti-zoom safety on stacked layout ---------- */
@media (max-width: 1024px) {
  .elementor-element-6ccda40,
  .elementor-element-4d26afa,
  .elementor-element-0a0f585 {
    max-width: 100% !important;
    min-width: 0 !important;
    overflow: hidden !important;
  }
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-d3f1a74 */.elementor-loop-container.elementor-grid {
    display: block !important;
}/* End custom CSS */