:focus-visible { outline: none; }
:root { 
  overscroll-behaviour: none; 
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale; 
}
html {
  scroll-behavior: smooth;
}
body { position:relative; }

main {min-height:calc(100vh - 360px); padding-bottom: 80px; }
h1, .uk-h1, h2, .uk-h2 { line-height: 1.25;}
h5, .uk-h5 { font-size: .9rem; margin:0; }
.color-news-programm ul {font-size:1.2rem; line-height:1.4;}
.statuten h2 + p { margin-top:0; }
.statuten h2 { margin-bottom:10px; }
p + ul { margin-top:-1rem; }
p + p { margin-top:0; }
li p { margin:0; }
u { text-underline-offset: 0.5rem; }
h2 u { text-underline-offset: 0.75rem; }
hr { border-top:2px solid #000; }
.h1-small { display:inline-block; font-size: 1rem; }

.color-news-programm, 
.color-news-programm .uk-navbar-dropdown { background-color:#ADD0C3; }
.color-sammlung, .uk-lightbox,
.color-sammlung .uk-navbar-dropdown { background:#CFD2DD; }
.color-freunde, .color-mission, 
.color-mitgliedschaft, .color-verein,
.color-kunstmuseum-olten,
.color-freunde .uk-navbar-dropdown,
.color-mission .uk-navbar-dropdown,
.color-mitgliedschaft .uk-navbar-dropdown,
.color-verein .uk-navbar-dropdown { background:#BEB2D5; }
.color-kontakt,
.color-kontakt .uk-navbar-dropdown { background:#F2E8AF; }
.color-impressum, .color-datenschutz,
.color-impressum .uk-navbar-dropdown,
.color-datenschutz .uk-navbar-dropdown { background:#dddddd; }
.color-home main, 
.color-home .uk-navbar-dropdown { background-color: rgb(190, 178, 213); }

.uk-navbar-nav li:has(> div) { background:transparent; }
.uk-navbar-nav li a { font-size:1.4rem; position:relative; }
.uk-navbar-nav li a::before { transition:none; background:#fff; }
.uk-navbar-nav li:hover a, 
.uk-navbar-nav li a[aria-expanded="true"],
.uk-navbar-nav li.uk-active a { color: inherit; }
#mobile-menu li.uk-active a,
#mobile-menu li.uk-active a:hover,
#mobile-menu li.uk-active .uk-nav-sub li.uk-active a,
#mobile-menu li.uk-active .uk-nav-sub li a:hover,
.color-freunde #mobile-menu li.uk-active .uk-nav-sub li:first-child a,
.uk-nav.uk-navbar-dropdown-nav li.uk-active a,
.uk-nav.uk-navbar-dropdown-nav li a:hover,
.color-freunde .uk-navbar-nav li#freunde.uk-active .uk-nav.uk-navbar-dropdown-nav li:first-child a  { 
  text-decoration:underline; text-underline-offset: 0.5rem; 
}
#mobile-menu li.uk-active .uk-nav-sub li a { 
  text-decoration:none; 
}
main a :not(button):not(img), a.h1-small, .color-kontakt main a { border-bottom: 1px dotted #000; } 
main a:hover :not(button):not(img), a.h1-small:hover, .color-kontakt main a:hover  { border-bottom: solid; }
.color-sammlung main a.gallery-img-link, .color-sammlung main a.gallery-img-link:hover, .color-news-programm main a { border-bottom: 0; }
.sammlung a * { border-bottom: 0 !important; }
.uk-navbar-nav li:hover a::before, 
.uk-navbar-nav li a[aria-expanded="true"]::before,
.uk-navbar-nav li.uk-active a::before { 
  position:absolute; z-index:-1; width:40px; 
  height:40px; margin:-5px auto; border-radius:50%; background:#BEB2D5;
}
.uk-navbar-nav li#news-programm:hover a::before, 
.uk-navbar-nav li#news-programm a[aria-expanded="true"]::before,
.uk-navbar-nav li#news-programm.uk-active a::before { 
  background:#ADD0C3; 
}
.uk-navbar-nav li#sammlung:hover a::before, 
.uk-navbar-nav li#sammlung a[aria-expanded="true"]::before,
.uk-navbar-nav li#sammlung.uk-active a::before { 
  background:#CFD2DD; 
}
.uk-navbar-nav li#kontakt:hover a::before, 
.uk-navbar-nav li#kontakt a[aria-expanded="true"]::before,
.uk-navbar-nav li#kontakt.uk-active a::before { 
  background:#F2E8AF;
}
.color-home .uk-navbar-nav li#freunde:hover a::before,
.uk-navbar-nav li#news-programm.uk-active a::before,
.uk-navbar-nav li#sammlung.uk-active a::before,
.uk-navbar-nav li#freunde.uk-active a::before,
.uk-navbar-nav li#kontakt.uk-active a::before {
  background:rgba(255,255,255,0.6); 
}
.uk-navbar-dropdown { padding:15px; }

.uk-logo { position:absolute; right:0; top:2rem; }
.home-hero-image figure { margin-inline:auto; }
h6 { text-align:center; }
.color-kontakt h6, .color-impressum h6 { text-align:left; }
button { border:2px solid #000; padding:.5rem 1.5rem; width:auto; font-size:1.125rem; color #000; background:transparent; border-radius:10rem; }
button:hover, button:hover a { color:#fff; background:#000; }
button.invers { border:2px solid #fff; }
button.invers:hover, button.invers:hover a { color:#000; background:#fff; }
button.sm { font-size:1rem; padding:.25rem 1rem; width:auto; }
.color-news-programm .uk-button { border:2px solid #000; padding:0; width:100%; font-size:1rem; background:transparent; }
.color-news-programm .uk-button-default { color: #000 !important; }
.color-news-programm .uk-button:hover { background:#000; }
.color-news-programm .uk-button-default:hover { color: #fff !important; }

.uk-section { padding-top:40px; padding-bottom:40px; }
.uk-section-default { background:inherit; }
.color-news-programm .uk-margin-medium-top { margin-top:0 !important; }
.color-news-programm .uk-section h1 { font-size: 1.2rem; transform: scale(1) !important; }
.color-news-programm .uk-section .uk-subnav a { border-bottom:1px solid transparent; }
.color-news-programm .uk-section .uk-subnav a:hover { color:#000; border-bottom:1px solid #000; }
.color-news-programm .uk-section .uk-subnav-divider > :nth-child(n+2):not(.uk-first-column)::before { border-left-color: #000; }

.news-title { letter-spacing: .03em; margin-bottom:0; }
.news-title a { border-bottom:2px solid #000; }
.uk-card { background:rgba(255,255,255,0.3) !important; color:#000 !important; }
.uk-card:hover { background:rgba(255,255,255,1) !important; color:#000 !important; }
.uk-card-title { text-transform:uppercase; text-align:center; line-height:1.15; }
.news-body { height:100%; }
.uk-card { display:flex; flex-direction:column; align-items: stretch; }
.card-bg a { background-repeat:no-repeat; background-position: center; background-size: cover; aspect-ratio: auto 4 / 3; display:block; }
.card-nobg a { aspect-ratio: auto 4 / 3; display:block; }
.newsline { border-top: 2px solid #000; margin:2rem 0 4rem; }
.uk-article-meta { margin:0; }
.gallery-img-caption { margin-top:0.5rem; }
.gallery-img-caption p, figcaption { font-size:0.9rem; font-weight:400; }
figcaption { font-style: normal; }
.uk-lightbox-button { margin:0; }
.uk-lightbox-button, .uk-lightbox-toolbar, .uk-lightbox-caption { background: transparent; color:#000 !important; }
.uk-lightbox-toolbar p, .uk-lightbox-caption p { font-size:.8rem; color:#000; }
.uk-lightbox-toolbar.uk-text-center, .uk-lightbox-caption.uk-text-center { text-align:left !important; }
.uk-lightbox-toolbar-icon { color:#000; }
.uk-lightbox-toolbar-icon:hover { color:#000; background:inherit; }
.uk-lightbox .uk-lightbox-close, .uk-lightbox .uk-slidenav, .uk-lightbox .uk-lightbox-close:hover, .uk-lightbox .uk-slidenav:hover { color:#000 !important; background:transparent !important; }
.sammlung .uk-padding-large { padding-bottom:0; }
.organe .uk-table th, .organe .uk-table td { padding:16px 0; border-bottom:1px solid #000; font-size: 1.2rem; line-height: 1.4; font-weight:400; }
.organe .uk-table th { width:50%; }
.datenschutz ol li { padding: 1rem; font-size:1.2rem; }

.uk-input { border:2px solid transparent; border-bottom:2px solid #000; font-family: Courier New; font-weight:700; font-size: 1.5rem; }
.uk-input:focus { border:2px solid transparent; border-bottom:2px solid #000; background-color:#f8f8f9; box-shadow:none; }
main form label a { transition:.3s cubic-bezier(.54, .32, .05, .96); background-image:linear-gradient(rgba(0,0,0,0.5), rgba(0,0,0,0.5)),linear-gradient(rgba(0,0,0,0.5), rgba(0,0,0,0.5)),linear-gradient(transparent, transparent); background-size:0 1px, 100% 1px, 1px 1px; background-repeat:no-repeat,no-repeat,repeat-x; background-position:0% 95%, 100% 95%, 0% 95%; }
main form label a:hover { background-size:0 1px, 0 1px, 1px 1px; }
p a:not(.uk-button, .uk-icon, .uk-icon-link), .uk-list li a, main form label a { padding-bottom:2px; background-position:0% 100%, 100% 100%, 0% 100%; }
body:not(.color-kontakt) main :is(h1,h2,h3,h4,h5,h6) a:not(.uk-button):not(.h1-small):not(.uk-card *) { transition:.3s cubic-bezier(.54, .32, .05, .96); color:#000; background-image:linear-gradient(rgba(0,0,0,0.5), rgba(0,0,0,0.5)),linear-gradient(rgba(0,0,0,0.5), rgba(0,0,0,0.5)),linear-gradient(transparent, transparent); background-size:0 1px, 100% 1px, 1px 1px; background-repeat:no-repeat,no-repeat,repeat-x; background-position:0% 100%, 100% 100%, 0% 100%; padding-bottom:2px; }
body:not(.color-kontakt) main :is(h1,h2,h3,h4,h5,h6) a:hover:not(.uk-button):not(.h1-small):not(.uk-card *) { background-size:0 1px, 0 1px, 1px 1px; }
.uk-input { height:47px; }
.tm-content-margin:last-child, .tm-content-margin:last-child > :last-child { margin-bottom:0; }
.plus-list { margin-bottom:4rem; }
.plus-list .uk-list-disc { padding-left:10px; }
.plus-list .uk-list-disc > * { list-style-type:none; padding-left:30px; }
.plus-list .uk-list-disc > ::before { position:relative; left:-30px; width:30px; height:1.5em; margin-bottom:-1.5em; display:list-item; list-style-position:inside; text-align:right; }
.plus-list .uk-list-disc > ::before { list-style-type: none; content: "+"; margin-left:-20px; }
.color-mitgliedschaft label { font-size:1.2rem; }
.uk-lightbox-items > * > * { max-height:80vh; max-width:80vw}
.uk-alert-success { background: #d5cf7d; }

#go-up { position:sticky; bottom:0; left:100%; margin-right:1rem; z-index:999 !important; padding:1rem; font-size:2.5rem; opacitiy:100; transition: all 0.3s ease-in-out; }
#go-up.hide { opacity:0; } 
 
@media screen and (min-width: 960px) {
main { padding-top: 16rem; }
.color-home main { padding-top: 12rem; }
p, h6 { font-size:1.2rem; line-height:1.4; }
h1, .uk-h1 { font-size: 2.125rem; }
h2, .uk-h2 { font-size: 1.75rem; }
}

@media (min-width: 640px) and (max-width: 959px) {
main { padding-top: 16rem; }
.color-home main { padding-top: 12rem; }
p, h6 { font-size:1.2rem; line-height:1.4; }
h1, .uk-h1 { font-size: 2rem; }
h2, .uk-h2 { font-size: 1.5rem; }
}

@media screen and (max-width: 639px) {
main { padding-top: 12rem; }
p, h6 { font-size:1rem; line-height:1.4; }
h1, .uk-h1 { font-size: 1.5rem; }
h2, .uk-h2 { font-size: 1.375rem; }
}

.honeypot {
    position: absolute;
    left: -9999px;
}