/*
Theme Name: Black Forest Verlag Master Theme
Description: Black Forest Verlag Master Theme auf Basis Hello Elementor (getestet bis Hello Elementor Version: 2.6.1)
Theme URI: https://elementor.com/hello-theme/?utm_source=wp-themes&utm_campaign=theme-uri&utm_medium=wp-dash
Author: Black Forest Verlag GmbH
Author URI: https://elementor.com/?utm_source=wp-themes&utm_campaign=author-uri&utm_medium=wp-dash
Version: 1.1
License: GNU General Public License v3 or later.
License URI: https://www.gnu.org/licenses/gpl-3.0.html
Template: hello-elementor
Text Domain: hello-elementor
*/


/* ======================================================
** General
====================================================== */

/* ======================================================
** Startseite
====================================================== */
/* // Scrolling Button Startseite für Smartphone */
#nur_smartphone_scrolling {
    position: fixed;
    bottom: 0;
    z-index: 99;
    background: linear-gradient(0deg, #ffffff, #ffffff75);
    width: 100%;
}

#hero_startseite {
    overflow: hidden;
}

/* Timeline Step by Step */
.timeline {
    position: relative;
    max-width: 400px;
    margin: 50px auto;
}

.timeline::after {
    content: '';
    position: absolute;
    width: 5px;
    background-color: var(--e-global-color-accent);
    top: 0;
    bottom: 0;
    left: 23px;
    z-index: -1;
    border-radius: 5px;
}

.timeline-item::before {
    content: attr(data-step);
    position: absolute;
    width: 50px;
    height: 50px;
    background-color: white;
    color: var(--e-global-color-accent);
    font-size: 24px;
    border: 1px solid var(--e-global-color-accent);
    font-weight: bold;
    text-align: center;
    line-height: 50px;
    border-radius: 50%;
    top: 0;
    left: 0;
}

.timeline-item-first::before {
    content: attr(data-step);
    position: absolute;
    width: 50px;
    height: 50px;
    background-color: var(--e-global-color-primary);
    color: #fff;
    font-size: 24px;
    font-weight: bold;
    text-align: center;
    line-height: 50px;
    border-radius: 50%;
    top: 0;
    left: 0;
}

.timeline-item,
.timeline-item-first {
    position: relative;
    margin: 64px 0;
    padding-left: 85px;
}

.timeline-item h3,
.timeline-item-first h3 {
    margin: 0 0 5px;
    font-size: 24px;
    color: var(--e-global-color-primary);
    font-weight: 700;
}

.timeline-item p,
.timeline-item-first p {
    margin: 0;
    font-size: 16px;
}

@media(max-width: 767px) {

    .timeline-item-first,
    .timeline-item:last-child {
        position: relative;
        margin: 0 0;
        padding-left: 85px;
    }

    .timeline {
        margin: 16px auto 0 auto;
    }

    .timeline-item-first::before,
    .timeline-item::before {
        left: 16px;
    }

    .timeline::after {
        left: 39px;
    }

}

/* FAQ */
.elementor-tab-title {
    border-radius: 5px !important;
}

@media (max-width: 767px) {

    .elementor-58 .elementor-element.elementor-element-35be221>.elementor-element-populated {
        padding: 0 !important;
    }

}

.faq table {
    margin-top: 1rem;
    font-size: 18px;
}

.faq th {
    background: #ffffff !important;
    color: var(--e-global-color-primary);
    text-align: left;
}

.faq td,
.faq th {
    padding: 10px;
    line-height: 1;
    vertical-align: top;
    border: none;
}

.faq .sternchentext {
    font-size: 14px;
}

.faq table tbody>tr:nth-child(odd)>td,
.faq table tbody>tr:nth-child(odd)>th {
    background-color: hsl(0deg 0% 100% / 27%);
}

/* ======================================================
** PopUps
====================================================== */
.popup_elementor {
    line-height: 1.5;
}

button#ja_verlassen {
    background: #dedede !important;
    color: black !important;
    font-weight: 400;
}

.popup_elementor h3 {
    font-weight: 700;
    font-size: 1.5rem;
    line-height: 1.25;
    margin-top: 2rem;
}

.popup_elementor a:not(.elementor-button) {
    text-decoration: underline !important;
    color: #393939 !important;
}



div#popup-code-container p {
    font-size: 18px;
    font-weight: 500;
    color: black;
    border-bottom: 1px solid #b7b7b7;
    padding-bottom: 16px;
    margin-bottom: 16px;
}


#popup-code-container button:last-child {
    margin-bottom: 0;
}

#popup-code-container {
    background-color: #fff;
    padding: 20px;
    border-radius: 7px;
    box-shadow: 0 0 2rem #00000030;
    text-align: center;
    max-width: 400px;
    width: 89%;
    border-bottom: aliceblue;
}

#popup-code-container button {
    padding: 12px 20px;
    border: none;
    border-radius: 5px;
    cursor: pointer;
    background-color: var(--e-global-color-primary);
    color: #fff;
    font-size: 18px;
    margin-bottom: 16px;
    width: 100%;
}

button#newApplication {
    background: var(--e-global-color-accent);
}

@media (max-width: 780px) {

    .dialog-message.dialog-lightbox-message .elementor-location-popup .elementor-text-editor h2 {
        font-size: 24px;
    }

    .dialog-message.dialog-lightbox-message .elementor-location-popup .elementor-text-editor h3 {
        font-size: 20px;
    }

    .dialog-message.dialog-lightbox-message .elementor-location-popup .elementor-text-editor a,
    .dialog-message.dialog-lightbox-message .elementor-location-popup .elementor-text-editor font {
        word-break: break-all;
    }

}

.popup-close-bar .dialog-close-button.dialog-lightbox-close-button::before {
    content: "Fenster schließen" !important;
    padding-right: 6px;
    color: var(--e-global-color-text);
    font-weight: 700;
}

.popup-close-bar .dialog-header.dialog-lightbox-header {
    padding-bottom: 3rem;
    display: block;
}

#popup-code-overlay {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-color: rgba(0, 0, 0, 0.5);
    z-index: 999;
    display: flex;
    justify-content: center;
    align-items: center;
}

#popup-overlay {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-color: rgba(0, 0, 0, 0.5);
    z-index: 999;
    display: flex;
    justify-content: center;
    align-items: center;
}

.popup_elementor {
    line-height: 1.5;
}

button#ja_verlassen {
    background: #dedede !important;
    color: black !important;
    font-weight: 400;
}

.popup_elementor h3 {
    font-weight: 700;
    font-size: 1.5rem;
    line-height: 1.25;
    margin-top: 2rem;
}

div#popup-container p {
    font-size: 18px;
    font-weight: 500;
    color: black;
    border-bottom: 1px solid #b7b7b7;
    padding-bottom: 16px;
    margin-bottom: 16px;
}



#popup-container {
    background-color: #fff;
    padding: 20px;
    border-radius: 7px;
    box-shadow: 0 0 2rem #00000030;
    text-align: center;
    max-width: 400px;
    width: 89%;
    border-bottom: aliceblue;
}

#popup-container button {
    padding: 12px 20px;
    border: none;
    border-radius: 5px;
    cursor: pointer;
    background-color: var(--e-global-color-primary);
    color: #fff;
    font-size: 18px;
    margin-bottom: 16px;
    width: 100%;
}

#popup-container button:last-child {
    margin-bottom: 0;
}


/* ======================================================
** Overlay mit Spinner
====================================================== */
#loading-overlay,
.overlay {
    position: fixed;
    top: 0;
    left: 0;
    width: 100vw;
    height: 100vh;
    background-color: rgba(255, 255, 255, 1);
    display: flex;
    flex-flow: column wrap;
    justify-content: center;
    align-items: center;
    z-index: 9999;
    text-align: center;
}

.spinner {
    width: 50px;
    height: 50px;
    border: 5px solid rgba(0, 0, 0, 0.1);
    border-top: 5px solid var(--e-global-color-primary);
    border-radius: 50%;
    animation: spin 1s linear infinite;
}

@keyframes spin {
    0% {
        transform: rotate(0deg);
    }

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

#loading-overlay>div {
    margin: 6px;
}

/* ======================================================
** Trusted Shops Widget
====================================================== */
@media (min-width: 767px) {

    div[id^=trustbadge-container] div[id^=minimized-trustbadge]:hover,
    div[id^=trustbadge-container] div[id^=minimized-trustbadge] {
        inset: auto 19px 19px auto !important;
    }

    div[id^=minimized-trustbadge] {
        border: 1px solid rgb(255 220 15 / 0%) !important
    }

    div[id^=trustbadge-container] div[id^=maximized-trustbadge] {
        bottom: 19px !important;
        right: 19px !important;
    }
}

#wdg-df6b9e35-706a-4f55-aafc-48ca478ebe10 .trusted-stars-service-widget .wrapper {
    margin: 8px 0 0 0 !important;
}




/* ======================================================
** Header
====================================================== */
#navigation-top-formular {
    position: fixed;
    background: white;
    z-index: 9;
    width: 100%;
    border-bottom: 1px solid #eaeaea;
}

#logo_container h3 {
    margin: 0;
}

#logo_container .elementor-icon-box-icon {
    margin-bottom: 0 !important;
}

#logo_container .elementor-icon-box-icon {
    margin-bottom: 0 !important;
}

@media(max-width: 768px) {

    #logo_container .elementor-icon-box-content {
        display: none;
    }

    #logo_container span.elementor-icon {
        margin-bottom: -7px;
    }

}

.elementor-column-gap-default>.elementor-column>.elementor-element-populated {
    padding: 0 !important;
}


/******************************************************************************************/
/* ======================================================
   Formular Standard
   ====================================================== */
/* Label */
.nf-form-content .nf-field-container.label-above .nf-field-label {
    font-size: 18px;
    line-height: 20px;
    font-weight: 700;
    width: 100%;
    border-bottom: 1px solid #cdcdcd;
    padding-bottom: 5px;
    padding-right: 32px;
}

.nf-form-content label {
    padding-right: 32px;
}

.nf-form-content .nf-field-container.label-hidden .nf-field-label {
    display: none;
}

.nf-form-content .nf-field-label .ninja-forms-req-symbol {
    color: var(--e-global-color-b5eb112);
}

/* Inputs */
.nf-form-content .nf-row .list-select-wrap .nf-field-element>div,
.nf-form-content .nf-row input:not([type="button"]),
.nf-form-content .nf-row textarea,
.nf-form-content .nf-row select.ninja-forms-field {
    background: white;
    border: 1px solid #e9e9e9;
    border-radius: 5px;
    box-shadow: 5px 5px 11px -5px #00000017;
    -moz-box-shadow: 5px 5px 11px -5px #00000017;
    -webkit-box-shadow: 5px 5px 11px -5px #00000017;
    color: var(--e-global-color-text);
    font-weight: 600;
    font-size: 18px;
}

.nf-form-content .nf-row select.ninja-forms-field option:first-child[value=""] {
    font-style: italic;
}

.nf-form-content .nf-row select.ninja-forms-field {
    text-overflow: ellipsis;
    white-space: nowrap;
    overflow-x: hidden !important;
    padding: 0 30px 0 16px;
}

.nf-form-content .nf-row .list-select-wrap .nf-field-element>div:focus,
.nf-form-content .nf-row input:not([type="button"]):focus,
.nf-form-content .nf-row textarea:focus,
.nf-form-content .nf-row select.ninja-forms-field:focus {
    border: 1px solid #e9e9e9;
    color: var(--e-global-color-text);
    background: white;
}


.nf-form-content input[type="submit"] {
    background-color: var(--e-global-color-primary) !important;
    font-family: "Karla", Sans-serif;
    font-size: 18px;
    font-weight: 700;
    color: #FFFFFF !important;
    border-style: solid;
    border-width: 1px 1px 1px 1px;
    border-color: var(--e-global-color-primary);
    border-radius: 5px 5px 5px 5px;
    width: 100% !important;
}

.nf-form-content input[type="submit"]:hover {
    background-color: white !important;
    color: var(--e-global-color-primary) !important;
}

.nf-form-content .listselect-wrap .nf-field-element div,
.nf-form-content input.ninja-forms-field,
.nf-form-content select.ninja-forms-field:not([multiple]) {
    padding-left: 16px;
}

.nf-fu-progress {
    height: auto !important;
    margin-bottom: 0 !important;
}

/* Beschreibungsfeld */
.nf-field-description {
    margin-bottom: 10px;
}

/* Datumfeld */
.flatpickr-calendar.animate.open {
    display: none;
}

/* NJ Hinweise über dem Formular */
.nf-before-form-content {
    display: none !important;
}


/* Checkboxen */
.ninja-forms-form-wrap select {
    background: none !important;
    cursor: pointer;

}

.listcheckbox-container .nf-field-element label {
    margin-left: 30px !important;
    font-size: 16px;
    line-height: 1.5;
    cursor: pointer;
}

.listradio-container .nf-field-element li {
    margin-right: 8px !important;
    display: inline-block;
}

.checkbox-container .checkbox-wrap {
    flex-direction: column;
}

.checkbox-container .nf-field-description {
    margin-top: 5px;
}

.ninja-forms-form-wrap .listcheckbox-container .nf-field-element label::after,
.ninja-forms-form-wrap .listcheckbox-container .nf-field-element label::before,
.ninja-forms-form-wrap .checkbox-container label::after,
.ninja-forms-form-wrap .checkbox-container label::before {
    width: 20px;
    height: 20px;
    border-radius: 5px;
    border: 2px solid var(--e-global-color-primary);
    background-color: #fff;
    display: block;
    float: left;
    margin-right: 10px;
    font-size: 16px !important;
    color: var(--e-global-color-primary) !important;
    line-height: 17px;
    top: 1px;
    left: -28px;
}

.listcheckbox-container .nf-field-element label.nf-checked-label::after,
.checkbox-container label.nf-checked-label::after {
    border: none;
}

.ninja-forms-form-wrap .checkbox-container.label-right .field-wrap>div {
    width: unset;
}

.ninja-forms-form-wrap .checkbox-container label {
    cursor: pointer;
}

.nf-field-container.listcheckbox-container .nf-field-element li::before,
.nf-field-container.listcheckbox-container .nf-fail .nf-field-element::after,
.nf-field-container.listcheckbox-container .nf-pass .nf-field-element::after {
    display: none;
}

/* Radio Buttons */
.listradio-container li:before,
.listradio-container label:before,
.listradio-container label::after,
.listradio-container .nf-field-element label.nf-checked-label:before,
.listradio-container .listradio-wrap input[type="radio"] {
    display: none !important;
}

.ninja-forms-form-wrap .listradio-container li label {
    background: white;
    padding: 16px;
    border: 2px solid transparent;
    box-shadow: 5px 5px 11px -5px #00000017;
    -moz-box-shadow: 5px 5px 11px -5px #00000017;
    -webkit-box-shadow: 5px 5px 11px -5px #00000017;
    border-radius: 5px;
    cursor: pointer;
    border: 2px solid white;
    font-weight: 700;
    margin-left: 0 !important;
    margin-right: 5px;
}

.ninja-forms-form-wrap .listradio-container .nf-field-element .nf-checked-label {
    border: 2px solid var(--e-global-color-primary);
}


/* ======================================================
   Formular Standard: Upload Feld
   ====================================================== */

.field-wrap.file_upload-wrap .nf-fu-progress {
    background: transparent;
    -webkit-box-shadow: none;
    box-shadow: none;
    border-radius: 0;
}

.field-wrap.file_upload-wrap .nf-fu-progress-bar {
    transition: none !important;
    -webkit-transition: unset !important;
    position: absolute;
    top: 0;
    background-color: #1f6b2a !important;
    height: 8px;
    border-radius: 5px 5px 0 0;
    margin-top: 6px;
}

.field-wrap.file_upload-wrap .nf-fu-fileinput-button {
    border: 4px dashed #cad4de;
    border-radius: 5px;
    color: #000;
    background: #fff;
    padding: 16px;
    display: flex;
    align-items: center;
    line-height: 1;
    justify-content: center;
    flex-direction: column;
    box-shadow: 5px 5px 11px -5px #00000017;
    -moz-box-shadow: 5px 5px 11px -5px #00000017;
    -webkit-box-shadow: 5px 5px 11px -5px #00000017;
    white-space: break-spaces;
    font-size: 14px;
    font-weight: normal;
    padding: 5rem;
}

.field-wrap.file_upload-wrap .nf-fu-fileinput-button i {
    font-size: 45px;
    margin-bottom: 0;
    color: #e9e9e9;
}

.field-wrap.file_upload-wrap .nf-fu-fileinput-button svg *,
.field-wrap.file_upload-wrap .nf-fu-fileinput-button svg {
    fill: var(--e-global-color-primary) !important;
    color: var(--e-global-color-primary);
}

.field-wrap.file_upload-wrap .btn.nf-fu-button-cancel {
    margin: 15px 0;
}

.file_upload-wrap .nf-field-element {
    display: flex;
    flex-direction: column;
    justify-content: center;
}

.field-wrap.file_upload-wrap .files_uploaded .delete {
    padding: 0px 12px;
    color: #fff;
    background-color: var(--e-global-color-b5eb112);
    margin-left: 12px;
    border-radius: 5px;
}

.file_upload-container .nf-field-description {
    order: 5;
    margin-bottom: 12px;
}

/* File Upload Skript Prüfe PDF Dateien */
.fileupload-info {
    border-radius: 6px;
    padding: 16px 32px 16px 16px;
    position: absolute;
    width: 100%;
    top: 0;
    margin: 16px;
    width: calc(100% - 32px);
}

.fileupload-info.error {
    background: var(--e-global-color-b5eb112);
    color: white;
}

.fileupload-info.warning {
    background: #ebd830;
}

.fileupload-info .close {
    position: absolute;
    top: 2px;
    right: 9px;
    font-size: 20px;
    cursor: pointer;
}

/* .imgDialogInline{                Wo????
        margin: 0 auto;
        display: block;
        border: 1px solid gray;
        margin-top: 16px;
        margin-bottom: 16px;
    } */

/* ======================================================
    ** Formular Standard: Tooltip / UI Dialog
    ====================================================== */
.fa-info-circle:before {
    font-size: 20px;
    color: var(--e-global-color-accent);
    position: absolute;
    right: 0;
    top: 0;
    content: "\f059" !important;
    font-family: "Font Awesome 5 Free";
}

.nf-help:hover {
    cursor: pointer;
}

.jBox-Tooltip {
    display: none !important;
}

.ui-widget.ui-widget-content {
    border: none;
}

.ui-dialog {
    background-color: #fff;
    color: #7a7a7a;
    box-shadow: 0px 0px 12px 3px rgb(0 0 0 / 33%);
    -moz-box-shadow: 0px 0px 12px 3px rgb(0 0 0 / 33%);
    -webkit-box-shadow: 0px 0px 12px 3px rgb(0 0 0 / 33%);
    padding: 0;
    border-radius: 5px;
}

@media (min-width: 768px) {

    .ui-dialog,
    .dialogBox_container {
        min-width: 450px;
    }
}

.ui-dialog .ui-dialog-titlebar {
    border-radius: 5px 5px 0 0;
    display: flex;
    align-items: center;
    justify-content: space-between;
    background-color: var(--e-global-color-accent);
    font-weight: bold;
    padding: 15px;
    color: #000;
    border: none;
    border-bottom: 1px solid #dddd;
}

@media (max-width: 767px) {
    .ui-dialog .ui-dialog-titlebar {
        border-radius: 0;
    }
}

.ui-dialog .ui-dialog-titlebar .ui-dialog-title {
    flex-grow: 2;
    font-size: 1.2rem;
    margin: 0;
    color: white;
}

.ui-dialog .ui-dialog-titlebar-close {
    border: none;
    background: none;
    color: #7a7a7a;
    font-weight: bold;
    font-size: larger;
    padding: 0;
    position: relative;
    margin: 0;
    top: 0;
    right: 0;
    height: max-content;
}

.ui-dialog .ui-button-icon.ui-icon.ui-icon-closethick {
    background-image: url('/wp-content/uploads/bfv/img/xmark-solid.svg');
    background-position: center;
    width: 25px;
    height: 25px;
    position: absolute;
    top: 0;
    left: 0;
    margin-top: 0;
    margin-left: 0;
}

.ui-dialog .ui-dialog-titlebar-close:focus,
.ui-dialog .ui-dialog-titlebar-close:hover {
    background-color: transparent;
    border: none;
    color: #fff;
}

.ui-dialog .ui-dialog-content {
    color: black;
    font-size: 16px;
    font-weight: 500;
    padding: 16px;
}

.ui-dialog .ui-dialog-content img {
    width: 100%;
    max-width: 600px;
}

.ui-dialog-buttonpane .ui-dialog-buttonset {
    display: flex;
    justify-content: flex-end;
}

.ui-dialog .ui-dialog-buttonpane {
    margin: 0;
    padding: 15px;
    border-radius: 0 0 5px 5px;
}

.ui-dialog .ui-dialog-buttonpane .ui-button {
    background-color: var(--e-global-color-accent);
    border: 1px solid var(--e-global-color-accent);
    color: #fff;
    font-weight: bold;
    margin: 0;
}

.ui-dialog .ui-dialog-buttonpane .ui-button:focus,
.ui-dialog .ui-dialog-buttonpane .ui-button:hover {
    border-color: var(--e-global-color-accent);
    color: var(--e-global-color-accent);
    background-color: transparent;
    outline: none;
}

.ui-dialog #table_interesse-popup tr td:first-child {
    max-width: 110px;
    hyphens: auto;
    word-break: auto-phrase;
}

/* ======================================================
    ** Formular Standard: Fehleranzeige
    ====================================================== */
.nf-error .ninja-forms-field {
    border-color: var(--e-global-color-b5eb112) !important;
}

.nf-error-msg.nf-error-field-errors {
    background: var(--e-global-color-b5eb112);
    color: white;
    padding: 16px;
    border-radius: 5px;
    text-align: center;
    margin: 1.25rem !important;
}

.nf-error .nf-error-msg {
    color: var(--e-global-color-b5eb112);
}

.nf-error.field-wrap .nf-field-element:after {
    display: none;
}

.nf-pass.field-wrap .nf-field-element:after {
    color: #bfdeb4 !important;
    top: 1px !important;
    display: none;
}

.nf-pass .ninja-forms-field {
    border-color: #bfdeb4 !important;
}

.nf-pass .ninja-forms-field {
    border-color: var(--e-global-color-accent) !important;
}

.toastify .toast-close img {
    filter: invert(1) brightness(2);
}

/* ======================================================
    ** Formular Standard: Signatur
    ====================================================== */
.signatureArea {
    display: none;
    width: 100%;
    height: 100%;
    position: fixed;
    top: 0;
    left: 0;
    background: #000000c7;
    padding-top: 5%;
    z-index: 999;
    text-align: center;
    flex-direction: column;
    align-items: center;
    user-select: none;
}

.signatureArea .unterschriftLoeschen {
    background: var(--e-global-color-b5eb112);
    color: white;
}

.signatureArea .infobox {
    background: #f9c315;
    color: black;
    font-size: 18px;
}

.signatureArea .unterschriftVerwenden {
    background: var(--e-global-color-accent);
    color: white;
}

.signatureArea .button.unterschriftVerwenden {
    margin-left: 5px;
}

.signatureArea canvas {
    cursor: crosshair;
    border-radius: 5px;
    display: inline;
    background: white;
}

.signatureArea .button {
    max-width: 320px;
    padding: 10px;
    font-size: 18px;
    font-weight: 700;
    border-radius: 5px;
    text-align: center;
    display: inline-block;
    cursor: pointer;
}

.bfv_unterschriftPlatzhalter {
    border: 4px dashed #cad4de;
    border-radius: 5px;
    padding: 32px;
    text-align: center;
    font-weight: bold;
    color: black;
    text-decoration: underline;
    cursor: pointer;
    background: white;
}

.bfv_unterschriftPlatzhalter img {
    height: auto;
    margin: 0 auto;
    display: block;
}

.bfv_unterschriftPlatzhalter i {
    display: block;
    font-size: 32px;
    color: var(--e-global-color-accent);
    margin-bottom: 16px;
}

.bfv_unterschrift1 textarea,
.bfv_unterschrift2 textarea {
    display: none;
}

#bfv_formwrapper .bfv_unterschrift1 .nf-error.field-wrap .nf-field-element:after,
#bfv_formwrapper .bfv_unterschrift1 .nf-pass.field-wrap .nf-field-element:after {
    top: -53px !important;
    right: 16px !important;
}

.signatureAreaClose {
    width: 100%;
    display: flex;
    justify-content: center;
    position: relative;
}

.signatureAreaClose .closeSig {
    width: 1000px;
    position: relative;
}

.signatureAreaClose .closeSig i {
    color: #fff;
    position: absolute;
    font-size: 25px;
    padding: 6px;
    right: 0px;
    border-radius: 2px;
    z-index: 2;
    cursor: pointer;
    background-color: var(--e-global-color-accent);
}

.canvasWrapper {
    position: relative;
    width: fit-content;
}

.sigError {
    background: var(--e-global-color-b5eb112);
    border-radius: 5px;
    padding: 10px;
    max-width: 500px;
    line-height: 1.15;
    font-size: 17px;
    font-weight: 700;
    color: #fff;
    margin: 0px auto 32px;
    display: none;
}

@media screen and (orientation: portrait) {
    .sigError {
        max-width: 321px;
    }

    .sigInfo {
        background: #ffd26d;
        border-radius: 5px;
        padding: 9px;
        max-width: 321px;
        line-height: 1.15;
        font-size: 14px;
        margin-bottom: 2%;
        color: black;
        margin: 0px auto 32px;
        display: block;
    }
}

@media screen and (orientation: landscape) {
    .sigInfo {
        display: none;
    }
}



/* ======================================================
    ** Formular Standard: eigene allgemeingültige  CSS Klassen
    ====================================================== */

/* Textinforamtionen */
.warningtext {
    border-radius: 5px;
    background: #f1edd4;
    padding: 16px;
    color: black;
    margin-top: 9px;
}

.inputWarning {
    color: black;
    background: #fff168;
    padding: 5px;
    margin-top: 5px;
    border-radius: 5px;
    margin-top: 5px;
    line-height: 1.2;
    border: none;
    box-shadow: none;
    margin-top: 9px;
    width: 100%;
    margin-left: 0;
}

.entrytext {
    text-align: center;
    padding: 3rem 5rem;
    margin: 0 auto;
    border: 2px solid var(--e-global-color-primary);
    border-radius: 5px;
    background-color: #fff;
}

.entrytext p,
.entrytext font {
    font-size: 21px;
    font-weight: bold;
}

.entrytext font {
    color: var(--e-global-color-primary);
}

@media (max-width: 768px) {
    .entrytext {
        text-align: left;
        padding: 1rem;
    }

    .entrytext p {
        text-align: center;
    }
}

.infotext {
    border-radius: 5px;
    background: #c6d2df;
    padding: 16px;
    color: black;
}

/* Gruppierung mit js*/
.nf-form-content .group_start,
.nf-form-content .group_end {
    display: none !important;
}

.nf-form-content .grouped-container {
    background: #ffffff61;
    margin: 0 6px 28px;
    border-radius: 0 8px 8px 0;
    padding: 16px;
    box-shadow: 0 0 1rem #0000000f;
    border-left: 5px solid #1d4e8133;
}


/******************************************************************************************/
/* ======================================================
** Formular Antrag: Sidebar / Menü
====================================================== */

#bfv_form-antrag #bfv-sidebar .nf-breadcrumbs li a {
    border-bottom: 4px solid #99a1ab !important;
    font-size: 16px;
}

@media (min-width: 768px) {

    #bfv_form-antrag #bfv-sidebar .nf-breadcrumbs li a:hover,
    #bfv_form-antrag #bfv-sidebar .nf-breadcrumbs li.active a {
        box-shadow: 0 0 1rem #0000003d;
        -moz-box-shadow: 0 0 1rem #0000003d;
        -webkit-box-shadow: 0 0 1rem #0000003d;
    }
}

#bfv_form-antrag #bfv-sidebar h2.elementor-heading-title.elementor-size-default {
    display: none;
}

#bfv_form-antrag .nf-form-content .nf-breadcrumbs a.nf-breadcrumb {
    background-color: #fff;
    color: var(--e-global-color-primary);
    border: 1px solid var(--e-global-color-primary);
}

#bfv_form-antrag .nf-form-content .nf-breadcrumbs a.nf-breadcrumb:hover,
#bfv_form-antrag .nf-form-content .nf-breadcrumbs .active a.nf-breadcrumb {
    background-color: var(--e-global-color-primary);
    color: #fff;
}

#bfv_form-antrag #bfv-sidebar .nf-mp-header {
    width: 100%;
}

#bfv_form-antrag #bfv-sidebar .nf-breadcrumbs {
    margin: 0 !important;
}

#bfv_form-antrag #bfv-sidebar .nf-breadcrumbs li::before {
    display: none;
}

#bfv_form-antrag #bfv-sidebar .nf-breadcrumbs li {
    width: 100%;
    float: none;
    text-align: left;
}

#bfv_form-antrag #bfv-sidebar .nf-breadcrumbs li a {
    display: inline-block;
    padding: 16px 13px;
    margin: 4px 0;
    background: #c6d2df;
    color: #494949;
    font-size: 16px;
    font-weight: 600;
    line-height: 1;
    transition: all 0.5s;
    text-decoration: none;
    width: 100%;
    border-radius: 5px;
    user-select: none;
}

#bfv_form-antrag #bfv-sidebar li.active a.nf-breadcrumb {
    background: var(--e-global-color-primary) !important;
    color: white !important;
    pointer-events: none;
}

#bfv_form-antrag .partsDivider h4 {
    font-size: 1.5rem;
    font-weight: 700;
    margin: 0;
    width: fit-content;
}

#bfv_form-antrag .partsDivider h4 span {
    padding-right: 3px;
}

#bfv_form-antrag h3.toggleBreadcrumbs {
    font-size: 1.25rem;
    font-weight: 700;
    background: #fff;
    text-align: left;
    padding: 16px;
    border-bottom: 5px solid var(--e-global-color-primary);
    border-radius: 5px 5px 0 0;
    width: 100%;
    margin: 0;
}

#bfv_form-antrag #bfv-sidebar .nf-breadcrumbs li.disabledClass>a,
#navigation-bottom a.disabledClass {
    background-color: white;
    cursor: not-allowed;
    color: black;
    opacity: 0.25;
    pointer-events: none;
    user-select: none;
}


#bfv_form-antrag h3.toggleBreadcrumbs i {
    margin-left: 10px;
}

#bfv_form-antrag h3.toggleBreadcrumbs.ohne-header {
    top: 0 !important;
}

#bfv_form-antrag ul.nf-breadcrumbs.ohne-header {
    top: 45px !important;
}

@media (min-width: 768px) {
    #bfv_form-antrag #bfv-sidebar .nf-breadcrumbs li.disabledClass>a {
        border-bottom: 4px solid #a3a3a3 !important;
    }

    #bfv_form-antrag #bfv-sidebar .nf-breadcrumbs li.active>a {
        border-bottom: 4px solid #ffffff !important;
    }

    #bfv_form-antrag #bfv-sidebar .nf-breadcrumbs li:not(.disabledClass) a:hover,
    #bfv_form-antrag #bfv-sidebar .nf-breadcrumbs li.active a {
        color: white;
        box-shadow: none;
        -moz-box-shadow: none;
        -webkit-box-shadow: none;
        background: var(--e-global-color-primary);
        border-bottom: 4px solid #ffffff !important;
    }

    #bfv_form-antrag .toggleBreadcrumbs i.fas.fa-caret-down {
        display: none;
    }
}

@media (max-width: 767px) {

    #bfv_form-antrag #bfv-sidebar {
        position: absolute;
    }

    #bfv_form-antrag #bfv_reset {
        display: none !important;
    }

    #bfv_form-antrag h3.toggleBreadcrumbs {
        border-bottom: 1px solid #1c4e81;
        border-top: 1px solid #eeeeee;
        border-radius: 0;
        box-shadow: 0px 16px 1rem #0000000d;
        padding: 12px;
        text-align: center;
        font-size: 1rem;
        position: fixed;
        top: 44px;
        left: 0;
        z-index: 10;
    }

    #bfv_form-antrag .nf-breadcrumbs {
        opacity: 0;
        position: fixed;
        background: white;
        z-index: -1;
        height: 100vh;
        top: 124px;
        left: 0;
        width: 100%;
        overflow-y: scroll;
        overflow-x: hidden;

    }

    #bfv_form-antrag .nf-breadcrumbs.showBreadcrumbs {
        display: block;
    }

    #bfv_form-antrag ul.nf-breadcrumbs {
        padding: 10px !important;
        top: 90px;
    }

}

@media (max-width: 767px) {
    #bfv_form-antrag .nf-form-content {
        padding: 10px !important;
    }
}

/*Fehler Icon*/
#bfv_form-antrag #bfv-sidebar .nf-breadcrumbs li.errors a::after {
    font-family: "FontAwesome";
    position: absolute;
    content: "\f06a";
    color: var(--e-global-color-b5eb112);
    right: 6px;
    top: 6px;
    background: white;
    left: auto;
    font-size: 25px;
    line-height: 18px;
    width: 32px;
    height: 32px;
    padding-left: 5px;
    padding-top: 8px;
    border-radius: 5px;
}

@media (max-width: 767px) {
    #bfv_form-antrag #bfv-sidebar .nf-breadcrumbs li.errors a::after {
        top: 10px !important;
    }
}

/* Fehlermeldung mit Toastify, deshalb normale Meldung display none */
#bfv_form-antrag .nf-error-msg.nf-error-field-errors {
    display: none;
}

/* Formular Zurücksetzen Button */
#bfv_form-antrag div#bfv_reset {
    text-align: center;
    text-decoration: underline;
    color: #b2b2b2;
    cursor: pointer;
    display: none;
}

/* ======================================================
** Formular Antrag: Navigation
====================================================== */

/* Standard Submit Button */
#bfv_form-antrag .nf-form-content .nf-field-container.submit-container {
    display: none;
}

/* Standard Weiter / Zurück Button */
#bfv_form-antrag ul.nf-next-previous {
    display: none;
}

#bfv_form-antrag .nf-row .hidden-container {
    display: none;
}

#navigation-bottom {
    position: -webkit-sticky;
    position: fixed;
    bottom: 0;
    width: 100%;
}

#navigation-bottom .elementor-column-gap-narrow>.elementor-column>.elementor-element-populated {
    padding: 0 !important;
}

#eigener-button-zurueck,
#eigener-button-speichern,
#eigener-button-weiter {
    cursor: pointer;
    user-select: none;
}

#eigener-button-speichern i {
    display: inline-block;
    transition: transform 0.3s ease, color 0.3s ease;
}

#eigener-button-speichern i.error {
    color: rgb(157, 38, 38);
}

@keyframes shake {
    0% {
        transform: translateX(0);
    }

    25% {
        transform: translateX(-10px);
    }

    50% {
        transform: translateX(10px);
    }

    75% {
        transform: translateX(-10px);
    }

    100% {
        transform: translateX(0);
    }
}

#eigener-button-speichern i.shake {
    animation: shake 0.5s ease forwards;
}

#eigener-button-speichern i.rotate {
    transform: rotate(360deg);
}

#bfv_button_nav_container #eigener-button-submit_container .elementor-button {
    color: white;
    width: 100%;
    background: var(--e-global-color-primary);
    border-color: var(--e-global-color-primary);
}

#bfv_button_nav_container #eigener-button-submit_container .elementor-button:hover {
    color: white;
    cursor: pointer;
}

#bfv_button_nav_container #eigener-button-submit_container {
    display: none;
}

/*Auf dem letzten Part des Formulars - .lastPage wird per js gesetzt*/
.lastPage #bfv_button_nav_container #eigener-button-submit_container {
    display: block;
}

.lastPage #bfv_button_nav_container #bfv_left_nav_container {
    width: 35%
}

.lastPage #bfv_button_nav_container #bfv_right_nav_container {
    width: 65%
}

.lastPage #bfv_button_nav_container #eigener-button-weiter_container,
.lastPage #bfv_button_nav_container #bfv_center_nav_container,
.lastPage #bfv_button_nav_container #eigener-button-zurueck .elementor-button-text {
    display: none !important;
}

@media (max-width: 767px) {

    #eigener-button-weiter,
    #eigener-button-zurueck,
    #eigener-button-speichern {
        width: 100%;
    }

    #eigener-button-zurueck .elementor-button-text,
    #eigener-button-weiter .elementor-button-text,
    #eigener-button-speichern .elementor-button-text {
        display: none !important;
    }

    .lastPage #bfv_button_nav_container #bfv_left_nav_container,
    .lastPage #bfv_button_nav_container #bfv_center_nav_container {
        width: 20%
    }

    .lastPage #bfv_button_nav_container #bfv_right_nav_container {
        width: 80%
    }
}

/* ======================================================
** Formular Antrag: Dropdown mit Suchfunktion
====================================================== */
/* #bfv_form-antrag div[for="nf-field-733"],
#bfv_form-antrag div[for="nf-field-799"] {
    display: none;
} */

.select2-container .select2-selection--single {
    height: auto !important;
    background: white;
    border: 1px solid #e9e9e9;
    border-radius: 5px;
    box-shadow: 5px 5px 11px -5px #00000017;
    -moz-box-shadow: 5px 5px 11px -5px #00000017;
    -webkit-box-shadow: 5px 5px 11px -5px #00000017;
    color: var(--e-global-color-text);
    font-weight: 600;
    font-size: 18px;
}

.select2-dropdown {
    border: 1px solid #e9e9e9 !important;
}

.select2-container {
    width: auto;
}

.select2-container--default .select2-selection--single .select2-selection__rendered {
    color: #000;
    font-weight: bold;
    padding-left: 16px;
}

.select2-container--default .select2-results__option--highlighted.select2-results__option--selectable {
    background-color: var(--e-global-color-primary);
    color: white;
}

/* ======================================================
** Formular Antrag: Sonstiges
====================================================== */
.postcode .nf-input-limit {
    display: none;
}

/* Steuernummer Erklärung Html*/
font.stnr {
    background: #ffffff5e;
    padding: 0;
    font-weight: bold;
    border: 1px solid #e3e3e3;
}

h4.stnr_headline {
    font-size: 18px;
    margin-top: 48px;
    border-bottom: 2px solid #cad4de;
    text-align: center;
    padding-bottom: 7px;
}

.stnr_infos .faq-question {
    cursor: pointer;
    padding: 5px 9px;
    font-size: 1rem;
    font-weight: bold;
    position: relative;
    transition: background 0.3s;
    border-bottom: 5px solid transparent;
    border-radius: 5px;
    background: #f4f4f4;
    border: 1px solid #cad4de;
    margin-bottom: 9px;
    color: black;
}

.stnr_infos .faq-question:hover,
.stnr_infos .faq-question.active {
    background: #eeeeee;
    color: black;
    border-color: none;
}

.stnr_infos .faq-answer {
    display: none;
    padding: 16px 0 0 0;
    background: transparent;
    margin-top: -16px;
}

.finanzamt-anzeige address {
    background: #ececec;
    text-align: center;
    padding: 1rem;
    border-radius: 8px;
}

/* Input Loader */
.loader_container {
    background: white !important;
    z-index: 2 !important;
}

.loader_container .loader {
    width: 10px !important;
    height: 10px !important;
    border: 5px solid #eeeeee;
    border-bottom-color: var(--e-global-color-primary);
    border-radius: 50%;
    display: inline-block;
    box-sizing: border-box;
    animation: rotation 1s linear infinite;
    margin: 6px auto 0 auto !important;
}

.loader_container::after,
.loader::after,
.no-arrow::after {
    content: "" !important;
}

@keyframes rotation {
    0% {
        transform: rotate(0deg);
    }

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

/*Finanzamt ändern Checkbox*/
.finanzamt_aendern {
    height: 0 !important;
}

.finanzamt_aendern label {
    line-height: 1.7 !important;
    margin-top: -17px;
    text-decoration: underline;
    font-size: 14px !important;
}

/**********************************************************************************/


/* ======================================================
** Checkout bzw. Bezahlseite & Thank You
====================================================== */

/* Allgemein */
h3.toggleBreadcrumbs {
    font-size: 1.25rem;
    font-weight: 700;
    background: #fff;
    text-align: left;
    padding: 16px;
    border-bottom: 5px solid var(--e-global-color-accent);
    border-radius: 5px 5px 0 0;
    width: 100%;
    margin: 0;
}

.shop_table {
    display: none;
}

#bezahlen-bfv {
    cursor: pointer;
}

.payment_box.payment_method_ppcp-gateway,
.woocommerce-privacy-policy-text,
.ppcp-messages {
    display: none !important
}

div#payment {
    background: #ffffff61 !important;
    box-shadow: 5px 5px 11px -5px #00000017;
    border-left: 5px solid #1d4e8133;
}

fieldset#wc-stripe-upe-form {
    padding: 0;
    border: none;
}

.headline_wie_label {
    font-size: 18px;
    line-height: 20px;
    font-weight: 700;
    width: 100%;
    border-bottom: 1px solid #cdcdcd;
    padding-bottom: 5px;
}

span.ninja-forms-req-symbol {
    color: #9D2626;
}

ul.wc_payment_methods.payment_methods.methods li label {
    font-weight: 700;
    font-size: 18px;
    cursor: pointer;
}

#add_payment_method #payment div.payment_box::before,
.woocommerce-cart #payment div.payment_box::before,
.woocommerce-checkout #payment div.payment_box::before {
    display: none;
}

.payment_box {
    background: #eeeeee !important;
    margin: 8px 0;
}

button#place_order,
.button_pay_vorkasse {
    background-color: var(--e-global-color-accent);
    fill: #FFFFFF;
    color: #FFFFFF;
    font-size: 18px;
    font-weight: 700;
    border-style: solid;
    border-width: 1px 1px 1px 1px;
    border-color: var(--e-global-color-accent);
    border-radius: 5px 5px 5px 5px;
    line-height: 1;
    padding: 12px 24px;
}

button#place_order:hover,
button#place_order:active,
.button_pay_vorkasse:hover,
.button_pay_vorkasse:active {
    background-color: #FFFFFF;
    color: var(--e-global-color-accent);
    border-color: var(--e-global-color-accent);
    box-shadow: 8px 5px 16px 0px rgba(0, 0, 0, 0.12)
}


/* Zahlmethode Vorkasse */
a#zahlungsart_wechseln_button {
    cursor: pointer;
}

#zahlungsart_wechseln,
#vorkasse_detail {
    display: none;
}

.button_pay_vorkasse {
    max-width: 267px;
    text-align: center;
    margin-bottom: 32px;
    cursor: pointer;
    margin-left: auto;
}

#vorkasse_detail {
    background: #ffffff61 !important;
    box-shadow: 5px 5px 11px -5px #00000017;
    border-left: 5px solid #1d4e8133;
    padding: 16px 16px 0;
}

table#bfv_bankdetails i {
    margin-left: 12px;
    cursor: pointer;
    font-family: 'Font Awesome 5 Free';
}

table#bfv_bankdetails font {
    font-weight: 600;
    letter-spacing: 1px;
}

table#bfv_bankdetails .loading {
    position: relative;
    filter: blur(4px);
    opacity: 0.6;
    overflow: hidden;
    transition: filter 0.3s ease, opacity 0.3s ease;
    pointer-events: none;
    user-select: none;
}

table#bfv_bankdetails .loading::before {
    content: "";
    position: absolute;
    top: 0;
    width: 100%;
    height: 100%;
    background: linear-gradient(90deg,
            transparent 0%,
            rgba(255, 255, 255, 0.5) 80%,
            transparent 100%);
    animation: shimmer 2s infinite;
    z-index: 1;
}

@keyframes shimmer {
    0% {
        left: -100%;
    }

    100% {
        left: 50%;
    }
}

table#bfv_bankdetails i>span {
    width: fit-content;
    margin-top: -25px;
    margin-left: -30px;
    background-color: #a1a1a1;
    color: #fff;
    text-align: center;
    padding: 5px;
    border-radius: 6px;
    position: absolute;
    z-index: 1;
    opacity: 0;
    transition: opacity 0.5s;
    font-family: var(--e-global-typography-text-font-family), Sans-serif;
    visibility: hidden;
}

table#bfv_bankdetails i:hover span {
    opacity: 1;
    visibility: visible;
}

table#bfv_bankdetails i>span.copied {
    background-color: #7bb37d;
    opacity: 1;
    visibility: visible;
}


/* ======================================================
** Sonstiges
====================================================== */

/* SEO Seite Headline */
.headline_seo_page h2 {
    background: var(--e-global-color-primary);
    display: inline !important;
    padding: 5px 16px;
    border-radius: 8px;
}