.elementor-kit-2382{--e-global-color-primary:#F26A21;--e-global-color-secondary:#173B63;--e-global-color-text:#222222;--e-global-color-accent:#111111;--e-global-color-orangedark:#D95712;--e-global-color-orangelight:#FFF1E8;--e-global-color-bluelight:#EAF0F6;--e-global-color-inksoft:#242424;--e-global-color-paper:#F7F6F2;--e-global-color-surfcard:#F3F3F1;--e-global-color-borderdef:#E8E8E5;--e-global-color-grey300:#B8B8B3;--e-global-color-muted:#666661;--e-global-color-white:#FFFFFF;--e-global-color-success:#237A4B;--e-global-color-warning:#A66A00;--e-global-color-error:#B42318;--e-global-color-info:#245E91;--e-global-typography-primary-font-family:"Inter";--e-global-typography-primary-font-size:clamp(2.75rem,7vw,5.75rem);--e-global-typography-primary-font-weight:700;--e-global-typography-primary-line-height:0.94em;--e-global-typography-primary-letter-spacing:-0.045em;--e-global-typography-secondary-font-family:"Inter";--e-global-typography-secondary-font-size:clamp(1.35rem,2.5vw,2rem);--e-global-typography-secondary-font-weight:650;--e-global-typography-secondary-line-height:1.1em;--e-global-typography-secondary-letter-spacing:-0.02em;--e-global-typography-text-font-family:"Inter";--e-global-typography-text-font-size:1rem;--e-global-typography-text-font-weight:400;--e-global-typography-text-line-height:1.55em;--e-global-typography-text-letter-spacing:0em;--e-global-typography-accent-font-family:"Inter";--e-global-typography-accent-font-size:0.72rem;--e-global-typography-accent-font-weight:700;--e-global-typography-accent-text-transform:uppercase;--e-global-typography-accent-line-height:1em;--e-global-typography-accent-letter-spacing:0.12em;--e-global-typography-display-font-family:"Inter";--e-global-typography-display-font-size:clamp(3rem,10vw,7.5rem);--e-global-typography-display-font-weight:700;--e-global-typography-display-line-height:0.92em;--e-global-typography-display-letter-spacing:-0.055em;--e-global-typography-h2style-font-family:"Inter";--e-global-typography-h2style-font-size:clamp(2rem,4.5vw,4rem);--e-global-typography-h2style-font-weight:700;--e-global-typography-h2style-line-height:1em;--e-global-typography-h2style-letter-spacing:-0.035em;--e-global-typography-bodylg-font-family:"Inter";--e-global-typography-bodylg-font-size:1.2rem;--e-global-typography-bodylg-font-weight:400;--e-global-typography-bodylg-line-height:1.55em;--e-global-typography-bodylg-letter-spacing:0em;--e-global-typography-small-font-family:"Inter";--e-global-typography-small-font-size:0.8rem;--e-global-typography-small-font-weight:400;--e-global-typography-small-line-height:1.35em;--e-global-typography-small-letter-spacing:0em;--e-global-typography-btn-font-family:"Inter";--e-global-typography-btn-font-size:0.95rem;--e-global-typography-btn-font-weight:650;--e-global-typography-btn-text-transform:none;--e-global-typography-btn-line-height:1.2em;--e-global-typography-btn-letter-spacing:0em;--e-global-typography-nav-font-family:"Inter";--e-global-typography-nav-font-size:0.9rem;--e-global-typography-nav-font-weight:500;--e-global-typography-nav-line-height:1.2em;--e-global-typography-nav-letter-spacing:0em;--e-global-typography-logo-font-family:"Inter";--e-global-typography-logo-font-size:1.1rem;--e-global-typography-logo-font-weight:700;--e-global-typography-logo-line-height:1.2em;--e-global-typography-logo-letter-spacing:-0.02em;color:var( --e-global-color-text );font-family:"Inter", Helvetica Neue, Helvetica, Arial, sans-serif;font-size:1rem;font-weight:400;line-height:1.55em;}.elementor-kit-2382 e-page-transition{background-color:#FFBC7D;}.elementor-kit-2382 a{color:var( --e-global-color-primary );}.elementor-kit-2382 a:hover{color:var( --e-global-color-orangedark );}.elementor-kit-2382 h1{color:var( --e-global-color-accent );font-family:"Inter", Helvetica Neue, Helvetica, Arial, sans-serif;font-size:clamp(2rem,4vw,2.75rem);font-weight:700;line-height:1.15em;letter-spacing:-0.02em;}.elementor-kit-2382 h2{color:var( --e-global-color-accent );font-family:"Inter", Helvetica Neue, Helvetica, Arial, sans-serif;font-size:clamp(1.5rem,2.6vw,2rem);font-weight:700;line-height:1.2em;letter-spacing:-0.015em;}.elementor-kit-2382 h3{color:var( --e-global-color-accent );font-family:"Inter", Helvetica Neue, Helvetica, Arial, sans-serif;font-size:clamp(1.2rem,2vw,1.45rem);font-weight:650;line-height:1.3em;letter-spacing:-0.01em;}.elementor-kit-2382 h4{color:var( --e-global-color-accent );font-family:"Inter", Helvetica Neue, Helvetica, Arial, sans-serif;font-size:1.1rem;font-weight:700;line-height:1.35em;letter-spacing:-0.005em;}.elementor-kit-2382 h5{font-family:"Inter", Helvetica Neue, Helvetica, Arial, sans-serif;font-size:1.05rem;font-weight:650;line-height:1.3em;letter-spacing:-0.01em;}.elementor-kit-2382 h6{font-family:"Inter", Helvetica Neue, Helvetica, Arial, sans-serif;font-size:0.95rem;font-weight:650;line-height:1.35em;letter-spacing:0em;}.elementor-section.elementor-section-boxed > .elementor-container{max-width:1280px;}.e-con{--container-max-width:1280px;}.elementor-widget:not(:last-child){--kit-widget-spacing:20px;}.elementor-element{--widgets-spacing:20px 20px;--widgets-spacing-row:20px;--widgets-spacing-column:20px;}{}h1.entry-title{display:var(--page-title-display);}.site-header .site-branding{flex-direction:column;align-items:stretch;}.site-header{padding-inline-end:0px;padding-inline-start:0px;}.site-footer .site-branding{flex-direction:column;align-items:stretch;}@media(max-width:900px){.elementor-section.elementor-section-boxed > .elementor-container{max-width:1024px;}.e-con{--container-max-width:1024px;}}@media(max-width:767px){.elementor-section.elementor-section-boxed > .elementor-container{max-width:767px;}.e-con{--container-max-width:767px;}}/* Start custom CSS *//* ---------------------------------------------------------------------------
   DCCQ custom CSS. Kept deliberately small — everything else is driven by
   Elementor Global Colours, Global Fonts and native container controls.
   --------------------------------------------------------------------------- */

/* 1. Hello Elementor wraps single/archive Theme Builder templates in .site-main
      with a fixed container width. Our templates manage their own full-bleed
      sections, so the theme wrapper must not constrain them. */
.site-main{max-width:100%;padding:0;}
.site-main > .page-content > *,
.site-main > .entry-content > *{max-width:100%;}

/* 2. Guard against horizontal overflow from full-bleed media. */
body{overflow-x:hidden;}
.elementor-widget-image img{max-width:100%;height:auto;}

/* 3. Post-content images (legacy imported articles) must never overflow. */
.elementor-widget-theme-post-content img{max-width:100%;height:auto;}

/* 6. Why Join cards — the two effects Elementor cannot express natively.
      Fill, border, radius, shadow and lift are all set on the container's own
      normal/hover controls (Style > Background/Border, Advanced > Transform).
      What remains needs a parent-hover .elementor-kit-2382, which Elementor has no concept
      of — its hover states only fire on the element being hovered:
        a) only the TOP border turns orange — Elementor's border colour is a
           single value for all four sides, so per-side colour isn't available;
        b) the icon tile must react to hovering the CARD, not the icon itself. */
.dccq-why-card{ border-top:3px solid transparent !important; }
.dccq-why-card:hover{ border-top-color:var(--e-global-color-primary) !important; }

.dccq-why-card .dccq-why-icon .elementor-icon{ transition:background-color .3s ease, color .3s ease; }
.dccq-why-card:hover .dccq-why-icon .elementor-icon{
  background-color:var(--e-global-color-primary) !important; color:#fff !important;
}
.dccq-why-card:hover .dccq-why-icon .elementor-icon svg{ fill:#fff !important; stroke:#fff !important; }


/* 9. The Events Calendar wraps single events in .tribe-events-pg-template with a fixed
      max-width, which stops the single-event template's full-bleed sections from reaching
      the viewport edges. Same situation as rule 1 above. */
#tribe-events-pg-template,
.tribe-events-pg-template{max-width:100%;padding:0;margin:0;}

/* 10. News article page (single-post template).
       a) the featured image sits in a grid cell of unknown height and Elementor's Image
          widget has no 'fill the cell' control. The cap matters as much as the fill: without
          it a portrait photo drags the whole header down past the fold;
       b) the sticky rail is pushed to the outer edge so the empty half of the row closes up. */
.dccq-news-hero{flex:1 1 auto;display:flex;align-self:stretch;min-height:0;}
.dccq-news-hero .elementor-widget-container{flex:1 1 auto;display:flex;width:100%;}
.dccq-news-hero img{width:100%;height:100%;object-fit:cover;min-height:360px;max-height:600px;}

.dccq-news-rail{width:100%;max-width:300px;}

@media (max-width:900px){
  .dccq-news-hero img{height:auto;min-height:0;aspect-ratio:16/9;}
  .dccq-news-rail{max-width:none;}
}/* End custom CSS */