@charset "UTF-8";
/********* base.css ***********/
/* CMS and Theme by IO200 CMS (https://www.IO200.com) */
/*----------RESET-------------------------------------------------------------------------*/
html, body, div, span, applet, object, iframe, h1, h2, h3, h4, h5, h6, p, blockquote, pre, a, abbr, acronym, address, big, cite, code, del, dfn, em, img, ins, kbd, q, s, samp, small, strike, strong, sub, sup, tt, var, b, u, i, center, dl, dt, dd, ol, ul, li, fieldset, form, label, legend, table, caption, tbody, tfoot, thead, tr, th, td, article, aside, canvas, details, embed, figure, figcaption, footer, header, hgroup, menu, nav, output, ruby, section, summary, time, mark, audio, video {
  margin: 0;
  padding: 0;
  border: 0;
  font-size: 100%;
  font: inherit;
  vertical-align: baseline;
  -webkit-tap-highlight-color: transparent;
}

body {
  line-height: normal;
}

ol, ul {
  list-style: none;
}

table {
  border-collapse: collapse;
  border-spacing: 0;
}

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

img {
  display: block;
}

input, button, textarea, select {
  font: inherit;
  border-radius: 0;
}

:focus {
  outline: 0;
}

/*----------BASE--------------------------------------------------------------------------*/
/*elements:h1,h2,h3,h4,h5,h6*/
h1 {
  font-size: 1.6em;
  font-weight: 600;
}

h2 {
  font-size: 1.4em;
  font-weight: 600;
}

h3 {
  font-size: 1.2em;
  font-weight: 600;
}

h4 {
  font-size: 1.1em;
  font-weight: 600;
}

h5 {
  font-size: 1em;
  font-weight: 600;
}

h6 {
  font-size: 0.9em;
  font-weight: 600;
}

/*elements:i,em,b,strong,strike*/
i, em {
  font-style: italic;
}

b, strong {
  font-weight: 600;
}

strike {
  text-decoration: line-through;
}

/*elements:p,blockquote*/
blockquote {
  font-style: italic;
}

/*elements:ul,ol*/
ul {
  list-style: square outside;
}

ol {
  list-style: decimal outside;
}

/*elements:hr*/
hr {
  width: 80%;
  border: 0;
  border-top: 1px solid #f4f4f4;
}

/*elements:table*/
table caption {
  padding: 0 1em;
  margin-bottom: 0.2em;
  font-weight: 600;
  white-space: nowrap;
}

table thead th {
  padding: 0.6em;
  font-weight: 600;
}

table tbody td {
  padding: 0.6em;
  font-size: 0.95em;
  vertical-align: middle;
}

table tfoot td {
  padding: 0.6em;
  font-size: 0.9em;
}

div.tablewrapper {
  overflow-x: auto;
}

/*elements:form*/
form input, form select, form textarea {
  box-sizing: border-box;
  font-family: inherit;
}

/*----------MAIN--------------------------------------------------------------------------*/
/*margins*/
main > *, main section > *, main div.content > * {
  margin-bottom: 1rem;
}

/*multiples of line height*/
main h2, main h3, main h4, main h5, main h6 {
  margin-top: 1.8em;
}

main h1 + h2, main h2 + h3, main h3 + h4, main h4 + h5 {
  margin-top: 0;
}

main h2:has(+ ul), main h3:has(+ ul), main h4:has(+ ul), main h5:has(+ ul), main h6:has(+ ul), main h2:has(+ ol), main h3:has(+ ol), main h4:has(+ ol), main h5:has(+ ol), main h6:has(+ ol) {
  margin-bottom: 0.45rem;
}

main ul > ul, main ul > ol, main ol > ul, main ol > ol {
  margin-bottom: 0;
}

main hr, main hr + * {
  margin-top: 2.4rem;
}

@media (max-width: 999px) {
  main h1 {
    margin-block: 1.2rem;
  }
}
/*elements:h1,h2,h3,h4,h5,h6*/
main h1, main h2, main h3, main h4, main h5, main h6 {
  clar: both;
}

@media (max-width: 999px) {
  main h1 {
    font-size: 1.5em;
    text-align: center;
  }
  main h2 {
    font-size: 1.3em;
  }
  main h3 {
    font-size: 1.1em;
  }
  main h4 {
    font-size: 1em;
  }
}
/*elements:hr,br*/
main br {
  clear: both;
}

main hr {
  border: 0;
  border-top: 1px solid #f2f2f2;
}

/*elements:p,blockquote*/
main p, main blockquote {
  line-height: 1.8;
}

main blockquote {
  padding-block: 0.5em;
  font-size: 2em;
  font-weight: 200;
  line-height: 1.2;
}

main blockquote span.cite {
  display: block;
  opacity: 0.6;
  font-size: 0.5em;
}

main blockquote span.cite::before {
  content: "—" " ";
}

@media (min-width: 1000px) {
  main blockquote {
    padding-inline: 1.2rem;
  }
}
@media (max-width: 999px) {
  main blockquote {
    text-align: center;
  }
}
/*elements:ul,ol*/
main ul, main ol {
  line-height: 2;
  margin-left: 1.5em;
}

main ul {
  list-style: square outside;
}

main ol {
  list-style: decimal outside;
}

main ol li::marker {
  font-weight: 600;
}

/*elements:figure*/
main figure {
  text-align: center;
}

main figure figcaption {
  font-size: 0.95em;
  margin-top: 0.25em;
}

/*elements:a*/
@media (hover: hover) and (pointer: fine) {
  main a:hover {
    color: #000;
  }
}
/*elements:table*/
main table, main table th, main table td {
  font-size: 0.95em;
  border: 1px solid #f2f2f2;
}

main table tr th {
  padding: 0.75em 0.75em;
  font-weight: 600;
  background: rgba(25, 25, 25, 0.028);
}

main table tr td {
  padding: 0.5em 0.75em;
}

/*elements:form*/
main form {
  padding: 1.2em;
  line-height: 1.25;
}

main form.form-background {
  background: rgba(25, 25, 25, 0.05);
  color: #000;
}

main form h2:first-of-type, main form h3:first-of-type, main form h4:first-of-type, main form h5:first-of-type {
  margin-top: 0;
  display: block;
}

main form h2, main form h3, main form h4 {
  margin-bottom: 1em;
}

main form p {
  text-align: left;
  display: block;
  margin-bottom: 1em;
}

main form p:last-child {
  margin-bottom: 0;
}

main form p:has(label.optionlabel) {
  text-align: left;
}

main form p:has(label.optionlabel) input[type=checkbox] {
  vertical-align: middle;
  margin: 0;
  margin-right: 0.1em;
  position: relative;
  top: 0;
}

main form p:has(label.optionlabel) label.optionlabel {
  vertical-align: middle;
  line-height: 1;
}

main form label i, main form label span {
  font-weight: 300;
}

main form label:not(.optionlabel) {
  display: block;
  font-weight: 600;
}

main form input[type=text], main form input[type=url], main form input[type=email] {
  width: 20em;
}

@media (max-width: 999px) {
  main form input[type=text], main form input[type=url], main form input[type=email] {
    width: 100%;
  }
}
main form input, main form select, main form textarea {
  font-size: 0.92em;
  padding: 0.4em 0.6em;
  border: 1px solid #C8C8C8;
}

main form select:hover {
  cursor: pointer;
}

main form textarea {
  width: 100%;
  height: 12em;
}

main form button[type=reset].reset-x {
  background: #222222;
  color: #fff;
  border: 0;
  opacity: 0.12;
  margin-top: -2.5em;
  padding: 0.2em 0.3em;
  float: right;
}

main form button[type=reset].reset-x:hover {
  opacity: 1;
  cursor: pointer;
}

main form div.error-message {
  color: #cb0000;
  font-size: 0.9em;
}

main form:not(.form-inline) > p:not(:first-child):last-child {
  margin-top: 0.5em;
}

/*elements:form.form-inline*/
main form.form-inline {
  padding: 0;
  margin-bottom: 1.5em;
  display: flex;
  gap: 0.5em;
  flex-flow: row wrap;
}

main form.form-inline input[type=text] {
  padding: 0.5em;
  font-size: 1em;
  width: 16em;
  border: 1px solid #C8C8C8;
}

main form.form-inline input.button {
  padding: 0.42em 0.6em;
}

main form.form-inline p {
  width: 100%;
}

@media (max-width: 900px) {
  main form.form-inline {
    justify-content: center;
  }
  main form.form-inline input[type=text] {
    flex: 1;
    width: 100%;
  }
  main form.form-inline button {
    white-space: nowrap;
  }
  main form.form-inline p {
    text-align: center;
  }
}
/*elements:iframe*/
main iframe {
  display: block;
}

@media (max-width: 999px) {
  main iframe {
    width: 100%;
  }
}
/*elements:links*/
/*elements:links*/
main a:not(.button):not(.sitelink) {
  text-decoration: underline;
  text-underline-offset: 0.2em;
  text-decoration-thickness: 1px;
}
main a:not(.button):not(.sitelink)[target=_blank]::after {
  content: "";
  display: inline-block;
  width: 0.8em;
  height: 0.8em;
  margin-left: 0.05em;
  background-color: currentColor;
  -webkit-mask-image: url("data:image/svg+xml,%3Csvg%20viewBox%3D'0%200%2024%2024'%20fill%3D'none'%20xmlns%3D'http%3A//www.w3.org/2000/svg'%3E%3Cpath%20d%3D'M14%203h7v7'%20stroke%3D'black'%20stroke-width%3D'2'%20stroke-linecap%3D'round'%20stroke-linejoin%3D'round'/%3E%3Cpath%20d%3D'M10%2014l11-11'%20stroke%3D'black'%20stroke-width%3D'2'%20stroke-linecap%3D'round'%20stroke-linejoin%3D'round'/%3E%3Cpath%20d%3D'M5%205h5v2H7v10h10v-3h2v5H5V5z'%20fill%3D'black'/%3E%3C/svg%3E");
          mask-image: url("data:image/svg+xml,%3Csvg%20viewBox%3D'0%200%2024%2024'%20fill%3D'none'%20xmlns%3D'http%3A//www.w3.org/2000/svg'%3E%3Cpath%20d%3D'M14%203h7v7'%20stroke%3D'black'%20stroke-width%3D'2'%20stroke-linecap%3D'round'%20stroke-linejoin%3D'round'/%3E%3Cpath%20d%3D'M10%2014l11-11'%20stroke%3D'black'%20stroke-width%3D'2'%20stroke-linecap%3D'round'%20stroke-linejoin%3D'round'/%3E%3Cpath%20d%3D'M5%205h5v2H7v10h10v-3h2v5H5V5z'%20fill%3D'black'/%3E%3C/svg%3E");
  -webkit-mask-repeat: no-repeat;
          mask-repeat: no-repeat;
  -webkit-mask-size: contain;
          mask-size: contain;
  -webkit-mask-position: center;
          mask-position: center;
}
.photo-wrapper main a:not(.button):not(.sitelink)[target=_blank]::after {
  display: none;
}

main a:not(.button):not(.sitelink):hover {
  text-decoration-thickness: 2px;
}

/*----------FOOTER--------------------------------------------------------------------------*/
footer {
  display: flex;
  gap: 1.2em;
  flex-wrap: wrap;
  flex-basis: 100%;
  align-items: center;
  justify-content: space-between;
}

footer:not(:has(.socialmedia)) {
  gap: 0.5em;
}

footer > * {
  flex-basis: 100%;
}

footer nav ul {
  list-style: none;
}

footer ul.secondary li {
  line-height: 1.5;
}

footer ul.secondary li a, footer ul.secondary li span {
  color: #383838;
  text-decoration: none;
}

footer ul.secondary li a:hover {
  color: #000;
}

footer ul.secondary li, footer nav ul.secondary ul {
  display: inline-block;
}

footer ul.secondary li:after, footer nav ul.secondary ul:before {
  content: "";
  display: inline-block;
  margin-inline: 0.8em;
}

footer ul.secondary li:last-child:after {
  border: 0;
  margin: 0;
}

footer ul.socialmedia {
  display: flex;
  flex-direction: row;
  flex-wrap: wrap;
  gap: 1em 1.2em;
}

footer ul.socialmedia img {
  font-size: 16px;
  width: 1em;
  height: auto;
}

footer ul.socialmedia img:not(.colored) {
  opacity: 0.8;
}

footer ul.socialmedia img:not(.colored):hover {
  opacity: 1;
}

footer ul.socialmedia img.colored:hover {
  opacity: 0.8;
}

footer p.footer-info {
  font-size: 0.8em;
}

footer p.footer-info a:hover {
  color: #000;
}

footer p.footer-info a.footer-link {
  font-size: 10.5px;
  text-transform: uppercase;
}

footer p.footer-info a.footer-link.has-successor:before {
  content: "";
  display: block;
  margin-top: 0.75em;
}

/*#########################################################*/
/*##########CLASSES########################################*/
/*#########################################################*/
/*----------GENERAL----------------------------------------*/
/*classes*/
.textleft {
  text-align: left !important;
  -moz-text-align-last: left !important;
       text-align-last: left !important;
}

.textcenter {
  text-align: center !important;
  -moz-text-align-last: center !important;
       text-align-last: center !important;
}

.textright {
  text-align: right !important;
  -moz-text-align-last: right !important;
       text-align-last: right !important;
}

.textindent {
  margin-left: 1em;
}

.hover-pointer:hover {
  cursor: pointer;
}

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

/*svg.symbol*/
svg.symbol {
  fill: currentColor;
  width: 1em;
  height: auto;
  vertical-align: middle;
}

svg.symbol.symbol-arrowback {
  margin-right: 0.1em;
  font-size: 1.2em;
}

svg.symbol.symbol-arrowforward {
  margin-left: 0.1em;
  font-size: 1.2em;
}

a > svg.symbol, button > svg.symbol {
  transform: translateY(-0.05em);
}

.button svg.symbol {
  margin-right: 0.2em;
}

/*error/success*/
span.error {
  color: #cb0000;
}

span.success {
  color: #009920;
}

/*button*/
.button {
  font-size: 0.86rem;
  padding: 0.6em 0.8em;
  line-height: normal;
}

form:not(.form-inline) button.button {
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.025em;
  padding-left: 1em;
  padding-right: 1em;
}

.button:hover:not(:disabled) {
  cursor: pointer;
}

.button:disabled {
  opacity: 0.25;
}

.button-primary {
  color: #fff;
  background: #222222;
  border: 2px solid #222222;
  font-weight: 500;
}

.button-secondary {
  color: #222222;
  background: #fff;
  border: 2px solid #222222;
  font-weight: 500;
}

@media (hover: hover) and (pointer: fine) {
  .button-primary:hover:not(:disabled) {
    color: #fff;
    background: #000;
    border-color: #000;
  }
  .button-secondary:hover:not(:disabled) {
    color: #fff;
    background: #000;
  }
}
/*button-container*/
div.button-container {
  margin-top: 0.2em;
  margin-bottom: 1em;
  display: flex;
  gap: 0.5em;
  flex-wrap: wrap;
  align-items: baseline;
}

div.button-container > br {
  width: 100%;
  content: "";
}

/*----------PAGETOP----------------------------------------*/
/*div.breadcrumb*/
div.breadcrumb {
  margin-bottom: 1rem;
  white-space: nowrap;
  overflow: auto hidden;
  scrollbar-width: none;
  -webkit-overflow-scrolling: touch;
}

div.breadcrumb ul {
  list-style: none;
  margin: 0;
  display: flex;
  line-height: 1.2;
}

div.breadcrumb li {
  display: flex;
  align-items: center;
}

div.breadcrumb li + li::before {
  content: "›";
  opacity: 0.7;
  padding: 0 0.2em;
  margin-block: -0.04em 0.04em;
  font-size: 1.6em;
  font-weight: 100;
  font-family: -apple-system, "Segoe UI", Roboto, sans-serif;
}

div.breadcrumb li a.sitelink {
  text-decoration: underline;
  text-underline-offset: 0.2em;
  text-decoration-thickness: 1px;
}

div.breadcrumb li a.sitelink:hover {
  text-decoration-thickness: 1.25px;
}

@media (max-width: 999px) {
  div.breadcrumb li:first-child {
    display: none;
  }
  div.breadcrumb li:first-child + li::before {
    display: none;
  }
  /* div.breadcrumb ul:has(> li:nth-child(2):last-child) display:none */
  div.breadcrumb ul:has(> li:nth-child(2):last-child) li:first-child {
    display: flex;
  }
  div.breadcrumb ul:has(> li:nth-child(2):last-child) li:first-child + li::before {
    display: inherit;
  }
}
/*backlink*/
div.backlink {
  text-align: center;
  font-size: 0.95em;
  font-weight: 600;
  margin-bottom: 0.2em;
}

div.backlink a {
  color: #383838;
}

div.backlink svg {
  font-size: 1.2em;
  transform: translate(0.05em, -0.05em);
}

@media (min-width: 1000px) {
  div.backlink a svg {
    transform: translate(0.05em, -0.05em);
    transition: all 0.1s linear;
  }
  div.backlink a:hover svg {
    transform: translate(-0.1em, -0.05em);
    transition: all 0.1s linear;
  }
}
@media (max-width: 999px) {
  div.backlink svg {
    margin-right: 0 !important;
  }
}
/*page heading span.pretitle*/
span.pretitle::after {
  content: "» ";
}

/*div.pagecover*/
div.pagecover {
  margin-bottom: 1rem;
  aspect-ratio: 2.6/1;
  width: 100%;
  position: relative;
  display: block;
}

div.pagecover div.cover-image, div.pagecover div.cover-image * {
  width: 100%;
  height: 100%;
}

div.pagecover div.cover-image img.photo {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}

div.pagecover div.cover-text {
  padding: 1.5em;
  width: 100%;
  position: absolute;
  bottom: 0;
  z-index: 1;
  box-sizing: border-box;
}

div.pagecover div.cover-text {
  color: #fff;
  flex-direction: column;
  justify-content: flex-end;
  display: flex;
}

div.pagecover div.cover-text span.cover-title, div.pagecover div.cover-text span.cover-tagline {
  word-break: break-word;
  overflow: hidden;
  text-overflow: ellipsis;
  display: -webkit-box;
  -webkit-box-orient: vertical;
  text-shadow: 2px 2px 6px rgba(0, 0, 0, 0.2);
}

div.pagecover div.cover-text span.cover-title {
  font-size: 3em;
  -webkit-line-clamp: 4;
}

div.pagecover div.cover-text a {
  color: #fff;
  text-decoration: none;
}

div.pagecover div.cover-text span.cover-tagline {
  margin-top: 0.2em;
  font-size: 1em;
  -webkit-line-clamp: 2;
}

div.pagecover div.cover-text span.cover-link {
  margin-top: calc(10% - 4em - 1em);
  margin-bottom: -0.6em;
}

div.pagecover div.cover-text span.cover-link svg {
  width: 1.5em;
  height: auto;
  fill: #fff;
  filter: drop-shadow(2px 2px 4px rgba(0, 0, 0, 0.4));
}

@media (min-width: 1000px) {
  div.pagecover div.cover-text span.cover-tagline {
    margin-left: 0.2em;
  }
  div.pagecover div.cover-text span.cover-link a svg {
    transition: transform 0.3s ease-out;
  }
  div.pagecover div.cover-text span.cover-link a:hover svg {
    transform: translateY(0.2em);
  }
}
@media (max-width: 999px) {
  div.pagecover {
    height: calc(var(--viewport-initialheight, 100dvh) - var(--header-height, 100dvh) - 0.2rem - 1rem);
  }
  body:has(.breadcrumb) div.pagecover {
    height: calc(var(--viewport-initialheight, 100dvh) - var(--header-height, 100dvh) - 0.2rem - 1rem - 3.5rem);
  }
  div.pagecover div.cover-text {
    text-align: center;
    padding: 0.5em;
  }
  div.pagecover div.cover-text span.cover-link {
    margin-top: calc(15dvh - 3em - 1em);
    margin-bottom: 1em;
  }
  div.pagecover div.cover-text span.cover-link svg {
    animation: bounce 1.5s infinite;
  }
  @keyframes bounce {
    0%, 100% {
      transform: translateY(-5px);
    }
    50% {
      transform: translateY(5px);
    }
  }
}
@media (max-width: 700px) {
  div.pagecover div.cover-text {
    font-size: 0.9em;
  }
}
/* appearance (div.breadcrumb, div.backlink, div.pagecover, (span .pretitle, h1)) */
/* h1 => if not disabled in admin */
@media (min-width: 1000px) {
  h1:not(.desktop) {
    display: none;
  }
}
@media (max-width: 999px) {
  h1:not(.mobile) {
    display: none;
  }
}
/* pretitle => on desktop and non centered layouts */
@media (max-width: 999px) {
  span.pretitle {
    display: none;
  }
}
/*non centered layouts via layout-centered.css */
/* backlink => on mobile if h1 not disabled in admin */
div.backlink {
  display: none;
}

@media (max-width: 999px) {
  main:has(h1.mobile) div.backlink {
    display: block;
  }
  main:has(h1.mobile) h1 {
    margin-top: 0;
  }
}
/* breadcrumb => not within iframe */
body.in-iframe div.breadcrumb {
  display: none;
}

/* breadcrumb => hides backlink */
main:has(div.breadcrumb) div.backlink {
  display: none;
}

/* pagecover => hides h1, backlink, and pretitle */
main:has(div.pagecover) h1, main:has(div.pagecover) div.backlink, main:has(div.pagecover) span.pretitle {
  display: none;
}

/* article => hides backlink */
main.template-blog:has(article div.header-image.image-available) div.backlink {
  display: none;
}

/*----------BLOCKS/ELEMENTS---------------------------------*/
/*template tags*/
.template-tag[style*="margin:auto"] {
  margin: 0 auto 1em auto !important;
}

@media (min-width: 601px) {
  .template-tag[style*="float:left"] {
    margin-top: 0.5em !important;
    margin-right: 1.5em;
    margin-bottom: 0.1em !important;
  }
  .template-tag[style*="float:right"] {
    margin-top: 0.5em !important;
    margin-left: 1.5em;
    margin-bottom: 0.1em !important;
  }
}
@media (max-width: 600px) {
  .template-tag:not(ul.gallery-album):not(ul.gallery-set):not(.option-fullsize) {
    width: 100% !important;
    float: none !important;
    margin-bottom: 0.1em !important;
    margin-left: auto;
    margin-left: auto;
  }
}
.template-tag.largespacing[style*="margin:auto"] {
  margin: 2em auto 2em auto !important;
}

@media (min-width: 601px) {
  .template-tag.largespacing[style*="float:left"] {
    margin-right: 3em;
    margin-bottom: 1em !important;
  }
  .template-tag.largespacing[style*="float:right"] {
    margin-left: 3em;
    margin-bottom: 1em !important;
  }
}
.template-tag.figure, iframe.template-tag {
  margin-bottom: 1.5em;
}

/*figure*/
div.figure {
  text-align: center;
}

div.figure span.info-title {
  font-size: 0.95em;
  margin-top: 0.25em;
  display: inline-block;
}

/*hero*/
div.hero {
  width: 100%;
  margin-bottom: 1em;
  display: flex;
  flex-wrap: wrap;
}

div.hero.photo-right {
  flex-direction: row-reverse;
}

div.hero > div.photo-wrapper {
  flex: none;
  width: 33.3%;
}

div.hero > div.photo-wrapper img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}

div.hero > div.text-wrapper {
  flex: 1;
  padding: 2em;
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  align-content: center;
  overflow: hidden;
}

div.hero > div.text-wrapper h2 {
  width: 100%;
  margin-top: 0;
  margin-bottom: 0.5rem;
  text-align: left;
  font-size: 1.6em;
}

div.hero > div.text-wrapper p {
  width: 100%;
  margin-bottom: 0;
  text-align: left;
}

div.hero > div.text-wrapper a.button {
  display: block;
  width: -webkit-max-content;
  width: -moz-max-content;
  width: max-content;
  margin-top: 1rem;
  margin-bottom: 0;
}

div.hero.option-background-light {
  background: rgba(25, 25, 25, 0.028);
}

div.hero.option-background-dark {
  background: #121212;
  color: rgba(255, 255, 255, 0.75);
}

div.hero.option-background-dark h2, div.hero.option-background-dark a {
  color: #fff;
}

div.hero.option-background-dark .button-primary {
  color: #121212;
  background: #fff;
  border: 2px solid #fff;
  font-weight: 500;
}

@media (hover: hover) and (pointer: fine) {
  div.hero.option-background-dark .button-primary:hover:not(:disabled) {
    background: #f0f0f0;
    border-color: #f0f0f0;
  }
}
@media (min-width: 1000px) {
  div.hero.option-largespacing > div.text-wrapper {
    padding: 4rem;
  }
  div.hero.option-largespacing > div.text-wrapper h2 {
    margin-bottom: 1.5rem;
  }
  div.hero.option-largespacing > div.text-wrapper a.button-primary {
    margin-top: 1.5rem;
  }
}
@media (max-width: 999px) {
  div.hero.option-fullsize {
    margin-left: -1rem;
    width: calc(100% + 2rem) !important;
  }
  div.hero.option-largespacing > div.text-wrapper h2 {
    margin-bottom: 1rem;
  }
  div.hero.option-largespacing > div.text-wrapper a.button-primary {
    margin-top: 1rem;
  }
}
@media (max-width: 900px) {
  div.hero {
    flex-wrap: wrap;
  }
  div.hero > div.photo-wrapper, div.hero > div.text-wrapper {
    width: 100% !important;
  }
  div.hero > div.text-wrapper {
    padding: 1.5em;
  }
}
/*links-prevnext*/
p.links-prevnext {
  text-wrap: balance;
  display: flex;
  -moz-column-gap: 0.5em;
       column-gap: 0.5em;
  width: 100%;
  justify-content: flex-start;
}

p.links-prevnext .link-prev {
  text-align: left;
}

p.links-prevnext .link-next {
  text-align: right;
}

/*infobox*/
div.infobox {
  display: block;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  padding: 1em;
  margin-bottom: 1em;
  background: rgba(25, 25, 25, 0.05);
  color: #000;
}

div.infobox > *:first-child {
  margin-top: 0;
}

div.infobox > *:last-child {
  margin-bottom: 0;
}

/*photo-wrapper*/
div.photo-wrapper {
  width: 100%;
  display: flex;
  justify-content: center;
  align-items: center;
  overflow: hidden;
  position: relative;
  box-sizing: border-box;
}

div.photo-wrapper img.photo {
  width: 100%;
  height: auto;
  max-width: 100%;
  max-height: 100%;
  -o-object-fit: contain;
     object-fit: contain;
  display: block;
  box-sizing: border-box;
}

/*photo-wrapper:background*/
div.figure div.photo-wrapper:has(.img-unloaded) {
  background: rgba(25, 25, 25, 0.028);
}

ul.gallery div.photo-wrapper:has(.img-unloaded) {
  background: rgba(25, 25, 25, 0.028);
}

ul.gallery div.photo-wrapper:has(.img-unloaded) {
  background: rgba(25, 25, 25, 0.028);
  background: linear-gradient(110deg, rgba(0, 0, 0, 0.05) 60%, rgba(0, 0, 0, 0.02) 70%, rgba(0, 0, 0, 0.05) 82%);
  background-size: 200% 100%;
  animation: 2s shine linear infinite;
  animation-delay: 2s;
}

@keyframes shine {
  to {
    background-position-x: -200%;
  }
}
ul.gallery.layout-slideshow div.photo-wrapper:has(.img-unloaded[style*=contain]) {
  background: none;
}

/*gallery*/
:root {
  --gallery-spacingfactor: 1;
}

:root {
  --gallery-grid-spacing: 1rem;
}

:root {
  --gallery-masonry-spacing: 1rem;
}

:root {
  --gallery-wall-spacing: 1rem;
}

:root {
  --gallery-mosaic-spacing: 1rem;
}

:root {
  --gallery-card-spacing: 1rem;
}

:root {
  --gallery-timeline-spacing: 1rem;
}

@media (min-width: 1000px) {
  ul.gallery {
    --gallery-grid-spacing: 2rem;
    --gallery-timeline-spacing: 4px;
  }
  ul.gallery {
    --gallery-mosaic-spacing: 1.5rem;
    --gallery-masonry-spacing: 1.5rem;
    --gallery-wall-spacing: 1.5rem;
  }
  ul.gallery.gallery-set {
    --gallery-grid-spacing: 3rem;
    --gallery-masonry-spacing: 3rem;
  }
}
@media (max-width: 999px) {
  ul.gallery {
    --gallery-timeline-spacing: 3px;
  }
  ul.gallery.gallery-set {
    --gallery-grid-spacing: calc(2rem / 1.5);
    --gallery-masonry-spacing: 2rem;
  }
}
/*gallery*/
ul.gallery {
  list-style: none;
  line-height: normal;
  margin: 0;
  margin-bottom: 1em;
  width: 100%;
  box-sizing: border-box;
}

ul.gallery li {
  box-sizing: border-box;
  text-align: center;
}

/*gallery.layout-grid*/
ul.gallery.layout-grid {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
}

ul.gallery.layout-grid {
  gap: calc(var(--gallery-grid-spacing) * var(--gallery-spacingfactor));
}

ul.gallery.layout-grid {
  row-gap: calc(1.5 * var(--gallery-grid-spacing) * var(--gallery-spacingfactor));
}

ul.gallery.layout-grid.cols-1 {
  row-gap: calc(1 * var(--gallery-grid-spacing) * var(--gallery-spacingfactor));
}

ul.gallery.layout-grid.has-titles {
  align-items: flex-start;
}

ul.gallery.layout-grid li div.photo-wrapper.photo-portrait {
  width: 66.67%;
  margin-inline: auto;
}

ul.gallery.layout-grid.cols-1 li {
  width: 100%;
}

ul.gallery.layout-grid.cols-2 li {
  width: calc((100% - var(--gallery-grid-spacing) * var(--gallery-spacingfactor) * 1) / 2 - 0.1px);
}

ul.gallery.layout-grid.cols-3 li {
  width: calc((100% - var(--gallery-grid-spacing) * var(--gallery-spacingfactor) * 2) / 3 - 0.1px);
}

ul.gallery.layout-grid.cols-4 li {
  width: calc((100% - var(--gallery-grid-spacing) * var(--gallery-spacingfactor) * 3) / 4 - 0.1px);
}

ul.gallery.layout-grid.cols-5 li {
  width: calc((100% - var(--gallery-grid-spacing) * var(--gallery-spacingfactor) * 4) / 5 - 0.1px);
}

ul.gallery.layout-grid.cols-6 li {
  width: calc((100% - var(--gallery-grid-spacing) * var(--gallery-spacingfactor) * 5) / 6 - 0.1px);
}

@media (max-width: 999px) {
  ul.gallery.layout-grid {
    row-gap: calc(2 * var(--gallery-grid-spacing));
  }
  ul.gallery.layout-grid.cols-mobile-1 {
    row-gap: calc(1 * var(--gallery-grid-spacing));
  }
  ul.gallery.layout-grid.cols-mobile-1 li {
    width: 100%;
  }
  ul.gallery.layout-grid.cols-mobile-2 li {
    width: calc((100% - var(--gallery-grid-spacing) * var(--gallery-spacingfactor) * 1) / 2 - 0.1px);
  }
  ul.gallery.layout-grid.cols-mobile-3 li {
    width: calc((100% - var(--gallery-grid-spacing) * var(--gallery-spacingfactor) * 2) / 3 - 0.1px);
  }
  ul.gallery.layout-grid.cols-mobile-4 li {
    width: calc((100% - var(--gallery-grid-spacing) * var(--gallery-spacingfactor) * 3) / 4 - 0.1px);
  }
  ul.gallery.layout-grid.cols-mobile-5 li {
    width: calc((100% - var(--gallery-grid-spacing) * var(--gallery-spacingfactor) * 4) / 5 - 0.1px);
  }
  ul.gallery.layout-grid.cols-mobile-6 li {
    width: calc((100% - var(--gallery-grid-spacing) * var(--gallery-spacingfactor) * 5) / 6 - 0.1px);
  }
  ul.gallery.layout-grid.cols-mobile-1 li div.photo-wrapper.photo-portrait {
    width: 100%;
  }
}
/*gallery.layout-mosaic*/
ul.gallery.layout-mosaic {
  gap: calc(var(--gallery-mosaic-spacing) * var(--gallery-spacingfactor));
  width: 100%;
  display: flex;
  flex-wrap: wrap;
  align-items: center;
}

ul.gallery.layout-mosaic li {
  position: relative;
  overflow: hidden;
}

ul.gallery.layout-mosaic li:not(:has(.photo-wrapper)) {
  aspect-ratio: 1;
}

ul.gallery.layout-mosaic li div.photo-wrapper img.photo {
  aspect-ratio: 1 !important;
  -o-object-fit: cover;
     object-fit: cover;
}

ul.gallery.layout-mosaic.cols-1 li {
  width: calc(100% - var(--gallery-mosaic-spacing) * var(--gallery-spacingfactor) * 0 / 1);
}

ul.gallery.layout-mosaic.cols-2 li {
  width: calc(50% - var(--gallery-mosaic-spacing) * var(--gallery-spacingfactor) * 1 / 2);
}

ul.gallery.layout-mosaic.cols-3 li {
  width: calc(33.33% - var(--gallery-mosaic-spacing) * var(--gallery-spacingfactor) * 2 / 3);
}

ul.gallery.layout-mosaic.cols-4 li {
  width: calc(25% - var(--gallery-mosaic-spacing) * var(--gallery-spacingfactor) * 3 / 4);
}

ul.gallery.layout-mosaic.cols-5 li {
  width: calc(20% - var(--gallery-mosaic-spacing) * var(--gallery-spacingfactor) * 4 / 5);
}

ul.gallery.layout-mosaic.cols-6 li {
  width: calc(16.66% - var(--gallery-mosaic-spacing) * var(--gallery-spacingfactor) * 5 / 6);
}

@media (max-width: 999px) {
  ul.gallery.layout-mosaic.cols-mobile-1 li {
    width: calc(100% - var(--gallery-mosaic-spacing) * var(--gallery-spacingfactor) * 0 / 1);
  }
  ul.gallery.layout-mosaic.cols-mobile-2 li {
    width: calc(50% - var(--gallery-mosaic-spacing) * var(--gallery-spacingfactor) * 1 / 2);
  }
  ul.gallery.layout-mosaic.cols-mobile-3 li {
    width: calc(33.33% - var(--gallery-mosaic-spacing) * var(--gallery-spacingfactor) * 2 / 3);
  }
  ul.gallery.layout-mosaic.cols-mobile-4 li {
    width: calc(25% - var(--gallery-mosaic-spacing) * var(--gallery-spacingfactor) * 3 / 4);
  }
  ul.gallery.layout-mosaic.cols-mobile-5 li {
    width: calc(20% - var(--gallery-mosaic-spacing) * var(--gallery-spacingfactor) * 4 / 5);
  }
  ul.gallery.layout-mosaic.cols-mobile-6 li {
    width: calc(16.66% - var(--gallery-mosaic-spacing) * var(--gallery-spacingfactor) * 5 / 6);
  }
}
/*gallery.layout-masonry*/
@media (min-width: 1400px) {
  ul.gallery.gallery-album {
    --gallery-masonry-spacing: 2rem;
  }
}
ul.gallery.layout-masonry.gallery-unmounted {
  opacity: 0;
}

ul.gallery.layout-masonry.gallery-mounted {
  opacity: 1;
  transition: opacity 0.4s linear;
}

ul.gallery.layout-masonry {
  -moz-column-gap: calc(var(--gallery-masonry-spacing) * var(--gallery-spacingfactor));
       column-gap: calc(var(--gallery-masonry-spacing) * var(--gallery-spacingfactor));
  display: block;
}

ul.gallery.layout-masonry li {
  margin-bottom: calc(var(--gallery-masonry-spacing) * var(--gallery-spacingfactor));
  width: 100%;
  -moz-column-break-inside: avoid;
       break-inside: avoid;
  page-break-inside: avoid;
  position: relative;
  overflow: hidden;
}

ul.gallery.layout-masonry.cols-1 {
  -moz-columns: 1;
       columns: 1;
}

ul.gallery.layout-masonry.cols-2 {
  -moz-columns: 2;
       columns: 2;
}

ul.gallery.layout-masonry.cols-3 {
  -moz-columns: 3;
       columns: 3;
}

ul.gallery.layout-masonry.cols-4 {
  -moz-columns: 4;
       columns: 4;
}

ul.gallery.layout-masonry.cols-5 {
  -moz-columns: 5;
       columns: 5;
}

ul.gallery.layout-masonry.cols-6 {
  -moz-columns: 6;
       columns: 6;
}

@media (max-width: 999px) {
  ul.gallery.layout-masonry.cols-mobile-1 {
    -moz-columns: 1;
         columns: 1;
  }
  ul.gallery.layout-masonry.cols-mobile-2 {
    -moz-columns: 2;
         columns: 2;
  }
  ul.gallery.layout-masonry.cols-mobile-3 {
    -moz-columns: 3;
         columns: 3;
  }
  ul.gallery.layout-masonry.cols-mobile-4 {
    -moz-columns: 4;
         columns: 4;
  }
  ul.gallery.layout-masonry.cols-mobile-5 {
    -moz-columns: 5;
         columns: 5;
  }
  ul.gallery.layout-masonry.cols-mobile-6 {
    -moz-columns: 6;
         columns: 6;
  }
}
/*gallery.layout-wall*/
ul.gallery.layout-wall.gallery-unmounted:not(.dynamic) {
  display: none;
}

ul.gallery.layout-wall.gallery-unmounted:not(.dynamic) {
  opacity: 0;
}

ul.gallery.layout-wall.gallery-mounted:not(.dynamic) {
  opacity: 1;
  transition: opacity 0.4s linear;
  gap: max(var(--gallery-wall-spacing) * var(--gallery-spacingfactor), 0.001em);
  padding: 0 max(var(--gallery-wall-spacing) * var(--gallery-spacingfactor) / 2, 0.001em);
}

ul.gallery.layout-wall:not(.dynamic) {
  width: calc(100% + var(--gallery-wall-spacing) * var(--gallery-spacingfactor));
  margin-left: calc(var(--gallery-wall-spacing) * var(--gallery-spacingfactor) / 2 * -1);
  display: flex;
  flex-wrap: wrap;
}

ul.gallery.layout-wall:not(.dynamic) li {
  position: relative;
  overflow: hidden;
}

ul.gallery.layout-wall:not(.dynamic) li.break {
  width: 100%;
  height: 0;
  margin: 0 !important;
}

ul.gallery.layout-wall:not(.dynamic) li.dummy {
  margin: 0 !important;
}

ul.gallery.layout-wall:not(.dynamic) li span.fix {
  display: block;
}

ul.gallery.layout-wall:not(.dynamic) li div.photo-wrapper {
  width: 100%;
  height: 100%;
  position: absolute;
  top: 0;
  bottom: 0;
  left: 0;
  right: 0;
}

@media (max-width: 999px) {
  ul.gallery.layout-wall:not(.dynamic) li.dummy {
    display: none;
  }
}
/*gallery.layout-wall.dynamic*/
ul.gallery.layout-wall.dynamic.gallery-unmounted {
  display: none;
}

ul.gallery.layout-wall.dynamic.gallery-unmounted {
  opacity: 0;
}

ul.gallery.layout-wall.dynamic.gallery-mounted {
  opacity: 1;
  transition: opacity 0.4s linear;
}

ul.gallery.layout-wall.dynamic {
  width: calc(100% + var(--gallery-wall-spacing) * var(--gallery-spacingfactor));
  margin-left: calc(var(--gallery-wall-spacing) * var(--gallery-spacingfactor) / 2 * -1);
  display: flex;
  flex-wrap: wrap;
}

ul.gallery.layout-wall.dynamic {
  margin-bottom: calc(var(--gallery-wall-spacing) * var(--gallery-spacingfactor) / 2 * -1 + 1em);
}

ul.gallery.layout-wall.dynamic li {
  margin: max(var(--gallery-wall-spacing) * var(--gallery-spacingfactor) / 2, 0.001em);
  position: relative;
  overflow: hidden;
}

ul.gallery.layout-wall.dynamic:has(.break) li {
  margin-top: 0;
}

ul.gallery.layout-wall.dynamic:has(.break) li.break ~ li {
  margin-top: max(var(--gallery-wall-spacing) * var(--gallery-spacingfactor) / 2, 0.001em);
}

ul.gallery.layout-wall.dynamic li.break {
  width: 100%;
  height: 0;
  margin: 0 !important;
}

ul.gallery.layout-wall.dynamic li.dummy {
  margin: 0 !important;
}

ul.gallery.layout-wall.dynamic li span.fix {
  display: block;
}

ul.gallery.layout-wall.dynamic li div.photo-wrapper {
  width: 100%;
  height: 100%;
  position: absolute;
  top: 0;
  bottom: 0;
  left: 0;
  right: 0;
}

@media (max-width: 999px) {
  ul.gallery.layout-wall.dynamic li.dummy {
    display: none;
  }
}
/*gallery.layout-card*/
@media (min-width: 1000px) {
  ul.gallery.layout-card {
    display: flex;
    flex-wrap: wrap;
    align-items: flex-start;
    gap: var(--gallery-card-spacing);
    width: calc(100% + var(--gallery-card-spacing));
  }
  ul.gallery.layout-card li {
    position: relative;
    overflow: hidden;
  }
  ul.gallery.layout-card li div.photo-wrapper {
    aspect-ratio: 3/2 !important;
  }
  ul.gallery.layout-card li div.photo-wrapper img {
    width: 100%;
    height: 100%;
    -o-object-fit: cover;
       object-fit: cover;
  }
  ul.gallery.layout-card.cols-1 li {
    width: calc(100% - var(--gallery-card-spacing));
  }
  ul.gallery.layout-card.cols-2 li {
    width: calc(50% - var(--gallery-card-spacing));
  }
  ul.gallery.layout-card.cols-3 li {
    width: calc(33.33% - var(--gallery-card-spacing));
  }
  ul.gallery.layout-card.cols-4 li {
    width: calc(25% - var(--gallery-card-spacing));
  }
  ul.gallery.layout-card.cols-5 li {
    width: calc(20% - var(--gallery-card-spacing));
  }
  ul.gallery.layout-card.cols-6 li {
    width: calc(16.66% - var(--gallery-card-spacing));
  }
  ul.gallery.layout-card.cols-7 li {
    width: calc(14.28% - var(--gallery-card-spacing));
  }
  ul.gallery.layout-card.cols-8 li {
    width: calc(12.5% - var(--gallery-card-spacing));
  }
}
@media (max-width: 999px) {
  ul.gallery.layout-card {
    display: flex;
    align-items: self-start;
    flex-wrap: nowrap;
    overflow-x: auto;
    scrollbar-width: none;
    width: 100%;
    gap: 2%;
  }
  ul.gallery.layout-card li {
    flex-shrink: 0;
    flex-grow: 1;
  }
  ul.gallery.layout-card li div.photo-wrapper {
    height: calc((100vw - 2rem) * 0.42 / 3 * 2);
  }
  ul.gallery.layout-card li div.photo-wrapper img {
    aspect-ratio: var(--aspectratio);
    width: auto;
    height: 100%;
    -o-object-fit: cover;
       object-fit: cover;
  }
  ul.gallery.gallery-set.layout-card {
    gap: 4%;
  }
  ul.gallery.gallery-set.layout-card div.photo-wrapper {
    aspect-ratio: 3/2 !important;
    height: calc((100vw - 2rem) * 0.8 / 3 * 2);
  }
}
/*gallery.layout-slideshow*/
ul.gallery.layout-slideshow.gallery-unmounted {
  opacity: 0;
}

ul.gallery.layout-slideshow.gallery-mounted {
  opacity: 1;
  transition: opacity 1.2s linear;
}

ul.gallery.layout-slideshow:not(.gallery-mounted) {
  width: 100%;
  aspect-ratio: 3/2;
  position: relative;
  overflow: hidden;
}

ul.gallery.layout-slideshow:not(.gallery-mounted) li {
  position: absolute;
  width: 100%;
  height: 100%;
}

ul.gallery.layout-slideshow:not(.gallery-mounted) li img {
  width: 100%;
  height: 100%;
  -o-object-fit: contain;
     object-fit: contain;
}

ul.gallery.layout-slideshow.gallery-mounted ul.slideshow {
  -webkit-user-select: none;
     -moz-user-select: none;
          user-select: none;
}

ul.gallery.layout-slideshow.gallery-mounted ul.slideshow {
  margin: 0;
  list-style: none;
  width: 100%;
  aspect-ratio: 3/2;
  position: relative;
  overflow: hidden;
}

ul.gallery.layout-slideshow.gallery-mounted ul.slideshow li:not(.button-slide) {
  position: absolute;
  width: 100%;
  height: 100%;
}

ul.gallery.layout-slideshow.gallery-mounted ul.slideshow li:not(.button-slide) div.photo-wrapper {
  width: 100%;
  height: 100%;
}

ul.gallery.layout-slideshow.gallery-mounted ul.slideshow li:not(.button-slide) img {
  width: 100%;
  height: 100%;
  -o-object-fit: contain;
     object-fit: contain;
}

ul.gallery.layout-slideshow.gallery-mounted.photofit-contain ul.slideshow li:not(.button-slide) img {
  -o-object-position: center !important;
     object-position: center !important;
}

ul.gallery.layout-slideshow.gallery-mounted ul.slideshow li:not(.button-slide) span {
  display: none;
}

ul.gallery.layout-slideshow.gallery-mounted ul.slideshow li:not(.button-slide) img {
  background: none;
}

/*reset*/
ul.gallery.layout-slideshow.gallery-mounted ul.slideshow li:not(.button-slide) span.loader {
  display: block !important;
}

ul.gallery.layout-slideshow.gallery-mounted:hover ul.slideshow li:not(.button-slide) a {
  opacity: 1 !important;
}

/*reset*/
ul.gallery.layout-slideshow.gallery-mounted ul.slideshow li:not(.button-slide) {
  transition: opacity 0.8s linear, transform 0.3s linear;
}

ul.gallery.layout-slideshow.gallery-mounted ul.slideshow li.button-slide {
  position: absolute;
  z-index: 1;
}

ul.gallery.layout-slideshow.gallery-mounted ul.slideshow li.button-slide {
  opacity: 0;
  transition: opacity 0.8s;
}

ul.gallery.layout-slideshow.gallery-mounted ul.slideshow li.button-fullscreen {
  opacity: 1;
}

ul.gallery.layout-slideshow.gallery-mounted ul.slideshow:hover li.button-slide {
  opacity: 1;
}

ul.gallery.layout-slideshow.gallery-mounted ul.slideshow li.button-prev {
  left: 0.8em;
  top: calc(50% - 2.4em);
  padding: 1.4em 0;
}

ul.gallery.layout-slideshow.gallery-mounted ul.slideshow li.button-next {
  right: 0.8em;
  top: calc(50% - 2.4em);
  padding: 1.4em 0;
}

ul.gallery.layout-slideshow.gallery-mounted ul.slideshow li.button-fullscreen {
  right: 0.6em;
  top: 0.6em;
}

ul.gallery.layout-slideshow.gallery-mounted.photofit-contain ul.slideshow li.button-fullscreen {
  opacity: 0;
}

ul.gallery.layout-slideshow.gallery-mounted.photofit-contain:hover ul.slideshow li.button-fullscreen {
  opacity: 1;
}

ul.gallery.layout-slideshow.gallery-mounted ul.slideshow li.button-slide button {
  color: #fff;
  cursor: pointer;
  border: none;
  background: none;
}

ul.gallery.layout-slideshow.gallery-mounted ul.slideshow li.button-slide:hover button,
ul.gallery.layout-slideshow.gallery-mounted ul.slideshow li.button-prev button,
ul.gallery.layout-slideshow.gallery-mounted ul.slideshow li.button-next button {
  transform: scale(1.2, 1.2);
  filter: drop-shadow(1px 0px rgba(0, 0, 0, 0.2));
}

ul.gallery.layout-slideshow.gallery-mounted ul.slideshow li.button-prev:hover button, ul.gallery.layout-slideshow.gallery-mounted ul.slideshow li.button-next:hover button {
  filter: drop-shadow(1px 0px rgba(0, 0, 0, 0.5));
}

ul.gallery.layout-slideshow.gallery-mounted ul.slideshow li.button-fullscreen button {
  font-size: 1.2em;
}

ul.gallery.layout-slideshow.gallery-mounted ul.slideshow li.button-fullscreen button {
  background-color: rgba(0, 0, 0, 0.1);
  line-height: 0;
  padding: 0.25em;
  border-radius: 4px;
}

ul.gallery.layout-slideshow.gallery-mounted ul.slideshow li.button-fullscreen:hover button {
  background-color: rgba(0, 0, 0, 0.2);
}

ul.gallery.layout-slideshow.gallery-mounted.fullscreen ul.slideshow li.button-fullscreen {
  right: 0.4em;
  top: 0.4em;
}

ul.gallery.layout-slideshow.gallery-mounted.fullscreen ul.slideshow li.button-fullscreen button {
  background-color: rgba(0, 0, 0, 0.15);
}

ul.gallery.layout-slideshow.gallery-mounted.fullscreen ul.slideshow li.button-fullscreen:hover button {
  background-color: rgba(0, 0, 0, 0.3);
}

ul.gallery.layout-slideshow.gallery-mounted div.slideshow-phototitle {
  margin: 0.25em auto;
  width: 90%;
  text-align: center;
  font-size: 0.9em;
}

ul.gallery.layout-slideshow.gallery-mounted ul.slideshow-navigation.dots {
  list-style: none;
  margin: 0.25em auto;
  width: 95%;
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
}

ul.gallery.layout-slideshow.gallery-mounted ul.slideshow-navigation.dots li {
  background-color: #000;
  margin: 0.4em 0.3em;
  width: 0.4em;
  height: 0.4em;
  border-radius: 50%;
  opacity: 0.15;
  cursor: pointer;
}

ul.gallery.layout-slideshow.gallery-mounted ul.slideshow-navigation.dots li.active {
  opacity: 0.3;
}

ul.gallery.layout-slideshow.gallery-mounted ul.slideshow-navigation.dots li span {
  display: none;
}

ul.gallery.layout-slideshow.gallery-mounted ul.slideshow-navigation.thumbs {
  position: relative;
  list-style: none;
  margin: 0.25em 0;
  width: 100%;
  display: flex;
  flex-wrap: nowrap;
  justify-content: left;
  overflow-x: auto;
}

ul.gallery.layout-slideshow.gallery-mounted ul.slideshow-navigation.thumbs li img {
  height: 4em;
  width: auto;
}

ul.gallery.layout-slideshow.gallery-mounted ul.slideshow-navigation.thumbs:not(.grabbing) li:hover {
  opacity: 0.9;
  cursor: pointer;
}

ul.gallery.layout-slideshow.gallery-mounted ul.slideshow-navigation.thumbs li:not(:last-child) {
  margin-right: 0.25em;
  margin-bottom: 0.25em;
}

ul.gallery.layout-slideshow.gallery-mounted ul.slideshow-navigation.thumbs {
  scrollbar-width: thin;
}

ul.gallery.layout-slideshow.gallery-mounted ul.slideshow-navigation.thumbs::-webkit-scrollbar {
  width: 0.4em;
  height: 0.4em;
}

ul.gallery.layout-slideshow.gallery-mounted ul.slideshow-navigation.thumbs::-webkit-scrollbar-track {
  background-color: rgba(0, 0, 0, 0.05);
}

ul.gallery.layout-slideshow.gallery-mounted ul.slideshow-navigation.thumbs::-webkit-scrollbar-thumb {
  background-color: rgba(0, 0, 0, 0.15);
}

ul.gallery.layout-slideshow.gallery-mounted ul.slideshow-navigation.thumbs::-webkit-scrollbar-thumb:hover {
  background-color: rgba(0, 0, 0, 0.2);
}

ul.gallery.layout-slideshow.gallery-mounted.fullscreen {
  padding: 1em;
  background: #fff;
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  height: 100vh;
  width: 100vw;
  z-index: 1000;
  display: flex;
  flex-direction: column;
  flex-wrap: wrap;
  justify-content: space-between;
}

ul.gallery.layout-slideshow.gallery-mounted.fullscreen > li {
  width: 100%;
}

ul.gallery.layout-slideshow.gallery-mounted.fullscreen li.slideshow-content {
  flex-grow: 1;
}

ul.gallery.layout-slideshow.gallery-mounted.fullscreen li.slideshow-content ul {
  height: 100%;
  aspect-ratio: auto !important;
}

ul.gallery.layout-slideshow.gallery-mounted.fullscreen li.slideshow-info {
  margin-bottom: -0.5em;
}

ul.gallery.layout-slideshow.gallery-mounted.fullscreen ul.slideshow li:not(.button-slide) img {
  -o-object-fit: contain !important;
     object-fit: contain !important;
}

ul.gallery.layout-slideshow.gallery-mounted.fullscreen {
  background: #121212;
}

/*fullscreen dark*/
ul.gallery.layout-slideshow.gallery-mounted.fullscreen ul.slideshow-navigation.dots li {
  background-color: #fff;
  opacity: 0.3;
}

ul.gallery.layout-slideshow.gallery-mounted.fullscreen ul.slideshow-navigation.dots li.active {
  opacity: 0.9;
}

ul.gallery.layout-slideshow.gallery-mounted.fullscreen ul.slideshow-navigation.thumbs {
  margin-inline: auto !important;
  width: -webkit-min-content;
  width: -moz-min-content;
  width: min-content;
  max-width: 100%;
}

ul.gallery.layout-slideshow.gallery-mounted.fullscreen ul.slideshow-navigation.thumbs::-webkit-scrollbar-track {
  background-color: rgba(255, 255, 255, 0.05);
}

ul.gallery.layout-slideshow.gallery-mounted.fullscreen ul.slideshow-navigation.thumbs::-webkit-scrollbar-thumb {
  background-color: rgba(255, 255, 255, 0.15);
}

ul.gallery.layout-slideshow.gallery-mounted.fullscreen ul.slideshow-navigation.thumbs::-webkit-scrollbar-thumb:hover {
  background-color: rgba(255, 255, 255, 0.2);
}

ul.gallery.layout-slideshow.gallery-mounted.fullscreen ul.slideshow-navigation.thumbs li {
  opacity: 0.5;
  transition: opacity 0.25s ease;
}

ul.gallery.layout-slideshow.gallery-mounted.fullscreen ul.slideshow-navigation.thumbs li.active {
  opacity: 1;
}

ul.gallery.layout-slideshow.gallery-mounted.fullscreen ul.slideshow-navigation.thumbs li.active img {
  outline: 2px solid #fff;
  outline-offset: -2px;
}

ul.gallery.layout-slideshow.gallery-mounted.fullscreen ul.slideshow-navigation.thumbs li:hover {
  opacity: 1;
}

ul.gallery.layout-slideshow.gallery-mounted.fullscreen ul.slideshow-navigation.thumbs {
  margin: 0.5em 0;
}

ul.gallery.layout-slideshow.gallery-mounted.fullscreen ul.slideshow-navigation.thumbs li:not(:last-child) {
  margin-right: 0.5em;
  margin-bottom: 0.5em;
}

@media (min-width: 1000px) {
  main:not(.template-startshowcase) ul.gallery.layout-slideshow.gallery-mounted ul.slideshow li.button-slide {
    opacity: 1;
  }
  ul.gallery.layout-slideshow.gallery-mounted ul.slideshow-navigation.dots:not(.many-dots) li {
    margin-left: 0.6em;
    margin-right: 0.6em;
  }
}
@media (max-width: 999px) {
  ul.gallery.layout-slideshow.gallery-mounted ul.slideshow li.button-fullscreen {
    display: none;
  }
  ul.gallery.layout-slideshow.gallery-mounted ul.slideshow-navigation.thumbs li:not(:last-child) {
    margin-bottom: 0.5em;
  }
}
/*gallery.layout-timeline*/
ul.gallery.layout-timeline {
  margin-bottom: 0em;
  width: calc(100% + var(--gallery-timeline-spacing));
  display: flex;
  flex-wrap: wrap;
  align-items: center;
}

ul.gallery.layout-timeline:after {
  content: "";
}

ul.gallery.layout-timeline li {
  margin: 0 var(--gallery-timeline-spacing) var(--gallery-timeline-spacing) 0;
  position: relative;
  overflow: hidden;
}

ul.gallery.layout-timeline li:before {
  content: "";
  display: block;
  padding-top: 100%;
}

ul.gallery.layout-timeline li div.photo-wrapper {
  width: 100%;
  height: 100%;
  position: absolute;
  top: 0;
  bottom: 0;
  left: 0;
  right: 0;
}

ul.gallery.layout-timeline li div.photo-wrapper img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}

@media (min-width: 1000px) {
  ul.gallery.layout-timeline li {
    width: calc(25% - var(--gallery-timeline-spacing));
  }
  ul.gallery.layout-timeline li:first-child:nth-last-child(1) {
    width: calc(100% - var(--gallery-timeline-spacing));
  }
  ul.gallery.layout-timeline li:has(.photo-landscape):first-child:nth-last-child(1):before {
    padding-top: 60%;
  }
  ul.gallery.layout-timeline li:has(.photo-portrait):first-child:nth-last-child(1) {
    width: calc(50% - var(--gallery-timeline-spacing));
  }
  ul.gallery.layout-timeline li:has(.photo-portrait):first-child:nth-last-child(1):before {
    padding-top: 150%;
  }
  ul.gallery.layout-timeline li:first-child:nth-last-child(2), ul.gallery.layout-timeline li:first-child:nth-last-child(2) ~ li {
    width: calc(50% - var(--gallery-timeline-spacing));
  }
  ul.gallery.layout-timeline:has(.photo-portrait):not(:has(.photo-landscape)) li:first-child:nth-last-child(2):before, ul.gallery.layout-timeline:has(.photo-portrait):not(:has(.photo-landscape)) li:first-child:nth-last-child(2) ~ li:before {
    padding-top: 150%;
  }
  ul.gallery.layout-timeline li:first-child:nth-last-child(3), ul.gallery.layout-timeline li:first-child:nth-last-child(3) ~ li {
    width: calc(33.33% - var(--gallery-timeline-spacing));
  }
  ul.gallery.layout-timeline li:nth-last-child(5) ~ li:nth-child(n+5) {
    width: calc(100% - var(--gallery-timeline-spacing));
  }
  ul.gallery.layout-timeline li:nth-last-child(6) ~ li:nth-child(n+5) {
    width: calc(50% - var(--gallery-timeline-spacing));
  }
  ul.gallery.layout-timeline li:nth-last-child(7) ~ li:nth-child(n+5) {
    width: calc(33.33% - var(--gallery-timeline-spacing));
  }
  ul.gallery.layout-timeline li:nth-last-child(8) ~ li:nth-child(n+5) {
    width: calc(25% - var(--gallery-timeline-spacing));
  }
  ul.gallery.layout-timeline li:first-child:nth-last-child(1):before {
    padding-top: 50%;
  }
  ul.gallery.layout-timeline li:first-child:nth-last-child(2):before, ul.gallery.layout-timeline li:first-child:nth-last-child(2) ~ li:before {
    padding-top: 100%;
  }
  ul.gallery.layout-timeline li:first-child:nth-last-child(3):before, ul.gallery.layout-timeline li:first-child:nth-last-child(3) ~ li:before {
    padding-top: 100%;
  }
  ul.gallery.layout-timeline li:nth-last-child(5) ~ li:nth-child(n+5):before {
    padding-top: 25%;
  }
  ul.gallery.layout-timeline li:nth-last-child(6) ~ li:nth-child(n+5):before {
    padding-top: 50%;
  }
  ul.gallery.layout-timeline li:nth-last-child(7) ~ li:nth-child(n+5):before {
    padding-top: 66.67%;
  }
  ul.gallery.layout-timeline li:nth-last-child(8) ~ li:nth-child(n+5):before {
    padding-top: 100%;
  }
  ul.gallery.layout-timeline li:nth-child(1):nth-last-child(5), ul.gallery.layout-timeline li:nth-child(2):nth-last-child(4), ul.gallery.layout-timeline li:nth-child(3):nth-last-child(3) {
    width: calc(33.33% - var(--gallery-timeline-spacing));
  }
  ul.gallery.layout-timeline li:nth-child(1):nth-last-child(5):before, ul.gallery.layout-timeline li:nth-child(2):nth-last-child(4):before, ul.gallery.layout-timeline li:nth-child(3):nth-last-child(3):before {
    padding-top: 66.67% !important;
  }
  ul.gallery.layout-timeline li:nth-child(4):nth-last-child(2), ul.gallery.layout-timeline li:nth-child(5):nth-last-child(1) {
    width: calc(50% - var(--gallery-timeline-spacing)) !important;
  }
  ul.gallery.layout-timeline li:nth-child(4):nth-last-child(2):before, ul.gallery.layout-timeline li:nth-child(5):nth-last-child(1):before {
    padding-top: 50% !important;
  }
  ul.gallery.layout-timeline li:first-child:nth-last-child(2):before, ul.gallery.layout-timeline li:first-child:nth-last-child(2) ~ li:before {
    padding-top: 66.67%;
  }
  ul.gallery.layout-timeline li:first-child:nth-last-child(3):before, ul.gallery.layout-timeline li:first-child:nth-last-child(3) ~ li:before {
    padding-top: 66.67%;
  }
  ul.gallery.layout-timeline li:first-child:nth-last-child(6), ul.gallery.layout-timeline li:first-child:nth-last-child(6) ~ li {
    width: calc(33.33% - var(--gallery-timeline-spacing));
  }
  ul.gallery.layout-timeline li:first-child:nth-last-child(6):before, ul.gallery.layout-timeline li:first-child:nth-last-child(6) ~ li:before {
    padding-top: 66.67%;
  }
}
@media (max-width: 999px) {
  ul.gallery.layout-timeline li {
    width: calc(33.33% - var(--gallery-timeline-spacing));
  }
  ul.gallery.layout-timeline li:first-child:nth-last-child(1) {
    width: calc(100% - var(--gallery-timeline-spacing));
  }
  ul.gallery.layout-timeline li:first-child:nth-last-child(1):has(.photo-portrait):before {
    padding-top: 150%;
  }
  ul.gallery.layout-timeline li:first-child:nth-last-child(1):has(.photo-landscape):before {
    padding-top: 66.67%;
  }
  ul.gallery.layout-timeline li:first-child:nth-last-child(2), ul.gallery.layout-timeline li:first-child:nth-last-child(2) ~ li {
    width: calc(50% - var(--gallery-timeline-spacing));
  }
  ul.gallery.layout-timeline li:first-child:nth-last-child(4), ul.gallery.layout-timeline li:first-child:nth-last-child(4) ~ li {
    width: calc(50% - var(--gallery-timeline-spacing));
  }
  ul.gallery.layout-timeline li:nth-child(3):nth-last-child(3) ~ li {
    width: calc(50% - var(--gallery-timeline-spacing));
  }
  ul.gallery.layout-timeline li:nth-child(3):nth-last-child(3) ~ li:before {
    padding-top: 66.67% !important;
  }
  ul.gallery.layout-timeline li:nth-child(3):nth-last-child(5) ~ li {
    width: calc(50% - var(--gallery-timeline-spacing));
  }
  ul.gallery.layout-timeline li:nth-child(3):nth-last-child(5) ~ li:before {
    padding-top: 66.67% !important;
  }
  ul.gallery.layout-timeline li:nth-child(6):nth-last-child(3) ~ li {
    width: calc(50% - var(--gallery-timeline-spacing));
  }
  ul.gallery.layout-timeline li:nth-child(6):nth-last-child(3) ~ li:before {
    padding-top: 66.67% !important;
  }
}
/*missing photo*/
ul.gallery.layout-mosaic li:not(:has(.photo-wrapper)):not(.dummy), ul.gallery.layout-wall li:not(:has(.photo-wrapper)):not(.dummy), ul.gallery.layout-wall-dynamic li:not(:has(.photo-wrapper)):not(.dummy) {
  background: #eee;
}

/*title/summary: gallery-set*/
ul.gallery.gallery-set li span.info {
  display: block;
}

ul.gallery.gallery-set li span.info-summary {
  font-size: 0.9em;
}

/*title/summary: gallery-set layout-grid/layout-masonry*/
ul.gallery.gallery-set.layout-grid span.info-title, ul.gallery.gallery-set.layout-masonry span.info-title {
  color: #464646;
  padding-top: 0.6em;
}

ul.gallery.gallery-set.layout-grid span.info-summary, ul.gallery.gallery-set.layout-masonry span.info-summary {
  color: #b4b4b4;
  padding-top: 0.2em;
}

/*gallery.gallery-set layout-grid*/
@media (min-width: 1000px) {
  ul.gallery.gallery-set.layout-grid span.info-title {
    font-size: 1.2em;
  }
  ul.gallery.gallery-set.layout-grid li span.info-title {
    font-size: 1.05em;
  }
}
/*title/summary:gallery-set layout-grid*/
@media (max-width: 999px) {
  ul.gallery.gallery-set.layout-grid span.info-title {
    font-size: 1.2em;
  }
}
/*title/summary:gallery-set layout-masonry*/
@media (min-width: 1000px) {
  ul.gallery.gallery-set.layout-masonry span.info-title {
    padding-top: 0.8em;
    text-align: left;
    font-weight: 600;
  }
  ul.gallery.gallery-set.layout-masonry span.info-summary {
    padding-top: 0.6em;
    text-align: left;
  }
}
@media (max-width: 999px) {
  ul.gallery.gallery-set.layout-masonry span.info-title {
    font-size: 1.1em;
    font-weight: 600;
  }
}
/*title/summary: gallery-set layout-mosaic/layout-wall*/
ul.gallery.gallery-set.layout-mosaic li span.info, ul.gallery.gallery-set.layout-wall li span.info {
  position: absolute;
  left: 0;
  bottom: 0;
  right: 0;
  padding: 1em;
  font-size: 1.1em;
  font-weight: 600;
  text-transform: uppercase;
  color: #fff;
  text-shadow: 1px 1px 3px rgba(0, 0, 0, 0.25);
}

ul.gallery.gallery-set.layout-mosaic li span.info-summary, ul.gallery.gallery-set.layout-wall li span.info-summary {
  top: 0;
  bottom: unset;
  padding: 0.5em 0.5em 1em 0.5em;
  font-size: 0.8em;
  font-weight: 500;
  text-transform: none;
  background: linear-gradient(0deg, rgba(0, 0, 0, 0) 0%, rgba(0, 0, 0, 0.2) 100%);
}

ul.gallery.gallery-set.layout-mosaic li span.info-summary, ul.gallery.gallery-set.layout-wall li span.info-summary {
  display: none;
}

@media (min-width: 1000px) {
  ul.gallery.gallery-set.layout-mosaic li:hover span.info-summary, ul.gallery.gallery-set.layout-wall li:hover span.info-summary {
    display: block;
    display: none;
  }
}
ul.gallery.gallery-set span.info-summary:empty {
  display: none;
}

/*title/summary:gallery-set layout-card*/
ul.gallery.gallery-set.layout-card span.info-title {
  padding-top: 0.5em;
  font-size: 1em;
  font-weight: 600;
  text-transform: initial;
  text-align: left;
}

/*title: gallery-album*/
ul.gallery.gallery-album span.info-title {
  display: block;
}

ul.gallery.gallery-album span.info-title:empty {
  display: none;
}

@media (min-width: 1000px) {
  ul.gallery.gallery-album.cols-1 li span.info {
    font-size: 0.95em;
  }
  ul.gallery.gallery-album.cols-2 li span.info {
    font-size: 0.925em;
  }
  ul.gallery.gallery-album.cols-3 li span.info {
    font-size: 0.9em;
  }
  ul.gallery.gallery-album.cols-4 li span.info {
    font-size: 0.85em;
  }
  ul.gallery.gallery-album.cols-5 li span.info {
    font-size: 0.8em;
  }
  ul.gallery.gallery-album.cols-6 li span.info {
    font-size: 0.75em;
  }
}
@media (max-width: 999px) {
  ul.gallery.gallery-album.cols-mobile-1 li span.info {
    font-size: 0.95em;
  }
  ul.gallery.gallery-album.cols-mobile-2 li span.info {
    font-size: 0.925em;
  }
  ul.gallery.gallery-album.cols-mobile-3 li span.info {
    font-size: 0.9em;
  }
  ul.gallery.gallery-album.cols-mobile-4 li span.info {
    font-size: 0.85em;
  }
  ul.gallery.gallery-album.cols-mobile-5 li span.info {
    font-size: 0.8em;
  }
  ul.gallery.gallery-album.cols-mobile-6 li span.info {
    font-size: 0.75em;
  }
}
/*title: gallery-album layout-grid*/
ul.gallery.gallery-album.layout-grid li span.info-title {
  padding-top: 0.4em;
  color: #464646;
}

/*title: gallery-album layout-masonry/layout-mosaic/layout-wall*/
ul.gallery.gallery-album.layout-masonry li span.info, ul.gallery.gallery-album.layout-mosaic li span.info, ul.gallery.gallery-album.layout-wall li span.info {
  position: absolute;
  left: 0;
  bottom: 0;
  right: 0;
  top: 0;
  display: flex;
  justify-content: center;
  align-items: center;
  padding: 0.5em;
  color: #fff;
  font-weight: 500;
  font-size: 1em;
  opacity: 0;
  transition: opacity 0.25s ease;
}

@media (min-width: 1000px) {
  ul.gallery.gallery-album.layout-masonry li:hover span.info, ul.gallery.gallery-album.layout-mosaic li:hover span.info, ul.gallery.gallery-album.layout-wall li:hover span.info {
    background: rgba(0, 0, 0, 0.25);
    opacity: 1;
  }
}
/*action: gallery-album*/
ul.gallery.gallery-album span.action {
  z-index: 1;
  font-size: 1rem !important;
  color: rgba(255, 255, 255, 0.9);
  background: rgba(0, 0, 0, 0.15);
  padding: 0.2em;
  line-height: 0;
  border-radius: 0.25em;
  position: absolute;
  top: 0.5em;
  right: 0.5em;
}

@media (min-width: 1000px) {
  ul.gallery.gallery-album span.action:hover {
    color: #fff;
    background: rgba(0, 0, 0, 0.3);
    cursor: pointer;
  }
}
@media (max-width: 999px) {
  ul.gallery.gallery-album span.action {
    padding: 0.25em;
    top: 0.35em;
    right: 0.35em;
  }
}
/*action-download: gallery-album*/
ul.gallery.gallery-album span.action-download {
  opacity: 0.4;
  color: #fff;
  font-size: 1.12em !important;
  background: none;
  top: 0.1em;
  right: 0.1em;
}

ul.gallery.gallery-album span.action-download.selected {
  opacity: 1;
  color: #246dff;
}

ul.gallery.gallery-album span.action-download.selected svg {
  background: #fff;
  border-radius: 2rem;
}

@media (min-width: 1000px) {
  ul.gallery.gallery-album span.action-download {
    top: 0.25em;
    right: 0.25em;
  }
  ul.gallery.gallery-album li:hover span.action-download:not(.selected) {
    opacity: 1;
  }
  ul.gallery.gallery-album span.action-download:hover {
    color: #246dff;
    background: none;
  }
  ul.gallery.gallery-album span.action-download:hover svg {
    background: #fff;
    border-radius: 2rem;
  }
}
ul.gallery.gallery-album div.photo-wrapper:has(.action-download) img {
  opacity: 0.8 !important;
}

ul.gallery.gallery-album div.photo-wrapper:has(.action-download.selected) img {
  opacity: 1 !important;
}

@media (hover: hover) and (pointer: fine) {
  ul.gallery.gallery-album div.photo-wrapper:has(.action-download):hover img {
    opacity: 1 !important;
  }
}
ul.gallery.gallery-album.layout-masonry li:has(.action-download) span.info-title, ul.gallery.gallery-album.layout-wall li:has(.action-download) span.info-title, ul.gallery.gallery-album.layout-mosaic li:has(.action-download) span.info-title {
  display: none;
}

/*hide title when .action-download present*/
/*hover effect*/
@media (min-width: 1000px) {
  ul.gallery.hover-fade a div.photo-wrapper:hover img:not(.img-unloaded) {
    opacity: 0.95 !important;
  }
}
@media (min-width: 1000px) {
  ul.gallery.hover-zoom a div.photo-wrapper {
    overflow: hidden;
  }
  ul.gallery.hover-zoom a div.photo-wrapper img:not(.img-unloaded):not(.img-loaded) {
    transition: transform 0.25s ease;
  }
  ul.gallery.hover-zoom:not(.layout-grid) li:hover a div.photo-wrapper img:not(.img-unloaded), ul.gallery.hover-zoom a div.photo-wrapper:hover img:not(.img-unloaded) {
    transform: scale(1.03);
  }
}
/*sharpen hack*/
ul.gallery li div.photo-wrapper img:not(.img-unloaded) {
  opacity: 0.99999;
}

/*tags*/
ul.tags {
  margin-top: 0.2em;
  margin-left: 0;
  list-style: none;
  line-height: normal;
}

ul.tags li {
  font-size: 0.95em;
  padding: 0.4em 0.5em;
  border: 1px solid rgba(0, 0, 0, 0.04);
  display: inline-block;
}

ul.tags li:has(a) a:before {
  content: "#";
}

ul.tags li:not(:has(a)):before {
  content: "#";
}

ul.tags.tags-linked li:hover {
  background: rgba(0, 0, 0, 0.03);
  border: 1px solid rgba(0, 0, 0, 0.04);
  cursor: pointer;
}

ul.tags.tags-linked li:hover, ul.tags.tags-linked li:hover a {
  color: #242424;
}

ul.tags.tags-linked li.active {
  font-weight: 600;
  color: #242424;
}

ul.tags.tags-linked li:hover:before {
  color: #000;
}

ul.tags {
  display: flex;
  flex-wrap: wrap;
  gap: 0.4em;
}

/*pagination*/
ul.pagination {
  font-size: 0.95em;
  margin-bottom: 1em;
  margin-left: 0;
  list-style: none;
  line-height: normal;
  display: flex;
  gap: 0.5em 1em;
  justify-content: flex-start;
  flex-wrap: wrap;
}

ul.pagination li.link-page:hover, ul.pagination li.link-page.active {
  border-bottom: 1px solid currentcolor;
}

ul.pagination li a {
  display: block;
  padding: 0.2em 0.4em;
  color: currentcolor;
}

ul.pagination li:not(.link-page):not(.link-prev):not(.link-next) {
  display: none;
}

@media (max-width: 999px) {
  ul.pagination {
    justify-content: center;
  }
}
/*searchform*/
form.searchform {
  gap: 0.2em;
  border-bottom: 1px solid #000;
}

form.searchform {
  display: flex;
  align-items: center;
  flex-wrap: nowrap;
}

form.searchform * {
  padding-block: 0.05em;
}

form.searchform input {
  flex-grow: 1;
  border: 0;
  width: 100%;
  background: var(--website-background);
}

form.searchform button {
  color: #222222;
  order: -1;
  padding: 0;
  border: 0;
  background: none;
}

form.searchform button:hover {
  cursor: pointer;
}

form.searchform input::-moz-placeholder {
  color: inherit;
  opacity: 0.6;
}

form.searchform input::placeholder {
  color: inherit;
  opacity: 0.6;
}

@media (min-width: 1000px) {
  header form.searchform {
    margin-top: -2px;
    font-size: 0.86em;
    max-width: 8em;
    width: auto;
    height: 100%;
  }
  header form.searchform input {
    padding: 0;
    background: none;
  }
}
@media (max-width: 999px) {
  header form.searchform {
    width: 70%;
    margin: 0.4rem;
    font-size: 1.1em;
  }
  header form.searchform button {
    display: none;
  }
  header form.searchform input {
    padding-inline: 0;
  }
}
/*----------SPECIAL----------------------------------------*/
/*img effects*/
img.fade-in.img-unloaded {
  opacity: 0.01;
}

/*LCP hack*/
img.fade-in.img-loaded {
  opacity: 1;
  transition: opacity 0.4s linear;
}

img.blur-in.img-unloaded {
  opacity: 0.01;
}

/*LCP hack*/
img.blur-in.img-preloaded, img.blur-in.img-loaded {
  opacity: 1;
}

div.blur-wrapper:not(.blur-hide)::before {
  opacity: 1;
  -webkit-backdrop-filter: blur(2em);
  backdrop-filter: blur(2em);
  content: "";
  z-index: 1;
  width: 100%;
  height: 100%;
  position: absolute;
  top: 0;
  bottom: 0;
  left: 0;
  right: 0;
  pointer-events: none;
}

div.blur-wrapper:not(.blur-hide).blur-off::before {
  opacity: 0;
  transition: 0.4s linear;
}

/*skip-link*/
.skip-link {
  color: #fff;
  background: #000;
  font-size: 0.9em;
  padding: 0.5em;
  margin: 0.4em;
  position: absolute;
  left: 0;
  top: -10em;
  z-index: 1000;
}

.skip-link:focus {
  top: 0;
}

/*.keyboard-focus*/
.keyboard-focus:focus {
  outline: 2px dashed #000;
}

.keyboard-focus img {
  outline: 2px dashed #000;
  outline-offset: -2px;
}

.keyboard-focus:focus span.info {
  text-decoration: underline;
  -webkit-text-decoration-style: dashed;
          text-decoration-style: dashed;
  text-decoration-thickness: 2px;
  text-underline-offset: 2px;
}

.keyboard-focus div.photo-wrapper::before {
  outline: 2px dashed #000;
  outline-offset: -2px;
  box-shadow: inset 0 0 0 4px var(--website-background);
  inset: 0;
  content: "";
  position: absolute;
  z-index: 1;
  pointer-events: none;
}

@media (max-width: 999px) {
  header.js-nav nav ul:has(.keyboard-focus) {
    overflow: visible !important;
  }
}
/*loader*/
span.loader {
  position: absolute;
  top: 50%;
  left: 50%;
  display: block;
  border-width: 0.1em;
  border-style: solid;
  border-color: rgba(255, 255, 255, 0) #464646 #464646 #464646;
  border-radius: 50%;
  width: 1em;
  height: 1em;
  animation: spin 2s linear infinite;
}

@keyframes spin {
  0% {
    transform: translate(-50%, -50%) rotate(0deg);
  }
  100% {
    transform: translate(-50%, -50%) rotate(360deg);
  }
}
ul.gallery span.loader, div.blur-wrapper span.loader {
  display: none !important;
}

/*tooltip*/
@media (min-width: 1000px) {
  span[data-tooltip]:before {
    content: attr(data-tooltip);
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    right: 100%;
    margin-right: 0.55rem;
    font-size: 0.75rem;
    padding: 0.8rem 0.4rem;
    width: -webkit-max-content;
    width: -moz-max-content;
    width: max-content;
    text-align: center;
    color: #fff;
    background: rgba(0, 0, 0, 0.7411764706);
    border-radius: 0.2rem;
    z-index: 2;
    opacity: 0;
    transition: 0.3s opacity;
  }
  span[data-tooltip]:after {
    content: "";
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    right: 100%;
    margin-right: -0.2rem;
    border: 0.4rem solid #000;
    border-color: transparent transparent transparent rgba(0, 0, 0, 0.7411764706);
    z-index: 2;
    opacity: 0;
    transition: 0.3s opacity;
  }
}
@media (min-width: 1000px) and (hover: hover) and (pointer: fine) {
  span[data-tooltip]:hover:before, span[data-tooltip]:hover:after {
    display: block;
    opacity: 1;
  }
}
/*action-bar*/
div.action-bar {
  z-index: 1;
  float: right;
  bottom: 0.75rem;
  margin-right: 0.75rem;
  position: -webkit-sticky;
  position: sticky;
  display: flex;
  flex-wrap: warp;
}

div.action-bar {
  transform: translateY(0);
  transition: transform 0.3s ease;
}

div.action-bar.js-invisible {
  transform: translateY(300%);
}

/* hide on iOS if browser bottom toolbar is hidden */
@media (min-width: 1000px) {
  div.action-bar {
    margin-bottom: -6em;
  }
}
@media (max-width: 999px) {
  div.action-bar {
    margin: 0;
    left: 0;
    right: 0;
    bottom: 0;
    position: fixed;
    justify-content: flex-end;
  }
}
div.action-bar:has(div.action-bar-container.active) div.action-bar-container:not(.active) {
  display: none;
}

/*div.action-bar.is-bottom div.action-bar-container:not(.active)display:none*/
/*action-bar-container*/
div.action-bar-container {
  gap: 0.5em;
  display: flex;
  align-items: center;
  justify-content: flex-end;
  flex-wrap: no-wrap;
}

div.action-bar-container p {
  font-size: 0.9em;
  margin-bottom: 0 !important;
}

div.action-bar-container p a::before {
  content: "[";
}

div.action-bar-container p a::after {
  content: "]";
}

div.action-bar-container a, div.action-bar-container button {
  white-space: nowrap;
}

div.action-bar-container.active {
  background: var(--website-background);
}

@media (min-width: 1000px) {
  div.action-bar-container {
    padding: 0.6rem;
  }
  div.action-bar-container:not(.active) button.button-primary {
    box-shadow: 0.025em 0.2em 0.4em 0 rgba(0, 0, 0, 0.33);
  }
  div.action-bar-container:not(.active) button.button-primary:not(:hover) {
    background: rgba(0, 0, 0, 0.8);
    border-color: rgba(0, 0, 0, 0);
  }
  div.action-bar-container.active {
    box-shadow: 0.025em 0.2em 0.4em 0 rgba(0, 0, 0, 0.33);
  }
  body.flavors-roundedborders div.action-bar-container.active {
    border-radius: 0.2em;
  }
}
@media (max-width: 999px) {
  div.action-bar-container {
    padding-bottom: 1rem;
    box-sizing: border-box;
    flex: none;
  }
  div.action-bar-container:last-child {
    padding-right: 1rem;
  }
  div.action-bar-container:not(.active) button.button-primary {
    margin-right: 1rem;
  }
  div.action-bar-container.active {
    padding: 1rem;
    width: 100%;
    box-shadow: 0 0 0.4em 0 rgba(0, 0, 0, 0.33);
  }
  div.action-bar-container.active p {
    flex: 1;
    line-height: 1.2;
    text-align: left;
  }
}
@media (max-width: 680px) {
  div.action-bar-container p {
    font-size: 1em;
  }
  div.action-bar-container.active p span {
    display: none;
  }
}
@media (max-width: 420px) {
  div.action-bar-container {
    font-size: 3.6vw;
  }
  div.action-bar-container button {
    font-size: 1em;
  }
}
/*modal*/
body:has(.modal) {
  overflow: hidden;
}

div.modal {
  background: rgba(0, 0, 0, 0.6);
}

div.modal {
  position: fixed;
  z-index: 101;
  left: 0;
  top: 0;
  padding: 0;
  width: 100%;
  height: 100%;
}

div.modal.dragover {
  box-shadow: inset 0 0 0em 0.1em #19bd55, inset 0 0 2em #19bd55;
}

div.modalcontainer {
  background: #fff;
  width: -webkit-min-content;
  width: -moz-min-content;
  width: min-content;
  position: relative;
  max-height: 80vh;
  overflow-y: auto;
}

div.modalcontainer {
  margin: 4em auto;
}

div.modalcontainer-iframe {
  margin-block: 5vh;
  width: 90vw;
  height: 90vh;
  max-width: 90rem;
  overflow-y: hidden;
}

div.modalcontainer-upload {
  width: 40em;
  position: relative;
  overflow-y: auto;
}

div.modalcontainer-upload .close-button {
  font-size: 1.5em;
  line-height: 1;
  position: absolute;
  top: 0.6em;
  right: 0.6em;
  cursor: pointer;
}

div.modalcontainer-upload .close-button:hover {
  color: #000;
}

div.modalcontainer-upload form {
  padding: 1.5em;
  margin: 0;
}

div.modalcontainer-upload input[type=file], div.modalcontainer-upload div.progress-bar, div.modalcontainer-upload p.form-info {
  margin-bottom: 1em;
}

div.modalcontainer-upload .file-list {
  margin-left: 0;
}

div.modalcontainer-upload .file-item {
  font-size: 0.9em;
  gap: 1em;
  height: 2.5em;
  display: flex;
  justify-content: space-between;
  align-items: center;
}

div.modalcontainer-upload .file-item span.hover-pointer:hover {
  color: #000;
}

div.modalcontainer-upload .progress-bar {
  background: #ededed;
  height: 0.5em;
  margin-top: 1em;
  overflow: hidden;
}

div.modalcontainer-upload .progress-bar-fill {
  background: #19bd55;
  width: 0%;
  height: 100%;
  transition: width 0.3s;
}

div.modalcontainer-upload .status {
  font-size: 12px;
  margin-left: auto;
}

div.modalcontainer-upload .status {
  opacity: 0.5;
}

div.modalcontainer-upload .status-success {
  opacity: 1;
  color: #19bd55;
}

div.modalcontainer-upload .status-error {
  opacity: 1;
  color: #f51e40;
}

body.flavors-roundedborders div.modalcontainer-upload .progress-bar {
  border-radius: 0.2em;
}

@media (max-width: 999px) {
  div.modalcontainer {
    margin: 0;
    width: 100%;
    height: 100dvh;
    max-height: 100dvh;
  }
  div.modal.dragover div.modalcontainer {
    box-shadow: inset 0 0 0em 0.1em #19bd55, inset 0 0 1em #19bd55;
  }
}
/*glightbox*/
body:not(.glightbox-mobile) .ginner-container .gslide-image {
  margin: 8rem 1.2rem 0 1.2rem;
}

/*image*/
body:not(.glightbox-mobile) .ginner-container:has(.gslide-image) .gslide-description .gdesc-inner {
  padding-bottom: 8rem;
}

/*image*/
body:not(.glightbox-mobile) .ginner-container:has(.gslide-media.gslide-external) {
  max-width: 80vw !important;
  height: 80vh !important;
}

/*iframe url*/
body .ginner-container:has(.gslide-media.gslide-external) .gslide-media.gslide-external {
  background-color: rgba(255, 255, 255, 0);
}

body .ginner-container:has(.gslide-media.gslide-external) .gslide-description {
  display: none;
}

/*iframe url*/
body:not(.glightbox-mobile) .gslide-media {
  box-shadow: none;
}

body:not(.glightbox-mobile) .gslide-media img {
  box-shadow: 2px 3px 10px 0 rgba(0, 0, 0, 0.9);
}

body:not(.glightbox-mobile) .gslide-image img {
  min-width: initial;
}

body:not(.glightbox-mobile) .gslide-image img {
  opacity: 0.99999;
}

/*sharpen hack*/
body:not(.glightbox-mobile) .gslide-description {
  background: none !important;
}

body:not(.glightbox-mobile) .gslide-description .gdesc-inner {
  text-align: center;
  padding-top: 16px;
}

body:not(.glightbox-mobile) .gslide-description .gdesc-inner p {
  text-align: center;
}

body:not(.glightbox-mobile) .gslide-description .gdesc-inner .gslide-title {
  font-family: inherit;
  font-size: 1em;
  color: #fff;
  margin-bottom: 0;
}

body:not(.glightbox-mobile) .gslide-description .gdesc-inner .gslide-desc {
  font-family: inherit;
  font-size: 0.85em;
  margin-top: 0.5em;
  color: #545454;
}

body.glightbox-mobile .gslide-description .gdesc-inner .gslide-title {
  margin-bottom: 0.5em;
}

/*glightbox-custombutton*/
button.glightbox-custombutton {
  border: 0;
  width: 34px;
  height: 34px;
  top: 15px;
  left: 20px;
  position: absolute;
  cursor: pointer;
  padding: 0;
}

button.glightbox-custombutton {
  color: #fff;
  background-color: rgba(0, 0, 0, 0);
}

button.glightbox-custombutton:nth-of-type(2n+1) {
  left: 72px;
}

button.glightbox-custombutton svg {
  width: 32px;
  height: 32px;
  margin-top: 1px;
}

body.glightbox-mobile button.glightbox-custombutton {
  left: 10px;
}

body.glightbox-mobile button.glightbox-custombutton:nth-of-type(2n+1) {
  left: 62px;
}

body:not(.glightbox-mobile) button.glightbox-custombutton {
  opacity: 0.7;
  color: #000;
  fill: #fff;
}

body:not(.glightbox-mobile) button.glightbox-custombutton:hover {
  opacity: 1;
}

body.glightbox-mobile button.glightbox-custombutton {
  opacity: 1;
  color: #fff;
  fill: #fff;
}

body.mode-dark button.glightbox-custombutton {
  border-radius: 4px;
  background-color: rgba(0, 0, 0, 0.3);
}

body.mode-dark button.glightbox-custombutton:hover {
  background-color: rgba(0, 0, 0, 0.7);
}

body.glightbox-mobile button.gclose, body.glightbox-mobile button.glightbox-custombutton {
  background-color: rgba(0, 0, 0, 0.2);
  border-radius: 4px;
}

.glightbox-closing button.glightbox-custombutton {
  opacity: 0 !important;
}

button.glightbox-custombutton {
  transition: opacity 0.2s ease-in-out;
}

button.glightbox-custombutton:not(.fade-in) {
  opacity: 0 !important;
}

/*span.admin-action*/
span.admin-action {
  margin-left: 0.25em;
  margin-top: -0.15em;
  padding: 0.2em 0.1em;
  white-space: nowrap;
  display: inline-flex;
  align-items: center;
  vertical-align: middle;
  color: #858d9e;
  fill: #858d9e;
  background: #fff;
  box-shadow: rgba(0, 0, 0, 0.1) 0px 1px 1px 0px, rgba(80, 80, 80, 0.16) 0px 0px 0px 1px, rgba(80, 80, 80, 0.08) 0px 2px 5px 0px;
  border-radius: 0.2rem;
}

span.admin-action svg {
  width: max(0.45em, 1rem);
  height: max(0.45em, 1rem);
}

span.admin-action:hover {
  color: #2e3036;
  fill: #2e3036;
  background: #fafafa;
  cursor: pointer;
}

/*#########################################################*/
/*##########TEMPLATES######################################*/
/*#########################################################*/
/*----------SET--------------------------------------------*/
/*----------ALBUMS-----------------------------------------*/
/*----------ALBUM------------------------------------------*/
main.template-set p, main.template-albums p, main.template-album p {
  margin-bottom: 1.5em;
}

@media (max-width: 999px) {
  main.template-set > p.collection-empty, main.template-albums > p.collection-empty, main.template-album > p.collection-empty {
    text-align: center;
  }
}
main.template-set p.links-prevnext, main.template-albums p.links-prevnext {
  -moz-column-gap: 1em;
       column-gap: 1em;
  text-transform: uppercase;
  letter-spacing: 0.025em;
  font-size: 0.9em;
}

main.template-set p.links-prevnext a, main.template-albums p.links-prevnext a {
  opacity: 0.6;
}

main.template-set p.links-prevnext a:hover, main.template-albums p.links-prevnext a:hover {
  opacity: 1;
}

main.template-set:has(div.pagecover) ul.gallery.layout-grid, main.template-albums:has(div.pagecover) ul.gallery.layout-grid, main.template-album:has(div.pagecover) ul.gallery.layout-grid {
  margin-top: calc(var(--gallery-grid-spacing) * var(--gallery-spacingfactor)) !important;
}
main.template-set:has(div.pagecover) ul.gallery.layout-masonry, main.template-albums:has(div.pagecover) ul.gallery.layout-masonry, main.template-album:has(div.pagecover) ul.gallery.layout-masonry {
  margin-top: calc(var(--gallery-masonry-spacing) * var(--gallery-spacingfactor)) !important;
}
main.template-set:has(div.pagecover) ul.gallery.layout-wall, main.template-albums:has(div.pagecover) ul.gallery.layout-wall, main.template-album:has(div.pagecover) ul.gallery.layout-wall {
  margin-top: calc(var(--gallery-wall-spacing) * var(--gallery-spacingfactor)) !important;
}
main.template-set:has(div.pagecover) ul.gallery.layout-mosaic, main.template-albums:has(div.pagecover) ul.gallery.layout-mosaic, main.template-album:has(div.pagecover) ul.gallery.layout-mosaic {
  margin-top: calc(var(--gallery-mosaic-spacing) * var(--gallery-spacingfactor)) !important;
}
main.template-set:has(div.pagecover) ul.gallery.layout-slideshow, main.template-albums:has(div.pagecover) ul.gallery.layout-slideshow, main.template-album:has(div.pagecover) ul.gallery.layout-slideshow {
  margin-top: 1.5rem !important;
}

@media (max-width: 999px) {
  main.template-set p.links-prevnext, main.template-albums p.links-prevnext {
    justify-content: center;
  }
  main.template-set p.links-prevnext .link-next, main.template-albums p.links-prevnext .link-next {
    text-align: right;
  }
  main.template-set p.links-prevnext.only-prev, main.template-albums p.links-prevnext.only-prev, main.template-set p.links-prevnext.only-next, main.template-albums p.links-prevnext.only-next {
    justify-content: space-around;
  }
  main.template-set div.article-navigationlinks p.links-prevnext > *, main.template-albums div.article-navigationlinks p.links-prevnext > * {
    min-width: 25%;
  }
}
/*----------PHOTO------------------------------------------*/
main.template-photo div.backlink {
  display: none;
}

main.template-photo h1.photo-title {
  display: block;
  text-align: left;
}

main.template-photo h1.photo-title.missing {
  display: none;
}

main.template-photo div.photo-image {
  margin-bottom: 0.8rem;
}

main.template-photo div.photo-image div.photo-wrapper {
  margin-inline: auto;
}

main.template-photo div.photo-image a.viewphotolarge {
  display: none;
}

main.template-photo h1.photo-title {
  font-size: 1.25em;
  font-weight: 600;
  margin: 0;
}

main.template-photo h1.photo-title + p.photo-caption {
  margin-top: 0.6rem;
}

main.template-photo p.photo-contextlink {
  margin-bottom: 0.6rem;
}

main.template-photo p.photo-contextlink, main.template-photo p.photo-prevnext {
  text-transform: uppercase;
  letter-spacing: 0.025em;
  font-size: 0.9em;
}

main.template-photo p.photo-contextlink a, main.template-photo p.photo-prevnext a {
  opacity: 0.6;
  white-space: nowrap;
}

main.template-photo p.photo-contextlink a:hover, main.template-photo p.photo-prevnext a:hover {
  opacity: 1;
}

main.template-photo:has(.photo-title.missing):has(.photo-contextphotos) p.photo-contextlink {
  display: none;
}

main.template-photo p.photo-caption br {
  content: "";
  display: block;
  margin-bottom: 0.2em;
}

main.template-photo dl.photo-exif {
  display: flex;
  flex-wrap: wrap;
  -moz-column-gap: 1em;
       column-gap: 1em;
}

main.template-photo dl.photo-exif dt {
  display: none;
}

main.template-photo dl.photo-exif dd {
  white-space: nowrap;
}

main.template-photo ul.photo-albums {
  list-style: none;
  margin: 0;
  display: flex;
  flex-wrap: wrap;
  -moz-column-gap: 1em;
       column-gap: 1em;
}

main.template-photo ul.tags.tags-linked li:hover {
  background: none;
}

main.template-photo ul.photo-contextphotos span.action {
  display: none;
}

main.template-photo form.photo-form {
  width: 100%;
  max-width: 64em;
}

main.template-photo form.photo-form, main.template-photo div.infobox {
  margin-top: 0.25em;
}

main.template-photo aside h2 {
  font-size: 1em;
  margin-top: 1em;
  text-align: left;
}

main.template-photo aside :not(h2) a.sitelink {
  text-decoration: underline;
  text-underline-offset: 0.2em;
  text-decoration-thickness: 1px;
}

main.template-photo aside :not(h2) a.sitelink:hover {
  text-decoration-thickness: 1.25px;
}

@media (min-width: 1000px) {
  main.template-photo div.photo-image iframe {
    max-width: 1280px;
  }
  main.template-photo aside h2.photo-contextphotos a.sitelink:hover {
    text-decoration: underline;
    text-underline-offset: 0.2em;
    text-decoration-thickness: 1.25px;
  }
}
/*mobile fullsize photo*/
@media (max-width: 999px) {
  main.template-photo div.photo-image {
    width: calc(100% + 2rem);
    margin-left: -1rem;
    margin-bottom: 1rem;
  }
}
/*table layout*/
@media (min-width: 1000px) {
  main.template-photo .sectioncontainer-photo {
    display: block;
  }
  main.template-photo .sectionaside-photo {
    width: 100%;
  }
  main.template-photo aside.sectionaside-photo {
    margin-top: 2em;
    gap: 1em 1em;
    width: auto;
    display: grid;
    grid-template-columns: auto 1fr;
    align-items: baseline;
  }
  main.template-photo aside.sectionaside-photo > * {
    margin: 0;
    line-height: initial;
  }
  main.template-photo aside ul.photo-albums li {
    margin-bottom: 0;
  }
  main.template-photo aside h2.photo-contextphotos {
    grid-column: 1/3;
    margin-top: 1em;
    margin-bottom: -0.5em;
    font-size: 1.1em;
  }
  main.template-photo aside ul.photo-contextphotos {
    grid-column: 1/3;
  }
}
/*lightbox loader*/
body.template-photo .gloader {
  display: none !important;
}

/*----------TAGS--------------------------------------*/
@media (max-width: 999px) {
  main.template-tags > p.collection-empty {
    text-align: center;
  }
}
/*----------PHOTOS------------------------------------*/
@media (max-width: 999px) {
  main.template-photos form.form-inline {
    justify-content: center;
  }
  main.template-photos form.form-inline p {
    text-align: center;
  }
  main.template-photos > p.collection-empty {
    text-align: center;
  }
}
/*----------STARTSHOWCASE----------------------------------*/
main.template-startshowcase > * {
  width: 100%;
}

main.template-startshowcase ul.gallery {
  margin-bottom: 0;
}

/*collection-link*/
main.template-startshowcase div.collection-link {
  text-align: center;
  position: relative;
  top: -6em;
  z-index: 1;
  height: 0;
}

main.template-startshowcase div.collection-link.slideshow-navigation-dots {
  top: -7.5em;
}

main.template-startshowcase div.collection-link.slideshow-navigation-thumbs {
  top: -11em;
}

main.template-startshowcase div.collection-link a {
  padding: 0.4em 0.8em;
  font-size: 1.25em;
  font-weight: 300;
  color: #fff;
  text-transform: uppercase;
  border: 2px solid #fff;
  display: inline-block;
}

main.template-startshowcase div.collection-link a:hover {
  color: #000;
  background: #fff;
  text-decoration: none;
}

@media (max-width: 999px) {
  main.template-startshowcase div.collection-link {
    top: calc(-10vh - 2.8em);
  }
  main.template-startshowcase div.collection-link a {
    max-width: 80%;
  }
}
main.template-startshowcase .breadcrumb {
  display: none;
}

/*----------TIMELINE-----------------------------------*/
main.template-timeline div.sectioncontainer {
  margin-top: 1em;
}

main.template-timeline h2 {
  font-weight: 400;
}

main.template-timeline ul.gallery {
  margin-bottom: 0;
}

main.template-timeline a.timelineback, main.template-timeline a.viewphotos {
  text-transform: uppercase;
  letter-spacing: 0.025em;
  font-size: 0.9em;
}

@media (max-width: 999px) {
  main.template-timeline form.form-inline {
    display: block;
  }
  main.template-timeline > * {
    text-align: center;
  }
}
/*----------PAGE-------------------------------------------*/
@media (max-width: 999px) {
  main.template-page:has(h1.none), main.template-page:has(h1.desktop:not(.mobile)) {
    padding-top: 0;
  }
}
/*----------BLOG-------------------------------------------*/
main.template-blog span.pretitle {
  display: none;
}

main.template-blog div.backlink {
  display: none;
}

main.template-blog div.article-previews {
  margin-bottom: 1.5em;
}

@media (min-width: 1000px) {
  main.template-blog div.article-navigationlinks p.links-prevnext {
    justify-content: space-between;
    font-weight: 600;
  }
  main.template-blog div.article-navigationlinks p.links-prevnext.only-next {
    justify-content: flex-end;
  }
}
@media (max-width: 999px) {
  main.template-blog div.article-navigationlinks p.links-prevnext {
    justify-content: center;
    font-weight: 600;
  }
  main.template-blog div.article-navigationlinks p.links-prevnext .link-next {
    text-align: right;
  }
  main.template-blog div.article-navigationlinks p.links-prevnext.only-prev, main.template-blog div.article-navigationlinks p.links-prevnext.only-next {
    justify-content: space-around;
  }
  main.template-blog div.article-navigationlinks p.links-prevnext > * {
    min-width: 25%;
  }
}
/*blog-posts for blogstyle-card */
main.template-blog .blogstyle-card .blog-posts {
  display: flex;
  flex-wrap: wrap;
  gap: 5%;
}

main.template-blog .blogstyle-card .blog-posts > * {
  width: 100%;
}

main.template-blog .blogstyle-card .blog-posts > article {
  width: 30%;
}

@media (max-width: 900px) {
  main.template-blog .blogstyle-card .blog-posts {
    gap: 0;
  }
  main.template-blog .blogstyle-card .blog-posts > article {
    width: 100%;
  }
}
/*blog-posts for blogstyle-tile*/
main.template-blog .blogstyle-tile .blog-posts {
  display: flex;
  flex-wrap: wrap;
  gap: 1%;
}

main.template-blog .blogstyle-tile .blog-posts > * {
  width: 100%;
}

main.template-blog .blogstyle-tile .blog-posts > article {
  width: 49.5%;
}

@media (max-width: 900px) {
  main.template-blog .blogstyle-tile .blog-posts {
    gap: 0;
  }
  main.template-blog .blogstyle-tile .blog-posts > article {
    width: 100%;
  }
}
/*blog-sidebar*/
aside.blog-sidebar {
  background: rgba(25, 25, 25, 0.028);
  padding: 0.75em 1em;
  box-sizing: border-box;
}

aside.blog-sidebar div, aside.blog-sidebar div * {
  display: inline;
}

aside.blog-sidebar div.sidebar-tagline, aside.blog-sidebar div.sidebar-custom-html {
  display: block;
  margin-bottom: 0.5em;
}

aside.blog-sidebar div.sidebar-archiv:before, aside.blog-sidebar div.sidebar-categories:before, aside.blog-sidebar div.sidebar-rss:before {
  content: " / ";
}

aside.blog-sidebar div.sidebar-tags, aside.blog-sidebar div.sidebar-years, aside.blog-sidebar div.sidebar-archiv h3, aside.blog-sidebar div.sidebar-categories h3, aside.blog-sidebar div.sidebar-rss h3 {
  display: none;
}

aside.blog-sidebar div ul {
  margin: 0;
}

aside.blog-sidebar div ul li:not(:last-child):after {
  content: ", ";
}

aside.blog-sidebar div .count {
  display: none;
}

aside.blog-sidebar div a.active {
  font-weight: 600;
}

aside.blog-sidebar div a:hover {
  text-decoration: underline;
  text-underline-offset: 0.2em;
}

@media (max-width: 999px) {
  aside.blog-sidebar {
    padding: 0.5em 0.75em;
    text-align: center;
  }
  aside.blog-sidebar div ul li {
    display: inline-block;
  }
}
/*blog-article*/
article .article-title h1, article .article-header h2 {
  margin: 0em;
}

article .article-title a {
  color: #383838;
  display: inline-block;
}

article .article-title a:hover {
  color: #000;
}

article .article-meta > * {
  display: inline-block;
  margin: 0;
}

article .article-meta .meta-classification li {
  display: inline-block;
}

article .article-meta .meta-classification li:not(:last-child)::after {
  content: ", ";
}

article .article-meta .meta-classification li.tag a.sitelink:before {
  content: "#";
}

article .header .article-meta a {
  opacity: 0.6;
}

article .header .article-meta a:hover {
  opacity: 1;
}

article .article-image.image-missing {
  display: none;
}

article .article-image div.photo-wrapper {
  aspect-ratio: 5/2 !important;
}

article .article-image div.photo-wrapper img {
  -o-object-fit: cover;
     object-fit: cover;
}

@media (max-width: 720px) {
  article .article-image div.photo-wrapper {
    aspect-ratio: 16/9 !important;
  }
}
article .content.content-excerpt p {
  margin-bottom: 0.5em;
  line-height: 1.8;
}

article .content.content-full a.readmore.sitelink {
  display: none;
}

article .content > *:first-child {
  margin-top: 0;
}

article .content ul.gallery.layout-grid {
  justify-content: space-evenly;
}

article .content .box {
  margin-bottom: 1em;
  background: rgba(25, 25, 25, 0.028);
  padding: 1em;
  box-sizing: border-box;
}

article .content .box > *:first-child {
  margin-top: 0;
}

article .content .box > *:last-child {
  margin-bottom: 0;
}

article .content a.readmore.sitelink {
  white-space: nowrap;
}

/*blog-article styles*/
article.style-article {
  margin-bottom: 1em;
}

article.style-article .header {
  margin-bottom: 1em;
  display: flex;
  flex-flow: column wrap;
}

article.style-article .header > * {
  width: 100%;
  order: 1;
}

article.style-article .header > .article-image.image-available {
  order: 0;
}

article.style-article .header .article-image.image-available {
  order: 0;
  margin-bottom: 1em;
}

article.style-article .header .article-title {
  margin-bottom: 0.2em;
}

article.style-article .header .article-meta {
  font-size: 0.9em;
  text-transform: uppercase;
}

article.style-article .header .article-meta .dateclassification-connection, article.style-article .header .article-meta .meta-classification {
  display: none;
}

article.style-article .footer .article-meta {
  font-size: 0.9em;
}

article.style-article .footer .article-meta a.sitelink {
  text-decoration: underline;
  text-underline-offset: 0.2em;
  text-decoration-thickness: 1px;
}

article.style-article .footer .article-meta a.sitelink:hover {
  text-decoration-thickness: 1.25px;
}

article.style-article .footer .article-meta .meta-date {
  display: none;
}

article.style-article .footer .article-disclaimer p {
  font-size: 0.9em;
  font-style: italic;
  margin-bottom: 0.25em;
}

@media (max-width: 999px) {
  article.style-article .article-image.image-available div.photo-wrapper {
    width: calc(100% + 2rem);
    margin-left: -1rem;
  }
  /*fullsize image*/
  article.style-article .header {
    margin-bottom: 0.5em;
    text-align: center;
  }
  /*article.style-article .header * order:initial*/
  /*article.style-article .header .article-image.image-availablemargin-bottom:0*/
}
article.style-card {
  margin-bottom: 4em;
}

article.style-card:last-child {
  margin-bottom: 1em;
}

@media (max-width: 999px) {
  article.style-card {
    margin-bottom: 3em;
  }
}
@media (min-width: 1000px) {
  article.style-card + ul.pagination {
    margin-top: -2em;
  }
}
@media (min-width: 1000px) {
  article.style-card {
    font-size: 0.9em;
  }
}
article.style-card .header {
  display: flex;
  flex-flow: column wrap;
  flex-flow: column nowrap;
}

article.style-card .header .article-image {
  order: 1;
  margin-bottom: 0.6rem;
}

article.style-card .header .article-title {
  order: 2;
}

article.style-card .header .article-meta {
  order: 3;
}

article.style-card .article-image div.photo-wrapper {
  aspect-ratio: 3/2 !important;
}

article.style-card .article-image div.photo-wrapper img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}

article.style-card .article-image.image-missing {
  aspect-ratio: 3/2;
  width: 100%;
  display: block;
}

article.style-card .article-meta .meta-classification, article.style-card .article-meta .dateclassification-connection {
  display: none;
}

article.style-card .header .article-title h2 {
  font-size: 1.25em;
  margin: 0;
}

@media (hover: hover) and (pointer: fine) {
  article.style-card .header .article-title h2 a:hover {
    text-decoration: underline;
    text-underline-offset: 0.2em;
  }
}
article.style-card .content p.excerpt {
  margin: 0;
  overflow: hidden;
  text-overflow: ellipsis;
  display: -webkit-box;
  -webkit-line-clamp: 3;
  -webkit-box-orient: vertical;
}

article.style-card .content a.readmore {
  display: none;
}

article.style-card .footer {
  display: none;
}

@media (max-width: 999px) {
  article.style-card .article-image img, article.style-card .article-image.image-missing {
    aspect-ratio: 16/9;
  }
}
.blog-posts:has(article.style-card):not(:has(.header-image.image-available)) .header-image {
  display: none;
}

article.style-tile {
  margin-bottom: 3em;
}

@media (max-width: 999px) {
  article.style-tile {
    margin-bottom: 2em;
  }
}
@media (min-width: 1000px) {
  article.style-tile + ul.pagination {
    margin-top: -2em;
  }
}
@media (min-width: 1000px) {
  article.style-tile {
    font-size: 0.9em;
  }
}
article.style-tile .header {
  display: flex;
  flex-flow: column wrap;
  flex-flow: column nowrap;
}

article.style-tile .header .article-image {
  order: 1;
  margin-bottom: 1%;
}

article.style-tile .header .article-title {
  order: 2;
}

article.style-tile .header .article-meta {
  order: 3;
}

article.style-tile .article-image div.photo-wrapper {
  aspect-ratio: 1/1 !important;
}

article.style-tile .article-image div.photo-wrapper img {
  -o-object-fit: cover;
     object-fit: cover;
}

article.style-tile .article-image.image-missing {
  display: block;
  width: 100%;
  aspect-ratio: 1/1;
}

article.style-tile .article-meta .meta-classification, article.style-tile .article-meta .dateclassification-connection {
  display: none;
}

article.style-tile .header .article-title h2 {
  font-size: 1.25em;
  margin: 0;
}

article.style-tile .header .article-title h2 a:hover {
  text-decoration: underline;
  text-underline-offset: 0.2em;
}

article.style-tile .content {
  display: none;
}

article.style-tile .footer {
  display: none;
}

@media (max-width: 999px) {
  article.style-tile .header .article-image {
    margin-bottom: 0.5rem;
  }
  article.style-tile .header .article-title h2 {
    font-size: 1.1em;
  }
}
article.style-visual {
  margin-bottom: 4em;
}

article.style-visual:last-of-type {
  margin-bottom: 2em;
}

article.style-visual .header {
  display: flex;
  flex-flow: column wrap;
  justify-content: center;
}

article.style-visual .header .article-title {
  order: 1;
  width: 90%;
  height: 22em;
  padding: 4em 5%;
  overflow: hidden;
  position: relative;
  z-index: 2;
}

article.style-visual .header .article-image {
  order: 2;
  width: 100%;
  aspect-ratio: 16/7;
  margin-top: -30em;
  position: relative;
  z-index: 1;
}

article.style-visual .header .article-meta {
  display: none;
}

article.style-visual .article-image div.photo-wrapper {
  aspect-ratio: 16/7 !important;
}

article.style-visual .article-image div.photo-wrapper img {
  -o-object-fit: cover;
     object-fit: cover;
}

article.style-visual .header .article-image.image-missing {
  display: block;
}

article.style-visual .header .article-title h2 {
  margin-top: 0;
  font-size: 1em;
  text-align: center;
}

article.style-visual .header .article-title h2 a {
  font-size: 2.5em;
  font-weight: 300;
  color: #fff;
  text-shadow: 0 0 0.2em rgba(0, 0, 0, 0.25);
}

article.style-visual .header .article-image img {
  -o-object-fit: cover;
     object-fit: cover;
}

article.style-visual .content {
  text-align: center;
  margin-top: 0.25em;
}

article.style-visual .content.content-excerpt > :not(a.readmore) {
  display: none;
}

article.style-visual .footer {
  display: none;
}

@media (max-width: 999px) {
  article.style-visual .header .article-image, article.style-visual .header .article-image img {
    aspect-ratio: 1/1;
  }
}
@media (max-width: 600px) {
  article.style-visual .header .article-title {
    padding-top: 1em;
    padding-bottom: 5em;
  }
  article.style-visual .header .article-title h2 a {
    font-size: 2em;
  }
}
/*article-comments*/
div.article-comments {
  max-width: 60rem;
}

div.article-comments h3 {
  margin-bottom: 0.25em;
}

div.article-comments ul {
  margin-left: 0;
  list-style: none;
}

div.article-comments ul > li > a:hover {
  background: #3d3d3d;
}

div.article-comments ul ul {
  margin-bottom: 0;
  margin-right: 0;
}

div.article-comments ul ul, div.article-comments ul form.article-commentform {
  margin-left: 4em;
}

div.article-comments ul p {
  text-align: left;
}

div.article-comments ul p span {
  display: block;
}

div.article-comments ul li > .button {
  opacity: 0.15;
  line-height: 1;
  padding: 0.4em 0.6em;
  float: right;
}

div.article-comments ul li > .button:hover {
  opacity: 1;
}

@media (max-width: 600px) {
  div.article-comments ul ul, div.article-comments ul form.article-commentform {
    margin-left: 2em;
  }
}
/*----------BASKET-----------------------------------------*/
main.template-basket div.basketcontainer-filled {
  gap: 4em;
  display: flex;
  flex-wrap: wrap;
  align-items: flex-start;
}

main.template-basket div.basketcontainer-filled div {
  flex: 3;
}

main.template-basket div.basketcontainer-filled form {
  flex: 1;
  min-width: 24em;
}

main.template-basket div.basketcontainer-filled div ul.gallery.layout-grid {
  justify-content: start;
}

main.template-basket div.basketcontainer-filled div div.button-container {
  margin-top: 2.5em;
}

main.template-basket div.basketcontainer-filled div div.button-container span.sharelinikmessage {
  margin-top: 0.5em;
  font-size: 0.8em;
  word-break: break-word;
  width: 100%;
}

@media (max-width: 999px) {
  main.template-basket div.basketcontainer-filled {
    gap: 2em;
  }
  main.template-basket div.basketcontainer-filled > * {
    flex: none !important;
    width: 100% !important;
    min-width: initial !important;
    box-sizing: border-box;
  }
  main.template-basket div.basketcontainer-filled div.button-container {
    justify-content: center;
  }
  main.template-basket div.basketcontainer-empty div.infobox {
    margin: auto;
    text-align: center;
  }
  main.template-basket span.sharelinikmessage {
    text-align: center;
  }
}
/*basket header icon*/
header span.basket {
  font-family: sans-serif;
  margin-left: 2em;
  padding: 0.1em 0.3em;
  font-size: 0.95em;
  font-weight: 300;
  white-space: nowrap;
  display: flex;
  align-items: center;
  gap: 0.1em;
  border: 2px solid #ececec;
  border-radius: 0.25em;
}

header span.basket:hover {
  border-color: #e2e2e2;
  cursor: pointer;
}

header span.basket svg {
  width: 0.95em;
  margin-right: 0.1em;
}

@media (min-width: 1000px) {
  header span.basket {
    display: none;
  }
}
/*@media (max-width:999px)header span.basket-emptydisplay:none*/
nav .linktemplate-basket a svg {
  width: 0.95em;
  transform: translateY(-0.1em);
}

/*----------FLAVORS------------------------------------------------------------------------*/
/*---Flavor:LAYOUTFIXEDHEADER(desktop)---*/
@media (min-width: 1000px) {
  body.flavors-layoutfixedheader.layout-centered div#container {
    margin-top: 1.5rem;
  }
  body.flavors-layoutfixedheader.layout-centered div#container header {
    position: -webkit-sticky;
    position: sticky;
    top: 1.5rem;
    z-index: 2;
  }
  body.flavors-layoutfixedheader.layout-fullwidth div#container header {
    position: -webkit-sticky;
    position: sticky;
    top: 2vw;
    z-index: 2;
  }
  body.flavors-layoutfixedheader.layout-fullwidthframed header {
    background: none;
  }
  body.flavors-layoutfixedheader.layout-centered div#container header {
    pointer-events: none;
  }
  body.flavors-layoutfixedheader.layout-centered div#container header * {
    pointer-events: auto;
  }
  body.flavors-layoutfixedheader.layout-fullwidth div#container header {
    pointer-events: none;
  }
  body.flavors-layoutfixedheader.layout-fullwidth div#container header * {
    pointer-events: auto;
  }
  body.flavors-layoutfixedheader.layout-fullwidthframed div#container header {
    pointer-events: none;
  }
  body.flavors-layoutfixedheader.layout-fullwidthframed div#container header * {
    pointer-events: auto;
  }
}
/******* ENDE base.css  */
/***** layout-sidebar.css *****/
/* Theme by IO200 CMS (https://www.IO200.com) */
/*#########################################################*/
/*##########LAYOUT#########################################*/
/*#########################################################*/
:root {
  --website-background: #fff;
}

@media (min-width: 1000px) {
  html {
    scroll-behavior: smooth;
    scroll-padding-top: 1rem;
  }
}
@media (max-width: 999px) {
  html {
    scroll-behavior: smooth;
    scroll-padding-top: 0.25rem;
  }
}
@media (min-width: 1000px) {
  html:not(.glightbox-open) {
    scrollbar-gutter: stable;
  }
  body.glightbox-open:not(.gscrollbar-fixer) {
    scrollbar-gutter: stable;
    margin-right: 0;
  }
}
body {
  font-size: 16px;
  font-family: sans-serif;
  color: #464646;
  background: var(--website-background);
}

main h1, main h2, main h3, main h4, main h5, main h6 {
  color: #222222;
}

/*----------DESKTOP----------------------------------------*/
@media (min-width: 1000px) {
  html, body {
    height: 100%;
    width: 100%;
  }
  div#container {
    display: grid;
    grid-template-columns: 18rem calc(100% - 18rem);
    grid-template-rows: -webkit-min-content 1fr;
    grid-template-rows: min-content 1fr;
    min-height: 100%;
    box-sizing: border-box;
  }
  header, main, footer {
    margin: 2rem 2rem 0 2rem;
    height: -webkit-min-content;
    height: -moz-min-content;
    height: min-content;
    box-sizing: border-box;
  }
  header {
    grid-column-start: 1;
    grid-row-start: 1;
  }
  main {
    padding: 1rem 0;
    margin-top: 1rem;
    grid-column-start: 2;
    grid-row-start: 1;
    grid-row-end: 3;
  }
  footer {
    margin-bottom: 1rem;
    grid-column-start: 1;
    grid-row-start: 2;
    align-self: start;
  }
}
@media (min-width: 1000px) and (max-height: 720px) {
  footer {
    margin-top: 1.5rem;
  }
}
@media (min-width: 1000px) and (min-height: 720px) {
  div#container {
    grid-template-rows: 1fr -webkit-min-content;
    grid-template-rows: 1fr min-content;
  }
  header, main, footer {
    padding-bottom: 2rem;
  }
  header {
    position: -webkit-sticky;
    position: sticky;
    top: 2rem;
  }
  footer {
    position: -webkit-sticky;
    position: sticky;
    bottom: 0;
    margin-bottom: 0;
    padding-top: 2rem;
    background: var(--website-background);
  }
  header:hover {
    z-index: 1;
    background: var(--website-background);
  }
}
@media (min-width: 1000px) and (min-height: 720px) {
  .glightbox-open header {
    position: fixed;
    top: 0;
    width: 18rem;
  }
  .glightbox-open footer {
    position: fixed;
    bottom: 0;
    width: 18rem;
  }
}
@media (min-width: 1000px) {
  main {
    max-width: 90rem;
  }
  main.template-page:not(.page-fullwidth), main.template-contact {
    max-width: 60rem;
  }
  main.template-set, main.template-album, main.template-albums, main.template-tags, main.template-photos, main.template-photo {
    max-width: 100rem;
  }
  main.template-startshowcase {
    max-width: 120rem;
  }
  main.template-blog {
    max-width: 90rem;
  }
  main.template-blog .sectioncontainer.blog-article {
    max-width: 64rem;
    justify-content: flex-start;
  }
}
/*header*/
@media (min-width: 1000px) {
  header span.website-title {
    color: #222222;
    font-size: 2.3em;
    display: inline-block;
  }
  header span.website-title:hover {
    cursor: pointer;
  }
  header span.website-tagline {
    margin-top: 0.1rem;
    font-size: 0.92em;
    display: block;
  }
}
/*nav*/
@media (min-width: 1000px) {
  header nav ul, footer nav ul {
    list-style: none;
  }
  header nav ul li {
    padding: 0.2em 0;
  }
  header nav ul ul {
    margin-top: 0.2em;
    margin-bottom: -0.2em;
  }
  header nav ul li .nav-item-title {
    font-size: 0.92em;
    font-weight: 300;
    text-decoration: none;
    text-transform: uppercase;
    letter-spacing: 1px;
  }
  header nav ul li:not(.active) a:hover, footer nav ul li:not(.active) a:hover {
    color: #b4b4b4;
  }
  header nav ul li.active:not(.active-sublink) > a, footer nav ul li.active > a {
    font-weight: 600 !important;
  }
  header nav ul ul {
    margin-left: 0.75em;
  }
  header nav > ul > li {
    margin-bottom: 0.25em;
  }
}
/*footer*/
@media (min-width: 1000px) {
  footer {
    gap: 1em;
  }
  footer:not(:has(.socialmedia)) {
    gap: 0.75em;
  }
  footer nav ul.secondary li {
    width: 100%;
    line-height: 1.6;
  }
  footer nav ul.secondary li:last-child {
    line-height: initial;
  }
  footer nav ul.secondary li:after {
    display: none;
  }
  footer nav ul.secondary li a, footer nav ul.secondary li span {
    font-size: 0.8em;
    font-weight: 300;
    text-decoration: none;
    text-transform: uppercase;
    letter-spacing: 0.5px;
  }
}
/*----------MOBILE----------------------------------------*/
@media (max-width: 999px) {
  div#container {
    padding: 0 1rem;
    width: 100%;
    box-sizing: border-box;
  }
  header, main, footer {
    width: 100%;
    box-sizing: border-box;
  }
  header {
    margin-top: 0.2em;
    padding: 1.2rem 36px 1.2rem 0;
    background-image: url(../img/menu_light.png);
    background-position: center right;
    background-repeat: no-repeat;
    background-size: 16px 12px;
  }
  header.shownav {
    background-image: url(../img/menu-close_light.png);
    background-size: 16px 16px;
  }
  body::after {
    position: absolute;
    width: 0;
    height: 0;
    overflow: hidden;
    z-index: -1;
    content: url(../img/menu-close_light.png);
  }
  /*preload image*/
  main {
    margin-top: 1rem;
    margin-bottom: 1rem;
  }
  footer {
    margin-bottom: 2rem;
  }
}
/*header*/
@media (max-width: 999px) {
  header div.title-container {
    display: flex;
    align-items: center;
    justify-content: space-between;
  }
  header span.website-title {
    font-size: 6vw;
    color: #222222;
    line-height: 1;
    display: inline-block;
    word-break: break-word;
  }
  header span.website-title:hover {
    cursor: pointer;
  }
  header span.website-title a {
    vertical-align: bottom;
  }
  header span.website-tagline {
    display: none;
  }
}
/*nav (modern)*/
@media (max-width: 999px) {
  header nav {
    position: static;
  }
  header nav ul {
    line-height: 1.6;
    list-style: none;
  }
  header nav > ul {
    margin-top: 1.2rem;
    text-align: center;
    z-index: 1000;
    display: none;
    position: absolute;
    left: 0;
    width: 100%;
    border: 0;
    background: var(--website-background);
    box-shadow: 0 6px 8px rgba(0, 0, 0, 0.2);
    border-top: 1px solid #f4f4f4;
  }
  header.js-nav.shownav nav > ul, header:not(.js-nav):hover nav > ul, header:not(.js-nav):active nav > ul {
    display: block;
  }
  header nav > ul > li {
    padding: 0.3rem;
  }
  header nav > ul li {
    width: 100%;
    box-sizing: border-box;
  }
  header nav > ul li > .nav-item-title {
    color: #222222;
    font-size: 1.1em;
    font-weight: 700;
    padding: 0.4rem 0.6rem;
    width: 100%;
    display: inline-block;
    box-sizing: border-box;
    text-align: left;
    text-decoration: none;
    letter-spacing: 0.04em;
  }
}
@media (max-width: 999px) and (hover: hover) and (pointer: fine) {
  header nav ul li a:hover {
    text-decoration: underline;
    text-underline-offset: 0.2em;
  }
}
@media (max-width: 999px) {
  header nav > ul ul {
    margin-top: -0.4rem;
  }
  header nav > ul ul li .nav-item-title {
    font-size: 0.96em;
    font-weight: 600;
    padding: 0.3rem 0.6rem 0.3rem 1.6rem;
  }
}
@media (max-width: 999px) {
  header:not(:has(nav ul li)) nav {
    display: none;
  }
  header:not(:has(nav ul li)) {
    background-image: none !important;
  }
}
@media (max-width: 999px) {
  body.shownav header nav > ul {
    height: calc(100dvh - 1.2rem - 2.6rem - 1rem + 1rem);
    overflow: auto;
  }
  body.shownav header nav > ul > *:last-child {
    padding-bottom: 2rem;
  }
  body.shownav {
    overflow: hidden;
  }
}
@media (max-width: 999px) {
  header.js-nav nav > ul {
    display: block;
  }
  /*reset*/
  body header nav > ul {
    height: calc(100dvh - 1.2rem - 2.6rem - 1rem + 1rem);
  }
  /*reset*/
  header.js-nav nav ul {
    opacity: 0;
    max-height: 0;
    overflow: hidden;
    transition: max-height 0.25s ease-out;
  }
  header.js-nav.shownav nav ul {
    opacity: 1;
    max-height: 100vh;
    transition: max-height 0.25s ease-out;
  }
  header.js-nav nav > ul > li {
    opacity: 0;
    transition: opacity 0.25s ease-out;
  }
  header.js-nav.shownav nav > ul > li {
    opacity: 1;
    transition: opacity 0.8s 0.1s ease-out;
  }
}
/*footer*/
@media (max-width: 999px) {
  footer, footer * {
    justify-content: center;
    text-align: center;
  }
  footer ul.secondary {
    font-size: 0.96em;
  }
}
/*#########################################################*/
/*##########CUSTOM#########################################*/
/*#########################################################*/
@media (min-width: 1000px) {
  header span.website-title {
    max-width: 100%;
    -o-object-fit: contain;
       object-fit: contain;
    -o-object-position: 0 0;
       object-position: 0 0;
  }
}
/*logo*/
@media (min-width: 1000px) {
  header span.website-title {
    font-size: 2em;
    line-height: 1;
  }
  header span.website-tagline {
    margin-top: 0.2rem;
    color: #4f4f4f;
  }
  header nav {
    margin-top: 1rem;
  }
  main h1 {
    font-size: 1.8em;
    line-height: 1;
  }
}
/*logo height*/
@media (min-width: 1000px) {
  header span.website-title {
    height: auto !important;
  }
}
@media (min-width: 1000px) {
  main.template-set p.collection-description, main.template-album p.collection-description, main.template-albums p.collection-description {
    max-width: 60rem;
  }
}
/*---Flavor:MOBILE_TOP_WHEN_PHOTO_OR_ARTICLE---*/
@media (max-width: 999px) {
  main.template-photo div.photo-image, main.template-blog article.style-article .header .article-image.image-available {
    margin-top: -1rem;
  }
  main.template-photo:has(.breadcrumb) div.photo-image {
    margin-top: 0.5rem;
  }
  main.template-blog:has(.breadcrumb) article.style-article .header .article-image.image-available {
    margin-top: 0;
  }
}
/*---Flavor:MOBILE_TOP_WHEN_NOHEADING---*/
@media (max-width: 999px) {
  main {
    margin-top: 0;
  }
  main:has(h1.mobile:first-child), main.template-photo {
    margin-top: 1rem;
  }
  main:has(.breadcrumb) {
    margin-top: 1rem;
  }
}
/*---Flavor:TEXT_JUSTIFY2---*/
/*---Flavor:GALLERY_SET_LAYOUT_GRID-LEFT---*/
@media (min-width: 1000px) {
  ul.gallery.gallery-set.layout-grid li span {
    text-align: left;
  }
  ul.gallery.gallery-set.layout-grid li div.photo-wrapper.photo-portrait {
    margin-left: 0;
  }
}
/*---Flavor:GALLERY_SET_LAYOUT_WALL-LEFT---*/
@media (min-width: 1000px) {
  ul.gallery.gallery-set.layout-wall li span {
    text-align: left;
  }
}
/*---Flavor:SET/ALBUMS/ALBUM---*/
/*slideshow max height*/
@media (min-width: 1000px) {
  main.template-album ul.gallery.layout-slideshow, main.template-albums ul.gallery.layout-slideshow, main.template-set ul.gallery.layout-slideshow {
    margin-bottom: 0;
  }
  main.template-album ul.gallery.layout-slideshow ul.slideshow, main.template-albums ul.gallery.layout-slideshow ul.slideshow, main.template-set ul.gallery.layout-slideshow ul.slideshow {
    max-height: calc(100vh - 4rem);
  }
  main.template-album:has(h1.desktop) ul.gallery.layout-slideshow ul.slideshow, main.template-albums:has(h1.desktop) ul.gallery.layout-slideshow ul.slideshow, main.template-set:has(h1.desktop) ul.gallery.layout-slideshow ul.slideshow {
    max-height: calc(100vh - 4rem - 3em);
  }
}
/*---Flavor:PHOTO---*/
/*max width:left*/
@media (min-width: 1000px) {
  main.template-photo section.sectionaside-photo > *:not(.photo-image) {
    max-width: 64rem;
  }
  main.template-photo aside.sectionaside-photo {
    width: auto !important;
    max-width: 64rem !important;
  }
}
/*photo max height*/
@media (min-width: 1000px) {
  main.template-photo div.photo-image img.photo {
    max-height: calc(100vh - 5.5em);
  }
}
/*photo left*/
main.template-photo section.sectionaside-photo img.photo {
  -o-object-position: 0 0 !important;
     object-position: 0 0 !important;
}

/*---Flavor:STARTSHOWCASE---*/
/*show complete slideshow photo in browser (depends on header height) */
@media (min-width: 1000px) {
  main.template-startshowcase ul.gallery.layout-slideshow.gallery-mounted:not(.fullscreen) ul.slideshow, main.template-startshowcase ul.gallery.layout-slideshow.gallery-mounted:not(.fullscreen) ul.slideshow img {
    height: calc(100vh - 4rem);
  }
  main.template-startshowcase ul.gallery.layout-slideshow.gallery-mounted:not(.fullscreen):has(.slideshow-navigation.dots) ul.slideshow, main.template-startshowcase ul.gallery.layout-slideshow.gallery-mounted:not(.fullscreen):has(.slideshow-navigation.dots) ul.slideshow img {
    max-height: calc(100vh - 6rem);
  }
  main.template-startshowcase ul.gallery.layout-slideshow.gallery-mounted:not(.fullscreen):has(.slideshow-navigation.thumbs) ul.slideshow, main.template-startshowcase ul.gallery.layout-slideshow.gallery-mounted:not(.fullscreen):has(.slideshow-navigation.thumbs) ul.slideshow img {
    max-height: calc(100vh - 9rem);
  }
}
/*mobile fullsize*/
@media (max-width: 999px) {
  main.template-startshowcase {
    margin-top: 0;
  }
  body.template-startshowcase footer {
    margin-bottom: 0.5rem;
  }
  main.template-startshowcase div.start-singlephoto {
    width: calc(100% + 2rem);
    margin-left: -1rem;
  }
  main.template-startshowcase ul.slideshow {
    height: calc(var(--viewport-initialheight, 2rem) - 0.2rem - var(--header-height, 2rem) - 1rem - var(--footer-height, 2rem));
  }
}
/*---Flavor:LAYOUT_SIDEBAR---*/
@media screen and (min-width: 1000px) {
  body.layout-sidebar header span.website-tagline {
    font-size: 0.75em;
    color: #aaa;
  }
  body.layout-sidebar header nav ul li {
    padding-block: 0.2em;
    margin: 0;
  }
  body.layout-sidebar header nav ul ul {
    margin-top: 0;
    margin-bottom: 0.1em;
  }
  body.layout-sidebar header nav ul li .nav-item-title, footer nav ul li .nav-item-title {
    font-size: 0.8em;
    letter-spacing: 0.1em;
  }
  body.layout-sidebar footer nav ul.secondary li .nav-item-title {
    font-size: 0.8em;
  }
  body.layout-sidebar main ul.gallery.gallery-set li span.info-title {
    font-size: 0.9em;
  }
}
/**** ENDE layout-sidebar.css ****/
:root {
  --website-background:unset;
}

body {
  /*font-size: 16px*/
  -webkit-hyphens: auto;
          hyphens: auto;
  font-family: macho, sans-serif;
  font-weight: normal;
  letter-spacing: 0.018em;
  /*font-size-adjust: 0.468*/
}

.clearfix::after {
  content: "";
  display: block;
  clear: both;
}

main {
  /*elements:h1,h2,h3,h4,h5,h6*/
}
main h1, main h2, main h3, main h4 {
  font-family: ff-dax-compact-pro, sans-serif;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: initial;
  line-height: 1.6em;
  color: #404040;
}
main h1 {
  font-size: 1.75em;
}
main h2 {
  font-size: 1.6em;
}
main h3 {
  font-size: 1.45em;
}
main h4 {
  font-size: 1.3em;
}
main h5 {
  font-size: 1.15em;
}
main h6 {
  font-size: 1em;
}
main h1 {
  -webkit-text-decoration-line: underline;
          text-decoration-line: underline;
  -webkit-text-decoration-color: #FFE42C;
          text-decoration-color: #FFE42C;
  text-underline-position: under;
  text-decoration-thickness: 5px;
  margin-bottom: 2em;
  line-height: 1.6em;
}
main strong {
  color: #404040;
}
main small {
  font-size: 0.7em;
}
main figure figcaption {
  font-size: 0.8em;
}
main [onclick] {
  cursor: pointer;
}
main div.figure span.info-title {
  font-size: 0.8em;
}

form.searchform button[type=submit][name=startsearch] {
  color: #fff;
}

ul.primary a, ul.secondary a {
  color: #eee;
}
ul.gallery.gallery-set.layout-mosaic li span.info, ul.gallery.gallery-set.layout-wall li span.info {
  background: rgba(0, 0, 0, 0.25);
  text-shadow: unset;
}
ul.gallery {
  margin-top: 1rem;
}

p + ul.gallery {
  margin-top: 2rem;
}

[data-anchor-target]:not(#container) {
  padding: 1px 3px;
  background: #0b0b0b;
  color: #fff;
}
[data-anchor-target]:not(#container) strong {
  color: #fff;
}
[data-anchor-target]:not(#container):has(a) a:hover {
  color: #bbb;
  padding-bottom: 4px;
}

.content {
  margin-bottom: 2em;
}

.gslide-description.description-bottom {
  max-width: none !important;
}

body:not(.glightbox-mobile) .gslide-description .gdesc-inner .gslide-desc {
  color: #eee;
}

#back-to-top {
  display: none;
}

.go-back {
  cursor: pointer;
}

.linktemplate-photosearch .searchform button svg.symbol {
  fill: #fff;
}

div.template-tag.figure:not([style*=float]) {
  padding-top: 1rem;
  padding-bottom: 1rem;
}

.template-tag.hero h2 {
  font-family: macho, sans-serif;
  font-weight: bold;
  font-size: 1em;
  text-transform: initial;
}
.template-tag.hero .photo-wrapper img {
  -o-object-fit: contain;
     object-fit: contain;
}

.footer-disclaimer.article-disclaimer {
  margin-bottom: 2rem;
}

aside.sectionaside.sectionaside-photo p.photo-capturedate, aside.sectionaside.sectionaside-photo dl.photo-exif dt, aside.sectionaside.sectionaside-photo dl.photo-exif dd {
  padding: 0.4em 0.5em;
}
aside.sectionaside.sectionaside-photo ul.gallery {
  margin-top: 1.5rem;
}

@media (min-width: 1000px) {
  body {
    background: linear-gradient(90deg, #000 18rem, #fff 18rem);
  }
  form.searchform {
    color: #eee;
    border-bottom-color: currentColor;
  }
  form.searchform input {
    color: #eee;
  }
  div.backlink {
    display: inherit;
  }
  footer nav ul.secondary li a, footer nav ul.secondary li span {
    color: #eee;
  }
  footer nav ul.secondary li a:hover, footer nav ul.secondary li span:hover {
    color: #b4b4b4;
  }
  header span.website-title, header h1.website-title {
    max-height: 1.5em;
    width: auto;
  }
  header span.website-tagline {
    font-size: 0.85em;
    color: #eee;
  }
  header, footer {
    background-color: #000;
  }
  header {
    z-index: 100;
  }
  #back-to-top {
    box-sizing: border-box;
    display: flex;
    width: 2.5rem;
    height: 2.5rem;
    justify-content: center;
    align-items: center;
    cursor: pointer;
    opacity: 0;
    position: fixed;
    z-index: 1;
    bottom: 0.75rem;
    right: 1rem;
    background: #000;
    color: #fff;
    border: 1px solid transparent;
    border-radius: 20%;
    font-size: 1.5rem;
  }
  #back-to-top:hover {
    background: #fff;
    border-color: #000;
    color: #000;
  }
}
@media (max-width: 999px) {
  body {
    font-size: 18px;
  }
  body h1 {
    font-size: 1.55em;
  }
  body h2 {
    font-size: 1.4em;
  }
  body h3 {
    font-size: 1.25em;
  }
  body h4 {
    font-size: 1.1em;
  }
  header {
    margin-top: unset;
    background-color: #000;
    background-image: url(/res/img/menu_dark.png);
    background-position: calc(100vw - 2rem) 1.5rem;
    background-repeat: no-repeat;
    background-size: 16px 12px;
    margin-left: -1em;
    margin-right: -1em;
    padding: 1em;
    width: calc(100% + 2rem);
    color: #eee;
  }
  header.shownav {
    background-image: url(/res/img/menu-close_dark.png);
    background-size: 16px 16px;
  }
  footer {
    margin-left: -1em;
    margin-right: -1em;
    padding: 1em;
    width: unset;
    background-color: #000 !important;
    color: #eee;
  }
  header nav > ul {
    background: #fff;
  }
  footer {
    margin-bottom: unset;
    padding-bottom: 2rem;
  }
  footer ul.secondary li a, footer ul.secondary li span {
    color: #eee;
  }
  header span.website-title, header h1.website-title {
    height: 3rem;
    width: auto;
  }
}
.columns {
  -moz-column-count: 3;
       column-count: 3;
  -moz-column-rule: 1px solid #bbb;
       column-rule: 1px solid #bbb;
  border-top: 1px solid #bbb;
  border-bottom: 1px solid #bbb;
  -moz-column-gap: 2rem;
       column-gap: 2rem;
  margin-top: 2rem;
  padding-bottom: 1rem;
}
.columns h2 {
  -moz-column-span: all;
       column-span: all;
  margin-top: 1rem;
  margin-bottom: 1.5rem;
}
.columns > div:first-of-type h3 {
  margin-top: unset;
}
.columns p, .columns h3, .columns h4, .columns li {
  widows: 5;
  orphans: 5;
}
.columns img {
  border: 1px solid #ddd;
}
.columns:not(:last-child) {
  margin-bottom: 2rem;
}
.columns .avoid-break, .columns li {
  -moz-column-break-inside: avoid;
  break-inside: avoid;
}

@media (width >= 768px) and (width <= 1200px) {
  .columns {
    -moz-column-count: 2;
         column-count: 2;
  }
}
@media (width <= 767px) {
  .columns {
    -moz-column-count: 1;
         column-count: 1;
  }
  header {
    margin-top: unset;
    margin-left: -1rem;
    margin-right: -1rem;
    width: calc(100% + 2rem);
    padding: 1rem;
  }
}
