/* Shared native Elementor button system. No replacement HTML or JS handlers. */
.ce-footer .ce-footer-link a {display:inline-block;padding:5px 0;line-height:1.7;transition:color .2s ease;text-decoration:none;}
.ce-footer .ce-footer-link a:hover,.ce-footer .ce-footer-credit-link a:hover {color:#87D2F3;text-decoration:underline;text-underline-offset:4px;}
.ce-footer a:focus-visible {outline:2px solid #87D2F3;outline-offset:4px;border-radius:3px;}
.ce-footer-credit .elementor-widget {width:auto;}
@media(max-width:767px) {
    .ce-footer-columns .ce-footer-intro,.ce-footer-columns .ce-footer-contact {grid-column:1 / -1;}
    .ce-footer .ce-footer-link a {min-height:40px;display:inline-flex;align-items:center;}
    .ce-footer-cta .elementor-widget-button,.ce-footer-cta .elementor-button {width:100% !important;}
}
.elementor .elementor-widget-button .elementor-button,
.elementor .elementor-form .elementor-button,
.elementor-location-header .elementor-nav-menu--main > ul > li:last-child > a,
.elementor-location-header nav.elementor-nav-menu--dropdown > ul > li:last-child > a {
    display:inline-flex; align-items:center; justify-content:center; min-height:48px;
    padding:14px 22px !important; border:1px solid #CE242A !important; border-radius:8px !important;
    background:#CE242A !important; color:#fff !important;
    font-family:Manrope,sans-serif; font-size:14px; font-weight:700; line-height:1.4;
    text-decoration:none; text-align:center;
    transition:background-color .2s ease,color .2s ease,border-color .2s ease,box-shadow .2s ease,transform .2s ease;
}
.elementor .ce-button-secondary .elementor-button {
    background:#fff !important; color:#112638 !important; border-color:#8296A5 !important;
}
.elementor .ce-button-inverse .elementor-button {
    background:transparent !important; color:#fff !important; border-color:#B8CBD8 !important;
}
.elementor .elementor-button .elementor-button-text,
.elementor .elementor-button .elementor-button-icon {color:inherit;}
@media(hover:hover) and (pointer:fine) {
    .elementor .elementor-widget-button .elementor-button:hover,
    .elementor .elementor-form .elementor-button:hover,
    .elementor-location-header .elementor-nav-menu--main > ul > li:last-child > a:hover,
    .elementor-location-header nav.elementor-nav-menu--dropdown > ul > li:last-child > a:hover {
        background:#A91D24 !important; border-color:#A91D24 !important; color:#fff !important;
        transform:translateY(-2px); box-shadow:0 7px 16px -8px rgba(17,38,56,.4);
    }
    .elementor .ce-button-secondary .elementor-button:hover {background:#112638 !important; border-color:#112638 !important; color:#fff !important;}
    .elementor .ce-button-inverse .elementor-button:hover {background:#fff !important; border-color:#fff !important; color:#112638 !important;}
}
.elementor .elementor-button:focus-visible,
.elementor-location-header .elementor-nav-menu--main > ul > li:last-child > a:focus-visible,
.elementor-location-header nav.elementor-nav-menu--dropdown > ul > li:last-child > a:focus-visible {
    outline:3px solid #008ED4 !important; outline-offset:4px; box-shadow:0 0 0 2px #fff;
}
.elementor .elementor-button:active {transform:translateY(0) !important;box-shadow:none;}
.elementor .elementor-button:disabled {opacity:.6;cursor:not-allowed;transform:none !important;box-shadow:none;}
.elementor .ce-home-skyline {
    background-image:linear-gradient(90deg,rgba(243,247,249,.96),rgba(243,247,249,.55) 48%,rgba(243,247,249,.1)),url('design/london-ontario-skyline.svg') !important;
    background-position:center,bottom right !important;
    background-repeat:no-repeat !important;
    background-size:100% 100%,min(100%,1300px) auto !important;
}
.ce-article-topic {scroll-margin-top:145px;}
.ce-article-body p {line-height:1.85;}
.ce-article-body .elementor-widget-text-editor {max-width:70ch;}
.elementor .elementor-element.ce-article-sidebar {position:sticky !important;top:140px;align-self:start;}
.elementor .elementor-element.ce-article-sidebar {
    max-height:calc(100dvh - 164px);overflow-y:auto;overscroll-behavior:contain;
    scrollbar-width:thin;
}
body.admin-bar .elementor .elementor-element.ce-article-sidebar {top:172px;max-height:calc(100dvh - 196px);}
.elementor .ce-article-hero {
    background-image:linear-gradient(90deg,rgba(243,247,249,.78),rgba(243,247,249,.1)),url('design/london-ontario-skyline.svg') !important;
    background-size:100% 100%,contain !important;
}
.ce-article-toc .elementor-icon-list-item a {padding:5px 0;line-height:1.6;}
.ce-article-toc a:hover {color:#112638;text-decoration:underline;text-underline-offset:4px;}
.ce-article-toc a:focus-visible,.ce-article-related:focus-visible {outline:3px solid #008ED4;outline-offset:5px;border-radius:4px;}
.ce-article-related {text-decoration:none !important;}
@media(max-width:1024px) {
    .elementor .elementor-element.ce-article-sidebar,
    body.admin-bar .elementor .elementor-element.ce-article-sidebar {position:static !important;top:auto;order:-1;max-height:none;overflow:visible;}
    .elementor-location-header nav.elementor-nav-menu--dropdown > ul > li:last-child > a {margin:12px 20px;}
    .ce-article-topic {scroll-margin-top:110px;}
}
@media(max-width:767px) {
    .elementor .ce-home-skyline {background-size:100% 100%,900px auto !important;background-position:center,bottom center !important;}
    .elementor .elementor-widget-button .elementor-button {max-width:100%;}
    .ce-article-hero-image img {aspect-ratio:4/3;object-fit:cover;}
}
@media(prefers-reduced-motion:reduce) {
    .elementor .elementor-button,.elementor-location-header .elementor-nav-menu--main > ul > li:last-child > a {transition:none !important;transform:none !important;}
}
