.elementor-10374 .elementor-element.elementor-element-1d112f4{--display:flex;--min-height:calc(100vh - 70px);--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:flex-start;--align-items:center;--gap:1.25rem 0rem;--row-gap:1.25rem;--column-gap:0rem;--margin-top:0px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;--padding-top:1.25rem;--padding-bottom:1.25rem;--padding-left:0rem;--padding-right:0rem;}.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-10374 .elementor-element.elementor-element-d1709d3 .elementor-heading-title{font-family:"Assistant", Sans-serif;font-size:3.75rem;font-weight:700;}.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-10374 .elementor-element.elementor-element-7085ff0{--grid-columns:4;width:var( --container-widget-width, 100% );max-width:100%;--container-widget-width:100%;--container-widget-flex-grow:0;}@media(min-width:768px){.elementor-10374 .elementor-element.elementor-element-1d112f4{--content-width:1120px;}}@media(max-width:1024px){.elementor-10374 .elementor-element.elementor-element-1d112f4{--padding-top:0rem;--padding-bottom:0rem;--padding-left:1rem;--padding-right:1rem;}.elementor-10374 .elementor-element.elementor-element-7085ff0{--grid-columns:2;--container-widget-width:87%;--container-widget-flex-grow:0;width:var( --container-widget-width, 87% );max-width:87%;}}@media(max-width:767px){.elementor-10374 .elementor-element.elementor-element-d1709d3{text-align:center;}.elementor-10374 .elementor-element.elementor-element-7085ff0{--grid-columns:1;--container-widget-width:100%;--container-widget-flex-grow:0;width:var( --container-widget-width, 100% );max-width:100%;}}/* Start custom CSS for loop-grid, class: .elementor-element-7085ff0 *//* Turn the loop container into a wrapping flex row */
.loop-fit-content .elementor-loop-container{
  display: flex !important;
  flex-wrap: wrap;
  justify-content: center; /* change to flex-start if you want left aligned */
  gap: 8px; /* your spacing */
}

/* Make each loop item hug its own content */
.loop-fit-content .e-loop-item{
  width: auto !important;
  flex: 0 0 auto !important;
}

/* If the template root container stretches, force it to hug content too */
.loop-fit-content .e-loop-item > .elementor-element,
.loop-fit-content .e-loop-item .e-con{
  width: fit-content;
  max-width: 100%;
}/* End custom CSS */