/*
Theme Name: M+S Theme
Author: Mues + Schrewe GmbH
Author URI: https://www.mues-schrewe.de/
Version: 1.59
Requires at least: 6.0
Text Domain: ms-theme
*/
html {
  font-size: 16px;
  -ms-word-break: break-all;
  word-break: break-all;
  word-break: break-word;
  -webkit-hyphens: auto;
  -moz-hyphens: auto;
  -ms-hyphens: auto;
  hyphens: auto;
  line-height: 1.4;
}

body,
.is-root-container {
  font-family: "Montserrat";
}
body.no-transition *,
.is-root-container.no-transition * {
  transition: none !important;
}
body *,
.is-root-container * {
  font-family: "Montserrat";
}
body h1, body h2, body h3, body h4, body h5, body h6,
.is-root-container h1,
.is-root-container h2,
.is-root-container h3,
.is-root-container h4,
.is-root-container h5,
.is-root-container h6 {
  font-family: "Noto Serif";
  font-weight: 600;
  line-height: 1.2;
}
body h1,
.is-root-container h1 {
  font-size: 3.5rem;
}
@media (max-width: 991px) {
  body h1,
.is-root-container h1 {
    font-size: 2.5rem;
  }
}
body h2,
.is-root-container h2 {
  font-size: 2rem;
}
@media (max-width: 991px) {
  body h2,
.is-root-container h2 {
    font-size: 1.5rem;
  }
}
body h3,
.is-root-container h3 {
  font-size: 1.5rem;
}
@media (max-width: 991px) {
  body h3,
.is-root-container h3 {
    font-size: 1.25rem;
  }
}
body h4,
.is-root-container h4 {
  font-size: 1.25rem;
}
@media (max-width: 991px) {
  body h4,
.is-root-container h4 {
    font-size: 1rem;
  }
}
body h5,
.is-root-container h5 {
  font-size: 1rem;
}
@media (max-width: 991px) {
  body h5,
.is-root-container h5 {
    font-size: 0.875rem;
  }
}
body h6,
.is-root-container h6 {
  font-size: 0.875rem;
}
@media (max-width: 991px) {
  body h6,
.is-root-container h6 {
    font-size: 0.75rem;
  }
}
body a,
body a:where(:not(.wp-element-button)),
.is-root-container a,
.is-root-container a:where(:not(.wp-element-button)) {
  text-decoration: none !important;
  color: var(--wp--preset--color--generic);
}

* {
  box-sizing: border-box;
}

main,
.is-root-container {
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
}
main > p,
.is-root-container > p {
  margin-block-start: 0;
  margin-block-end: 0;
  max-width: var(--wp--custom--spacing--content-size);
  padding: 2em;
}
main .wp-block,
.is-root-container .wp-block {
  width: 100%;
  max-width: none !important;
}
main .block,
.is-root-container .block {
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  width: 100%;
}
main .block.alignwide .block-inner,
.is-root-container .block.alignwide .block-inner {
  max-width: var(--wp--custom--spacing--wide-size);
}
main .block.alignfull .block-inner,
.is-root-container .block.alignfull .block-inner {
  max-width: none;
}
main .block .block-inner,
.is-root-container .block .block-inner {
  width: 100%;
  max-width: var(--wp--custom--spacing--content-size);
  padding: 0 2rem;
}
main .wp-block-group,
.is-root-container .wp-block-group {
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  width: 100%;
}
main .wp-block-group.alignwide .block,
.is-root-container .wp-block-group.alignwide .block {
  max-width: var(--wp--custom--spacing--wide-size);
}
main .wp-block-group.alignfull .block,
.is-root-container .wp-block-group.alignfull .block {
  max-width: none;
}
main .wp-block-group .block,
.is-root-container .wp-block-group .block {
  width: 100%;
  max-width: var(--wp--custom--spacing--content-size);
  margin: 0 auto;
}

body:not(.wp-admin) .custom-checkbox {
  position: relative;
  width: 1.5em;
  height: 1.5em;
  border: solid 0.15em var(--wp--preset--color--generic);
  cursor: pointer;
  flex-shrink: 0;
}
body:not(.wp-admin) .custom-checkbox.custom-radio-button {
  border-radius: 50%;
}
body:not(.wp-admin) .custom-checkbox > input {
  width: 100%;
  height: 100%;
  margin: 0;
  opacity: 0;
  cursor: pointer;
}
body:not(.wp-admin) .custom-checkbox > input:checked + .icon {
  opacity: 1;
}
body:not(.wp-admin) .custom-checkbox .icon {
  display: flex;
  justify-content: center;
  align-items: center;
  position: absolute;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  pointer-events: none;
  opacity: 0;
  padding: 0.15em;
}
body:not(.wp-admin) .custom-checkbox .icon > svg {
  width: 100%;
  height: 100%;
  fill: var(--wp--preset--color--generic);
}

body:not(.wp-admin) .animation-left-to-right {
  -webkit-transform: translateX(-100%);
  -moz-transform: translateX(-100%);
  -ms-transform: translateX(-100%);
  transform: translateX(-100%);
}
body:not(.wp-admin) .animation-right-to-left {
  -webkit-transform: translateX(100%);
  -moz-transform: translateX(100%);
  -ms-transform: translateX(100%);
  transform: translateX(100%);
}
body:not(.wp-admin) .animation-top-to-bottom {
  -webkit-transform: translateY(-100%);
  -moz-transform: translateY(-100%);
  -ms-transform: translateY(-100%);
  transform: translateY(-100%);
}
body:not(.wp-admin) .animation-bottom-to-top {
  -webkit-transform: translateY(100%);
  -moz-transform: translateY(100%);
  -ms-transform: translateY(100%);
  transform: translateY(100%);
}
body:not(.wp-admin) .animation-opacity {
  opacity: 0;
}
body:not(.wp-admin) .animation-scale {
  -webkit-transform: scale(0);
  -moz-transform: scale(0);
  -ms-transform: scale(0);
  transform: scale(0);
}
body:not(.wp-admin) .animation-duration-0 {
  transition: 0ms;
}
body:not(.wp-admin) .animation-duration-150 {
  transition: 150ms;
}
body:not(.wp-admin) .animation-duration-300 {
  transition: 300ms;
}
body:not(.wp-admin) .animation-duration-450 {
  transition: 450ms;
}
body:not(.wp-admin) .animation-duration-600 {
  transition: 600ms;
}
body:not(.wp-admin) .animation-duration-750 {
  transition: 750ms;
}
body:not(.wp-admin) .animation-delay-0 {
  transition-delay: 0ms;
}
body:not(.wp-admin) .animation-delay-150 {
  transition-delay: 150ms;
}
body:not(.wp-admin) .animation-delay-300 {
  transition-delay: 300ms;
}
body:not(.wp-admin) .animation-delay-450 {
  transition-delay: 450ms;
}
body:not(.wp-admin) .animation-delay-600 {
  transition-delay: 600ms;
}
body:not(.wp-admin) .animation-delay-750 {
  transition-delay: 750ms;
}
body:not(.wp-admin) .visible .animation-left-to-right,
body:not(.wp-admin) .visible .animation-right-to-left {
  -webkit-transform: translateX(0);
  -moz-transform: translateX(0);
  -ms-transform: translateX(0);
  transform: translateX(0);
}
body:not(.wp-admin) .visible .animation-top-to-bottom,
body:not(.wp-admin) .visible .animation-bottom-to-top {
  -webkit-transform: translateY(0);
  -moz-transform: translateY(0);
  -ms-transform: translateY(0);
  transform: translateY(0);
}
body:not(.wp-admin) .visible .animation-opacity {
  opacity: 1;
}
body:not(.wp-admin) .visible .animation-scale {
  -webkit-transform: scale(1);
  -moz-transform: scale(1);
  -ms-transform: scale(1);
  transform: scale(1);
}

.lightbox {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  z-index: 999;
  background: rgba(0, 0, 0, 0.8);
  display: flex;
  justify-content: center;
  align-items: center;
  transition: opacity 150ms;
}
.lightbox.closed {
  opacity: 0;
  pointer-events: none;
}
.lightbox .prev,
.lightbox .next {
  position: absolute;
  top: 50%;
  z-index: 1;
  background: none;
  border: none;
  outline: none;
  padding: 1em;
  cursor: pointer;
}
.lightbox .prev.disabled,
.lightbox .next.disabled {
  display: none;
}
.lightbox .prev svg,
.lightbox .next svg {
  width: 1.5em;
}
.lightbox .prev {
  left: 0;
}
.lightbox .next {
  right: 0;
}
.lightbox .close {
  position: absolute;
  right: 0;
  top: 0;
  z-index: 1;
  background: none;
  border: none;
  outline: none;
  padding: 0.5em 1em;
  cursor: pointer;
}
.lightbox .close svg {
  width: 1.5em;
}
.lightbox .lightbox-stage {
  position: relative;
  width: 80vw;
  height: 80vh;
}
.lightbox .lightbox-stage::before {
  content: "";
  display: block;
  width: 100%;
  padding-top: 56.25%;
}
.lightbox .lightbox-stage img {
  position: absolute;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  object-fit: contain;
  user-drag: none;
  user-select: none;
  -moz-user-select: none;
  -webkit-user-drag: none;
  -webkit-user-select: none;
  -ms-user-select: none;
}

.gallery {
  display: flex;
  flex-wrap: wrap;
  margin: 0 -1rem;
}
.gallery.gallery-columns-1 .gallery-item {
  width: calc(100% / 1);
}
.gallery.gallery-columns-2 .gallery-item {
  width: calc(100% / 2);
}
.gallery.gallery-columns-3 .gallery-item {
  width: calc(100% / 3);
}
.gallery.gallery-columns-4 .gallery-item {
  width: calc(100% / 4);
}
.gallery.gallery-columns-5 .gallery-item {
  width: calc(100% / 5);
}
.gallery.gallery-columns-6 .gallery-item {
  width: calc(100% / 6);
}
.gallery.gallery-columns-7 .gallery-item {
  width: calc(100% / 7);
}
.gallery.gallery-columns-8 .gallery-item {
  width: calc(100% / 8);
}
.gallery.gallery-columns-9 .gallery-item {
  width: calc(100% / 9);
}
.gallery .gallery-item {
  margin: 0;
  padding: 1rem;
  cursor: pointer;
}
.gallery .gallery-item .gallery-icon {
  position: relative;
}
.gallery .gallery-item .gallery-icon::before {
  content: "";
  display: block;
  padding-top: 56.25%;
}
.gallery .gallery-item .gallery-icon img {
  position: absolute;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  border: none;
}