body {
    background-image: url("../../images/mobil-krankenkasse/background1.png");
    background-size: cover;
    width: 100%;
    height: 100%;
    font-family: 'Arial';
    margin: 0;
    padding: 0;

}

#takePhotoButton.denied {
    border: solid 4px #c53f33;
    background-image: url("../../images/button-warning.png");
}

.main_image1{
    display: none;
}

.main_image{
    display: none;
}

h2 {
    font-style: normal;
    font-weight: 600;
    font-size: 32px;
    line-height: 140%;
    text-align: center;
    letter-spacing: 0.03em;
    text-transform: uppercase;
    margin-bottom: 32px;
}


.header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    height: 100px;
    border-bottom: 2px solid #E0E0E0;
}

.header-nav {
    width: 100%;
    padding: 0;
    background: transparent !important;
}

.header-nav .container-fluid {
    padding: 0;
    align-items: center;
    position: relative;
}

.header-nav .navbar-collapse {
    justify-content: flex-end;
}

.header-nav .header-links {
    margin-left: auto;
    align-items: center;
    gap: 24px;
}

.header-nav .header-links .nav-link {
    padding-left: 0;
    padding-right: 0;
    white-space: nowrap;
}

.logo img {
    margin-left: 16px;
    display: block;
    height: 70px;
    width: auto;
    opacity: 1.0;
}

@media (min-width: 1200px) {
    .header {
        position: relative;
    }

    .header-nav .header-links {
        display: flex;
        align-items: flex-end;
        justify-content: flex-end;
        font-size: 16px;
    }

    .header-nav .navbar-toggler {
        display: none;
    }
}

.row {
    width: 100%;
    display: flex;
    flex-wrap: wrap;
}

.btn-group.btn-group-lg .btn.btn-insured {
    background-color: #8cc8aa;
    text-transform: uppercase;
    font-weight: 500;
    color: #305040;
    border: 0px solid #8cc8aa;
}

btn btn-new:not(:disabled):not(.disabled):active {
    background-color: #FFFFFF;
    border: 2px solid #8cc8aa;
    color: #3F3F3F;
}

.btn-new:not(:disabled):not(.disabled):active {
    background-color: #FFFFFF;
    border: 2px solid #8cc8aa;
    color: #3F3F3F;
}


.btn-group .btn.active {
    background-color: #FFC107;
}

.form-check-input:checked {
    background-color: #8cc8aa !important;
    border-color: #8cc8aa !important;
}

.form-check-input:focus {
    outline: 0;
    box-shadow: 0 0 0 .25rem rgba(157, 144, 125, .25)

}

.col-sm-12 p {
    margin-top: 32px;
    margin-bottom: 32px;
    height: auto;
    font-style: normal;
    font-weight: 500;
    font-size: 16px;
    color: #b0b0b0;
    line-height: 140%;
    letter-spacing: 0.03em;
    text-align: center;
    text-transform: uppercase;
}

.col-sm-12 .family-insurance-note {
    color: #6d767c;
}

.col-sm-12 .card-overview-note {
    color: #6d767c;
}

h5 {
    padding: 16px;
    font-size: 36px;
}
ul {
    margin-top: 0;
    margin-bottom: 1rem;
    font-size: 18px;
}

.left-arrow-icon, .right-arrow-icon {
    width: 1rem;
    height: 1rem;
    vertical-align: text-bottom;
}

.left-arrow-icon {
    margin-right: 32px;
}

.right-arrow-icon {
    margin-left: 32px;
}

.data-protection-link {
    color: #007bff;
    text-decoration: underline;
    cursor: pointer;
}


.form-control:focus {
    background-color: #FFFFFF;
    border: 1px solid #305040;
    outline: 0;
    box-shadow: 0 0 0 0.15rem #305040;
}

@media (min-width: 1200px) {
    .container {
        max-width: 1200px;
    }

    .header {
        margin-left: 50px;
        margin-right: 50px;
        display: flex;
        align-items: center;
        justify-content: space-between;
        border-bottom: 2px solid #E0E0E0;
    }

    .logo {
        display: block;
        float: left;
    }

    .progress-info{
        display: none;
    }

    .bubble-container {
        max-width: 1150px;
        margin: 32px auto;
    }

    .progress-steps {
        display: flex;
        justify-content: space-between;
        list-style-type: none;
        padding: 0;

    }

    .progress-steps__step {
        display: flex;
        align-items: center;
        position: relative;
    }

    .outer-circle {
        display: flex;
        justify-content: center;
        align-items: center;
        width: 48px;
        height: 48px;
        border-radius: 8px;
        background-color: #8cc8aa;
        border: 0px solid #8cc8aa;

        position: relative;
        outline: none;
    }

    .inner {

        display: flex;
        justify-content: center;
        align-items: center;
        font-style: normal;
        font-weight: 400;
        font-weight: 400;
        font-size: 16px;
        line-height: 24px;
    }

    .progress-steps__message {
        font-style: normal;
        font-weight: 400;
        font-size: 16px;
        line-height: 24px;
        text-align: justify;
        color: #201F20;
        margin-left: 16px;
    }

    .client-progress .progress-steps__step.is-active .outer-circle {
        background-color: #99DFBC;
    }
    .progress-steps__step.progress-steps__step:not(:last-child)::after {
        content: "";
        display: block;
        position: absolute;
        left: calc(100% + 32px);
        top: 50%;
        width: 90px;
        height: 1px;
        background-color: #000;
        border: 0px solid #8cc8aa;
    }

    .isActive .outer-circle,
    .isValid .outer-circle {
        background: #8cc8aa;
    }

    .isActive .inner,
    .isValid .inner {
        color: #FFFFFF;
    }

    .container-fluid {
        width: 100%;
        padding-left: 0px;
    }

    .lead {
        margin-top: 32px;
        font-style: normal;
        font-weight: 500;
        font-size: 32px;
        line-height: 140%;
        text-align: center;
        letter-spacing: 0.02em;
        color: #201F20;
        text-transform: uppercase;
    }

    .main_image2{
        margin-left: 130px;
        max-width: 450px;

    }
    .main_text{
        max-width: 50%;
    }

    .row {
        width: 100%;
        margin-left: 0px;
        margin-right: 0px;
        display: flex;
        flex-wrap: nowrap;
        flex-direction: row;
    }

    .card-photo-container {
        position: relative;
        width: 476px;
        margin: 0 auto;
    }
    .card-container .card-photo {
        width: 476px;
    }

    .full-name-field {
        position: absolute;
        top: 195px;
        left: 16px;
        font-size: 21px;
    }

    .insurance-number-field {
        position: absolute;
        top: 251px;
        left: 171px;
        font-size: 21px;
    }

    .company-name-field {
        position: absolute;
        top: 223px;
        left: 16px;
        font-size: 21px;
    }

    .institution-id-field {
        position: absolute;
        top: 251px;
        left: 16px;
        font-size: 21px;
    }

    .client-photo-field {
        position: absolute;
        top: 80px;
        left: 339px;
        width: 110px;
        height: 134px;
        object-fit: cover;
    }

    /* Общий стиль для кнопок */
    .btn-group.btn-group-lg .btn {
        margin-left: 16px;
        margin-right: 16px;
        margin-top: 16px;
        display: flex;
        align-items: center;
        justify-content: center;
        width: 280px;
        height: 50px;
        font-size: 16px;
        font-weight: 500;
        text-align: center;
        background-color: #eef7f3;
        color: #305040;
        border-radius: 8px !important;
        text-decoration: none;
        text-transform: uppercase;
        border: 1px solid #305040
    }

    .btn-group-header.btn-group-lg-header .btn-header {
        display: flex;
        align-items: center;
        justify-content: center;
        width: 280px;
        height: 66px;
        font-size: 16px;
        font-weight: 500;
        border: 0px;
        text-align: center;
        background-color: #8cc8aa;
        color: #305040;
        border-radius: 30px !important;
        text-decoration: none;
        text-transform: uppercase;
    }

    .btn-group.btn-group-lg {
        display: flex;
        justify-content: space-between;
    }

}


@media (min-width: 992px) and (max-width: 1199px) {
    .container {
        width: 100%;

        padding: 0px;
    }

    .header {
        display: flex;
        align-items: center;
        justify-content: space-between;
        height: 160px;
        border-bottom: 2px solid #E0E0E0;
    }

    .logo {
        display: block;
        float: left;
        position: absolute;
    }

    .header-nav .logo {
        position: static;
        margin-left: 0;
    }

    .formular {
        font-size: 2rem;
    }

    .progress-steps{
        display: none;
    }

    .progress-info {
        color: #2e2e2e;
        text-align: left;
        margin-left: 16px;
        margin-top: 80px !important;
        margin-bottom: 32px;
        font-size: 20px;
        font-weight: 400;
        line-height: 140%;
        letter-spacing: 0.02em;
        text-transform: uppercase;
    }

    .black-background {
        background-color: #8cc8aa;
        padding: 16px 32px;
        border-radius: 15px;
        margin-right: 5px;
        color: #305040;
        font-size: 20px;
        font-weight: 500;
        line-height: 140%;
        letter-spacing: 0.02em;
    }

    .row {
        width: 100%;
        display: flex;
        flex-wrap: wrap;
        margin-left: 0px;
        margin-right: 0px;

    }

    .container-fluid {
        width: 100%;
        padding-left: 0px;
    }

    .main_image2 {
        display: none;
    }

    .lead {
        margin-top: 32px;
        font-style: normal;
        font-weight: 500;
        font-size: 30px;
        line-height: 140%;
        text-align: center;
        letter-spacing: 0.02em;
        color: #201F20;
        text-transform: uppercase;
    }

    p {
        text-align: center;
        font-size: 34px;
        margin-top: 0;
        margin-bottom: 1rem;
    }

    .btn-group.btn-group-lg .btn {

        margin-top: 16px;
        margin-bottom: 16px;
        display: flex;
        align-items: center;
        justify-content: center;
        width: 100%;
        height: 120px;
        font-size: 34px;
        font-weight: 400;
        text-align: center;
        background-color: #eef7f3;
        color: #305040;
        border-radius: 8px !important;
        text-decoration: none;
        text-transform: uppercase;
        border: 1px solid #305040;
    }

    .btn-group.btn-group-lg .btn.btn-insured {
        width: 310px;
        height: 70px;
        font-size: 18px;
    }

    .btn-group.btn-group-lg .btn.btn-new {
        width: 310px;
        height: 70px;
        font-size: 18px;
    }

    .btn-group.btn-group-lg {
        flex-direction: column;
        align-items: center;
        width: inherit;
    }

    .btn-group .btn.active {
        background-color: #FFC107;
    }

}

@media (min-width: 768px) and (max-width: 991px) {

    .col-lg-8 {
        padding-left: 0px;
        padding-right: 0px;
    }

    .container {
        max-width: 991px;
        margin-left: 0px;
        margin-right: 0px;
        padding: 0px;
    }

    ul {
        margin-top: 0;
        margin-bottom: 1rem;
        font-size: 16px;
    }

    .upload-info {
        width: 50%;
    }

    .formular {
        font-size: 1.5rem;
    }

    .header {
        display: flex;
        align-items: center;
        justify-content: space-between;
        border-bottom: 2px solid #E0E0E0;
    }

    .logo {
        display: block;
        float: left;
        margin-left: 16px;
        position: absolute;
    }

    .header-nav .logo {
        position: static;
        margin-left: 0;
    }

    .header {
        height: auto;
        min-height: 100px;
    }

    .header-nav .navbar-toggler {
        margin-right: 16px;
    }

    .header-nav .navbar-collapse {
        position: absolute;
        top: calc(100% - 8px);
        right: 16px;
        width: auto;
        min-width: 220px;
        margin-top: 0;
        padding: 12px 16px;
        background: #ffffff;
        border: 1px solid #E0E0E0;
        border-radius: 8px;
        box-shadow: 0 8px 24px rgba(0, 0, 0, 0.08);
        z-index: 10;
    }

    .header-nav .header-links {
        gap: 0;
        align-items: flex-start;
    }

    .header-nav .header-links .nav-link {
        justify-content: flex-end !important;
        text-align: right;
    }

    h2 {
        font-style: normal;
        font-weight: 600;
        font-size: 56px;
        line-height: 140%;
        text-align: center;
        letter-spacing: 0.03em;
        text-transform: uppercase;
        margin-bottom: 32px;
    }

    .progress-steps {
        display: none;
    }

    .progress-info {
        color: #2e2e2e;
        text-align: left;
        margin-left: 16px;
        margin-top: 80px !important;
        margin-bottom: 32px;
        font-size: 20px;
        font-weight: 400;
        line-height: 140%;
        letter-spacing: 0.02em;
        text-transform: uppercase;
    }

    .black-background {
        background-color: #8cc8aa;
        padding: 16px 32px;
        border-radius: 15px;
        margin-right: 5px;
        color: #305040;
        font-size: 20px;
        font-weight: 500;
        line-height: 140%;
        letter-spacing: 0.02em;
    }

    .row {
        width: 100%;
        margin-left: 0px;
        margin-right: 0px;
        display: flex;
        flex-wrap: wrap;

    }

    .card-photo-container {
        position: relative;
        width: 380px;
        margin: 0 auto;
    }
    .card-container .card-photo {
        width: 380px;
    }

    .full-name-field {
        position: absolute;
        top: 157px;
        left: 12px;
        font-size: 16px;
    }

    .insurance-number-field {
        position: absolute;
        top: 202px;
        left: 137px;
        font-size: 16px;
    }

    .company-name-field {
        position: absolute;
        top: 178px;
        left: 12px;
        font-size: 16px;
    }

    .institution-id-field {
        position: absolute;
        top: 202px;
        left: 12px;
        font-size: 16px;
    }

    .client-photo-field {
        position: absolute;
        top: 65px;
        left: 275px;
        width: 83px;
        height: 101px;
        object-fit: cover;
    }

    .btn-group.btn-group-lg .btn.btn-insured {
        width: 310px;
        height: 70px;
        font-size: 18px;
    }

    .btn-group.btn-group-lg .btn.btn-new {
        width: 310px;
        height: 70px;
        font-size: 18px;
    }

    .lead {
        margin-top: 32px;
        font-style: normal;
        font-weight: 500;
        font-size: 30px;
        line-height: 140%;
        text-align: center;
        letter-spacing: 0.02em;
        color: #201F20;
        text-transform: uppercase;
    }

    .main_image2 {
        display: none;
    }

    p {
        text-align: center;
        font-size: 34px;
        margin-top: 0;
        margin-bottom: 1rem;
    }

    .btn-group.btn-group-lg .btn {
        margin-top: 16px;
        margin-bottom: 16px;
        display: flex;
        align-items: center;
        justify-content: center;
        width: 100%;
        height: 120px;
        font-size: 34px;
        font-weight: 400;
        text-align: center;
        background-color: #eef7f3;
        color: #305040;
        border-radius: 8px !important;
        text-decoration: none;
        text-transform: uppercase;
        border: 1px solid #305040;
    }

    .btn-group.btn-group-lg {
        flex-direction: column;
        align-items: center;
        width: inherit;
        padding-left: 0px;
        padding-right: 0px;
    }

    .card-button{
        width: 100%;
    }




}

@media (max-width: 767px) {
    .container {
        max-width: 768px;
        margin-left: 0px;
        margin-right: 0px;
    }

    .logo {
        display: block;
        float: left;
        margin-left: 16px;
        position: absolute;
    }

    .header-nav .logo {
        position: static;
        margin-left: 0;
    }

    .header {
        height: auto;
        min-height: 100px;
    }

    .header-nav .navbar-toggler {
        margin-right: 16px;
    }

    .header-nav .navbar-collapse {
        position: absolute;
        top: calc(100% - 8px);
        right: 16px;
        width: auto;
        min-width: 220px;
        margin-top: 0;
        padding: 12px 16px;
        background: #ffffff;
        border: 1px solid #E0E0E0;
        border-radius: 8px;
        box-shadow: 0 8px 24px rgba(0, 0, 0, 0.08);
        z-index: 10;
    }

    .header-nav .header-links {
        gap: 0;
        align-items: flex-start;
    }

    .header-nav .header-links .nav-link {
        justify-content: flex-end !important;
        text-align: right;
    }

    .progress-info {
        color: #2e2e2e;
        text-align: left;
        margin-left: 16px;
        margin-top: 80px !important;
        margin-bottom: 32px;
        font-size: 20px;
        font-weight: 400;
        line-height: 140%;
        letter-spacing: 0.02em;
        text-transform: uppercase;
    }

    .black-background {
        background-color: #8cc8aa;
        padding: 16px 32px;
        border-radius: 15px;
        margin-right: 5px;
        color: #305040;
        font-size: 20px;
        font-weight: 500;
        line-height: 140%;
        letter-spacing: 0.02em;
    }

    .progress-steps {
        display: none;
    }

    .row {
        margin-left: 0px;
        margin-right: 0px;
    }

    .lead {
        margin-top: 32px;
        font-style: normal;
        font-weight: 500;
        font-size: 24px;
        line-height: 140%;
        text-align: center;
        letter-spacing: 0.02em;
        color: #201F20;
        text-transform: uppercase;
    }

    p {
        text-align: center;
        font-size: 34px;
        margin-top: 0;
        margin-bottom: 1rem;
    }

    .main_image2 {
        display: none;
    }

    .btn-group.btn-group-lg .btn {
        margin-top: 16px;
        margin-bottom: 16px;
        display: flex;
        align-items: center;
        justify-content: center;
        width: 100%;
        height: 120px;
        font-size: 30px;
        font-weight: 400;
        text-align: center;
        background-color: #eef7f3;
        color: #305040;
        border-radius: 8px !important;
        text-decoration: none;
        text-transform: uppercase;
        border: 1px solid #305040;
    }

    .btn-group.btn-group-lg {
        flex-direction: column;
        align-items: center;
        width: inherit;
    }

    .btn-group.btn-group-lg .btn.btn-insured {
        width: 310px;
        height: 70px;
        font-size: 18px;
    }

    .btn-group.btn-group-lg .btn.btn-new {
        width: 310px;
        height: 70px;
        font-size: 18px;
    }

    .card-photo-container {
        width: 380px;
    }

    .card-container .card-photo {
        width: 380px !important;
    }

    .full-name-field {
        position: absolute;
        top: 157px;
        left: 12px;
        font-size: 16px;
    }

    .insurance-number-field {
        position: absolute;
        top: 202px;
        left: 137px;
        font-size: 16px;
    }

    .company-name-field {
        position: absolute;
        top: 178px;
        left: 12px;
        font-size: 16px;
    }

    .institution-id-field {
        position: absolute;
        top: 202px;
        left: 12px;
        font-size: 16px;
    }

    .client-photo-field {
        position: absolute;
        top: 65px;
        left: 275px;
        width: 83px;
        height: 101px;
        object-fit: cover;
    }
}



    .login-actions .btn-outline-primary:not(:disabled):not(.disabled):active {
        background-color: #99DFBC;
        border: 0px;
    }

    .login-actions .btn-outline-primary {
        background-color: #99DFBC;
        border: 0px;
    }
    .login-actions .btn-outline-primary:hover {
        background-color: #99DFBC;
        border: 0px;
    }

    .login-actions .input-group-append .input-group-text:hover {
        cursor: pointer;
    }
    .login-actions .btn-outline-primary:not(:disabled):not(.disabled):active {
        background-color: #99DFBC;
        border: 0px;
    }

.btn-new:not(:disabled):not(.disabled):active,
.btn-new:not(:disabled):not(.disabled):hover {
    background-color: #fff;
    border: 1px solid #305040;
}

.btn-insured:not(:disabled):not(.disabled):active,
.btn-insured:not(:disabled):not(.disabled):hover {
    background-color: #99DFBC;
    border: 0px;
}

.btn-insured:not(:disabled):not(.disabled):active,
.btn-insured:not(:disabled):not(.disabled):hover {
    background-color: #99DFBC;
    border: 0px;
}



@media (min-width: 1200px) {

        .form-control {
            display: block;
            width: 100%;
            padding: 16px;
            margin-left: auto;
            margin-right: auto;
            width: 500px;
            height: 66px;
            background-color: #FFFFFF;
            border: 2px solid #eaeaea;
            border-radius: 8px;
            font-style: normal;
            font-weight: 500;
            font-size: 18px;
            line-height: 24px;
            color: #13111B;
            padding: 16px 16px;
            transition: all 0.3s;
        }

        .datepicker {
            border-radius: 15px !important;
        }

        .custom-control {
            position: relative;
            display: block;
            min-height: 1rem;
            padding-left: 5rem;
        }

        .invalid-feedback {
            margin-top: 8px;
            margin-bottom: 8px;
            font-style: normal;
            font-weight: 400;
            font-size: 14px;
            line-height: 16px;
        }

        .form-control.is-invalid {
            margin-top: 0px;
            box-shadow: none;
        }

        .btn:focus, .btn:active {
            outline: none !important;
            box-shadow: none !important;
        }

        .custom-control-input:checked~.custom-control-label::before {
            background-color: #FFFFFF;
            border-color: rgba(180, 160, 138, 0);
            outline: 0;
            box-shadow: 0 0 0 0.15rem rgba(180, 160, 138, 0.3);
        }

        .custom-control-input:checked ~ .custom-control-label::before {
            background-color: #FFFFFF;
            border-color: rgba(180, 160, 138, 0);
            outline: 0;
            box-shadow: 0 0 0 0.15rem rgba(180, 160, 138, 0.3);
        }

        .custom-control-input:focus ~ .custom-control-label::before {
            border-color: #8c8c8c !important;
            box-shadow: 0 0 0 0.2rem rgba(255, 255, 255, 0);
        }

    .custom-control-input.is-invalid~.invalid-feedback, .custom-control-input.is-invalid~.invalid-tooltip, .was-validated .custom-control-input:invalid~.invalid-feedback, .was-validated .custom-control-input:invalid~.invalid-tooltip {
        display: block;
        margin-left: 0px;
    }

        .custom-control-label::before {
            position: absolute;
            top: 0.25rem;
            left: -3rem;
            display: block;
            width: 1.5rem;
            height: 1.5rem;
            pointer-events: none;
            content: "";
            background-color: #fff;
            border: #eaeaea solid 2px;
        }

        .custom-control-label::after {
            position: absolute;
            top: 0.25rem;
            left: -3rem;
            display: block;
            width: 1.5rem;
            height: 1.5rem;
            content: "";
            background-repeat: no-repeat;
            background-position: center center;
            background-size: 50% 50%;
        }

        .form-row {
            display: flex;
            -ms-flex-wrap: wrap;
            FONT-VARIANT: JIS04;
            margin-right: 0px !important;
            margin-left: 0px !important;
            margin-bottom: 20px;
            margin-top: 20px;
        }

    }

    @media (min-width: 992px) and (max-width: 1200px) {

        .form-control {
            display: block;
            width: 100%;
            padding: 16px;
            margin-left: auto;
            margin-right: auto;
            width: 450px;
            height: 100px;
            background-color: #FFFFFF;
            border: 2px solid #eaeaea;
            border-radius: 8px;
            font-style: normal;
            font-weight: 500;
            font-size: 28px;
            line-height: 24px;
            color: #13111B;
            padding: 16px 32px;
            transition: all 0.3s;
        }

        .card-photo-container {
            position: relative;
            width: 406px;
            margin: 0 auto;
        }
        .card-container .card-photo {
            width: 406px;
        }

        .full-name-field {
            position: absolute;
            top: 169px;
            left: 13px;
            font-size: 17px;
        }

        .insurance-number-field {
            position: absolute;
            top: 217px;
            left: 145px;
            font-size: 17px;
        }

        .company-name-field {
            position: absolute;
            top: 193px;
            left: 12px;
            font-size: 16px;
        }

        .institution-id-field {
            position: absolute;
            top: 217px;
            left: 12px;
            font-size: 16px;
        }

        .client-photo-field {
            position: absolute;
            top: 65px;
            left: 290px;
            width: 92px;
            height: 112px;
            object-fit: cover;
        }

        .datepicker {
            border-radius: 20px !important;
        }

        .form-control {
            height: 70px;
        }

        .form-row {
            display: flex;
            -ms-flex-wrap: wrap;
            FONT-VARIANT: JIS04;
            margin-right: 0px !important;
            margin-left: 0px !important;
        }

        .invalid-feedback {
            margin-top: 32px;
            margin-left: 4%;
            font-style: normal;
            font-weight: 400;
            font-size: 20px;
            line-height: 16px;
            color: #305040;
        }

        .custom-control {
            margin-top: 32px;
            position: relative;
            display: block;
            min-height: 1rem;
            padding-left: 6rem;
        }

        .form-control.is-invalid {
            margin-top: 0px;
            box-shadow: none;
        }


        .custom-control-input:checked~.custom-control-label::before {
            color: #fff;
            border-color: #8cc8aa;
            background-color: #8cc8aa;
        }



        .custom-control-label::before {
            position: absolute;
            top: 0.25rem;
            left: -5.5rem;
            display: block;
            width: 2rem;
            height: 2rem;
            pointer-events: none;
            content: "";
            background-color: #fff;
            border: #adb5bd solid 1px;
        }

        .custom-control-label::after {
            position: absolute;
            top: 0.25rem;
            left: -5.5rem;
            display: block;
            width: 2rem;
            height: 2rem;
            content: "";
            background-repeat: no-repeat;
            background-position: center center;
            background-size: 50% 50%;
        }

    }

    @media (min-width: 768px) and (max-width: 991px) {

        .form-row>.col, .form-row>[class*=col-] {
            padding-right: 0px;
            padding-left: 0px;
        }

        .form-row {
            display: flex;
            -ms-flex-wrap: wrap;
            flex-wrap: wrap;
            margin-right: 0px;
            margin-left: 0px;
        }

        .form-control {
            display: block;
            width: 100%;
            padding: 16px;
            margin-top: 16px;
            margin-left: auto;
            margin-right: auto;
            height: 130px;
            background-color: #FFFFFF;
            border: 2px solid #eaeaea;
            border-radius: 8px;
            font-style: normal;
            font-weight: 500;
            font-size: 28px;
            line-height: 24px;
            color: #13111B;
            padding: 16px 32px;
            transition: all 0.3s;
        }

        .datepicker {
            border-radius: 30px !important;
        }

        .form-row {
            display: flex;
            -ms-flex-wrap: wrap;
            FONT-VARIANT: JIS04;
            margin-right: 0px !important;
            margin-left: 0px !important;
            flex-direction: column-reverse;
            align-content: center;
        }

        .invalid-feedback {
            margin-top: 32px;
            margin-left: 4%;
            font-style: normal;
            font-weight: 400;
            font-size: 28px;
            color: #305040;
            line-height: 140%;
        }

        .custom-control {
            margin-top: 32px;
            position: relative;
            display: block;
            min-height: 1rem;
            padding-left: 5.5rem;
        }

        .form-control.is-invalid {
            margin-top: 0px;
            box-shadow: none;
        }

        .custom-control-input:checked~.custom-control-label::before {
            color: #fff;
            border-color: #8cc8aa;
            background-color: #8cc8aa;
        }

        .custom-control-input:checked ~ .custom-control-label::before {
            color: #fff;
            background-color: #8cc8aa;
            border-color: rgba(255, 255, 255, 0);
            box-shadow: 0 0 0 0.2rem rgba(255, 255, 255, 0);
        }

        .custom-control-input:focus ~ .custom-control-label::before {
            border-color: #8c8c8c !important;
            box-shadow: 0 0 0 0.2rem rgba(255, 255, 255, 0);
        }
        .form-control.is-valid, .was-validated .form-control:valid,
        .was-validated {
            border-color: #28a745;
            padding-right: 2.25rem;
            background-repeat: no-repeat;
            background-position: center right calc(4.25rem / 4);
            background-size: calc(3.25rem / 2) calc(3.25rem / 2);
        }

        .form-control.is-invalid, .was-validated .form-control:invalid,
        .was-validated {
            border-color: #dc3545;
            padding-right: 2.25rem;
            background-repeat: no-repeat;
            background-position: center right calc(4.25rem / 4);
            background-size: calc(4.25rem / 2) calc(4.25rem / 2);
        }

    }

    @media (max-width: 767px) {

        .form-row {
            display: flex;
            -ms-flex-wrap: wrap;
            flex-wrap: wrap;
            margin-right: 0px;
            margin-left: 0px;
        }

        .form-control {
            display: block;
            width: 100%;
            padding: 16px;
            margin-top: 16px;
            margin-left: auto;
            margin-right: auto;
            height: 130px;
            background-color: #FFFFFF;
            border: 2px solid #eaeaea;
            border-radius: 8px;
            font-style: normal;
            font-weight: 500;
            font-size: 28px;
            line-height: 24px;
            color: #13111B;
            padding: 16px 32px;
            transition: all 0.3s;
        }

        .datepicker {
            border-radius: 30px !important;
        }

        .form-row {
            display: flex;
            -ms-flex-wrap: wrap;
            FONT-VARIANT: JIS04;
            margin-right: 0px !important;
            margin-left: 0px !important;
            flex-direction: column-reverse;
            align-content: center;
        }

        .invalid-feedback {
            margin-top: 10px;
            margin-left: 0px !important;
            font-style: normal;
            font-weight: 400;
            font-size: 28px;
            line-height: 16px;
        }

        .custom-control {
            margin-top: 32px;
            position: relative;
            display: block;
            min-height: 1rem;
            padding-left: 5.5rem;
        }

        .form-control.is-invalid {
            margin-top: 0px;
            box-shadow: none;
        }


        .custom-control-input:checked~.custom-control-label::before {
            color: #fff;
            border-color: #8cc8aa;
            background-color: #8cc8aa;
        }

        .custom-control-input:checked ~ .custom-control-label::before {
            color: #fff;
            background-color: #8cc8aa;
            border-color: rgba(255, 255, 255, 0);
            box-shadow: 0 0 0 0.2rem rgba(255, 255, 255, 0);
        }

        .custom-control-input:focus ~ .custom-control-label::before {
            border-color: #8c8c8c !important;
            box-shadow: 0 0 0 0.2rem rgba(255, 255, 255, 0);
        }



    }

    @media (min-width: 1200px) {
        .card-button {
            display: flex;
            justify-content: center;
            margin-bottom: 1rem;
            width: 720px;
            margin-left: 0px;
        }

        .form-group {
             margin-bottom: 0rem;
        }

    }
    .data-protection-toggle:checked ~ .data-protection-info {
        display: block;
    }


    .form-group.hide-upload-container {

    }


    .data-protection-container {
        display: none;
    }



    @media (max-width: 991px) {
        .login-actions .btn-outline-primary {
            border: 4px solid;
        }
        .client-progress .progress-steps {
            margin: 30px auto;
        }
        .form-control {

            font-size: 1.5rem;
        }
        .datepicker.dropdown-menu{
            font-size: 1.5rem !important;
        }
    }

.alert-warning {
    color: #000;
    background-color: #f8ba0b3d;
}
.camera-container.mobile {
    width: 100%;
    margin: 0px;
}
.camera-container {
    visibility: hidden;
    opacity: 0;
    transition: visibility 0s, opacity 0.5s linear;
    position: relative;
    -moz-user-select: none;
    -webkit-user-select: none;
    -ms-user-select:none;
    user-select:none;
    -o-user-select:none;
}

.camera-container .canvas-wrapper.mobile {
    width: 100%;
    background-color: #305040;
    top: 0;
    border-radius: 0px;
}
.camera-container .canvas-wrapper {
    margin: 0 auto;
    position: relative;
    /*top: 120px;*/
    overflow: hidden;
    border-radius: 30px;
    margin-bottom: 5px;
}
.camera-container .canvas-wrapper video.mobile {
    width: 100%;
    height: 100%;
    object-fit: cover;
    margin-left: 0;
}
.camera-container .canvas-wrapper video {
    -webkit-transform: scaleX(-1);
    transform: scaleX(-1);
    display: block;
    float: left;
}
.camera-container .canvas-wrapper #output {
    position:absolute;
    top:0px;
    left:0px;
}


.camera-container .canvas-wrapper #kopf {
    position: absolute;
    width: 876px;
    top: -312px;
    left: -120px;
    z-index: 300;
}
.camera-container .canvas-wrapper .controls.mobile {
    width: 100%;
    height: 20%;
    position: fixed;
    bottom: 0;
}
.camera-container .canvas-wrapper .controls {
    right: 0;
    width: 200px;
    position: absolute;
    height: 100%;
    background-color: #8cc8aa;
    z-index: 500;
}

#takePhotoButton {
    left: calc(50% - 40px);
    top: calc(50% - 40px);
    width: 80px;
    height: 80px;
    background-image: url('data:image/svg+xml;utf8,<svg fill="%23ffffff" height="48" viewBox="0 0 24 24" width="48" xmlns="http://www.w3.org/2000/svg"><circle cx="12" cy="12" r="3.2"/><path d="M9 2L7.17 4H4c-1.1 0-2 .9-2 2v12c0 1.1.9 2 2 2h16c1.1 0 2-.9 2-2V6c0-1.1-.9-2-2-2h-3.17L15 2H9zm3 15c-2.76 0-5-2.24-5-5s2.24-5 5-5 5 2.24 5 5-2.24 5-5 5z"/><path d="M0 0h24v24H0z" fill="none"/></svg>');
    background-size: 70%;
    border-radius: 50%;
    background-color: rgba(0, 0, 0, 0.5);
}
#takePhotoButton {
    font-size: 47px;
    font-weight: bold;
    outline: none;
    position: absolute;
    color: white;
    display: block;
    opacity: 1;
    border: solid 4px #fff;
    padding: 0;
    text-shadow: 0px 0px 4px black;
    background-position: center center;
    background-repeat: no-repeat;
    pointer-events: auto;
}

.camera-container .canvas-wrapper .horizontalAlert {
    width: 0;
    height: 0;
    display: none;
}
.camera-container .canvas-wrapper .horizontalAlert.mobile {
    width: 100%;
    height: 100%;
    position: fixed;
    top: 0;
    left: 0;
    background: rgba(255,255,255,0.7);
    z-index: 10000;
    display: block;
    color: white;
    text-align: center;
}
.camera-container .canvas-wrapper .horizontalAlert.mobile p {
    margin: 0;
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    font-size: xx-large;
    color: #56656d;
}
.canvas-wrapper .header {
    background: none;
    padding: 25px 15px;
    border: none;
    position: absolute;
    z-index: 20000;
}
.footer {
    /*width: 100%;*/
    height: 400px;
}
.camera-container .alerts {
    /*height: 100px;*/
    position: absolute;
    top: 0%;
    left: 50%;
    transform: translate(-50%, 0%);
    display: none;
}
.camera-container .alerts.mobile {
    z-index: 99999;
    width: 100%;
    /*background-color: rgba(255,255,255,0.50);*/
}
.camera-container .alerts ul {
    list-style: none;
    padding: 8px 4px;
    display: table;
    width: 100%;
    margin-bottom: 0;
}
.camera-container .alerts.mobile ul {
    padding: 1% 1%;

}
.camera-container .alerts ul li {
    display: table-cell;
    padding: 0 16px;
}
.camera-container .alerts.mobile ul li {
    padding: 0 2%;
}
.camera-container .alerts ul li:last-child {
    border-right: none;
}
.camera-container .alerts ul .image-container {
    border: 1px solid #56656d8c;
    width: 100%;
    padding: 21px;
}
.camera-container .alerts.mobile ul .image-container {
    padding: 15px;
}
.camera-container .alerts ul li img {
    width: 45px;
}
.camera-container .alerts.mobile ul li img {
    width: 100%;
}
.cameraOverlay {
    position: absolute;
    display: none;
    width: 100%;
    height: 100%;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    z-index: 150000;
    background-color: #111;
}

#overview-table > :not(caption) > * > * {
    background-color: transparent !important;
}

.camera-result {
    display: none;
    visibility: hidden;
    opacity: 0;
    transition: visibility 0s, opacity 0.5s linear;
    height: 350px;
    width: 100%;
}
.camera-result .row {
    margin-left: 0px;
    margin-right: 0px;
}
.camera-result .image.mobile {
    margin-bottom: 50px;
}
.camera-result .image {
    text-align: center;
}
.camera-result .image img.mobile {
    width: 50%;
}
.camera-result .image img {
    width: 300px;
    border: 2px solid #ededed;
}
.camera-result .image img.alert {
    background-image: url("/web/images/image-alert-pattern.png");
    background-repeat: repeat;
    border: none;
    padding: 0;
}
.camera-result .oi {
    padding: 0px 10px;
    top: 3px;
    font-weight: 100;
}
    .loading-container {
        visibility: hidden;
        transition: visibility 0s, opacity 0.5s linear;
        background: rgba(255, 255, 255, 0.9);
        position: fixed;
        z-index: 1000001;
        left: 0;
        top: 0;
        height: 100%;
        width: 100%;
    }
    .loading-container .spinner-border {
        height: 4rem;
        width: 4rem;
        color: #305040;
        border: 0.6em solid currentColor;
        border-right-color: transparent;
        z-index: 1000002;
    }

    #card-form .oi {
        padding: 0px 20px;
        top: 2px;
    }
    .card-container {
        text-align: center;
    }
    .card-preview-row {
        justify-content: center;
    }
    .card-preview-row > .col-lg-12 {
        display: flex;
        justify-content: center;
    }
    .card-container .client-photo {
        position: absolute;
    }

    .custom-checkbox .custom-control-input:checked~.custom-control-label::before {
        background-color: #8cc8aa;
    }
    .custom-control-input:active~.custom-control-label::before {
        color: #fff;
        background-color: rgba(238, 114, 3, 0.73);
    }
    .custom-control-input:checked~.custom-control-label::before {
        color: #fff;
        background-color: #8cc8aa;
    }

    .custom-checkbox label{
        color: #56656d;
    }
    .data-protection-container .alert {
        color: #56656d;
        background-color: #dee2e67d;
        border-color: #8cc8aa;
    }
    .data-protection-container .alert hr {
        border-top-color: #8cc8aa;
    }
    .data-protection-container {
        display: none;
    }
    @media (max-width: 991px) {
        .custom-checkbox {
            padding-left: 3.5rem;
        }
        .custom-checkbox .custom-control-label {
            font-size: 2.5rem;
            text-align: justify;
        }
        .custom-checkbox .custom-control-label::before {
            left: -3.5rem;
            width: 3rem;
            height: 3rem;
        }
        .custom-checkbox .custom-control-label::after {
            left: -3.5rem;
            width: 3rem;
            height: 3rem;
        }
        .data-protection-container {
            font-size: 2.5rem;
        }
        .data-protection-container .alert-heading {
            font-size: 2rem;
        }
        .data-protection-more-info {
            font-size: 18px;
        }
        .invalid-feedback {
            font-size: 15px;
        }
        .form-control {
            height: 70px;
        }

    }
    #overview-photo-container {
        float: right;
    }
    #overview-photo {
        width: 178px;
        border: 2px solid #8cc8aa;
    }
    #overview-table th {
        width: 40%;
    }
    @media (max-width: 991px) {
        #overview-photo-container {
            float: none;
            text-align: center;
        }
        #overview-photo {
            border: 2px solid #8cc8aa;
            margin-bottom: 50px;
        }
        #overview-table {
            font-size: 1rem;
        }
    }
    .modal {
        z-index: 1000003 !important;
    }

    .modal-content {
        position: relative;
        display: flex;
        -ms-flex-direction: column;
        flex-direction: column;
        width: 100%;
        pointer-events: auto;
        background-color: #fff;
        background-clip: padding-box;
        border: 2px solid rgba(0,0,0,.2);
        border-radius: 0.3rem;
        outline: 0;
        border-radius: 15px;
    }

    .modal-body {
        position: relative;
        -ms-flex: 1 1 auto;
        flex: 1 1 auto;
        padding: 1rem;
        font-size: 18px;
    }

    .btn-success {
        width: 50%;
        height: 80px;
        font-size: 24px;
        font-weight: 400;
        text-align: center;
        background-color: #8cc8aa;
        border-color: #8cc8aa;
        color: #305040;
        border-radius: 8px !important;
        margin-bottom: 16px;
        margin-top: 16px;
    }

    .modal-footer {
        display: flex;
        -ms-flex-align: center;
        align-items: center;
        -ms-flex-pack: end;
        justify-content: center;
        padding: 1rem;
        border-top: 1px solid #e9ecef;
        border-bottom-right-radius: 0.3rem;
        border-bottom-left-radius: 0.3rem;
    }

    .text-info {
        color: #8cc8aa!important;
    }

.btn-success.btn-group-lg .btn.btn-insured {
    background-color: #8cc8aa;
    text-transform: uppercase;
    color: #305040;
    font-weight: 500;
    border: 0px solid #8cc8aa;
}

.btn-success:not(:disabled):not(.disabled):active {
    background-color: #FFFFFF;
    border: 2px solid #8cc8aa;
    color: #3F3F3F;
}


.btn-success:not(:disabled):not(.disabled):active,
.btn-success:not(:disabled):not(.disabled):hover {
    background-color: #FFFFFF;
    border: 2px solid #8cc8aa;
    color: #3F3F3F;
}

.modal-cancel {
    background-color: #7c7c7c !important;
}

.card-body-confirmation {
    width: 300px;
}

.preview-image-size {
    max-width: 250px;
    max-height: 250px;
}

.formular {
    text-decoration: none;
    color: #8cc8aa
}

.formular:hover {
    color: #99DFBC;
}

#new-login-form .form-row > .form-group,
#insured-login-form .form-row > .form-group,
#form-download-form .form-row > .form-group {
    width: 100%;
    max-width: 500px;
    margin-left: auto;
    margin-right: auto;
}

#new-login-form .form-row > .form-group > label,
#insured-login-form .form-row > .form-group > label,
#form-download-form .form-row > .form-group > label {
    display: block;
    width: 100%;
    margin-bottom: 8px;
}

#new-login-form .form-row > .form-group .form-control,
#insured-login-form .form-row > .form-group .form-control,
#form-download-form .form-row > .form-group .form-control {
    width: 100%;
    margin-left: 0;
    margin-right: 0;
}

@media (min-width: 992px) and (max-width: 1199px) {
    #new-login-form .form-row > .form-group,
    #insured-login-form .form-row > .form-group,
    #form-download-form .form-row > .form-group {
        max-width: 450px;
    }
}

@media (max-width: 991px) {
    #new-login-form .form-row,
    #insured-login-form .form-row,
    #form-download-form .form-row {
        flex-direction: column;
    }

    #new-login-form .form-row > .form-group,
    #insured-login-form .form-row > .form-group,
    #form-download-form .form-row > .form-group {
        max-width: none;
    }
}
