* {
    margin: 0;
    padding: 0;
}

/* NeueHaas */
@font-face {
    font-family: 'NeueHaasDisplay';
    src: url('../fonts/NeueHaasDisplayLight.ttf') format("truetype");
    font-weight: 200;
    font-style: normal;
}

@font-face {
    font-family: 'NeueHaasDisplay';
    src: url('../fonts/NeueHaasDisplayRoman.ttf') format("truetype");
    font-weight: 400;
    font-style: normal;
}

@font-face {
    font-family: 'NeueHaasDisplay';
    src: url('../fonts/NeueHaasDisplayMediu.ttf') format("truetype");
    font-weight: 600;
    font-style: normal;
}

@font-face {
    font-family: 'NeueHaasDisplay';
    src: url('../fonts/NeueHaasDisplayBold.ttf') format("truetype");
    font-weight: 700;
    font-style: normal;
}

/* Whyte Inktrap */
@font-face {
    font-family: 'Whyte Inktrap';
    src: local('Whyte Inktrap Bold'), local('Whyte-Inktrap-Bold'),
    url('../fonts/WhyteInktrap-Bold.woff2') format('woff2'),
    url('../fonts/WhyteInktrap-Bold.woff') format('woff'),
    url('../fonts/WhyteInktrap-Bold.ttf') format('truetype');
    font-weight: 700;
    font-style: normal;
}

:root {
    --padding-std: 1.5rem;
    --padding: 1.5rem 0 1.5rem 0;
    --padding-nobottom: 1.5rem 0;
    --padding-sm: 1rem 0 1rem 0;
    --padding-side: 0 1rem 0 1rem;
    --color-footer: var(--color-baw2025-tercial);
    --color-footer-background: var(--color-baw2025-primary);
    --color-black: #000;
    --color-white: #fff;
    --color-grey: #C6C6C6;
    --color-grey-light: #EDEDED;
    --color-blue: #0071FC;
    --color-light: #efefef;
    --color-text-menu: var(--color-baw2025-tercial);
    --color-text: var(--color-baw2025-primary);
    --color-tertiary: var(--color-baw2025-tercial);
    --color-secondary: var(--color-baw2025-secondary);
    --color-accent: var(--color-baw2025-primary);
    --color-text-primary: var(--color-baw2025-primary);
    --color-text-hover: var(--color-blue);
    --color-text-grey: var(--color-grey);
    --color-background: var(--color-white);
    --color-code-light-grey: #E3E3E3;
    --color-code-comment: #a9aaad;
    --color-code-white: #c5c9c6;
    --color-code-red: #d16464;
    --color-code-orange: #de935f;
    --color-code-yellow: #f8efa0;
    --color-code-green: #a7bd68;
    --color-code-green-sea: #008480;
    --color-code-aqua: #e4f3f9;
    --color-code-blue: #7e9abf;
    --color-code-grey-blue: #bedae5;
    --color-code-pink: #fd88b5;
    --color-code-purple: #b294bb;
    --color-baw2024-primary: #ff0000;
    --color-baw2024-secondary: #660000;
    --color-baw2024-tercial: #b2b2b2;
    --color-baw2025-primary: #463902;
    --color-baw2025-secondary: #eae9e4;
    --color-baw2025-tercial: #ddbeff;
    --font-family-sans: NeueHaasDisplay, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol";
    --font-family-mono: "SFMono-Regular", Consolas, "Liberation Mono", Menlo, Courier, monospace;
}

/**
Colors
 */
.bcg-secondary {
    background-color: var(--color-secondary);
}

html {
    font-family: var(--font-family-sans);
    color: var(--color-text);
    background: var(--color-background);
    scroll-behavior: smooth;
    font-size: 1rem;
}

img {
    width: 100%;
}

.main, .grid, .table, .container-fluid {
    padding: var(--padding);
    max-width: 70rem;
    margin: 0 auto !important;
}

.half-main {
    max-width: 40rem;
    margin: auto;
}

.main {
    padding-top: 0px;
}

li {
    list-style: none;
}

a {
    color: currentColor;
    text-decoration: none;
}

button {
    font: inherit;
    background: none;
    border: 0;
    color: currentColor;
    cursor: pointer;
}

strong, b {
    font-weight: 600;
}

small {
    font-size: inherit;
    color: var(--color-text-grey);
}

.bg-light {
    background-color: var(--color-light);
}

.color-grey {
    color: var(--color-text-grey);
}

.color-accent {
    color: var(--color-accent);
}

.short-body {
    min-height: 100vh;
    display: flex;
    flex-direction: column;
}

.header {
    position: relative;
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    width: 100%;
    /*  margin-right: -1rem;
    margin-left: -1rem;*/
    margin-bottom: -1rem;
    overflow: hidden;
    min-height: 3rem;
}

.header-big {
    min-height: 10rem;
    /*background-color: var( --color-secondary) !important;*/
}

.logo-subheading-home {
    font-family: NeueHaasDisplay;
    font-size: 3rem;
    color: var(--color-accent);
    display: block;
    text-align: left;
    padding: var(--padding-std);
    transition: 0.2s;
    position: fixed;
    right: 1rem;
    top: 4rem;
}

.logo {
    color: var(--color-accent);
    display: block;
    text-align: left;
    padding: var(--padding-std);
    transition: 0.2s;
    cursor: pointer;
}

.logo-heading {
    font-family: Whyte Inktrap;
    font-size: 3.5rem;
    line-height: 2rem;
    font-kerning: normal;
    font-weight: 600;
    letter-spacing: -0.1rem;
    transition: 0.2s;
}

.logo-heading-sm {
    font-family: Whyte Inktrap;
    font-size: 2rem;
    line-height: 2rem;
    font-kerning: normal;
    font-weight: 600;
    letter-spacing: -0.1rem;
    transition: 0.2s;
}

.logo-home {
    font-family: Whyte Inktrap;
    font-size: 7rem;
    width: 30rem;
    line-height: 6rem;
    font-kerning: normal;
    letter-spacing: -0.1rem;
    transition: 0.2s;
    text-align: center;
    display: inline-block;
    position: fixed;
}

.logo-subheading {
    font-size: 2rem;
    transition: 0.2s;

}

.menu, .menu-home {
    font-size: 1.2rem;
    display: flex;
    padding: var(--padding-std);
}

.menu a, .menu-home a {
    text-transform: uppercase;
    color: var(--color-baw2025-tercial);
    padding: 1rem;
    display: block;
}

.menu a:hover, .menu-home a:hover {
    color: var(--color-accent);
}

.menu a[aria-current], .menu-home a[aria-current] {
    color: var(--color-baw2025-primary);
}

.sticky-menu {
    position: -webkit-sticky;
    position: sticky;
    background-color: var(--color-white);
    top: 0px;
    z-index: 1;
}

.sticky-filters {
    position: -webkit-sticky;
    position: sticky;
    top: 4rem;
    background-color: var(--color-white);
}

.filters {
    max-width: 70rem !important;
    margin: auto;
    z-index: 2;
}

.social {
    display: flex;
    padding: 0 .5rem;
    align-items: end;
}

.social a {
    display: block;
    width: 2.5rem;
    padding: 1rem .5rem;
}

.social a:hover {
    filter: brightness(2);
}

.section {
    padding: 3rem 0;
}

.grid {

}


.table {
    --columns: 12;
    --gutter: 3rem;
    display: grid;
    grid-gap: var(--gutter), 1rem;
    /*box-sizing: border-box;*/
    /*width: 100%;*/
    grid-template-columns: repeat( auto-fit, minmax(120px, 1fr) );
}


.table span {
    padding: 1rem;
    border-top: 1px solid var(--color-black);
}

.rowt {
    display: contents;

}

.rowt:hover span {
    background-color: var(--color-text-hover);
    cursor: pointer;
}

.tbframe {
    border-top: 1px solid var(--color-black);
}

.column-row:hover {
    background-color: var(--color-text-hover);
}

.autogrid {
    --gutter: 3rem;
    --min: 10rem;
    display: grid;
    grid-gap: var(--gutter);
    grid-template-columns: repeat(auto-fit, minmax(var(--min), 1fr));
    grid-auto-flow: dense;
}

h1, h2, h3, h4, h5, h6 {
    font-size: inherit;
    font-weight: inherit;
    line-height: inherit;
}

h1 {
    font-family: NeueHaasDisplay;
    font-weight: 200;
    font-size: 9rem;
    text-align: center;
    text-transform: uppercase;
}

h2 {
    font-family: NeueHaasDisplay;
    padding: 1rem;
    margin: 0 3rem 0 3rem;
    font-weight: 200;
    font-size: 3rem;
    text-align: center;
}

.text {
    line-height: 1.5em;
}

.text a {
    text-decoration: underline;
}

.text a:hover {
    color: var(--color-accent);
}

.text:first-child {
    margin-top: 0;
    padding: var(--padding-sm);
}

.text:last-child {
    margin-bottom: 0;

}

.text p,
.text ul,
.text ol {
    margin-bottom: 1.5rem;
}

.text ul,
.text ol {
    margin-left: 1rem;
}

.text ul p,
.text ol p {
    margin-bottom: 0;
}

.text ul > li {
    list-style: disc;
}

.text ol > li {
    list-style: decimal;
}

.text ul ol,
.text ul ul,
.text ol ul,
.text ol ol {
    margin-bottom: 0;
}

.text h1,
.h1,
.intro {
    font-size: 2rem;
    margin-bottom: 3rem;
    line-height: 1.25em;
}

.text h2,
.h2 {
    font-size: 1.25rem;
    font-weight: 600;
    margin-bottom: 1.25rem;
}

.text h3,
.h3 {
    font-weight: 600;
}

.text .codeblock {
    display: grid;
}

.text code {
    font-family: var(--font-family-mono);
    font-size: 1em;
    background: var(--color-light);
    padding: 0 .5rem;
    display: inline-block;
    color: var(--color-black);
}

.text pre {
    margin: 3rem 0;
    background: var(--color-black);
    color: var(--color-white);
    padding: 1.5rem;
    overflow-x: scroll;
    overflow-y: hidden;
    line-height: 1.5rem;
}

.text pre code {
    padding: 0;
    background: none;
    color: inherit;
}

.text hr {
    margin: 6rem 0;
}

.text dt {
    font-weight: 600;
}

.text blockquote {
    font-size: 1.25rem;
    line-height: 1.325em;
    border-left: 2px solid var(--color-black);
    padding-left: 1rem;
    margin: 3rem 0;
    max-width: 25rem;
}

.text blockquote footer {
    font-size: .875rem;
    font-style: italic;
}

.text figure {
    margin: 3rem 0;
}

.text figcaption {
    padding-top: .75rem;
    color: var(--color-text-grey);
}

hr {
    border: 0;
    background: currentColor;
    height: 2px;
    width: 1.5rem;
    margin: 3rem auto;
}

.align-center {
    text-align: center;
}

.align-right {
    text-align: right;
}

.intro {
    max-width: 40rem;
}

.intro *:not(:last-child) {
    margin-bottom: 1em;
}

.cta {
    background: var(--color-black);
    color: var(--color-white);
    display: inline-flex;
    justify-content: center;
    padding: .75rem 1.5rem;
    border: 4px solid var(--color-white);
    outline: 2px solid var(--color-black);
}

.box {
    background: var(--color-light);
    padding: 1.5rem;
    border: 4px solid var(--color-white);
    outline: 2px solid var(--color-light);
}

.imgrow {
    width: 100%;
    max-width: 150px;
    padding: 1rem;
    height: auto;
    float: left;
}

.video,
.img {
    position: relative;
    display: block;
    --w: 1;
    --h: 0.56;
    padding-bottom: calc(100% / var(--w) * var(--h));
    background: var(--color-black);
    margin-bottom: 1rem;
}

.img img,
.video iframe {
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
    border: 0;
}

.img[data-contain] img {
    object-fit: contain;
}

.img-caption,
.video-caption {
    padding-top: .75rem;
    line-height: 1.5em;
}

p, ul, div {
    margin-bottom: 1rem;
}

p:last-child, ul:last-child, div:last-child {
    margin-bottom: none;
}

/**
 * SECTION
 */
section h3 {
    font-size: 2rem;
    margin: var(--padding);
    color: var(--color-text);
    font-weight: 200;
}

.section {
    background-color: var(--color-accent);
    padding: 1rem 0 6rem;
    line-height: 1.5em;
}

/**
 * FOOTER
 */

.footer:before {
    content: "";
    display: block;
    width: 100%;
    height: 2px;
    background: var(--color-accent);
    margin-bottom: 1.5rem;
}

.footer {
    background-color: var(--color-footer-background);
    padding: 1rem 0 0rem;
    line-height: 1.5em;
    font-size: 1.2rem;
    color: var(--color-footer);
    font-weight: 600;
}

.footer li a:hover, .footer p a:hover {
    color: var(--color-white);
}

.footer h2 {
    font-weight: 600;
    margin-bottom: .75rem;
}

.footer h3 {
    font-size: 1.2rem;
    color: var(--color-footer);
}

.footer ul,
.footer p {
    color: var(--color-footer);
}

.footer p {
    max-width: 15rem;
}

.footer a:hover {
    color: var(--color-text-hover);
}

/**
Event footer
 */
.event footer h3 {
    padding: var(--padding-sm);
    font-size: 1rem;
    text-transform: uppercase;
}

.event footer h4 {
    padding: var(--padding-sm);
    font-size: 1.2rem;
    font-weight: bold;
}

.event footer p {
    margin: 0.1rem 0 0.1rem 0;
}

.event footer a {
    color: var(--color-accent);
}

.event footer a:hover {
    text-decoration: underline;
}

.map {
    margin-top: 2rem;
    height: 30rem;
    filter: grayscale();
}

.grayrow {
    background-color: var(--color-baw2025-tercial);
    margin-bottom: 0 !important;
}

.custom-map-div-icon .marker-circle {
    background: #444;
    border-radius: 50%;
    color: white;
    text-align: center;
    line-height: 30px;
    width: 30px;
    height: 30px;
    font-weight: bold;
    cursor: pointer;
}

.leaflet-popup-content h3 {
    font-size: 1.2rem;
}

.znacka {
    /*filter: invert(100%);*/
}

.map iframe {
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    width: 100%;
    height: 100%;
    border: 0;
}

.nobottommargin {
    margin-bottom: 0px;
}

.margin-s {
    margin-bottom: .75rem;
}

.margin-m {
    margin-bottom: 1.5rem;
}

.margin-l {
    margin-bottom: 3rem;
}

.margin-xl {
    margin-bottom: 4.5rem;
}

.margin-xxl {
    margin-bottom: 6rem;
}

.notoppadding {
    padding-top: 0px !important;
}

.nobottompadding {
    padding-bottom: 0px !important;
}

@media screen and (min-width: 60rem) {
    body {
        --padding: 3rem;
    }

    .table {
        grid-template-columns: repeat(12, 1fr);
    }

    .table span {
        grid-column: span var(--columns);
    }

    .table details {
        grid-column: span var(--columns);
    }

}

.pagination {
    display: flex;
    padding-top: 6rem;
}

.pagination > span {
    color: var(--color-text-grey);
}

.pagination > * {
    padding: .5rem;
    width: 3rem;
    text-align: center;
    border: 2px solid currentColor;
    margin-right: 1.5rem;
}

.pagination > a:hover {
    background: var(--color-black);
    color: var(--color-white);
    border-color: var(--color-black);
}

.note-excerpt {
    line-height: 1.5em;
}

.note-excerpt header {
    margin-bottom: 1.5rem;
}

.note-excerpt figure {
    margin-bottom: .5rem;
}

.note-excerpt-title {
    font-weight: 600;
}

.note-excerpt-date {
    color: var(--color-text-grey);
}

.topline {
    border-top: 1px solid var(--color-black);
}

.topline-bold {
    border-top: 3px solid var(--color-black);
}

.topline:first-child {
    border-top: none;
}

.bottomline {
    border-bottom: 1px solid var(--color-black);
}

.bottomline-bold {
    border-bottom: 3px solid var(--color-black);
}

.topborder {
    border-top: 1px solid var(--color-black);
}

.topborder:last-child {
    border-bottom: 1px solid var(--color-black);
}

/*
  Absolute gfx
 */
.logowrap {
    position: relative;
    /*width: 100%;*/
    /*height: 100%;*/

}

.gfx-mark {
    position: absolute;
    width: 800px;
    bottom: -80px;
    left: 100px;
}

.gfx-arrow {
    position: absolute;
    width: 80px;
    bottom: 0px;
    left: 0px;
}

.gfx-clover {
    position: absolute;
    width: 250px;
    top: 150px;
    right: 0px;
}

.gfx-separator {
    margin: auto;
    width: 600px;
}

/**
Event & Location
 */
.days {
    text-align: center;
    scroll-margin-top: 175px
}

.days h2, .archive h2, .institution h2 {
    padding: 2rem;
    margin: auto;
    font-size: 2rem;
}

.archive a:hover {
    text-decoration: underline;
}

.location-list a {
    color: var(--color-text-grey);
    font-size: 1.1rem;
}

.location-list a:hover {
    color: var(--color-text);
}

.location-list div {
    margin-bottom: 0.2rem;
}

.lokace {
    margin-bottom: 2rem;
    scroll-margin-top: 80px
}

.event, .archive {
    text-align: left;
    margin-bottom: 2rem;
}

.event h2, .lokace h2 {
    margin: 0;
    padding: 0;
    font-size: 1.2rem;
    font-weight: 400;
    text-align: left;
}

.event-detail {
    font-size: 1rem;
    font-weight: 600;
    text-align: left;
}

/**
Days Nav
 */
.day-wraper {
    width: 100%;
}

.day-nav {
    padding: 0rem 2rem 0rem 2rem;
    font-size: 2.2rem;
    text-transform: uppercase;
}

.day-nav a {
    color: var(--color-tertiary);
}

.day-nav a:hover {
    color: var(--color-text);
}

.location-detail {
    font-weight: 600;
}

.location-detail:hover {
    text-decoration: underline;
}

/**
Contacts
 */
.contacts {
    margin-top: 2rem;
}

.contacts img {
    filter: grayscale();
    border-radius: 50%;
    width: 70%;
}

.contacts .wrapper {
    margin-bottom: 3rem;
}

.contacts .wrapper > :first-child {
    text-align: right;
}

.contacts span {
    font-size: 1rem;
    font-weight: 600;
    display: block;
}

.contacts a {
    color: var(--color-accent);
}

.contacts a:hover {
    text-decoration: underline;
}

/**
Accordion
 */
.transparentBcg:hover {
    background-color: transparent !important;
}

.accordionItem {
    font-size: 1.2rem;
    color: var(--color-accent);
    padding: var(--padding-sm);
    margin-bottom: 0;
}

.accordionItem img {
    width: 2rem;
}

.accordionItem:hover {
    background-color: var(--color-accent);
    color: var(--color-white);
    cursor: pointer;
}

.accordionItem:hover .open {
    background-color: transparent;

}

.accordionItem:hover div:last-child {
    filter: brightness(2);
}

.accordionItem.open:hover {
    color: var(--color-text) !important;

}

.accordionItemHeading {
    cursor: pointer;
    margin-bottom: 0;
    width: 100%;

}

.close .accordionItemContent {

    height: 0px;
    transition: height 1s ease-out;
    -webkit-transform: scaleY(0);
    -o-transform: scaleY(0);
    -ms-transform: scaleY(0);
    transform: scaleY(0);
    float: left;
    display: block;
}

.accordionItemContent:hover {
    background-color: transparent;
}

.accordionItemContent a {
    text-decoration: underline;
}

.accordionItemContent a:hover {
    text-decoration: none;
}

.accordionItemContent {
    margin-bottom: 0 !important;
    padding: var(--padding-side);
}

.open .accordionItemContent {

    margin-top: 1rem;
    width: 100%;
    display: block;
    -webkit-transform: scaleY(1);
    -o-transform: scaleY(1);
    -ms-transform: scaleY(1);
    transform: scaleY(1);
    -webkit-transform-origin: top;
    -o-transform-origin: top;
    -ms-transform-origin: top;
    transform-origin: top;

    -webkit-transition: -webkit-transform 0.4s ease-out;
    -o-transition: -o-transform 0.4s ease;
    -ms-transition: -ms-transform 0.4s ease;
    transition: transform 0.4s ease;
    box-sizing: border-box;
}

.open .accordionItemHeading {
    margin: 0px;
    -webkit-border-top-left-radius: 3px;
    -webkit-border-top-right-radius: 3px;
    -moz-border-radius-topleft: 3px;
    -moz-border-radius-topright: 3px;
    border-top-left-radius: 3px;
    border-top-right-radius: 3px;
    -webkit-border-bottom-right-radius: 0px;
    -webkit-border-bottom-left-radius: 0px;
    -moz-border-radius-bottomright: 0px;
    -moz-border-radius-bottomleft: 0px;
    border-bottom-right-radius: 0px;
    border-bottom-left-radius: 0px;
}

.allCaps {
    text-transform: uppercase;
}

.tags {
    width: 70%;
}

.tags a {
    display: inline-block;
    border-radius: 50px;
    font-size: 1rem;
    color: var(--color-tertiary);
    padding: 0.2rem 0.4rem 0.2rem 0.4rem;
    margin: 0.2rem;
    border: 1px solid var(--color-tertiary);
}

.tags a:hover {
    color: var(--color-black);
    border: 1px solid var(--color-black);
}

.tags .activeTag {
    color: var(--color-black);
    border: 1px solid var(--color-black);
}

.tagsCaption {
    text-align: left;
    margin-bottom: 0.2rem;
    width: 100%;
}

.tagsCaption a {
    display: inline-block;
    border-radius: 20px;
    font-size: 0.9rem;
    color: var(--color-tertiary);
    padding: 0.1rem 0.4rem 0.1rem 0.4rem;
    margin: 0.2rem;
    border: 1px solid var(--color-tertiary);
}

.tagsCaption a:hover {
    color: var(--color-black);
    border: 1px solid var(--color-black);
}

article {
    font-size: 1rem;
    line-height: 1.5rem;
}

article h1 {
    font-size: 2.5rem;
    text-transform: none;
    letter-spacing: 0.1rem;
    padding: 2rem;
    line-height: 3rem;
}

.numberCircle {
    display: inline-block;
    border-radius: 50%;
    line-height: 1.2rem;
    font-size: 1.2rem;
    width: 1.2rem;
    height: 1.2rem;
    padding: 5px;
    border: 2px solid var(--color-black);
    color: var(--color-black);
    text-align: center;
    margin: 0.8rem 0.8rem 0.8rem 0;
}

.infinity {
    width: 4rem;
    padding: 2rem;
}

.infinityDay > svg {
    fill: var(--color-tertiary);
}

.infinityDay > svg:hover {
    fill: var(--color-text);
}

/**
Padding util
 */
.padding-sm {
    padding: var(--padding-sm) !important;
}


