@charset "UTF-8";
/*!
Theme Name: Dommusik Mainz
Theme URI:
Author: Jan Bätzner
Author URI:
Description:
Requires at least: 6.4
Tested up to: 6.6
Requires PHP: 7.4
Version: 1.1
Template: twentytwentyfour
Text Domain: twentytwentyfour
License: GNU General Public License v2 or later
License URI: http://www.gnu.org/licenses/gpl-2.0.html
Tags: accessibility-ready, flexible-header, custom-colors, custom-menu, custom-logo, featured-images, rtl-language-support, threaded-comments, translation-ready,
*/
/* @font-face {
    font-family: "Poppins";
    src: url("library/Poppins-Regular.woff2") format("woff2-variations");
    font-style: normal;
    font-weight: 300 700;
    font-display: swap;
} */
.angle--top-left {
  position: relative;
  overflow: hidden;
  clip-path: polygon(0 calc(0% + 7vw), 100% 0, 100% 100%, 0 100%);
}
@supports not (clip-path: polygon(0 calc(0% + 7vw), 100% 0, 100% 100%, 0 100%)) {
  .angle--top-left::before, .angle--top-left::after {
    content: "";
    position: absolute;
    left: 0;
    z-index: 10;
    display: block;
    border-style: solid;
  }
  .angle--top-left::before {
    top: 0;
    border-width: 8vw 100vw 0 0;
    border-color: #fff transparent transparent transparent;
  }
}

.angle--top-right {
  position: relative;
  overflow: hidden;
  clip-path: polygon(0 0, 100% calc(0% + 7vw), 100% 100%, 0 100%);
}
@supports not (clip-path: polygon(0 0, 100% calc(0% + 7vw), 100% 100%, 0 100%)) {
  .angle--top-right::before, .angle--top-right::after {
    content: "";
    position: absolute;
    left: 0;
    z-index: 10;
    display: block;
    border-style: solid;
  }
  .angle--top-right::before {
    top: 0;
    border-width: 8vw 0 0 100vw;
    border-color: #fff transparent transparent transparent;
  }
}

.angle--bottom-left {
  position: relative;
  overflow: hidden;
  clip-path: polygon(0 0, 100% 0, 100% 100%, 0 calc(100% - 7vw));
}
@supports not (clip-path: polygon(0 0, 100% 0, 100% 100%, 0 calc(100% - 7vw))) {
  .angle--bottom-left::before, .angle--bottom-left::after {
    content: "";
    position: absolute;
    left: 0;
    z-index: 10;
    display: block;
    border-style: solid;
  }
  .angle--bottom-left::after {
    bottom: 0;
    border-width: 0 100vw 8vw 0;
    border-color: transparent transparent #fff transparent;
  }
}

.angle--bottom-right {
  position: relative;
  overflow: hidden;
  clip-path: polygon(0 0, 100% 0, 100% calc(100% - 7vw), 0 100%);
}
@supports not (clip-path: polygon(0 0, 100% 0, 100% calc(100% - 7vw), 0 100%)) {
  .angle--bottom-right::before, .angle--bottom-right::after {
    content: "";
    position: absolute;
    left: 0;
    z-index: 10;
    display: block;
    border-style: solid;
  }
  .angle--bottom-right::after {
    bottom: 0;
    border-width: 0 0 8vw 100vw;
    border-color: transparent transparent #fff transparent;
  }
}

.angle--both-left-left {
  position: relative;
  overflow: hidden;
  clip-path: polygon(0 calc(0% + 7vw), 100% 0, 100% 100%, 0 calc(100% - 7vw));
}
@supports not (clip-path: polygon(0 calc(0% + 7vw), 100% 0, 100% 100%, 0 calc(100% - 7vw))) {
  .angle--both-left-left::before, .angle--both-left-left::after {
    content: "";
    position: absolute;
    left: 0;
    z-index: 10;
    display: block;
    border-style: solid;
  }
  .angle--both-left-left::before {
    top: 0;
    border-width: 8vw 100vw 0 0;
    border-color: #fff transparent transparent transparent;
  }
  .angle--both-left-left::after {
    bottom: 0;
    border-width: 0 100vw 8vw 0;
    border-color: transparent transparent #fff transparent;
  }
}

.angle--both-right-right {
  position: relative;
  overflow: hidden;
  clip-path: polygon(0 0, 100% calc(0% + 7vw), 100% calc(100% - 7vw), 0 100%);
}
@supports not (clip-path: polygon(0 0, 100% calc(0% + 7vw), 100% calc(100% - 7vw), 0 100%)) {
  .angle--both-right-right::before, .angle--both-right-right::after {
    content: "";
    position: absolute;
    left: 0;
    z-index: 10;
    display: block;
    border-style: solid;
  }
  .angle--both-right-right::before {
    top: 0;
    border-width: 8vw 0 0 100vw;
    border-color: #fff transparent transparent transparent;
  }
  .angle--both-right-right::after {
    bottom: 0;
    border-width: 0 0 8vw 100vw;
    border-color: transparent transparent #fff transparent;
  }
}

.angle--both-left-right {
  position: relative;
  overflow: hidden;
  clip-path: polygon(0 calc(0% + 7vw), 100% 0, 100% calc(100% - 7vw), 0 100%);
}
@supports not (clip-path: polygon(0 calc(0% + 7vw), 100% 0, 100% calc(100% - 7vw), 0 100%)) {
  .angle--both-left-right::before, .angle--both-left-right::after {
    content: "";
    position: absolute;
    left: 0;
    z-index: 10;
    display: block;
    border-style: solid;
  }
  .angle--both-left-right::before {
    top: 0;
    border-width: 8vw 100vw 0 0;
    border-color: #fff transparent transparent transparent;
  }
  .angle--both-left-right::after {
    bottom: 0;
    border-width: 0 0 8vw 100vw;
    border-color: transparent transparent #fff transparent;
  }
}

.angle--both-right-left {
  position: relative;
  overflow: hidden;
  clip-path: polygon(0 0, 100% calc(0% + 7vw), 100% 100%, 0 calc(100% - 7vw));
}
@supports not (clip-path: polygon(0 0, 100% calc(0% + 7vw), 100% 100%, 0 calc(100% - 7vw))) {
  .angle--both-right-left::before, .angle--both-right-left::after {
    content: "";
    position: absolute;
    left: 0;
    z-index: 10;
    display: block;
    border-style: solid;
  }
  .angle--both-right-left::before {
    top: 0;
    border-width: 8vw 0 0 100vw;
    border-color: #fff transparent transparent transparent;
  }
  .angle--both-right-left::after {
    bottom: 0;
    border-width: 0 100vw 8vw 0;
    border-color: transparent transparent #fff transparent;
  }
}

.angle__content {
  display: block;
  width: 100%;
  height: auto;
}

.angle--colour {
  color: #fff;
  background-color: #2196F3;
  text-align: center;
  padding: 10% 0;
}

/* @import angle-edge(5, $angle-position-y, $angle-position-x, $angle-position-bottom-x: '', $fallback: true, $fallback-color: #fff)  */
:root {
  --global-blue: rgb(0, 134, 255);
  --global-blue-link-light: rgb(131, 196, 255);
  --global-light-blue: #0086ff66;
  --global-white: rgb(246, 244, 241);
  --global-white-gradient: linear-gradient(
      90deg,
      rgba(246, 244, 241, 1) 0%,
      rgba(246, 244, 241, 1) 100%
  );
  --global-hover: red;
  --wp--style--global--content-size: 1200px;
  --wp--preset--font-family--body: Poppins;
  --gf-local-color: var(--global-white);
  --gf-local-bg-color: var(--global-white);
}
:root :where(.is-layout-flow) > * {
  margin-block-start: 0;
}

/* * {
    margin: 0;
    padding: 0;
    box-sizing: border-box;
} */
a:where(:not(.wp-element-button)) {
  color: var(--global-blue-link-light);
  outline-style: none;
}

header#site-header,
div.page-header {
  position: absolute;
  z-index: 1;
}

.has-global-padding {
  padding-right: 0;
  padding-left: 0;
}

:where(.wp-site-blocks) > * {
  margin-block-start: 0;
}

header.wp-block-template-part {
  pointer-events: none;
  position: fixed;
  width: 350px;
  height: 72px;
  left: calc(50% - 175px);
  top: 0;
  z-index: 2;
  margin-top: -6px;
}
header.wp-block-template-part .logo-site-ms {
  height: 60px;
  pointer-events: all;
}
header.wp-block-template-part .wp-block-site-logo img {
  width: 350px;
  height: 71px;
}
header.wp-block-template-part .wp-block-site-title {
  position: absolute;
  top: 5px;
  width: 300px;
  height: 50px;
  display: flex;
  justify-content: center;
  align-items: center;
  margin: 0;
}
header.wp-block-template-part .wp-block-site-title a {
  text-transform: uppercase;
  font-family: Poppins;
  font-weight: 700;
  font-size: 1em;
  color: transparent;
  text-decoration: none;
  outline-style: none;
}
header.wp-block-template-part .menu-oben {
  /* width: 150px; */
  pointer-events: all;
  justify-content: center;
}
header.wp-block-template-part .menu-oben ul {
  display: flex;
  list-style: none;
  /* width: 40px; */
  padding: 0;
}
header.wp-block-template-part .menu-oben ul .wp-block-group {
  flex-wrap: nowrap;
}
header.wp-block-template-part .menu-oben ul li:first-child {
  /* padding-right: 0.3em; */
  border-style: solid;
  border-width: 0px 1px 0px 0px;
  border-color: #f6f4f1;
}
header.wp-block-template-part .menu-oben ul li {
  padding: 0 0.3em;
}
header.wp-block-template-part .menu-oben ul li a {
  color: var(--global-white);
  text-decoration: none;
  font-size: 1.2em;
}
header.wp-block-template-part .menu-oben ul li a:hover {
  color: var(--global-blue) !important;
}
header.wp-block-template-part .menu-oben ul li.current a {
  color: var(--global-blue) !important;
}

/* footer.wp-block-template-part {
    position: fixed;
    bottom: 0;
} */
header .widget_nav_menu ul,
footer .widget_nav_menu ul {
  outline-style: none;
}
header .widget_nav_menu ul li,
footer .widget_nav_menu ul li {
  padding-right: 0;
}
header .widget_nav_menu ul li a,
footer .widget_nav_menu ul li a {
  color: var(--global-white);
  padding-left: 10px;
  padding-right: 10px;
  text-decoration: none;
  font-family: Poppins;
  font-weight: 500;
}
header .widget_nav_menu ul li a:hover,
footer .widget_nav_menu ul li a:hover {
  /* color: var(--global-blue); */
}
header .widget_nav_menu ul li:not(:last-child),
footer .widget_nav_menu ul li:not(:last-child) {
  border-style: solid;
  border-width: 0px 1px 0px 0px;
  border-color: #f6f4f1;
}
header .widget_nav_menu ul li.current-language-menu-item a, header .widget_nav_menu ul li.current-menu-item a,
footer .widget_nav_menu ul li.current-language-menu-item a,
footer .widget_nav_menu ul li.current-menu-item a {
  color: var(--global-white);
  font-weight: 600;
}

.widget_nav_menu .menu li {
  padding-right: 0;
}

header .widget_nav_menu {
  display: none;
  top: 15px;
  right: 1em;
}
header .widget_nav_menu ul li a {
  font-size: 1.5em;
}
header .logo-ms {
  display: none;
}

/* .spacerramp {
    border-style: solid;
    border-width: 0 0 30px 100vw;
    border-color: transparent var(--global-blue) var(--global-blue) transparent;
} */
footer {
  display: flex;
  flex-direction: row;
  position: fixed;
  bottom: 0;
  z-index: 2;
}
footer .logo-ms {
  /* display: none; */
}
footer .wp-block-navigation {
  display: flex;
  /* bottom: 3px;
  width: 100vw; */
  justify-content: space-between;
  flex-wrap: nowrap;
  padding: 5px 15px 5px;
  flex-grow: 0;
  gap: 0.3em;
  /* &:last-child {
      display: none;
  } */
}
footer .wp-block-navigation ul {
  align-self: center;
  flex-wrap: nowrap;
}
footer .wp-block-navigation ul li a {
  font-size: 0.6em;
  line-height: 1em;
}
footer .wp-block-navigation ul li a:hover {
  color: black;
}
footer .wp-block-navigation .wp-block-navigation-item__label {
  color: var(--global-blue);
}
footer .wp-block-navigation .wp-block-navigation-item__label:hover {
  color: var(--global-light-blue) !important;
}
footer .wp-block-navigation > div {
  margin: 0 auto;
}
footer .zur-dommusik {
  position: fixed;
  left: 0;
  bottom: 50px;
  width: 44px;
}
footer .zur-dommusik a {
  position: fixed;
  width: 44px;
  height: 200px;
}
footer .footer-bar {
  height: 80px;
  align-items: end;
  width: 100vw;
  position: relative;
  overflow: hidden;
  clip-path: polygon(0 calc(0% + 11vw), 100% 0, 100% 100%, 0 100%);
  background-color: var(--global-white);
  flex-direction: row;
}
@supports not (clip-path: polygon(0 calc(0% + 11vw), 100% 0, 100% 100%, 0 100%)) {
  footer .footer-bar::before, footer .footer-bar::after {
    content: "";
    position: absolute;
    left: 0;
    z-index: 10;
    display: block;
    border-style: solid;
  }
  footer .footer-bar::before {
    top: 0;
    border-width: 12vw 100vw 0 0;
    border-color: #fff transparent transparent transparent;
  }
}
footer .footer-bar > figure {
  padding: 0 5px 5px 0;
  /* display: none; // on desktop */
}
footer .footer-aktuelles {
  margin-bottom: 5px;
}
footer .footer-aktuelles a {
  position: fixed;
  width: 132px;
  height: 30px;
}
footer .footer-aktuelles img {
  object-fit: contain !important;
}

.dommusikbox p {
  margin: 0;
}
.dommusikbox p a {
  color: var(--global-white);
}
.dommusikbox .mehrinfos svg {
  height: 39px !important;
}

.dommusikbox:hover {
  cursor: pointer;
  border-color: var(--global-blue) !important;
  box-shadow: 0px 0px 0px 2px var(--global-blue) !important;
}
.dommusikbox:hover .elementor-element.elementor-widget:not(.elementor-widget-icon):not(.elementor-widget-text-editor) .elementor-widget-container {
  background: var(--global-blue);
}
.dommusikbox:hover .elementor-element.elementor-widget:not(.elementor-widget-icon):not(.elementor-widget-text-editor) .elementor-widget-container h2 {
  color: var(--global-white);
}
.dommusikbox:hover svg path {
  fill: var(--global-white);
}
.dommusikbox:hover p a {
  color: var(--global-blue);
}

.down-arrow {
  position: absolute;
  top: -80px;
  left: -14px;
  /* margin: 0 auto; */
  margin-right: 60%;
  width: 24px;
  height: 24px;
  /* margin-left: -12px; */
  border-left: 3px solid #fff;
  border-bottom: 3px solid #fff;
  -webkit-transform: rotate(-45deg);
  transform: rotate(-45deg);
  box-sizing: border-box;
  animation: jumpInfinite 1.5s infinite;
}

.content-area {
  outline-style: none;
  justify-content: start;
  /* will-change: transform; */
  -webkit-backdrop-filter: blur(8px);
}
.content-area .down-arrow {
  /* position: relative; */
  top: initial;
  bottom: 0px;
  /* display: none; */
  animation: none;
}
.content-area .down-arrow.scrolling {
  opacity: 0;
  transition: opacity 0.2s;
  transition-delay: 200ms;
}

@keyframes jumpInfinite {
  0% {
    margin-top: 0;
  }
  50% {
    margin-top: 20px;
  }
  100% {
    margin-top: 0;
  }
}
body {
  background-color: black;
  transition: background-image 0.3s ease-in-out 0.1s;
  background-position: center;
  touch-action: pan-x pan-y;
  outline-style: none;
}

#background,
#background0 {
  position: fixed;
  width: 100vw;
  top: 0;
  background-size: cover;
  background-position: center top 50%;
  height: 100%;
  height: 100lvh;
  min-height: -webkit-fill-available;
}

.wp-block-navigation__responsive-container-open {
  display: none;
}

.content-area {
  backdrop-filter: blur(8px);
  max-height: calc(100vh - 250px);
}
.content-area .icon-content {
  height: 54px;
}
.content-area .icon-content svg {
  /* height: 54px !important; */
  height: initial !important;
}
.content-area .content-area-header-container {
  padding: 0;
  /* max-height: 54px; */
  margin-top: 100px;
  word-wrap: break-word;
}
.content-area .content-area-header-container .elementor-widget-heading {
  /* left: 15px;
  top: 5px; */
}
.content-area .content-area-header-container h1 {
  word-wrap: break-word;
}
.content-area .content-area-text-container {
  max-height: calc(100vh - 300px);
  overflow-y: scroll;
  outline-style: none;
  scrollbar-width: none;
}
.content-area .content-area-text-container::-webkit-scrollbar {
  width: 0 !important;
}

.gform-theme--framework {
  --gform-theme-local-color: var(--global-white);
}

#gform_wrapper_2[data-form-index="0"].gform-theme,
[data-parent-form="2_0"] {
  --gf-color-primary: var(--global-white);
}

.gform_wrapper h1,
.gform_wrapper h2,
.gform_wrapper h3,
.gform_wrapper h4,
.gform_wrapper label,
.gform_wrapper legend,
.gform_wrapper textarea,
.gform_wrapper .gfield,
.gform_wrapper .gfield_label,
.gform_wrapper .gform_confirmation_message,
.gform_wrapper .gfield_description,
.gform_wrapper .gform_description {
  color: var(--global-white) !important;
  font-family: Poppins;
  font-weight: 500;
}

.gfield_required,
.gfield_validation_message {
  color: rgb(255, 110, 78) !important;
}

figcaption.widget-image-caption.wp-caption-text {
  padding: 10px;
  font-weight: 500;
}

@media (min-width: 768px) {
  header .widget_nav_menu,
  footer .widget_nav_menu {
    padding: 0;
    position: fixed;
  }
  header.wp-block-template-part {
    position: fixed;
    width: 768px;
    left: calc(50% - 384px);
    top: 0px;
    margin-top: -2px;
  }
  header.wp-block-template-part .wp-block-site-logo img {
    width: 500px;
    height: 100px;
    /* margin-top: -2px; */
  }
  header.wp-block-template-part .wp-block-site-title {
    /* width: 600px; */
    height: 0px;
    top: 10px;
  }
  header.wp-block-template-part .wp-block-site-title a {
    font-size: 0em;
    height: 134px;
  }
  header.wp-block-template-part .menu-oben {
    width: 150px;
  }
  header.wp-block-template-part .logo-site-ms {
    width: 600px;
    height: 100px;
  }
  header .widget_nav_menu {
    display: initial;
  }
  header .logo-ms {
    display: flex;
    margin-left: 5px;
  }
  .content-area > div {
    width: 720px;
  }
  .content-area {
    /* max-height: calc(100vh - 150px); */
    /* height: calc(100vh - 250px); */
    /* padding-top: 130px; */
  }
  .content-area .content-area-header-container {
    margin-top: 120px;
  }
  .wp-block-post-content {
    /* max-height: 100vh;
    overflow: hidden; */
  }
  footer {
    /* position: relative; */
    bottom: 0;
    width: 100%;
    background-color: transparent;
    flex-direction: row-reverse;
    z-index: 1;
  }
  footer .logo-ms {
    display: none;
  }
  footer .widget_nav_menu {
    padding: 0;
    justify-content: end;
    bottom: 0;
  }
  footer .widget_nav_menu .menu-unten_ls-container {
    display: none;
  }
  footer .wp-block-navigation .wp-block-navigation-item__label {
    color: var(--global-white);
  }
  footer .wp-block-navigation .wp-block-navigation-item__label:hover {
    color: var(--global-blue) !important;
  }
  footer .wp-block-navigation ul li a {
    font-size: 0.8em;
  }
  footer .wp-block-navigation ul li:not(:last-child) {
    border-style: solid;
    border-width: 0px 1px 0px 0px;
    border-color: #f6f4f1;
    padding: 0 0.3em;
  }
  footer .zur-dommusik {
    width: 54px;
  }
  footer .zur-dommusik a {
    width: 54px;
    height: 250px;
  }
  footer .footer-bar {
    height: unset;
    position: relative;
    overflow: hidden;
    clip-path: polygon(0 calc(0% + 0vw), 100% 0, 100% 100%, 0 100%);
    background-color: transparent;
    flex-direction: row-reverse;
  }
  @supports not (clip-path: polygon(0 calc(0% + 0vw), 100% 0, 100% 100%, 0 100%)) {
    footer .footer-bar::before, footer .footer-bar::after {
      content: "";
      position: absolute;
      left: 0;
      z-index: 10;
      display: block;
      border-style: solid;
    }
    footer .footer-bar::before {
      top: 0;
      border-width: 1vw 100vw 0 0;
      border-color: #fff transparent transparent transparent;
    }
  }
  footer .footer-bar > figure {
    display: none;
  }
  .spacerramp {
    display: none;
  }
}
@media (min-width: 1025px) {
  header.wp-block-template-part {
    position: fixed;
    width: 1024px;
    left: calc(50% - 512px);
    margin-top: -12px;
  }
  header.wp-block-template-part .wp-block-site-logo img {
    width: 600px;
    height: 134px;
  }
  header.wp-block-template-part .logo-site-ms {
    height: auto;
  }
  .content-area .content-area-text-container {
    max-height: calc(100vh - 150px);
    width: 700px;
  }
  .content-area .content-area-header-container {
    margin-top: 0;
  }
}

/*# sourceMappingURL=style.css.map */
