:root{
    --main-font:#000000;
    --main-bg:#ffffff;
    --diener-red1:#e30613;
    --diener-red2:#c20e1a;
    --diener-rotVerlauf: linear-gradient(90deg,var(--diener-red2) 0%, var(--diener-red1) 100%);
    --diener-rotVerlaufHover: linear-gradient(90deg,var(--diener-red2) 0%, var(--diener-red2) 100%);
    --diener-headFont : 'Bebas Neue Pro','Noto Sans SC','Arial Narrow', sans-serif;
    --diener-copyFont: 'Open Sans Variable','Noto Sans SC','Arial', sans-serif ;
    --diener-grau:#3c3c3c;
    --diener-lightGrau: #f0f0f0;
    --diener-lightGrau2: #cccccc;
    --diener-lightGrau1: #e6e6e6;
    --diener-lightGrauVerlauf: linear-gradient(90deg,var(--diener-lightGrau1),var(--diener-lightGrau2));
    --diener-green: #0fb30f;
    --diener-lightBlue: #5fa7ff;
    --diener-darkBlue: #4179e0;
    --diener-blueVerlauf: linear-gradient(135deg, #080f18 0%, #283242 65%, #717a9c 100%);
    
}

*{
    box-sizing: border-box;
    text-rendering: optimizeLegibility;
    margin:0;
    padding: 0;
}
form{
    margin: 0;
}
figure{
    margin:0;
    padding: 0;
}
body {
    margin: 0;
    font-family:var(--diener-copyFont);
    font-size: 16px;
    font-weight: 300;
    line-height: 1.75em;
    color: var(--main-font);
    text-align: left;
    background-color: var(--main-bg);
    -webkit-text-size-adjust: 100%;
    -webkit-tap-highlight-color: transparent;
}

main{
    max-width: 2560px;
    position: relative;
    margin: 0 auto;
}

h1,h2,h3,h4,h5,.h1,.h2,.h3,.h4,.h5{
    font-family: var(--diener-headFont);
    font-weight: 600;
    line-height: 1em;
    margin-top: 0;
    margin-bottom: 0.5em;
    word-break: break-word;
    hyphens: auto;
}

h1,.h1 {
  font-size: clamp(3rem, 2.6364rem + 1.8182vw, 4rem);
}

@media (min-width: 1200px) {
    h1,.h1 {
        font-size: 4rem;
    }
}

h2,.h2 {
  font-size: clamp(2.25rem, 1.9773rem + 1.3636vw, 3rem);
}
@media (min-width: 1200px) {
    h2,.h2 {
        font-size: 3rem;
    }
}

h3,.h3 {
  font-size: clamp(1.75rem, 1.6591rem + 0.4545vw, 2rem);
}
@media (min-width: 1200px) {
  h3,.h3 {
    font-size: 2rem;
  }
}

h4,.h4 {
  font-size: 1.5rem;
}
@media (min-width: 1200px) {
  h4,.h4 {
    font-size: 1.5rem;
  }
}

h5,.h5 {
  font-size: 1.5rem;
}

p {
    margin-top: 0;
    margin-bottom: 1em;
}
p.small {
    font-size:0.8rem;
}

a{
    text-decoration: none;
    color: inherit;
}
a:hover{
    text-decoration: underline;
}

button{
    border:none;
}
input {
    font-size: 1rem;
    padding: 0.6rem;
    border-radius: 0;
    border: 1px solid var(--diener-lightGrau2);
    display: inline-block;
    vertical-align: top;
}

p a {
    text-decoration: none;
    color: var(--diener-red1);
    font-weight: 600;
}

p a:hover {
    color: var(--diener-red2);
    text-decoration: underline;
}
*, input, select, textarea, option, button {
    outline: none !important;
}
img {
    max-width: 100%;
    height: auto;
    display: block;
    image-rendering: -webkit-optimize-contrast;
    transform: translateZ(0);
}

strong, b{
    font-weight: 600;
}

main li {
    list-style-position: outside;
    margin: 0 0 0 20px;
}

.stage .btn{
    margin-top:1rem;
}
.bgDienerWhite{
    background-color: #ffffff;
}
.bgDienerDarkGrey{
    background-color: var(--diener-grau);
    color: #fff;
}
.bgDienerLightGrey{
    background-color: var(--diener-lightGrau);
}
.bgDienerLightGrey1,.frame-hellgrau{
    background-color: var(--diener-lightGrau1);
}
.bgDienerLightGrey2{
    background-color: var(--diener-lightGrau2);
}

.bgDienerLightGreyVerlauf{
    background: var(--diener-lightGrauVerlauf);
}
.bgDienerRotVerlauf{
    background: var(--diener-rotVerlauf);
    color:#fff;
}
.bgDienerBlueVerlauf{
    background: var(--diener-blueVerlauf);
    color:#fff;
}
.boxBorder{
  border-radius: 30px;
}

@media (max-width: 991px) {
  .cta-double-box div:nth-child(1){
        padding-bottom: calc(3rem) !important;
  }
  .cta-double-box div:nth-child(2){
        margin-top: -1.5rem !important;
  }
}

@media (min-width: 992px) {
  .cta-double-box div:nth-child(1){
      padding-right: calc(8.3333333333333333333333333333333% + 2rem) !important;
  }
  .cta-double-box div:nth-child(2){
        margin-left: -8.3333333333333333333333333333333% !important;
  }
}




.btn {
    display: inline-block;
    padding: .625rem 1.25rem;
    line-height: 0.875em;
    font-family: var(--diener-headFont);
    font-size: 1.375rem;
    text-decoration: none;
    color: #ffffff;
    font-weight: 600;
    transition: all 0.45s cubic-bezier(0.65, 0, 0.076, 1);
    position: relative;
    z-index: 1;
}
.btn:hover{
    text-decoration: none !important;
}
.btn.btn-primary{
    background: var(--diener-rotVerlauf);
}
.btn.btn-primary:hover{
    background: var(--diener-rotVerlaufHover);
    color: #fff;
    text-decoration: none;
}
.btn-secondary {
    border: 2px solid var(--diener-red1);
    border-radius: .5rem;
    color: var(--diener-red1);
}
.btn-secondary:hover {
    color:#fff;
    text-decoration: none;
    background: var(--diener-red1);
}
.btn-tertiary {
    border: 2px solid var(--diener-grau);
    color: var(--diener-grau);
}
.btn-tertiary:hover {
    color:#fff;
    text-decoration: none;
    background: var(--diener-grau);
}
.btn-tertiary-bright {
    border: 2px solid #fff;
    color: #fff;
}
.btn-tertiary-bright:hover {
    color:var(--diener-grau);
    text-decoration: none;
    background: #fff;
}

.btn-compare{
    display: block;
}

.btn-mail, .btn-tel, .btn-more, .btn-compare{
    padding-left: calc(42px + 0.675em);
    color: var(--diener-grau);
}
.btn-download{
    padding-left: calc(42px + 0.675em);
    color: var(--diener-grau);
}

.btn-mail:hover, .btn-tel:hover, .btn-download:hover, .btn-more:hover {
    color: #fff;
}
.btn-mail::before, .btn-tel::before, .btn-download::before, .btn-more::before, .btn-compare::before{
    content: '';
    width: 42px;
    height: 42px;
    display: inline-block;
    position: absolute;
    left: 0;
    top: calc(50% - 42px / 2);
    background-position: center;
    background-repeat: no-repeat;
    background-size: 42px;
    background-color: var(--diener-grau);
    border-radius: 21px;
    transition: all 0.45s cubic-bezier(0.65, 0, 0.076, 1);
    background-origin: content-box;
    z-index: -1;
}
.btn-mail::before{
    background-image: url(../Images/mail_white.svg);
}
.btn-tel::before{
    background-image: url(../Images/phone_white.svg);
}
.btn-more::before{
    background-image: url(../Images/more_white.svg);
}
.btn-compare::before{
    background-image: url(../Images/compare_white.svg);
    border-radius: .5rem 0 0 .5rem;
    background-color: var(--diener-red1);
}

.btn-download::before{
    background-image: url(../Images/download_white.svg);
    background-color: var(--diener-darkBlue)
}
.btn-download:hover::before{
    background-color: var(--diener-lightBlue)
}
.btn-mail:hover::before, .btn-tel:hover::before, .btn-download:hover::before, .btn-more:hover::before{
    padding-right: calc(100% - 42px - 0.675em);
    width: calc(42px + 0.675em);
}
.btn + .btn{
    margin-top:1rem;
}
@media (min-width: 992px) {
.btn + .btn{
	margin-top: 0;
	margin-left:1rem;
}
}


nav.solr-pagination ul{
        flex-direction: row;
}



/* Headline */
    .ce-headline-left { text-align: left; }
    .ce-headline-center { text-align: center; }
    .ce-headline-right { text-align: right; }

    /* Uploads */
    .ce-uploads { margin: 0; padding: 0; }
    .ce-uploads li { list-style: none outside none; margin: 1em 0; }
    .ce-uploads img { float: left; padding-right: 1em; vertical-align: top; }
    .ce-uploads span { display: block; }

    /* Table */
    .ce-table { width: 100%; max-width: 100%; }
    .ce-table th, .ce-table td { padding: 0.5em 0.75em; vertical-align: top; }
    .ce-table thead th { border-bottom: 2px solid #dadada; }
    .ce-table th, .ce-table td { border-top: 1px solid #dadada; }
    .ce-table-striped tbody tr:nth-of-type(odd) { background-color: rgba(0,0,0,.05); }
    .ce-table-bordered th, .ce-table-bordered td { border: 1px solid #dadada; }

    /* Space */
    .frame-space-before-noSpace {margin-top:0 !important;}
    .frame-space-before-extra-small { margin-top: 1em !important; }
    .frame-space-before-small { margin-top: 2em !important; }
    .frame-space-before-medium { margin-top: 3em !important; }
    .frame-space-before-large { margin-top: 4em !important; }
    .frame-space-before-extra-large { margin-top: 5em !important; }
    .frame-space-after-noSpace {margin-bottom:0 !important;}
    .frame-space-after-extra-small { margin-bottom: 1em !important; }
    .frame-space-after-small { margin-bottom: 2em !important; }
    .frame-space-after-medium { margin-bottom: 3em !important; }
    .frame-space-after-large { margin-bottom: 4em !important; }
    .frame-space-after-extra-large { margin-bottom: 5em !important; }


main>.frame-default,main>.container  {
    margin-top: 3em;
    margin-bottom: 3em;
}
main .frame-type-html{
    margin: 0 !important;
    padding: 0!important;
}


.text-center{
    text-align: center;
}
.text-left{
    text-align: left;
}
.text-right{
    text-align: right;
}
.text-red{
    color:var(--diener-red1);
}
.text-black{
    color:#000000;
}
.text-white{
    color:#ffffff;
}




.position-absolute {
  position: absolute;
}

.position-relative {
  position: relative;
}
.position-sticky {
  position: sticky;
top: calc(var(--headerHeight) + 3rem);
  z-index: 9;
}
@media (min-width: 576px) {
.position-sm-absolute {
  position: absolute;
}

.position-sm-relative {
  position: relative;
}
.position-sm-sticky {
  position: sticky;
top: calc(var(--headerHeight) + 3rem);
  z-index: 9;
}
.text-sm-center{
    text-align: center;
}
.text-sm-left{
    text-align: left;
}
.text-sm-right{
    text-align: right;
}
}
@media (min-width: 768px) {
.position-md-absolute {
  position: absolute;
}

.position-md-relative {
  position: relative;
}
.position-md-sticky {
  position: sticky;
top: calc(var(--headerHeight) + 3rem);
  z-index: 9;
}
.text-md-center{
    text-align: center;
}
.text-md-left{
    text-align: left;
}
.text-md-right{
    text-align: right;
}
}
@media (min-width: 992px) {
.position-lg-absolute {
  position: absolute;
}

.position-lg-relative {
  position: relative;
}
.position-lg-sticky {
  position: sticky;
top: calc(var(--headerHeight) + 3rem);
  z-index: 9;
}
.text-lg-center{
    text-align: center;
}
.text-lg-left{
    text-align: left;
}
.text-lg-right{
    text-align: right;
}
}
@media (min-width: 1200px) {
.position-xl-absolute {
  position: absolute;
}

.position-xl-relative {
  position: relative;
}
.position-xl-sticky {
  position: sticky;
top: calc(var(--headerHeight) + 3rem);
  z-index: 9;
}
.text-xl-center{
    text-align: center;
}
.text-xl-left{
    text-align: left;
}
.text-xl-right{
    text-align: right;
}
}
@media (min-width: 1400px) {
.position-xxl-absolute {
  position: absolute;
}

.position-xxl-relative {
  position: relative;
}
.position-xxl-sticky {
  position: sticky;
top: calc(var(--headerHeight) + 3rem);
  z-index: 9;
}
.text-xx-center{
    text-align: center;
}
.text-xxl-left{
    text-align: left;
}
.text-xxl-right{
    text-align: right;
}
}
.pointer{
    cursor: pointer;
}



















/*! Flickity v2.0.5
https://flickity.metafizzy.co
---------------------------------------------- */

.flickity-enabled {
    position: relative;
}
/* .flickity-enabled:focus { outline: none; } */

.flickity-viewport {
    overflow: hidden;
    position: relative;
    height: 100%;
}
.flickity-slider {
    position: absolute;
    width: 100%;
    height: 100%;
}
/* draggable */

.flickity-enabled.is-draggable {
    -webkit-tap-highlight-color: transparent;
    /*           tap-highlight-color: transparent; */
    -webkit-user-select: none;
    -moz-user-select: none;
    -ms-user-select: none;
    user-select: none;
}
.flickity-enabled.is-draggable .flickity-viewport {
    cursor: move;
    cursor: -webkit-grab;
    cursor: grab;
}
.flickity-enabled.is-draggable .flickity-viewport.is-pointer-down {
    cursor: -webkit-grabbing;
    cursor: grabbing;
}
.flickity-viewport {
    margin: 0px;
    width: 100%;
}
	/* ---- flickity-button ---- */

.flickity-button {
  position: absolute;
  background: hsla(0, 0%, 100%, 0.75);
  border: none;
  color: #333;
	z-index: 2;
}

.flickity-button:hover {
  background: white;
  cursor: pointer;
}

.flickity-button:focus {
  outline: none;
  box-shadow: 0 0 0 5px #19F;
}

.flickity-button:active {
  opacity: 0.6;
}

.flickity-button:disabled {
  opacity: 0.3;
  cursor: auto;
  /* prevent disabled button from capturing pointer up event. #716 */
  pointer-events: none;
}

.flickity-button-icon {
  fill: currentColor;
}

/* ---- previous/next buttons ---- */

.flickity-prev-next-button {
  top: 50%;
  width: 44px;
  height: 44px;
  border-radius: 50%;
  /* vertically center */
  transform: translateY(-50%);
}

.flickity-prev-next-button.previous { left: 70px; }
.flickity-prev-next-button.next { right: 70px; }
	@media (max-width:768px){
		.flickity-prev-next-button.previous { left: 10px; }
.flickity-prev-next-button.next { right: 10px; }
	}
/* right to left */
.flickity-rtl .flickity-prev-next-button.previous {
  left: auto;
  right: 10px;
}
.flickity-rtl .flickity-prev-next-button.next {
  right: auto;
  left: 10px;
}

.flickity-prev-next-button .flickity-button-icon {
  position: absolute;
  left: 20%;
  top: 20%;
  width: 60%;
  height: 60%;
}
/* ---- page dots ---- */

.flickity-page-dots {
  position: absolute;
  width: 100%;
  bottom: -25px;
  padding: 0;
  margin: 0;
  list-style: none;
  text-align: center;
  line-height: 1;
}

.flickity-rtl .flickity-page-dots { direction: rtl; }

.flickity-page-dots .dot {
  display: inline-block;
  width: 10px;
  height: 10px;
  margin: 0 8px;
  background: #333;
  border-radius: 50%;
  opacity: 0.25;
  cursor: pointer;
}

.flickity-page-dots .dot.is-selected {
  opacity: 1;
}



img.pswp__img {
    background: #fff;
}
