.rechnerholder {
    line-height: 1.25
}

/** BASICS **/

.rechnerholder .small-gap {
    margin-bottom: 15px !important;
}

.rechnerholder .gap {
    margin-bottom: 30px !important;
}

.rechnerholder .big-gap {
    margin-bottom: 60px !important;
}

.rechnerholder .no-margin {
    margin: 0;
    padding: 0;
}

.rechnerholder .h1, .rechnerholder h1 {
    font-size: clamp(1.5rem, 2.5vW, 2.5rem);
}

.rechnerholder .h2, .rechnerholder h2 {
    font-size: clamp(1.25rem, 2.5vW, 2rem);
}

.rechnerholder .h3, .rechnerholder h3 {
    font-size: clamp(1.25rem, 2.5vW, 2rem);
}

.rechnerholder .h4, .rechnerholder h4 {
    font-size: clamp(1rem, 2.5vW, 1.5rem);
}

.rechnerholder .h5, .rechnerholder h5 {
    font-size: clamp(1rem, 2.5vW, 1.5rem);
}

.rechnerholder .h6, .rechnerholder h6 {
    font-size: 1rem
}

.rechnerholder h1, .rechnerholder .h1, .rechnerholder h2, .rechnerholder .h2, .rechnerholder h3, .rechnerholder .h3, .rechnerholder h4, .rechnerholder .h4, .rechnerholder h5, .rechnerholder .h5, .rechnerholder h6, .rechnerholder .h1, .rechnerholder .h2, .rechnerholder .quotes {
    font-weight: 700;
    letter-spacing: 0;
    color: #4A88A5;
    margin-bottom: 0
}

.rechnerholder h1, .rechnerholder h3, .rechnerholder h5 {
    font-weight: bold
}

.rechnerholder .head h1 {
    color: #fff
}

.rechnerholder .newsitem h4 {
    margin-bottom: 10px !important;
}

.rechnerholder .form-control {
    color: #000;
    border-radius: 8px !Important;
    border: 2px solid #d8d4d2;
    background: #fff;
    box-shadow: none;
    margin-bottom: 15px !important;
    padding: 20px 9px 5px !important;
    height: auto;
    line-height: 1;
}

#kontakt .form-control {
    color: #fff;
    background-color: transparent
}

#kontakt .form-control:focus {
    background-color: rgba(255, 255, 255, .15)
}

#kontakt select option {
    color: #000
}

.rechnerholder .form-group {
    position: relative
}

.rechnerholder [data-class="wpcf7cf_group"] {
    width: 100%
}

.rechnerholder .form-group label {
    position: absolute;
    left: 9px;
    top: 3px;
    font-size: 12px;
    font-weight: 700;
    z-index: 2
}

.rechnerholder .wpcf7-form-control-wrap {
    position: relative;
    display: block;
}


.rechnerholder textarea.form-control {
    height: auto;
}

.rechnerholder .form-control:focus {
    border-color: #3cbeff !important;
}


.rechnerholder .form-control::-moz-placeholder {
    color: #aaa !important;
    opacity: 1;
}

.rechnerholder .form-control:-ms-input-placeholder {
    color: #aaa !important;
}

.rechnerholder .form-control::-webkit-input-placeholder {
    color: #aaa !important;
}

.backArrow, .nextArrow {
    height: 20px;
    width: 20px;
    border: 2px solid transparent;
    transform-origin: center;
    transform: rotate(45deg);
    display: inline-block
}

.backArrow {
    border-left-color: #4A88A5;
    border-bottom-color: #4A88A5;
}

.nextArrow {
    border-right-color: #4A88A5;
    border-top-color: #4A88A5;
}

.backArrow:hover {
    border-left-color: #3cbeff;
    border-bottom-color: #3cbeff;
}

.nextArrow:hover {
    border-right-color: #3cbeff;
    border-top-color: #3cbeff;
}

.rechnerholder .btn-default, #newsletter input[type=submit], input[type="button"], input[type="submit"], #artikelanfrage-gruppe button {
    background: #003c70;
    border: 2px solid transparent !important;
    text-decoration: none;
    color: #fff;
    padding: 15px 2rem;
    box-shadow: none !important;
    border-radius: 8px !Important;
    position: relative;
    line-height: 1;
    font-weight: 700;
    font-size: 1.25rem;
    text-transform: uppercase
}


.rechnerholder .prevBtn {
    background: transparent;
    color: #4a88a5;
    border: 2px solid #4a88a5 !important;
    font-size: 1.25rem
}

.rechnerholder .btn-invert {
    background: #003c70;
    color: #fff;
    border-color: #003c70 !important
}

.rechnerholder form.search-form .btn-default {
    margin-bottom: 0 !important;
    /* padding: 0 !important; */
    height: 46px;
}

.rechnerholder .searchbar form.search-form .btn-default {
    margin-bottom: 0 !important;
    /* padding: 0 !important; */
    height: 43px;
}

.rechnerholder #rechner .btn-default {
    border-color: #fff !Important
}

/* Landscape phones and portrait tablets */
@media (max-width: 767px) {
    .rechnerholder .btn-default, #newsletter input[type=submit], input[type="button"], input[type="submit"], #artikelanfrage-gruppe button {

        font-size: 16px;
    }

}

.rechnerholder .btn-default:hover, button:hover, button:focus, input[type="button"]:hover, input[type="button"]:focus, input[type="submit"]:hover, input[type="submit"]:focus {
    background: #3cbeff;
    color: #fff
}

.rechnerholder .small, small {
    font-size: 70%;
}


/** RECHNER **/
.rechnerholder {
    padding: 60px 45px;
    background-color: #f0ece3;
    margin: 60px auto;
    border-radius: 20px;
    color: #003c70;
    font-size: 18px;
    font-family: 'Open Sans', sans-serif;
    position: relative;
    overflow: hidden;
}

.rechnerholder p {
    color: #003c70;
}

.rechnerholder p.h3 {
}

.rechnerholder .form-control {
    margin-bottom: 0 !important;

}

.rechnerholder input[type="date"], input[type="date"].form-control {
    min-height: 50px;
}

.rechnerholder .form-group label {
    pointer-events: none
}

.rechnerholder .footerlogos, .footerprogress, .footerdanke {
    display: none
}

.rechnerholder .footerlogos {
    font-size: 14px
}

.rechnerholder form .small {
    font-size: 16px;
}

@media (min-width: 1600px) {
    .rechnerholder .footerlogos {
        font-size: 16px
    }

}

.rechnerholder.start .footerlogos {
    display: block
}

.rechnerholder.questions .footerprogress {
    display: block
}

.rechnerholder.danke .footerdanke {
    display: block
}

.rechnerholder.danke .footerprogress {
    display: block
}

.rechnerholder.questions.loading:before {
    content: '';
    /* inset: 0; */
    background-color: rgba(255, 255, 255, .75);
    z-index: 10;
    left: 0;
    right: 0;
    top: 0;
    bottom: 0;
    position: absolute;
}

.rechnerholder.loading:after {
    content: "\f1ce";
    position: absolute;
    left: 50%;
    top: 50%;
    z-index: 11;
    margin: -25px 0 0 -25px;
    font-family: "Font Awesome 5 Pro";
    -moz-osx-font-smoothing: grayscale;
    -webkit-font-smoothing: antialiased;
    display: inline-block;
    font-style: normal;
    font-variant: normal;
    text-rendering: auto;
    line-height: 1;
    -moz-animation: loadingrechner 2s infinite;
    -webkit-animation: loadingrechner 2s infinite;
    animation: loadingrechner 2s linear infinite;
    font-size: 50px
}

@keyframes loadingrechner {
    0% {
        transform: rotatez(0);
    }

    100% {
        transform: rotatez(360deg);
    }
}


.rechnerholder .haken {
    fill: #3cbeff;
}

.rechnerholder .question {
    display: block
}

@media (max-width: 991px) {
    .rechnerholder .question, .rechnerholder .footerelement {
        height: auto !important
    }
}

.rechnerholder .question.out {
    display: none
}

.rechnerholder .starticon1 {
    fill: #003C70;
}

.rechnerholder .starticon2 {
    fill: #003C70;
}

.rechnerholder .starticon3 {
    fill: #003C70;
}

.rechnerholder .starticon4 {
    fill: #003C70;
}

.rechnerholder .st6 {
    fill: #003C70;
}

.rechnerholder .starticongroup .st1 {
    fill: #fff
}

.rechnerholder .starticongroup .st1 {
    animation-name: startbgblink;
    animation-duration: 6s;
    animation-iteration-count: infinite;
}

.rechnerholder .starticongroup2 .st1 {
    animation-delay: 1s;
}

.rechnerholder .starticongroup3 .st1 {
    animation-delay: 2s;
}

.rechnerholder .starticongroup4 .st1 {
    animation-delay: 3s;
}

.rechnerholder .starticongroup5 .st1 {
    animation-delay: 4s;
}

.rechnerholder .starticongroup6 .st1 {
    animation-delay: 5s;
}

.rechnerholder .starticongroup .starticon {
    animation-name: starticonblink;
    animation-duration: 6s;
    animation-iteration-count: infinite;
}

.rechnerholder .starticongroup2 .starticon {
    animation-delay: 1s;
}

.rechnerholder .starticongroup3 .starticon {
    animation-delay: 2s;
}

.rechnerholder .starticongroup4 .starticon {
    animation-delay: 3s;
}


@keyframes starticonblink {
    0% {
        fill: #003C70
    }
    16.7% {
        fill: #fff
    }
    33% {
        fill: #003C70;
    }
    100% {
        fill: #003C70
    }
}

@keyframes startbgblink {
    0% {
        fill: #fff
    }
    16.7% {
        fill: #c8aa41
    }
    33% {
        fill: #fff;
    }
    100% {
        fill: #fff
    }
}

.rechnerholder span.rechnernumber {
    border-radius: 50%;
    background-color: #003c70;
    text-align: center;
    line-height: 43px;
    width: 43px;
    display: inline-block;
    color: #fff;
    font-weight: bold;
    font-size: 2rem
}

.rechnerholder .startbutton {
    border-radius: 20px;
    background-color: #fff;
    padding: 15px;
    text-align: center;
    border: 5px solid #003c70;
}

.rechnerholder .rechnerbutton {
    border: 4px solid #4a88a5;
    border-radius: 30px;
    background-color: #fff;
    padding: 15px;
    text-align: center;
    margin-bottom: 15px;
    font-size: 14px;
    cursor: pointer;
    height: 100%;
}

.rechnerholder .rechnerbutton .st0 {
    fill: #003c70
}

@media (min-width: 768px) {

}

@media (min-width: 992px) {
    .rechnerholder .rechnerbutton {
        font-size: 16px;
    }
}

@media (min-width: 1200px) {
    .rechnerholder .rechnerbutton {
        margin-bottom: 0;
        font-size: 16px;
    }
}

@media (min-width: 1400px) {
    .rechnerholder .rechnerbutton {
        margin-bottom: 0;
        font-size: 18px;
    }
}

.rechnerholder .rechnerlabel {
    font-weight: bold;
    color: #003c70;
    font-size: 1.25rem
}

.rechnerholder .rechnerbutton:hover {
    border-color: #c8aa41
}

.rechnerholder .rechnerbutton:hover svg .st0 {
    fill: #c8aa41
}

.rechnerholder .startbutton svg,
.rechnerholder .rechnerbutton svg {
    position: relative;
    margin: 0 auto 0;
    max-width: 75%;
}

.rechnerholder .startbutton:after {
    content: '';
    padding-bottom: 100%;
    display: block;
}

.rechnerholder .startbutton svg {
    max-width: 75%;
    position: absolute;
    left: 50%;
    top: 50%;
    transform: translate(-50%, -50%);
}


@media (min-width: 1200px) {
    .rechnerholder .rechnerbutton svg {
        margin: 0 auto 15px;
    }
}

.rechnerholder .star {
    fill: transparent;
    transition: fill ease .3s;
}

.rechnerholder .starouter {
    fill: #d8d4d2;
    transition: fill ease .3s;
}

.rechnerholder .rechnerbutton:hover .starouter {
    fill: #c8aa41
}

.rechnerholder .rechnerbutton:hover .star.fill {
    fill: #c8aa41
}

.rechnerholder .rechnerbutton .stargroup {
    transform-origin: center;
    transform-box: fill-box;
    transition: all ease .3s
}

.rechnerholder .rechnerbutton g.hauszustand path.st0 {
    fill: #c8aa41
}

.rechnerholder .rechnerbutton g.hauszustand {
    opacity: 0;
    transition: opacity ease .3s
}

.rechnerholder .rechnerbutton .hauszeichnung {
    opacity: 1;
    fill: #003C70;
    transition: opacity ease .3s
}

.rechnerholder .rechnerbutton:hover g.hauszustand {
    opacity: 1;
}

.rechnerholder .rechnerbutton:hover .hauszeichnung {
    opacity: 0;
}

.rechnerholder .rechnerbutton:hover .stargroup {
    animation: blitz 1s;
}

.rechnerholder .rechnerbutton:hover .stargroup.delay1 {
    animation-delay: .1s
}

.rechnerholder .rechnerbutton:hover .stargroup.delay2 {
    animation-delay: .2s
}

@keyframes blitz {
    0% {
        transform: scale(1) rotateZ(0deg);
    }
    50% {
        transform: scale(1.25) rotateZ(0deg);
    }

    100% {
        transform: scale(1) rotateZ(0deg);
    }
}

/*
@keyframes blitz {
    0% {
        transform: scale(1) rotateZ(0deg);
    }
    50% {
        transform: scale(1.25) rotateZ(360deg);
    }

    100% {
        transform: scale(1)  rotateZ(360deg);
    }
}*/
/*
.rechnerbutton:hover svg .st0 {
    fill: #c8aa41
}*/

.rechnerholder .grundriss, .rechnerholder .haus, .rechnerholder .person, .rechnerholder .zeit, .rechnerholder .kompass {
    display: block;
    position: relative;
}

.rechnerholder .grundriss:after, .rechnerholder .clock:after, .rechnerholder .haus:after, .rechnerholder .person:after, .rechnerholder .zeit:after, .rechnerholder .kompass:after {
    content: '';
    display: block;
    padding-bottom: 100%;
}

.rechnerholder .grundriss1, .rechnerholder .grundriss2, .rechnerholder .grundriss3 {
    position: absolute;
    left: 0;
    top: 0%;
    opacity: 0;
    transition: all .66s cubic-bezier(.47, 1.64, .41, .8);
    transform-origin: bottom right;
}

.rechnerholder .grundriss1.in, .rechnerholder .grundriss2.in, .rechnerholder .grundriss3.in {
    opacity: 1;
}

.rechnerholder .grundriss1:after, .rechnerholder .grundriss2:after, .rechnerholder .grundriss3:after {
    content: '';
    display: block;
    padding-bottom: 100%;
}

.rechnerholder .grundriss1 {
    width: 75%;
}

.rechnerholder .grundriss2 {
    width: 75%;
}

.rechnerholder .grundriss3 {
    width: 75%;
}

.rechnerholder .grundriss svg {
    position: absolute;
    left: 50%;
    top: 50%;
    transform: translate(-50%, -50%);
    width: 100%;
}

.rechnerholder .grundriss svg .st0 {
    fill: #003C70;
}

.rechnerholder .haus1, .rechnerholder .haus2, .rechnerholder .haus3 {
    position: absolute;
    left: 50%;
    top: 50%;
    opacity: 0;
    transition: all .66s cubic-bezier(.47, 1.64, .41, .8);
    transform-origin: center;
    transform: translate(-50%, -50%) scale(0);
}

.rechnerholder .haus1:after, .rechnerholder .haus2:after, .rechnerholder .haus3:after {
    content: '';
    display: block;
    padding-bottom: 100%;
}

.rechnerholder .haus1.in, .rechnerholder .haus2.in, .rechnerholder .haus3.in {
    opacity: 1;
    transform: translate(-50%, -50%) scale(1);
}

.rechnerholder .haus1 {
    width: 75%;
}

.rechnerholder .haus2 {
    width: 75%;
}

.rechnerholder .haus3 {
    width: 75%;
}

.rechnerholder .haus svg {
    position: absolute;
    left: 50%;
    top: 50%;
    transform: translate(-50%, -50%);
    width: 100%;
}

.rechnerholder .haus svg .st0 {
    fill: #003C70;
}

.rechnerholder .person1, .rechnerholder .person2 {
    position: absolute;
    left: 0;
    top: 0%;
    transition: all .66s cubic-bezier(.47, 1.64, .41, .8);
    transform-origin: bottom right;
}

.rechnerholder .person1:after, .rechnerholder .person2:after {
    content: '';
    display: block;
    padding-bottom: 100%;
}

.rechnerholder .person1, .rechnerholder .person2 {
    position: absolute;
    left: 50%;
    top: 50%;
    transition: all .66s cubic-bezier(.47, 1.64, .41, .8);
    transform-origin: center;
    transform: translate(-50%, -50%);
}

.rechnerholder .person1 {
    width: 75%;
}

.rechnerholder .person2 {
    width: 75%;
}

.rechnerholder .clock svg,
.rechnerholder .person svg {
    position: absolute;
    left: 50%;
    top: 50%;
    transform: translate(-50%, -50%) scale(1);
    width: 100%;
    transition: all ease .3s
}

.rechnerholder .person svg .st0 {
    fill: #003C70;
}

.rechnerholder .clock svg #zeiger rect.st4 {
    fill: none;
    stroke: none
}

.rechnerholder .clock svg #clock .st3,
.rechnerholder .clock svg #zeiger .st3 {
    fill: #003C70;
}

.rechnerholder .clock svg #step1,
.rechnerholder .clock svg #step2,
.rechnerholder .clock svg #step3 {
    fill: #3cbeff;
    opacity: 0;
    transition: opacity linear .25s
}

.rechnerholder .clock circle {
    fill: #f0ece3
}

.rechnerholder .clock #step2,
.rechnerholder .clock #step3 {
}

.rechnerholder .clock #zeiger {
    transform-origin: 49.5% 57% !important;
    transition: all .66s cubic-bezier(.47, 1.64, .41, .8);
    transform: rotateZ(20deg)
}

.rechnerholder .clock.step2 #zeiger {
    transform: rotateZ(66deg);
}

.rechnerholder .clock.step3 #zeiger {
    transform: rotateZ(118deg)
}

.rechnerholder .clock.step1 #step3,
.rechnerholder .clock.step1 #step2 {
    opacity: 0;

}

.rechnerholder .clock.step1 #step1 {
    opacity: 1;
}

.rechnerholder .clock.step2 #step1,
.rechnerholder .clock.step2 #step3 {
    opacity: 0;

}

.rechnerholder .clock.step2 #step2 {
    opacity: 1;
}

.rechnerholder .clock.step3 #step1,
.rechnerholder .clock.step3 #step2 {
    opacity: 0;
}

.rechnerholder .clock.step3 #step3 {
    opacity: 1;
}


.rechnerholder .person svg .st0.smile {
    transition: opacity ease .3s;
    opacity: 0
}

.rechnerholder .person1.in svg .st0.smile {
    opacity: 1
}

.rechnerholder .person1.in svg, .person2.in svg {
    transform: translate(-50%, -50%) scale(1.05)
}

.rechnerholder .person1.in svg .st0, .person1.in svg .st1 {
    fill: #3cbeff
}

.rechnerholder .person2.in svg .smile {
    opacity: 1
}

.rechnerholder .person2.in svg .mouth {
    opacity: 0
}

.rechnerholder .person2.in svg .st0, .person2.in svg .st1 {
    fill: #3cbeff
}

.rechnerholder .zeit {
}

.rechnerholder .zeiger, .rechnerholder .uhr {
    position: absolute;
    left: 50%;
    top: 50%;
    transition: all .66s cubic-bezier(.47, 1.64, .41, .8);
    transform-origin: center;
    transform: translate(-50%, -50%);
    width: 75%;
}

.rechnerholder .uhr {
    z-index: 2
}

.rechnerholder .zeiger .st0 {
    fill: url(#SVGID_1_);
    z-index: 1
}

.rechnerholder .zeiger {
    transform: translate(-50%, -50%) rotate(0deg);
    transform-origin: 49.5% 57% !important;
    transition: all .66s cubic-bezier(.47, 1.64, .41, .8);
}

.rechnerholder .zeiger .wusch {
    transition: opacity ease .5s;
    opacity: 0
}

.rechnerholder .zeit.in .zeiger {
    transform: translate(-50%, -50%) rotate(360deg);
    transition: linear 6s;
}

.rechnerholder .zeit.in .zeiger .wusch {
    opacity: 1;
    transition: opacity ease .3s;
}

.rechnerholder .nadel, .rechnerholder .basis {
    position: absolute;
    left: 50%;
    top: 50%;
    transition: all .66s cubic-bezier(.47, 1.64, .41, .8);
    transform-origin: center;
    -o-transform: translate(-50%, -50%) rotate(0deg);
    -webkit-transform: translate(-50%, -50%) rotate(0deg);
    -moz-transform: translate(-50%, -50%) rotate(0deg);
    transform: translate(-50%, -50%) rotate(0deg);
    width: 75%;
    animation: kompassnadel 6s forwards;
    animation-play-state: paused;
}

.rechnerholder .kompass.in .nadel {
    animation-play-state: running;
}

@keyframes kompassnadel {

    0% {
        -o-transform: translate(-50%, -50%) rotate(0deg);
        -webkit-transform: translate(-50%, -50%) rotate(0deg);
        -moz-transform: translate(-50%, -50%) rotate(0deg);
        transform: translate(-50%, -50%) rotate(0deg);
    }
    5% {
        -o-transform: translate(-50%, -50%) rotate(-20deg);
        -webkit-transform: translate(-50%, -50%) rotate(-20deg);
        -moz-transform: translate(-50%, -50%) rotate(-20deg);
        transform: translate(-50%, -50%) rotate(-20deg)
    }
    10% {
        -o-transform: translate(-50%, -50%) rotate(20deg);
        -webkit-transform: translate(-50%, -50%) rotate(20deg);
        -moz-transform: translate(-50%, -50%) rotate(20deg);
        transform: translate(-50%, -50%) rotate(20deg)
    }
    15% {
        -o-transform: translate(-50%, -50%) rotate(-15deg);
        -webkit-transform: translate(-50%, -50%) rotate(-15deg);
        -moz-transform: translate(-50%, -50%) rotate(-15deg);
        transform: translate(-50%, -50%) rotate(-15deg)
    }
    20% {
        -o-transform: translate(-50%, -50%) rotate(15deg);
        -webkit-transform: translate(-50%, -50%) rotate(15deg);
        -moz-transform: translate(-50%, -50%) rotate(15deg);
        transform: translate(-50%, -50%) rotate(15deg)
    }
    25% {
        -o-transform: translate(-50%, -50%) rotate(-10deg);
        -webkit-transform: translate(-50%, -50%) rotate(-10deg);
        -moz-transform: translate(-50%, -50%) rotate(-10deg);
        transform: translate(-50%, -50%) rotate(-10deg)
    }
    30% {
        -o-transform: translate(-50%, -50%) rotate(10deg);
        -webkit-transform: translate(-50%, -50%) rotate(10deg);
        -moz-transform: translate(-50%, -50%) rotate(10deg);
        transform: translate(-50%, -50%) rotate(10deg)
    }
    35% {
        -o-transform: translate(-50%, -50%) rotate(-5deg);
        -webkit-transform: translate(-50%, -50%) rotate(-5deg);
        -moz-transform: translate(-50%, -50%) rotate(-5deg);
        transform: translate(-50%, -50%) rotate(-5deg)
    }
    40% {
        -o-transform: translate(-50%, -50%) rotate(5deg);
        -webkit-transform: translate(-50%, -50%) rotate(5deg);
        -moz-transform: translate(-50%, -50%) rotate(5deg);
        transform: translate(-50%, -50%) rotate(5deg)
    }
    45% {
        -o-transform: translate(-50%, -50%) rotate(0deg);
        -webkit-transform: translate(-50%, -50%) rotate(0deg);
        -moz-transform: translate(-50%, -50%) rotate(0deg);
        transform: translate(-50%, -50%) rotate(0deg)
    }
    100% {
        -o-transform: translate(-50%, -50%) rotate(0deg);
        -webkit-transform: translate(-50%, -50%) rotate(0deg);
        -moz-transform: translate(-50%, -50%) rotate(0deg);
        transform: translate(-50%, -50%) rotate(0deg)
    }

}


.rechnerholder .st1 {
    fill: #003C70;
}

.rechnerholder .person .st1 {
    fill: #003C70;
}


.rechnerholder .star {
    font-family: "Font Awesome 5 Pro";
    -webkit-font-smoothing: antialiased;
    display: inline-block;
    font-style: normal;
    font-variant: normal;
    text-rendering: auto;
    line-height: 1;
    font-weight: 300;
    transition: transform ease .3s;
}

.rechnerholder .star:before {
    content: "\f005";
}


.rechnerholder .progressbar {
    width: calc(100% - 22px);
    position: relative;
    margin: 0 auto;
}

.rechnerholder .progressdot {
    border-radius: 50%;
    width: 15px;
    height: 15px;
    border: 1px solid #4a88a5;
    background-color: #fff;
    top: 50%;
    pointer-events: none;
    cursor: pointer;
}
@media(min-width:768px){
.rechnerholder .progressdot {
	width:23px; height:23px;
}
}
.rechnerholder .progressdot:hover {
    background-color: #3cbeff !important
}

.rechnerholder .progressdot:nth-of-type(1) {
    left: 0%
}

.rechnerholder .progressbar.activequestion1 .col-auto:nth-of-type(1) .progressdot,
.rechnerholder .progressbar.activequestion2 .col-auto:nth-of-type(1) .progressdot,
.rechnerholder .progressbar.activequestion2 .col-auto:nth-of-type(2) .progressdot,
.rechnerholder .progressbar.activequestion3 .col-auto:nth-of-type(1) .progressdot,
.rechnerholder .progressbar.activequestion3 .col-auto:nth-of-type(2) .progressdot,
.rechnerholder .progressbar.activequestion3 .col-auto:nth-of-type(3) .progressdot,
.rechnerholder .progressbar.activequestion4 .col-auto:nth-of-type(1) .progressdot,
.rechnerholder .progressbar.activequestion4 .col-auto:nth-of-type(2) .progressdot,
.rechnerholder .progressbar.activequestion4 .col-auto:nth-of-type(3) .progressdot,
.rechnerholder .progressbar.activequestion4 .col-auto:nth-of-type(4) .progressdot,
.rechnerholder .progressbar.activequestion5 .col-auto:nth-of-type(1) .progressdot,
.rechnerholder .progressbar.activequestion5 .col-auto:nth-of-type(2) .progressdot,
.rechnerholder .progressbar.activequestion5 .col-auto:nth-of-type(3) .progressdot,
.rechnerholder .progressbar.activequestion5 .col-auto:nth-of-type(4) .progressdot,
.rechnerholder .progressbar.activequestion5 .col-auto:nth-of-type(5) .progressdot,
.rechnerholder .progressbar.activequestion6 .col-auto:nth-of-type(1) .progressdot,
.rechnerholder .progressbar.activequestion6 .col-auto:nth-of-type(2) .progressdot,
.rechnerholder .progressbar.activequestion6 .col-auto:nth-of-type(3) .progressdot,
.rechnerholder .progressbar.activequestion6 .col-auto:nth-of-type(4) .progressdot,
.rechnerholder .progressbar.activequestion6 .col-auto:nth-of-type(5) .progressdot,
.rechnerholder .progressbar.activequestion6 .col-auto:nth-of-type(6) .progressdot,
.rechnerholder .progressbar.activequestion7 .col-auto:nth-of-type(1) .progressdot,
.rechnerholder .progressbar.activequestion7 .col-auto:nth-of-type(2) .progressdot,
.rechnerholder .progressbar.activequestion7 .col-auto:nth-of-type(3) .progressdot,
.rechnerholder .progressbar.activequestion7 .col-auto:nth-of-type(4) .progressdot,
.rechnerholder .progressbar.activequestion7 .col-auto:nth-of-type(5) .progressdot,
.rechnerholder .progressbar.activequestion7 .col-auto:nth-of-type(6) .progressdot,
.rechnerholder .progressbar.activequestion7 .col-auto:nth-of-type(7) .progressdot,
.rechnerholder .progressbar.activequestion8 .col-auto:nth-of-type(1) .progressdot,
.rechnerholder .progressbar.activequestion8 .col-auto:nth-of-type(2) .progressdot,
.rechnerholder .progressbar.activequestion8 .col-auto:nth-of-type(3) .progressdot,
.rechnerholder .progressbar.activequestion8 .col-auto:nth-of-type(4) .progressdot,
.rechnerholder .progressbar.activequestion8 .col-auto:nth-of-type(5) .progressdot,
.rechnerholder .progressbar.activequestion8 .col-auto:nth-of-type(6) .progressdot,
.rechnerholder .progressbar.activequestion8 .col-auto:nth-of-type(7) .progressdot,
.rechnerholder .progressbar.activequestion8 .col-auto:nth-of-type(8) .progressdot {
    pointer-events: all;
}

.rechnerholder .progressbar.activequestion1 .col-auto:nth-of-type(1) .progressdot {
    background-color: #4a88a5;
}

.rechnerholder .progressdot:nth-of-type(2) {
    left: 16.5%
}

.rechnerholder .progressbar.activequestion2 .col-auto:nth-of-type(1) .progressdot,
.rechnerholder .progressbar.activequestion2 .col-auto:nth-of-type(2) .progressdot {
    background-color: #4a88a5;
}

.rechnerholder .progressdot:nth-of-type(3) {
    left: 33%
}

.rechnerholder .progressbar.activequestion3 .col-auto:nth-of-type(1) .progressdot,
.rechnerholder .progressbar.activequestion3 .col-auto:nth-of-type(2) .progressdot,
.rechnerholder .progressbar.activequestion3 .col-auto:nth-of-type(3) .progressdot {
    background-color: #4a88a5;
}

.rechnerholder .progressdot:nth-of-type(4) {
    left: 50%
}

.rechnerholder .progressbar.activequestion4 .col-auto:nth-of-type(1) .progressdot,
.rechnerholder .progressbar.activequestion4 .col-auto:nth-of-type(2) .progressdot,
.rechnerholder .progressbar.activequestion4 .col-auto:nth-of-type(3) .progressdot,
.rechnerholder .progressbar.activequestion4 .col-auto:nth-of-type(4) .progressdot {
    background-color: #4a88a5;
}

.rechnerholder .progressdot:nth-of-type(5) {
    left: 66.5%
}

.rechnerholder .progressbar.activequestion5 .col-auto:nth-of-type(1) .progressdot,
.rechnerholder .progressbar.activequestion5 .col-auto:nth-of-type(2) .progressdot,
.rechnerholder .progressbar.activequestion5 .col-auto:nth-of-type(3) .progressdot,
.rechnerholder .progressbar.activequestion5 .col-auto:nth-of-type(4) .progressdot,
.rechnerholder .progressbar.activequestion5 .col-auto:nth-of-type(5) .progressdot {
    background-color: #4a88a5;
}

.rechnerholder .progressdot:nth-of-type(6) {
    left: 83%
}

.rechnerholder .progressbar.activequestion6 .col-auto:nth-of-type(1) .progressdot,
.rechnerholder .progressbar.activequestion6 .col-auto:nth-of-type(2) .progressdot,
.rechnerholder .progressbar.activequestion6 .col-auto:nth-of-type(3) .progressdot,
.rechnerholder .progressbar.activequestion6 .col-auto:nth-of-type(4) .progressdot,
.rechnerholder .progressbar.activequestion6 .col-auto:nth-of-type(5) .progressdot,
.rechnerholder .progressbar.activequestion6 .col-auto:nth-of-type(6) .progressdot {
    background-color: #4a88a5;
}

.rechnerholder .progressdot:nth-of-type(7) {
    left: 100%
}

.rechnerholder .progressbar.activequestion7 .col-auto:nth-of-type(1) .progressdot,
.rechnerholder .progressbar.activequestion7 .col-auto:nth-of-type(2) .progressdot,
.rechnerholder .progressbar.activequestion7 .col-auto:nth-of-type(3) .progressdot,
.rechnerholder .progressbar.activequestion7 .col-auto:nth-of-type(4) .progressdot,
.rechnerholder .progressbar.activequestion7 .col-auto:nth-of-type(5) .progressdot,
.rechnerholder .progressbar.activequestion7 .col-auto:nth-of-type(6) .progressdot,
.rechnerholder .progressbar.activequestion7 .col-auto:nth-of-type(7) .progressdot {
    background-color: #4a88a5;
}

.rechnerholder .progressdot:nth-of-type(8) {
    left: 100%
}

.rechnerholder .progressbar.activequestion8 .col-auto:nth-of-type(1) .progressdot,
.rechnerholder .progressbar.activequestion8 .col-auto:nth-of-type(2) .progressdot,
.rechnerholder .progressbar.activequestion8 .col-auto:nth-of-type(3) .progressdot,
.rechnerholder .progressbar.activequestion8 .col-auto:nth-of-type(4) .progressdot,
.rechnerholder .progressbar.activequestion8 .col-auto:nth-of-type(5) .progressdot,
.rechnerholder .progressbar.activequestion8 .col-auto:nth-of-type(6) .progressdot,
.rechnerholder .progressbar.activequestion8 .col-auto:nth-of-type(7) .progressdot,
.rechnerholder .progressbar.activequestion8 .col-auto:nth-of-type(8) .progressdot {
    background-color: #4a88a5;
}

.rechnerholder .progressbar.activequestion1 .col-auto:nth-of-type(1) .progressdot,
.rechnerholder .progressbar.activequestion2 .col-auto:nth-of-type(2) .progressdot,
.rechnerholder .progressbar.activequestion3 .col-auto:nth-of-type(3) .progressdot,
.rechnerholder .progressbar.activequestion4 .col-auto:nth-of-type(4) .progressdot,
.rechnerholder .progressbar.activequestion5 .col-auto:nth-of-type(5) .progressdot,
.rechnerholder .progressbar.activequestion6 .col-auto:nth-of-type(6) .progressdot,
.rechnerholder .progressbar.activequestion7 .col-auto:nth-of-type(7) .progressdot,
.rechnerholder .progressbar.activequestion8 .col-auto:nth-of-type(8) .progressdot {
    background-color: #4a88a5
}


/** NOUI **/

.noUi-target {
    box-shadow: none !Important
}

.rechnerholder .noUi-horizontal {
    height: 25px;
    border-radius: 10px;
    border: 2px solid #d8d4d2;
    background-color: #fff;
}

.rechnerholder .noUi-connect {
    background-color: #3cbeff
}

.rechnerholder .noUi-horizontal .noUi-handle {
    background-color: #003c70;
    border-color: #003c70;
    box-shadow: none;
    cursor: pointer;
    height: 40px;
    width: 20px;
    border-radius: 5px;
    top: -9px;
}

.rechnerholder .noUi-horizontal .noUi-handle:hover,
.rechnerholder .noUi-horizontal .noUi-handle:focus {
    background-color: #3cbeff;
    border-color: #3cbeff;
}

.rechnerholder .noUi-handle:after, .noUi-handle:before {
    content: "";
    display: block;
    position: absolute;
    height: 37px;
    width: 2px;
    background: #E8E7E6;
    left: 14px;
    top: 6px;
    display: none
}

.rechnerholder .noUi-handle:after {
    left: 18px;
}

.rechnerholder .pika-single {
    max-width: calc(100vW - 30px)
}

.rechnerholder .pika-button:hover, .pika-row.pick-whole-week:hover .pika-button {
    background-color: #3cbeff
}

.rechnerholder .pika-lendar table tr td.is-selected button.pika-button {
    background-color: #003c70;
}

.rechnerholder .bs-tooltip-auto[x-placement^=bottom] .arrow::before, .rechnerholder .bs-tooltip-bottom .arrow::before {
    border-bottom-color: #3cbeff !important;
}

.rechnerholder .bs-tooltip-auto[x-placement^=top] .arrow::before, .rechnerholder .bs-tooltip-top .arrow::before {
    border-top-color: #3cbeff !important;
}

.rechnerholder .bs-tooltip-auto[x-placement^=left] .arrow::before, .rechnerholder .bs-tooltip-left .arrow::before {
    border-left-color: #3cbeff !important;
}

.rechnerholder .bs-tooltip-auto[x-placement^=right] .arrow::before, .rechnerholder .bs-tooltip-right .arrow::before {
    border-right-color: #3cbeff !important;
}

.rechnerholder .btn:focus {
    color: #fff;
}

.rechnerholder input[type="number"]::-webkit-inner-spin-button {
    opacity: 1;
}

.rechnerholder input[type=number]::-webkit-outer-spin-button,
.rechnerholder input[type=number]::-webkit-inner-spin-button {
    -webkit-appearance: inner-spin-button !important;
}

.rechnerholder .popupoverlay {
    position: fixed;
    left: 0;
    top: 0;
    bottom: 0;
    right: 0;
    background-color: rgba(0, 0, 0, .43);
    display: none;
    z-index: 10000;
}


.rechnerholder .popup {
    position: absolute;
    left: 50%;
    top: 50%;
    transform: translate(-50%, -50%);
    width: calc(100% - 30px);
    display: none;
}

.rechnerholder .popupdialog {
    background-color: #fff;
    border-radius: 4px;
    box-shadow: 0 0 5px rgba(0, 0, 0, .2);
    padding: 30px;
}


@media (min-width: 576px) {
    .rechnerholder .popup {
        max-width: 500px;
        margin: 0 auto;
        margin-top: -60px;
    }
}

body.alert .popupoverlay {
    display: block;
}

body.alert .popup {
    display: block;
}

/** SQUARES **/

.rechnerholder .square {
    position: relative;
    margin-bottom: 30px !important;
}

.rechnerholder .square:after {
    display: block;
    padding-bottom: 100%;
    content: '';
}


.rechnerholder .square .backgrounder {
    position: absolute;
    left: 0;
    top: 0;
    bottom: 0;
    right: 0;
    background-size: cover;
    background-position: center;
    transition: all ease .5s;
    transform: scale(1);
    background-image: url(../images/fallbackbg.jpg);
    background-color: #d9e5ec
}

.rechnerholder .squareitem:hover .backgrounder {
    transform: scale(1.15)
}

.rechnerholder .squareitem.rechnerbutton {
    padding: 0 !important
}

.rechnerholder .squareitem:after {
    display: block;
    padding-bottom: 65%;
    content: '';
}

.rechnerholder .squareitem .squarehead {
    position: absolute;
    left: 0;
    bottom: 0px;
    right: 0;
    color: #003c70;
    background-color: #fff;
    padding: 15px;
    font-weight: bold;
    pointer-events: none;
}


.rechnerholder .squareitem:hover .squarehead {
    background-color: #c8aa41;
    color: #fff !important
}

 .rechnerholder .squareitem:hover .squarehead p {
    color: #fff !important
}

.rechnerholder .squarehead p:last-child {
    margin-bottom: 0
}

@media (max-width: 1199px) {
    .rechnerholder .squarehead {
        pointer-events: none;
    }

    .rechnerholder .btn-square {
        display: none
    }
}

.rechnerholder .squareitem .squarehead .h1,
.rechnerholder .squareitem .squarehead .h2,
.rechnerholder .squareitem .squarehead .h3,
.rechnerholder .squareitem .squarehead .h4,
.rechnerholder .squareitem .squarehead .h5,
.rechnerholder .squareitem .squarehead .h6,
.rechnerholder .squareitem .squarehead h1,
.rechnerholder .squareitem .squarehead h2,
.rechnerholder .squareitem .squarehead h3,
.rechnerholder .squareitem .squarehead h4,
.rechnerholder .squareitem .squarehead h5,
.rechnerholder .squareitem .squarehead h6 {
    color: #4A88A5;
}

.rechnerholder a.backtomain {
    background-color: rgba(0, 83, 128, .86);
    color: #fff;
}

.rechnerholder a.backtomain:hover {
    background-color: #c8aa41;
    color: #fff;
}

.rechnerholder .checkhaken {
    fill: none;
    stroke: #3cbeff;
    stroke-width: 33;
    stroke-linecap: round;
    stroke-linejoin: round;
    stroke-miterlimit: 10;
    stroke-dasharray: 1000;
    stroke-dashoffset: 1000;
    animation: dash 3.33s linear forwards;
    animation-play-state: paused;
}

.rechnerholder .checkhaken.in {
    animation-play-state: running;
}

@keyframes dash {
    to {
        stroke-dashoffset: 0;
    }
}

.rechnerholder .squareitem {
    position: absolute;
    overflow: hidden;
    left: 0;
    top: 0;
    bottom: 0;
    right: 0;
    background-position: center;
    background-size: cover;
    -webkit-border-radius: 10px;
    -moz-border-radius: 10px;
    border-radius: 10px;
}

.rechnerholder .bs-tooltip-auto[x-placement^=left] .arrow::before,
.rechnerholder .bs-tooltip-left .arrow::before {
    border-left-color: #3cbeff; /* Red */
}

.rechnerholder .tooltip-inner {
    background-color: #3cbeff;
}