html {
  -ms-text-size-adjust: 100%;
  -webkit-text-size-adjust:100%;
  background: var(--white);
}

html, body {
  scroll-behavior: smooth;
  margin: 0;
  padding:0;
}

body {
  color: var(--color--1);
  font-size: var(--mainsize);
  line-height: var(--lineheight);
  text-rendering: optimizeSpeed;
  -moz-osx-font-smoothing: grayscale;
  -webkit-font-smoothing: antialiased;
  -webkit-tap-highlight-color: transparent;
  background: url("../images/gmund.gif") var(--color--2);
  background-size: 300px auto;
  background-position: center;
  background-repeat: repeat;
}

.fl {
  font-family: "tt-commons-pro", sans-serif;
  font-weight: 300;
  font-style: normal;
}

.fli {
  font-family: "tt-commons-pro", sans-serif;
  font-weight: 300;
  font-style: italic;
}

.fr, body {
  font-family: "tt-commons-pro", sans-serif;
  font-weight: 400;
  font-style: normal;
}

.fri {
  font-family: "tt-commons-pro", sans-serif;
  font-weight: 400;
  font-style: italic;
}
.fb, h1, h2, h3, h4, h5, h6 {
  font-family: "tt-commons-pro", sans-serif;
  font-weight: 700;
  font-style: normal;
}

.topbar.nav--show {top: 0;}
.topbar.nav--hide {top: -28px;}

.topbar {
  background: rgba(255,255,255,.75);
  backdrop-filter: saturate(180%) blur(20px);
  border-bottom: 1px solid var(--color--1--25);
}

.topbar ul {
  list-style: none;
  text-align: right;
  display: inline-flex;
}

.topbar ul li {
  display: inline-block;
}

.topbar ul li a {
  padding: calc(var(--gap) * .25);
}

.topbar ul li:last-child a {
  padding-right: 0;
}

.topbar--mst--logo {
  height: 18px;
  width: auto;
  display: inline-flex;
}

.navbar.nav--down {top: 28px;}
.navbar.nav--top {top: 0;}
.pageheader {margin-top: 28px;}

.navbar.nav--down, .topbar.nav--hide {
  -webkit-transition: top .6s cubic-bezier(0.25, 0.1, 0.25, 1), padding .5s cubic-bezier(0.25, 0.1, 0.25, 1);
  transition: top .6s cubic-bezier(0.25, 0.1, 0.25, 1), padding .5s cubic-bezier(0.25, 0.1, 0.25, 1);
}

.navbar.nav--top, .topbar.nav--show {
  -webkit-transition: top .3s cubic-bezier(0.25, 0.1, 0.25, 1), padding .35s cubic-bezier(0.25, 0.1, 0.25, 1);
  transition: top .3s cubic-bezier(0.25, 0.1, 0.25, 1), padding .35s cubic-bezier(0.25, 0.1, 0.25, 1);
}
.navbar {
  background: rgba(255,255,255,.75);
  backdrop-filter: saturate(180%) blur(20px);
  box-shadow: var(--shadow-elevation-medium);
}

.navbar-brand {
  line-height: .9;
}

.navbar-brand {
  -webkit-transition: font-size .5s cubic-bezier(0.25, 0.1, 0.25, 1);
  transition: font-size .5s cubic-bezier(0.25, 0.1, 0.25, 1);
}

.navbar-brand span {
  display: block;
}

.navbar.has--subheading .navbar-brand {
  font-size: calc(var(--text) * 1.444);
  line-height: 1;
}

.navbar.no--subheading .navbar-brand {
  font-size: calc(var(--text) * 1);
  line-height: 1;
}

.navbar-brand-img {
  height: 30px;
  width: auto;
}

.navbar-toggler {
  border: none;
  color: var(--color--1);
  padding-right: 0;
}

.navbar ul li .nav-link,
.navbar ul li .nav-link:hover,
.navbar-brand, .navbar-brand:hover,
.navbar ul li .nav-link.active,
.navbar ul li .nav-link.active:hover {
  color: var(--color--1);
}

.navbar ul li:last-child .nav-link {
  padding-right: 0;
}

.pageheader figure.image, .archiv figure.image, .image.poster {box-shadow: rgba(0, 0, 0, 0.1) 0px 20px 25px -5px, rgba(0, 0, 0, 0.04) 0px 10px 10px -5px;}
.pageheader figure.image picture {--w: 5;--h: 4;}

.image.poster, .image.poster picture, .image.poster picture img {
  border-radius: var(--br);
}
.pageheader figure.image picture img.grayscale {filter: grayscale(1);}
.get--m {margin: 0 calc(var(--mainsize) * 1);}

main.no--image {padding-top: calc(60px + 27px + calc(var(--gap) * 2));}


.motra {
  font-size: calc(var(--gap) + 2vw);
  line-height: 1;
}

.intro .text.text--lg {
  line-height: 1.1;

}

.fancy--bg, .fancy--bg--2 {
  position: relative;
  z-index: -1;
}

.fancy--bg::before {
  content: "";
  border-radius: 50%;
  position: absolute;
  background: var(--color--5);
  z-index: -1;

  right: unset;
  left: calc(var(--gap) - 2vw);
  top: calc(50% - 21vw);
  width: 40vw;
  height: 40vw;

}

body.home--home .get--m.home {
  background-color: var(--color--1--0);
  min-height: 35vw;
  display: flex;
  align-items: center;
}

body.home--home .fancy--bg::before {
  right: unset;
  left: calc(var(--gap) - 2vw);
  width: 35vw;
  height: 35vw;
}


.fancy--bg--2::before {
  content: "";
  border-radius: 50%;
  position: absolute;
  background: var(--color--6);
  z-index: -1;

  left: calc(var(--gap) - 2vw);
  width: 35vw;
  height: 35vw;

}

.text, .text h1, .text h2, .text h3, .text h4, .text h5, .text h6 {
  font-size: var(--mainsize);
  line-height: var(--lineheight);
}

.text h1, .text h2, .text h3, .text h4, .text h5, .text h6 {
  margin-bottom: calc(var(--lineheight) * .5);
}

.text a {
  text-decoration-style: solid;
  text-decoration-line: underline;
  text-decoration-thickness: 3px;
  text-decoration-color: var(--color--6);
}

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

.text hr {
  margin: calc(var(--lineheight) * 1) 0;
  border-top: 1px solid var(--color--1--50);
  opacity: 1;
}


.blox figure, .image.poster {
  position: relative;
}


.blox figure.img--small {
  display: block;
  width: 75%;
}

.blox figure a i, a .image.poster i {
  position: absolute;
  top: calc(var(--gap) * .5);
  right: calc(var(--gap) * .5);
  color: var(--color--1);
}

.poster i {
  color: var(--black);
}


.blox .form-check-input label {
  font-size: 12px;
}

footer.footer {
  background: rgba(255,255,255,1);
}

.bottom--bar {
  background-color: var(--color--1);
  color: var(--color--5);
}

.bottom--bar ul li:not(:last-child) {
  padding-right: calc(var(--gap) * .125);
}

.bottom--bar ul li:not(:last-child)::after {
  content: " •";
  padding-left: calc(var(--gap) * .125);
}

.bottom--bar ul li a, .bottom--bar ul li button {
  text-decoration-style:solid;
  text-decoration-line: underline;
  text-decoration-thickness: 2px;
  text-decoration-color: var(--color--5);
}

.thx {
  background-color: var(--color--1);
  color: var(--color--5);
  border-bottom: 1px solid var(--color--5);
}


.btn-primary,
.btn-primary:link,
.btn-primary:active,
.btn-primary:visited,
.btn-primary:active:focus,
.btn-primary:active:hover,
.btn-primary:hover,
.btn-primary:focus {
  --bs-btn-color: var(--color--5);
  --bs-btn-bg: var(--color--1);
  --bs-btn-border-color: var(--color--1);
  --bs-btn-hover-color: var(--color--5);
  --bs-btn-hover-bg: var(--color--1);
  --bs-btn-hover-border-color: var(--color--5);
  --bs-btn-focus-shadow-rgb: 49, 132, 253,0;
  --bs-btn-active-color: var(--color--5);
  --bs-btn-active-bg: var(--color--1);
  --bs-btn-active-border-color: var(--color--1);
  --bs-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0);
  --bs-btn-disabled-color: var(----color--5);
  --bs-btn-disabled-bg: var(--color--1);
  --bs-btn-disabled-border-color: var(--color--1);
  background-color: var(--color--1);
  color: var(--color--5);
  border-color: var(--color--1);
}

.accordion {

    --bs-accordion-btn-icon: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='none' stroke='%23002610' stroke-linecap='round' stroke-linejoin='round'%3e%3cpath d='m2 5 6 6 6-6'/%3e%3c/svg%3e");
    --bs-accordion-btn-active-icon: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='none' stroke='%23002610' stroke-linecap='round' stroke-linejoin='round'%3e%3cpath d='m2 5 6 6 6-6'/%3e%3c/svg%3e");
    --bs-accordion-btn-focus-box-shadow: 0 0 0 0.25rem var(--color--1);

}

.accordion, .accordion-item {
  background: transparent;
  color: var(--color--1);
}

.accordion-item {
  border: 1px solid var(--color--5);
}

.accordion-header {
  line-height: 1;
  padding-right: 1rem;
}

.accordion .accordion-button {
  background-color: var(--color--1--0);
  padding-left: 0;
  padding-right: 0;
  border: none!important;
  color: var(--color--1);
  line-height: 1;
}

.accordion .accordion-body {
  background-color: var(--color--1--0);
  border: none!important;
  margin-top: 0;
  padding-top: 0;
}

.accordion-button:not(.collapsed) {
  box-shadow: none!important;
}

.accordion-button::after {
  flex-shrink: 0;
  width: var(--bs-accordion-btn-icon-width);
  height: var(--bs-accordion-btn-icon-width);
  margin-left: auto;
  content: "";
  background-image: var(--bs-accordion-btn-icon);
  background-repeat: no-repeat;
  background-size: var(--bs-accordion-btn-icon-width);
  transition: var(--bs-accordion-btn-icon-transition);
}

.gallery figure a i {
  position: absolute;
  top: calc(var(--gap) * .5);;
  right: calc(var(--gap) * .5);;
  color: var(--color--5);
}

.gallery figure.image small {
  letter-spacing: 0!important;
}

.archiv figure.image, .archiv figure.image picture, .archiv figure.image picture img {
  border-radius: var(--br);
}

.archiv figure a i {
  position: absolute;
  top: calc(var(--gap) * .5);;
  right: calc(var(--gap) * .5);;
  color: var(--color--1);
}

.event--holder {

}


.events .event--holder {
  border-bottom: 1px solid var(--color--1--25);
}


.past--event--holder {
  border-bottom: 1px solid var(--color--5--50);
}


section.more .card {
  background: var(--color--5);
  border-radius: var(--br);
  color: var(--color--1);
}


@media (min-width: 576px) {
  :root {--mainsize: 17px;}
  .get--m {margin: 0 calc(var(--mainsize) * 1.333);}

  .topbar.nav--hide {top: -29px;}
  .navbar.nav--down {top: 29px;}

  main.no--image {padding-top: calc(62px + 29px + calc(var(--gap) * 2));}

  .fancy--bg::before, body.home--home .fancy--bg::before {
    right: unset;
    left: calc(var(--gap) - 2vw);
    top: calc(50% - 17vw);
    width: 30vw;
    height: 30vw;
  }
  .blox figure.img--small {width: 70%;}



}


@media (min-width: 768px) {
  :root {--mainsize: 18px;}
  .get--m {margin: 0 calc(var(--mainsize) * 1.666);}

  .topbar.nav--hide {top: -45px;}
  .navbar.nav--down {top: 45px;}

  main.no--image {padding-top: calc(64px + 32px + calc(var(--gap) * 2));}
  .pageheader figure.image picture {--w: 5;--h: 3;}

  .fancy--bg::before, body.home--home .fancy--bg::before {
    right: unset;
    left: calc(var(--gap) + 20%);
    top: calc(50% - 18vw);
    width: 33vw;
    height: 33vw;
  }

  .blox figure.img--small {width: 65%;}

  body.home--home .get--m.home {
    background-color: var(--color--1--0);
    min-height: 30vw;
    display: flex;
    align-items: center;
  }
}


@media (min-width: 992px) {
  :root {--mainsize: 19px;}
  .get--m {margin: 0 calc(var(--mainsize) * 2);}
  .topbar.nav--hide {top: -48px;}
  .navbar.nav--down {top: 48px;}
  main.no--image {padding-top: calc(73px + 44px + calc(var(--gap) * 2));}
  .pageheader figure.image picture {--w: 2;--h: 1;}

  .navbar ul li:not(:last-child) .nav-link::after {
    content: "|";
    color: var(--color--1--25);
    font-weight: 300;
    padding-left: 1rem;
  }

  .fancy--bg::before, body.home--home .fancy--bg::before {
    right: unset;
    left: calc(var(--gap) + 30%);
    top: calc(50% - 18vw);
    width: 33vw;
    height: 33vw;
  }

  .blox figure.img--small {width: 60%;}


  body.home--home .get--m.home {
    background-color: var(--color--1--0);
    min-height: 30vw;
    display: flex;
    align-items: center;
  }

}


@media (min-width: 1200px) {
  :root {--mainsize: 20px;}
  .get--m {margin: 0 calc(var(--mainsize) * 2.5);}
  .topbar.nav--hide {top: -50px;}
  .navbar.nav--down {top: 50px;}
  main.no--image {padding-top: calc(75px + 47px + calc(var(--gap) * 2));}
  .pageheader figure.image picture {--w: 5;--h: 2;}

  .fancy--bg::before, body.home--home .fancy--bg::before {
    left: unset;
    right: calc(var(--gap) + 10vw);
    top: calc(50% - 17vw);
    width: 33vw;
    height: 33vw;
  }
.blox figure.img--small {width: 50%;}

body.home--home .get--m.home {
  background-color: var(--color--1--0);
  min-height: 25vw;
  display: flex;
  align-items: center;
}

}


@media (min-width: 1400px) {
  :root {--mainsize: 21px;}
  .get--m {margin: 0 calc(var(--mainsize) * 3);}
  .topbar.nav--hide {top: -53px;}
  .navbar.nav--down {top: 53px;}
  main.no--image {padding-top: calc(77px + 49px + calc(var(--gap) * 2));}

}

@media (min-width: 1600px) {
  :root {--mainsize: 22px;}
  .topbar, .navbar {padding: 0 calc(var(--mainsize) * 3.5);}
  .get--m {margin: 0 calc(var(--mainsize) * 3.5);}
  .topbar.nav--hide {top: -55px;}
  .navbar.nav--down {top: 55px;}
  main.no--image {padding-top: calc(79px + 54px + calc(var(--gap) * 2));}

}

@media (min-width: 1700px) {
  :root {--mainsize: 23px;}
  .navbar {top: 58px;}
  .topbar.nav--hide {top: -58px;}
  .topbar, .navbar {padding: 0 calc(var(--mainsize) * 4);}
  .get--m {margin: 0 calc(var(--mainsize) * 4);}
}
