.grid-row {
  position: relative;
  padding: 0 calc( ( 100% - 1500px ) / 2 );
  margin: 130px 0;
  display: grid;
  grid-template-columns: repeat( 12, minmax(0,1fr) );
  column-gap: 20px;
  row-gap: 20px;
}

.grid-col {
  position: relative;
  padding: 0;
  box-sizing: content-box;
  display: grid;
  row-gap: 10px;
}

.grid-block {
  position: relative;
  overflow: hidden;
}

.grid-col.aligncntnt-start {
  align-content: start;
}
.grid-col.aligncntnt-end {
  align-content: end;
}
.grid-col.aligncntnt-center {
  align-content: center;
}
.grid-col.aligncntnt-stretch {
  align-content: stretch;
}
.grid-col.aligncntnt-space-around {
  align-content: space-around;
}
.grid-col.aligncntnt-space-between {
  align-content: space-between;
}
.grid-col.aligncntnt-space-evenly {
  align-content: space-evenly;
}

.grid-block.align-left, .grid-block.txt-left {
  text-align: left;
}
.grid-block.align-right, .grid-block.txt-right {
  text-align: right;
}
.grid-block.align-center, .grid-block.txt-center {
  text-align: center;
}
.grid-block.align-justify, .grid-block.txt-justify {
  text-align: justify;
}

/** de: Zeilenabstand 1em oben und unten */
/** en: Line spacing 1em above and below */
.cap-100px {
  padding-top: 100px;
  padding-bottom: 100px;
}

/** de: Innenabstand 30px */
/** en: Innenabstand 30px */
.cap-30px {
  padding: 30px;
}
.grid-row.row-fullwidth {
  padding: 0;
}
.grid-row.row-gradientbright {
  margin: 0;
  padding-top: 130px;
  padding-bottom: 130px;
  background: rgb(255,255,255);
  background: linear-gradient(90deg, rgba(255,255,255,1) 0%, rgba(225,225,225,1) 100%);
}
@media all and (max-width: 990px ) {
  .grid-row.row-gradientbright {
    padding-top: 65px;
    padding-bottom: 65px;
  }
}
.grid-row.row-gradientdark {
  margin: 0;
  padding-top: 130px;
  padding-bottom: 130px;
  background: rgb(70,75,77);
  background: linear-gradient(50deg, rgba(70,75,77,1) 0%, rgba(39,41,42,1) 100%);
  color: #FFFFFF;
}
.grid-row.row-gradientdark .headline1, .grid-row.row-gradientdark .headline2, .grid-row.row-gradientdark .headline3, .grid-row.row-gradientdark .headline4, .grid-row.row-gradientdark .headline5, .grid-row.row-gradientdark .headline6 {
  color: currentColor;
}
.grid-row.row-gradientdark-fullwidth {
  margin: 0;
  padding: 0;
  background: rgb(70,75,77);
  background: linear-gradient(50deg, rgba(70,75,77,1) 0%, rgba(39,41,42,1) 100%);
  color: #FFFFFF;
}
.grid-row.row-gradientdark-fullwidth .headline1, .grid-row.row-gradientdark-fullwidth .headline2, .grid-row.row-gradientdark-fullwidth .headline3, .grid-row.row-gradientdark-fullwidth .headline4, .grid-row.row-gradientdark-fullwidth .headline5, .grid-row.row-gradientdark-fullwidth .headline6 {
  color: currentColor;
}
.grid-col.col-imagesliderauto {
  height: fit-content;
}
.grid-col.col-imagesliderauto > .grid-block .grideditor-edit-button {
  display: none;
}
.grid-col.col-imagesliderauto > .grid-block {
  display: none;
}
.grid-col.col-imagesliderauto.slick-slider > .grid-block {
  display: block;
}
.grid-col.col-imagesliderauto > .grid-block:first-child {
  display: block;
}
.grid-col.col-imagesliderauto .slick-arrow {
  position: absolute;
  top: 50%;
  left: 10px;
  width: 6%;
  aspect-ratio: 1 / 1;
  background: rgba(255,255,255,0.3);
  border: 1px solid rgba(0,0,0,0.1);
  border-radius: 50px;
  overflow: hidden;
  color: transparent;
  z-index: 100;
  transform: translate(0,-50%);
  cursor: pointer;
  transition: background 300ms;
  outline: none;
}
.grid-col.col-imagesliderauto .slick-arrow:hover {
  background: rgba(255,255,255,0.6);
}
.grid-col.col-imagesliderauto .slick-arrow::after {
  display: block;
  position: absolute;
  top: 50%;
  width: 25%;
  aspect-ratio: 1 / 1;
  border: 3px solid rgba(0,0,0,0.2);
  border-radius: 2px;
  border-left-color: transparent;
  border-bottom-color: transparent;
  content: '';
  transform: translate(0,-50%);
  transform-origin: center center;
  transition: 300ms;
}
.grid-col.col-imagesliderauto .slick-arrow:hover::after {
  border: 3px solid rgba(0,0,0,0.5);
  border-left-color: transparent;
  border-bottom-color: transparent;
}
.grid-col.col-imagesliderauto .slick-arrow.slick-prev::after {
  transform: translate(0,-50%) rotate(-135deg);
  left: 40%;
}
.grid-col.col-imagesliderauto .slick-arrow.slick-next::after {
  transform: translate(0,-50%) rotate(45deg);
  left: 23%;
}

.grid-col.col-imagesliderauto .slick-arrow.slick-next {
  right: 10px;
  left: auto;
}

.grid-col.col-imagesliderauto .slick-dots {
  position: absolute;
  bottom: 10px;
}
.grid-col.col-brighttext {
  padding: 30px;
  padding-top: 100px;
  padding-bottom: 100px;
  color: #FFFFFF;
}
@media all and (max-width: 990px ) {
  .grid-col.col-brighttext {
    padding-top: 60px;
    padding-bottom: 60px;
  }
}
.grid-col.col-brighttext .headline1, .grid-col.col-brighttext .headline2, .grid-col.col-brighttext .headline3, .grid-col.col-brighttext .headline4, .grid-col.col-brighttext .headline5, .grid-col.col-brighttext .headline6 {
  color: currentColor;
}
.grid-col.col-background {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}
.grid-col.col-imageslidercontent {
  height: fit-content;
  align-self: center;
}
.grid-col.col-imageslidercontent > .grid-block .grideditor-edit-button {
  display: none;
}
.grid-col.col-imageslidercontent > .grid-block {
  display: none;
}
.grid-col.col-imageslidercontent.slick-slider > .grid-block {
  display: block;
}
.grid-col.col-imageslidercontent > .grid-block:first-child {
  display: block;
}
.grid-col.col-imageslider {
  height: fit-content;
}
.grid-col.col-imageslider > .grid-block .grideditor-edit-button {
  display: none;
}
.grid-col.col-imageslider > .grid-block {
  display: none;
}
.grid-col.col-imageslider.slick-slider > .grid-block {
  display: block;
}
.grid-col.col-imageslider > .grid-block:first-child {
  display: block;
}
.grid-col.col-imageslider .slick-arrow {
  position: absolute;
  top: 50%;
  left: 10px;
  width: 6%;
  aspect-ratio: 1 / 1;
  background: rgba(255,255,255,0.3);
  border: 1px solid rgba(0,0,0,0.1);
  border-radius: 50px;
  overflow: hidden;
  color: transparent;
  z-index: 100;
  transform: translate(0,-50%);
  cursor: pointer;
  transition: background 300ms;
  outline: none;
}
.grid-col.col-imageslider .slick-arrow:hover {
  background: rgba(255,255,255,0.6);
}
.grid-col.col-imageslider .slick-arrow::after {
  display: block;
  position: absolute;
  top: 50%;
  width: 25%;
  aspect-ratio: 1 / 1;
  border: 3px solid rgba(0,0,0,0.2);
  border-radius: 2px;
  border-left-color: transparent;
  border-bottom-color: transparent;
  content: '';
  transform: translate(0,-50%);
  transform-origin: center center;
  transition: 300ms;
}
.grid-col.col-imageslider .slick-arrow:hover::after {
  border: 3px solid rgba(0,0,0,0.5);
  border-left-color: transparent;
  border-bottom-color: transparent;
}
.grid-col.col-imageslider .slick-arrow.slick-prev::after {
  transform: translate(0,-50%) rotate(-135deg);
  left: 40%;
}
.grid-col.col-imageslider .slick-arrow.slick-next::after {
  transform: translate(0,-50%) rotate(45deg);
  left: 23%;
}

.grid-col.col-imageslider .slick-arrow.slick-next {
  right: 10px;
  left: auto;
}

.grid-col.col-imageslider .slick-dots {
  position: absolute;
  bottom: 10px;
}
.grid-col.col-gradientbright2 {
  margin: 0;
  padding: 20px;
  background: rgb(255,255,255);
  background: linear-gradient(90deg, rgba(255,255,255,1) 0%, rgba(225,225,225,1) 100%);
}
.grid-col.col-gradientbright2 .grid-block.txt-right {
  margin-right: -20px;
}
.grid-col.col-gradientbright2 .grid-block.txt-left {
  margin-left: -20px;
}
.grid-col.col-gradientbright {
  margin: 0;
  padding: 20px;
  background: rgb(255,255,255);
  background: linear-gradient(0deg, rgba(255,255,255,1) 0%, rgba(225,225,225,1) 100%);
  color: #000000;
}
.grid-col.col-gradientbright .headline1, .grid-col.col-gradientbright .headline2, .grid-col.col-gradientbright .headline3, .grid-col.col-gradientbright .headline4, .grid-col.col-gradientbright .headline5, .grid-col.col-gradientbright .headline6 {
  color: #000000;
}
.grid-col.col-gradientbright .grid-block.txt-right {
  margin-right: -20px;
}
.grid-col.col-gradientbright .grid-block.txt-left {
  margin-left: -20px;
}
.grid-block.textarea-parallaxheadline {
  font-size: 3.875rem;
  font-weight: 500;
  line-height: 100%;
  overflow: visible;
}
@media all and (max-width: 990px ) {
  .grid-block.textarea-parallaxheadline {
    font-size: 2.8rem;
  }
}
@media all and (max-width: 600px ) {
  .grid-block.textarea-parallaxheadline {
    font-size: 1.9rem;
  }
}

.grid-block.textarea-imageslider img {
  width: 100%;
}

.grid-block.textarea-imageslider div.image, .grid-block.textarea-imageslider div.image-left, .grid-block.textarea-imageslider div.right, .grid-block.textarea-imageslider div.center {
  padding: 0;
  margin: 0;
  width: 100%;
  max-width: 100% !important;
}

.grid-block.textarea-imageslider .slick-arrow {
  position: absolute;
  top: 50%;
  left: 10px;
  width: 6%;
  aspect-ratio: 1 / 1;
  background: rgba(255,255,255,0.3);
  border: 1px solid rgba(0,0,0,0.1);
  border-radius: 50px;
  overflow: hidden;
  color: transparent;
  z-index: 100;
  transform: translate(0,-50%);
  cursor: pointer;
  transition: background 300ms;
  outline: none;
}
.grid-block.textarea-imageslider .slick-arrow:hover {
  background: rgba(255,255,255,0.6);
}
.grid-block.textarea-imageslider .slick-arrow::after {
  display: block;
  position: absolute;
  top: 50%;
  width: 25%;
  aspect-ratio: 1 / 1;
  border: 3px solid rgba(0,0,0,0.2);
  border-radius: 2px;
  border-left-color: transparent;
  border-bottom-color: transparent;
  content: '';
  transform: translate(0,-50%);
  transform-origin: center center;
  transition: 300ms;
}
.grid-block.textarea-imageslider .slick-arrow:hover::after {
  border: 3px solid rgba(0,0,0,0.5);
  border-left-color: transparent;
  border-bottom-color: transparent;
}
.grid-block.textarea-imageslider .slick-arrow.slick-prev::after {
  transform: translate(0,-50%) rotate(-135deg);
  left: 40%;
}
.grid-block.textarea-imageslider .slick-arrow.slick-next::after {
  transform: translate(0,-50%) rotate(45deg);
  left: 20%;
}

.grid-block.textarea-imageslider .slick-arrow.slick-next {
  right: 10px;
  left: auto;
}


.grid-block.textarea-imageslider .slick-dots {
  position: absolute;
  bottom: 10px;
}

.grid-block.textarea-imageslider .slick-dots li button {
  background: #333;
  outline: 1px solid #FFF;
  opacity: 0.2; 
}
.grid-block.textarea-imageslider .slick-dots li.slick-active button {
  background: #666;
  opacity: 0.5;
}

.grid-block.textarea-imageslider div.image-comment {
  position: relative !important;
  bottom: auto !important;
  left: auto !important;
  text-align: left !important;
  color: #333 !important;
  font-size: 0.9em !important;
  background: none !important;
  padding: 4px 0 30px 0 !important;
  border-top: 1px solid #CCC !important;
  text-align: center !important;
}
.grid-block.textarea-imageslider div.image-comment:empty {
  display: none;
}  
.grid-block.textarea-fullwidthimage img {
  width: 100%;
}

.grid-block.textarea-fullwidthimage div.image, .grid-block.textarea-fullwidthimage div.image-left, .grid-block.textarea-fullwidthimage div.right, .grid-block.textarea-fullwidthimage div.center {
  padding: 0;
  margin: 0;
  width: 100%;
  max-width: 100% !important;
}
.grid-block.textarea-accordion > ul {
  padding: 0;
  margin: 0;
}
.grid-block.textarea-accordion > ul > li {
  position: relative;
  padding: 0;
  margin: 0;
}
.grid-block.textarea-accordion > ul > li:nth-child(odd) {
  border-bottom: 1px solid #CCC;
  padding-top: 10px;
  margin-bottom: 20px;
  cursor: pointer;
}
.grid-block.textarea-accordion > ul > li:nth-child(odd)::after {
  display: block;
  position: absolute;
  right: 15px;
  top: 10px;
  width: 8px;
  height: 8px;
  border: 3px solid transparent;
  border-radius: 2px;
  border-top-color: #E0861A;
  border-right-color: #E0861A;
  transform: rotate(135deg);
  content: '';
}
.grid-block.textarea-accordion > ul > li:nth-child(odd).open::after {
  top: 20px;
  transform: rotate(-45deg);
}
.grid-block.textarea-accordion > ul > li:nth-child(even) {
  display: none;
  padding-bottom: 20px;
}
.grid-block.textline-herosubheadline {
  font-size: 2.12rem;
  font-weight: 500;
  line-height: 120%;
  overflow: visible;
}
@media all and (max-width: 1200px) {
  .grid-block.textline-herosubheadline {
    font-size: 1.8rem;
  }
}
@media all and (max-width: 900px) {
  .grid-block.textline-herosubheadline {
    font-size: 1.6rem;
  }
}
@media all and (max-width: 500px) {
  .grid-block.textline-herosubheadline {
    font-size: 1.3rem;
  }
}
.grid-block.textline-heroheadline {
  font-size: 4.5rem;
  font-weight: 500;
  line-height: 100%;
  overflow: visible;
}
@media all and (max-width: 1200px) {
  .grid-block.textline-heroheadline {
    font-size: 3.5rem;
  }
}
@media all and (max-width: 900px) {
  .grid-block.textline-heroheadline {
    font-size: 3rem;
  }
}
@media all and (max-width: 500px) {
  .grid-block.textline-heroheadline {
    font-size: 2rem;
  }
}
.grid-block.image-background {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}
.grid-block.image-background img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
@media all and (max-width: 600px ) {
  .grid-block.image-background {
    position: relative;
    top: auto;
    left: auto;
  }
}
.grid-block.image-backgroundparallax {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}
.grid-block.image-backgroundparallax img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
@media all and (max-width: 600px ) {
  .grid-block.image-backgroundparallax {
    position: relative;
    top: auto;
    left: auto;
  }
}
@media all and (max-width: 1600px) {
  .grid-row {
    padding: 0 50px;
  }
}

@media all and (min-width: 991px) {
  .hide-default { display: none; }
  .col-1 { grid-column: span 1; }
  .col-2 { grid-column: span 2; }
  .col-3 { grid-column: span 3; }
  .col-4 { grid-column: span 4; }
  .col-5 { grid-column: span 5; }
  .col-6 { grid-column: span 6; }
  .col-7 { grid-column: span 7; }
  .col-8 { grid-column: span 8; }
  .col-9 { grid-column: span 9; }
  .col-10 { grid-column: span 10; }
  .col-11 { grid-column: span 11; }
  .col-12 { grid-column: span 12; }
}

@media all and (min-width: 601px) and (max-width: 990px) {
  .grid-row { margin-top: 65px; margin-bottom: 65px; padding: 0 30px; }
  .hide-tablet { display: none; }
  .col-t-1 { grid-column: span 1; }
  .col-t-2 { grid-column: span 2; }
  .col-t-3 { grid-column: span 3; }
  .col-t-4 { grid-column: span 4; }
  .col-t-5 { grid-column: span 5; }
  .col-t-6 { grid-column: span 6; }
  .col-t-7 { grid-column: span 7; }
  .col-t-8 { grid-column: span 8; }
  .col-t-9 { grid-column: span 9; }
  .col-t-10 { grid-column: span 10; }
  .col-t-11 { grid-column: span 11; }
  .col-t-12 { grid-column: span 12; }
}

@media all and (max-width: 600px) {
  .grid-row { column-gap: 20px; margin-top: 90px; margin-bottom: 90px; padding-left: 20px; padding-right: 20px; row-gap: 30px;}
  .hide-mobile { display: none; }
  .col-m-1 { grid-column: span 1; }
  .col-m-2 { grid-column: span 2; }
  .col-m-3 { grid-column: span 3; }
  .col-m-4 { grid-column: span 4; }
  .col-m-5 { grid-column: span 5; }
  .col-m-6 { grid-column: span 6; }
  .col-m-7 { grid-column: span 7; }
  .col-m-8 { grid-column: span 8; }
  .col-m-9 { grid-column: span 9; }
  .col-m-10 { grid-column: span 10; }
  .col-m-11 { grid-column: span 11; }
  .col-m-12 { grid-column: span 12; }
}
