hr    {
    border:              0;
    height:              1px;
    background-color:    #aaa;
}   
  
main label {
    display:             inline-block;
    font-weight:         bold;   
    width:               10em; 
}        

ol#meldung_neu label {
    width: 20em;
}

.maildialog label {
    list-style-type: none;  
  width: 70px;
  float: left; 
  margin: 0;
}  

div.aw_right {           
  grid-column:          2;   
  grid-row:             1;
  margin-bottom:        10px; 
  padding:              0;
}      

fieldset.fixeddate {  
  border:               1px solid #aaa; 
  margin-bottom:        10px;
  background-color:     #eee;  
  padding:              5px;
}    

div.aw_rightbox fieldset {    
  width:                215px;  
  
}  div.aw_rightbox input {    
  width:                100%;
}

div.aw_rightbox div.kasten {  
  width:                12px;
  height:               12px;
  margin-top:           1px;
  border:               1px solid #aaa;
  float:                left; 
  display:              inline;
}

fieldset {                 
    color:                 var(--txmain); 
    grid-column:           1/-1;
    border:                1px solid #aaa; 
    margin-bottom:         10px;
    background-color:      var(--bgmain); 
}      

fieldset#stammdaten_edit {
    display:               grid; 
    grid-template-columns: repeat(auto-fill, minmax(23em, 1fr));
}     

main input[type=text], main input[type=password], main select {
    border:               1px solid #aaa;
    padding-left:         2px;
}                       

.formular select {          
    width:                calc(100% - 20px); /* padding left + borders */
}

select.meldung {
                        min-width: 110px;
}

main input[type=password] {
    border:               1px solid #aaa; 
} 
/* Standard-Dateiupload verstecken */        
/*.inputfile {   
  width:                0.1px;
  height:               0.1px;
  opacity:              0;
  overflow:             hidden;
  position:             absolute;
  z-index:              -1;
}   */   
/* alternativer Dateiupload-Button */
.fakebutton {
    border:              1px solid #aaa; 
  background-image:    linear-gradient(#eee, #aaa);
  font-weight:         normal;   
    padding-left:        7px; 
    padding-right:       7px;
}      
.fakebutton:hover {
  background-image:    linear-gradient(#aef, #0af);
}         

button, main input[type=button], main input[type=submit] {
    border:               0;
    min-width:            6em;    
    font-size:            1em;                           
    font-family:          Calibri, Verdana,sans-serif; 
    background:           #acf;
}        

button:hover, main input[type=button]:hover, main input[type=submit]:hover {
  background:           #69f; 
}     
textarea {
  border:              1px solid #aaa; 
}
legend {
  margin-left:         10px;
  padding:             1px 10px 2px 10px;
  font-weight:         bold;    
  background-image:    linear-gradient(#cef, #acf);
  background-repeat:   no-repeat;
  border:              1px solid #aaa;    
  border-bottom:       none;  
  box-shadow:          -1px -1px 1px 0 #9af inset; 
}  
main fieldset ol {
  margin:              0;
  padding:             0;
}
main fieldset li {
  list-style:          none;
  padding:             5px;
  margin:              0;
}
main fieldset fieldset {
  border:              none;
  margin:              3px 0 0;
}
main fieldset fieldset legend {
  padding:             0 0 5px;
  font-weight:         normal;
}
main fieldset fieldset label {
  display:             block;
  width:               auto;
}                                                                                                          
main em {
  font-weight:         bold;
  font-style:          normal;
  color:               #f00;
}
main fieldset fieldset label {
  margin-left:         123px; /* Width plus 3 (html space) */
}

label.error {
    width:               auto !important;
    color:               red;
}

input.error {
    border:              1px solid red;
}

div.error {
    color:             red;
    font-weight:       bold;
}

input[type=submit] {
    margin-top:          0.1em;
}

input[type=text].required {
    background-image:    url('../images/layout/corner.png');
    background-position: right top;
    background-repeat:   no-repeat;
}     

div.telefon input[type=text] { 
    min-width: 100px;
    max-width: 100px;
}
   
div.telefon select { 
    min-width: 80px;
    max-width: 80px;
}   

div.formular {
    display: grid;
    grid-template-columns: 1fr 1fr; 
    grid-template-rows: repeat(auto-fill, min-content);
    grid-row-gap: .25em;
    grid-column-gap: 1em;
}    

div.formular input, div.formular select {
    height: 1.2em;
}        

div.formular input[type=text], div.formular select { 
    font-family: Calibri, Arial;
    font-size: 1em;
}
              

@media (min-width: 50em) {
    fieldset {
    }
}   

form#newForm, form#editPlan {
    grid-column: 1/-1;
}   
form#anwesenheit {
    display: grid;
    gap: 1em;
}   


main input.readonly {
    border: 0; 
    background: transparent;
}        


div.daychoicegrid {
    grid-column: 1/-1;
    display: grid;
    grid-template-columns: 1fr 1fr 1fr;
    margin-bottom: 1em;
}   
    
div.daychoicegrid p.daybox {
    background: transparent;
    border: 0; 
    margin: 0;
    padding-left: 2px;
} 
.dialog button.deleteday { 
    margin: 0;    
    border: 0;   
    float: right;
    min-width: 2em;
    background: transparent;
}   
.dialog button.deleteday:hover { 
    background: #ccc;
}         

form.starthint { 
   display: grid;
   grid-template-columns: 1fr 1fr; 
   gap: 1em;  
}                              

div.kinddrag {
    border: 1px solid #000;
    background:  #81BEF7;    
    display: inline-block; 
    padding: 2px 4px;
    margin: 2px;   
    overflow: hidden;
}
