/* ---------------------------------
- Color Legend (see style.css for full legend)
--------------------------------- */

/*-------------------------------------------------------------
- Global Accesibility
-------------------------------------------------------------*/
body a:focus-visible,
body button:focus-visible {
    border: 2px solid;
}

/*-------------------------------------------------------------
- Our Company: Tabs accessibility overrides
  Remove opacity on inactive tabs so #595959 text meets 4.5:1
  contrast on white at full opacity.
-------------------------------------------------------------*/
#Company-Leadership .the7-e-tab-title[aria-selected="false"] {
    opacity: 1;
}
.skip-link {
    position: absolute;
    left: -9999px;
    z-index: 999;
    padding: 1em;
    background-color: #fff;
    color: #000;
    text-decoration: none;
}
.skip-link:focus {
    left: 0;
}

/*-------------------------------------------------------------
- Global
-------------------------------------------------------------*/


/*-------------------------------------------------------------
- CPT Filter Buttons
-------------------------------------------------------------*/
.custom_isotope_button_wrapper {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    margin-bottom: 30px;
    justify-content: center;
}
.news_events_filter_button {
    display: inline-block;
    padding: 10px 24px;
    border: 2px solid #79A7F9;
    border-radius: 999px;
    background: #fff;
    color: #21478D;
    font-family: "area-inktrap-extended", sans-serif !important;
    font-size: 1rem;
    line-height: 1rem;
    font-weight: 700;
    text-decoration: none;
    cursor: pointer;
    transition: all 0.3s ease;
}
.news_events_filter_button:hover {
    background: linear-gradient(to right, #21478D, #0B5FEF);
    color: #fff;
    border-color: #79A7F9;
}
.news_events_filter_button.is-checked {
    background: linear-gradient(to right, #21478D, #0B5FEF);
    color: #fff;
    border-color: #79A7F9;
}
/* Override Elementor lazy load background removal for filter buttons */
.e-con.e-parent:nth-of-type(n+3):not(.e-lazyloaded) .news_events_filter_button:hover,
.e-con.e-parent:nth-of-type(n+3):not(.e-lazyloaded) .news_events_filter_button.is-checked,
.e-con.e-parent:nth-of-type(n+4):not(.e-lazyloaded) .news_events_filter_button:hover,
.e-con.e-parent:nth-of-type(n+4):not(.e-lazyloaded) .news_events_filter_button.is-checked {
    background-image: linear-gradient(to right, #21478D, #0B5FEF) !important;
}

/*-------------------------------------------------------------
- Global CPT List
-------------------------------------------------------------*/
.cpt_cc_framework_wrapper {
    overflow: auto;
    margin-bottom: 40px;
}
.cpt_cc_framework_wrapper {
    background: #fff;
    transition: transform 0.3s ease, box-shadow 0.3s ease, border-color 0.3s ease;
    overflow: hidden;
}
.cpt_cc_framework_wrapper:hover {
    box-shadow: 0 24px 54px rgba(42, 13, 76, 0.16);
    transform: translateY(-6px);
}

/*-------------------------------------------------------------
- HOME ONLY - News Events List Card Layout
-------------------------------------------------------------*/
/* Home Page Layout - 5 item featured grid */
.news_events_isotope_wrapper .grid-sizer {
    width: 33.333%;
}
.home_page .news_events_list_wrapper {
    width: calc(33.333% - 32px);
}
.home_page .news_events_list_wrapper:nth-child(2) {
    width: calc(66.666% - 32px);
}

/*-------------------------------------------------------------
- News Events List Card Layout
-------------------------------------------------------------*/
.news_events_isotope_wrapper {
    margin: 0 -16px;
}
.news_events_list_wrapper {
    --news-card-radius: 26px;
    --news-card-inner-radius: 18px;
    --news-card-gutter: 16px;
    --news-card-accent: #5B3FA0;
    display: flex;
    flex-direction: column;
    border: 1px solid rgba(33, 71, 141, 0.12);
    border-radius: var(--news-card-radius);
    overflow: hidden;
    width: calc(33.333% - 32px);
    margin: 0 var(--news-card-gutter) 38px var(--news-card-gutter);
    box-sizing: border-box;
    background:
        linear-gradient(180deg, rgba(255, 255, 255, 0.99), rgba(248, 251, 255, 0.96)),
        radial-gradient(circle at 0% 0%, rgba(121, 167, 249, 0.16), transparent 34%);
    box-shadow: 0 16px 38px rgba(33, 71, 141, 0.08);
}
.news_events_list_wrapper.press-releases {
    --news-card-accent: #0B5EEF;
}
.news_events_list_wrapper.in-the-news {
    --news-card-accent: #512584;
}
.news_events_list_wrapper.publications {
    --news-card-accent: #A6271E;
}
.news_events_list_wrapper.events {
    --news-card-accent: #DA1206;
}
.news_events_list_featured_image {
    position: relative;
    width: 100%;
    padding: 14px 14px 0;
    box-sizing: border-box;
}
.news_events_list_featured_image .cpt_cc_framework_image_link {
    padding-bottom: 58%;
    border-radius: var(--news-card-inner-radius);
    overflow: visible;
    background: #F3F6FC;
}
.news_events_list_featured_image .cpt_cc_framework_featured_image img {
    object-fit: cover;
    width: 100%;
    height: 100%;
}
.news_events_category_badge {
    position: absolute;
    right: auto;
    bottom: -14px;
    left: 28px;
    background: var(--news-card-accent);
    color: #fff;
    font-family: "area-inktrap-extended", sans-serif !important;
    font-size: 0.64rem;
    line-height: 1;
    font-weight: 800;
    letter-spacing: 0.08em;
    padding: 9px 15px 8px;
    border-radius: 999px;
    text-transform: uppercase;
    white-space: nowrap;
    z-index: 10;
    box-shadow: 0 12px 26px rgba(42, 13, 76, 0.18);
}
.news_events_list_content {
    padding: 38px 28px 30px;
    display: flex;
    flex-direction: column;
    flex: 1;
    overflow: hidden;
}
.news_events_list_content h3 {
    margin: 0 0 15px;
    font-size: clamp(1.12rem, 1.08vw, 1.34rem);
    line-height: 1.25 !important;
    letter-spacing: -0.035em;
}
.news_events_list_content h3 a {
    color: #24344D;
    text-decoration: none;
    transition: color 0.2s ease, background-size 0.2s ease;
    background-image: linear-gradient(90deg, rgba(33, 71, 141, 0.24), rgba(121, 167, 249, 0.58));
    background-position: 0 100%;
    background-repeat: no-repeat;
    background-size: 0% 3px;
}
.news_events_list_content h3 a:hover {
    color: #21478D;
    background-size: 100% 3px;
}
.news_events_list_category {
    display: none;
}
.news_events_list_content p {
    margin: 0 0 22px;
    color: #4F5870;
    font-size: 0.98rem;
    line-height: 1.66;
    font-weight: 500;
}
.cpt_cc_framework_image_link {
    display: block;
    text-decoration: none;
    position: relative;
    width: 100%;
    padding-bottom: 56.25%;
    overflow: hidden;
    background: transparent;
}
.cpt_cc_framework_featured_image {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    border-radius: inherit;
    overflow: hidden;
}
.cpt_cc_framework_featured_image img {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center;
    transition: transform 0.45s ease, filter 0.45s ease;
}
.cpt_cc_framework_wrapper:hover .cpt_cc_framework_featured_image img {
    filter: saturate(1.07) contrast(1.03);
    transform: scale(1.045);
}
a.read-more-link {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    width: fit-content;
    margin-top: auto;
    padding-top: 4px;
    color: #21478D;
    font-family: "area-inktrap-extended", sans-serif !important;
    font-size: 0.74rem;
    line-height: 1;
    font-weight: 900;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    text-decoration: none;
    transition: color 0.2s ease, gap 0.2s ease;
}
a.read-more-link span {
    color: var(--news-card-accent);
    font-size: 1rem;
    line-height: 0;
    transition: transform 0.2s ease;
}
a.read-more-link:hover {
    color: #0B5FEF;
}
a.read-more-link:hover span {
    transform: translateX(3px);
}
.news_events_list_meta {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 7px;
    margin-bottom: 13px;
    color: #646e84;
    font-size: 0.74rem;
    line-height: 1.35;
    font-weight: 800;
    letter-spacing: 0.075em;
    text-transform: uppercase;
}
.news_events_list_meta_divider {
    color: #C8BDD6;
}

/*-------------------------------------------------------------
- News Events Detail
-------------------------------------------------------------*/
.news_events_detail_back {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    font-size: 0.85rem;
    font-weight: 600;
    color: #5B3FA0;
    text-decoration: none;
    margin-bottom: 28px;
    transition: color 0.2s ease, gap 0.2s ease;
}
.news_events_detail_back:hover {
    color: #7B5FC0;
    gap: 8px;
}
.news_events_detail_back svg {
    width: 16px;
    height: 16px;
    fill: currentColor;
    transition: transform 0.2s ease;
}
.news_events_detail_back:hover svg {
    transform: translateX(-2px);
}
.news_events_detail_hero {
    width: 100%;
    border-radius: 16px;
    overflow: hidden;
    margin-bottom: 36px;
    box-shadow: 0 8px 30px rgba(91, 63, 160, 0.12);
}
.news_events_detail_hero img {
    width: 100%;
    height: auto;
    display: block;
    object-fit: cover;
    max-height: 440px;
}
.news_events_detail_badge {
    display: inline-block;
    background: #0B5EEF;
    color: #fff;
    font-size: .7rem;
    font-weight: 700;
    padding: 5px 16px;
    border-radius: 999px;
    text-transform: uppercase;
    letter-spacing: 0.06em;
    margin-bottom: 0;
    flex-shrink: 0;
}
.news_events_detail_wrapper.press-releases .news_events_detail_badge {
    background: #0B5EEF;
}
.news_events_detail_wrapper.in-the-news .news_events_detail_badge {
    background: #512584;
}
.news_events_detail_wrapper.publications .news_events_detail_badge {
    background: #A6271E;
}
.news_events_detail_wrapper.events .news_events_detail_badge {
    background: #DA1206;
}
.news_events_detail_meta {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 12px;
    margin-top: 18px;
    margin-bottom: 20px;
    padding-bottom: 18px;
    border-bottom: 2px solid;
    border-image: linear-gradient(135deg, #5B3FA0, #E4B5D8) 1;
}
.news_events_detail_date,
.news_events_detail_location {
    font-size: 0.88rem;
    color: #6B6278;
    letter-spacing: 0.02em;
}
.news_events_detail_divider {
    color: #C8BDD6;
    font-size: 0.75rem;
}
.news_events_detail_content img {
    max-width: 100%;
    height: auto;
    border-radius: 12px;
    margin: 28px 0;
    box-shadow: 0 4px 20px rgba(91, 63, 160, 0.08);
}
.news_events_detail_nav {
    display: flex;
    justify-content: space-between;
    align-items: stretch;
    gap: 20px;
    margin-top: 48px;
    padding-top: 32px;
    border-top: 2px solid;
    border-image: linear-gradient(135deg, #5B3FA0, #E4B5D8) 1;
}
.news_events_detail_nav_link {
    display: flex;
    align-items: center;
    gap: 12px;
    padding: 16px 20px;
    text-decoration: none;
    border-radius: 12px;
    background: rgba(91, 63, 160, 0.04);
    transition: all 0.25s ease;
    flex: 1;
    min-width: 0;
}
.news_events_detail_nav_link:hover {
    background: rgba(91, 63, 160, 0.08);
    transform: translateY(-1px);
    box-shadow: 0 4px 16px rgba(91, 63, 160, 0.1);
}
.news_events_detail_nav_link svg {
    flex-shrink: 0;
    color: #5B3FA0;
    transition: transform 0.2s ease;
}
.news_events_detail_nav_link.nav_prev:hover svg {
    transform: translateX(-3px);
}
.news_events_detail_nav_link.nav_next:hover svg {
    transform: translateX(3px);
}
.news_events_detail_nav_link.nav_next {
    text-align: right;
    justify-content: flex-end;
    margin-left: auto;
}
.news_events_detail_nav_link .nav_label {
    display: block;
    font-size: 0.72rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.08em;
    color: #5B3FA0;
    margin-bottom: 4px;
}
.news_events_detail_nav_link .nav_title {
    display: block;
    font-size: 0.92rem;
    font-weight: 600;
    color: #2A0D4C;
    line-height: 1.3;
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
}

/*-------------------------------------------------------------
- Modal
-------------------------------------------------------------*/
/* .custom_modal {
    display: none;
    position: fixed;
    z-index: 1;
    padding-top: 100px;
    left: 0;
    top: 0;
    width: 100%;
    height: 100%;
    overflow: auto;
    background-color: rgb(0,0,0);
    background-color: rgba(0,0,0,0.4); 
    justify-content: center;
    align-items: center;
}
.custom_modal_content {
    background-color: #fefefe;
    margin: auto;
    padding: 20px;
    border: 1px solid #888;
    width: 80%;
}
.custom_modal_close {
    color: #aaaaaa;
    float: right;
    font-size: 28px;
    font-weight: bold;
}
.custom_modal_close:hover,
.custom_modal_close:focus {
    color: #000;
    text-decoration: none;
    cursor: pointer;
} */

/*-------------------------------------------------------------
- Mobile Facet
-------------------------------------------------------------*/
.responsive_facet_wrapper.mobile_facet_menu{
    display: block!important;
    position: fixed;
    z-index: 9999999;
    box-shadow: 0 0 4px rgba(0,0,0,.3);
    background: #fff;
    left: 110%;
    padding-top: 65px;
    top: 0px;
    width: 75%;
    height: 100% !important;
    transition: left .2s ease-out,top .2s ease-out,width .2s ease-out,height .2s ease-out;
}
.responsive_facet_wrapper.mobile_facet_menu.open{
    left:25%;
}
.responsive_facet_wrapper.mobile_facet_menu.closed{
    left:110%;
    transition: left .2s ease-out,top .2s ease-out,width .2s ease-out,height .2s ease-out;
}
.responsive_facet_wrapper.closed a.mobile_facet_side_button,
a.mobile_facet_trigger.mobile_facet_bottom_button.closed{
    display: none;
}
a.mobile_facet_bottom_button{
    z-index: 9999999;
    background: linear-gradient(to right, #21478D, #0B5FEF);
    display: inline-block;
    padding: 10px 24px;
    color: #fff;
    border: 2px solid #79A7F9;
    border-radius: 999px;
    font-family: "area-inktrap-extended", sans-serif !important;
    font-size: 1rem;
    line-height: 1rem;
    font-weight: 700;
    text-decoration: none;
    cursor: pointer;
    transition: all 0.3s ease;
}
a.mobile_facet_side_button {
    position: absolute;
    top: 260px;
    display: inline-block;
    padding: 10px 24px;
    left: -40px;
    background: linear-gradient(to right, #21478D, #0B5FEF);
    color: #fff;
    border: 2px solid #79A7F9;
    border-radius: 16px 16px 0 0;
    font-family: "area-inktrap-extended", sans-serif !important;
    font-size: 1rem;
    line-height: 1rem;
    font-weight: 700;
    transform: rotate(270deg);
    transform-origin: left top 0;
    text-decoration: none;
    cursor: pointer;
    transition: all 0.3s ease;
}
a.mobile_facet_bottom_button:hover,
a.mobile_facet_side_button:hover{
    color:#fff;
    background: linear-gradient(to right, #0B5FEF, #21478D);
}

/*-------------------------------------------------------------
- Media Query
-------------------------------------------------------------*/
@media only screen and (max-width: 991px) {
    .news_events_list_wrapper {
        width: calc(50% - 32px);
    }
    .news_events_isotope_wrapper .grid-sizer {
        width: 50%;
    }
    .home_page .news_events_list_wrapper {
        width: calc(50% - 32px);
    }
    .home_page .news_events_list_wrapper:nth-child(2) {
        width: calc(100% - 32px);
    }
}
@media only screen and (max-width: 767px) {
    a.mobile_facet_trigger.mobile_facet_bottom_button.closed{
        display: inline-block;
        margin-bottom: 20px;
        margin-top: 20px;
    }
    .filter_trigger{
        display: none;
    }
    .news_events_isotope_wrapper {
        margin: 0 -12px;
    }
    .news_events_list_wrapper {
        --news-card-gutter: 12px;
        width: calc(100% - 24px);
        margin-bottom: 28px;
    }
    .news_events_list_featured_image {
        padding: 10px 10px 0;
    }
    .news_events_category_badge {
        right: auto;
        bottom: -14px;
        left: 22px;
        font-size: 0.62rem;
        padding: 8px 12px 7px;
    }
    .news_events_list_content {
        padding: 34px 22px 26px;
    }
    .news_events_isotope_wrapper .grid-sizer {
        width: 100%;
    }
    .home_page .news_events_list_wrapper,
    .home_page .news_events_list_wrapper:nth-child(2) {
        width: calc(100% - 24px);
    }
}

.elementor-widget-text-editor p a,
.elementor-widget-heading p a,
.elementor-widget-text-editor li a {
    text-decoration: underline;
}