body {
    min-height: 100vh;
    min-height: 100svh;
}

.font-semibold {
    font-weight: 600;
}

.font-bold {
    font-weight: 700;
}

/* no top space for first element on page - align all the same */
.main > div:first-child {
    padding-top: 0;
    margin-top: 0;
}

.main.pt-\[84px\] {
    padding-top: 68px;
}



/* fix spacing in tile view (home) */
.article .bg-span.flex-text-date span:after,
.article .bg-span.flex-text-title span:after {
    width: calc(100% + 11px);
}

.article.article--text-over-image .mb-3,
.article.article--text-over-image .embed.my-2 {
    margin-bottom: 0;
}

.article.article--text-over-image div.absolute.bottom-0 {
    margin-bottom: 10px;
}

.pb-12 {
    padding-bottom: 84px;
}

/* spacer contents us new --category-bg */
.spacer {
    background-color: var(--category-bg, light-dark(#fff, #000));
}

/* 
    modify header in list/grid view:
    - add line in list view 
    - cover space above bar so contents dont peek through
*/
.fixed-list-header {
    padding-bottom: 10px;
}

.fixed-list-header:after {
    content: "";
    display: block;
    position: absolute;
    bottom: -1px;
    --gap: 10px;
    left: var(--gap);
    width: calc(100% - 2 * var(--gap));
    height: 1px;
    background-color: var(--category-primary, currentColor);
    box-sizing: border-box;
}
[data-view="grid"] .fixed-list-header:after {
    content: none;
}

.tags-page .fixed-list-header:after {
    --gap: 0px;
}

/* the dynamic font size changes the height and therefore the position of the :after line - make height fixed to align with main navigation */
.fixed-list-header > div{
    height: 24px;
}
.no-search-results{
    margin-top: 3px;
}

@media (min-width: 768px) {
    body.category-fieldnotes [data-view="list"] .fixed-list-header:after  {
        --gap: 15px;
    }
}

@media (min-width: 480px) {
    .fixed-list-header:before {
        --gap: -30px;
    }
}

/* optimize wrap in on mobile */
.header-navigation {
    white-space: nowrap;
}
.fixed-list-header .font-semibold {
    display: inline-block;
}

/* hover effect to the right of the date in list view*/
.list-view time{
    display: block;
}




/* remove top line of first entry list view */
[data-view="list"] .article:first-child > div {
    border-color: transparent !important;
}

/* fix top alignment in grid view  with list view line */
[data-view="grid"] .article:not(.fieldnotes) .p-2 {
    padding-top: 0 !important;
}

/* add space above text when visible in grid view */
[data-view="grid"] a:hover .text {
    padding-top: 5px;
}


/* fix long tiles cut off in grid view */
.group:hover .group-hover\:max-h-\[200px\] {
    max-height: 300px;
}

.scrolled-down:not(.menu-opened) .fixed-list-header {
    --tw-translate-y: -54px !important;
}

.fixed-list-header:before {
    content: "";
    display: block;
    position: absolute;
    --gap: -10px;
    top: -80px;
    left: var(--gap);
    width: calc(100% - 2 * var(--gap));
    height: 80px;
    background-color: #fff;
}
.dark .fixed-list-header:before {
    background-color: #000;
}

body.category-fieldnotes .grid-view .article > div{
    padding-top: 0 !important;
}




/* grid view text block on category, tag and search results */
.grid-view .flex-col-text-normal {
    max-width: 28ch;
}
.font-size-71 {
    font-size: 0.71em;
}


/* space in grid view below text - does not work because spacing is done in js */
/*
[data-view="grid"] a > div {
    padding-bottom: 0px;
    transition: padding-bottom 03s;
}
[data-view="grid"] a > div:hover {
    padding-bottom: 20px;
}

@media (max-width: 767px) {
    [data-view="grid"] a > div{
        padding-bottom: 40px;
    }
}
*/

/* attempt two:  space in grid view below text - does not work because spacing is done in js */
/*
[data-view="grid"] a::after {
    content: '';
    display: block;
    height: 0px;
}
[data-view="grid"] a:hover::after {
    height: 40px;
}
*/


/* align main nav to fixed header in list/grid view */
nav.main-nav {
    padding-top: 43px;
}

/* fix sizes in tile view (home) */
@media (max-width: 479px) {

    .flex-text-title-small-enlarged {
        font-size: 18.5px !important;
    }
    
    .flex-text-date-small-enlarged {
        font-size: 13.2px !important;
    }


    .title-over-image-mobile > * {
        line-height: 23px !important;
    }

    .title-over-image-mobile {
        width: 214px !important;
    }

    .article .bg-span.flex-text-date-small-enlarged span::after,
    .article .bg-span.flex-text-title-small-enlarged span::after{
        border-bottom-width: 32px;
    }
}

/* strange bug with dissapearing titles */
@media (min-width: 479px) and (max-width: 521px) {
    .w--large .flex-text-title {
        font-size: 4vw !important;
    }
    .w--large .article-large-category,
    .w--large .flex-text-date-small-enlarged {
        font-size: 3vw !important;
    }   
}
.article.w--small .article--inner {
    padding-bottom: 10px;
}



/* make list view expand on click */
.css-foldout-focus .css-foldout {
    height: 0;
    overflow: clip;
    transition: height 0.3s ease;
    interpolate-size: allow-keywords;
}
.css-foldout-focus .title {
    cursor: pointer;
}

.css-foldout-focus.open .css-foldout {
    height: auto;
}

@media (min-width: 1024px) {
    /* open mobile accordions on desktop */
    .ce-related .css-foldout-focus .css-foldout {
        height: auto;
    }
}




/* underlines for links on hover */

#language-menu a:hover,
.more-link a:hover,
.header-navigation a:hover,
.social-share-links a:hover,
.tags a:hover,
a.backlink:hover,
.wysiwyg a[href="#top"]:hover {
    text-decoration: underline !important;
    text-underline-offset: 0.3em;
    transition: none !important;
}

a.backlink {
    text-decoration: none;
}

/* Taglinks Unterstrich vor Hover zu nah am Text und... */
.tags.relative.flex.items-start ul a,
/* ..auf Tagsübersicht zu nah am Text */
.page-template-template-tags .wysiwyg.taglist a,
.page-template-template-tags .wysiwyg.taglist a:hover {
    text-underline-offset: 0.3em;
}

/* link colors menus with active state: main & language */

#main-menu,
#language-menu-toggle,
#language-menu {
    font-weight: 400;
    color: #191919;
}
.dark #main-menu,
.dark #language-menu,
.dark #language-menu-toggle {
    color: #f5f5f5;
}

#language-menu a {
    color: inherit;
}

#main-menu a:hover,
#language-menu a:hover{
    color: #999;
    color: #aaa; /* better distinction to 8c8c8c */
}
.dark #main-menu a:hover,
.dark #language-menu a:hover{
    color: #646464;
}

/* active state */
#language-menu [aria-selected="true"],
.current-menu-item {
    color: #8C8C8C; /* same color in light and dark mode */
}


/* link colors for navigation links: more,  fixed header, back, top, tags and share */
.more-link,
.header-navigation {
    font-weight: 400;
    color: #191919;
}
.more-link a,
.header-navigation a{
    color: inherit;
}
.dark .more-link,
.dark .header-navigation {
    color: #f5f5f5;
}

.more-link a:hover,
.header-navigation a:hover,
.social-share-links a:hover, 
.tags a:hover,
.wysiwyg a.backlink:hover,
.sub_menu a:hover,
.wysiwyg a[href="#top"]:hover 
{
    color: #8C8C8C !important; /* same color in light and dark mode */

    .dark & {
        color: #8C8C8C !important; /* same color in light and dark mode */
    }
}




/* list<>grid toggle: make clickabe area bigger */
.toggle-icon-wrap {
    padding: 15px;
    margin: -10px;
}




/*  TAGS PAGE — T1 TYPOGRAPHY REACTIVATION  */
.taglist {
    max-width: 55ch;
}



/* Navigation: Text size options */

li[data-size="large"] {
    font-size: 17px;
}

li[data-size="largest"] {
    font-size: 20px;
}


/* allow two column in grid view on small devices */
@media (min-width: 750px) and (max-width: 1024px) {
    .w--normal {
        width: 49%;
    }
}

@media (min-width: 522px) and (max-width: 750px) {
    .w--normal {
        width: 100%;
    }
    .flex-col-text-normal {
        font-size: 3.95vw;
    }
}




/* New Language Navigation */

#language-menu {
    display: flex;
    flex-direction: row-reverse;
    align-items: center;
    margin-right: -10px;
    font-size: 13px;

    & ul {
        gap: 1em;
        display: flex;
        padding: 1em;
        padding-right: 0.5em;

        &[hidden]{
            display: none;
        }
    }
}
#language-menu-toggle {
    width: 33px;
    min-width: 33px;
    height: 33px;
    flex: 0 0 33px;
    box-sizing: content-box;
    display: block;
    appearance: none;
    border: 0 none transparent;
    cursor: default;
    position: relative;
    background-color: transparent;
    
    &::after {
        content: '';
        display: block;
        width: 11px;
        aspect-ratio: 1;
        border-radius: 2ex;
        border: 1px solid currentColor;
        position: absolute;
        left: 50%;
        top: 50%;
        transform: translateX(-50%) translateY(-50%);
    }

}
@media (max-width: 670px) {
    /* jumping logo has been killed*/
    /* #language-menu {
        width: auto;
        min-width: 33px;
    } */
     
    /* hide logo when language-menu is expanded*/
    body:has(#language-menu [aria-expanded="true"]) .top-bar a[href="/"] {
        display: none;
    }
}



/* new blog name */

#sitetitle {
    position: absolute;
    left: 4.3em;
    top: 6px;
    width: max-content;
    color: #0000ff;
}

.dark #sitetitle {
    color: #ffff00;
}
@media (max-width: 750px) {
    #sitetitle {
        display: none;
    }
}


/* logotype monogram smaller on mobile */
@media (max-width: 480px) {
    .logo img {
        transform: scale(0.9);
    }
}



/* new related Articles content element */

.two-columns {
    --gap: 20px;
    width: calc(200% + var(--gap));
    display: grid;
    grid-template-columns: repeat(2, calc(50% - calc(var(--gap) / 2)));
    column-gap: var(--gap);
}
/* .two-columns .ce-related {
    grid-column-start: 1;
} */

.two-columns .ce-article_section {

    display: contents;

    & .title--sub {
        position: relative;
        grid-column-start: 1;
        grid-row-start: 1;
    }
    & .large--sub {
        grid-row-start: 1;
        grid-row-end: span 3;
        grid-column-start: 1;
    }
}

.ce-related .related-pages {
    gap: 10px;
    position: absolute;
}

@media (max-width: 1023px) {
    .two-columns {
        display: flex;
        flex-direction: column;
        width: auto;
        gap: var(--gap);
    }
    .two-columns .ce-related:not(:has(.hidden)) {
        margin: 0 -10px;
        /* padding-bottom: 42px; */
    }
    .two-columns .ce-article_section {
        display: block;
    }
    .ce-related .related-pages {
        position: static;
    }
    .ce-related .title {
        margin: 0 10px; /* offset negativ margin of parent */
        /* border-top: 1px solid currentColor; */
        padding-top: 0.5em;
    }
    .ce-related .css-foldout {
        /* border-bottom: 1px solid currentColor; */
    }
    .ce-related .title::after {
        content: '';
        display: inline-block;
        width: 1em ;
        height: 1em;
        margin-left: 0.5em;
        transform: translateY(0.1em);
        background-color: currentColor;
        /* vertical-align: middle; */
        mask: url('img/Icon_Cross_a.svg') center/contain no-repeat;
    }
    .ce-related .open .title::after {
        mask-image: url('img/Icon_Cross_b.svg');
    }
}


/* underlines in excerpt */
.excerpt a {
    text-decoration: underline;
    text-underline-offset: 0.3em;
}
.excerpt a:hover {
    opacity: 0.7;
}


/* fix rte default */
.wysiwyg strong, .wysiwyg b,
.wysiwyg.wysiwyg--serif strong, .wysiwyg.wysiwyg--serif b {
    font-weight: 500;
}

/* wysiwyg: abstände */
.wysiwyg figure {
    margin: 0;
}




/* interview inhalt anpassungen */

.question strong,
.answer strong {
    padding-right: 1.5em;
}
.answer {
    padding-right: 1em;
}





/* detail page Mobile view*/
@media (max-width: 1024px) {
    .wp-singular .ce-introduction .article {
        width: calc(100% + 20px);
    }

    /* Title Block Detail View Mobile */
    .ce-introduction .relative {
        --tw-translate-y: 0;
    }
}

/* Excerpt minimalgrösse, T1 T2 T3 */

html[data-size="large"] .selected-size-modifier {
    font-size: 1.1em;
}

html[data-size="largest"] .selected-size-modifier {
    font-size: 1.2em;
}

/*
==============================
NORMAL ARTICLE BLOCKS – FONT SIZE / LINE HEIGHT
==============================
*/


/* Title & subtitle */
.article.w--normal .flex-text-title {
    line-height: 1.22 !important;
}
/* Date and category */
.article.w--normal .flex-text-date {
    line-height: 1.22 !important;
}

/* Mobile-specific 90% sizes */



.article {
    --max-txtcol-width: 400px;
}

/* Title & Subtitle */
.article.w--normal .flex-text-title,
.ce-introduction .article--nohover .flex-text-title {
    font-size: min(6.7vw, 30px) !important;
    max-width: var(--max-txtcol-width);
}

/* Date */
.article.w--normal .flex-text-date,
.ce-introduction .article--nohover .flex-text-date {
    font-size: min(4.8vw, 22px) !important;
}

/* Excerpt */
.article.w--normal .flex-text-lede-small,
.article.w--large .flex-text-lede-small {
    max-width: var(--max-txtcol-width);
}


@media (min-width: 1025px) and (max-width: 1280px) {
    .article.w--normal .flex-text-title {
        font-size: min(2.15vw, 30px) !important;
    }
    .article.w--normal .flex-text-date {
        font-size: min(1.5vw, 22px) !important;
    }
}

@media (min-width: 1025px) and (max-width: 1600px) {
    .ce-introduction .article--nohover .flex-text-title {
        font-size: min(calc(19.5px + 0.7vw), 30px) !important;
    }

    .ce-introduction .article--nohover .flex-text-date {
        font-size: min(calc(14px + 0.7vw), 22px) !important;
    }
}



/*  Video in carousel  */
.splide__slide video {
    width: auto;
    height: 100%;
}



/*   Pagination dots in carousel   */
.splide__pagination li::before {
    content: none;
    display: none;
}

/* Full-width media inside the constrained article column. */
body {
    /* Updated by fixes.js on load and resize. */
    --scrollbarwidth: 15px;
    --relative-wysiwyg-left: -80px;
}

.fullwidth-nobars,
.relative.wysiwyg .fullwidth-nobars {
    width: calc(100vw - var(--scrollbarwidth));
    max-width: calc(100vw - var(--scrollbarwidth));
    margin-left: var(--relative-wysiwyg-left);
}

/* Configurable article divider; override the generic WYSIWYG hr styling. */
.wysiwyg hr.article-divider__line {
    width: var(--divider-width, 100%);
    height: 0;
    margin: 0;
    border: 0;
    border-top: var(--divider-thickness, 1px) solid var(--divider-color-light, currentColor);
    background: transparent;
}

.dark .wysiwyg hr.article-divider__line {
    border-top-color: var(--divider-color-dark, var(--divider-color-light, currentColor));
}

/* Per-section title and subtitle colors configured in the Article Section module. */
.wysiwyg .title--sub.article-section__title--light-color {
    color: var(--article-section-title-color-light);
}

.wysiwyg .title--sub .secondary.article-section__subtitle--light-color {
    color: var(--article-section-subtitle-color-light);
}

.dark .wysiwyg .title--sub.article-section__title--custom-color {
    color: var(--article-section-title-color-dark, var(--article-section-title-color-light));
}

.dark .wysiwyg .title--sub .secondary.article-section__subtitle--custom-color {
    color: var(--article-section-subtitle-color-dark, var(--article-section-subtitle-color-light));
}

/* Keep desktop hover images interactive when their mobile effect is disabled. */
@media (min-width: 480px) {
    .group:hover .article-hover-image--desktop-only,
    .group:focus-within .article-hover-image--desktop-only {
        opacity: 1;
    }
}

.correct-iframe,
.correct-iframe > *,
.correct-iframe iframe {
    max-width: 100%;
}

.correct-iframe iframe {
    width: 100%;
}

.responsive-embed {
    position: relative;
    width: 100%;
    max-width: 100%;
    aspect-ratio: var(--embed-aspect-ratio, 16 / 9);
    overflow: hidden;
}

.responsive-embed--fill {
    height: 100%;
    aspect-ratio: auto;
}

/* Sticky embeds use their intrinsic ratio on mobile and fill configured heights on desktop. */
@media (min-width: 1024px) {
    .responsive-embed--sticky-fill,
    .vimeo--sticky-fill,
    .vimeo--sticky-fill video {
        height: 100%;
    }

    .responsive-embed--sticky-fill {
        aspect-ratio: auto;
    }

    .vimeo--sticky-fill video {
        object-fit: cover;
    }
}

[data-enhancer="carrouselArticleLine"] .responsive-embed {
    width: auto !important;
    height: 100%;
}

.wysiwyg .iframe .responsive-embed,
.wysiwyg .iframe .responsive-embed > *,
.wysiwyg .iframe .responsive-embed iframe,
.responsive-embed > :not(script),
.responsive-embed iframe,
.responsive-embed object,
.responsive-embed embed {
    width: 100% !important;
    height: 100% !important;
    max-width: 100% !important;
    margin: 0 !important;
}


/* single media: position of hover image*/
.group .absolute:not(.icon) {
    top: 0;
}

/* landing page: add solid backgrouind to article-wrap so announcement are covered */
.landing-article-wrap {
    background-color: var(--category-bg, light-dark(#fff, #000));
    position: relative;
    z-index: 20;
}


/* no gap / gutter option on media columns */
.\!gap-0 {
    gap: 0 !important;
}





/* new UT category for "static" pages */

body.category-ut .ce-introduction .flex-text-date,
.article.ut time {
    display: none;
}





/* titles in RTE */

.ce-text .title--sub {
    position: static;
    transform: none;
}



/*
Text Table: Linke Spalte schmaler / mehr Abstand zwischen Spalten
*/

.ce-text_table dt p {
    padding-right: 1em;
}





/* position flexible fixed announcement */

.imsc__intro-text {
    top: 84px
}



/* sticky figure-grid */

.wysiwyg .fullwidth-nobars .figure-grid {
    width: 100%;
}




/* fix instagram iframe  */
iframe.instagram-media {
    min-width: initial !important;
}




/* 
#######################################################################################################################################
    Homepage  from additional css 
#######################################################################################################################################
*/

/*
==================================================
NORMAL ARTICLE BLOCKS – SPACING
==================================================
*/

/* SPACING LABEL - IMAGE */
.article.w--normal .secondary.flex-text-date ~ img,
.article.w--normal .secondary.flex-text-date ~ video,
.article.w--normal .secondary.flex-text-date ~ .vimeo {
    margin-top: 0.5rem !important;
}
@media (max-width: 767px) {
    .article.w--normal .secondary.flex-text-date ~ img,
    .article.w--normal .secondary.flex-text-date ~ video,
    .article.w--normal .secondary.flex-text-date ~ .vimeo {
        margin-top: 0.5rem !important;
    }
}


/* SPACING IMAGE – TITLE */
.article.w--normal img + h3.flex-text-title {
    margin-top: 0.7rem !important;
}


/* SPACING IMAGE – SUBTITLE */
.article.w--normal img + h4.secondary.flex-text-title {
    margin-top: 0.7rem !important;
}

/* SPACING TITLE – IMAGE */
.article.w--normal h3.flex-text-title + img {
    margin-top: 1.2rem !important;
}

/* SPACING SUBTITLE – IMAGE */
.article.w--normal h4.secondary.flex-text-title + img {
    margin-top: 1.2rem !important;
}

/* SPACING LABEL – EXCERPT */
.article.w--normal .secondary.flex-text-date + p.flex-text-lede-small {
    margin-top: 0.15rem !important;
}

/* SPACING TITLE – EXCERPT */
.article.w--normal h3.flex-text-title + p.flex-text-lede-small {
    margin-top: 0.8rem !important;
}

/* SPACING SUBTITLE – EXCERPT */
.article.w--normal h4.secondary.flex-text-title + p.flex-text-lede-small {
    margin-top: 0.8rem !important;
}

/* SPACING IMAGE – DATE */
.article.w--normal img + time.flex-text-date {
    margin-top: 0.5rem !important;
}

/* SPACING EXCERPT – IMAGE */
.article.w--normal p.flex-text-lede-small + img {
    margin-top: 1.1rem !important;
}

/* SPACING EXCERPT – DATE */
.article.w--normal p.flex-text-lede-small + time.flex-text-date {
    margin-top: -0.2rem !important;
}





/* Mobile only */

@media (max-width: 1025px) {
    .wysiwyg .title--sub {
        font-size: 25px !important;
        line-height: 1.2 !important;
    }
}
