.elementor-19865 .elementor-element.elementor-element-d04b72c{--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;--justify-content:flex-start;--align-items:flex-start;--overlay-opacity:1;--padding-top:100px;--padding-bottom:100px;--padding-left:0px;--padding-right:0px;}.elementor-19865 .elementor-element.elementor-element-d04b72c::before, .elementor-19865 .elementor-element.elementor-element-d04b72c > .elementor-background-video-container::before, .elementor-19865 .elementor-element.elementor-element-d04b72c > .e-con-inner > .elementor-background-video-container::before, .elementor-19865 .elementor-element.elementor-element-d04b72c > .elementor-background-slideshow::before, .elementor-19865 .elementor-element.elementor-element-d04b72c > .e-con-inner > .elementor-background-slideshow::before, .elementor-19865 .elementor-element.elementor-element-d04b72c > .elementor-motion-effects-container > .elementor-motion-effects-layer::before{background-color:transparent;--background-overlay:'';background-image:linear-gradient(190deg, var( --e-global-color-712e1a9 ) 0%, var( --e-global-color-341fbab ) 100%);}.elementor-19865 .elementor-element.elementor-element-d04b72c.e-con{--align-self:flex-start;--order:-99999 /* order start hack */;}.elementor-19865 .elementor-element.elementor-element-5285e1e{--display:flex;--gap:0px 0px;--row-gap:0px;--column-gap:0px;}.elementor-19865 .elementor-element.elementor-element-785de1f{--display:flex;}.elementor-19865 .elementor-element.elementor-element-785de1f.e-con{--flex-grow:0;--flex-shrink:0;}.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-19865 .elementor-element.elementor-element-9257257{width:var( --container-widget-width, 801px );max-width:801px;--container-widget-width:801px;--container-widget-flex-grow:0;text-align:start;}.elementor-19865 .elementor-element.elementor-element-9257257.elementor-element{--flex-grow:0;--flex-shrink:0;}.elementor-19865 .elementor-element.elementor-element-9257257 .elementor-heading-title{font-family:var( --e-global-typography-fde5ce2-font-family ), Sans-serif;font-size:var( --e-global-typography-fde5ce2-font-size );font-weight:var( --e-global-typography-fde5ce2-font-weight );line-height:var( --e-global-typography-fde5ce2-line-height );color:var( --e-global-color-75942cf );}.elementor-widget-text-editor{font-family:var( --e-global-typography-text-font-family ), Sans-serif;font-weight:var( --e-global-typography-text-font-weight );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-19865 .elementor-element.elementor-element-0bbfffc{width:var( --container-widget-width, 725px );max-width:725px;--container-widget-width:725px;--container-widget-flex-grow:0;font-family:var( --e-global-typography-d33bbe2-font-family ), Sans-serif;font-size:var( --e-global-typography-d33bbe2-font-size );font-weight:var( --e-global-typography-d33bbe2-font-weight );line-height:var( --e-global-typography-d33bbe2-line-height );color:var( --e-global-color-75942cf );}.elementor-19865 .elementor-element.elementor-element-0bbfffc.elementor-element{--flex-grow:0;--flex-shrink:0;}.elementor-19865 .elementor-element.elementor-element-f7c9605{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;}.elementor-19865 .elementor-element.elementor-element-ea38abb{--display:flex;}.elementor-19865 .elementor-element.elementor-element-1329edb{--display:flex;}.elementor-19865 .elementor-element.elementor-element-9a09cfa .elementor-heading-title{font-family:var( --e-global-typography-6db7b2c-font-family ), Sans-serif;font-size:var( --e-global-typography-6db7b2c-font-size );font-weight:var( --e-global-typography-6db7b2c-font-weight );line-height:var( --e-global-typography-6db7b2c-line-height );color:var( --e-global-color-4650b72 );}.elementor-19865 .elementor-element.elementor-element-8501a0a{--display:flex;}.elementor-19865 .elementor-element.elementor-element-5c5f11e{--e-filter-direction:row;--e-filter-white-space:nowrap;--e-filter-justify-content:flex-start;--e-filter-item-width:initial;--e-filter-item-flex-grow:0;--e-filter-wrap:wrap;--e-filter-overflow-x:initial;--e-filter-normal-text-color:var( --e-global-color-331b26c );--e-filter-hover-text-color:var( --e-global-color-331b26c );--e-filter-active-text-color:var( --e-global-color-75942cf );--e-filter-item-border-radius:50px 50px 50px 50px;}.elementor-19865 .elementor-element.elementor-element-5c5f11e .e-filter-item:not( [aria-pressed=true] ):not( :hover ){background-color:var( --e-global-color-4eb5833 );}.elementor-19865 .elementor-element.elementor-element-5c5f11e .e-filter-item:hover:not( [aria-pressed=true] ){background-color:var( --e-global-color-729f442 );}.elementor-19865 .elementor-element.elementor-element-5c5f11e .e-filter-item[aria-pressed="true"]{background-color:var( --e-global-color-331b26c );border-style:solid;}.elementor-19865 .elementor-element.elementor-element-5c5f11e .e-filter-item{padding:10px 25px 10px 25px;}.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-19865 .elementor-element.elementor-element-d62fb31{--grid-columns:3;--grid-row-gap:50px;}.elementor-19865 .elementor-element.elementor-element-d62fb31 > .elementor-widget-container{padding:20px 0px 0px 0px;}.elementor-19865 .elementor-element.elementor-element-d62fb31 .elementor-loop-container{grid-auto-rows:1fr;}.elementor-19865 .elementor-element.elementor-element-d62fb31 .e-loop-item > .elementor-section, .elementor-19865 .elementor-element.elementor-element-d62fb31 .e-loop-item > .elementor-section > .elementor-container, .elementor-19865 .elementor-element.elementor-element-d62fb31 .e-loop-item > .e-con, .elementor-19865 .elementor-element.elementor-element-d62fb31 .e-loop-item .elementor-section-wrap  > .e-con{height:100%;}.elementor-19865 .elementor-element.elementor-element-d62fb31 .elementor-pagination{text-align:center;}body:not(.rtl) .elementor-19865 .elementor-element.elementor-element-d62fb31 .elementor-pagination .page-numbers:not(:first-child){margin-left:calc( 10px/2 );}body:not(.rtl) .elementor-19865 .elementor-element.elementor-element-d62fb31 .elementor-pagination .page-numbers:not(:last-child){margin-right:calc( 10px/2 );}body.rtl .elementor-19865 .elementor-element.elementor-element-d62fb31 .elementor-pagination .page-numbers:not(:first-child){margin-right:calc( 10px/2 );}body.rtl .elementor-19865 .elementor-element.elementor-element-d62fb31 .elementor-pagination .page-numbers:not(:last-child){margin-left:calc( 10px/2 );}@media(max-width:1024px){.elementor-19865 .elementor-element.elementor-element-d04b72c{--padding-top:120px;--padding-bottom:120px;--padding-left:0px;--padding-right:0px;}.elementor-19865 .elementor-element.elementor-element-9257257 .elementor-heading-title{font-size:var( --e-global-typography-fde5ce2-font-size );line-height:var( --e-global-typography-fde5ce2-line-height );}.elementor-19865 .elementor-element.elementor-element-0bbfffc{font-size:var( --e-global-typography-d33bbe2-font-size );line-height:var( --e-global-typography-d33bbe2-line-height );}.elementor-19865 .elementor-element.elementor-element-9a09cfa .elementor-heading-title{font-size:var( --e-global-typography-6db7b2c-font-size );line-height:var( --e-global-typography-6db7b2c-line-height );}.elementor-19865 .elementor-element.elementor-element-d62fb31{--grid-columns:2;}}@media(max-width:767px){.elementor-19865 .elementor-element.elementor-element-9257257 .elementor-heading-title{font-size:var( --e-global-typography-fde5ce2-font-size );line-height:var( --e-global-typography-fde5ce2-line-height );}.elementor-19865 .elementor-element.elementor-element-0bbfffc{font-size:var( --e-global-typography-d33bbe2-font-size );line-height:var( --e-global-typography-d33bbe2-line-height );}.elementor-19865 .elementor-element.elementor-element-9a09cfa .elementor-heading-title{font-size:var( --e-global-typography-6db7b2c-font-size );line-height:var( --e-global-typography-6db7b2c-line-height );}.elementor-19865 .elementor-element.elementor-element-d62fb31{--grid-columns:1;}}@media(min-width:768px){.elementor-19865 .elementor-element.elementor-element-785de1f{--width:853px;}}/* Start custom CSS for container, class: .elementor-element-ea38abb */.filter-by-category .container {
    width: 100%;
    /* max-width: 1440px; */
    max-width: 1140px;
    margin: 0 auto;
    padding: 60px 0;
}

@media screen and (max-width: 1488px) {
    .filter-by-category .container {
        padding: 60px 24px;
    }
}


.filter-by-category .filter-container .category-event-wrapper {
    display: flex;
    flex-direction: row;
    justify-content: space-between;
    align-items: center;
    flex-wrap: wrap;
    gap: 20px;
}

@media screen and (max-width: 1024px) {
    .filter-by-category .filter-container .category-event-wrapper {
        gap: 32px;
    }
}

.filter-by-category .filter-container h3 {
    font-family: 'Arial', sans-serif;
    font-size: 16px;
    line-height: 20px;
    color: #051c2c;
    margin-bottom: 16px;
    margin-top: 0;
}

@media screen and (max-width: 1024px) {
    .filter-by-category .filter-container h3 {
        margin-bottom: 24px;
    }
}

.filter-by-category .filter-container ul.category-details {
    display: flex;
    gap: 8px;
    list-style-type: none;
    padding: 0;
    margin: 0;
    align-items: center;
}

.filter-by-category .filter-container ul.category-details li#toggle-more-cats {
    display: none;
}

@media screen and (max-width: 767px) {
    .filter-by-category .filter-container ul.category-details li.hidden-cat {
        display: none;
    }

    .filter-by-category .filter-container ul.category-details li#toggle-more-cats {
        display: block;
    }

    .filter-by-category .filter-container ul.category-details.showing-all li.hidden-cat {
        display: flex;
    }
}


@media screen and (max-width: 1024px) {
    .filter-by-category .filter-container ul.category-details {
        flex-wrap: wrap;
    }
}

.filter-by-category .filter-container ul.category-details li {
    display: flex;
    background: rgba(5, 28, 44, 0.1);
    border-radius: 50px;
    padding: 12px 16px;
}

.filter-by-category .filter-container ul.category-details li a {
    font-family: 'Arial', sans-serif;
    font-size: 16px;
    line-height: 20px;
    color: #051c2c;
}

@media screen and (max-width: 767px) {
    .filter-by-category .filter-container ul.category-details li a {
        font-size: 14px;
    }
}

.filter-by-category .filter-container ul.category-details span {
    font-family: 'Arial', sans-serif;
    font-size: 14px;
    line-height: 20px;
    color: #051c2c;
    text-decoration: underline;
}

.filter-by-category .filter-container ul.category-details li.active {
    background: #051c2c;
}

.filter-by-category .filter-container ul.category-details li.active a {
    color: #ffffff;
}

.filter-by-category .filter-container ul.event-details {
    display: flex;
    gap: 20px;
    list-style-type: none;
    padding: 0;
    margin: 0;
}

.filter-by-category .filter-container ul.event-details li a {
    position: relative;
}

.filter-by-category .filter-container ul.event-details li a::after {
    content: '';
    position: absolute;
    width: 20px;
    height: 20px;
    border-radius: 50px;
    border: 1px solid #FFC600;
    left: -30px;
}

.filter-by-category .filter-container ul.event-details li a::before {
    content: '';
    position: absolute;
    width: 10px;
    height: 10px;
    border-radius: 50px;
    background: #FFC600;
    left: -25px;
    top: 2px;
}

.filter-by-category .filter-container ul.event-details li a.deactive::after {
    border-color: #dcdcdc;
}

.filter-by-category .filter-container ul.event-details li a.deactive::before {
    display: none;
}

.filter-by-category .filter-container ul.event-details li a {
    position: relative;
    font-size: 16px;
    line-height: 24px;
    color: #02111b;
    margin-left: 30px;
}

.filter-by-category h3 {
    font-family: 'Arial', sans-serif;
    font-size: 18px;
    line-height: 20px;
    color: #051c2c;
    margin-bottom: 24px;
}

.events-container {
    padding: 60px 0 0;
    min-height: 500px;
    position: relative;
}


.events-container h3 {
    font-family: 'Arial', sans-serif;
    font-size: 32px;
    line-height: 32px;
    font-weight: 700;
    color: #02111b;
    margin-top: 0;
}

@media screen and (max-width: 1024px) {
    .events-container {
        min-height: 300px;
    }

    .events-container h3 {
        font-size: 28px;
        line-height: 32px;
    }
}

.events-container .ul-event {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    /* justify-content: space-between; */
    grid-row-gap: 48px;
    grid-column-gap: 24px;
    list-style-type: none;
    padding: 0;
    margin-bottom: 84px;
}

@media screen and (max-width: 1024px) {
    .events-container .ul-event {
        grid-template-columns: repeat(2, 1fr);
        margin-bottom: 64px;
    }
}

@media screen and (max-width: 767px) {
    .events-container .ul-event {
        grid-template-columns: repeat(1, 1fr);
        grid-row-gap: 32px;
    }
}

.events-container .ul-event li img.default-event-image {
    max-width: 364px;
    height: 217px;
    object-fit: cover;
}

@media screen and (max-width: 1024px) {
    .events-container .ul-event li img.default-event-image {
        max-width: 100%;
    }
}

.events-container .ul-event h5 {
    background: rgba(5, 28, 44, 0.1);
    border-radius: 50px;
    font-family: 'Arial', sans-serif;
    font-size: 12px;
    line-height: 16px;
    color: #051c2c;
    padding: 6px 10px;
    margin: 16px 0;
    width: fit-content;
}

.events-container .ul-event li a {
    display: flex;
    flex-flow: column;
}

.events-container .ul-event li a h4 {
    font-family: 'Arial', sans-serif;
    font-size: 20px;
    line-height: 26px;
    color: #02111b;
    margin-top: 0;
    margin-bottom: 16px;
}

.events-container .ul-event li .month-location-wrapper {
    display: flex;
    flex-direction: column;
    gap: 8px;
}

.events-container .ul-event li .month-location-wrapper span {
    display: flex;
    align-items: flex-start;
    gap: 8px;
}

.events-container .ul-event li .month-location-wrapper span img {
    max-width: 20px;
}

.events-container .ul-event li a span {
    font-family: 'Arial', sans-serif;
    font-size: 16px;
    line-height: 20px;
    color: #051c2c;
}

.events-container .pagination {
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 14.5px;
}


.events-container .pagination span,
.events-container .pagination a {
    width: 32px;
    height: 32px;
    background: #dcdcdc;
    color: #848484;
    border-radius: 50px;
    display: flex;
    gap: 14.5px;
    align-items: center;
    justify-content: center;
    font-size: 16px;
    line-height: 24px;
}

.events-container .pagination a.next,
.events-container .pagination a.prev {
    width: 32px;
    height: 32px;
    background: transparent;
    color: #051c2c;
    font-size: 25px;
    font-weight: 500;
}

.events-container .pagination span.current {
    background: #051c2c;
    color: #ffffff;
}


/* future proof */
.future-proof {
    width: 100%;
    /* max-width: 1440px; 
    --content-width: min(100%,var(--container-max-width,1140px));*/
    max-width: 1140px;
    margin: 0 auto;
    padding: 60px 0;
}

@media screen and (max-width: 1024px) {
    .future-proof {
        padding: 60px 24px;
    }
}

.future-proof .container {
    background: url('https://web.archive.org/web/20250816000305im_/https://sunco.ca/wp-content/uploads/2024/04/cta-bg-2.jpg') no-repeat center center;
    background-size: cover;
    padding: 64px;
    margin: 0 auto;
    min-height: 298px;
    display: flex;
    flex-flow: column;
    justify-content: center;
    border-radius: 24px;
}

@media screen and (max-width: 1024px) {
    .future-proof .container {
        padding: 64px 24px;
    }
}

.future-proof h2 {
    font-family: 'Arial', sans-serif;
    font-size: 36px;
    line-height: 46px;
    font-weight: 700;
    color: #ffffff;
    text-align: left;
    margin-top: 0;
}

.future-proof p {
    font-family: 'Arial', sans-serif;
    font-size: 20px;
    line-height: 26px;
    color: #ffffff;
    max-width: 662px;
    text-align: left;
    margin-bottom: 20px;
}

.future-proof button {
    font-family: 'Arial', sans-serif;
    font-size: 18px;
    line-height: 24px;
    background: #FFC600;
    color: #02111b;
    max-width: 324px;
    border-radius: 50px;
    padding: 16px 42px;
}

@media screen and (max-width: 1024px) {
    .future-proof button {
        padding: 16px 19px;
    }
}

/* spinner */
.spinner {
    width: 90px;
    height: 90px;
    position: absolute;
    left: calc(50% - 40px);
    top: 180px;
    display: none;
    background: #fff;
    border-radius: 50%;
}

.spinner span {
    display: block;
    width: 80px;
    height: 80px;
    border: 8px solid transparent;
    border-top: 8px solid #051c2c;
    /* visible arc */
    border-radius: 50%;
    animation: spin 1.5s linear infinite;
}

/* keyframes */
@keyframes spin {
    to {
        transform: rotate(360deg);
    }
}

.events-container.loading .spinner {
    display: flex;
    align-items: center;
    justify-content: center;
}/* End custom CSS */