/*
*   Farben
*
*   Blau:   #15285d
*   Grau:   #d4d4d3
*
*/


*::selection {
    background-color: #15285d;
    color: #fff;
}



@font-face {
    font-family: 'Sen';
    font-style: normal;
    font-weight: 400;
    src: url('../fonts/sen-v1-latin-regular.eot');
    src: local('Sen Regular'), local('Sen-Regular'),
         url('../fonts/sen-v1-latin-regular.eot?#iefix') format('embedded-opentype'),
         url('../fonts/sen-v1-latin-regular.woff2') format('woff2'),
         url('../fonts/sen-v1-latin-regular.woff') format('woff'),
         url('../fonts/sen-v1-latin-regular.ttf') format('truetype'),
         url('../fonts/sen-v1-latin-regular.svg#Sen') format('svg');
}

@font-face {
    font-family: 'Sen';
    font-style: normal;
    font-weight: 700;
    src: url('../fonts/sen-v1-latin-700.eot');
    src: local('Sen Bold'), local('Sen-Bold'),
         url('../fonts/sen-v1-latin-700.eot?#iefix') format('embedded-opentype'),
         url('../fonts/sen-v1-latin-700.woff2') format('woff2'),
         url('../fonts/sen-v1-latin-700.woff') format('woff'),
         url('../fonts/sen-v1-latin-700.ttf') format('truetype'),
         url('../fonts/sen-v1-latin-700.svg#Sen') format('svg');
}

@font-face {
    font-family: 'Sen';
    font-style: normal;
    font-weight: 800;
    src: url('../fonts/sen-v1-latin-800.eot');
    src: local('Sen ExtraBold'), local('Sen-ExtraBold'),
         url('../fonts/sen-v1-latin-800.eot?#iefix') format('embedded-opentype'),
         url('../fonts/sen-v1-latin-800.woff2') format('woff2'),
         url('../fonts/sen-v1-latin-800.woff') format('woff'),
         url('../fonts/sen-v1-latin-800.ttf') format('truetype'),
         url('../fonts/sen-v1-latin-800.svg#Sen') format('svg');
}


body {
    font-family: 'Sen';
    min-height: 100vh;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-align: start;
    align-items: flex-start;
    -ms-flex-pack: center;
    justify-content: center;
    background: url(../img/schneider-hintergrundbild.jpg) no-repeat center center;
    background-attachment: fixed;
    background-size: cover;
}

a {
    color: #15285d;
}

a:hover,
a:focus {
    color: #15285d;
    text-decoration: none;
}

b, strong {
    font-weight: 700;
}

h1, h2, h3, h4, h5, h6 {
    font-weight: 800;
}

.btn {
    border-radius: 10rem;
    padding: 1rem 2rem;
    border: 0 none !important;
    box-shadow: 0 0 0 transparent !important;
}
.btn.btn-primary {
    background-color: #15285d;
}
.btn.btn-primary:hover,
.btn.btn-primary:focus {
    background-color: #101f47;
}
.btn.btn-secondary {
    color: #15285d;
    background-color: #d4d4d3;
}
.btn.btn-secondary:hover,
.btn.btn-secondary:focus {
    color: #15285d;
    background-color: #d9d9d9;
}

.btn-secondary:not(:disabled):not(.disabled).active,
.btn-secondary:not(:disabled):not(.disabled):active,
.show > .btn-secondary.dropdown-toggle {
    background: #15285d;
}


.body-wrapper {
    max-width: 100%;
    margin: 2rem 2rem 10rem;
    background: #fff;
    border-radius: 1.725rem;
    box-shadow:  1.25rem 1.25rem 3.75rem rgba(0,0,0,.1), 
                -1.25rem -1.25rem 3.75rem rgba(0,0,0,.2);
}


header {
    background: rgba(21,40,93,.05);
    padding: 1.5rem;
    border-radius: 1.725rem 1.725rem 0 0;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    -ms-flex-pack: justify;
    justify-content: space-between;
    -ms-flex-align: center;
    align-items: center;
}





.logo {
    -ms-flex: 0 0 100%;
    flex: 0 0 100%;
    max-width: 100%;
    margin-bottom: 1rem;
}

.contact {
    -ms-flex: 0 0 100%;
    flex: 0 0 100%;
    max-width: 100%;
    display: -ms-inline-flexbox;
    display: inline-flex;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    -ms-flex-pack: center;
    justify-content: center;
}

.contact .btn {
    -ms-flex: 0 0 100%;
    flex: 0 0 100%;
    max-width: 100%;
    font-size: .9rem;
    margin: .25rem 0;
}
.contact .btn:not(:last-of-type) {
    margin-right: .5rem;
}
.svg-icon {
    width: 1.25rem;
    height: 1.25rem;
    margin-right: .5rem;
    margin-top: -.25rem;
}




.body-wrapper-inner {
    padding: 3rem;
}


footer {
    background: #d4d4d3;
    padding: 1.5rem 3rem;
    border-radius: 0 0 1.725rem 1.725rem;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    -ms-flex-pack: justify;
    justify-content: space-between;
}

footer p {
    -ms-flex: 0 0 100%;
    flex: 0 0 100%;
    max-width: 100%;
}
footer ul {
    -ms-flex: 0 0 100%;
    flex: 0 0 100%;
    max-width: 100%;
}
footer ul li:not(:last-of-type) {
    margin-right: .5rem;
}


.img-copyright {
    position: fixed;
    left: .25rem;
    bottom: 6rem;
    color: #fff;
    font-size: .8rem;
    z-index: 500;
    background: rgba(0,0,0,.2);
    -webkit-transform: rotate(-90deg);
    transform: rotate(-90deg);
    -webkit-transform-origin: left top;
    transform-origin: left top;
}


.underlay {
    position: fixed;
    bottom: 0;
    left: 50%;
    width: 100rem;
    height: 100rem;
    background: #fff;
    box-shadow: 0 -1rem 3rem rgba(0,0,0,.05);
    border-radius: 100%;
    -webkit-transform: translateX(-50%);
    transform: translateX(-50%);
}






.calendly-badge-widget {
    right: 0;
    bottom: 1rem;
    width: 100%;
}
.calendly-badge-widget .calendly-badge-content {
    padding: 20px 35px;
    border-radius: 35px;
    width: calc(100% - 2rem);
    display: block;
    height: auto;
    margin: 0 1rem;
}
.calendly-badge-widget .calendly-badge-content svg {
    width: 1.25rem;
    height: 1.25rem;
    margin-right: .5rem;
    margin-top: -.25rem;
}
.termin svg {
    width: 1.25rem;
    height: 1.25rem;
    margin-right: .5rem;
    margin-top: -.25rem;
}
.calendly-overlay .calendly-popup-close {
    background-color: #15285d;
    background-size: 19px 19px;
    background-position: center;
    padding: 2rem;
    border-radius: 5rem;
}
.calendly-overlay {
    background-color: rgba(31,31,31,.7);
}




.cc-theme-classic .cc-btn {
    border-radius: 10rem;
    -webkit-transition: 175ms all ease;
    transition: 175ms all ease;
}
.cc-btn.cc-deny {
    color: #15285d !important;
    background-color: #d4d4d3 !important;
}

.cc-btn.cc-deny:hover,
.cc-btn.cc-deny:focus {
    color: #15285d !important;
    background-color: #d9d9d9 !important;
}
.cc-btn.cc-allow:hover,
.cc-btn.cc-allow:focus {
    background-color: #101f47 !important;
}


@media (min-width: 576px) {

}

@media (min-width: 768px) {

    body {
        -ms-flex-align: center;
        align-items: center;
    }

    header {
        padding: 1.5rem 3rem;
    }
    .logo {
        -ms-flex: 0 0 12rem;
        flex: 0 0 12rem;
        max-width: 12rem;
        margin-bottom: 0;
    }

    .contact {
        -ms-flex: 1;
        flex: 1;
        -ms-flex-pack: end;
        justify-content: flex-end;
    }

    .contact .btn {
        -ms-flex: 0 0 auto;
        flex: 0 0 auto;
        margin: 0;
    }

    .body-wrapper {
        width: 50rem;
        margin: 0;
    }

    footer p {
        -ms-flex: 1;
        flex: 1;
        margin-bottom: 0;
    }
    footer ul {
        -ms-flex: 0 0 auto;
        flex: 0 0 auto;
    }


    .img-copyright {
        bottom: .25rem;
    }

    .underlay {
        left: auto;
        right: 0;
        width: 40rem;
        height: 40rem;
        box-shadow: 0 0 0 transparent;
        -webkit-transform: translate(40%, 65%);
        transform: translate(40%, 65%);
    }

    .calendly-badge-widget {
        right: 3rem;
        bottom: 3rem;
        width: auto;
    }
    .calendly-badge-widget .calendly-badge-content {
        width: auto;
        display: table-cell;
        height: 45px;
    }







}

@media (min-width: 992px) {

}

@media (min-width: 1200px) {


    .body-wrapper {
        width: 65rem;
        margin: 0;
    }

    .logo {
        -ms-flex: 0 0 20rem;
        flex: 0 0 20rem;
        max-width: 20rem;
    }


}


@media (min-width: 1600px) {



}