.elementor-234 .elementor-element.elementor-element-cl0007{--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;--align-items:center;--padding-top:44px;--padding-bottom:44px;--padding-left:24px;--padding-right:24px;}.elementor-234 .elementor-element.elementor-element-cl0007:not(.elementor-motion-effects-element-type-background), .elementor-234 .elementor-element.elementor-element-cl0007 > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:var( --e-global-color-efd-tint );}.elementor-234 .elementor-element.elementor-element-cl0006{--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;--align-items:stretch;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-234 .elementor-element.elementor-element-cl0004{--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;--align-items:flex-start;--padding-top:0px;--padding-bottom:22px;--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-234 .elementor-element.elementor-element-cl0002{margin:0px 0px calc(var(--kit-widget-spacing, 0px) + 8px) 0px;}.elementor-234 .elementor-element.elementor-element-cl0002.xpro-widget-bg-overlay:before{transition:background 0.3s;}.elementor-234 .elementor-element.elementor-element-cl0002 .elementor-heading-title{font-family:"Roboto", Sans-serif;font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:1.4px;color:var( --e-global-color-efd-muted-fg );}.elementor-234 .elementor-element.elementor-element-cl0005{--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;--align-items:stretch;}.elementor-234 .elementor-element.elementor-element-cl0001.xpro-widget-bg-overlay:before{transition:background 0.3s;}@media(max-width:1024px){.elementor-234 .elementor-element.elementor-element-cl0007{--padding-top:35px;--padding-bottom:35px;--padding-left:28px;--padding-right:28px;}}@media(max-width:767px){.elementor-234 .elementor-element.elementor-element-cl0007{--padding-top:31px;--padding-bottom:31px;--padding-left:20px;--padding-right:20px;}}/* Start custom CSS for container, class: .elementor-element-cl0007 */.elementor-234 .elementor-element.elementor-element-cl0007 .xpro-post-grid-wrapper{ width:100%; }

/* xpro-post-grid renders through CubePortfolio. On this install CubePortfolio's JS
   layout pass never runs: it builds .cbp-wrapper but leaves .cbp at the stylesheet
   placeholder height:400px with items unpositioned and inline-block, so grid content
   spills thousands of px past its own box and over the sections below. Verified as
   PRE-EXISTING - the original template 29 behaves identically. Rather than add JS,
   these sections take layout away from CubePortfolio and use CSS Grid. !important
   beats CubePortfolio's inline styles, so the result is the same whether or not its
   JS ever starts working - and it removes a runtime JS dependency before static export. */
.elementor-234 .elementor-element.elementor-element-cl0007 .cbp,
.elementor-234 .elementor-element.elementor-element-cl0007 .cbp-wrapper-outer,
.elementor-234 .elementor-element.elementor-element-cl0007 .cbp-wrapper,
.elementor-234 .elementor-element.elementor-element-cl0007 .cbp-item,
.elementor-234 .elementor-element.elementor-element-cl0007 .cbp-item-wrapper{ height:auto !important; }
.elementor-234 .elementor-element.elementor-element-cl0007 .cbp-item{ position:static !important; width:auto !important;
  transform:none !important; display:block !important; top:auto !important; left:auto !important; }

.elementor-234 .elementor-element.elementor-element-cl0007 .cbp-wrapper{ display:grid !important; grid-template-columns:repeat(3,1fr);
  gap:28px 24px; align-items:start; }
.elementor-234 .elementor-element.elementor-element-cl0007 .xpro-post-grid-title{ font-size:18px; line-height:1.3; }

@media (max-width:1024px){
  .elementor-234 .elementor-element.elementor-element-cl0007 .cbp-wrapper{ grid-template-columns:repeat(2,1fr); gap:24px 20px; }
}
@media (max-width:767px){
  .elementor-234 .elementor-element.elementor-element-cl0007 .cbp-wrapper{ grid-template-columns:1fr; gap:22px; }
}/* End custom CSS */