@import url('https://fonts.googleapis.com/css2?family=Inter:ital,opsz,wght@0,14..32,100..900;1,14..32,100..900&display=swap');
@import url('https://fonts.googleapis.com/css2?family=Cormorant+Garamond:ital,wght@0,300..700;1,300..700&family=Mitr:wght@200;300;400;500;600;700&family=Prompt:ital,wght@0,100;0,200;0,300;0,400;0,500;0,600;0,700;0,800;0,900;1,100;1,200;1,300;1,400;1,500;1,600;1,700;1,800;1,900&display=swap');
@import url("https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.7.2/css/all.min.css");

:root {

    --dark-bg: #2a292b;
    --accent-cream: #FFFAEC;
    --accent-brick: #D8453C;
    --accent-blue: #18cfee;
    --accent-pink: #E70075;
    --accent-gray: #757575;
    --accent-gray-light: #BCBEC0;
    --accent-light: #F0F1F2;
    --accent-green: #00380E;
    --accent-dark: #020204;
    --accent-dark-40: #02020466;
    --accent-dark-60: #02020499;
    --accent-dark-80: #020204CC;
    --accent-white: #fff;

    --text-color: #021c20;
    --text-white: #f1f1f1;
    --menu-active: #020204;
    --menu-page: #6C757D;
    --menu-home: var(--accent-cream);
    --box-shadow: 0 10px 30px rgba(0, 0, 0, .08);
    --tab-border: 1px dotted #131313;
    --tab-border-radius: 16px 16px 0 0;
    --block-spacing: 80px;
    --block-spacing-sm: 40px;
    --block-spacing-xs: 20px;

    --color-h1: var(--accent-pink);
    --color-h2: var(--accent-blue);
    --color-h3: var(--accent-pink);
    --color-h4: var(--accent-brick);
    --color-h5: var(--accent-gray);
    --color-h6: var(--accent-dark);

}

.theme-dark {
    --color-h1: var(--accent-white);
    --color-h2: var(--accent-blue);
    --color-h3: var(--accent-cream);
    --color-h4: var(--accent-pink);
    --color-h5: var(--accent-gray-light);
    --color-h6: var(--accent-light);
    --tab-border: 1px dotted var(--accent-dark);
    --box-shadow:
        0 0 0 1px rgba(24, 207, 238, .08),
        0 12px 28px rgba(24, 207, 238, .10),
        0 24px 48px rgba(231, 0, 117, .08);
}
.theme-dark {
    --color-h1: #F8F9FA;
    --color-h2: #E6E8EB;
    --color-h3: #C5C9CF;
    --color-h4: var(--accent-blue);
    --color-h5: #9BA3AE;
    --color-h6: #6D747D;

    --tab-border: 1px solid rgba(255,255,255,.02);

    --box-shadow: 0 10px 30px rgba(239, 238, 238, 0.08);
}
.theme-default {

    --outreach-01: #12355B;
    --outreach-02: rgb(14, 73, 110);
    --outreach-03: #1e64ae;
    --outreach-04: #4F9D69;
    --outreach-05: #7FA34D;
    --outreach-06: #5a7238;
    --outreach-07: #5c1563;
    --outreach-08: #763d7b;
    --outreach-09: #8A5A8E;
    --outreach-10: #ffffff;

    --color-h1: var(--accent-pink);
    --color-h2: var(--accent-blue);
    --color-h3: var(--accent-pink);
    --color-h4: var(--accent-brick);
    --color-h5: var(--accent-gray);
    --color-h6: var(--accent-dark);

}

.theme-vibrant {

    --outreach-01: #0B3C6F;
    --outreach-02: #0077CC;
    --outreach-03: #00A79D;
    --outreach-04: #2E8B57;
    --outreach-05: #6F9E2C;
    --outreach-06: #C98A00;
    --outreach-07: #D35400;
    --outreach-08: #B9432C;
    --outreach-09: #6F42C1;
    --outreach-10: #455A64;

    --color-h1: var(--accent-pink);
    --color-h2: var(--accent-blue);
    --color-h3: var(--accent-green);
    --color-h4: var(--accent-cream);
    --color-h5: var(--accent-white);
    --color-h6: var(--accent-gray-light);

}

.theme-pastel {

    --outreach-01: #0A2E5C;
    /* Royal Navy */
    --outreach-02: #006FBF;
    /* Vivid Blue */
    --outreach-03: #00AFA3;
    /* Vibrant Teal */
    --outreach-04: #2F8F57;
    /* Emerald Green */
    --outreach-05: #6E9C2E;
    /* Olive Green */
    --outreach-06: #D18A00;
    /* Rich Amber */
    --outreach-07: #D85A00;
    /* Deep Orange */
    --outreach-08: #C84A2F;
    /* Rich Terracotta */
    --outreach-09: #7B3FA3;
    /* Royal Purple */
    --outreach-10: #4E5D6C;
    /* Steel Grey */

    --color-h1: var(--accent-dark);
    --color-h2: var(--accent-blue);
    --color-h3: var(--accent-green);
    --color-h4: var(--accent-brick);
    --color-h5: var(--accent-gray);
    --color-h6: var(--accent-dark);

}

.theme-jewel {

    --outreach-01: #0B3954;
    /* Sapphire */
    --outreach-02: #006D77;
    /* Peacock */
    --outreach-03: #007F5F;
    /* Emerald */
    --outreach-04: #5A189A;
    /* Amethyst */
    --outreach-05: #9D4EDD;
    /* Orchid */
    --outreach-06: #C77D00;
    /* Topaz */
    --outreach-07: #BC4749;
    /* Ruby */
    --outreach-08: #AE2012;
    /* Garnet */
    --outreach-09: #8B5E34;
    /* Bronze */
    --outreach-10: #3C3C3C;
    /* Graphite */
    --color-h1: var(--accent-dark);
    --color-h2: var(--accent-blue);
    --color-h3: #7B2CBF;
    /* Amethyst */
    --color-h4: var(--accent-brick);
    --color-h5: #8B6F47;
    /* Antique Gold */
    --color-h6: var(--accent-gray);
}

.theme-default,
.theme-pastel,
.theme-jewel,
.theme-vibrant {
    --tab-bg: var(--accent-white);
    --tab-text: var(--accent-dark);
    --tab-active-bg: var(--accent-pink);
    --tab-active-text: var(--accent-white);
    --tab-content-bg: var(--accent-white);
}

.theme-dark {
    --tab-bg: transparent;
    --tab-text: var(--accent-light);
    --tab-active-bg: var(--accent-blue);
    --tab-active-text: var(--accent-dark);
    --tab-content-bg: transparent;
    --tab-border-radius: 16px 16px 16px 16px;
}

body {
    font-family: "Inter", sans-serif;

    color: var(--text-color);
    font-size: 16px;
    line-height: 20px;
}
.logo-page{
    display: inline-block;
}
.logo-home{
    display: none;
}
.region-pagetitle {
    margin-bottom: 0;
}

h1,
h1 a {
    font-size: 3.4rem;
    line-height: normal;
    color: var(--color-h1);
}

h2,
h2 a {
    font-size: 2.2rem;
    line-height: 1.15;
    color: var(--color-h2);
}

h3,
h3 a {
    font-size: 1.8rem;
    line-height: 1.2;
    color: var(--color-h3);
}

h4,
h4 a {
    font-size: 1.5rem;
    line-height: 1.3;
    color: var(--color-h4);
}

h5,
h5 a {
    font-size: 1.25rem;
    line-height: 1.4;
    color: var(--color-h5);
}

h6,
h6 a {
    font-size: 1rem;
    line-height: 1.5;
    color: var(--color-h6);
}

h1,
h2,
h3,
h4,
h5,
h6 {
    margin-bottom: 20px;
}
.s-hidden{
    display: none;
}
.preheader,
.card-preheader {
    font-size: 14px !important;
    margin-bottom: 4px !important;

}

.card-preheader span {
    border-bottom: 1px dotted var(--accent-gray-light);
    padding-bottom: 4px;
}

.subheader,
.card-subheader {
    font-size: 14px !important;
}

.header,
.card-heading {
    margin-bottom: 10px;
}

h4.card-heading {
    border-bottom: 1px dotted var(--accent-pink);
    padding-bottom: 10px;
}

.boxshadowr, .boxshadow {
    box-shadow: var(--box-shadow);
    padding: 20px;
    border-radius: 20px;
}

.boxshadowr img, .boxshadowr .card-image, .imgrounded .card-image, .imgrounded img {
    border-radius: 20px;    
}
.p-plax-orientation.imgroundsh .card-image, .imgroundsh img{    
    box-shadow: var(--box-shadow);
    border-radius: 20px;    
}

.swiper-hero-disabled .card-preheader {
    font-family: "Cormorant Garamond", serif;
    color: var(--accent-brick);
}

p,
ul,
ol {
    margin-bottom: 20px;
    line-height: 1.6;
}

main ul li {
    padding-left: .5rem;
    line-height: 1.8;
}

main ul li::before {
    content: "";
    display: inline-block;
    width: 4px;
    height: 4px;
    margin-right: 8px;
    border-radius: 50%;
    background: var(--accent-pink);
    vertical-align: middle;
}

main ol {
    list-style: decimal;
    list-style-position: outside;
    margin: 1.5rem 0;
    padding-left: 1.75rem;
}

main ol li {
    padding-left: .5rem;
    line-height: 1.8;
}
main li ul, main li ol {
    margin: .8rem 0;
}

main ol li::marker {
    color: var(--accent-pink);
    font-weight: 600;
}

.region-breadcrumb {
    margin: 40px 0;
}
.region-header{
    padding: 20px 0;
}
.branding img {
    height: 100px;
    width: auto;
}

.branding .ncbs-logo {
    height: 60px;
}

.brand-bar {
    height: 40px;
    border: 1px solid #fff;
    margin: 10px 40px;
}

.region-primary-menu {
    border-top: 1px solid #2a292b;
    padding: 20px 0;    
}

.primary_menu a {
    font-size: 20px;
    font-weight: 700;
}

.primary_menu li li a {
    font-size: 16px;
    font-weight: 500;
}


.card-action {
    padding-bottom: 20px;
}

.card-action h6 {
    color: #E70075;
    font-size: 20px;
    line-height: 22px;
    margin: 20px 0;
}

.card-action a, button.card-action {
    display: inline-block;
    background-color: var(--accent-pink);
    padding: 10px 24px;
    font-size: 14px;
    line-height: 14px;
    color: var(--text-white);
    border-radius: 20px;
    cursor: pointer;
}

.accordion h3{
    margin-bottom: 0 !important;
}
.accordion--open .accordion--content{
    padding: 0 20px 10px;
}

footer {
    background-color: #020204;
    padding-top: 40px;
    margin-top: 40px;
}

footer p {
    color: #fff;
}

footer .address-region li a {
    font-size: 14px;
    line-height: 16px;
}

footer a,
footer a:link,
footer a:visited,
footer a:active {
    color: #fff;
}

footer a:hover,
footer a:focus {
    color: var(--accent-brick);
}

footer li a::before {
    content: "";
    display: inline-block;
    width: 1px;
    height: 1px;
    margin-right: 8px;
    border-radius: 50%;
    background: var(--accent-brick);
    vertical-align: middle;
}

footer .h4 {
    color: var(--accent-brick);
    font-weight: normal;
    font-size: 18px;
}

footer h4 {
    color: var(--accent-brick);
    font-size: 22px;
    text-transform: uppercase;
    font-weight: 700px;
    padding: 20px 0;
}

.address-region h4 {
    padding-top: 0;
}

.address-region p,
.address-region a {
    font-size: 16px;
}

.address-region {
    padding: 40px 0;
    border-top: 1px solid #2a292b;
}

.address-region li+li>a {
    padding-top: 10px;
    display: inline-block;
}

.social a {
    padding: 0 10px;
}

.logos-region {
    border-top: 1px solid #2a292b;
    padding: 60px 0;
}

.footer-logos img {
    max-height: 80px;
    width: auto;
    max-width: 140px;
}

.footer-logos .brand-bar {
    border: 1px solid #020204;
    margin: 10px 20px;
}

.copyright-region {
    border-top: 1px solid #2a292b;
    padding: 40px 0;
}

.copyright-region a,
.copyright-region p {
    font-size: 14px;
    margin-bottom: 0;
}

.cblock {
    margin-bottom: var(--block-spacing);
}

/*remove margin bottom of any item within .cblock of all descendants including inside nested containers*/
.cblock:last-child{
    margin-bottom:0;
}
.cblock p:last-child{
    margin-bottom:0;
}
.publication-card{    
    padding: 20px;
}
.card .cblock,
.publication-card .cblock {
    border-bottom: 1px dotted var(--accent-gray);
    padding: 10px 0;    
}

.publication-card .card-text a {
    color: var(--accent-blue);
    display: block;
    margin: 20px 0;
}

.publication-card h6.card-preheader {
    font-size: 12px;
    margin-bottom: 4px;
}

.publication-card .card-heading {
    margin-bottom: 10px;
    font-size: 16px;
    text-transform: capitalize;
    min-height: 70px;    
}

.publication-card h6.card-subheader {
    font-size: 14px;
}

.publication-card .card-content p {
    font-size: 14px;
}

.cattags {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    font-size: 12px;
    margin-bottom: 10px;
}

.cattags a {
    display: inline-flex;
    align-items: center;
    padding: 0px 10px;
    background: var(--accent-light);
    border-radius: 20px;
    font-size: 12px;
    line-height: 20px;
}

.news-sidebar h3 {
    margin-bottom: 0;
}

.news-sidebar h3 a {
    font-size: 14px;
    display: block;
    text-align: right;
}

.news-dates-share {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 24px;
    padding: 14px 0;
    margin-bottom: var(--block-spacing-sm);
    border-top: 1px dotted var(--accent-gray-light);
}

.news-dates {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 8px;
    font-size: .95rem;
    color: var(--accent-gray);
}

.news-dates i {
    font-size: 1rem;
    color: var(--accent-pink);
    margin-right: 4px;
}

.date-label {
    color: var(--accent-gray);
    font-weight: 500;
}

.newsdate {
    color: var(--accent-dark);
    font-weight: 600;
    padding: .2rem .7rem;
    background: var(--accent-light);
    border-radius: 999px;
}

.newsdate-to {
    background: var(--accent-cream);
}

.news-share {
    display: flex;
    align-items: center;
    gap: .6rem;
}

.share-link {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 38px;
    height: 38px;
    border-radius: 50%;
    background: var(--accent-light);
    color: var(--accent-gray);
    text-decoration: none;
    transition: all .25s ease;
}

.share-link:hover {
    background: var(--accent-pink);
    color: var(--accent-white);
    transform: translateY(-2px);
    box-shadow: var(--box-shadow);
}

@media (max-width:768px) {

    .news-dates-share {
        flex-direction: column;
        align-items: flex-start;
        gap: 16px;
    }

    .news-share {
        width: 100%;
        justify-content: flex-start;
    }

}

svg.icon {
    width: 34px;
    display: inline-block;
}

.tabs {
    display: flex;
    gap: 1rem;
    margin-bottom: 0;
    border: 0;
}

.tab {
    appearance: none;
    background: var(--tab-bg);
    color: var(--tab-text);
    border: 0;
    border-radius: var(--tab-border-radius);
    padding: 1rem 2rem;
    font-size: 1.1rem;
    font-weight: 500;
    cursor: pointer;
    transition: all .25s ease;
}

.tab:hover {
    transform: translateY(-2px);
}

.tab.active {
    background: var(--tab-active-bg);
    color: var(--tab-active-text);
    font-weight: 600;
}

.tab.active svg,
.tab.active i {
    color: inherit;
}

.tab-content {
    padding: 20px 0 0;
    border-top: var(--tab-border);    
    transition: opacity .25s ease;    
}

.tab-content.is-hidden {
    display: none;
}

.tab-content.is-entering {
    animation: tabFadeIn .3s ease;
}

@keyframes tabFadeIn {
    from {
        opacity: 0;
        transform: translateY(8px)
    }

    to {
        opacity: 1;
        transform: translateY(0)
    }
}

.events-latest-component {
    border-top: 1px dotted #08d6f144;
    border-bottom: 1px dotted #08d6f144;
    padding: 40px 0;
}

.events-latest-component .cblock {
    margin-bottom: 0;
}

.events-latest-component .swiper-wrapper {
    margin: var(--block-spacing);
}

.form-item {
    margin-bottom: 40px;
}

.form-item label {
    display: block;
    margin-bottom: 6px;
}

.form-item input,
.form-item select,
.form-item textarea {
    border: 1px solid var(--accent-gray);
    padding: 14px;
    font-size: 16px;
    line-height: 20px;
    border-radius: 10px;
    box-sizing: border-box;
}

#edit-actions {
    padding-bottom: 40px;
    margin-bottom: 40px;
}

input[type="submit"],
button[type="submit"] {
    background: var(--accent-pink);
    color: #fff;
    border: 1px solid var(--accent-gray);
    padding: 0.75rem 1.5rem;
    border-radius: 10px;
    cursor: pointer;
    width: auto;
}

input[type="submit"]:hover,
button[type="submit"]:hover {
    opacity: 0.9;
}

form {

    /* 
  align-items: center; 
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  */
    gap: 20px;
    border-bottom: 1px dotted var(--accent-blue);
    border-top: 1px dotted var(--accent-blue);
    padding: 40px 0;
}

.form-item,
#ajax-wrapper,
.form-actions,
.captcha {
    flex: 0 1 calc(50% - 10px);
}

.captcha {
    border: 1px dotted var(--accent-gray);
    border-radius: 10px;
    padding: 20px;
    display: inline-block;
    margin-bottom: 20px;
}

.captcha .description {
    font-size: 14px;
}

@media (max-width:767px) {

    main,
    .region-breadcrumb,
    .region-pagetitle,
    .region-highlighted,
    footer {
        padding: 0 20px;
    }

    .footer-logos {
        padding-bottom: 40px;
    }

    .brand-logo img {
        max-width: 60px;
    }

    .partner-logo img {
        max-width: 50px;
    }

    .copyright_links {
        padding-bottom: 20px;
    }

    .address-region h4 {
        margin-bottom: 0;
    }

    .quick_navigation h4 {
        margin-top: 20px;
    }
}
.profile-icon{
    color: var(--accent-blue);
}
.job-card {
    border-bottom: 1px dotted var(--accent-blue);
    margin: 0px 0 40px;
    padding-bottom: 40px;
}

.job-title {
    margin-bottom: 10px;
}

.status {
    display: inline-block;
    padding: .4rem 1rem;
    border-radius: 999px;
    font-size: .9rem;
    font-weight: 600;
}

.status.open {
    background: var(--accent-green);
    color: var(--accent-white);
}

.status.archived {
    background: var(--accent-light);
    color: var(--accent-dark);
}

.job-label {
    font-weight: 600;
    letter-spacing: .02em;
}

.theme-switcher {
    cursor: pointer;
}
.news-list-component .swiper-slide{
    background:#101010;
    box-shadow:
        inset 0 1px rgba(255,255,255,.02),
        0 10px 30px rgba(0,0,0,.2);
    border:1px solid rgba(48, 48, 48, 0.12);
    border-radius:18px;
    overflow:hidden;
    transition:.3s ease;
}
.news-list-component .news-card{
    display:flex;
    gap:24px;
    align-items:stretch;
}

.news-list-component .news-card-image{
    flex:0 0 34%;
    display:flex;
}

.news-list-component .news-card-image img{
    width:100%;
    height:100%;
    object-fit:cover;
    border-radius:0px 16px 16px 4px;
    display:block;
}
.news-list-component .swiper-slide:hover{
    border-color:rgba(24,207,238,.45);
    box-shadow:0 0 0 1px rgba(24,207,238,.08),0 10px 30px rgba(0,0,0,.35);
}
.swiper-slide .news-card-content {
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    align-self: stretch;
    padding: 20px;
}

.swiper-slide .news-card-content h3,
.swiper-slide .news-card-content h3 a {
    font-size: 1rem;
    font-weight: bold;
}
.news-list-component .swiper-slide .news-card,
.news-list-component .swiper-slide .news-card-image{
    height: 200px;
}

.swiper-slide .news-card-teaser,
.swiper-slide .events-latest-heading {
    margin-bottom: var(--block-spacing-sm);
}
.news-list-component .swiper{
    
}
.swiper-slide .news-card-content>*,
.swiper-slide .news-card-teaser>* {
    margin-bottom: 0;
}

.swiper-slide .news-card-link {
    text-align: right;
}

.swiper-slide .news-card-date {
    color: var(--accent-cream);
    margin-bottom: 10px;
    font-size: 14px;
}

.swiper-slide .news-card-image img {
    display: inline-block;
}

.cbm-news-related .related-news-image img {
    max-width: 80px;
    height: auto;
}

.cbm-news-related .related-news-title,
.cbm-news-related .related-news-title a {
    color: var(--accent-dark);
}
.card-grid {
    display: flex;
    flex-direction: column;
    gap: 2rem;
    align-items: center;
}

@media (min-width: 768px) {
    .card-grid {
        flex-direction: row;
        align-items: center;
    }

    .card-grid > * {
        flex: 1 1 0;
    }
}

.card-image {
    display: flex;
    justify-content: center;
    align-items: center;
    flex: 0 0 auto;
}

.card-image img {
    display: block;
    max-width: 100%;
    height: auto;
}

.p-plax-orientation .card-image {
    overflow: hidden;

    background-repeat: no-repeat;
    background-position: top center;
    background-size: 100% auto;
}

.card-content {
    flex: 1 1 0;
}
.text-center .card-image img{
    display: inline-block;
    
}
.cbm-news-related .cblock{
    margin-bottom: var(--block-spacing-xs);
}
.cbm-news-related article{
    padding-bottom: var(--block-spacing-xs);
}
.related-news-title, .related-news-title a{
    font-size: 16px;
}

/* ==========================================================================
   Navigation
   ========================================================================== */

.main-toggle-top{
    padding-left: 20px;
}

.menu-toggle,
.menu-close,
.mobile-menu-header {
    display: none;
}

.main-menu {
    position: relative;
}

.main-menu-links,
.main-menu-links ul {    
    list-style: none;
}

.main-menu-links {
    display: flex;
    align-items: center;
    gap: .25rem;
    margin-bottom: 0;
    justify-content: space-evenly;
}

.menu-item {
    position: relative;
}

.menu-link {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 10px;

    padding: 4px 10px;

    text-decoration: none;
    color: var(--menu-page);
}

body.path-frontpage .menu-item a {
    color: var(--menu-home);
}

.menu-item.active > .menu-link,
.menu-item.current > .menu-link,
.menu-link.active,
.menu-link.current {
    color: var(--menu-active);
}

.menu-link svg {
    transition: transform .2s ease;
}

/* ==========================================================================
   Dropdown
   ========================================================================== */

.submenu {
    display: none;

    position: absolute;
    top: 100%;
    left: 0;

    min-width: 300px;

    margin: 0;
    padding: 4px 0px 10px 10px;

    z-index: 100;        
    
}

body.path-frontpage .submenu .menu-item > .menu-link{
    background-color: var(--accent-dark);
}

.has-children:hover > .submenu {
    display: block;
}

/* CHANGED: submenu-item -> menu-item */

.submenu .menu-item {
    width: 100%;
}

.submenu .menu-item > .menu-link {
    display: block;
    width: 100%;
    padding: 14px 10px;
    background-color: var(--accent-white);
    border-bottom: 1px dotted var(--accent-blue);
    
}
.submenu .menu-item:last-child > .menu-link {
    
}

/* ==========================================================================
   Mobile
   ========================================================================== */

@media (max-width:767px){
    .brand-bar{
        margin: 0 30px;
    }
    .menu-toggle{
        display:flex;
        align-items:center;
        justify-content:center;
    }

    body.menu-open{
        overflow:hidden;
    }

    body.menu-open .menu-toggle{
        display:none;
    }

    .main-menu{

        display:none;

        position:fixed;

        inset:0;
        top:100px;

        width:100vw;
        height:100vh;

        overflow-y:scroll;

        background:var(--accent-dark);

        z-index:9999;
    }

    .main-menu.is-open{
        display:block;
    }

    .main-menu-links{

        display:flex;
        flex-direction:column;
        align-items:stretch;

        gap:0;

        width:100%;
        min-height:100%;
    }

    .mobile-menu-header{

        display:flex;

        justify-content:flex-end;
        align-items:center;

        position:sticky;
        top:0;

        width:100%;

        padding:1rem;
    }

    .menu-close{
        display:flex;
        align-items:center;
        justify-content:center;
        width:42px;
        height:42px;
        padding:0;
        border:0;
        background:none;
        color:var(--accent-light);
        cursor:pointer;
    }

    .menu-close svg{
        width:24px;
        height:24px;
        stroke:currentColor;
    }

    .menu-item{
        width:100%;
        padding:0 20px;
    }

    .menu-item > .menu-link{
        width:100%;
        padding:1rem 0;
    }

    /* Disable hover dropdowns */

    .has-children:hover > .submenu{
        display:none;
    }

    /* Accordion */

    .submenu{
        display:none;
        position:static;
        width:100%;
        min-width:auto;
    }

    .menu-item.is-open > .submenu{
        display:block;
    }

    .submenu .menu-item{
        padding: 0;
    }

    .submenu .menu-item > .menu-link{

        padding:14px 10px;

        border-bottom:1px dotted var(--accent-blue);

        white-space:normal;
    }

    .submenu .menu-item:last-child > .menu-link{
        border-bottom:0;
    }

    .menu-item.is-open > .menu-link svg{
        transform:rotate(180deg);
    }

}


.news-list-view .news-list-content{
    display:flex;
    flex-direction:column;
}
.news-list-view .news-list-heading{
    border-bottom: 1px dotted var(--accent-brick);
  padding-bottom: 10px;
  margin-bottom: 0;
}
.news-list-view .news-cat-heading{
    text-transform: uppercase;
    margin-bottom: 0;
    margin-bottom: 10px;
    margin-top: 10px;
}
.news-list-view h5 span{
    border-bottom: 1px solid var(--accent-brick);
    display: inline-block;
    padding-bottom: 10px;
    margin-bottom: 0px;
}
.news-list-view .news-list-item{
    display:grid;
    grid-template-columns:110px minmax(0,1fr) 180px;
    gap:2rem;
    align-items:center;    
    padding: 20px;
    margin-bottom: 20px;    
    border-bottom: 1px dotted var(--accent-gray);
}
.news-list-view .news-list-content .news-list-item:last-child{
    border-bottom:none;
    margin-bottom: 0;
}

.news-list-view .news-list-date{
    display:flex;
    flex-direction:column;
    gap:.25rem;
    font-size:.82rem;
    line-height:1.35;
    color:var(--color-h5);
}

.news-list-view .date-from,
.news-list-view .date-to,
.news-list-view .date-single{
    white-space:nowrap;
}

.news-list-view .news-list-title{
    margin:0;
    min-width:0;
}

.news-list-view .news-list-title a{
    display:block;
    color:inherit;
    text-decoration:none;
    font-size:1rem;
    font-weight:500;
    line-height:1.45;
    transition:color .2s ease;
}

.news-list-view .news-list-title a:hover{
    color:var(--accent-pink);
}

.news-list-view .news-list-right{
    display:flex;
    align-items:center;
    justify-content:flex-end;
    gap:1rem;
    flex-wrap:nowrap;
    white-space:nowrap;
}

.news-list-view .news-list-image{
    flex:0 0 90px;
}

.news-list-view .news-list-image img{
    display:block;
    width:90px;
    max-height:100px;
    object-fit:cover;
    border-radius:8px;
}

.news-list-view .news-list-readmore{
    flex-shrink:0;
}

.news-list-view .news-list-readmore a{
    color:var(--color-h5);
    text-decoration:none;
    font-size:.9rem;
    font-weight:500;
    transition:color .2s ease;
}

.news-list-view .news-list-readmore a:hover{
    color:var(--accent-pink);
}

@media (max-width:768px){

    .news-list-view .news-list-item{
        grid-template-columns:1fr;
        gap:1rem;
    }

    .news-list-view .news-list-right{
        justify-content:space-between;
    }

}


.declaration-dialog {
    width: min(700px, calc(100vw - 2rem));
    max-width: 700px;
    padding: 2rem;
    border: 0;
    border-radius: 12px;
    position: relative;
}

.declaration-dialog::backdrop {
    background: rgba(0,0,0,.55);
}

/* Native <dialog> is centered automatically when opened with showModal().
   These rules ensure it stays centred. */
.declaration-dialog[open] {
    margin: auto;
}

.dialog-close {
    position: absolute;
    top: 1rem;
    right: 1rem;
    width: 2rem;
    height: 2rem;
    border: 0;
    background: transparent;
    cursor: pointer;
    font-size: 1.5rem;
    line-height: 1;
}

.actions {
    display: flex;
    gap: 1rem;
    margin-top: 2rem;
    flex-wrap: wrap;
}