/*
----------------------------------------------------------

            Overwrite Woo Stylings with default Theme stylings

----------------------------------------------------------
*/
.blockUI.blockOverlay {
    z-index: 99 !important;
}

/*            Warnings & alert messages
_________________________________________________________

general message styling via core style.css
*/
.woocommerce-error::before, .woocommerce-info::before, .woocommerce-message::before {
    content: "";
}
.woocommerce-error::before, .woocommerce-info::before, .woocommerce-message::before {
    color: inherit;
    position: initial;
}
/* info */
div.woocommerce form .form-row .woocommerce-input-wrapper .description::before {
    border-top-color: var(--MGIbgcolor) !important;
}
/* success */
div.woocommerce form .form-row.woocommerce-validated .select2-container, 
div.woocommerce form .form-row.woocommerce-validated input.input-text, 
div.woocommerce form .form-row.woocommerce-validated select {
    border-color: var(--FRbocolor);
    color: var(--color42);
    background-color: var(--color52);
}
/* danger */
div.woocommerce form .form-row.woocommerce-invalid .select2-container, 
div.woocommerce form .form-row.woocommerce-invalid input.input-text, 
div.woocommerce form .form-row.woocommerce-invalid select {
    border-color: var(--color43);
    color: var(--color43);
    background-color: var(--color53);
}
div.woocommerce form .form-row .required,
div.woocommerce form .form-row.woocommerce-invalid label {
    color: var(--color43);
}

/*            Store notice -> announcement
_________________________________________________________
*/
.woocommerce-store-notice, p.demo_store {
    top: 0;
    box-shadow: none !important;
    color: var(--ANtxtcolor);
    background-color: var(--ANbgcolor);
}
.woocommerce-store-notice a, p.demo_store a {
    text-decoration: var(--LNKtextDecoration);
    color: var(--ANLtxtcolor);
    background-color: var(--ANLbgcolor);
}
.woocommerce-store-notice a:hover, p.demo_store a:hover {
    color: var(--ANLtxtcolorHover);
    background-color: var(--ANLbgcolorHover);
}

/*            Buttons
_________________________________________________________
*/
/* Overwrite Woo Styling */
.woocommerce #respond input#submit,
.woocommerce a.button,
.woocommerce button.button,
.woocommerce input.button {
    padding: var(--BTNpaddingy) var(--BTNpaddingx); 
    font-size: var(--BTNfontSize); 
    font-weight: var(--BTNfontWeight);
    line-height: var(--BTNlineHeight);
    border-width: var(--BTNborderWidth);
    border-radius: var(--BTNborderRadius);
    border-top-style: var(--BTNborderTop);
    border-bottom-style: var(--BTNborderBottom);
    border-left-style: var(--BTNborderLeft);
    border-right-style: var(--BTNborderRight);
    box-shadow: var(--BTNshadow);
    outline: none;

    color: var(--BTtxtcolor);
    background-color: var(--BTbgcolor);
    border-color: var(--BTbocolor);

    border-width: var(--BTNborderWidth);
    border-radius: var(--BTNborderRadius);
    border-top-style: var(--BTNborderTop);
    border-bottom-style: var(--BTNborderBottom);
    border-left-style: var(--BTNborderLeft);
    border-right-style: var(--BTNborderRight);
    box-shadow: var(--BTNshadow);
}
.woocommerce #respond input#submit:hover,
.woocommerce a.button:hover,
.woocommerce button.button:hover,
.woocommerce input.button:hover { 
    color: var(--BTtxtcolorHover);
    background-color: var(--BTbgcolorHover);
    border-color: var(--BTbocolorHover);
    box-shadow: var(--BTNshadowHover);
}
/* small */
.woocommerce a.button.small,
.woocommerce button.button.small,
.woocommerce input.button.small {
    font-size: var(--BTNsmallfontSize);
    padding: var(--BTNsmallpaddingy) var(--BTNsmallpaddingx);
    margin-bottom: var(--BTNsmallmargin);
}
/* big */
.woocommerce a.button.big,
.woocommerce button.button.big,
.woocommerce input.button.big {
    font-size: var(--BTNbigfontSize);
    padding: var(--BTNbigpaddingy) var(--BTNbigpaddingx); 
    margin-bottom: var(--BTNbigmargin);
}

.woocommerce a.added_to_cart {
    display: block;
}

/*
    Secondary colored buttons (default)
*/
.woocommerce a.button.is-style-sec,
.woocommerce button.button.is-style-sec,
.woocommerce input.button.is-style-sec,
div.woocommerce #respond input#submit,
div.woocommerce a.button,
div.woocommerce button.button,
div.woocommerce input.button,
.woocommerce #respond input#submit.alt,
.woocommerce a.button.alt,
.woocommerce button.button.alt,
.woocommerce input.button.alt {
    color: var(--BT2txtcolor);
    background-color: var(--BT2bgcolor);
    border-color: var(--BT2bocolor);

    border-width: var(--BTN2borderWidth);
    border-radius: var(--BTN2borderRadius);
    border-top-style: var(--BTN2borderTop);
    border-bottom-style: var(--BTN2borderBottom);
    border-left-style: var(--BTN2borderLeft);
    border-right-style: var(--BTN2borderRight);
    box-shadow: var(--BTN2shadow);
}
.woocommerce a.button.is-style-sec:hover,
.woocommerce button.button.is-style-sec:hover,
.woocommerce input.button.is-style-sec:hover,
div.woocommerce #respond input#submit:hover,
div.woocommerce a.button:hover,
div.woocommerce button.button:hover,
div.woocommerce input.button:hover,
.woocommerce #respond input#submit.alt:hover,
.woocommerce a.button.alt:hover,
.woocommerce button.button.alt:hover,
.woocommerce input.button.alt:hover { 
    color: var(--BT2txtcolorHover);
    background-color: var(--BT2bgcolorHover);
    border-color: var(--BT2bocolorHover);
    box-shadow: var(--BTN2shadowHover);
}

/*
    Alternate buttons
*/
.woocommerce a.button.is-style-trd,
.woocommerce button.button.is-style-trd,
.woocommerce input.button.is-style-trd,
/* make buttons in tables alternate */
div.woocommerce table a.button,
div.woocommerce table button.button,
div.woocommerce table input.button {
    color: var(--BTN3txtcolor);
    background-color: var(--BTN3bgcolor);
    border-color: var(--BTN3bocolor);

    border-width: var(--BTN3borderWidth);
    border-radius: var(--BTN3borderRadius);
    border-top-style: var(--BTN3borderTop);
    border-bottom-style: var(--BTN3borderBottom);
    border-left-style: var(--BTN3borderLeft);
    border-right-style: var(--BTN3borderRight);
    box-shadow: var(--BTN3shadow);
}
.woocommerce a.button.is-style-trd:hover,
.woocommerce button.button.is-style-trd:hover,
.woocommerce input.button.is-style-trd:hover,
/* make buttons in tables alternate */
div.woocommerce table a.button:hover,
div.woocommerce table button.button:hover,
div.woocommerce table input.button:hover { 
    color: var(--BTN3txtcolorHover);
    background-color: var(--BTN3bgcolorHover);
    border-color: var(--BTN3bocolorHover);
    box-shadow: var(--BTN3shadowHover);
}
/* make buttons in tables small */
div.woocommerce table a.button,
div.woocommerce table button.button,
div.woocommerce table input.button {
    font-size: var(--BTNsmallfontSize);
    padding: var(--BTNsmallpaddingy) var(--BTNsmallpaddingx);
    margin: 0 5px;
}
div.woocommerce table .button:not(:last-child),
.woocommerce table.my_account_orders tr td.order-actions .button:not(:last-child),
.woocommerce-page table.my_account_orders tr td.order-actions .button:not(:last-child) {
    margin-bottom: 10px;
}

/*
    Primary colored buttons
*/
/* product */
div.woocommerce .button.single_add_to_cart_button,
/* cart */
#add_payment_method .wc-proceed-to-checkout a.checkout-button,
.woocommerce-cart .wc-proceed-to-checkout a.checkout-button,
.woocommerce-checkout .wc-proceed-to-checkout a.checkout-button,
/* checkout */
div.woocommerce .button#place_order,
div.woocommerce .button[name="woocommerce_checkout_place_order"],
/* login & register */
div.woocommerce .button[name="login"],
div.woocommerce .button[name="register"],
div.woocommerce [name="wc_reset_password"] ~ .button,
/* my account */
div.woocommerce .button[name="save_account_details"] {
    color: var(--BTtxtcolor);
    background-color: var(--BTbgcolor);
    border-color: var(--BTbocolor);

    /* border: 0;  */
    border-width: var(--BTNborderWidth);
    border-radius: var(--BTNborderRadius);
    border-top-style: var(--BTNborderTop);
    border-bottom-style: var(--BTNborderBottom);
    border-left-style: var(--BTNborderLeft);
    border-right-style: var(--BTNborderRight);
    box-shadow: var(--BTNshadow);
}
div.woocommerce .button.single_add_to_cart_button:hover,
#add_payment_method .wc-proceed-to-checkout a.checkout-button:hover,
.woocommerce-cart .wc-proceed-to-checkout a.checkout-button:hover,
.woocommerce-checkout .wc-proceed-to-checkout a.checkout-button:hover,
div.woocommerce .button#place_order:hover,
div.woocommerce form.checkout_coupon .button[name="apply_coupon"]:hover,
div.woocommerce .button[name="woocommerce_checkout_place_order"]:hover,
div.woocommerce .button[name="login"]:hover,
div.woocommerce .button[name="register"]:hover,
div.woocommerce [name="wc_reset_password"] ~ .button:hover,
div.woocommerce .button[name="save_account_details"]:hover { 
    color: var(--BTtxtcolorHover);
    background-color: var(--BTbgcolorHover);
    border-color: var(--BTbocolorHover);
    box-shadow: var(--BTNshadowHover);
}
/*
    Add Theme Dimensions
*/
/* shop */
div.woocommerce .button.add_to_cart_button,
/* product */
div.woocommerce .button.single_add_to_cart_button,
/* cart */
div.woocommerce .button.wc-backward,
#add_payment_method .wc-proceed-to-checkout a.checkout-button,
.woocommerce-cart .wc-proceed-to-checkout a.checkout-button,
.woocommerce-checkout .wc-proceed-to-checkout a.checkout-button,
/* checkout */
div.woocommerce .button#place_order,
div.woocommerce form.checkout_coupon .button[name="apply_coupon"],
div.woocommerce .button[name="woocommerce_checkout_place_order"],
/* login & register */
div.woocommerce .button[name="login"],
div.woocommerce .button[name="register"],
div.woocommerce [name="wc_reset_password"] ~ .button,
/* my account */
div.woocommerce .button[name="save_account_details"] {
    padding: var(--BTNpaddingy) var(--BTNpaddingx);

    font-family: var(--BTfontFamily);
    font-size: var(--BTNfontSize); 
    font-weight: var(--BTNfontWeight);
    line-height: var(--BTNlineHeight);
    letter-spacing: var(--BTNletterSpacing);
    word-spacing: var(--BTNwordSpacing);
    text-align: var(--BTNtextAlign);
    text-transform: var(--BTNtextTransform);
}
/*
    Large Buttons
*/
div.woocommerce #add_payment_method .wc-proceed-to-checkout a.checkout-button,
div.woocommerce .woocommerce-cart .wc-proceed-to-checkout a.checkout-button,
div.woocommerce .woocommerce-checkout .wc-proceed-to-checkout a.checkout-button,
div.woocommerce .woocommerce-checkout .button#place_order,
div.woocommerce form#order_review .button#place_order,
div.woocommerce .button[name="woocommerce_checkout_place_order"] {
    font-size: var(--BTNbigfontSize);
    padding: var(--BTNbigpaddingy) var(--BTNbigpaddingx);
}
/*
    Mobile Buttons
*/
@media (max-width: var(grid_sm)) {
    div.woocommerce .button,
    .woocommerce-button {
        width: auto;
    }
}

/* Overwrite woo block margins */
.woocommerce .wp-block-greyd-buttons > * {
    margin-top: calc( var(--BTNmargin) / 2 ) !important;
    margin-bottom: calc( var(--BTNmargin) / 2 ) !important;
    margin-right: var(--BTNmargin) !important;
}
.woocommerce .wp-block-greyd-buttons > *:last-child {
    margin-right: 0 !important;
}
.woocommerce .wp-block-greyd-buttons.aligncenter {
    justify-content: center !important;
}
.woocommerce .wp-block-greyd-buttons.aligncenter > * {
    margin-left: calc( var(--BTNmargin) / 2 ) !important;
    margin-right: calc( var(--BTNmargin) / 2 ) !important;
}
.woocommerce .wp-block-greyd-buttons.aligncenter > *:last-child {
    margin-right: calc( var(--BTNmargin) / 2 ) !important;
}
.woocommerce .wp-block-greyd-buttons.alignright {
    justify-content: flex-end !important;
}
.woocommerce .wp-block-greyd-buttons.alignright > * {
    margin-right: 0 !important;
    margin-left: var(--BTNmargin) !important;
}
.woocommerce .wp-block-greyd-buttons.alignright > *:first-child {
    margin-left: 0 !important;
}
.woocommerce .wp-block-greyd-buttons > * a {
    margin-bottom: 0 !important;
}

/*
----------------------------------------------------------
                
                                Variables

----------------------------------------------------------
*/
:root {    
    
    /*
        Shop Page
    */
    --WOOshopAlign: center;

    --WOOtitlefontSize: 1em;
    --WOOtitlefontWeight: 400;
    --WOOtitlelineHeight: 140%;
    --WOOtitletextTransform: none;
    --WOOtitleletterSpacing: 0;
    --WOOtitlewordSpacing: 0;
    --WOOtitlemargin: 0.5em;

    --WOOpricefontSize: 2em;
    --WOOpricefontWeight: 600;
    --WOOpricelineHeight: 100%;
    --WOOpricetextTransform: none;
    --WOOpriceletterSpacing: 0;
    --WOOpricewordSpacing: 0;
    --WOOpricemargin: 0.2em;
    
    /*
        Product Page
    */
    --WOOproductLayout: row;
    --WOOproductAlign: flex-start;
    --WOOproductWidth: 50%;
    --WOOproductMargin: 40px;
    --WOOproductMaxwidth: 500px;

    --WOOproductpricefontSize: 3em;
    --WOOproductpricefontWeight: 900;
    --WOOproductpricelineHeight: 100%;
    --WOOproductpricetextTransform: none;
    --WOOproductpriceletterSpacing: 0;
    --WOOproductpricewordSpacing: 0;
    --WOOproductpricemargin: 0.2em;
    
    --WOOproductstarfontSize: 1em;
    --WOOproductstarmargin: 4px;

    /*
        Cart
    */
    --WOOcartCountSize: 15px;

    --WOOcartimagewidth: 100px;
    --WOOcartdescrfontsize: 0.8em;

    --WOOcartdelfontsize: 1.5em;
    --WOOcartdelfontWeight: 400;

    --WOOcartalign: flex-end;
    --WOOcartmaxwidth: 500px;
    --WOOcartmargintop: 0px;

    /*
        Checkout
    */
    --WOOcheckoutLayout: row;
    --WOOcheckoutAlign: 0 auto;
    --WOOcheckoutwidth: 45%;
    --WOOcheckoutMaxwidth: 600px;
    --WOOcheckoutMargin: 40px;

    --WOOpaymentbackground: transparent;
    --WOOpaymenttopbottom: 0px;
    --WOOpaymentleftright: 0px;
    --WOOpaymentborderRadius: 0px;
    --WOOpaymentborderWidth: 0px;
    --WOOpaymentborderTop: solid;
    --WOOpaymentborderLeft: solid;
    --WOOpaymentborderRight: solid;
    --WOOpaymentborderBottom: solid;

    --WOOpaymentboxtriangle: 10px;
    --WOOpaymentboxtopbottom: 12px;
    --WOOpaymentboxleftright: 12px;
    --WOOpaymentboxborderRadius: 3px;
    --WOOpaymentboxborderWidth: 0px;
    --WOOpaymentboxborderTop: solid;
    --WOOpaymentboxborderLeft: solid;
    --WOOpaymentboxborderRight: solid;
    --WOOpaymentboxborderBottom: solid;

    --WOOsummaryimagewidth: 60px;

    /*
        My account
    */
    --WOOaccountlistStyle: none;
    --WOOaccountwidth: 30%;
    --WOOaccountmargin: 30px;
    --WOOaccountbackground: transparent;
    --WOOaccounttopbottom: 0px;
    --WOOaccountleftright: 0px;
    --WOOaccountborderRadius: 0px;
    --WOOaccountborderWidth: 0px;
    --WOOaccountborderTop: solid;
    --WOOaccountborderLeft: solid;
    --WOOaccountborderRight: solid;
    --WOOaccountborderBottom: solid;

    --WOOaccountitemmargin: 0.2em;
    --WOOaccountitemtopbottom: 0px;
    --WOOaccountitemleftright: 0px;
    --WOOaccountitemborderRadius: 0px;
    --WOOaccountitemborderWidth: 0px;
    --WOOaccountitemborderTop: solid;
    --WOOaccountitemborderLeft: solid;
    --WOOaccountitemborderRight: solid;
    --WOOaccountitemborderBottom: solid;

    --WOOaccountlayoutmobile: column;
    
    --WOOaccountheadmargin: 1em;
    --WOOaccountheadlinksize: 0.8em;

    /*
        Login
    */
    --WOOloginAlign: 0 auto;
    --WOOlogintopbottom: 12px;
    --WOOloginleftright: 12px;
    --WOOloginborderRadius: 4px;
    --WOOloginborderWidth: 0px;
    --WOOloginborderTop: solid;
    --WOOloginborderLeft: solid;
    --WOOloginborderRight: solid;
    --WOOloginborderBottom: solid;
    --WOOshadow: none;

    /*
        Tables
    */
    --WOOtablefontSize: 1em;
    --WOOtablefontWeight: 400;
    --WOOtablelineHeight: 150%;
    --WOOtabletextTransform: none;
    --WOOtableletterSpacing: 0px;
    --WOOtablewordSpacing: 0px;
    
    --WOOtabletopbottom: 9px;
    --WOOtableleftright: 12px;
    --WOOtablealign: middle;
    
    --WOOtableborderRadius: 4px;
    
    --WOOtableborderWidth: 0px;
    --WOOtableborderTop: solid;
    --WOOtableborderLeft: solid;
    --WOOtableborderRight: solid;
    --WOOtableborderBottom: solid;
    
    --WOOtablebordersecWidth: 0px;
    --WOOtablebordersecstyle: solid;
    
    /* th */
    --WOOtableheadfontSize: 0.85em;
    --WOOtableheadfontWeight: 600;
    --WOOtableheadlineHeight: 150%;
    --WOOtableheadtextTransform: none;
    --WOOtableheadletterSpacing: 0px;
    --WOOtableheadwordSpacing: 0px;
    
    --WOOtableheadtopbottom: 9px;
    
    
    --WOOtableheadborderWidth: 0px;
    --WOOtableheadborderTop: solid;
    --WOOtableheadborderLeft: solid;
    --WOOtableheadborderRight: solid;
    --WOOtableheadborderBottom: solid;
    
    --WOOtableheadbordersecWidth: 0px;
    --WOOtableheadbordersecstyle: solid;
    
    /*
        Tabs
    */
    --WOOtablinemargin: 30px;
    --WOOtablineWidth: 1px;
    --WOOtablinestyle: solid;
    --WOOtablinepadding: 10px;
    
    --WOOtabfontSize: 1em;
    --WOOtabfontWeight: 400;
    --WOOtablineHeight: 150%;
    --WOOtabtextTransform: none;
    --WOOtabletterSpacing: 0px;
    --WOOtabwordSpacing: 0px;
    
    --WOOtabtopbottom: 9px;
    --WOOtableftright: 16px;
    --WOOtabmargin: 4px;
    
    --WOOtabborderRadius: 4px;
    
    --WOOtabborderWidth: 0px;
    --WOOtabborderTop: solid;
    --WOOtabborderLeft: solid;
    --WOOtabborderRight: solid;
    --WOOtabborderBottom: none;
    
}


/*
----------------------------------------------------------
                
                                General

----------------------------------------------------------
*/
.woocommerce,
.woo_wrapper {
    display: inline-block;
    width: 100%;
}
.woo_wrapper.gg {
    display: block;
}
.hidden {
    display: none !important;
}
@media (min-width: var(grid_md)) {
    .no_desktop {
        display: none !important;
    }
}
@media (max-width: var(grid_md)) {
    .no_mobile {
        display: none !important;
    }
}

/* Fix for the content which comes after the woocommerce container,because woocommerce messes up the <main>-Container of the page */
.after_woocommerce_content > :not(.row_wrap):not(.vc_row):not(.foot):not(.footer):not(.dynamic):not(.wp-block-group):not(.wp-block-cover):not(.wp-block-media-text):not(.group_wrap), 
.after_woocommerce_content > .dynamic > *:not(.row_wrap):not(.vc_row):not(.wp-block-cover):not(.wp-block-media-text), 
.after_woocommerce_content > .wp-block-group > .wp-block-group__inner-container > *:not(.row_wrap):not(.wp-block-cover):not(.wp-block-media-text), 
.after_woocommerce_content > .wp-block-group > .wp-block-group__inner-container > .dynamic > *:not(.row_wrap):not(.vc_row):not(.wp-block-cover):not(.wp-block-media-text), 
.after_woocommerce_content > .group_wrap > .wp-block-group > .wp-block-group__inner-container > *:not(.row_wrap):not(.wp-block-cover):not(.wp-block-media-text), 
.after_woocommerce_content > .dynamic > .wp-block-group > .wp-block-group__inner-container > *:not(.row_wrap):not(.vc_row):not(.wp-block-cover):not(.wp-block-media-text), .wp-block-cover__inner-container,
main > .woocommerce-gzd {
    position: relative;
    width: 100%;
    margin-left: auto;
    margin-right: auto;
    max-width: calc( var(--maxWidth) - var(--gutter) - var(--gutter) );
}

.woocommerce.woocommerce-gzd {
    display: block;
}


/*            Forms
_________________________________________________________
*/
/* clear stylings */
div.woocommerce form.checkout_coupon,
div.woocommerce form.edit-account,
.woocommerce-billing-fields__field-wrapper {
    border: none;
    padding: 0;
    margin: 0;
    border-radius: 0;
}
div.woocommerce form .form-row {
    padding: 0;
    margin: 0 0 var(--FRMmargin) 0;
}
div.woocommerce form .form-row label {
    line-height: var(--LBLlineHeight);
}
.woocommerce form .form-row .input {
    margin: 0;
}
.woocommerce form .form-row .input-checkbox {
    display: inline-grid;
}

/* create password */
.woocommerce-password-strength {
    font-size: .85em;
    padding: .5em;
    margin-top: 5px;
    border-radius: 3px;
}
#add_payment_method .checkout .create-account small,
.woocommerce-cart .checkout .create-account small,
.woocommerce-checkout .checkout .create-account small {
    font-size: .85em;
    line-height: 140%;
}

/* Coupon eingeben */
div.woocommerce form.checkout_coupon {
    max-width: none;
    margin-bottom: 2em;
}
div.woocommerce form.checkout_coupon > p:first-child {
    margin-top: 0;
}
.woocommerce-form__label-for-checkbox {
    cursor: pointer;
}
/* Labels */
div.woocommerce .payment_methods li label,
div.woocommerce form .form-row label,
div.woocommerce form .form-row label {
    font-weight: var(--LBLfontWeight) !important;
    line-height: var(--LBLlineHeight);
}
/* Stripe */
.wc-stripe-elements-field,
.wc-stripe-iban-element-field {
    width: 100%;
    padding: var(--FRMpaddingy) var(--FRMpaddingx) !important;
    margin-bottom: var(--FRMmargin) !important;
    outline: 0; 

    font-family: var(--FRfontFamily);
    font-size: var(--FRMfontSize); 
    font-weight: var(--FRMfontWeight);
    line-height: var(--FRMlineHeight) !important;
    letter-spacing: var(--FRMletterSpacing);
    word-spacing: var(--FRMwordSpacing);
    text-align: var(--FRMtextAlign);
    text-transform: var(--FRMtextTransform);

    color: var(--FRtxtcolor) !important;
    background-color: var(--FRbgcolor) !important;
    border-color: var(--FRbocolor) !important;

    border-width: var(--FRMborderWidth) !important;
    border-radius: var(--FRMborderRadius) !important;
    border-top-style: var(--FRMborderTop) !important;
    border-bottom-style: var(--FRMborderBottom) !important;
    border-left-style: var(--FRMborderLeft) !important;
    border-right-style: var(--FRMborderRight) !important;
    box-shadow: var(--FRMshadow);
    
    transition: all var(--anim) ease;
}
.wc-stripe-elements-field:hover,
.wc-stripe-iban-element-field:hover {
    color: var(--FRtxtcolorHover) !important;
    background-color: var(--FRbgcolorHover) !important;
    border-color: var(--FRbocolorHover) !important;
    box-shadow: var(--FRMshadowHover) !important;
}

/*            Breadcrumbs & Pagination
_________________________________________________________
*/
.woocommerce .woocommerce-breadcrumb {
    display: block;
    margin: 0 0 30px !important;
    color: var(--BDtxtcolor);
}
.woocommerce .woocommerce-breadcrumb a,
.woocommerce nav.woocommerce-pagination ul li a, 
.woocommerce nav.woocommerce-pagination ul li a, 
.woocommerce nav.woocommerce-pagination ul li span {
    color: var(--LNtxtcolor);
    background-color: var(--LNbgcolor);
}
.woocommerce .woocommerce-breadcrumb a:hover,
.woocommerce nav.woocommerce-pagination ul li a:focus, 
.woocommerce nav.woocommerce-pagination ul li a:hover, 
.woocommerce nav.woocommerce-pagination ul li span.current {
    color: var(--LNtxtcolorHover);
    background-color: var(--LNbgcolorHover);
}
.woocommerce nav.woocommerce-pagination ul,
.woocommerce nav.woocommerce-pagination ul li {
    border: 0 !important;
    float: none;
}

/*
----------------------------------------------------------
                
                                Tables

----------------------------------------------------------
*/
div.woocommerce table,
div.woocommerce table.shop_table,
.woocommerce-checkout .shop_table {
    padding: 0;
    color: var(--WOOtabletxtcolor);
    background-color: var(--WOOtablebgcolor);
    border-color: var(--WOOtablebordercolor);
    
    border-radius: var(--WOOtableborderRadius);
    border-width: var(--WOOtableborderWidth);
    border-top-style: var(--WOOtableborderTop);
    border-left-style: var(--WOOtableborderLeft);
    border-right-style: var(--WOOtableborderRight);
    border-bottom-style: var(--WOOtableborderBottom);
    -webkit-hyphens: auto;
    -ms-hyphens: auto;
    hyphens: auto;
}
div.woocommerce table tr th,
div.woocommerce table tr td,
div.woocommerce table.shop_table tr td,
div.woocommerce table.shop_table tr th,
#add_payment_method .cart-collaterals .cart_totals tr td, 
#add_payment_method .cart-collaterals .cart_totals tr th, 
.woocommerce-cart .cart-collaterals .cart_totals tr td, 
.woocommerce-cart .cart-collaterals .cart_totals tr th, 
.woocommerce-checkout .cart-collaterals .cart_totals tr td,
.woocommerce-checkout .cart-collaterals .cart_totals tr th {
    font-family: var(--WOOtablefontFamily);
    font-size: var(--WOOtablefontSize);
    font-weight: var(--WOOtablefontWeight);
    line-height: var(--WOOtablelineHeight);
    text-transform: var(--WOOtabletextTransform);
    letter-spacing: var(--WOOtableletterSpacing);
    word-spacing: var(--WOOtablewordSpacing);
    
    padding: var(--WOOtabletopbottom) var(--WOOtableleftright);
    vertical-align: var(--WOOtablealign);
    
    color: var(--WOOtabletxtcolor);
    background-color: var(--WOOtablebgcolor);
    
    border-top-color: var(--WOOtableborderseccolor);
    border-top-width: var(--WOOtablebordersecWidth);
    border-top-style: var(--WOOtablebordersecstyle);
}
div.woocommerce table thead tr th,
div.woocommerce table.shop_table thead tr th,
#add_payment_method .cart-collaterals .cart_totals thead tr th,
.woocommerce-cart .cart-collaterals .cart_totals thead tr th,
.woocommerce-checkout .cart-collaterals .cart_totals thead tr th {
    font-family: var(--WOOtableheadfontFamily);
    font-size: var(--WOOtableheadfontSize);
    font-weight: var(--WOOtableheadfontWeight);
    line-height: var(--WOOtableheadlineHeight);
    text-transform: var(--WOOtableheadtextTransform);
    letter-spacing: var(--WOOtableheadletterSpacing);
    word-spacing: var(--WOOtableheadwordSpacing);
    
    padding: var(--WOOtableheadtopbottom) var(--WOOtableleftright);
    
    color: var(--WOOtableheadtxtcolor);
    background-color: var(--WOOtableheadbgcolor);
    
    border-top: none !important;
    border-bottom-color: var(--WOOtableheadborderseccolor);
    border-bottom-width: var(--WOOtableheadbordersecWidth);
    border-bottom-style: var(--WOOtableheadbordersecstyle);
}
div.woocommerce table thead tr th:first-child,
div.woocommerce table.shop_table thead tr th:first-child,
#add_payment_method .cart-collaterals .cart_totals thead tr th:first-child,
.woocommerce-cart .cart-collaterals .cart_totals thead tr th:first-child,
.woocommerce-checkout .cart-collaterals .cart_totals thead tr th:first-child {
    border-top-left-radius: calc( var(--WOOtableborderRadius) + 1px );
}
div.woocommerce table thead tr th:last-child,
div.woocommerce table.shop_table thead tr th:last-child,
#add_payment_method .cart-collaterals .cart_totals thead tr th:last-child,
.woocommerce-cart .cart-collaterals .cart_totals thead tr th:last-child,
.woocommerce-checkout .cart-collaterals .cart_totals thead tr th:last-child {
    border-top-right-radius: calc( var(--WOOtableborderRadius) + 1px );
}
div.woocommerce table thead + * tr:first-child td,
div.woocommerce table thead + * tr:first-child th,
div.woocommerce table.shop_table thead + * tr:first-child td,
div.woocommerce table.shop_table thead + * tr:first-child th,
#add_payment_method .cart-collaterals .cart_totals thead + * tr:first-child td, 
#add_payment_method .cart-collaterals .cart_totals thead + * tr:first-child th, 
.woocommerce-cart .cart-collaterals .cart_totals thead + * tr:first-child td, 
.woocommerce-cart .cart-collaterals .cart_totals thead + * tr:first-child th, 
.woocommerce-checkout .cart-collaterals .cart_totals thead + * tr:first-child td,
.woocommerce-checkout .cart-collaterals .cart_totals thead + * tr:first-child th {
    border-top: none !important;
}
div.woocommerce table tbody .order-total th,
div.woocommerce table tfoot .order-total th,
div.woocommerce table.shop_table tbody .order-total th,
div.woocommerce table.shop_table tfoot .order-total th {
    font-weight: 600 !important;
}

/* style th inside tfoot as normal td */
div.woocommerce table tfoot tr th,
div.woocommerce table.shop_table tfoot tr th,
#add_payment_method .cart-collaterals .cart_totals tfoot tr th,
.woocommerce-cart .cart-collaterals .cart_totals tfoot tr th,
.woocommerce-checkout .cart-collaterals .cart_totals tfoot tr th {
    color: var(--WOOtabletxtcolor);
    background-color: var(--WOOtablebgcolor);
    border-top: var(--WOOtablebordersecWidth) var(--WOOtablebordersecstyle) var(--WOOtableborderseccolor) !important;
    border-bottom: none !important;
}

/*
----------------------------------------------------------
                
                                Tabs

----------------------------------------------------------
*/
/* General */
ul.tabs,
.woocommerce-tabs ul.tabs,
.woocommerce div.product .woocommerce-tabs ul.tabs,
.account_nav_layout[data-layout="tabs"] ~ .woocommerce-MyAccount-navigation ul {
    position: relative;
    margin-top: 0;
    margin-bottom: var(--WOOtablinemargin);
    padding: 0 0 0 var(--WOOtablinepadding);
    margin-left: calc( -1 * var(--WOOtabmargin) );
}
.account_nav_layout[data-layout="tabs"] ~ .woocommerce-MyAccount-navigation,
.account_nav_layout[data-layout="tabs"] ~ .woocommerce-MyAccount-content{
	float: none;
	width: auto;
	max-width: none;
}
.woocommerce div.product .woocommerce-tabs ul.tabs::before,
.account_nav_layout[data-layout="tabs"] ~ .woocommerce-MyAccount-navigation ul::before {
    position: absolute;
    content: " ";
    width: 100%;
    right: 0;
    bottom: 0;
    left: 0;
    z-index: 1;
    border-bottom-color: var(--WOOtablinecolor);
    border-bottom-width: var(--WOOtablineWidth);
    border-bottom-style: var(--WOOtablinestyle);
}
.woocommerce div.product .woocommerce-tabs ul.tabs li::after,
.woocommerce div.product .woocommerce-tabs ul.tabs li::before {
    content: none !important;
}

/* Tabs */
ul.tabs li,
.woocommerce-tabs ul.tabs li,
.woocommerce div.product .woocommerce-tabs ul.tabs li,
.account_nav_layout[data-layout="tabs"] ~ .woocommerce-MyAccount-navigation ul li {
    display: inline-block;
    position: relative;
    padding: 0;
    margin: 0;
    border: none !important;
    background: 0 0 !important;
}
ul.tabs li a,
.woocommerce-tabs ul.tabs li a,
.woocommerce div.product .woocommerce-tabs ul.tabs li a,
.account_nav_layout[data-layout="tabs"] ~ .woocommerce-MyAccount-navigation ul li a {
    font-family: var(--WOOtabfontFamily);
    font-size: var(--WOOtabfontSize);
    font-weight: var(--WOOtabfontWeight);
    line-height: var(--WOOtablineHeight);
    text-transform: var(--WOOtabtextTransform);
    letter-spacing: var(--WOOtabletterSpacing);
    word-spacing: var(--WOOtabwordSpacing);
    
    padding: var(--WOOtabtopbottom) var(--WOOtableftright);
    padding-bottom: calc( var(--WOOtablineWidth) + var(--WOOtabtopbottom) );
    margin: var(--WOOtabmargin) var(--WOOtabmargin) 0;
    
    color: var(--WOOtabtxtcolor);
    background-color: var(--WOOtabbgcolor);
    border-radius: var(--WOOtabborderRadius) var(--WOOtabborderRadius) 0 0;
    
    border-color: var(--WOOtabbordercolor);
    border-width: var(--WOOtabborderWidth);
    border-top-style: var(--WOOtabborderTop);
    border-left-style: var(--WOOtabborderLeft);
    border-right-style: var(--WOOtabborderRight);
    border-bottom-style: var(--WOOtabborderBottom);
}
/* hover */
ul.tabs li a:hover,
.woocommerce-tabs ul.tabs li a:hover,
.woocommerce div.product .woocommerce-tabs ul.tabs li a:hover,
.account_nav_layout[data-layout="tabs"] ~ .woocommerce-MyAccount-navigation ul li a:hover {
    color: var(--WOOtabtxtcolor_h);
    background-color: var(--WOOtabbgcolor_h);
    border-color: var(--WOOtabbordercolor_h);
}
/* active */
.account_nav_layout[data-layout="tabs"] ~ .woocommerce-MyAccount-navigation ul li.is-active {
    z-index: 2;
}
ul.tabs li.active a,
.woocommerce-tabs ul.tabs li.active a,
.woocommerce div.product .woocommerce-tabs ul.tabs li.active a,
.account_nav_layout[data-layout="tabs"] ~ .woocommerce-MyAccount-navigation ul li.is-active a {
    color: var(--WOOtabtxtcolor_a);
    background-color: var(--WOOtabbgcolor_a);
    border-color: var(--WOOtabbordercolor_a);
}

/*
----------------------------------------------------------
                
                            Shop Page

----------------------------------------------------------
*/
ul.products li.product {
    text-align: var(--WOOshopAlign);
}

/* title */
.woocommerce ul.products li.product .woocommerce-loop-category__title,
.woocommerce ul.products li.product .woocommerce-loop-product__title,
.woocommerce ul.products li.product h3 {
    text-align: inherit;
    padding: 0;

    font-family: var(--WOOtitlefontFamily);
    font-size: var(--WOOtitlefontSize);
    font-weight: var(--WOOtitlefontWeight);
    line-height: var(--WOOtitlelineHeight);
    text-transform: var(--WOOtitletextTransform);
    letter-spacing: var(--WOOtitleletterSpacing);
    word-spacing: var(--WOOtitlewordSpacing);
    color: var(--WOOtitlecolor2);
    margin: var(--WOOtitlemargin) 0 0;
    transition: var(--anim);
}
.woocommerce ul.products li.product a:hover .woocommerce-loop-category__title,
.woocommerce ul.products li.product a:hover .woocommerce-loop-product__title,
.woocommerce ul.products li.product a:hover h3 {
    color: var(--WOOtitlecolor2_h);
}

/* price */
.woocommerce ul.products li.product .price {
    font-family: var(--WOOpricefontFamily);
    font-size: var(--WOOpricefontSize);
    font-weight: var(--WOOpricefontWeight);
    line-height: var(--WOOpricelineHeight);
    text-transform: var(--WOOpricetextTransform);
    letter-spacing: var(--WOOpriceletterSpacing);
    word-spacing: var(--WOOpricewordSpacing);
    color: var(--WOOpricecolor2);
    margin: var(--WOOpricemargin) 0 0;
    transition: var(--anim);
}
.woocommerce ul.products li.product a:hover .price {
    color: var(--WOOpricecolor2_h);
}
.price del,
.woocommerce ul.products li.product .price del,
.woocommerce ul.products .wc-gzd-additional-info,
.woocommerce ul.products li.product .price.smaller,
.woocommerce ul.products li.product .price.wc-gzd-additional-info {
    font-size: .7em;
    opacity: .5;
}
.woocommerce div.product p.price.smaller,
.woocommerce div.product p.price.wc-gzd-additional-info {
    font-size: calc( var(--WOOproductpricefontSize) * 0.7 );
    opacity: .5;
}
.woocommerce div.product span.price.smaller,
.woocommerce div.product span.price.wc-gzd-additional-info {
    font-size: inherit;
}
.woocommerce .products .star-rating {
    color: var(--BDtxtcolor);
    display: inline-block;
    margin: .5em 0 0;
}

/* sale banner */
body:not(.woocommerce) span.onsale,
.woocommerce span.onsale {
    padding: 0 0.5em;
    min-height: auto;
    background-color: var(--color11);
    border-radius: 2px;
    line-height: 2;
    top: 0.5em;
    left: 0.5em;
}
.woocommerce ul.products li.product .onsale {
    top: 0.5em;
    left: auto;
    right: 0.5em;
    margin: 0;
}
body:not(.woocommerce) span.onsale {
    display: inline-block;
    min-width: 3.236em;
    font-size: 1em;
    font-weight: 700;
    margin: 0;
    color: #fff;
    font-size: .857em;
}
/* .woocommerce :not(.woo_product_layout_wrapper) > span.onsale {
    position: inherit;
    top: auto;
    display: inline-block;
    left: 0;
} */

/*
----------------------------------------------------------
                
                            Product Page

----------------------------------------------------------
*/
.woocommerce #content div.product div.images, 
.woocommerce div.product div.images, 
.woocommerce-page #content div.product div.images, 
.woocommerce-page div.product div.images, 
.woocommerce #content div.product div.summary, 
.woocommerce div.product div.summary, 
.woocommerce-page #content div.product div.summary, 
.woocommerce-page div.product div.summary {
    float: none;
}
@media (min-width: var(grid_md)) {
    .woo_product_layout_wrapper {
        position: relative;
        margin: 0 auto;
        width: 100%;
        display: flex;
        justify-content: space-between;
        flex-direction: var(--WOOproductLayout);
        align-items: var(--WOOproductAlign);
    }
    .woocommerce #content div.product .woo_product_layout_wrapper.row div.images, 
    .woocommerce div.product .woo_product_layout_wrapper.row div.images, 
    .woocommerce-page #content div.product .woo_product_layout_wrapper.row div.images, 
    .woocommerce-page div.product .woo_product_layout_wrapper.row div.images {
        width: calc( var(--WOOproductWidth) - ( var(--WOOproductMargin) / 2 ) );
    }
    .woocommerce #content div.product .woo_product_layout_wrapper.row div.summary, 
    .woocommerce div.product .woo_product_layout_wrapper.row div.summary, 
    .woocommerce-page #content div.product .woo_product_layout_wrapper.row div.summary, 
    .woocommerce-page div.product .woo_product_layout_wrapper.row div.summary {
        width: calc( 100% - var(--WOOproductWidth) - ( var(--WOOproductMargin) / 2 ) );
    }
}
/* untereinander */
.woo_product_layout_wrapper.column {
    justify-content: center;
    align-items: flex-start;
    max-width: var(--WOOproductMaxwidth);
}
.woocommerce #content div.product .woo_product_layout_wrapper.column div.images, 
.woocommerce div.product .woo_product_layout_wrapper.column div.images, 
.woocommerce-page #content div.product .woo_product_layout_wrapper.column div.images, 
.woocommerce-page div.product .woo_product_layout_wrapper.column div.images, 
.woocommerce #content div.product .woo_product_layout_wrapper.column div.summary, 
.woocommerce div.product .woo_product_layout_wrapper.column div.summary, 
.woocommerce-page #content div.product .woo_product_layout_wrapper.column div.summary, 
.woocommerce-page div.product .woo_product_layout_wrapper.column div.summary {
    width: 100%;
}

.woocommerce.add_to_cart_inline {
    border: 0px !important;
    padding: 0px !important;
}
.woocommerce.add_to_cart_inline > * {
    display: block;
}
.woocommerce div.product p.price, 
.woocommerce div.product span.price,
.woocommerce.add_to_cart_inline .amount,
.woo-product .price {
    font-family: var(--WOOproductpricefontFamily);
    font-size: var(--WOOproductpricefontSize);
    font-weight: var(--WOOproductpricefontWeight);
    line-height: var(--WOOproductpricelineHeight);
    text-transform: var(--WOOproductpricetextTransform);
    letter-spacing: var(--WOOproductpriceletterSpacing);
    word-spacing: var(--WOOproductpricewordSpacing);
    color: var(--WOOproductpricecolor2);
    margin: 0 0 var(--WOOproductpricemargin);
    transition: var(--anim);
}
.woocommerce.add_to_cart_inline > a {
    margin-top: 1em;
}

/*            Add to cart section
_________________________________________________________
*/
.woocommerce div.product form.cart {
    display: flex;
    align-items: center;
}
.woocommerce div.product form.cart > * {
    float: none;
}
.woocommerce div.product form.cart .variations select {
    margin-bottom: 0;
}
.woocommerce div.product form.cart .variations label {
    font-weight: 600;
    font-size: 120%;
    padding: 10px 0px;
}
.woocommerce .quantity input[type="number"] {
    padding: 5px 0px;
    padding-left: 0px;
    padding-right: 0px;
    margin-bottom: 0;
}
.woocommerce div.product form.cart div.quantity {
    margin: 0 20px 0 0 !important;
}
.woocommerce div.product .product_meta > span {
    display: block;
}

/*            Gallery
_________________________________________________________
*/
.woocommerce div.product div.summary {
    width: 100%;
}
.woocommerce div.product div.images ~ div.summary {
    width: 48%;
}
@media (max-width: var(grid_md)) {
	.woocommerce div.product div.images ~ div.summary {
		width: 100%;
    }
}
.woocommerce div.product div.images img {
    max-width: unset !important;
}
.woocommerce div.product div.images .woocommerce-product-gallery__wrapper {
    display: block;
}
.woocommerce div.product div.images.no-click .woocommerce-product-gallery__image {
    pointer-events: none;
}
.woocommerce div.product div.images .flex-control-thumbs li img {
    transition: all var(--anim);
}
body.admin-bar .pswp--open {
    margin-top: 32px;
    height: calc(100% - 32px);
}
@media all and (max-width: 782px) {
    body.admin-bar .pswp--open {
        margin-top: 46px;
        height: calc(100% - 46px);
    }
}
.pswp__bg {
    background: rgba(0,0,0,.8) !important;
}
.woocommerce div.product div.images .flex-control-thumbs {
    margin-top: 2em;
}

/*          zusätzliche Infos
            (Beschreibung & Rezensionen)
_________________________________________________________
*/
.woocommerce div.product .woocommerce-tabs .panel {
    padding: 0 0 40px 0 !important;
}
.woocommerce div.product .woocommerce-tabs .panel > h2 {
	display: none; /* Beschreibung Head ausblenden */
}

/* Bewertungen & Kommentare */
.woocommerce .product form.comment-form {
    margin: 1em 0;
}
.woocommerce p.stars a {
    font-size: var(--WOOproductstarfontSize);
    margin: var(--WOOproductstarmargin) 0;
    color: var(--WOOproductstarcolor2);
}
.woocommerce p.stars a:hover {
    color: var(--WOOproductstarcolor2_h);
}

/*
----------------------------------------------------------
                
                            Cart Page

----------------------------------------------------------
*/
.woocommerce-cart table.cart img {
    width: var(--WOOcartimagewidth);
}
/* Beschreibung (Germanized) */
.item-desc p {
    margin: 0;
    font-size: var(--WOOcartdescrfontsize) !important;
    color: var(--WOOcartdescrcols);
}
/* entfernen button */
div.woocommerce a.remove {
    line-height: .91;
    font-family: sans-serif;
    font-size: var(--WOOcartdelfontsize);
    font-weight: var(--WOOcartdelfontWeight);
    color: var(--WOOcartdelcols) !important;
    background-color: var(--WOOcartdelcols_bg);
}
div.woocommerce a.remove:hover {
    color: var(--WOOcartdelcols_h) !important;
    background-color: var(--WOOcartdelcols_bg_h);
}
/* update cart button */
.button[name="update_cart"][disabled] {
    visibility: hidden;
    z-index: -999;
    position: absolute;
    transition: none !important;
}
/* bottom section  */
div.woocommerce .cart-collaterals {
    display: flex;
    justify-content: var(--WOOcartalign);
}
div.woocommerce .cart-collaterals .cart_totals,
.woocommerce-page .cart-collaterals .cart_totals {
    float: none;
    width: 100%;
    max-width: var(--WOOcartmaxwidth);
    margin-top: var(--WOOcartmargintop);
}
#add_payment_method table.cart td.actions .coupon .input-text,
.woocommerce-cart table.cart td.actions .coupon .input-text,
.woocommerce-checkout table.cart td.actions .coupon .input-text {
    float: none;
    border-color: var(--FRbocolor);
    border-width: var(--FRMborderWidth);
    border-radius: var(--FRMborderRadius);
    border-top-style: var(--FRMborderTop);
    border-bottom-style: var(--FRMborderBottom);
    border-left-style: var(--FRMborderLeft);
    border-right-style: var(--FRMborderRight);
}

/*            Coupon
_________________________________________________________
*/
@media (min-width: var(grid_sm)) {
    .woocommerce-cart-form input#coupon_code {
        min-width: 200px;
    }
}

/*            Cart Nav Item
_________________________________________________________
*/
.woo_cart_count {
    display: inline-block;
    border-radius: 100%;
    text-align: center;
    
    font-weight: 900;
    font-size: calc(var(--WOOcartCountSize) - 3px);
    height: calc(1em + 3px);
    width: calc(1em + 3px);
    line-height: calc(1em + 3px);
    transform: translate(-5px, -9px);
    
    background: var(--WOcartCountColor);
    color: var(--WOcartCountFontcolor);
    
    transition: all .2s;
}

/*
----------------------------------------------------------
                
                            Checkout Page

----------------------------------------------------------
*/

/*            Layout
_________________________________________________________
*/
/* normal */
form.woocommerce-checkout::after,
form.woocommerce-checkout::before {
    content: " ";
    display: table;
}
form.woocommerce-checkout::after {
    clear: both;
}
form.woocommerce-checkout #customer_details {
    float: left;
    margin-right: var(--WOOcheckoutMargin);
    width: calc(var(--WOOcheckoutwidth) - (var(--WOOcheckoutMargin) / 2) );
    max-width: var(--WOOcheckoutMaxwidth);
}
form.woocommerce-checkout #customer_details ~ * {
    width: calc( (100% - var(--WOOcheckoutwidth)) - (var(--WOOcheckoutMargin) / 2) );
    max-width: var(--WOOcheckoutMaxwidth);
}
form.woocommerce-checkout #customer_details > div {
    width: 100%;
    float: none;
}
form.woocommerce-checkout #order_review,
form.woocommerce-checkout > h3#order_review_heading {
	float: right;
}
@media (max-width: var(grid_md)) {
	form.woocommerce-checkout #customer_details,
	form.woocommerce-checkout #order_review {
		width: 100% !important;
        float: none;
        margin: 0 !important;
        margin-bottom: var(--WOOcheckoutMargin) !important;
        max-width: none;
	}
}
/* below each other */
.checkout_layout.column {
    position: relative !important;
    width: 100% !important;
    margin: var(--WOOcheckoutAlign);
    max-width: var(--WOOcheckoutMaxwidth) !important;
}
.checkout_layout.column form.woocommerce-checkout > * {
    float: none !important;
    margin: 0 !important;
    width: 100% !important;
}
.checkout_layout.column h3,
.checkout_layout.column form.woocommerce-checkout h3 {
    margin-top: var(--WOOcheckoutMargin) !important;
}
.woocommerce .checkout_layout.column form.woocommerce-checkout .blockUI.blockOverlay::before {
    top: auto;
    bottom: 10%;
}

/*            Payment
_________________________________________________________
*/
#add_payment_method #payment,
.woocommerce-cart #payment,
.woocommerce-checkout #payment {
    background: var(--WOOpaymentbgcolor);
    padding: var(--WOOpaymenttopbottom) var(--WOOpaymentleftright);
    border-radius: var(--WOOpaymentborderRadius);

    border-color: var(--WOOpaymentbocolor);
    border-width: var(--WOOpaymentborderWidth);
    border-top-style: var(--WOOpaymentborderTop);
    border-left-style: var(--WOOpaymentborderLeft);
    border-right-style: var(--WOOpaymentborderRight);
    border-bottom-style: var(--WOOpaymentborderBottom);
}
#add_payment_method #payment ul.payment_methods,
.woocommerce-cart #payment ul.payment_methods,
.woocommerce-checkout #payment ul.payment_methods,
div.woocommerce ul.payment_methods {
    padding: 0;
    border: none;
}
/* Box */
#add_payment_method #payment div.payment_box,
.woocommerce-cart #payment div.payment_box,
.woocommerce-checkout #payment div.payment_box {
    font-size: 1em;
    color: var(--WOOpaymentboxcolselect);
    background: var(--WOOpaymentboxbgcolor);
    padding: var(--WOOpaymentboxtopbottom) var(--WOOpaymentboxleftright);
    border-radius: var(--WOOpaymentboxborderRadius);

    border-color: var(--WOOpaymentboxbocolor);
    border-width: var(--WOOpaymentboxborderWidth);
    border-top-style: var(--WOOpaymentboxborderTop);
    border-left-style: var(--WOOpaymentboxborderLeft);
    border-right-style: var(--WOOpaymentboxborderRight);
    border-bottom-style: var(--WOOpaymentboxborderBottom);
}
#add_payment_method #payment div.payment_box::before, 
.woocommerce-cart #payment div.payment_box::before, 
.woocommerce-checkout #payment div.payment_box::before {
    border-width: var(--WOOpaymentboxtriangle);
    margin-top: calc(-2 * var(--WOOpaymentboxtriangle));
    top: 0;
    border-bottom-color: var(--WOOpaymentboxbgcolor);
}
/* labels */
div.woocommerce .payment_methods li {
    margin-bottom: 20px;
}
div.woocommerce .payment_methods li label {
    font-weight: 600;
    display: block;
}
#add_payment_method #payment .payment_method_paypal .about_paypal,
.woocommerce-cart #payment .payment_method_paypal .about_paypal,
.woocommerce-checkout #payment .payment_method_paypal .about_paypal {
    line-height: inherit;
}
/* payment icons */
#add_payment_method #payment ul.payment_methods li img,
.woocommerce-cart #payment ul.payment_methods li img,
.woocommerce-checkout #payment ul.payment_methods li img,
div.woocommerce ul.payment_methods li img {
    max-width: 40px !important;
    padding: 0 0 0 3px;
}
/* clear margins */
div.woocommerce .payment_methods li .payment_box > p,
#add_payment_method #payment div.payment_box .form-row,
.woocommerce-cart #payment div.payment_box .form-row,
.woocommerce-checkout #payment div.payment_box .form-row {
    margin: 0px;
}

/*            Summary
_________________________________________________________
*/
.woocommerce-checkout-review-order-table th:last-child:not(:first-child),
.woocommerce-checkout-review-order-table td:last-child:not(:first-child),
div.woocommerce .woocommerce-cart-form th:last-child:not(:first-child),
div.woocommerce .woocommerce-cart-form td:last-child:not(:first-child),
div.woocommerce .cart_totals th:last-child:not(:first-child),
div.woocommerce .cart_totals td:last-child:not(:first-child) {
    text-align: right;
}
.woocommerce-checkout-review-order-table .wc-gzd-product-name-left,
.woocommerce-checkout-review-order-table .wc-gzd-product-name-right {
    float: none;
    max-width: none;
    display: inline-block;
    vertical-align: var(--WOOtablealign);
}
.woocommerce-checkout-review-order-table img {
    width: var(--WOOsummaryimagewidth);
}

/*            Submit
_________________________________________________________
*/
/* .woocommerce-checkout .woocommerce-gzd-legal-checkbox-text::after, */
.woocommerce-checkout .woocommerce-gzd-data-download-checkbox-text::after {
    content: " *";
    color: var(--FRLreqcolor) !important;
}
div.woocommerce form .wc-gzd-place-order,
div.woocommerce form .submit-revocation {
    text-align: right;
}
.woocommerce-checkout .button#place_order {
    width: 100%;
}
#add_payment_method #payment div.form-row,
.woocommerce-cart #payment div.form-row,
.woocommerce-checkout #payment div.form-row {
    padding: 0;
}
.woocommerce-terms-and-conditions-wrapper {
    margin: 2em 0;
}
div.woocommerce form .wc-gzd-place-order {
    margin-top: 2.5em;
}
div.woocommerce .wc-gzd-place-order .button#place_order {
    margin-top: 1em;
}

/*            Woo Select (eg. Country)
_________________________________________________________
*/
.select2-container--default .select2-selection--single {
    height: auto;
    margin-bottom: 0px;
    position: relative;
}
.select2-container--default .select2-selection--single .select2-selection__rendered {
    line-height: inherit;
    color: inherit;
}
.select2-container--default .select2-selection--single .select2-selection__arrow {
    top: 0;
    height: 100%;
}
/* options */
.select2-dropdown {
    border-color: var(--FRbocolor);
    box-shadow: 0 4px 6px rgba(50, 50, 93, .11), 0 1px 3px rgba(0, 0, 0, .08);
}
.select2-results__option[aria-selected],
.select2-results__option[data-selected] {
    outline: none !important;
}
.select2-container--default .select2-results__option[aria-selected=true],
.select2-container--default .select2-results__option[data-selected=true] {
    background-color: var(--color22);
}
.select2-container--default .select2-results__option--highlighted[aria-selected],
.select2-container--default .select2-results__option--highlighted[data-selected] {
    background-color: var(--color21);
}

/*
----------------------------------------------------------
                
                            My Account Page

----------------------------------------------------------
*/

/*            Navigation
_________________________________________________________
*/
.woocommerce-account .woocommerce-MyAccount-navigation li a {
	display: block;
}

/* Default (List) */
.woocommerce-MyAccount-navigation {
    min-width: 200px;
	width: var(--WOOaccountwidth) !important;
    margin: 0 var(--WOOaccountmargin) var(--WOOaccountmargin) 0;
}
.woocommerce-MyAccount-content {
    width: calc( 100% - var(--WOOaccountwidth) - var(--WOOaccountmargin) ) !important;
    max-width: calc( 100% - 200px - var(--WOOaccountmargin) );
    margin-bottom: var(--WOOaccountmargin);
}
@media (max-width: var(grid_md)) {
    .woocommerce-MyAccount-navigation,
    .woocommerce-MyAccount-content {
        width: 100% !important;
        max-width: unset;
        margin-right: 0;
    }
}
.woocommerce-MyAccount-navigation li {
    margin: 0 0 var(--WOOaccountitemmargin);
    list-style: var(--WOOaccountlistStyle);
}
.woocommerce-MyAccount-navigation li:last-child {
    margin-bottom: 0;
}
.woocommerce-MyAccount-navigation li,
.woocommerce-MyAccount-navigation li a {
    color: var(--WOOaccountitemcolor2);
}
.woocommerce-MyAccount-navigation li:hover,
.woocommerce-MyAccount-navigation li a:hover {
    color: var(--WOOaccountitemcolor2_h);
}
.woocommerce-MyAccount-navigation li.is-active,
.woocommerce-MyAccount-navigation li.is-active a {
    color: var(--WOOaccountitemcolor2_a);
}

/* Box */
.account_nav_layout[data-layout="box"] ~ .woocommerce-MyAccount-navigation {
    background-color: var(--WOOaccountbgcolor);
    padding: var(--WOOaccounttopbottom) var(--WOOaccountleftright);
    border-radius: var(--WOOaccountborderRadius);

    border-color: var(--WOOaccountbocolor);
    border-width: var(--WOOaccountborderWidth);
    border-top-style: var(--WOOaccountborderTop);
    border-left-style: var(--WOOaccountborderLeft);
    border-right-style: var(--WOOaccountborderRight);
    border-bottom-style: var(--WOOaccountborderBottom);
}
.account_nav_layout[data-layout="box"] ~ .woocommerce-MyAccount-navigation li a {
    background-color: var(--WOOaccountitembgcolor2);
    padding: var(--WOOaccountitemtopbottom) var(--WOOaccountitemleftright);
    border-radius: var(--WOOaccountitemborderRadius);

    border-color: var(--WOOaccountitembocolor);
    border-width: var(--WOOaccountitemborderWidth);
    border-top-style: var(--WOOaccountitemborderTop);
    border-left-style: var(--WOOaccountitemborderLeft);
    border-right-style: var(--WOOaccountitemborderRight);
    border-bottom-style: var(--WOOaccountitemborderBottom);
}
.account_nav_layout[data-layout="box"] ~ .woocommerce-MyAccount-navigation li a:hover {
    background-color: var(--WOOaccountitembgcolor2_h);
    border-color: var(--WOOaccountitembocolor_h);
}
.account_nav_layout[data-layout="box"] ~ .woocommerce-MyAccount-navigation li.is-active a {
    background-color: var(--WOOaccountitembgcolor2_a);
    border-color: var(--WOOaccountitembocolor_a);
}

/* Tabs */
.account_nav_layout[data-layout="tabs"] ~ .woocommerce-MyAccount-navigation,
.account_nav_layout[data-layout="tabs"] ~ .woocommerce-MyAccount-content {
    width: 100% !important;
    max-width: unset;
    margin: 0;
}
.account_nav_layout[data-layout="tabs"] ~ .woocommerce-MyAccount-navigation li {
    list-style: none;
}

/* Mobile Layout */
@media (max-width: var(grid_md)) {
    body.woocommerce-account div.woocommerce {
        display: flex;
        flex-direction: var(--WOOaccountlayoutmobile);
    }
}

/*            Content
_________________________________________________________
*/
.woocommerce-MyAccount-content p {
    max-width: 40em;
}
/* Account Details */
form.edit-account em {
    display: inline-block;
    margin: .5em 0;
    font-size: .7em;
}
form.edit-account fieldset {
    margin-top: 2em;
}
form.edit-account legend { 
    font-size: var(--H3fontSize);
    font-weight: var(--H3fontWeight);
    line-height: var(--H3lineHeight);
    margin-bottom: var(--Hmarginbottom);
    color: var(--HHtxtcolor);
    font-family: var(--HHfontFamily);
    letter-spacing: var(--HletterSpacing);
    word-spacing: var(--HwordSpacing);
    text-transform: var(--HtextTransform);
}
/* Adressen */
div.woocommerce .woocommerce-Address-title h3 {
    margin-bottom: 0;
}
div.woocommerce .woocommerce-Address-title {
    margin-bottom: 1em;
}
div.woocommerce address {
    font-style: normal;
    border: none !important;
    padding: 0 !important;
}

/*            Custom Headline
_________________________________________________________
*/
.myaccount_headline {
    display: flex;
    justify-content: space-between;
    align-items: baseline;
    margin-bottom: var(--WOOaccountheadmargin);
}
.myaccount_headline > * {
    margin: 0;
}
.myaccount_headline .logout_link {
    font-size: var(--WOOaccountheadlinksize);
    color: var(--WOOaccountheadlinkcols);
}
.myaccount_headline .logout_link:hover {
    color: var(--WOOaccountheadlinkcols_h);
}

/*
----------------------------------------------------------
                
                        Formulare
                        Edit-Account, Login & Register

----------------------------------------------------------
*/
div.woocommerce form.login,
div.woocommerce form.register,
div.woocommerce form.lost_reset_password,
div.woocommerce form.edit-account,
.woocommerce form.comment-form,
div.woocommerce .woocommerce-MyAccount-content form:not(.greyd_form) {
    max-width: 500px;
    margin: 0px;
}

div.woocommerce form.login,
div.woocommerce form.register,
div.woocommerce form.lost_reset_password {
    margin: var(--WOOloginAlign);
    background-color: var(--WOOloginbgcolor);
    padding: var(--WOOlogintopbottom) var(--WOOloginleftright);
    border-radius: var(--WOOloginborderRadius);

    border-color: var(--WOOloginbocolor);
    border-width: var(--WOOloginborderWidth);
    border-top-style: var(--WOOloginborderTop);
    border-left-style: var(--WOOloginborderLeft);
    border-right-style: var(--WOOloginborderRight);
    border-bottom-style: var(--WOOloginborderBottom);

    box-shadow: var(--WOOshadow);
}
.woocommerce-form-login .form-row {
    width: 100% !important;
    float: none !important;
}
div.woocommerce .woocommerce-form-login .woocommerce-form-login__submit {
    float: right;
    margin: 0 0 0 1em;
}
div.woocommerce .woocommerce-form-register .woocommerce-form-register__submit {
    float: right;
    margin: 0;
}
div.woocommerce .woocommerce-form-login > p:last-child,
div.woocommerce .woocommerce-form-register > p:last-child {
    margin-bottom: 0;
}
/* lost password */
div.woocommerce form.lost_reset_password > p {
    width: 100% !important;
}

/*
----------------------------------------------------------
                
                            Thank You Page

----------------------------------------------------------
*/
.woocommerce ul.order_details li {
    margin-bottom: 1em;
}

/*
----------------------------------------------------------
                
                            Woo Germanized

----------------------------------------------------------
*/
.paypal-button-context-iframe {
	min-width: 250px !important;
}
.footer-info.vat-info,
.footer-info.sale-info {
    font-size: 0.7em;
    margin: 10px 0 0 0;
    padding: 0px;
    line-height: 1;
    text-align: left;
    color: var(--FOLtxtcolor);
}
.footer.v2 .footer-info.vat-info,
.footer.v2 .footer-info.sale-info {
    color: var(--HEDFOTtxtcolor);
}

/*
----------------------------------------------------------
                
                    New Ajax add to cart button

----------------------------------------------------------
*/
.greyd_woo_ajax > :first-child {
    position: relative;
}
.dyn.greyd_woo_ajax > :first-child {
    position: unset;
}
.woocommerce a.button.success, .woocommerce a.button.fail {
    padding-right: 2.618em;
}

.greyd_loader {
    position: absolute;
    display: block;
    top: 50%;
    left: 50%;
    height: 1em;
    width: 1em;
    margin: -.5em;
    display: none;
}
.dyn .greyd_loader {
    left: unset;
    right: 0;
    margin-right: 15px;
}
.greyd_loader::before,
.greyd_loader::after {
    content: " ";
    position: absolute;
    border-width: .18em;
    border-style: solid;
    border-color: var(--LNtxtcolor);
}
/* loader */
.greyd_loader.loading::before {
    content: none;
}
.greyd_loader.loading::after {
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    border-radius: 100%;
    border-right-color: transparent !important;
    -webkit-animation: turn .7s linear 0s infinite;
    animation: turn .7s linear 0s infinite;
    will-change: transform;
}
@-webkit-keyframes turn {
  from {-webkit-transform: rotate(0deg);transform: rotate(0deg);}
  to {-webkit-transform: rotate(360deg);transform: rotate(360deg);}
}
@keyframes turn {
  from {-webkit-transform: rotate(0deg);transform: rotate(0deg);}
  to {-webkit-transform: rotate(360deg);transform: rotate(360deg);}
}
/* success */
.greyd_loader.success {
    transform: rotate(-45deg);
}
.greyd_loader.success::before {
    border-top-style: none !important;
    border-right-style: none !important;
    border-bottom-style: none !important;
    height: 60%;
    top: 20%;
    left: 0;
    -webkit-animation: check1 .3s linear;
    animation: check1 .3s linear;
}
.dyn .greyd_loader.success {
    margin-top: -12px;
}
@-webkit-keyframes check1 {
    0% {
        height: 0;
    }
    60%, 100% {
        height: 60%;
    }
}
@keyframes check1 {
    0% {
        height: 0;
    }
    60%, 100% {
        height: 60%;
    }
}
.greyd_loader.success::after {
    border-top-style: none !important;
    border-right-style: none !important;
    border-left-style: none !important;
    height: 0;
    width: 100%;
    top: 70%;
    left: 0;
    -webkit-animation: check2 .3s linear;
    animation: check2 .3s linear;
}
@-webkit-keyframes check2 {
    0%, 40% {
        width: 0;
    }
    100% {
        width: 100%;
    }
}
@keyframes check2 {
    0%, 40% {
        width: 0;
    }
    100% {
        width: 100%;
    }
}
/* fail */
.greyd_loader.fail {
    transform: rotate(-45deg);
}
.greyd_loader.fail::before {
    border-top-style: none !important;
    border-right-style: none !important;
    border-bottom-style: none !important;
    height: 100%;
    top: 0;
    left: calc(50% - .09em);
}
.greyd_loader.fail::after {
    border-top-style: none !important;
    border-right-style: none !important;
    border-left-style: none !important;
    width: 100%;
    top: calc(50% - .09em);
    left: 0;
}

/* show */
.greyd_woo_ajax.loading,
.greyd_woo_ajax.success,
.greyd_woo_ajax.fail {
    pointer-events: none;
}
.greyd_woo_ajax.loading > *:not(.vc-content-box) *,
.greyd_woo_ajax.success > *:not(.vc-content-box) *,
.greyd_woo_ajax.fail > *:not(.vc-content-box) * {
    opacity: .3;
}
.greyd_woo_ajax.loading > .vc-content-box > *,
.greyd_woo_ajax.success > .vc-content-box > *,
.greyd_woo_ajax.fail > .vc-content-box > * {
    opacity: .3;
}
.greyd_woo_ajax.loading > .button,
.greyd_woo_ajax.success > .button,
.greyd_woo_ajax.fail > .button {
    color: transparent !important;
}
.greyd_woo_ajax.loading > .button *,
.greyd_woo_ajax.success > .button *,
.greyd_woo_ajax.fail > .button * {
    opacity: 0;
}
.greyd_woo_ajax.loading .greyd_loader.loading,
.greyd_woo_ajax.success .greyd_loader.success,
.greyd_woo_ajax.fail .greyd_loader.fail {
    opacity: 1 !important;
    display: block;
}

/* colors */
a:hover .greyd_loader::after, a:focus .greyd_loader::after,
.link:hover .greyd_loader::after, .link:focus .greyd_loader::after, .link.hover .greyd_loader::after,
a:hover .greyd_loader::before, a:focus .greyd_loader::before,
.link:hover .greyd_loader::before, .link:focus .greyd_loader::before, .link.hover .greyd_loader::before {
    border-color: var(--LNtxtcolorHover);
}
a.sec .greyd_loader::after, .link.sec .greyd_loader::after,
a.sec .greyd_loader::before, .link.sec .greyd_loader::before { 
    border-color: var(--LN2txtcolor);
}
a.sec:hover .greyd_loader::after, a.sec:focus .greyd_loader::after .greyd_loader::after,
.link.sec:hover .greyd_loader::after, .link.sec:focus .greyd_loader::after, .link.sec.hover .greyd_loader::after,
a.sec:hover .greyd_loader::before, a.sec:focus .greyd_loader::before .greyd_loader::before,
.link.sec:hover .greyd_loader::before, .link.sec:focus .greyd_loader::before, .link.sec.hover .greyd_loader::before {
    border-color: var(--LN2txtcolorHover);
}
.button .greyd_loader::after, button .greyd_loader::after, input[type="submit"] .greyd_loader::after,
.button .greyd_loader::before, button .greyd_loader::before, input[type="submit"] .greyd_loader::before {
    border-color: var(--BTtxtcolor);
}
.button.sec .greyd_loader::after, button.sec .greyd_loader::after, input[type="submit"].sec .greyd_loader::after,
.button.sec .greyd_loader::before, button.sec .greyd_loader::before, input[type="submit"].sec .greyd_loader::before {
    border-color: var(--BT2txtcolor);
}
.button.trd .greyd_loader::after, button.trd .greyd_loader::after, input[type="submit"].trd .greyd_loader::after,
.button.trd .greyd_loader::before, button.trd .greyd_loader::before, input[type="submit"].trd .greyd_loader::before {
    border-color: var(--BTN3txtcolor);
}
.button:hover .greyd_loader::after, button:hover .greyd_loader::after, input[type="submit"]:hover .greyd_loader::after,
.button:hover .greyd_loader::before, button:hover .greyd_loader::before, input[type="submit"]:hover .greyd_loader::before { 
    border-color: var(--BTtxtcolorHover);
}
.button.sec:hover .greyd_loader::after, button.sec:hover .greyd_loader::after, input[type="submit"].sec:hover .greyd_loader::after,
.button.sec:hover .greyd_loader::before, button.sec:hover .greyd_loader::before, input[type="submit"].sec:hover .greyd_loader::before { 
    border-color: var(--BT2txtcolorHover);
}
.button.trd:hover .greyd_loader::after, button.trd:hover .greyd_loader::after, input[type="submit"].trd:hover .greyd_loader::after,
.button.trd:hover .greyd_loader::before, button.trd:hover .greyd_loader::before, input[type="submit"].trd:hover .greyd_loader::before {
    border-color: var(--BTN3txtcolorHover);
}


 
.woocommerce a.button.dyn.loading::after {
    display: none !important;
}