:root {
--main:#edc220; /* gelb */
--second:#00aae8; /* blau */
--third:#eb3537; /* rot */
}

p { margin:6px 0; }
form, td { vertical-align:top; }
.h1_rechts { float:right; font-size:11px; font-weight:300; }
a, a:link, a:visited { color:#1851c1; }
a:hover { color:#ff5c00; }

.meld { font-size:12px; color:#ff5c00; font-family:PT Sans,Verdana,Helvetica; }
.text, .text_k { width:180px; padding:0 0 0 3px; margin:0; border-spacing:0; background-color:#dddde5; }
.text_k { width:80px; }
.text-xs { width:30px; text-align:center; }
.org { color:#FF5C00; }
.red { color:#b00; }
.green { color:#191; }
.blau { color:#000180; }
.pink { color:#a0a; }
.impr { color:#99a; font-size:11px; }
.impr td { vertical-align:top; }
.woche { text-align:center; padding:0 100px; }
.woche a { text-decoration:none; }
.s4 { margin:5px 2px; }
.s10 { margin:5px; }
.s20 { margin:5px 10px; }
.s50 { margin:5px 25px; }
.w40 { width:40px; }
.w120 { width:125px; }
.w180 { width:187px; }
.w260 { width:260px; }
.h20 { margin:10px 0; vertical-align:middle; }
.h30 { margin:15px 0; vertical-align:middle; }
.h50 { margin:25px 0; vertical-align:middle; }
.size10 { font-size:10px; }
.size11 { font-size:11px; }
.size12 { font-size:12px; }
.size13 { font-size:13px; }
.size15 { font-size:15px; }
.size18 { font-size:18px; }
.mar5 { margin:5px; }
.mt5 { margin-top:5px; }
.mt10 { margin-top:10px; }
.mabo5 { margin-bottom:5px; }
.padLeft { padding-left:10px; }
.padRight { padding-right:10px; }
.bob { border-bottom:1px solid #ff5c00; }
.bot { border-top:1px solid #ff5c00; }
.buttons { text-align:center; margin:15px 0; }
.zebra { background-color:#394058; }
.hover { background-color:#223; }

fieldset { margin:10px 0; padding:15px; border:1px solid #99a; border-radius:5px; }
legend { color:#000180; font-size:13px; font-weight:700; font-family:PT Sans,Verdana,Helvetica; }
fieldset table { margin:15px 0; }
#loader { display:none; }

.hidden { display:none; position:fixed; top:0; left:0; width:100%; height:100vh; background:#000; opacity:0.6; z-index:2; }
.hidden_form, .hidden_formM { display:none; position:absolute; top:80px; left:50%; margin-left:-270px; width:560px; 
    background-color:#e5e5ff; color:#223; z-index:3; padding:20px; border-radius:15px; border:4px solid #556; }
.einblenden { cursor:pointer; }
input.einblenden { font-size:11px; padding:0 5px; margin:0; }
.popup { position:absolute; top:80px; left:50%; margin-left:-270px; width:500px; background-color:#e5e5ff; 
    color:#223; z-index:3; padding:20px; border-radius:15px; border:3px ridge #556; }
#meldung { position:absolute; top:50%; left:50%; margin-top:-50px; margin-left:-300px; width:500px; padding:50px; font-size:18px; text-align:center; background-color:#ffffee; color:#113; z-index:4; border-radius:15px; border:4px solid #f00; }
.bold { font-weight:700; font-family:PT Sans,Verdana,Helvetica; font-size:120%; }

.menubutton, .menubutton1, .menubutton2, .menubutton3, .menubutton4, .abmelden { 
        padding:10px 30px; margin:10px; border:2px ridge #999; cursor:pointer; border-radius:8px; color:#000180; background-color:#18d518; }
.menubutton { padding:10px; }
.abmelden { margin:-5px 50px 0 0; background:url(img/bg_abmelden.jpg) repeat-x; }

td.w_ueber { text-align:center; background:url(img/button_bg.jpg) repeat-x; background-position:0px -30px; border:1px solid #556; border-width:0 1px; line-height:30px; }
td.w_ueber * { color:#fff; }
td.ueber_n,td.ueber_n4r,td.ueber_n4l  { background:url(img/button_bg.jpg) repeat-x; padding:0; }
td.ueber_n4r { border-top-right-radius:5px; border-bottom-right-radius:5px; border-left:1px solid #556; }
td.ueber_n4l { border-top-left-radius:5px; border-bottom-left-radius:5px; border-right:1px solid #556; }
a.pfeil_l, a.pfeil_r, a.pfeil_l4, a.pfeil_r4 { background:url(img/pfeil_l.png) no-repeat center 0px; padding:4px 24px; display:block; }
a.pfeil_r { background-image:url(img/pfeil_r.png); }
a.pfeil_r4 { background-image:url(img/pfeil_r4.png); }
a.pfeil_l4 { background-image:url(img/pfeil_l4.png); }
a.pfeil_l:hover, a.pfeil_r:hover, a.pfeil_l4:hover, a.pfeil_r4:hover { background-position:center -26px; }
.ac { text-align:center; }
.ar { text-align:right; }
.al { text-align:left; }
.vat { vertical-align:top; }
.vam { vertical-align:middle; }
.vab { vertical-align:bottom; }
.br { border-right:1px solid #778; }
.ib-w30 { display:inline-block; width:30px; }

.creditSaldo { margin-left:20px; border-radius:3px; padding:4px 10px; color:#fff !important; background:#2D5AA5; }
.menuplan { vertical-align:top; background:#f4f4f4; border:1px solid var(--main); border-radius:10px; float:left; margin:1px; min-height:360px; min-width:160px; }
.menuplan.heute { border-color:var(--second); background:#f4f4f4; }
.menuplan .ueber { text-align:center; color:#FFF; padding:3px 0; background-color:var(--main); border-radius:10px 10px 0 0; font-weight:600; }
.menuplan.heute .ueber { background-color:var(--second); }
.menuplan .gericht_a, .menuplan .gericht_b, .menuplan .gericht_c, .menuplan .frueh, .menuplan .frueh_u { text-align:left; height:106px; 
    margin:5px; padding:0px; font-size:13px; line-height:130%; color:#000; background:url(img/bg_a.gif) no-repeat top right #f4f4f4; }
    .menuplan .gericht_b { background-image:url(img/bg_b.gif); }
    .menuplan .gericht_c { background-image:url(img/bg_c.gif); }
    .menuplan .frueh { height:32px; background-image:none; }
    .menuplan .frueh_u { height:35px; background-image:none; }
.menuplan span { font-family:Verdana, Arial, Helvetica; font-size:10px; }
.menuplan .best { background:url(img/bestellt.png) no-repeat bottom right; }
.menuplan .best1 { background:url(img/ja_klein.png) no-repeat top right; }
.menuplan .abwesend { background:url(img/abwesend.png) no-repeat center right; }
.menuplan .dia_a, .menuplan .dia_b, .menuplan .dia_c, .menuplan .dia_d { background-color:#7a7; height:17px; }
.menuplan .dia_b { background-color:#77a; }
.menuplan .dia_c { background-color:#a77; }
.menuplan .dia_d { background-color:#a7a; }
.we70 { width:70px; }

.arpr { text-align:right; padding-right:15px; }
.az { font-size:10px; color:#ff0; }
.rahmen { padding:3px; margin:3px; border:1px solid #77a; border-radius:4px; display:block; float:left; }

.monospace { font-family:Courier,monospace; font-size:12px; }

.closeButton {
  font-family:Roboto, Arial, Sans-Serif; font-weight:normal; font-style:normal; 
  -webkit-border-radius:5px;
  -moz-border-radius:5px;
  border-radius:5px;
  text-shadow: 0 0 5px rgb(181, 193, 207);
  padding:0 20px; margin:0 auto; position:relative; display:block; height:36px; cursor:pointer;
  text-decoration:none; color:#333; line-height:36px; text-align:center; font-size:16px; 
  background: #2D5AA5; color: #FFFFFF;
  background: -webkit-linear-gradient(top, rgba(45, 90, 165, 0.6) 0, rgba(45, 90, 165, 0.9) 100%) no-repeat;
  background: -moz-linear-gradient(top, rgba(45, 90, 165, 0.6) 0, rgba(45, 90, 165, 0.9) 100%) no-repeat;
  background: -o-linear-gradient(top, rgba(45, 90, 165, 0.6) 0, rgba(45, 90, 165, 0.9) 100%) no-repeat;
  background: -ms-linear-gradient(top, rgba(45, 90, 165, 0.6) 0, rgba(45, 90, 165, 0.9) 100%) no-repeat;
  background: linear-gradient(to bottom, rgba(45, 90, 165, 0.6) 0, rgba(45, 90, 165, 0.9) 100%) no-repeat;
  -svg-background: linear-gradient(top, rgba(45, 90, 165, 0.6) 0, rgba(45, 90, 165, 0.9) 100%) no-repeat;
}

.overlay { position:fixed; top:0; left:0; width:100%; height:100vh; display:none; z-index:1000; 
           background: #000; opacity:0.6; filter:alpha(opacity=60); -moz-opacity:0.6; }
.overlayContent { position:absolute; top:100px; left:5%; width:calc(100% - 120px); max-width:880px; padding:30px; 
    background:#fff; max-height:calc(90% - 80px); overflow-y:auto; color:#333; font-size:13px; display:none; z-index:1001; }
.overlayContent .closeButton { display:inline; font-size:13px; padding:5px 15px; margin:-15px -15px 0 0; line-height:normal; text-align:right; }

.kassenbon { position:absolute; top:20px; right:15px; display:none; padding:12px 8px 6px 8px; background:#ddddff; border:3px solid #ff5c00; z-index:1000; }
.bon { width:250px; margin:0 auto; color:#000; }
.bon table { width:100%; font-size:15px; }
.bon table td { padding:5px 3px; }
.bon table td.title { border:solid #777; border-width:1px 0; padding:5px 0; text-align:center; font-size:16px; font-weight:700; }
.bon .borderTop2 td { text-align:right; border-top:1px solid #777; border-bottom:3px double #777; }

#formularMulti input[type="number"] { font-size:28px; padding:6px 10px; border-radius:5px; }
#formularMulti th, #formularMulti td { font-size:28px; padding:5px; }
#formularMulti input[type="button"], #formularMulti input[type="submit"] { 
    font-size:22px; padding:6px 10px; border-radius:5px; margin:5px 0; 
    color:#fff; background-color:var(--second); border-color:var(--main);
}
#formularMulti input[type="button"]:hover, #formularMulti input[type="submit"]:hover { 
    background-color:var(--main); border-color:var(--second); 
}
#formularMulti input[type="button"]:disabled, #formularMulti input[type="submit"]:disabled { 
    background-color:#ddd; border-color:#aaa; 
}
.abbrechen { opacity:0.6; }
#formularMulti .h3 { font-size:28px; color:#FFF; font-weight:700; width:100%; background:var(--main); padding:5px; }
#formularMulti .saldo { font-size:18px; padding:10px 0; width:100px; background:transparent; text-align:right; }
.radioButton { display:block; position:relative; padding-left:30px; cursor:pointer; 
  font-size:22px; -webkit-user-select:none; -moz-user-select:none; -ms-user-select:none; user-select:none; }
.radioButton input[type="radio"] { position:absolute; opacity:0; cursor:pointer; }
.checkmark { position:absolute; top:4px; left:0; height:18px; width:18px; background-color:#fff; border-radius:50%; }
.radioButton:hover input ~ .checkmark { background-color:var(--main); }
.radioButton input:checked ~ .checkmark { background-color:var(--second); }
.checkmark:after { content:""; position:absolute; display:none; }
.radioButton input:checked ~ .checkmark:after { display:block; }
.radioButton .checkmark:after { top:5px; left:5px; width:8px; height:8px; border-radius:50%; background:white; }

.bForm { height:auto; min-height:30px; }

.gericht .text, .gericht select { font-size:15px; padding:5px; width:98%; }
.gericht input[name="zusatz"] { width:110px; }
.gericht select option { padding:3px; background:#fff; }
.gericht select optgroup { padding:3px; background:#ccc; }
.grid { display:grid; gap:20px; grid-template-columns: auto auto auto;}
.grid2 { display:grid; gap:20px; grid-template-columns: auto auto; font-size:20px; }
#hint { padding-top:8px; color:red; font-weight:700; vertical-align:middle; }

.tooltip { display:none; position:absolute; bottom:140px; background:#000; color:#FFF; border:2px solid #FFF; 
    font-size:12px; padding:8px; cursor:default; }
