/*@import url("normalize.css"); */
:root{
    /*
    --mz-font-sans-serif: system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", "Noto Sans", "Liberation Sans", Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";
    */

    --mz-font-sans-serif:"Encode Sans",system-ui,-apple-system,"Segoe UI",Roboto,"Helvetica Neue","Noto Sans","Liberation Sans",sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji";
    /*--mz-font-sans-serif:"Google Sans";*/
    /*    --mz-font-monospace:SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace;*/


    --mz-white: #fff;
    --mz-green: #98CE44;
    /*--mz-green: #3D6223;*/
    --mz-d-green: rgba(130, 181, 48, 0.7);
    --mz-lgreen: rgba(134,181,64,0.5);
    --mz-blue: #01b7f2;
    --mz-blue-hover: #27c2f4;
    --mz-red: #CF5041;
    --mz-red-hover: #C44031;
    --mz-grey: #696969;
    --mz-grey-hover: #595959;
    --mz-lgrey: #F2F2F2;
    --mz-lgrey-hover: #E0E0E0;

    --mz-one: #B8001F;
    --mz-one-hover: #aa0009;
    --mz-two: #384B70;
    --mz-two-hover: #384B70;
    --mz-three: #507687;
    --mz-three-hover: #507687;
    /*--mz-fourth: #FCFAEE;*/
    --mz-four: #f1f1f1;
    --mz-four-hover: #f1f1f1;
    --mz-five: #404040;
    --mz-six: #e7e3e4;


    --mz-body-bg: rgb(249, 250, 252);
    --mz-body-color: #000000;

    --mz-link-red: #9c0711;

    --mz-form-text-background-color: #f1f1f1;
    --mz-form-border-color: #6a6a6a;
    --mz-form-border-width: 1px;
    --mz-form-border-radius: 3px;

    --mz-form-border-focus-color: var(--mz-two);
    --mz-form-shadow-focus-color: var(--mz-two);


    --mz-btn-border-width: 4px;
    --mz-btn-disabled-opacity: .8;
    /*--mz-border-radius: 2px;*/
    /*#f5f5f5*/
    --mz-font-xxs: 0.7rem;
    --mz-font-xs: 0.8rem;
    --mz-font-s: 0.9rem;
    --mz-font-m: 1rem;
    --mz-font-l: 1.1rem;
    --mz-font-xl: 1.3rem;


    --mz-mobile-px: 992px;

}

/* --- GENERATED AVATARS (Global) --- */

/* Basis-Klasse für alle Avatare */
.gen-avatar {
    display: flex;
    align-items: center;
    justify-content: center;
    color: #fff;
    font-weight: 700;
    text-transform: uppercase;
    border-radius: 50%;
    user-select: none;
}

/* Größen-Varianten */
.gen-avatar-xl { width: 100px; height: 100px; font-size: 2.5rem; } /* Profil Header */
.gen-avatar-l  { width: 80px;  height: 80px;  font-size: 2rem; }   /* Sidebar Anzeige */
.gen-avatar-m  { width: 50px;  height: 50px;  font-size: 1.2rem; } /* Listen */
.gen-avatar-s  { width: 40px;  height: 40px;  font-size: 1rem; }   /* Meine Daten */
.gen-avatar-xs { width: 30px;  height: 30px;  font-size: 0.8rem; } /* Inline Text */

/* Farb-Palette (Material Design Colors) */
.av-bg-1 { background-color: #ef5350; } /* Red */
.av-bg-2 { background-color: #ec407a; } /* Pink */
.av-bg-3 { background-color: #ab47bc; } /* Purple */
.av-bg-4 { background-color: #7e57c2; } /* Deep Purple */
.av-bg-5 { background-color: #5c6bc0; } /* Indigo */
.av-bg-6 { background-color: #42a5f5; } /* Blue */
.av-bg-7 { background-color: #29b6f6; } /* Light Blue */
.av-bg-8 { background-color: #26c6da; } /* Cyan */
.av-bg-9 { background-color: #26a69a; } /* Teal */
.av-bg-10 { background-color: #66bb6a; } /* Light Green */
.av-bg-11 { background-color: #9ccc65; } /* Lime */
.av-bg-12 { background-color: #ffa726; } /* Orange */
.av-bg-13 { background-color: #ff7043; } /* Deep Orange */
.av-bg-14 { background-color: #8d6e63; } /* Brown */
.av-bg-15 { background-color: #78909c; } /* Blue Grey */
.av-bg-0 { background-color: #bdbdbd; } /* Default/Grey */

/* Auswahl im Modal */
.avatar-color-selector {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    justify-content: center;
    margin-top: 15px;
}

.avatar-color-option {
    width: 30px;
    height: 30px;
    border-radius: 50%;
    cursor: pointer;
    border: 2px solid transparent;
    transition: transform 0.1s;
}
.avatar-color-option:hover { transform: scale(1.1); }
.avatar-color-option.active { border-color: #333; transform: scale(1.1); }

/* Global Checkbox Styles */
.checkbox-wrapper-flex {
    cursor: pointer;
    display: flex;
    align-items: center;
}

.checkbox-large {
    width: 20px;
    height: 20px;
    margin-right: 10px;
}








@font-face {
    font-family: 'Open Sans';
    font-style: normal;
    font-weight: 400;
    font-display: optional;
    src: url('/fonts/opensans/open-sans-v15-latin-regular.eot');
    src: local('Open Sans Regular'), local('OpenSans-Regular'),
    url('/fonts/opensans/open-sans-v15-latin-regular.eot?#iefix') format('embedded-opentype'),
    url('/fonts/opensans/open-sans-v15-latin-regular.woff2') format('woff2'),
    url('/fonts/opensans/open-sans-v15-latin-regular.woff') format('woff'),
    url('/fonts/opensans/open-sans-v15-latin-regular.ttf') format('truetype'),
    url('/fonts/opensans/open-sans-v15-latin-regular.svg#OpenSans') format('svg');
}


@font-face {
    font-family: 'Open Sans';
    font-style: normal;
    font-weight: 600;
    font-display: optional;
    src: url('/fonts/opensans/open-sans-v15-latin-600.eot');
    src: local('Open Sans SemiBold'), local('OpenSans-SemiBold'),
    url('/fonts/opensans/open-sans-v15-latin-600.eot?#iefix') format('embedded-opentype'),
    url('/fonts/opensans/open-sans-v15-latin-600.woff2') format('woff2'),
    url('/fonts/opensans/open-sans-v15-latin-600.woff') format('woff'),
    url('/fonts/opensans/open-sans-v15-latin-600.ttf') format('truetype'),
    url('/fonts/opensans/open-sans-v15-latin-600.svg#OpenSans') format('svg');
}



@font-face {
    font-family: 'Open Sans';
    font-style: normal;
    font-weight: 700;
    font-display: optional;
    src: url('/fonts/opensans/open-sans-v15-latin-700.eot');
    src: local('Open Sans Bold'), local('OpenSans-Bold'),
    url('/fonts/opensans/open-sans-v15-latin-700.eot?#iefix') format('embedded-opentype'),
    url('/fonts/opensans/open-sans-v15-latin-700.woff2') format('woff2'),
    url('/fonts/opensans/open-sans-v15-latin-700.woff') format('woff'),
    url('/fonts/opensans/open-sans-v15-latin-700.ttf') format('truetype'),
    url('/fonts/opensans/open-sans-v15-latin-700.svg#OpenSans') format('svg');
}


/* encode-sans-regular - latin */
@font-face {
    font-display: optional; /* Optional verhindert Layout Shift (CLS) */
    font-family: 'Encode Sans';
    font-style: normal;
    font-weight: 400;
    src: url('../fonts/encode-sans-v19-latin/encode-sans-v19-latin-regular.woff2') format('woff2'); /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
}
/* encode-sans-500 - latin */
@font-face {
    font-display: optional;
    font-family: 'Encode Sans';
    font-style: normal;
    font-weight: 500;
    src: url('../fonts/encode-sans-v19-latin/encode-sans-v19-latin-500.woff2') format('woff2'); /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
}
/* encode-sans-600 - latin */
@font-face {
    font-display: optional;
    font-family: 'Encode Sans';
    font-style: normal;
    font-weight: 600;
    src: url('../fonts/encode-sans-v19-latin/encode-sans-v19-latin-600.woff2') format('woff2'); /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
}
/* encode-sans-700 - latin */
@font-face {
    font-display: optional;
    font-family: 'Encode Sans';
    font-style: normal;
    font-weight: 700;
    src: url('../fonts/encode-sans-v19-latin/encode-sans-v19-latin-700.woff2') format('woff2'); /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
}
/* encode-sans-800 - latin */
@font-face {
    font-display: optional;
    font-family: 'Encode Sans';
    font-style: normal;
    font-weight: 800;
    src: url('../fonts/encode-sans-v19-latin/encode-sans-v19-latin-800.woff2') format('woff2'); /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
}
/* encode-sans-900 - latin */
@font-face {
    font-display: optional;
    font-family: 'Encode Sans';
    font-style: normal;
    font-weight: 900;
    src: url('../fonts/encode-sans-v19-latin/encode-sans-v19-latin-900.woff2') format('woff2'); /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
}


/* Font Size problems on Android */
* {
    max-height: 999999px;
}


html{
    font-family: var(--mz-font-sans-serif), sans-serif;
    font-size: 16px;
}

body {
    margin: 0;
    font-family: var(--mz-font-sans-serif), sans-serif;
    font-size: 100%;
    font-weight: 400;
    line-height: 1.5;
    color: #212529;
    text-align: left;
    background-color: var(--mz-body-bg);

    /* Modern Sticky Footer Setup */
    display: flex;
    flex-direction: column;
    min-height: 100vh;

    /*    text-size-adjust: none;
    -webkit-text-size-adjust: none;
    -moz-text-size-adjust: none;
    -ms-text-size-adjust: none;*/
}


/*@media (max-width: 800.1px){
    html {
        font-size: 16px;
    }

}*/




main{
    flex: 1 0 auto;
    width: 100%; /* Sicherstellen, dass es die volle Breite nutzt */
    padding-top: 10px;
    padding-bottom: 10px;
}

/* Critical Visibility Helpers (Moved from responsive.css to prevent CLS) */
@media (max-width: 799.9px) {
    .hidemobile {
        display: none !important;
    }
}

@media (min-width: 800px) {
    .onlymobile {
        display: none !important;
    }
}

.flex-shrink-0 {
    flex-shrink: 0 !important;
}

footer{
    flex-shrink: 0; /* Footer darf nicht schrumpfen */
    background-color: #202020;
    color: white;
    padding-top: 20px;
}

footer a {
    color: #fff;
    line-height: 2em;
}

footer ul {
    list-style: none;
    padding-left: 0 !important;
}

header{
    background-color: white;
    box-shadow: 0 3px 53px rgba(197, 197, 197, 0.27);
}
.header {
    display: block;
    /* height: 180px;*/
    /*padding: 10px 0px;*/
    /*height: 80px;*/
    margin:20px 0;
}

/*@import url("sanitize.css");
@import url("container.css");*/

input, textarea, button {font-family: inherit}


.align-self-center {
    align-self: center !important;
}




.bg_grey {
    background-color: #d6d6d6;
}


.flag-icon:before {
    content: "\00a0";
}

.flag-icon-de {
    background-image: url(/img/de.svg);
}

.flag-icon-en {
    background-image: url(/img/en.svg);
}
.flag-icon-es {
    background-image: url(/img/es.svg);
}

.flag-icon {
    background-size: contain;
    background-position: 50%;
    background-repeat: no-repeat;
    position: relative;
    display: inline-block;
    width: 1.33333333em;
    line-height: 1em;
}





.card {
    position: relative;
    display: flex;
    flex-direction: column;
    min-width: 0;
    word-wrap: break-word;
    background-color: #fff;
    background-clip: border-box;
    border: 1px solid rgba(0,0,0,0.125);
}
.card-header {
    /*    background-color: var(--mz-one);
        color: white;*/
    padding: 1rem;
}
.card-body {
    flex: 1 1 auto;
    padding: 1rem;
}

.img-fluid {
    max-width: 100%;
    height: auto;
}

.width-100{
    width:100%;
}

.alert {
    position: relative;
    padding: .75rem 1.25rem;
    margin-bottom: 1rem;
    border: 1px solid transparent;
}

/*.alert {
    padding: 20px;
}*/

.alert-red{
    background-color: #f8d7da;
    color: black;
    border-color: #EC939A;
}

.alert-red a{
    color: black;
    text-decoration: none;
    background-color: transparent;
}

.alert-blue{
    color: #015f7e;
    background-color: #ccf1fc;
    border-color: #b8ebfb;
}

.alert-blue a{
    color: black;
    text-decoration: none;
    background-color: transparent;
}

.alert-green{
    color: #678a26;
    background-color: rgba(164, 197, 105, 0.7);
    border-color: #27350f;
}

.alert-green a{
    color: black;
    text-decoration: none;
    background-color: transparent;
}


/*.alert a{
    color: #fff;
    text-decoration: none;
    background-color: transparent;
}*/

.nfalert-red {
    background-color: white;
    border: 5px solid #A83533;
    color: black;
}

.nfalert-green {
    background-color: white;
    border: 5px solid #1BBB20;
    color: black;
}


.nfalert {
    position: relative;
    padding: 1rem 1rem;
    margin-bottom: 1rem;
    margin-top: 1rem;
    border-radius: 0.25rem;
    font-weight: 500;
}




.closebtn {
    margin-left: 15px;
    /*color: white;*/
    font-weight: bold;
    float: right;
    font-size: 22px;
    line-height: 20px;
    cursor: pointer;
}

.closebtn:hover {
    color: black;
}

*, *::before, *::after {
    box-sizing: border-box;
}


.badge {
    /* background-color: var(--mz-blue); */
    color: white;
    padding: 2px 6px;
    text-align: center;
    border-radius: 2px;
}


[data-initials]:before {
    background: #099bdd;
    /*background: attr(data-color);;*/
    color: white;
    opacity: 1;
    content: attr(data-initials);
    display: inline-block;
    font-weight: bold;
    border-radius: 50%;
    vertical-align: middle;
    margin-right: 0.5em;
    width: 50px;
    height: 50px;
    line-height: 50px;
    text-align: center;
}


.usericon{
    display:inline-block;
    background: #099bdd;
    /*background: attr(data-color);;*/
    color: white;
    opacity: 1;
    /*content: attr(data-initials);*/

    font-weight: bold;
    border-radius: 50%;
    vertical-align: middle;
    margin-right: 0.5em;
    width: 30px;
    height: 30px;
    line-height: 30px;
    text-align: center;
    font-size: 0.8rem;

}



table.invoices {
    border-collapse: collapse;
    width: 100%;
}

.invoices td {
    padding: 8px;
    text-align: left;
    border-bottom: 1px solid #ddd;
    font-weight: normal;
}

.invoices th {
    padding: 8px;
    text-align: left;
    border-bottom: 1px solid #ddd;
    font-weight: bold;
}

.invoices td:last-child, .invoices th:last-child  {
    padding: 8px;
    text-align: right;
    border-bottom: 1px solid #ddd;
    font-weight: normal;
}


hr.new5 {
    border-top: 2px solid black !important;
    /*border-radius: 5px;*/
    margin: 3rem 0;
}


.switchoff {
    display: inline-block;
    font-weight: 600;
    /*color: #eee;*/
    text-align: center;
    vertical-align: middle;
    user-select: none;
    background-color: var(--mz-four);
    padding: 0.4rem 0.85rem;
    font-size: 1rem;
    line-height: 1.5;
    border-radius: 4px;
    /* transition: color 0.15s ease-in-out, background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out; */
    text-decoration: none;
    border: 4px solid #eee;
    /* text-transform: uppercase; */
    cursor: not-allowed;
}
.switchon {
    display: inline-block;
    font-weight: 600;
    /*color: var(--mz-btn-color);*/
    text-align: center;
    vertical-align: middle;
    user-select: none;
    background-color: var(--mz-five);
    padding: 0.4rem 0.85rem;
    font-size: 1rem;
    line-height: 1.5;
    border-radius: 4px;
    /* transition: color 0.15s ease-in-out, background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out; */
    text-decoration: none;
    border: 4px solid var(--mz-five);
    /* text-transform: uppercase; */
}
.switchoff svg {
    width: 1.2rem;
    fill: #b8b8b8 !important;
}
.switchon svg {
    width: 1.2rem;
    fill: #e8e8e8 !important;
}

.text-red{
    color:#A83533;
}
.font-size-7rem{
    font-size:7rem;
}