/* montserrat-regular - latin */
@font-face {
  font-family: 'Montserrat';
  font-style: normal;
  font-weight: 400;
  src: url('../fonts/montserrat-v14-latin-regular.eot'); /* IE9 Compat Modes */
  src: local('Montserrat Regular'), local('Montserrat-Regular'),
       url('../fonts/montserrat-v14-latin-regular.eot?#iefix') format('embedded-opentype'), /* IE6-IE8 */
       url('../fonts/montserrat-v14-latin-regular.woff2') format('woff2'), /* Super Modern Browsers */
       url('../fonts/montserrat-v14-latin-regular.woff') format('woff'), /* Modern Browsers */
       url('../fonts/montserrat-v14-latin-regular.ttf') format('truetype'), /* Safari, Android, iOS */
       url('../fonts/montserrat-v14-latin-regular.svg#Montserrat') format('svg'); /* Legacy iOS */
}
/* montserrat-500 - latin */
@font-face {
  font-family: 'Montserrat';
  font-style: normal;
  font-weight: 500;
  src: url('../fonts/montserrat-v14-latin-500.eot'); /* IE9 Compat Modes */
  src: local('Montserrat Medium'), local('Montserrat-Medium'),
       url('../fonts/montserrat-v14-latin-500.eot?#iefix') format('embedded-opentype'), /* IE6-IE8 */
       url('../fonts/montserrat-v14-latin-500.woff2') format('woff2'), /* Super Modern Browsers */
       url('../fonts/montserrat-v14-latin-500.woff') format('woff'), /* Modern Browsers */
       url('../fonts/montserrat-v14-latin-500.ttf') format('truetype'), /* Safari, Android, iOS */
       url('../fonts/montserrat-v14-latin-500.svg#Montserrat') format('svg'); /* Legacy iOS */
}
/* montserrat-600 - latin */
@font-face {
  font-family: 'Montserrat';
  font-style: normal;
  font-weight: 600;
  src: url('../fonts/montserrat-v14-latin-600.eot'); /* IE9 Compat Modes */
  src: local('Montserrat SemiBold'), local('Montserrat-SemiBold'),
       url('../fonts/montserrat-v14-latin-600.eot?#iefix') format('embedded-opentype'), /* IE6-IE8 */
       url('../fonts/montserrat-v14-latin-600.woff2') format('woff2'), /* Super Modern Browsers */
       url('../fonts/montserrat-v14-latin-600.woff') format('woff'), /* Modern Browsers */
       url('../fonts/montserrat-v14-latin-600.ttf') format('truetype'), /* Safari, Android, iOS */
       url('../fonts/montserrat-v14-latin-600.svg#Montserrat') format('svg'); /* Legacy iOS */
}
/* montserrat-700 - latin */
@font-face {
  font-family: 'Montserrat';
  font-style: normal;
  font-weight: 700;
  src: url('../fonts/montserrat-v14-latin-700.eot'); /* IE9 Compat Modes */
  src: local('Montserrat Bold'), local('Montserrat-Bold'),
       url('../fonts/montserrat-v14-latin-700.eot?#iefix') format('embedded-opentype'), /* IE6-IE8 */
       url('../fonts/montserrat-v14-latin-700.woff2') format('woff2'), /* Super Modern Browsers */
       url('../fonts/montserrat-v14-latin-700.woff') format('woff'), /* Modern Browsers */
       url('../fonts/montserrat-v14-latin-700.ttf') format('truetype'), /* Safari, Android, iOS */
       url('../fonts/montserrat-v14-latin-700.svg#Montserrat') format('svg'); /* Legacy iOS */
}
/* montserrat-800 - latin */
@font-face {
  font-family: 'Montserrat';
  font-style: normal;
  font-weight: 800;
  src: url('../fonts/montserrat-v14-latin-800.eot'); /* IE9 Compat Modes */
  src: local('Montserrat ExtraBold'), local('Montserrat-ExtraBold'),
       url('../fonts/montserrat-v14-latin-800.eot?#iefix') format('embedded-opentype'), /* IE6-IE8 */
       url('../fonts/montserrat-v14-latin-800.woff2') format('woff2'), /* Super Modern Browsers */
       url('../fonts/montserrat-v14-latin-800.woff') format('woff'), /* Modern Browsers */
       url('../fonts/montserrat-v14-latin-800.ttf') format('truetype'), /* Safari, Android, iOS */
       url('../fonts/montserrat-v14-latin-800.svg#Montserrat') format('svg'); /* Legacy iOS */
}


* {
  margin: 0;
  padding: 0;
}


/* --- variables --- */

:root {
  --padding: 1.5rem;
  --color-black: #353535;
  --color-white: #f8f4f0;
  --color-grey: #a89797;
  --color-blue: #186083; /* #336E9E; */
  --color-yellow: #E7BE8E;
  --color-red: #931732;
  --color-bright-red: #dc121e;
  --color-light: #efefef;
  --color-green: #3fa535;
  --color-orange: #FAB759;
  --color-dark-purple: #962F7C;
  --color-text: var(--color-black);
  --color-text-grey: var(--color-grey);
  --color-links: var(--color-red);
  --color-headlines: var(--color-blue);
  --color-background: #F8F5F0;
  --color-background-one: #FBF6F0;
  --color-code-light-grey: #cacbd1;
  --color-code-comment: #a9aaad;
  --color-code-white: #c5c9c6;
  --color-code-red: #d16464;
  --color-code-orange: #de935f;
  --color-code-yellow: #f0c674;
  --color-code-green: #a7bd68;
  --color-code-aqua: #8abeb7;
  --color-code-blue: #7e9abf;
  --color-code-purple: #b294bb;
  --font-family-sans: "Montserrat", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol";
  --font-family-mono: "Montserrat", Consolas, "Liberation Mono", Menlo, Courier, monospace;
  --font-family-serif: Georgia, serif;
}

.bg-light {
  background-color: var(--color-light);
}

.color-grey {
  color: var(--color-text-grey);
}


/* --- html & body --- */

html {
  color: var(--color-text);
  background: var(--color-background);
  font-family: var(--font-family-sans);
  font-size: 16px;
}

html {
  scroll-behavior: smooth;
  scroll-padding-top: 9rem;
}

@media screen and (prefers-reduced-motion: reduce) {
  html {
    scroll-behavior: auto;
  }
}


/* --- headings --- */

h1,
h2,
h3,
h4,
h5,
h6 {
  font-family: var(--font-family-sans) !important;
  font-size: inherit;
  font-weight: inherit;
  line-height: inherit;
}

.text h1,
.h1,
.intro {
  font-size: 2.8rem;
  font-weight: 500;
  margin-bottom: 1rem;
  line-height: 1.25;
}

h1 {
  color: var(--color-red);
  margin-bottom: 2rem;
  font-size: 2.8rem;
  line-height: 1.1;
  font-weight: 700;
}

#hero h1.claim {
  color: var(--color-links);
}

.subpage .h1 h1 {
  margin-top: 4.4rem;
  margin-bottom: 4rem;
  font-size: 1rem;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 1px;
}

.subpage.page-was-wir-machen .h1 h1 {
  color: white;
  font-weight: 800;
}

.subpage.template-note .h1 h1 {
  margin-top: 2.4rem;
  margin-bottom: 2rem;
  font-size: 2.4rem;
  font-weight: 600;
  text-transform: none;
  letter-spacing: 1px;
}

@media screen and (max-width: 1199px) {
  h1 {
    font-size: 2rem;
  }
}

@media screen and (max-width: 959px) {
  .template-note #thecontent > .grid{
    display: flex;
    flex-direction: column-reverse;
  }
}

.text h2,
.h2 {
  font-weight: 600;
  margin-top: 2.4rem !important;
  margin-bottom: 2.2rem !important;
  color: var(--color-red);
  font-family: var(--font-family-sans);
  font-size: 1.8rem;
  line-height: 1.24;
}

h2#introheading {
  font-size: 1.4rem;
  line-height: 1.4;
}

h2.aktuelles-heading {
  font-size: 1.2rem;
  text-transform: uppercase;
  margin-top: 1.8rem !important;
  margin-bottom: 2.2rem;
  letter-spacing: 3px;
  font-weight: 700;
  line-height: 1.4;
  color: var(--color-blue);
  text-align: center;
}

@media screen and (max-width: 959px) {
  h2#introheading {
    margin-top: 1rem;
  }
}

@media screen and (max-width: 700px) {
  .text h2,
  .h2 {
    font-weight: 600;
    margin-bottom: 1.25rem;
    color: var(--color-headlines);
    font-family: var(--font-family-sans);
    font-size: 1.6rem;
    line-height: 1.24;
  }
}

.text h3,
.h3,
.text .block-type-heading h3 {
  font-size: 1.2rem;
  text-transform: uppercase;
  margin-top: 1.8rem !important;
  margin-bottom: 2.2rem;
  letter-spacing: 3px;
  font-weight: 700;
  line-height: 1.4;
  color: var(--color-blue);
}

.normalpage .text h3 {
  margin-top: 1.6rem;
  margin-bottom: 1.2rem;
  font-weight: 800;
}

.page-wie-du-mitmachen-kannst .text h3 {
  letter-spacing: 1px;
}

.main .anbieten-row .text h3 {
  font-size: 1rem;
  margin-top: 0 !important;
  margin-bottom: 1.2rem;
  font-weight: 700;
  line-height: 1.4;
  text-transform: none;
  letter-spacing: 0;
}

.text h4,
.h4,
.text .block-type-heading h4 {
  font-size: 1rem;
  /* margin-top: 1.8rem !important; */
  margin-bottom: 1.2rem;
  font-weight: 700;
  line-height: 1.4;
}

.normalpage .text h4 {
  margin-top: 1.6rem;
  margin-bottom: 1.2rem;
  font-weight: 800;
}

@media screen and (max-width: 959px) {
  .section .text h2 {
    margin-top: 3.2rem;
    margin-bottom: 2rem;
  }

}

@media screen and (max-width: 420px) {
  #hero h1.claim {
    margin-bottom: 1rem;
  }
}

h4 {
  font-weight: 800;
  margin-bottom: 1rem;
}

/* --- all things text --- */

.text,
p {
  font-family: var(--font-family-sans);
  line-height: 1.5em;
}

.text p {
  margin-bottom: 1rem;
}

.text :first-child {
  margin-top: 0;
}

.text :last-child {
  margin-bottom: 0;
}

.page-angstpatienten .text :last-child,
.page-kinderzahnarzt .text :last-child {
  margin-bottom: 1.4rem;
}

.text .codeblock {
  display: grid;
}

.text code {
  font-family: var(--font-family-mono);
  font-size: 1em;
  background: var(--color-light);
  padding: 0 .5rem;
  display: inline-block;
  color: var(--color-black);
}

.text pre {
  margin: 3rem 0;
  background: var(--color-black);
  color: var(--color-white);
  padding: 1.5rem;
  overflow-x: scroll;
  overflow-y: hidden;
  line-height: 1.5rem;
}

.text pre code {
  padding: 0;
  background: none;
  color: inherit;
}

.text hr {
  margin: 2rem 0;
  padding: 1.4rem 0;
  background: none;
}

.text dt {
  font-weight: 600;
}

.text blockquote {
  font-size: 1.25rem;
  line-height: 1.325em;
  border-left: 2px solid var(--color-black);
  padding-left: 1rem;
  margin: 3rem 0;
  max-width: 25rem;
}

.text blockquote footer {
  font-size: .875rem;
  font-style: italic;
}

strong,
b {
  font-weight: 600;
  color: var(--color-red);
}

em {
  font-style: normal;
}

small {
  font-size: inherit;
  color: var(--color-text-grey);
}

@media screen and (max-width: 959px) {}

@media screen and (max-width: 420px) {}


/* --- lists --- */

li {
  list-style: none;
}

.text ul,
.text ol {
  margin-bottom: 1rem;
}

.text ul,
.text ol {
  margin-left: 1rem;
}

.text ul p,
.text ol p {
  margin-bottom: 0;
}

.text ul>li {
  list-style: disc;
}

.text ul>li>ul>li {
  list-style: circle;
}

.text ol>li {
  list-style: decimal;
}

.text ul ol,
.text ul ul,
.text ol ul,
.text ol ol {
  margin-bottom: 0;
}

.text figure ul {
  line-height: 0;
  display: grid;
  gap: 1.5rem;
  margin: 0;
  grid-template-columns: repeat(auto-fit, minmax(20rem, 1fr)); /* minmax(10rem, 1fr)); */
}

.text figure ul li {
  list-style: none;
}

.block-type-list li {
  margin-bottom: .4rem;
}

.block-type-list li strong {
  display: inline;
  margin-bottom: 0 !important;
}

/* --- links --- */

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

.text a {
  text-decoration: underline;
  text-decoration-thickness: 2px;
  text-decoration-color: var(--color-links);
  text-underline-offset: 4px;
}

.main .column.text a {
  overflow-wrap: break-word;
  word-wrap: break-word;

  -ms-word-break: break-all;
  /* This is the dangerous one in WebKit, as it breaks things wherever */
  word-break: break-all;
  /* Instead use this non-standard one: */
  word-break: break-word;

  /* Adds a hyphen where the word breaks, if supported (No Blink) */
  -ms-hyphens: auto;
  -moz-hyphens: auto;
  -webkit-hyphens: auto;
  hyphens: auto;
}

.text a:hover,
.text a:hover h2 {
  color: var(--color-links);
  transition: color .2s;
}

a.linkmitpfeil {
  position: relative;
  display: inline-block;
  text-decoration: none;
  border: none;
  margin-bottom: 1rem;
}

a.linkmitpfeil:after {
  background-image: url('../images/linkmitpfeil.svg');
  background-size: 2rem 1.4rem;
  background-repeat: no-repeat;
  display: inline-block;
  width: 2rem;
  height: 1.4rem;
  content: "";
  position: absolute;
  bottom: .4rem;
  right: -3rem;
  z-index: 70;
}

@media screen and (max-width: 959px) {}

@media screen and (max-width: 420px) {
  a.linkmitpfeil:after {
    right: 0;
  }
}


/* --- buttons --- */

button {
  font: inherit;
  background: none;
  border: 0;
  color: currentColor;
  cursor: pointer;
}


/* --- images, video, maps & iframes --- */

img {
  width: 100%;
  height: auto;
  vertical-align: bottom;
}

.main #thecontent .column .block-type-image-responsive picture.anbieten-icon:after {
  border: none;
}

.block-type-image-responsive picture.anbieten-icon img {
  max-width: 4rem;
  margin-bottom: 1rem;
}

.text .block-type-image img {
  border-radius: 0;
  margin-bottom: .6rem;
  margin-top: 1.8rem;
}

.video,
.img {
  position: relative;
  display: block;
  --w: 1;
  --h: 1;
  padding-bottom: calc(100% / var(--w) * var(--h));
  background: var(--color-black);
}

.img img,
.video iframe {
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  border: 0;
}

.img[data-contain] img {
  object-fit: contain;
}

.img-caption,
.video-caption {
  padding-top: 1.5rem;
  padding-bottom: .75rem;
  padding-left: 1rem;
  padding-right: 1rem;
  color: #8a6161;
  line-height: 1.5em;
  font-style: normal;
  font-size: .8rem;
  font-weight: 600;
}

.column img {
  max-height: 100%;
}

.text figure a {
  border: none;
}

.text figure {
  margin: 1.4rem 0 .4rem;
}

.map {
  --w: 2;
  --h: 1;
  padding-bottom: calc(100% / var(--w) * var(--h));
  position: relative;
  overflow: hidden;
  background: var(--color-black);
}

.map iframe {
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  width: 100%;
  height: 100%;
  border: 0;
}

#main .consent-gate {
  box-sizing: border-box;
  margin-top: 1.4rem;
  margin-bottom: 1.4rem;
}

@media screen and (max-width: 959px) {
  #thecontent .text .block-type-image,
  #thecontent .text .block-type-image-responsive {
    margin-bottom: .6rem;
    margin-top: 1.8rem;
  }
  .img-caption,
  .video-caption {
    padding-top: 0.8rem;
    padding-left: 0;
    line-height: 1.5em;
  }
}

@media screen and (max-width: 420px) {
  .consent-gate .consent-gate-vendor-name {
    font-size: 1.2rem;
  }
}


/* --- helpers --- */

.visually-hidden {
  border: 0;
  padding: 0;
  margin: 0;
  position: absolute !important;
  height: 1px;
  width: 1px;
  overflow: hidden;
  clip: rect(1px 1px 1px 1px); /* IE6, IE7 - a 0 height clip, off to the bottom right of the visible 1px box */
  clip: rect(1px, 1px, 1px, 1px); /*maybe deprecated but we need to support legacy browsers */
  clip-path: inset(50%); /*modern browsers, clip-path works inwards from each corner*/
  white-space: nowrap; /* added line to stop words getting smushed together (as they go onto seperate lines and some screen readers do not understand line feeds as a space */
}

hr {
  border: 0;
  background: currentColor;
  height: 2px;
  width: 1.5rem;
  margin-top: 1rem;
}

.align-center {
  text-align: center;
}

.centering-wrapper,
.centering-wrapper a {
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  text-decoration: none;
  border: none;
}

.intro {
  max-width: 40rem;
}

.intro *:not(:last-child) {
  margin-bottom: 1em;
}

.cta {
  background: var(--color-black);
  color: var(--color-white);
  display: inline-flex;
  justify-content: center;
  padding: .75rem 1.5rem;
  border: 4px solid var(--color-white);
  outline: 2px solid var(--color-black);
}

.box {
  background: var(--color-light);
  padding: 1.5rem;
  border: 4px solid var(--color-white);
  outline: 2px solid var(--color-light);
}

.margin-s {
  margin-bottom: .75rem;
}

.margin-m {
  margin-bottom: 1.5rem;
}

.margin-l {
  margin-bottom: 3rem;
}

.margin-xl {
  margin-bottom: 4.5rem;
}

.margin-xxl {
  margin-bottom: 6rem;
}

@media screen and (max-width: 959px) {
  .nobottompadding {
    padding-bottom: 0 !important;
  }

  .notoppadding {
    padding-top: 0 !important;
  }
}

.blocks {
  height: 100%;
}

/* --- the grid --- */

.grid {
  --columns: 12;
  --gutter: 1.4rem;
  display: grid;
  grid-gap: var(--gutter);
  grid-template-columns: 1fr;
  width: 100%;
}

@media screen and (max-width: 959px) {
  .grid {
    --columns: 12;
    --gutter: 3rem;
    display: grid;
    grid-gap: 0;
    grid-template-columns: 1fr;
    width: 100%;
  }
}

.template-blocks .grid.section-blocks,
.template-about .grid.section-blocks {
  width: auto;
  margin-top: 2.4rem;
}

.bereichlogos .logogrid {
  --columns: 7;
  --gutter: 1px !important;
  display: grid;
  grid-gap: var(--gutter);
  grid-template-columns: minmax(2.5rem, 2.5rem) 1fr 1fr 1fr 1fr minmax(2.5rem, 2.5rem);
  width: 100%;
}

.bereichlogos .logogrid-mobile {
  display: none;
}

.grid>.column {
  margin-bottom: 0;
}

.grid>.column.nomargin {
  margin-bottom: 0;
}

.autogrid {
  --gutter: 3rem;
  --min: 10rem;
  display: grid;
  grid-gap: var(--gutter);
  grid-template-columns: repeat(auto-fit, minmax(var(--min), 1fr));
  grid-auto-flow: dense;
}

@media screen and (min-width: 60rem) {
  body {
    --padding: 3rem;
  }
  .grid {
    grid-template-columns: repeat(12, 1fr);
  }
  .grid>.column {
    grid-column: span var(--columns);
  }
}

.section {
  margin: 1rem 0;
  border-radius: 4px;
  box-sizing: border-box;
}

.section.nomargin {
  margin: 0;
}

.section-headerbild {
  background-repeat: no-repeat;
  background-position: center center;
  position: relative;
  /* filter: brightness(.84); */
}

img.background-headerbild {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  object-fit: cover;
  height: 10rem;
  z-index: -1;
  filter: brightness(.84);
}

.section-logo  {
  padding-left: 0;
}

.sticky .section-logo  {
  margin: 1rem 0 0;
}

/* .normalpage .section {
  --gutter: 6rem !important;
} */

/* section {
  padding-left: 2.4rem;
  padding-right: 2.4rem;
} */

@media screen and (max-width: 959px) {
  .section {
    margin: 1rem 0;
    border-radius: 4px;
  }
}

@media screen and (max-width: 700px) {
  section {
    padding-left: 0;
    padding-right: 0;
  }
  .section.nomargin {
    /* padding: 1rem 1rem 0 !important; */
    box-sizing: border-box;
  }
}

@media screen and (max-width: 650px) {
  .bereichlogos .logogrid-desktop {
    display: none;
  }
  .bereichlogos .logogrid-mobile {
    --columns: 4;
    --gutter: 1px !important;
    display: grid;
    grid-gap: var(--gutter);
    grid-template-columns: minmax(2rem, 2rem) 1fr 1fr minmax(2rem, 2rem);
    width: 100%;
  }
}

/* --- the header --- */

#header {
  position: fixed;
  top: 0;
  height: 7rem;
  background-color: transparent;
  z-index: 999;
  transition: height .3s;
  padding-left: 5rem;
  padding-right: 4rem;
  /* box-shadow: 0 3px 10px rgba(0, 0, 0, .16); */
  box-sizing: border-box;
}

.page-home #header {
  height: 9rem;
  box-shadow: none;
  z-index: 9999;
  padding-left: 5rem;
  padding-right: 4rem;
  box-sizing: border-box;
}

.page-home #header.sticky {
  height: 6rem;
  /* box-shadow: 0 3px 6px rgba(0, 0, 0, .16); */
}

.column-logo {
  z-index: 0;
  position: relative;
  text-align: left;
}

.column-mobile {
  display: flex;
  z-index: 99;
  position: relative;
}

#thelogo {
  height: 100%;
}

.logo {
  font-family: var(--font-family-sans);
  font-size: 1.8rem;
  margin-top: .6rem;
  font-weight: 600;
  cursor: pointer;
  color: var(--color-black);
  z-index: 0;
}

.page-home .logo img,
.otherpage .logo img {
  width: 16rem;
  max-width: 16rem;
  transition: all .3s;
  margin-top: .4rem;
}

.sticky .logo img {
  width: 40%;
  max-width: 40%;
}

.page-home #header.sticky .logo,
.otherpage #header.sticky .logo {
  margin-top: 0;
  height: 100%;
  transition: all .3s;
  font-size: 1rem;
}

.page-home #header.sticky .logo img,
.otherpage #header.sticky .logo img {
  width: auto;
  max-width: 12rem;
  margin-top: 0;
  height: 74%;
  transition: all .3s;
}

.page-home #header.sticky .logo img,
.otherpage #header.sticky .logo img {
  max-width: 10rem;
  margin-top: .2rem;
  transition: all .3s;
}

.otherpage .section-menu {
  display: flex;
  justify-content: ;
  align-items: center;
  margin: 0;
}

.otherpage .column-menu {
  width: 100%;
}

#themenu {
  margin-top: 0;
  display: flex;
  align-items: center;
  justify-content: center;
}

.menu {
  display: flex;
  flex-direction: row;
  align-items: center;
  justify-content: space-between;
  margin-top: 2.8rem;
  padding: .2rem 1rem .2rem .7rem;
  background-color: var(--color-white);
  border-radius: 3px;
  transition: margin-top .3s;
}

.otherpage .menu {
  margin-top: 0rem;
}

.template-note .note-coverimage {
  display: block;
  margin-bottom: 2.4rem;
}

.template-note #header.thesubheader {
  background-color: var(--color-background) !important;
}

#header.sticky.thesubheader,
#header.sticky {
  background-color: var(--color-white);
  box-shadow: 0 3px 6px rgba(0, 0, 0, .16);
  height: 6rem;
}

#header.sticky .menu {
  margin-top: 1rem;
  /* box-shadow: 0 3px 6px rgba(0, 0, 0, .16); */
}

.otherpage #header.sticky .menu {
  margin-top: 0.2rem;
}

#header.thesubheader .menu {
  background-color: transparent;
  padding-right: 0;
  transition: padding .3s;
}

/* .template-note #header.thesubheader .menu {
  background-color: var(--color-white);
  padding: .2rem 1rem .2rem .7rem;
  transition: padding .3s;
}

.template-note #header.sticky.thesubheader {
  background-color: transparent;
  box-shadow: none;
} */

#header.sticky.thesubheader .menu {
  box-shadow: none;
}

/* .template-note #header.sticky.thesubheader .menu {
  box-shadow: 0 3px 6px rgba(0, 0, 0, .16);
} */

.menu a,
.languages ul li {
  font-size: .8rem;
  font-family: var(--font-family-mono);
  padding: .4rem;
  padding-top: .55rem;
  padding-right: .4rem;
  display: block;
  text-transform: uppercase;
  font-weight: 600;
  letter-spacing: 1px;
  color: #000;
}

.menu a:last-child {
  padding-right: .2rem;
}

.menu a[aria-current] {
  color: var(--color-links);
  text-decoration: none;
  text-decoration-color: var(--color-links);
  text-decoration-thickness: 2px;
  text-underline-offset: 2px;
}

.menu a:hover,
.languages ul li a:hover {
  color: var(--color-links);
  text-decoration: underline;
  text-decoration-color: var(--color-links);
  text-decoration-thickness: 2px;
  text-underline-offset: 2px;
  cursor: pointer;
}

.menu a:last-child {
  padding-right: 0;
}

.languages ul {
  display: flex;
  justify-content: flex-end;
  margin-bottom: 1rem;
}

.languages ul li {
  color: #C5E0FF;
}

.languages ul li:first-child::after {
  content: "/";
}

.social {
  display: flex;
  justify-content: flex-end;
  padding-top: .2rem;
  margin-top: 1rem;
  gap: .6rem;
  transition: all .3s;
}

.sticky .social {
  margin-top: 0;
  padding-right: 1rem;
}

.footer .social {
  padding-right: 0;
}

.social a {
  padding: 0;
}

.mobilenav .social-item {
  display: inline-block;
  margin-top: 1.4rem;
}

.mobilelogo-wrapper {
  display: flex;
  justify-content: flex-end;
  margin-bottom: 2rem;
}

.mobilenav .mobilelogo {
  width: 100%;
  display: flex;
  justify-content: flex-end;
}

.mobilenav .mobilelogo img {
  max-width: 12rem;
  margin-bottom: 2rem;
}

@media screen and (max-width: 1400px) {
  .page-home #header,
  .otherpage #header {
    height: 9rem;
    padding-left: 4rem;
    padding-right: 3rem;
  }
}

@media screen and (max-width: 1330px) {
  .section-logo {
    --columns: 3 !important;
  }
  .section-menu {
    --columns: 9 !important;
    margin-left: 1rem;
  }
}

@media screen and (max-width: 1240px) {
  .page-home #header .logo img,
  .otherpage #header .logo img {
    max-width: 12rem;
    margin-top: 1.3rem;
    height: 74%;
  }
  .section-menu {
    margin-left: 0;
  }
}

@media screen and (max-width: 1200px) {
  .page-home #header,
  .otherpage #header {
    height: 5rem;
    box-shadow: none;
  }
  .page-home #header .logo img,
  .otherpage #header .logo img {
    max-width: 12rem;
    margin-top: .4rem;
    height: 74%;
  }
  #themenu {
    margin-top: 0;
  }
  nav.menu,
  .social {
    display: none;
  }
  .languages ul {
    justify-content: flex-start;
    margin-bottom: 0;
  }
  .languages ul li:first-child {
    padding-left: 0;
  }
}

@media screen and (max-width: 700px) {
  .page-home #header,
  .otherpage #header {
    padding-left: 2.4rem;
    padding-right: 2.4rem;
  }
  #thelogo {
    display: flex;
    align-items: center;
  }
  .page-home .logo,
  .otherpage .logo {
    padding-top: 2rem;
  }
  .logo {
    font-family: var(--font-family-sans);
    font-size: 2rem;
    padding: 0;
    margin-top: 0;
    height: 5rem;
    transition: all .3s;
  }
  #header.sticky .logo {
    margin-top: 0;
    height: 2rem;
    padding: 0;
  }
  .page-home .logo img,
  .otherpage .logo img {
    width: auto;
    max-width: none;
    transition: all .3s;
    margin-top: 0;
  }
  .page-home #header.sticky .logo img,
  .otherpage #header.sticky .logo img {
    width: auto;
    margin-top: 0;
    height: 100%;
  }
  .page-home #header.sticky .logo,
  .otherpage #header.sticky .logo {
    margin-top: 0;
    height: 2rem;
    padding: 0;
  }
}

/* --- the mobile menu --- */

nav.mobilenav {
    display: none;
    right: 0;
    position: fixed;
    top: 0;
    z-index: 9999;
    max-height: 1rem;
}

/*** INPUT ***/
nav.mobilenav input {
    opacity: 0;
    position: absolute;
    z-index: -1;
}

nav.mobilenav label {
    cursor: pointer;
    display: block;
    font: 2em/1 'Oswald', sans-serif;
    padding: 0.5em;
}

/* Hamburger Icon */
#menu-icon,
#menu-icon:before,
#menu-icon:after {
    background: var(--color-links);
    border-radius: 0.05em;
    height: 3px;
    transition: all 0.2s ease-in-out;
    width: 100%;
}

#menu-icon {
    display: inline-block;
    margin: .4rem 1rem 0;
    max-width: 1em;
    position: relative;
}

.page-home #menu-icon,
.otherpage #menu-icon {
    margin: 2.4rem 2rem 0 1rem;
}

.page-home #header.sticky #menu-icon,
.otherpage #header.sticky #menu-icon {
    margin: 1.4rem 2rem 0 1rem;
    max-width: 1em;
    position: relative;
}

.otherpage #header.sticky #menu-icon {
    margin: 1.9rem 1.4rem 0 1rem;
    max-width: 1em;
    position: relative;
}

nav.mobilenav label #menu-icon {
    float: right;
    z-index: 99;
}

#menu-icon:before,
#menu-icon:after {
    content: '';
    left: 0;
    position: absolute;
}

#menu-icon:before {
    top: -0.3em;
}

#menu-icon:after {
    bottom: -0.3em;
}

/* Close Icon */
nav.mobilenav input[type=checkbox]:checked + label #menu-icon {
    background: transparent;
}

nav.mobilenav input[type=checkbox]:checked + label #menu-icon:before {
    top: 0;
    transform: rotate(-45deg);
}

nav.mobilenav input[type=checkbox]:checked + label #menu-icon:after {
    bottom: 0;
    transform: rotate(45deg);
}

/* Overlay */
nav.mobilenav input:checked ~ #overlay {
    background: var(--color-background);
    bottom: 0;
    left: 0;
    height: 100vh;
    position: fixed;
    right: 0;
    top: 0;
    width: 100vw;
    z-index: -1;
}

/* List */

#hero nav.mobilenav ul a.logo {
    text-align: right;
    margin-top: 3rem;
    margin-bottom: 3rem;
    max-width: 100%;
    text-transform: none;
}

#hero nav.mobilenav ul a.logo h1 {
    font-family: var(--font-family-sans);
    line-height: 1.3;
    color: var(--color-black);
    font-weight: 600;
    font-size: 1.4rem;
    margin-bottom: 0;
}

nav.mobilenav ul {
    font-size: 1.5em;
    list-style: none;
    margin: 0;
    max-height: 0;
    opacity: 0;
    overflow: hidden;
    padding: 0;
    text-align: right;
}

nav.mobilenav input:checked ~ ul {
    margin: 1.4em;
    margin-left: 0;
    max-height: inherit;
    opacity: 1;
}

nav.mobilenav ul > li {
    margin: 0.5em 0;
}

nav.mobilenav ul > li:nth-child(4) {
    margin-bottom: 2rem;
}

nav.mobilenav ul a {
    font-family: var(--font-family-mono);
    font-size: 1rem;
    padding: 0.4rem;
    padding-right: 0;
    display: block;
    text-align: right;
    text-transform: uppercase;
    font-weight: 700;
    letter-spacing: 1px;
    color: var(--color-black);
}

nav.mobilenav ul a:hover {
    text-decoration: underline;
}

@media screen and (max-width: 1200px) {
  nav.mobilenav {
    display: block;
  }
  #hero nav.mobilenav ul a.logo h1 {
      font-size: 1.8rem;
  }
}

@media screen and (max-width: 420px) {
  #hero nav.mobilenav ul a.logo h1 {
      font-size: 1.5rem;
  }
  .page-home #menu-icon,
  .otherpage #menu-icon {
      margin: 2.4rem 1rem 0 1rem;
  }
}

/* --- the footer --- */

.footer {
  padding-bottom: 1rem;
  margin-bottom: 0;
  /* background-color: #e4e0e0; */
  background-image: url('../images/waves.svg');
  height: 42rem;
  position: relative;
}

.template-about .footer {
  margin-top: wrem;
  background-color: #F8F5F0;
}

.template-note .footer,
.template-notes .footer  {
  margin-top: 1rem;
  background-color: #F8F5F0;
}

.footergrid {
  position: absolute;
  bottom: 1rem;
}

.footer .grid {
  padding: 2rem 0 2rem;
  line-height: 1.5em;
}

.footer .grid>.column {
  margin-bottom: 0;
}

footer.footer h2 {
  display: block;
  margin-bottom: .75rem;
  font-family: var(--font-family-sans);
  font-weight: 600;
  font-size: 1.2rem;
}

.footer ul,
.footer p {
  color: var(--color-text-grey);
  color: var(--color-white);
  font-family: var(--font-family-sans);
}

.footer p {
  font-size: .9rem;
  font-family: var(--font-family-sans);
  color: var(--color-black);
}

.footer a {
  color: var(--color-black);
  font-weight: 500;
  font-family: var(--font-family-sans);
}

.footer a:hover {
  color: var(--color-red);
}

.footer-logo {
  display: block;
  width: 4rem;
  margin-top: 0 !important;
  margin-bottom: 1rem;
}

.footer-logo img {
  margin-top: 0 !important;
}

.footerkontakt a {
  font-size: 1.4rem;
}

.footer .partner-column {
  display: flex;
  align-items: flex-end;
}

.footer .minimenue {
  width: 100%;
  font-family: var(--font-family-mono);
  text-transform: uppercase;
  font-size: .8rem;
  display: flex;
  justify-content: flex-end;
  gap: 1.4rem;
}

.footer .minimenue li {
  line-height: .8;
}

.fusstexte p {
  color: white;
  font-size: 18px;
}

.footermenu {
  margin-top: .4rem;
}

.footermenu a {
  display: block;
}

.footermenu-column {
  display: flex;
  align-items: flex-end;
}

.footer .flexgridrow {
  gap: 1.2rem;
}

.footer .social {
  padding-left: 0;
  margin-top: 1rem;
  margin-bottom: 1rem;
  justify-content: center;
}

.footer .social a svg {
    display: block;
    width: 2rem !important;
}

.footer .copyright {
  color: var(--color-black);
}

@media screen and (max-width: 959px) {
  .footer .grid {
    padding: 2rem 0 1.4rem;
  }
  .footermenu-column {
    margin-top: 2rem;
  }
}

@media screen and (max-width: 740px) {
  .footer {
    height: 42rem;
  }
}

@media screen and (max-width: 500px) {
  .footer {
    height: 40rem;
  }
}

@media screen and (max-width: 420px) {
  .footer {
    /* padding-left: 2rem;
    padding-right: 2rem; */
    /* margin-bottom: 1rem; */
  }
  .footer h2 {
    font-size: 1.2rem;
  }
  .footerkontakt a {
    font-size: 1.2rem;
  }
}

@media screen and (max-width: 380px) {
  .footer {
    height: 42rem;
  }
}

.footer-copyright {
  display: block;
  margin-top: 1.4rem;
}

.footer-subpage {
  margin-top: 10rem;
}

/* --- blog in general --- */

.pagination {
  display: flex;
  padding-top: 6rem;
}

.pagination>span {
  color: var(--color-text-grey);
}

.pagination>* {
  padding: .5rem;
  width: 3rem;
  text-align: center;
  border: 2px solid currentColor;
  margin-right: 1.5rem;
}

.pagination>a:hover {
  background: var(--color-black);
  color: var(--color-white);
  border-color: var(--color-black);
}

.note-excerpt {
  line-height: 1.5em;
  padding: 0 0 .6rem 0;
  border-radius: 10px;
}

.note-excerpt header {
  margin-bottom: .4rem;
}

.note-excerpt figure {
  margin-bottom: .5rem;
}

.note-excerpt-title {
  font-weight: 600;
  line-height: 1.34;
}

.template-notes .note-excerpt-title {
  font-size: 1.6rem;
  margin-top: .2rem;
  margin-bottom: .4rem;
  font-weight: 600;
  line-height: 1.34;
}

.template-notes a:hover .note-excerpt-title {
  color: var(--color-red);
}

.template-notes .teasertags {
  margin-top: 1.2rem;
}

.template-note h1.h1 {
  font-size: 1.8rem;
  margin-top: .8rem;
  margin-bottom: 1rem;
  font-weight: 600;
  line-height: 1.2;
}

.note-excerpt-date {
  color: var(--color-black);
}

@media screen and (max-width: 959px) {}

@media screen and (max-width: 420px) {}


/* ===== page home ===== */


/* --- page home hero --- */

#hero {
  height: 14rem;
  position: relative;
  display: flex;
  justify-content: center;
  align-items: center;
}

.page-home #hero {
  height: calc(100vh - 5rem);
  position: relative;
}

.home-termine-h3 {
  margin-bottom: 2.4rem;
}

.template-unsere-leistungen-single #hero {
  margin-bottom: 2.4rem;
}

@media screen and (max-width: 959px) {
  /* .page-home #hero {
    margin-bottom: 2rem;
  } */
}

@media screen and (max-width: 700px) {
  .page-home #hero {
    height: calc(100vh - 14rem);
    position: relative;
  }
}

@media screen and (max-width: 570px) {
  .page-home #hero {
    height: calc(100vh - 12rem);
    position: relative;
  }
}

@media screen and (max-width: 500px) {
  .page-home #hero {
    height: calc(100vh - 14rem);
    position: relative;
  }
}

@media screen and (max-width: 410px) {
  .page-home #hero {
    height: calc(100vh - 16rem);
    position: relative;
  }
}

.herowrapper {
  position: relative;
}

.herobackground {
  width: 100%;
  height: 100%;
  z-index: -1;
  filter: brightness(94%) contrast(94%) saturate(1.1);
  object-fit: cover;
}

.herobottom {
  position: absolute;
  bottom: 0;
  left: 0;
  right: 0;
  z-index: 999;
  min-width: 100%;
}

.template-unsere-leistungen-single .herobackground,
.template-ueber-uns .herobackground {
  background-position: center;
}

.herobackground img {
  width: 100%;
  height: 100%;
  object-position: center;
  object-fit: cover;
}

.herotitle {
  position: absolute;
  bottom: 6%;
  text-align: center;
  width: 100%;
}

/* .herotitle p {
  font-size: 4.2rem;
  color: var(--color-red);
  font-weight: 800;
  line-height: 1.2;
} */

.herotitle span {
  display: inline;
  font-size: 3.4rem;
  background-color: white;
  border-radius: 4px;
  padding-top: 6px;
  padding-bottom: 0px;
  padding-right: 2px;
  padding-left: 3px;
  color: var(--color-red);
  font-weight: 800;
  line-height: 1.2;
  width: auto !important;
  box-shadow: 12px 0 0 0 #fff, -12px 0 0 0 #fff;
  -webkit-box-decoration-break: clone;
  -ms-box-decoration-break: clone;
  -o-box-decoration-break: clone;
  box-decoration-break: clone;
}

.herosubtitle {
  display: block;
}

.home-header {
  padding: 0 2rem;
  display: flex;
  gap: 1rem;
  justify-content: space-between;
  width: 100%;
}

a.stoerer {
  display: flex;
  justify-content: center;
  align-items: center;
  padding: 2rem;
  box-sizing: border-box;
  width: 12rem;
  height: 12rem;
  border-radius: 200px;
  background-color: var(--color-red);
  color: white;
  text-align: center;
  font-size: 1.2rem;
  font-weight: 600;
  letter-spacing: 1px;
  line-height: 1.4;
  position: absolute;
  bottom: 16rem;
  right: 7rem;
  transition: rotate .14s ease-out;
  transition-delay: .02s;
}

a.stoerer:hover {
  rotate: 20deg;
}

@media screen and (max-width: 959px) {
  a.stoerer {
    bottom: 12rem;
    padding: 2rem;
    width: 10rem;
    height: 10rem;
    font-size: 1.1rem;
  }
}

@media screen and (max-width: 700px) {
  .home-header {
    padding: 0 1rem;
  }
  .herotitle span {
    font-size: 2.2rem;
    color: var(--color-red);
    font-weight: 800;
    line-height: 1.2;
  }
  a.stoerer {
    bottom: 8rem;
    right: 2.4rem;
    line-height: 1.3;
    padding: 2rem;
    width: 8rem;
    height: 8rem;
    font-size: .9rem;
  }
}

@media screen and (max-width: 410px) {
  .herotitle span {
    font-size: 1.6rem;
  }
  a.stoerer {
    bottom: 5rem;
    right: 2rem;
  }
}

/* sections auf home */

/* home main */

.page-home #thecontent .text h2,
.page-home #thecontent .text .h2 {
  font-size: 2.2rem;
  font-weight: bold;
  color: var(--color-red);
  margin-top: 0 !important;
}

.page-home .block-type-markdown p a {
  display: inline-block;
  position: relative;
}

.page-home .block-type-markdown p a:after {
  content: '';
  background: url('../images/blatt.svg');
  background-position: center;
  background-size: contain;
  position: absolute;
  right: -34px;
  width: 24px;
  height: 24px;
}


#main {
  padding: 0 2.4rem;
  max-width: 2000px;
  margin: 1rem auto 3rem;
}

.page-home #main {
  padding: 0 2.4rem;
  max-width: 2000px;
  margin: 0 auto 3rem;
}

@media screen and (max-width: 959px) {
  .page-home #thecontent .text h2,
  .page-home #thecontent .text .h2 {
    margin-top: 1rem !important;
  }
}

@media screen and (max-width: 700px) {
  #main {
    padding: 0 2rem;
    max-width: 2000px;
    margin: 0 auto 3rem;
  }
}

@media screen and (max-width: 420px) {}


.page-home #intro p {
  font-size: 2rem;
}

/* images auf home */

.main .block-type-image figure img {
  margin: 0;
}

.main .block-type-image figure a,
.main .block-type-image-responsive picture,
.main .newsimg-column {
  display: block;
  position: relative;
}

.main .column:first-child .block-type-image figure a:after,
.main .column:nth-child(2) .block-type-image figure a:after,
.page-home .newsimg:after,
.main .column:first-child .block-type-image-responsive picture:after,
.main .column:nth-child(2) .block-type-image-responsive picture:after {
  content: '';
  display: block;
  position: absolute;
  border: 2px solid var(--color-red);
  bottom: -10px;
  right: -10px;
  height: calc(100% - 4px);
  width: calc(100% - 4px);
  z-index: 4;
}

.main .column:first-child .block-type-image figure a:after,
.main .column:first-child .block-type-image-responsive picture:after {
  left: 0;
  border-left: none;
  width: calc(100% + 8px);
}

.main .column:last-child .block-type-image figure a:after,
.main .column:nth-child(3) .block-type-image figure a:after,
.main .column:last-child .block-type-image-responsive picture:after,
.main .column:nth-child(3) .block-type-image-responsive picture:after {
  content: '';
  display: block;
  position: absolute;
  border: 2px solid var(--color-red);
  bottom: -10px;
  left: -10px;
  height: calc(100% - 4px);
  width: calc(100% - 4px);
  z-index: 4;
}

.main .column:last-child .block-type-image figure a:after,
.main .column:last-child .block-type-image-responsive picture:after {
  right: 0;
  border-right: none;
  width: calc(100% + 8px);
}

#thecontent .noborders .column .block-type-image figure a:after,
#thecontent .noborders .column .block-type-image-responsive picture:after {
  border: none !important;
}

@media screen and (max-width: 959px) {
  .main .column:first-child .block-type-image figure a:after,
  .main .column:first-child .block-type-image-responsive picture:after {
    left: auto;
    border-left: 2px solid var(--color-red);
  }
  .page-home .column:first-child .block-type-image figure a:after,
  .page-home .column:last-child .block-type-image figure a:after,
  .page-home .column:first-child .block-type-image-responsive picture:after,
  .page-home .column:last-child .block-type-image-responsive picture:after,
  .otherpage .column:first-child .block-type-image figure a:after,
  .otherpage .column:last-child .block-type-image figure a:after,
  .otherpage .column:first-child .block-type-image-responsive picture:after,
  .otherpage .column:last-child .block-type-image-responsive picture:after {
    width: 100%;
    box-sizing: border-box;
  }
  /* .page-home .column:first-child .block-type-image figure a:after,
  .page-home .column:nth-child(2) .block-type-image figure a:after,
  .page-home .newsimg:after {
    right: 0;
  } */
  .page-home .column:last-child .block-type-image figure a:after,
  .page-home .column:nth-child(3) .block-type-image figure a:after,
  .page-home .column:last-child .block-type-image-responsive picture:after,
  .page-home .column:nth-child(3) .block-type-image-responsive picture:after,
  .otherpage .column:last-child .block-type-image figure a:after,
  .otherpage .column:nth-child(3) .block-type-image figure a:after,
  .otherpage .column:last-child .block-type-image-responsive picture:after,
  .otherpage .column:nth-child(3) .block-type-image-responsive picture:after {
    /* left: 0; */
    border-right: 2px solid var(--color-red);
  }
  .main .block-type-image figure a {
    margin-bottom: 1.4rem;
  }
  .main .newsimg-column {
    margin-bottom: 2rem;
  }
}

/* slider auf home */

.swiper {
  width: 100%;
  height: auto;
}

.protest-wrapper {
  flex-direction: column;
  position: relative;
  margin-top: 2rem;
  display: flex;
  align-items: center;
}

.protest-inner-wrapper {
  width: auto;
  max-width: 80%;
  display: inline-block;
}

.template-projekt .swiper-horizontal > .swiper-pagination-bullets, .template-projekt .swiper-pagination-bullets.swiper-pagination-horizontal {
  left: auto;
  position: relative !important;
  display: flex;
  justify-content: center;
  margin-top: 1rem;
}

#referenzen {
  margin-top: 0;
}

.protesttext {
  font-size: 1.2rem;
  font-weight: 400;
  margin-bottom: .4rem;
  border: 3px solid white;
  padding: 1.4rem 1.7rem;
  background-color: white;
  border-radius: 4px;
  z-index: -1;
  position: relative;
}

.proteststriche {
  display: block;
  width: 4rem;
  position: absolute;
  top: -2rem;
  left: 3rem;
  z-index: 1;
}

.protextperson {
  text-align: left;
  margin-top: 8px;
  font-weight: 600;
  font-size: .9rem;
}

.swiper-pagination-bullets {
  text-align: center;
}

@media screen and (max-width: 959px) {
  #referenzen {
    margin-bottom: 4rem;
  }
}

@media screen and (max-width: 700px) {
  .protesttext {
    font-size: 1rem;
    line-height: 1.3;
    font-weight: 400;
    margin-bottom: .4rem;
    border: 3px solid white;
    padding: 1.2rem 1.4rem;
  }
  .proteststriche {
    top: -3rem;
    left: 3rem;
    z-index: 1;
  }
  .protest-inner-wrapper {
    width: auto;
    max-width: 100%;
    display: inline-block;
  }
}

@media screen and (max-width: 500px) {
  .proteststriche {
    top: -3rem;
    left: 1rem;
    z-index: 1;
  }
}

/* blog auf home */

.homenews {
  margin-top: 3rem;
}

.homenews li {
  margin-bottom: 3rem;
}

.homenews li:last-child {
  margin-bottom: 0;
}

.homenews li .teasertags {
  margin-top: .8rem;
  margin-bottom: 1rem;
}

#homeblog a img {
  border-radius: 4px;
  -webkit-transition: all 1s ease; /* Safari and Chrome */
  -moz-transition: all 1s ease; /* Firefox */
  -ms-transition: all 1s ease; /* IE 9 */
  -o-transition: all 1s ease; /* Opera */
  transition: all 1s ease;
  height: 100%;
}

#homeblog .blog-image-wrapper,
#homeblog .blog-image-wrapper a {
  overflow: hidden;
  border-radius: 4px;
}

#homeblog a:hover img {
  -webkit-transform:scale(1.1); /* Safari and Chrome */
  -moz-transform:scale(1.1); /* Firefox */
  -ms-transform:scale(1.1); /* IE 9 */
  -o-transform:scale(1.1); /* Opera */
   transform:scale(1.1);
}

#homeblog h3,
.template-neues h2 {
  font-size: 1.8rem;
  font-weight: 600;
  margin-top: .8rem;
  margin-bottom: .8rem;
  color: var(--color-red);
  line-height: 1.3;
}

#homeblog a:hover h3 {
  text-decoration: underline;
  text-decoration-color: var(--color-links);
  text-decoration-thickness: 2px;
  text-underline-offset: 4px;
}

#homeblog .blogdatum {
  display: none;
}

#homeblog .column-blog-textwrapper p {
  display: block;
  line-height: 1.5;
}

#homeblog a.mehrlink {
  display: block;
  margin-top: .8rem;
  text-transform: uppercase;
  letter-spacing: 1px;
  font-size: .8rem;
  font-weight: 800;
  font-family: var(--font-family-sans);
}

#homeblog a:hover.mehrlink {
  color: var(--color-links);
  text-decoration: underline;
  text-decoration-color: var(--color-links);
  text-decoration-thickness: 2px;
  text-underline-offset: 4px;
}

#homeblog .neuesbutton {
  display: block;
  margin-top: 4.5rem;
  width: 100%;
  text-align: center;
}

@media screen and (max-width: 959px) {
  .blog-wrapper {
      margin-top: 3rem;
  }
  #homeblog {
    margin-top: -2rem;
  }
  .homenews li {
    margin-bottom: 4rem;
  }
  .homenews li .teasertags {
    margin-top: 0;
    margin-bottom: 1rem;
  }
}

@media screen and (max-width: 700px) {
  #homeblog h3 {
    font-size: 1.24rem;f
  }
}

/* newsletter form auf home */

.page-home .block-type-markdown form {
  display: flex;
  gap: .6rem;
}

.page-home .block-type-markdown input[type=email] {
  display: inline;
  width: 74%;
  height: 2.5rem;
  padding: .4rem .8rem;
  box-sizing: border-box;
  /* Match form field borders */
  border: 1px solid #999;
  font-size: 1rem;
}

.page-home .block-type-markdown input[type=submit] {
  display: inline;
  width: 24%;
  height: 2.5rem;
  padding: .4rem .8rem;
  box-sizing: border-box;
  border: none;
  border-radius: 4px;
  /* Match form field borders */
  text-transform: uppercase;
  letter-spacing: 1px;
  background-color: var(--color-red);
  color: white;
  font-weight: 600;
  cursor: pointer;
}

@media screen and (max-width: 959px) {

}

/* testimonial block */

.testimonial {
  display: block;
  background-color: white;
  padding: 1.6rem 2rem;
  border-radius: 4px;
  margin-top: 2rem;
  margin-bottom: 2rem;
  box-sizing: border-box;
}
.testimonial-wrapper {
  display: flex;
  flex-direction: row;
  margin-bottom: 1rem;
}
.testimonial-bild img {
  height: 5rem;
  border-radius: 400px;
}
.testimonial-person {
  font-size: 1.2rem;
  font-weight: 800;
  display: flex;
  flex-direction: column;
  justify-content: center;
  margin-bottom: 0 !important;
  padding-left: 2rem;
}
.testimonial-person span {
  font-weight: 400;
  font-size: .8rem;
}
.testimonial-text {
  font-style: italic;
}

@media screen and (max-width: 700px) {
  .testimonial-wrapper {
    display: flex;
    flex-direction: column;
    margin-bottom: 1rem;
  }
  .testimonial-bild img {
    height: 7rem;
    width: auto !important;
    border-radius: 400px;
    margin-bottom: 1rem !important;
  }
  .testimonial-person {
    padding-left: 0;
  }
}


/* bildlink block */

.block-type-bildlink {
  height: 100%;
  display: flex;
  align-items: center;
  justify-content: center;
}

@media screen and (max-width: 959px) {
  .block-type-bildlink {
    height: 100%;
    display: block;
    align-items: center;
    justify-content: center;
  }
  .bildlink a {
    max-width: 40%;
    margin: 0 auto;
    display: block;
  }
}

.bildlink a img {
  border-radius: 8px;
  height: 100%;
  width: 100%;
}

@media screen and (max-width: 500px) {
  .bildlink a {
    max-width: 80%;
    margin: 0 auto;
    display: block;
  }
}

/* tags */

.blog-section .teasertags ul {
  margin: 0;
  display: flex;
  gap: .4rem;
  margin-bottom: .8rem;
}

.teasertags ul li {
  list-style: none;
}

.teasertags ul li a {
  border: 1px solid var(--color-links);
  font-size: .9rem;
  font-weight: 600;
  font-family: var(--font-family-mono);
  color: var(--color-red);
  border: 1px solid var(--color-red);
  background-color: var(--color-white);
  padding: 5px 9px 4px;
  letter-spacing: 1px;
  border-radius: 18px;
}

.teasertags ul li a:hover,
.teasertags ul li a.thechosen {
  background-color: var(--color-links);
  color: var(--color-white);
  text-decoration: none;
}

.thechosen {
  text-decoration: underline;
}

@media screen and (max-width: 959px) {}

@media screen and (max-width: 420px) {}


/* --- page bereich --- */


/* --- page über mich --- */


/* --- page blocks --- */


@media screen and (max-width: 959px) {}

@media screen and (max-width: 420px) {}


/* --- page blog übersicht --- */



/* --- singlenote --- */

.template-note #thecontent {
  margin-top: 9rem;
}

.singlenote-content-wrapper {
  max-width: 42rem;
  margin: 0 auto;
}

.singlenote-content-wrapper > .section-blocks {
  max-width: 100%;
  --gutter: 2 !important;
}

.singlenote-header-section {
  margin-top: 2.4rem;
}

.singlenote-header.h1 {
  margin-top: 1.4rem;
}

.singlenote-intro-section {
  margin-top: 3rem;
  margin-bottom: 1.4rem;
}

.text p.singlenote-intro {
  font-weight: 600;
  line-height: 1.5;
  color: var(--color-black);
  margin-bottom: 1.4rem;
}

.template-note .singlenote-content-wrapper .section-blocks h2 {
  margin-bottom: 1rem;
  margin-top: 1.4rem;
}

.template-note .singlenote-content-wrapper .section-blocks h3 {
  height: auto;
  font-size: 1.2rem;
  line-height: 1.4;
  margin-bottom: .8rem;
  margin-top: 1.4rem;
}

.template-note #main .grid {
  width: auto;
}

.singlenote-intro-section section {
  padding-left: 0;
  padding-right: 0;
}

.template-note .blog-prevnext,
.template-note .note-footer,
.template-newsitem .blog-prevnext,
.template-newsitem .note-footer {
  display: block;
  margin-top: 2rem;
}

.template-note .section-blocks h2 {
  margin-top: 1.4rem;
}

.template-note .section-blocks h3 {
  height: 1rem;
}

.template-note .section-blocks h4 {
  text-transform: uppercase;
  font-size: .8rem;
  font-weight: 500;
  margin-bottom: .2rem;
  letter-spacing: 1px;
}

.template-note .section-blocks .text hr {
  margin: 2rem 0;
}

.backtonotes {
  margin-top: 1.4rem;
}

@media screen and (max-width: 959px) {
  .template-note .text.teasertags {
    padding-top: 0;
  }
  .template-note .singlenote-intro {
      padding: 0 1.4rem;
      padding-left: 0;
  }
  .template-note .blog-section .column:first-child {
    padding: 0;
    padding-left: 0;
  }
  h1.singlenote-title {
    font-size: 2.2rem;
  }
}

@media screen and (max-width: 1080px) {
  .template-note #hero .header {
    height: 100%;
    box-sizing: border-box;
    padding-bottom: 1.6rem;
  }
  .template-note .grid.grid-header {
    height: 100%;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
  }
  .template-note .singlenote-intro-section {
    margin-top: 1.8rem;
    margin-bottom: .8rem;
  }
  .template-note .grid.section-blocks {
    --gutter: 1rem !important;
  }
}

@media screen and (max-width: 420px) {
  h1.singlenote-title {
    font-size: 1.8rem;
  }
  .template-note #main .singlenote-intro {
    margin-top: 1.2rem;
    margin-bottom: .8rem;
  }
  .backtonotes {
    margin-top: 2.4rem;
  }
  .backtonotes .bereichslinks {
    display: inline-flex;
  }
  .backtonotes .bereichslinks a {
    text-align: left;
    font-size: 1.2rem;
  }
}


/* --- default pages --- */

.template-default #main {
  margin-top: 2.8rem;
  padding-bottom: 3rem;
  border-bottom: 4px solid white;
}

.template-default #main h2 {
  padding-top: 2rem;
  padding-bottom: 0;
}

.template-default #main h2:first-child {
  padding-top: 0;
}

.template-default #main h3 {
  padding-top: 1.4rem;
}

/* acoordion block */

.block-type-akkordeon {
  /* background-color: var(--bg-blue); */
  padding: .4rem .4rem .2rem 0;
}

.accordionblock {
  list-style: none;
  margin: 0;
  padding: 0;
  margin-bottom: 14px;
}

.accordionblock > li {
  margin: 0;
}

.accordionblock > li:before {
  content: "\200B";
  position: absolute;
}

.accordion__heading {
  font-size: inherit;
  margin: -1px 0 0;
}

#headerdefault button.accordion__trigger {
  -webkit-appearance: none;
  border: none;
  box-shadow: none;
  cursor: pointer;
  display: block;
  font-size: 1rem;
  letter-spacing: 3px;
  line-height: 144%;
  margin: 0;
  padding: var(--space-s) 2rem var(--space-s) 1.4rem;
  position: relative;
  text-align: left;
  width: 100%;
  z-index: 2;
}

#headerdefault.page-schwerpunkte button.accordion__trigger {
  letter-spacing: 1px;
  text-transform: none;
}

/* .accordion__trigger:after {
  border-left: .3em solid transparent;
  border-right: .3em solid transparent;
  border-top: .4em solid var(--color-red);
  bottom: 0;
  content: '';
  height: 0;
  margin: auto;
  position: absolute;
  right: 1em;
  top: 0;
  transition: transform .2s ease-in-out;
  transform-origin: center center;
  transform: rotate(0deg);
  width: 0;
} */

#content-accordion .accordion__trigger:after {
  display: none;
}

#content-accordion .accordion__trigger:before {
  bottom: 0;
  content: '+';
  height: 1.6rem;
  margin: auto;
  position: absolute;
  left: 0;
  top: 0;
  transition: transform .2s ease-in-out;
  transform-origin: center center;
  transform: rotate(0deg);
  width: .6rem;
}

#content-accordion .accordion__trigger[aria-expanded="true"]:before {
  transform: rotate(180deg);
}

.accordion__trigger:hover:after,
.accordion__trigger:focus:after,
.accordion__trigger[aria-expanded="true"]:after {
  border-top-color: var(--color-red);
}

.accordion__trigger[aria-expanded="true"]:after {
  transform: rotate(180deg);
}

.accordion__trigger:hover,
.accordion__trigger:focus {
  color: var(--color-red);
  outline: none;
}

.accordion__trigger[aria-disabled="true"]:hover {
  background-color: #1b75bc;
  color: #fff;
  cursor: not-allowed;
}

.accordion__trigger[aria-disabled="true"]:focus {
  background-color: #0a2a42;
}

@media screen and (max-width: 769px) {
  .accordion__trigger {
    font-size: 18px;
    line-height: 1.5;
  }
}

.accordion__panel {
  background-color: inherit;
  max-height: 0vh;
  overflow: hidden;
  padding: 0.001em 1rem;
  position: relative;
  visibility: hidden;
  z-index: 1;
}

.accordion__panel--transition {
  transition:
    max-height .2s ease-in-out,
    padding-top .2s ease-in-out,
    padding-bottom .2s ease-in-out;
}

.accordion__panel > :last-child {
  margin-bottom: 0;
}

.accordion__panel[aria-hidden="false"] {
  max-height: 100vh;
  overflow: auto;
  padding: 1.4rem;
  padding-top: 0;
  padding: 1.6rem var(--padding);
  visibility: visible;
  background-color: var(--bg-blue);
  border: 0.4px solid #85cfe7;
  border-radius: 4px;
  border-top: none;
  margin-bottom: 0;
}

#content-accordion .accordion__panel[aria-hidden="false"] {
  max-height: 100vh;
  overflow: auto;
  padding: 1rem 1.3rem 1.6rem;
  visibility: visible;
  background-color: var(--bg-blue);
  margin-top: .6rem;
  border: 0.4px solid #85cfe7;
  border-radius: 4px;
}

@media screen and (max-width: 600px) {
  .accordion__panel[aria-hidden="false"] {
    padding: 1.6rem 1rem;
  }
}

.accordion__trigger[aria-expanded="true"] {
  color: var(--color-red);
}

#headerdefault button.accordion__trigger {
  background-color: transparent;
  border: 0.4px solid #85cfe7;
  border-radius: 4px;
}

#headerdefault button.accordion__trigger[aria-expanded="true"] {
  border-bottom: none;
}

h3.accordion__heading,
h4.accordion__heading {
  text-transform: uppercase;
  color: var(--color-black);
  font-family: 'Pressura';
  font-weight: 700;
  font-size: var(--step-0);
  letter-spacing: 1px;
  margin-top: .4rem !important;
  margin-bottom: 0;
  background-color: var(--bg-blue);
}

#content-accordion h4.accordion__heading {
  text-transform: uppercase;
  color: var(--color-black);
  font-family: 'Pressura';
  font-weight: 700;
  font-size: var(--step-0);
  letter-spacing: 1px;
  margin-top: .4rem;
  background-color: transparent;
}

#content-accordion h4.accordion__heading button {
  padding: var(--space-2xs) var(--padding) var(--space-2xs) 1.4rem;
  border: none;
  margin-bottom: .8rem;
}

#faq.gridpwrapper > h2 {
  margin-bottom: 2rem;
}

#faq-block .accordion,
.block-type-akkordion .accordionblock {
  margin-top: 0;
  margin-bottom: 0;
}

.block-type-akkordion .accordionblock {
  margin-top: 2.4rem;
  margin-bottom: 2.4rem;
}

.accordionblock button:focus {
  outline: 2px solid #005fcc;
  outline-offset: 2px;
}

#faq-block .accordion .accordion__trigger,
.block-type-akkordion .accordionblock .accordion__trigger {
  background-color: white;
  border-radius: 12px;
  margin-top: 14px;
  margin-bottom: 0;
  padding: 1.2rem 1.4rem;
  font-family: var(--font-family-headings);
  width: 100%;
  text-align: center;
  color: var(--color-blue);
  font-size: 1.2rem;
}

#faq-block .accordion .accordion__trigger[aria-expanded="true"],
.block-type-akkordion .accordionblock .accordion__trigger[aria-expanded="true"] {
  border-radius: 18px 18px 0 0;
}

#faq-block .accordion .accordion__panel,
.block-type-akkordion .accordionblock .accordion__panel {
  transition: all .2s;
}

#faq-block .accordion .accordion__panel[aria-hidden="false"],
.block-type-akkordion .accordionblock .accordion__panel[aria-hidden="false"] {
  border: none;
  padding-left: 1.4rem;
  padding-right: 1.4rem;
  padding-bottom: 2rem;
  background: rgba(255, 255, 255, 1);
  border-radius: 0 0 18px 18px;
}

#faq-block .accordion p,
.block-type-akkordion p {
  font-size: 18px;
  margin-bottom: 1.2rem;
  line-height: 1.4;
}

#faq-block .accordion p:last-child,
.block-type-akkordion p:last-child {
  margin-bottom: 0;
}

#faq-block .accordion p a,
.block-type-akkordion p a {
  padding-bottom: 2px !important;
}

#faq-block .accordion ul,
.block-type-akkordeon ul {
  list-style: disc;
  margin-bottom: 1rem;
}

#faq-block .accordion ul > li,
.block-type-akkordion ul > li {
  list-style: disc;
  margin-bottom: 0.4rem;
  padding-left: 1rem;
  margin-left: 1rem;
  line-height: 1.5;
  font-size: 18px;
}

/* iconblock */

.iconblock,
.iconblock a {
  display: flex;
  justify-content: center;
  align-items: center;
}

.iconblock.horizontal,
.iconblock.horizontal a {
  flex-direction: row;
  text-decoration: none;
}

.iconblock.vertical,
.iconblock.vertical a {
  flex-direction: column;
  text-decoration: none;
}

.iconblock.vertical a:hover,
.iconblock.horizontal a:hover {
  color: var(--color-black);
}

.iconblock img {
  display: block;
  height: 3.4rem;
  width: auto;
  margin-bottom: 1.2rem;
}

.iconblock.horizontal img {
  padding-right: 2rem;
}

.iconblock .icontitle {
  display: block;
  text-align: center;
  font-size: 1.2rem;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 2px;
  margin-bottom: .6rem;
}

.block-type-iconblock .iconblock a .icontitle,
.block-type-iconblock .iconblock a .icontext {
  text-decoration: none;
}

.block-type-iconblock .iconblock a:hover .icontitle {
  color: var(--color-red);
}

.iconblock.horizontal .icontitle {
  text-align: left;
}

.iconblock .icontext {
  text-align: center;
  line-height: 1.4;
}

.iconblock.horizontal .icontext {
  text-align: left;
}

@media screen and (max-width: 959px) {
  .block-type-iconblock .iconblock {
    margin-bottom: 2rem;
  }
}

@media screen and (max-width: 700px) {
  .iconblock .icontitle {
    font-size: .8rem;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 2px;
    margin-bottom: .6rem;
  }
}

/* button block */

.block-type-button {
  text-align: center;
}

a.buttonblock {
  display: inline-block;
  text-decoration: none;
  padding: 1rem 2rem .8rem;
  background-color: var(--color-red);
  border-radius: 8px;
  color: white;
  font-weight: 800;
  text-transform: uppercase;
  letter-spacing: 2px;
  font-family: var(--font-family-mono);
  transition: background-color .4s;
}

a:hover.buttonblock {
  background-color: var(--color-bright-red);
  color: white;
}

@media screen and (max-width: 959px) {
  .block-type-button a.buttonblock {
    margin-top: 1.4rem;
    margin-bottom: 1rem;
  }
}

/* pages */

.normalpagehero h1 {
  display: inline-block;
  text-align: center;
  padding-left: 0;
  box-sizing: border-box;
  display: inline;
  font-size: 2.8rem;
  background-color: white;
  border-radius: 4px;
  padding-top: 12px;
  padding-bottom: 3px;
  color: var(--color-red);
  font-weight: 800;
  line-height: 1.2;
  width: auto !important;
  box-shadow: 12px 0 0 0 #fff, -12px 0 0 0 #fff;
  -webkit-box-decoration-break: clone;
  -ms-box-decoration-break: clone;
  -o-box-decoration-break: clone;
  box-decoration-break: clone;
}

@media screen and (max-width: 959px) {
  .normalpagehero h1 {
    font-size: 2.2rem;
  }
}

/* page unsere leistungen */

.page-unsere-leistungen .grid {
  grid-gap: 3.8rem;
}

.page-unsere-leistungen #main h2 {
  margin-top: 2rem;
  margin-bottom: 1rem;
}

.section-schwerpunkt,
.section-weitere,
.section-fokus {
  margin-bottom: 3.4rem;
}

.blog-schwerpunkt,
.blog-weitere,
.blog-fokus {
  margin-bottom: 5rem;
}

.flexgrid {
  display: flex;
  flex-wrap: wrap;
  gap: 3%;
  row-gap: 2.4rem;
  justify-content: center;
}

.flexgrid .column {
  width: 60%;
}

.flexgridcolumn {
  width: 100%;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  text-align: center;
}

.flexgridrow {
  width: 100%;
  flex-direction: row;
  align-items: center;
  gap: 2rem;
}

.blogiconwrapper {
  position: relative;
  text-align: center;
}

.blogicon {
  display: inline-block;
  height: 3.4rem;
  width: auto;
  margin-bottom: 1.2rem;
}

.page-unsere-leistungen h3 {
  display: block;
  text-align: center;
  font-size: 1.2rem;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 2px;
  margin-bottom: .6rem;
}

.page-unsere-leistungen a:hover h3 {
  color: var(--color-red);
}

.page-unsere-leistungen .column-blog-textwrapper {
  text-align: center;
  font-family: var(--font-family-sans);
  line-height: 1.34;
}

.page-unsere-leistungen .column-blog-textwrapper a {
  display: block;
  margin-bottom: .8rem;
}

.page-unsere-leistungen .column-blog-textwrapper a.mehrlink {
  display: block;
  margin-bottom: 0;
  margin-top: .6rem;
  text-transform: uppercase;
  font-size: .8rem;
  letter-spacing: 1px;
}

@media screen and (max-width: 959px) {
  .template-unsere-leistungen .blog.flexgrid {
    flex-direction: column;
    align-items: center;
  }
  .template-unsere-leistungen .flexgrid .column {
    width: 100%;
  }
  .section-schwerpunkt,
  .section-weitere,
  .section-fokus {
    margin-bottom: .4rem;
  }
  .page-unsere-leistungen h3 {
    font-size: 1.1rem;
  }
}

.template-unsere-leistungen-single h1 {
  box-sizing: border-box;
  display: inline;
  font-size: 2.2rem;
  background-color: white;
  padding-top: 10px;
  padding-bottom: 6px;
  border-radius: 4px;
  left: 3rem;
  right: 3rem;
  color: var(--color-red);
  font-weight: 800;
  line-height: 1.2;
  text-align: left;
  width: fit-content !important;
  box-shadow: 12px 0 0 0 #fff, -12px 0 0 0 #fff;
  -webkit-box-decoration-break: clone;
  -ms-box-decoration-break: clone;
  -o-box-decoration-break: clone;
  box-decoration-break: clone;
}

.template-unsere-leistungen-single .text h2,
.template-unsere-leistungen-single .text h2 strong {
  font-size: 1.8rem;
  font-weight: 500;
  line-height: 1.24;
  color: var(--color-headlines);
  margin-top: 1.6rem;
  margin-bottom: 1.2rem;
}

.template-unsere-leistungen-single .text h3,
.template-unsere-leistungen-single .text h3 strong {
  color: var(--color-black);
  font-weight: 800;
  margin-top: 1.6rem;
  margin-bottom: 1.2rem;
}

.template-unsere-leistungen-single .blog-textwrapper p,
.template-unsere-leistungen-single .blog-textwrapper ul,
.template-unsere-leistungen-single .blog-textwrapper h3,
.template-unsere-leistungen-single .testimonial {
  max-width: 60%;
  margin-bottom: .8rem;
}

.template-unsere-leistungen-single .blog-textwrapper .testimonial p {
  max-width: 100%;
  margin-bottom: 0;
}

.template-unsere-leistungen-single .blog-textwrapper ul li {
  margin-bottom: .4rem;
}

.template-unsere-leistungen-single .blog-textwrapper img {
  border-radius: 4px;
  margin-bottom: 1.4rem;
  max-width: 60%;
}

.template-unsere-leistungen-single .blog-textwrapper .testimonial img {
  border-radius: 400px;
  margin-bottom: 0;
  max-width: 100%;
}

@media screen and (max-width: 959px) {
  .template-unsere-leistungen-single .blog-textwrapper p,
  .template-unsere-leistungen-single .blog-textwrapper ul,
  .template-unsere-leistungen-single .blog-textwrapper h3,
.template-unsere-leistungen-single .testimonial,
.template-unsere-leistungen-single .blog-textwrapper img {
    max-width: 100%;
  }
}

@media screen and (max-width: 700px) {
  .template-unsere-leistungen-single .herotitle {
    display: inline;
    font-size: 1.4rem;
    left: 2.6rem;
    right: 2.6rem;
  }
  .template-unsere-leistungen-single .text h2,
  .template-unsere-leistungen-single .text h2 strong {
    font-size: 1.4rem;
  }
}

/* page neues */

.template-neues h1,
.template-ueber-uns h1,
.template-praxis h1,
.template-termin-kontakt h1 {
  margin-top: 3rem !important;
  margin-bottom: 3rem !important;
}

.template-neues .neues-blog {
  margin-top: 3rem;
}

.neues-blog h3 {
  font-size: 1.2rem;
  font-weight: 600;
  margin-bottom: 1rem;
  margin-top: 1.4rem;
}

.neues-blog a:hover h3,
.neues-blog a.mehrlink:hover {
  color: var(--color-red);
}

.neues-blog a.mehrlink {
  display: block;
  margin-top: .8rem;
  text-transform: uppercase;
  letter-spacing: 1px;
  font-size: .8rem;
  font-weight: 800;
  font-family: var(--font-family-sans);
}

.neues-blog a img {
  border-radius: 4px;
  border-radius: 8px;
  -webkit-transition: all 1s ease; /* Safari and Chrome */
  -moz-transition: all 1s ease; /* Firefox */
  -ms-transition: all 1s ease; /* IE 9 */
  -o-transition: all 1s ease; /* Opera */
  transition: all 1s ease;
}

.neues-blog .blog-image-wrapper,
.neues-blog .blog-image-wrapper figure {
  overflow: hidden;
  border-radius: 4px;
}

.neues-blog a:hover img {
  -webkit-transform:scale(1.1); /* Safari and Chrome */
  -moz-transform:scale(1.1); /* Firefox */
  -ms-transform:scale(1.1); /* IE 9 */
  -o-transform:scale(1.1); /* Opera */
   transform:scale(1.1);
}

/* neues single */

.template-neues-single .herobackground {
  background-repeat: no-repeat;
  background-size: cover;
  background-position: center;
}

.template-neues-single p {
  margin-bottom: .8rem;
}

.template-neues-single .blog-textwrapper {
  margin-top: 3rem;
}

.template-neues-single .blog-textwrapper h1 {
  display: none;
}

.template-neues-single h1 {
  font-size: 2rem;
  font-weight: 500;
  line-height: 1.34;
  color: var(--color-headlines);
  margin-top: 1.6rem;
  margin-bottom: 3rem;
  width: 70%;
  max-width: 800px;
  padding-left: 1rem;
  padding-right: 1rem;
}

.template-neues-single h2 {
  font-size: 1.2rem;
  font-weight: 500;
  line-height: 1.34;
  color: var(--color-red);
  margin-top: 1.6rem;
  margin-bottom: 1.2rem;
}

.template-neues-single .blog-contentwrapper {
  display: block;
  width: 60%;
  max-width: 700px;
  margin: 0 auto;
}

@media screen and (max-width: 1080px) {
  .template-neues-single .blog-contentwrapper {
    width: 100%;
    margin: 0;
  }
  .template-neues-single h1 {
    width: 100%;
  }
}

/* page praxis */

.blocks .block-type-gallery figure ul {
  display: block;
  columns: 3;
}

.blocks .block-type-gallery img {
  margin-bottom: 2rem;
}

@media screen and (max-width: 1080px) {
  .blocks .block-type-gallery figure ul {
    columns: 2;
  }
}

@media screen and (max-width: 700px) {
  .blocks .block-type-gallery figure ul {
    columns: 1;
  }
}

/* page kontakt */

.template-termin-kontakt .block-type-bildlink {
  height: 2rem;
  margin-top: 2rem;
}

.template-termin-kontakt .block-type-bildlink figure {
  width: 34%;
  padding-right: 10px;
}

.template-termin-kontakt .text p strong {
  display: block;
  margin-top: 2rem;
}

@media screen and (max-width: 959px) {
  .template-termin-kontakt .block-type-bildlink figure {
    width: 100%;
    padding-right: 0;
  }
   .template-termin-kontakt .block-type-bildlink figure.bildlink a {
    max-width: 10%;
    min-width: 44px;
  }
}

@media screen and (max-width: 800px) {
  .swiper-button-next,
  .swiper-button-prev {
    display: none;
  }
  .swiper-projekt-pagination {
    margin-top: 42px;
  }
  .swiper-pagination-bullet {
    height: 14px;
    width: 14px;
    margin: 0 20px !important;
  }
}

/* --- prototyp --- */

/* seite home */

#section-hero {
  padding-left: 0;
  padding-right: 0;
}

#hometabs {
  display: none;
  margin-top: -2rem;
}

#hometabs a,
#hometabs a:hover {
  text-decoration: none;
}

#tab1, #tab2, #tab3, #tab4 {
  display: block;
  text-align: center;
  font-size: .8rem;
  font-weight: 500;
  letter-spacing: 1px;
  padding: 1rem .4rem;
  color: white;
  text-transform: uppercase;
  background-color: var(--color-red);
  cursor: pointer;
  z-index: 89;
  position: relative;
  border-radius: 8px;
}

#tab1 p, #tab2 p, #tab3 p, #tab4 p {
  cursor: pointer;
}

#tab1:hover, #tab2:hover, #tab3:hover, #tab4:hover {
  background-color: var(--color-code-orange);
  color: black;
}

#thehero {
  width: 100%;
  /* height: 120vh; */
  position: relative;
}

#herocontent {
  position: absolute;
  top: 8rem;
  display: none;
  left: 50%;
  transform: translate(-50%, 0);
  z-index: 99;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
}

.herobackground {
  width: 100%;
  height: 100%;
  position: relative;
  z-index: -1;
  filter: brightness(94%) contrast(94%) saturate(1.1);
  object-fit: cover;
}

.heroclaim {
  max-width: 60%;
  text-align: center;
  font-size: 2.2rem;
  color: var(--color-red);
  font-weight: 800;
  margin-top: 2rem;
}

#thecontent {
  background-color: var(--color-background);
}

.template-about #thecontent,
.template-notes #thecontent,
.template-default #thecontent {
  margin-top: 12rem;
}

#thecontent > .section:first-child {
  margin-top: 0;
}

@media screen and (max-width: 1200px) {
  #herocontent {
    top: 6rem;
  }
  .heroclaim {
    margin-top: 0;
  }
}

/* @media screen and (max-width: 1080px) {
  #thecontent {
    padding-left: 2.6rem;
    padding-right: 2.6rem;
    background-color: var(--color-background);
  }
} */

@media screen and (max-width: 959px) {
  #thehero {
    height: 70vh;
  }
  .herowrapper {
    height: 100%;
  }
  .herobackground {
    height: 140%;
  }
  #thecontent {
    padding-left: 2.6rem;
    padding-right: 2.6rem;
    background-color: var(--color-background);
  }
  #thecontent > .section:first-child .gapblock {
    height: 0 !important;
  }
  #thecontent > .homeintro > .column:nth-child(3) {
    order: -1;
  }
  #thecontent > .homeintro {
    grid-template-columns: 2fr 0 1fr 0;
    grid-gap: 2rem;
  }
}

@media screen and (max-width: 900px) {
  .heroclaim {
    max-width: 70%;
  }
}

@media screen and (max-width: 900px) {
  .heroclaim {
    max-width: 80%;
    margin-top: 2rem;
  }
}

@media screen and (max-width: 630px) {
   #thecontent > .homeintro > .column:nth-child(3) {
    order: 1;
  }
  #thecontent > .homeintro {
    grid-template-columns: 1fr;
    grid-gap: 0;
  }
  #thecontent > .homeintro {
    display: flex;
    flex-direction: column-reverse;
  }
}

@media screen and (max-width: 540px) {
  #thehero {
    height: 70vh;
  }
  .herowrapper {
    height: 100%;
  }
}

@media screen and (max-width: 440px) {
  #thehero {
    height: 100vh;
  }
  #thecontent {
    padding-left: 1.6rem;
    padding-right: 1.6rem;
  }
  .heroclaim {
    max-width: 100%;
  }
}

/* seite aktuelles */

.page-aktuelles .tagfilter {
  margin-bottom: 4rem;
}

.page-aktuelles h2 {
  font-size: .8rem;
  font-weight: 600;
  margin-bottom: 0;
  margin-top: 1rem;
  text-transform: uppercase;
  letter-spacing: 1px;
}

.page-aktuelles .teasertag,
.page-home .teasertag {
  margin-bottom: .8rem;
}

.page-home .note-excerpt-title {
  font-size: 1.4rem;
  line-height: 1.2;
  margin-bottom: .8rem;
}
.template-note .reihentitel {
  display: block;
  color: var(--color-red);
  font-size: .8rem;
  font-weight: 600;
  margin-bottom: 0.4rem;
  margin-top: 1rem;
  text-transform: uppercase;
  letter-spacing: 1px;
}

.note-excerpt-date {
  color: var(--color-blue);
  font-weight: 500;
}

.note-excerpt-ort {
  color: var(--color-black);
  margin-bottom: .8rem;
}

.note-excerpt-text {
  line-height: 1.3;
}

@media screen and (max-width: 959px) {
  .page-aktuelles .aktuelles-grid > li {
    margin-bottom: 3rem;
  }
  .page-aktuelles .aktuelles-grid .note-excerpt {
    padding: 0;
  }
}

.page-news .note-excerpt-title {
  color: var(--color-blue);
  font-size: 1.2rem;
}

.pubpdflink {
  display: flex;
  margin-bottom: 1.4rem;
}

.page-news .pubicon {
  width: 2.4rem;
  margin-top: .3rem;
  margin-right: .4rem;
}

.noteheading {
  font-weight: 600;
  margin-top: 2rem !important;
  margin-bottom: 1.25rem !important;
  color: var(--color-headlines);
  font-family: var(--font-family-sans);
  font-size: 1.6rem;
  line-height: 1.24;
  text-transform: uppercase;
  margin-bottom: 2rem;
  margin-top: 3rem;
}

.template-about .breit figure {
  position: relative;
}

.template-about .breit figure a:before {
  position: absolute;
  background-image: url('../images/breit.svg');
  background-repeat: no-repeat;
  display: inline-block;
  width: 100%;
  height: auto;
  content: "";
  bottom: 0rem;
  right: 0;
  z-index: 70;
}

@media screen and (max-width: 959px) {
  .grid.section.breit {
    margin-left: -2.6rem;
    margin-right: -2.6rem;
    width: calc(100% + 5.2rem);
  }

  #thecontent .grid.section.breit figure a:after {
    border-left: none;
    border-right: none;
  }
  .page-was-wir-anbieten h4 {
    text-align: left !important;
  }
}

@media screen and (max-width: 440px) {
  .grid.section.breit {
    width: calc(100% + 4.2rem);
  }
}


/* --- toc --- */

#content-accordion.tocneuwrapper {
  display: none;
}

#content-accordion.tocneuwrapper .accordion__panel {
  border: none;
  padding: 0;
}

#content-accordion.tocneuwrapper .accordion__trigger {
  -webkit-appearance: none;
  border: none;
  box-shadow: none;
  cursor: pointer;
  display: block;
  font-size: 1rem;
  letter-spacing: 3px;
  line-height: 144%;
  margin: 0;
  padding: 1rem 2rem 1rem 1.4rem;
  position: relative;
  text-align: left;
  width: 100%;
  z-index: 2;
}

#content-accordion.tocneuwrapper .accordion__trigger:before {
  bottom: 0;
  content: '+';
  height: 1.4rem;
  margin: auto;
  position: absolute;
  left: 0;
  top: 0;
  transition: transform .2s ease-in-out;
  transform-origin: center center;
  transform: rotate(0deg);
  width: .6rem;
}

#content-accordion.tocneuwrapper .accordion__trigger[aria-expanded="true"]:before {
  transform: rotate(180deg);
}

.tocneu {
  background-color: #e7dcd6;
  line-height: 1;
  font-size: .9;
  padding: 1.4rem 2.4rem .8rem 1.8rem;
  display: inline-block;
}

.tocneu-h2 a {
  font-weight: 600;
}

.tocneu-h3 a {
  padding-left: 2rem;
}

nav.tocneu li:hover:before {
  color: var(--color-red);
  cursor: pointer;
}

nav.tocneu a {
  font-size: 1rem !important;
  color: #0074a8;
  line-height: 1.3;
}

nav.tocneu a:hover {
  color: var(--color-red);
}