body.stud {
  width: 800px;
  margin-left: auto;
  margin-right: auto;
  padding-bottom:3em; /*needed for fixed footer*/
}

header {
    color: #F0F0F0;
    background: #C52F24;
    padding: 0.5em 1.5em;

}

header h1 {
    margin: 0.2em 0;
    line-height: 1.1em;
    font-size: 2em;

}

footer {
    margin-top: 1em;
    border-top: solid #888;
    background: #eee;
    padding: 0.5em 1em;
    position: fixed; /*absolute rel to viewport = window, not body or parent!*/
    bottom: 0px;
    font-size: 80%;
    /* width: same as body*/
  }

table#stammform  td.lbl {
    text-align: right;
    padding-right: 1em;

}

div.stamm {
    font-size: 110%;
    background: #9FDBDF; /*#d8d8ff;*/
    padding: .5em;
    margin-bottom: 1em;
    border: thin solid gray;
}
div.stamm  .label {
        font-weight: bold;
        display: inline-block;
    }
div.stamm     .content {
        display: inline-block;
    }
div.stamm     .contmail {
        display: inline-block;
    }
div.stamm     .contmail::before { content: "<";}        
div.stamm     .contmail::after  { content: ">";}        



div.stammdaten {
  display: flex;
    background: #eee;
    border: gray thin solid;
    padding: 1em;

}



/* erfassen der Stammdaten
*/
p.fieldhint {
    /*padding: 0.5em 5px;*/
    background: #eee;
}
p.hint {
    background: #f8e077;
    padding: 0.5em 5px;
}
p.err {
    background: #f8a077;
    padding: 0.5em 5px;
}
p.ok {
    background: #90f877;
    padding: 0.5em 5px;
}




div#taken  div#sendo {
    text-align: center;
  }
div#taken  div#sendi {
    background: #eee;
    padding: 1em;
    margin-top: 1em;
    display: inline-block;
  }    

div#taken  .collision  {
    background: #f65432;
  }

div#taken  table.chosen {
    margin: auto;
    background: #ddd;
    border: thin #888 solid;
    padding: 1em;
  }


table.stundenplan {
    border: thin solid blue;
    /*padding: 1em;*/
    margin: auto;
}
table.stundenplan th {background: #ddd;}


/*  errorhandling taken from scaffold.scss
*/
.field_with_errors {
  padding: 2px;
  background-color: red;
  display: table;
}

#error_explanation {
  width: 450px;
  border: 2px solid red;
  padding: 7px 7px 0;
  margin-bottom: 20px;
  background-color: #f0f0f0;
}

#error_explanation  h2 {
    text-align: left;
    font-weight: bold;
    padding: 5px 5px 5px 15px;
    font-size: 12px;
    margin: -7px -7px 0;
    background-color: #c00;
    color: #fff;
}

#error_explanation  ul li {
    font-size: 12px;
    list-style: square;
}



/* Übersicht - index (table) 
*/

table tbody.students tr:hover {background: yellow; }



a.abbruch {
    background: #fcc;
    padding: 7px 10px;
    text-decoration: none;
    border: solid 1px red;
    color: black;
}
