table {
  border-collapse: collapse;
}

th {
  padding: 5px;
}

button {
  cursor: pointer;
  border-radius: 5px;
  padding: 5px;
  background-color: #d0d0d0;
  transition-duration: 0.4s;
}

button:hover:not([disabled]) {
  box-shadow: 0 12px 16px 0 rgba(0,0,0,0.24), 0 17px 50px 0 rgba(0,0,0,0.19);
  background-color: #dfdfdf;
}

.WSButton {
  border-radius: 5px;
  padding: 0px 5px 0px 5px;
  font-size: large;
  cursor: pointer;
}

.selbutton {
  border-radius: 5px;
  background-color: #b0ffb0;
  color: #000;
  padding: 5px;
  cursor: pointer;
}

.selbutton :disabled {
  border-radius: 5px;
  background-color: #60ff60;
  color: #aaa;
  padding: 5px;
  cursor: auto;
}

.header {
  font-size: large;
  text-align: center;
  font-weight: bold;
}

.info {
  font-size: x-small;
  vertical-align: bottom;
}

.t90 {
  writing-mode: vertical-lr;
}

.dp, .dpa, .dpb, .dpc1, .dpc2, .dpc3, .dpc4, .dpc5, .dps, .PrfNum, .passwd, .fail {
  width: 30px;
  text-align: center;
  margin: 5px;
  border-radius: 5px;
  font-size: large;
}

.dt {
  width: 100px;
  text-align: left;
}

.chooser {
  vertical-align: top;
  background-color: #e7e7f7;
}

.Fach {
  font-size: small;
  font-weight: bold;
  text-align: left;
}

.Wochenstunden {
  font-size: large;
  font-weight: bold;
  text-align: center;
}

.passwd {
  width: 120px;
}

.fail {
  width: 50px;
  background-color: #f00;
  color: #f00;
}

.dpa {
  background-color: #e0ffe0;
  /*Einbringungsverpflichtung,fest*/
  color: #808080;
}

.dp {
  /*Belegungsverpflichtung,offen*/
  color: #808080;
}

.PrfNum {
  color: #808080;
}

.dpb, .PrfNum {
  background-color: #e0f0ff;
  /*Einbringungsverpflichtung,offen*/
  color: #808080;
}

.dpc1 {
  background-color: #f0e0f0;
  /*Einbringungsverpflichtung,flexibel*/
  color: #808080;
}

.dpc2 {
  background-color: #f0e0f0;
  /*Einbringungsverpflichtung,flexibel*/
  color: #808080;
}

.dpc3 {
  background-color: #f0e0f0;
  /*Einbringungsverpflichtung,flexibel*/
  color: #808080;
}

.dpc4 {
  background-color: #f0e0f0;
  /*Einbringungsverpflichtung,flexibel*/
  color: #808080;
}

.dpc5 {
  background-color: #f0e0f0;
  /*Einbringungsverpflichtung,flexibel*/
  color: #808080;
}

.dps {
  background-color: #e0ffe0;
  /*Summ*/
  color: #000;
  width: 50px;
}

.tds {
  border-left: 1px solid black;
}
.semh {
  padding:1px;
}

.abileft {
  border-left: 1px solid black;
  border-top: 1px solid black;
  border-bottom: 1px solid black;
  text-align: right;
}

.abiright {
  border-right: 1px solid black;
  border-top: 1px solid black;
  border-bottom: 1px solid black;
  text-align: right;
}

.hrule {
  border-bottom: 1px solid black;
}

/* Die Pfeile für input type number verstecken - Browser-abhängig :( */
input[type=number] {
  -moz-appearance: textfield;
}

input[type=number]::-webkit-inner-spin-button,
input[type=number]::-webkit-outer-spin-button {
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  margin: 0;
}
.desc{
  height: 100%;
  vertical-align: bottom;
}
#info1,#info2,#info3,#info4,#info5,#info6,#info7{
position: relative;
bottom: 0px;
display:block;
background-color:#f0f0f0;
border-radius:5px;
box-shadow:5px 5px #a0a0a0;
padding:10px;
opacity:0;
visibility: collapse;
display: none;
transition: visibility 0s, opacity 0.6s linear;
}
#whatever {
  position: fixed;
  bottom: 0px;
  margin-right: auto;
  margin-left: auto;
  right: 0px;
  background-color: #fff;
  border-radius: 25px;
}
#alert0 {display: table-cell; vertical-align: middle;
  }
#alert1 {display: none; vertical-align: middle;
    }
#alert {
  width:80vw;
  height:60vh;
  position: fixed;
  top: 10vh;
  left: 10vw;
  background-color: rgb(100,155,255);
  opacity:80%;
  border-radius: 25px;
  vertical-align: middle;
  text-align: center;
  display: none;
}
