/* ################
##### Header ######
################ */
@media all {

    h1,
    .h1,
    h2,
    .h2,
    h3,
    .h3,
    h4,
    .h4,
    h5,
    .h5,
    h6,
    .h6,
    p,
    li,
    a,
    caption,
    figcaption {
        overflow-wrap: break-word;
        word-wrap: break-word;
        /*! -webkit-hyphens: auto; */
        /*! -ms-hyphens: auto; */
        /*! hyphens: auto; */
    }

    .h1,
    .h2,
    .h3,
    .h4,
    .h5,
    .h6,
    h1,
    h2,
    h3,
    h4,
    h5,
    h6 {
        margin-top: 0;
        margin-bottom: 0;
        font-weight: 600;
        line-height: 1.25;
        letter-spacing: -.03em;
    }

    h1, .h1 {
        font-weight: 700;
    }

    .ce-header * + .ce-header-subheader {
        margin-top: var(--size-1);
    }

    #mobileMainMenuToggle,
    .page-header-donation-link {
        font-weight: 700;
    }

}

/* ##################
##### Bodytext ######
################## */
@media all {

    p {
        margin-bottom: unset;
    }
    
    .ce-bodytext > *:not(p,ul) {
        margin-top: 2rem;
    }
    
    .ce-bodytext > * + * {
        margin-bottom: 0;
        margin-top: var(--size-4);
    }

    ul {
        margin-bottom: 0;
    }

    .ce-bodytext :is(ul, ol) {
        margin-top: 1.5rem;
        padding-left: 1em;
    }

    .ce-bodytext :is(ul, ol) + p {
        margin-top: 1.5rem;
    }

    .ce-bodytext :is(ul, ol) :is(ul, ol) {
        margin-top: 0;
    }
                                    
    .ce-element li {
        margin-top: var(--size-1);
    }

    .ce-bodytext > *:first-child {
        margin-top: 0;
    }

    a {
        --bs-link-color-rgb: var(--ce-color-fg);
        text-underline-offset: .25em;
        text-decoration-thickness: 1px;
    }
    
    a:not(.btn,.icon-link):is(:hover,:focus-visible) {
        color: var(--ce-color-interactive);
    }
    
    :is(.card,.ce-media-overlay,.accordion-item) a:not(.btn, .icon-link):is(:hover,:focus-visible) {
        color: var(--ce-color-card-interactive);
    }

    .card-preheader {
        font-size: var(--font-size-small);
    }

    a.icon-link:is(:hover, :focus-visible) {
        font-weight: 700;
    }

    .ce-bodytext [class*=icon-before-] i {
        margin-right: .25em
    }

    .ce-bodytext [class*=icon-after-] i {
        margin-left: .25em
    }

    a.badge {
        text-decoration: none
    }

    caption,
    figcaption {
        font-size: var(--font-size-small);
    }
    
    .mfp-image-holder .mfp-close, 
    .mfp-iframe-holder .mfp-close,
    .mfp-title {
        color: var(--color-darkpurple);
    }
    
    .mfp-close, 
    .mfp-close {
        font-size: inherit;
    }

    .list-checkmarks li::marker {
        content: "✓ ";
        font-weight: bold
    }

    .align-center {
        text-align: center
    }

    .align-left {
        text-align: left
    }

    .align-justify {
        text-align: justify
    }

    .align-right {
        text-align: right
    }

    .text-manualhyphens {
        -webkit-hyphens: manual;
        -ms-hyphens: manual;
        hyphens: manual
    }

    .text-nohyphens {
        -webkit-hyphens: none;
        -ms-hyphens: none;
        hyphens: none
    }

    .ce-bodytext > *:last-child {
        margin-bottom: 0
    }
    
    .page-footer-bottom .ce-bodytext ,
    .btn-primary.btn-small-padding {
        font-size: var(--font-size-small);
    }
    
    .ce-bodytext blockquote p::before {
        content: "»"
    }    
    .ce-bodytext blockquote p::after {
        content: "«";
    }
    
}
        
@media (min-width: 62rem) {

    .ce-bodytext > *:not(p,ul) {
        margin-top: 2.5rem;
    }
    
    .ce-bodytext > * + * {
        margin-top: .5rem;
    }
    
    .btn-primary.btn-small-padding {
        font-size: var(--bs-btn-font-size);
    }

}

/* #################
##### MM-Menu ######
################# */
@media all {

    #mobileMainMenu .mm-navbar__title,
    #mobileMainMenu .mm-listitem__text {
        font-size: 1.1875em;
    }

    #mobileMainMenu .mm-navbar__title {
        font-weight: 700;
    }

    #mobileMainMenu .mobile-nav-item-large {
        font-size: 1.3125em;
        font-weight: 700;
    }

}

/* #################
##### MainNav ######
################# */
@media all {

    .navbar-nav > .nav-item > .nav-link {
        font-size: var(--font-size-large);
        font-weight: 700;
        color: var(--color-darkpurple);
    }

    .navbar-nav > .nav-item > .nav-link:is(:hover, :focus-visible) {
        color: var(--color-red);
    }
    
    .dropdown-item.active:is(:hover, :focus), 
    .dropdown-item:active:is(:hover, :focus) {
        color: var(--color-red);
    }

}

/* ###################
##### FooterNav ######
################### */
@media all {
    
    .footer-menu .navbar-nav > .nav-item > .nav-link {
        font-size: unset;
        font-weight: 400;   
    }

}

/* ###################
##### Search ######
################### */
@media all {
    
    .page .kesearch-resultlist .ordering label {
        font-size: var(--font-size-small);
    }

}