@import url("https://fonts.googleapis.com/css2?family=Source+Code+Pro:wght@300;400;500;600;700&display=swap");
@import url("https://fonts.googleapis.com/css2?family=Roboto:ital,wght@0,300;0,400;0,500;0,700;0,900;1,300;1,400;1,500;1,700;1,900&display=swap");
@import url("https://fonts.googleapis.com/css2?family=Roboto+Condensed:ital,wght@0,300;0,400;0,700;1,300;1,400;1,700&display=swap");
@import url("https://fonts.googleapis.com/css2?family=Fredoka:wght@300;400;500;600;700&display=swap");
@import url("https://fonts.googleapis.com/css2?family=Poppins:ital,wght@0,100;0,200;0,300;0,400;0,500;0,600;0,700;0,800;0,900;1,100;1,200;1,300;1,400;1,500;1,600;1,700;1,800;1,900&display=swap");
.legende, .aenderungsvermerke .history-item span.head, .aenderungsvermerke .history-item, .modal.arbeitszeiterfassung.bemerkungen .floating,
.modal.arbeitszeiterfassung.bestaetigung-zeiterfassung-plausibilitaet .floating, .modal .buttons, .grid_row, .soll-arbeitszeiten .arbeitspakete .arbeitspaket, form.datensatz_form:not(.invisible) .buttons,
form.login .buttons, .form_row .checkboxes, header.masthead div.extensioncontainer, header.masthead div.maincontainer {
  *zoom: 1;
}
.legende::before, .aenderungsvermerke .history-item span.head::before, .aenderungsvermerke .history-item::before, .modal.arbeitszeiterfassung.bemerkungen .floating::before,
.modal.arbeitszeiterfassung.bestaetigung-zeiterfassung-plausibilitaet .floating::before, .modal .buttons::before, .grid_row::before, .soll-arbeitszeiten .arbeitspakete .arbeitspaket::before, form.datensatz_form:not(.invisible) .buttons::before,
form.login .buttons::before, .form_row .checkboxes::before, header.masthead div.extensioncontainer::before, header.masthead div.maincontainer::before, .legende::after, .aenderungsvermerke .history-item span.head::after, .aenderungsvermerke .history-item::after, .modal.arbeitszeiterfassung.bemerkungen .floating::after,
.modal.arbeitszeiterfassung.bestaetigung-zeiterfassung-plausibilitaet .floating::after, .modal .buttons::after, .grid_row::after, .soll-arbeitszeiten .arbeitspakete .arbeitspaket::after, form.datensatz_form:not(.invisible) .buttons::after,
form.login .buttons::after, .form_row .checkboxes::after, header.masthead div.extensioncontainer::after, header.masthead div.maincontainer::after {
  content: " ";
  display: table;
}
.legende::after, .aenderungsvermerke .history-item span.head::after, .aenderungsvermerke .history-item::after, .modal.arbeitszeiterfassung.bemerkungen .floating::after,
.modal.arbeitszeiterfassung.bestaetigung-zeiterfassung-plausibilitaet .floating::after, .modal .buttons::after, .grid_row::after, .soll-arbeitszeiten .arbeitspakete .arbeitspaket::after, form.datensatz_form:not(.invisible) .buttons::after,
form.login .buttons::after, .form_row .checkboxes::after, header.masthead div.extensioncontainer::after, header.masthead div.maincontainer::after {
  clear: both;
}

* {
  margin: 0;
  padding: 0;
  outline: none;
}

body {
  margin: 0 2rem;
}
@media all and (max-width: 1600px) {
  body {
    margin: 0 1rem;
  }
}
@media all and (max-width: 900px) {
  body {
    margin: 0 0.5rem;
  }
}

body, input, textarea, select, th, td {
  font-family: "Roboto", sans-serif;
  font-family: "Roboto Condensed", sans-serif;
  font-family: "Poppins", sans-serif;
  font-size: 15px;
  color: rgba(0, 0, 0, 0.7);
}
@media only screen and (max-width: 1600px) {
  body, input, textarea, select, th, td {
    font-size: 14px;
  }
}

body.blurred {
  overflow: hidden;
}
body.blurred header.masthead,
body.blurred main {
  -webkit-filter: saturate(0.3) blur(2px);
  filter: saturate(0.3) blur(2px);
  transition: 0.2s -webkit-filter linear;
  transition: 0.2s filter linear;
}

body.blurred2 header.masthead,
body.blurred2 main {
  -webkit-filter: blur(1px);
  filter: saturate(0.3) blur(1px);
  transition: 0.1s -webkit-filter linear;
  transition: 0.1s filter linear;
}

body.noscroll {
  overflow: hidden;
}

header.masthead {
  background: #ffffff;
  font-weight: 600;
  border-bottom: 1px solid #eee;
  position: sticky;
  top: 0;
  margin-left: -2rem;
  margin-right: -2rem;
  padding-left: 2rem;
  padding-right: 2rem;
}
@media only screen and (max-width: 900px) {
  header.masthead {
    position: sticky;
    top: 0;
  }
}
@media all and (max-width: 1600px) {
  header.masthead {
    margin-left: -1rem;
    margin-right: -1rem;
    padding-left: 1rem;
    padding-right: 1rem;
  }
}
@media all and (max-width: 900px) {
  header.masthead {
    margin-left: -0.5rem;
    margin-right: -0.5rem;
    padding-left: 0.5rem;
    padding-right: 0.5rem;
  }
}
header.masthead div.maincontainer .apptitle {
  width: 330px;
  margin-right: 50px;
  margin-top: 8px;
  float: left;
  text-transform: uppercase;
}
header.masthead div.maincontainer .apptitle img.logo {
  height: 25px;
  transform: translateY(5px);
  margin-right: 1rem;
}
@media only screen and (max-width: 1450px) {
  header.masthead div.maincontainer .apptitle {
    margin-bottom: 13px;
    width: 100%;
  }
  header.masthead div.maincontainer .apptitle span {
    display: none;
  }
}
header.masthead div.maincontainer .global_search {
  width: calc(100% - 480px);
  float: left;
}
header.masthead div.maincontainer .global_search input {
  border: 1px solid #ddd;
  padding: 5px 10px;
  border-radius: 5px;
  width: 100%;
  -moz-box-sizing: border-box;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
  -webkit-transition: all 200ms ease-in-out;
  -moz-transition: all 200ms ease-in-out;
  -ms-transition: all 200ms ease-in-out;
  -o-transition: all 200ms ease-in-out;
  transition: all 200ms ease-in-out;
}
header.masthead div.maincontainer .global_search input:focus {
  box-shadow: 0 0 10px 0 rgba(0, 0, 0, 0.1), inset 0 0 1px 0 #000, inset 0 0 3px -1px rgba(0, 0, 0, 0.3);
}
header.masthead div.maincontainer .menu {
  width: 50px;
  margin-left: 50px;
  position: absolute;
  top: 10px;
  right: 10px;
  -moz-transform: scale(0.7) translateY(0px);
  -webkit-transform: scale(0.7) translateY(0px);
  -o-transform: scale(0.7) translateY(0px);
  -ms-transform: scale(0.7) translateY(0px);
  transform: scale(0.7) translateY(0px);
  margin-top: -10px;
}
@media all and (min-width: 1451px) {
  header.masthead div.maincontainer .menu {
    display: none;
  }
}
@media only screen and (max-width: 1450px) {
  header.masthead div.maincontainer nav {
    display: none;
    position: sticky;
    top: 50px;
    right: 0;
    min-width: 90%;
    background: #f9f9f9;
    border: 1px solid #eee;
    box-shadow: 0 20px 50px 0 rgba(0, 0, 0, 0.1);
    z-index: 10000;
    overflow-y: auto;
    bottom: 50px;
  }
}
header.masthead div.maincontainer nav ul {
  list-style-type: none;
  margin: 0;
}
header.masthead div.maincontainer nav ul li {
  display: inline;
  position: relative;
}
header.masthead div.maincontainer nav ul li span.user_info {
  font-weight: normal;
  float: right;
  padding-right: 0;
}
header.masthead div.maincontainer nav ul li span.user_info b {
  font-weight: 600;
}
@media only screen and (max-width: 1450px) {
  header.masthead div.maincontainer nav ul li span.user_info {
    float: none;
  }
}
header.masthead div.maincontainer nav ul li > span,
header.masthead div.maincontainer nav ul li a {
  display: inline-block;
  padding: 1rem 2rem;
  color: rgba(0, 0, 0, 0.7);
  text-decoration: none;
  -webkit-transition: all 200ms ease-in-out;
  -moz-transition: all 200ms ease-in-out;
  -ms-transition: all 200ms ease-in-out;
  -o-transition: all 200ms ease-in-out;
  transition: all 200ms ease-in-out;
}
@media all and (max-width: 1900px) {
  header.masthead div.maincontainer nav ul li > span,
header.masthead div.maincontainer nav ul li a {
    padding: 1rem 1rem;
  }
}
@media all and (max-width: 1700px) {
  header.masthead div.maincontainer nav ul li > span,
header.masthead div.maincontainer nav ul li a {
    padding: 1rem 0.5rem;
  }
}
header.masthead div.maincontainer nav ul li > span i,
header.masthead div.maincontainer nav ul li a i {
  transform: translateY(-2px);
  font-size: 0.8rem;
  margin-right: 0.5rem;
  color: rgba(0, 0, 0, 0.5);
}
header.masthead div.maincontainer nav ul li.subnav-open a,
header.masthead div.maincontainer nav ul li a:hover {
  background: #f0f0f0;
  background: #cfcfd8;
}
header.masthead div.maincontainer nav ul li span.shortened {
  display: none;
}
@media only screen and (max-width: 1600px) {
  header.masthead div.maincontainer nav ul li span.full {
    display: none;
  }
  header.masthead div.maincontainer nav ul li span.shortened {
    display: inline;
  }
}
@media only screen and (max-width: 1450px) {
  header.masthead div.maincontainer nav ul li span.full {
    display: inline;
  }
  header.masthead div.maincontainer nav ul li span.shortened {
    display: none;
  }
}
@media only screen and (max-width: 1450px) {
  header.masthead div.maincontainer nav ul li.open-subnavigation-account > a {
    display: none !important;
  }
}
header.masthead div.maincontainer nav ul li div.subnavigation {
  display: none;
}
@media only screen and (max-width: 1450px) {
  header.masthead div.maincontainer nav ul li div.subnavigation {
    display: block;
    padding-left: 1rem;
    border-bottom: 1px solid #ccc;
  }
  header.masthead div.maincontainer nav ul li div.subnavigation a, header.masthead div.maincontainer nav ul li div.subnavigation span {
    padding: 0.5rem 2rem 0.5rem 1rem;
    border-bottom: none;
  }
  header.masthead div.maincontainer nav ul li div.subnavigation h6 {
    font-size: 1rem;
    padding: 0.5rem 2rem 0.5rem 1rem;
    font-weight: 400;
    text-decoration: underline;
  }
  header.masthead div.maincontainer nav ul li div.subnavigation hr {
    display: none;
  }
}
@media only screen and (max-width: 900px) {
  header.masthead div.maincontainer nav ul li div.subnavigation {
    padding-left: 2rem;
  }
  header.masthead div.maincontainer nav ul li div.subnavigation a, header.masthead div.maincontainer nav ul li div.subnavigation span {
    font-size: 0.8rem;
  }
  header.masthead div.maincontainer nav ul li div.subnavigation h6 {
    font-size: 0.9rem;
  }
}
@media only screen and (max-width: 1450px) {
  header.masthead div.maincontainer nav ul li {
    display: block;
  }
  header.masthead div.maincontainer nav ul li > span,
header.masthead div.maincontainer nav ul li a {
    border-bottom: 1px solid #ccc;
    display: block;
    padding: 0.5rem 2rem 0.5rem 2rem;
    font-size: 1.2rem;
  }
  header.masthead div.maincontainer nav ul li > span i,
header.masthead div.maincontainer nav ul li a i {
    width: 20px;
  }
}
@media only screen and (max-width: 900px) {
  header.masthead div.maincontainer nav ul li > span,
header.masthead div.maincontainer nav ul li a {
    padding: 0.5rem 1rem 0.5rem 1rem;
  }
}
header.masthead div.extensioncontainer {
  border-top: 1px solid #eee;
  padding: 0.1rem 0 0.1rem 0;
}
header.masthead div.extensioncontainer span.sep {
  font-size: 1.4rem;
  font-weight: 200;
  color: #ccc;
  display: inline-block;
  margin: 0 1rem;
}
header.masthead div.extensioncontainer a {
  text-decoration: none;
  font-weight: 500;
  -webkit-transition: all 200ms ease-in-out;
  -moz-transition: all 200ms ease-in-out;
  -ms-transition: all 200ms ease-in-out;
  -o-transition: all 200ms ease-in-out;
  transition: all 200ms ease-in-out;
  padding: 2px 0.5rem;
  border-radius: 2px;
  color: #888;
}
header.masthead div.extensioncontainer a:hover {
  background: #cfcfd8;
  color: #333;
}
header.masthead div.extensioncontainer a.current {
  font-weight: 900;
  color: #222;
}

.flash-messages .flash {
  position: absolute;
  top: 0;
  left: 2rem;
  right: 2rem;
  display: none;
  padding: 1.5rem 2rem;
  background: #f9f9fb;
  background: #e2dddd;
  background: #444;
  color: #ccc;
  box-shadow: 0 10px 50px 0 rgba(0, 0, 0, 0.2), 0 10px 5px -8px rgba(0, 0, 0, 0.1);
  text-shadow: 1px 1px 0 rgba(0, 0, 0, 0.5);
}
.flash-messages .flash i[class^=fa] {
  margin-right: 1rem;
}
.flash-messages .flash div.close {
  float: right;
  cursor: pointer;
}
.flash-messages .flash div.close i {
  margin-right: 0;
}
.flash-messages .flash div.close:hover {
  color: #fff;
}

main {
  margin-top: 1rem;
}
@media only screen and (max-width: 900px) {
  main {
    margin-top: 0.3rem;
  }
}

h1 {
  color: rgba(0, 0, 0, 0.8);
  font-size: 27px;
  letter-spacing: 2px;
  font-weight: 500;
  margin: 1rem 0 1rem 0;
  text-align: center;
}
@media only screen and (max-width: 900px) {
  h1 {
    background: transparent;
    padding: 0;
    text-align: center;
  }
  h1 span.zeitraum {
    display: block;
    font-size: 25px;
  }
}

h2 {
  font-size: 19px;
  font-weight: 500;
  margin: 1rem 0;
  border-bottom: 1px solid #ccc;
}

@media only screen and (max-width: 900px) {
  .hide-mobile {
    display: none !important;
  }
}
main a:not(.button) {
  color: #5e4fb6;
}
main a:not(.button):hover {
  color: #251e4d;
}
main a:not(.button):before {
  content: "";
  position: absolute;
  width: 100%;
  height: 1px;
  bottom: 0;
  left: 0;
  background-color: #e2dff2;
  visibility: hidden;
  -webkit-transform: scaleX(0);
  transform: scaleX(0);
  -webkit-transition: all 0.3s ease-in-out 0s;
  transition: all 0.3s ease-in-out 0s;
}
main a:not(.button):hover:before {
  visibility: visible;
  -webkit-transform: scaleX(1);
  transform: scaleX(1);
}

div.right-align-button {
  float: right;
}

a.button,
button.button {
  font-weight: 600;
  text-decoration: none;
  border: 1px solid #e6e6e6;
  border-bottom-color: #c9c9c9;
  border-radius: 0.2rem;
  background: #f0f0f0;
  color: #333;
  text-shadow: 1px 1px 0 rgba(255, 255, 255, 0.5);
  font-family: system-ui, sans-serif;
  font-size: 0.8rem;
  line-height: 1.2;
  white-space: nowrap;
  text-decoration: none;
  padding: 7px 30px;
  margin: 0.25rem;
  cursor: pointer;
  background: #ffffff;
  background: -moz-linear-gradient(top, #ffffff 0%, #f6f6f6 47%, #ededed 100%);
  background: -webkit-linear-gradient(top, #ffffff 0%, #f6f6f6 47%, #ededed 100%);
  background: linear-gradient(to bottom, #ffffff 0%, #f6f6f6 47%, #ededed 100%);
  filter: progid:DXImageTransform.Microsoft.gradient( startColorstr="#ffffff", endColorstr="#ededed",GradientType=0 );
  background: white;
  background: -moz-linear-gradient(top, white 0%, white 47%, #ededed 100%);
  background: -webkit-linear-gradient(top, white 0%, white 47%, #ededed 100%);
  background: linear-gradient(to bottom, white 0%, white 47%, #ededed 100%);
  filter: progid:DXImageTransform.Microsoft.gradient( startColorstr="lighten($basecolor,40%)", endColorstr="$basecolor",GradientType=0 );
  box-shadow: 0 5px 6px -4px rgba(0, 0, 0, 0.1), 0 2px 1px -1px rgba(0, 0, 0, 0.1);
}
@media only screen and (max-width: 900px) {
  a.button,
button.button {
    font-size: 1rem;
    padding-top: 10px;
    padding-bottom: 10px;
  }
}
a.button:hover,
button.button:hover {
  background: white;
  background: -moz-linear-gradient(top, white 0%, white 47%, #e3dddd 100%);
  background: -webkit-linear-gradient(top, white 0%, white 47%, #e3dddd 100%);
  background: linear-gradient(to bottom, white 0%, white 47%, #e3dddd 100%);
  filter: progid:DXImageTransform.Microsoft.gradient( startColorstr="lighten($hoverbasecolor,40%)", endColorstr="$hoverbasecolor",GradientType=0 );
}
a.button:active,
button.button:active {
  background: #d9d9d9;
  background: #e7dfdf;
  background: -moz-linear-gradient(top, #e7dfdf 0%, #f6f3f3 47%, #e1d6d6 100%);
  background: -webkit-linear-gradient(top, #e7dfdf 0%, #f6f3f3 47%, #e1d6d6 100%);
  background: linear-gradient(to bottom, #e7dfdf 0%, #f6f3f3 47%, #e1d6d6 100%);
  filter: progid:DXImageTransform.Microsoft.gradient( startColorstr="lighten($activebasecolor, 3%)", endColorstr="$activebasecolor",GradientType=0 );
}
a.button:hover,
button.button:hover {
  color: #000;
  border-color: #e0e0e0;
  border-bottom-color: #c0c0c0;
}
a.button:active,
button.button:active {
  border-bottom-color: #bbb;
  box-shadow: 0 3px 3px -3px rgba(0, 0, 0, 0.1), 0 1px 1px -1px rgba(0, 0, 0, 0.2);
}
a.button.primary,
button.button.primary {
  background: #e0e0e0;
  border-color: #53cbf1;
  border-bottom-color: #05abe0;
  background: #b4ebfd;
  background: -moz-linear-gradient(top, #b4ebfd 0%, #50d2fb 47%, #05abe0 100%);
  background: -webkit-linear-gradient(top, #b4ebfd 0%, #50d2fb 47%, #05abe0 100%);
  background: linear-gradient(to bottom, #b4ebfd 0%, #50d2fb 47%, #05abe0 100%);
  filter: progid:DXImageTransform.Microsoft.gradient( startColorstr="lighten($basecolor,40%)", endColorstr="$basecolor",GradientType=0 );
  color: #fff;
  text-shadow: 1px 1px 0 rgba(5, 171, 224, 0.9);
  padding: 6px 60px;
  padding-left: 60px;
  padding-right: 60px;
}
a.button.primary:hover,
button.button.primary:hover {
  background: #99e6ff;
  background: -moz-linear-gradient(top, #99e6ff 0%, #33ceff 47%, #009acc 100%);
  background: -webkit-linear-gradient(top, #99e6ff 0%, #33ceff 47%, #009acc 100%);
  background: linear-gradient(to bottom, #99e6ff 0%, #33ceff 47%, #009acc 100%);
  filter: progid:DXImageTransform.Microsoft.gradient( startColorstr="lighten($hoverbasecolor,40%)", endColorstr="$hoverbasecolor",GradientType=0 );
}
a.button.primary:active,
button.button.primary:active {
  background: #d9d9d9;
  background: #009ed1;
  background: -moz-linear-gradient(top, #009ed1 0%, #00b9f4 47%, #0093c1 100%);
  background: -webkit-linear-gradient(top, #009ed1 0%, #00b9f4 47%, #0093c1 100%);
  background: linear-gradient(to bottom, #009ed1 0%, #00b9f4 47%, #0093c1 100%);
  filter: progid:DXImageTransform.Microsoft.gradient( startColorstr="lighten($activebasecolor, 3%)", endColorstr="$activebasecolor",GradientType=0 );
}
@media only screen and (max-width: 900px) {
  a.button.primary,
button.button.primary {
    padding-top: 10px;
    padding-bottom: 10px;
  }
}
a.button.secondary,
button.button.secondary {
  background: #e0e0e0;
  border-color: #a0ce8f;
  border-bottom-color: #5b9a43;
  background: #dcedd6;
  background: -moz-linear-gradient(top, #dcedd6 0%, #a0ce8f 47%, #66ac4b 100%);
  background: -webkit-linear-gradient(top, #dcedd6 0%, #a0ce8f 47%, #66ac4b 100%);
  background: linear-gradient(to bottom, #dcedd6 0%, #a0ce8f 47%, #66ac4b 100%);
  filter: progid:DXImageTransform.Microsoft.gradient( startColorstr="lighten($basecolor,40%)", endColorstr="$basecolor",GradientType=0 );
  color: #fff;
  text-shadow: 1px 1px 0 rgba(102, 172, 75, 0.9);
  padding: 6px 60px;
  padding-left: 60px;
  padding-right: 60px;
}
a.button.secondary:hover,
button.button.secondary:hover {
  background: #cceac0;
  background: -moz-linear-gradient(top, #cceac0 0%, #8dd074 47%, #57a538 100%);
  background: -webkit-linear-gradient(top, #cceac0 0%, #8dd074 47%, #57a538 100%);
  background: linear-gradient(to bottom, #cceac0 0%, #8dd074 47%, #57a538 100%);
  filter: progid:DXImageTransform.Microsoft.gradient( startColorstr="lighten($hoverbasecolor,40%)", endColorstr="$hoverbasecolor",GradientType=0 );
}
a.button.secondary:active,
button.button.secondary:active {
  background: #d9d9d9;
  background: #56af34;
  background: -moz-linear-gradient(top, #56af34 0%, #65c640 47%, #50a330 100%);
  background: -webkit-linear-gradient(top, #56af34 0%, #65c640 47%, #50a330 100%);
  background: linear-gradient(to bottom, #56af34 0%, #65c640 47%, #50a330 100%);
  filter: progid:DXImageTransform.Microsoft.gradient( startColorstr="lighten($activebasecolor, 3%)", endColorstr="$activebasecolor",GradientType=0 );
}
a.button[disabled],
button.button[disabled] {
  filter: grayscale(100%);
  cursor: not-allowed;
}
a.button i,
button.button i {
  margin-left: -0.6rem;
  margin-right: 0.6rem;
}
a.button.button-druckversion.monatsuebersicht i,
button.button.button-druckversion.monatsuebersicht i {
  margin-right: -0.6rem;
}
@media all and (max-width: 600px) {
  a.button.button-druckversion.monatsuebersicht, a.button.stundenzettel-schliessen.monatsuebersicht,
button.button.button-druckversion.monatsuebersicht,
button.button.stundenzettel-schliessen.monatsuebersicht {
    font-size: 0.7rem;
  }
}
@media all and (max-width: 320px) {
  a.button.button-druckversion.monatsuebersicht, a.button.stundenzettel-schliessen.monatsuebersicht,
button.button.button-druckversion.monatsuebersicht,
button.button.stundenzettel-schliessen.monatsuebersicht {
    padding-left: 20px !important;
    padding-right: 20px !important;
  }
}
a.button.only-icon,
button.button.only-icon {
  padding-left: 20px;
  padding-right: 20px;
}
a.button.only-icon i,
button.button.only-icon i {
  margin-left: 0;
  margin-right: 0;
}

button.button.icon-button {
  padding: 4px 10px;
}
button.button.icon-button i {
  margin: 0;
}

button.button.small {
  padding: 4px 20px;
}

h3 {
  margin: 1rem 0;
}

ul {
  margin-left: 1rem;
}

dl dt {
  margin: 0.5rem 0;
  font-weight: 600;
}
dl dd {
  margin: 0 0 1rem 1rem;
}

.dashboard p {
  margin: 1rem 0;
}
.dashboard .neu {
  background: whitesmoke;
  margin: 0 -0.5rem 2rem;
  padding: 5px 0.5rem;
  border-radius: 5px;
}
.dashboard .neu p {
  margin: 5px 0;
}
.dashboard .neu em {
  font-weight: 500;
}
.dashboard ul li {
  margin-bottom: 0.5rem;
}
.dashboard .done {
  text-decoration: line-through;
  color: #999;
}
.dashboard div.button {
  margin: -0.5rem 0 1rem 0;
}
.dashboard div.button i.fas.fa-long-arrow-alt-right {
  font-size: 13px;
  margin: 0 0.5rem;
  color: #999;
}

.einstellungen ul {
  margin-top: 1rem;
  margin-bottom: 1rem;
}
.einstellungen ul li {
  margin-bottom: 0.5rem;
}
.einstellungen ul li ul {
  margin-top: 0.3rem;
  margin-bottom: 0;
}

div.datenblatt .grid_row {
  margin-bottom: 0.5rem;
}
div.datenblatt span.value {
  font-weight: bold;
  display: block;
  background: #f0f0f0;
  padding: 5px 10px;
  border-radius: 3px;
  min-height: 1.6rem;
}
div.datenblatt h4 {
  margin: 1.5rem 0 0.5rem;
  border-bottom: 1px solid #eee;
}

div.fehler {
  color: #9e3939;
  border: 1px solid #d99797;
  background: #f9f9f9;
  padding: 0.5rem 1rem 0.7rem;
  border-radius: 3px;
}
div.fehler h4 {
  margin: 0 0 0.5rem 0;
}

div.buttons-conatiner.monatsuebersicht {
  text-align: right;
}
@media (max-width: 500px) {
  div.buttons-conatiner.monatsuebersicht {
    text-align: center;
  }
}

.form_row {
  margin-bottom: 0.5rem;
}
.form_row ul {
  list-style-type: none;
  font-size: 0.8rem;
  font-weight: 600;
  margin: 3px 0 1rem 0;
}
.form_row ul li {
  background: #b11d1d;
  display: inline-block;
  padding: 1px 7px;
  color: #fff;
  border-radius: 2px;
}
.form_row input, .form_row textarea, .form_row select, .form_row div.mimic-input {
  font-size: 1.1rem;
  border: 1px solid #e7e7ef;
  padding: 5px 5px;
  border-radius: 5px;
  width: 100%;
  color: #555;
  background: #f0f0f5;
  -moz-box-sizing: border-box;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
  -webkit-transition: all 200ms ease-in-out;
  -moz-transition: all 200ms ease-in-out;
  -ms-transition: all 200ms ease-in-out;
  -o-transition: all 200ms ease-in-out;
  transition: all 200ms ease-in-out;
}
@media all and (max-width: 1600px) {
  .form_row input, .form_row textarea, .form_row select, .form_row div.mimic-input {
    font-size: 14px;
    padding: 2px 3px;
    border-radius: 2px;
  }
}
@media only screen and (max-width: 900px) {
  .form_row input, .form_row textarea, .form_row select, .form_row div.mimic-input {
    font-size: 1.2rem;
    padding: 8px 5px;
  }
}
.form_row input:focus, .form_row textarea:focus, .form_row select:focus, .form_row div.mimic-input:focus {
  border: 1px solid #ddd;
  background: #f6f6f9;
  box-shadow: 0 0 10px 0 rgba(0, 0, 0, 0.1), inset 0 0 1px 0 #000, inset 0 0 3px -1px rgba(0, 0, 0, 0.3);
}
.form_row div.mimic-input {
  background: #f9f9f9;
}
.form_row select {
  padding: 6px 5px;
}
@media all and (max-width: 1600px) {
  .form_row select {
    padding: 2px 3px;
  }
}
.form_row .checkboxes input {
  width: auto;
  margin-right: 0.5rem;
  float: left;
  clear: left;
  transform: translateY(3px);
  margin-top: 5px;
}
.form_row .checkboxes label {
  margin-top: 5px;
  display: inline;
  float: left;
}

form.datensatz_form:not(.invisible),
form.login {
  background: #fff;
  border-radius: 4px;
  border: 1px solid #f0f0f0;
  border-bottom-color: #c0c0c0;
  margin-bottom: 2rem;
  padding: 2rem 1.5rem 0 1.5rem;
  box-shadow: 0 20px 50px 0 rgba(0, 0, 0, 0.05), 0 5px 10px -4px rgba(0, 0, 0, 0.1), 0 3px 3px -2px rgba(0, 0, 0, 0.2);
}
@media all and (max-width: 1600px) {
  form.datensatz_form:not(.invisible),
form.login {
    padding: 1rem 1rem 0 1rem;
  }
}
form.datensatz_form:not(.invisible) fieldset,
form.login fieldset {
  border: none;
  border-top: 2px solid #ddd;
  padding-top: 1rem;
  margin-bottom: 2rem;
}
form.datensatz_form:not(.invisible) fieldset legend,
form.login fieldset legend {
  background: #fff;
  color: #999;
  padding-right: 1rem;
  font-size: 0.9rem;
  text-transform: uppercase;
  font-weight: 700;
  letter-spacing: 5px;
}
form.datensatz_form:not(.invisible) .subform_arbeitszeitmodell input,
form.login .subform_arbeitszeitmodell input {
  font-size: 1rem;
  padding: 4px 3px;
}
form.datensatz_form:not(.invisible) .subform_arbeitszeitmodell .col10 input,
form.login .subform_arbeitszeitmodell .col10 input {
  max-width: 50px;
  text-align: right;
}
form.datensatz_form:not(.invisible) .subform_arbeitszeitmodell_container,
form.login .subform_arbeitszeitmodell_container {
  -webkit-transition: all 200ms ease-in-out;
  -moz-transition: all 200ms ease-in-out;
  -ms-transition: all 200ms ease-in-out;
  -o-transition: all 200ms ease-in-out;
  transition: all 200ms ease-in-out;
}
form.datensatz_form:not(.invisible) .subform_arbeitszeitmodell_container.emphasized,
form.login .subform_arbeitszeitmodell_container.emphasized {
  border-radius: 3px;
  padding: 5px 10px;
  background: #fbfbfb;
  -moz-transform: scale(1.1) translateX(-50px) translateY(10px);
  -webkit-transform: scale(1.1) translateX(-50px) translateY(10px);
  -o-transform: scale(1.1) translateX(-50px) translateY(10px);
  -ms-transform: scale(1.1) translateX(-50px) translateY(10px);
  transform: scale(1.1) translateX(-50px) translateY(10px);
}
form.datensatz_form:not(.invisible) button.open-arbeitszeitmodell-dropdown,
form.login button.open-arbeitszeitmodell-dropdown {
  padding: 5px 10px;
}
form.datensatz_form:not(.invisible) button.open-arbeitszeitmodell-dropdown i,
form.login button.open-arbeitszeitmodell-dropdown i {
  margin-left: 0;
  margin-right: 6px;
}
form.datensatz_form:not(.invisible) .ungespeicherte-aenderungen,
form.login .ungespeicherte-aenderungen {
  margin: 2.5rem -1.5rem -2.5rem -1.5rem;
  padding: 0.3rem 1.5rem;
  background: #f9f9f9;
  border-top: 1px solid #eee;
  font-size: 0.7rem;
  font-weight: 600;
}
form.datensatz_form:not(.invisible) .ungespeicherte-aenderungen i,
form.login .ungespeicherte-aenderungen i {
  margin-right: 0.7rem;
  color: #999;
}
form.datensatz_form:not(.invisible) .buttons,
form.login .buttons {
  margin-top: 2.5rem;
  margin-left: -1.5rem;
  margin-right: -1.5rem;
  background: #f0f0f0;
  padding: 0.5rem 1.5rem;
  border-top: 1px solid #d8d8d8;
  box-shadow: inset 0 5px 5px -3px rgba(0, 0, 0, 0.1);
  border-radius: 0 0 4px 4px;
}
@media all and (max-width: 1600px) {
  form.datensatz_form:not(.invisible) .buttons,
form.login .buttons {
    margin-left: -1rem;
    margin-right: -1rem;
  }
}
form.datensatz_form:not(.invisible) .buttons .button,
form.login .buttons .button {
  margin-right: 2rem;
}
form.datensatz_form:not(.invisible) .buttons .button.align-right,
form.login .buttons .button.align-right {
  float: right;
  margin-right: 0;
}
form.datensatz_form:not(.invisible) .buttons .button.center-align,
form.login .buttons .button.center-align {
  position: absolute;
  left: 50%;
  margin-left: -100px;
}
form.datensatz_form:not(.invisible) p.hinweis,
form.login p.hinweis {
  font-size: 0.85rem;
  color: #777;
  margin: 0.3rem 0 0 0;
}

form.datensatz_form:not(.invisible) .form_row label, span.mimic-pflichtfeld {
  font-size: 0.9rem;
  font-weight: 400;
  margin-right: 3rem;
  display: block;
}
form.datensatz_form:not(.invisible) .form_row label.required, span.mimic-pflichtfeld.required {
  font-weight: 700;
  position: relative;
}
form.datensatz_form:not(.invisible) .form_row label.required::after, span.mimic-pflichtfeld.required::after {
  content: "*";
  font-size: 1.2rem;
  position: absolute;
  top: 2px;
  margin-left: 3px;
  color: #b93125;
}

span.mimic-pflichtfeld {
  display: inline-block;
  margin-right: 1rem;
}

p.form-legende {
  margin: 0;
  transform: translateY(-1rem);
  font-size: 14px;
  color: #555;
  background: #f0f0f0;
  padding: 1px 5px;
  border-radius: 2px;
  display: inline-block;
}

.soll-arbeitszeiten {
  margin-top: -1rem;
}
.soll-arbeitszeiten h3 {
  font-size: 1.1rem;
}
.soll-arbeitszeiten h4 {
  margin: 1rem 0 0.5rem 0;
}
.soll-arbeitszeiten .form_row.bemerkungen {
  display: none;
}
.soll-arbeitszeiten .arbeitspakete {
  background: #fcfcfc;
  border: 1px solid #eee;
  border-radius: 3px;
}
.soll-arbeitszeiten .arbeitspakete h5 {
  font-size: 1rem;
  line-height: 100%;
  font-weight: 600;
  margin-bottom: 0.3rem;
  word-break: break-word;
}
.soll-arbeitszeiten .arbeitspakete h5 span.nummer {
  background: #5b5f92;
  color: #fff;
  font-size: 0.7rem;
  padding: 0.5px 4px;
  border-radius: 2px;
  display: inline-block;
}
.soll-arbeitszeiten .arbeitspakete .arbeitspaket {
  -moz-box-sizing: border-box;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
  padding: 0.5rem 0.7rem;
  border-bottom: 1px dotted #bbb;
}
.soll-arbeitszeiten .arbeitspakete .arbeitspaket:last-child {
  border-bottom: none;
}
.soll-arbeitszeiten .arbeitspakete .arbeitspaket h5 {
  width: calc(100% - 120px);
  float: left;
}
.soll-arbeitszeiten .arbeitspakete .arbeitspaket .form_row {
  width: 100px;
  float: right;
  text-align: right;
}
@media all and (max-width: 1600px) {
  .soll-arbeitszeiten .arbeitspakete .arbeitspaket h5, .soll-arbeitszeiten .arbeitspakete .arbeitspaket .form_row {
    width: auto;
    float: none;
  }
}

form.datensatz_form:not(.invisible) .soll-arbeitszeiten .arbeitspakete .form_row input {
  font-size: 1rem;
  padding: 2px 5px;
}

form.datensatz_form:not(.invisible) .form_row input.arbeitszeit,
form.datensatz_form:not(.invisible) .soll-arbeitszeiten .form_row input.arbeitszeit,
form.datensatz_form:not(.invisible) .soll-arbeitszeiten .arbeitspakete .form_row input.arbeitszeit {
  font-weight: 500;
  font-family: "Roboto", sans-serif;
  text-align: right;
}
form.datensatz_form:not(.invisible) .form_row input.arbeitszeit::-webkit-input-placeholder,
form.datensatz_form:not(.invisible) .soll-arbeitszeiten .form_row input.arbeitszeit::-webkit-input-placeholder,
form.datensatz_form:not(.invisible) .soll-arbeitszeiten .arbeitspakete .form_row input.arbeitszeit::-webkit-input-placeholder {
  color: #999;
  font-weight: 300;
}
form.datensatz_form:not(.invisible) .form_row input.arbeitszeit::-moz-placeholder,
form.datensatz_form:not(.invisible) .soll-arbeitszeiten .form_row input.arbeitszeit::-moz-placeholder,
form.datensatz_form:not(.invisible) .soll-arbeitszeiten .arbeitspakete .form_row input.arbeitszeit::-moz-placeholder {
  color: #999;
  font-weight: 300;
}
form.datensatz_form:not(.invisible) .form_row input.arbeitszeit:-ms-input-placeholder,
form.datensatz_form:not(.invisible) .soll-arbeitszeiten .form_row input.arbeitszeit:-ms-input-placeholder,
form.datensatz_form:not(.invisible) .soll-arbeitszeiten .arbeitspakete .form_row input.arbeitszeit:-ms-input-placeholder {
  color: #999;
  font-weight: 300;
}
form.datensatz_form:not(.invisible) .form_row input.arbeitszeit:-moz-placeholder,
form.datensatz_form:not(.invisible) .soll-arbeitszeiten .form_row input.arbeitszeit:-moz-placeholder,
form.datensatz_form:not(.invisible) .soll-arbeitszeiten .arbeitspakete .form_row input.arbeitszeit:-moz-placeholder {
  color: #999;
  font-weight: 300;
}

form.datensatz_form:not(.invisible) .form_row input.arbeitszeit.arbeitszeit--gesamtsumme {
  font-weight: 700;
}

.form_widget_compound {
  border: 2px solid green;
}

.grid_row.projektfunktionaer div.button {
  padding: 0rem 0 0 0.4rem;
  margin-top: -4px;
}
.grid_row.projektfunktionaer:first-child div.button {
  padding: 18px 0 0 0.4rem;
}

form.datensatz_form:not(.invisible) .grid_row.projektfunktionaer .form_row select {
  padding-top: 2px;
  padding-bottom: 2px;
}

form.datensatz_form:not(.invisible) .grid_row.projektfunktionaer:not(:first-child) label {
  display: none;
}

div.login-error-message {
  width: 485px;
  margin: 2rem auto;
  background: #fff;
  border-radius: 4px;
  border: 1px solid #f0f0f0;
  border-bottom-color: #c0c0c0;
  border-left: 5px solid red;
  padding: 1rem 1.5rem;
  box-shadow: 0 20px 50px 0 rgba(0, 0, 0, 0.05), 0 5px 10px -4px rgba(0, 0, 0, 0.1), 0 3px 3px -2px rgba(0, 0, 0, 0.2);
}
@media only screen and (max-width: 900px) {
  div.login-error-message {
    width: 100%;
    -moz-box-sizing: border-box;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
  }
}
@media all and (max-width: 1600px) {
  div.login-error-message {
    padding: 1rem 1rem 0 1rem;
  }
}
div.login-error-message i {
  margin-right: 1.5rem;
  color: red;
}

form.login {
  width: 500px;
  margin: 1rem auto 0;
  padding: 1rem 1rem 0;
}
@media only screen and (max-width: 900px) {
  form.login {
    width: 100%;
    -moz-box-sizing: border-box;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
  }
}
form.login .buttons {
  margin-left: -1rem;
  margin-right: -1rem;
  padding-left: 1rem;
  padding-right: 1rem;
}
@media only screen and (max-width: 900px) {
  form.login .buttons {
    text-align: center;
  }
  form.login .buttons button {
    margin-right: 0 !important;
  }
}

.grid_row {
  width: 100%;
}
.grid_row [class^=col] {
  float: left;
  margin-right: 30px;
  @inlcude bb;
}
.grid_row [class^=col]:last-child {
  margin-right: 0;
}
.grid_row .col5 {
  width: calc(5% - 30px);
}
.grid_row .col5.last {
  width: 5%;
}
.grid_row .col8 {
  width: calc(8% - 30px);
}
.grid_row .col8.last {
  width: 8%;
}
.grid_row .col10 {
  width: calc(10% - 30px);
}
.grid_row .col10.last {
  width: 10%;
}
.grid_row .col15 {
  width: calc(15% - 30px);
}
.grid_row .col15.last {
  width: 15%;
}
.grid_row .col20 {
  width: calc(20% - 30px);
}
.grid_row .col20.last {
  width: 20%;
}
.grid_row .col25 {
  width: calc(25% - 30px);
}
.grid_row .col25.last {
  width: 25%;
}
.grid_row .col30 {
  width: calc(30% - 30px);
}
.grid_row .col30.last {
  width: 30%;
}
.grid_row .col40 {
  width: calc(40% - 30px);
}
.grid_row .col40.last {
  width: 40%;
}
.grid_row .col50 {
  width: calc(50% - 30px);
}
.grid_row .col50.last {
  width: 50%;
}
.grid_row .col60 {
  width: calc(60% - 30px);
}
.grid_row .col60.last {
  width: 60%;
}
.grid_row .col70 {
  width: calc(70% - 30px);
}
.grid_row .col70.last {
  width: 70%;
}
.grid_row .col80 {
  width: calc(80% - 30px);
}
.grid_row .col80.last {
  width: 80%;
}
.grid_row .col90 {
  width: calc(90% - 30px);
}
.grid_row .col90.last {
  width: 90%;
}
.grid_row .col100 {
  width: calc(100% - 30px);
}
.grid_row .col100.last {
  width: 100%;
}
@media only screen and (max-width: 900px) {
  .grid_row .col5, .grid_row .col5.last,
.grid_row .col8, .grid_row .col8.last,
.grid_row .col10, .grid_row .col10.last,
.grid_row .col15, .grid_row .col15.last,
.grid_row .col20, .grid_row .col20.last,
.grid_row .col25, .grid_row .col25.last,
.grid_row .col30, .grid_row .col30.last,
.grid_row .col40, .grid_row .col40.last,
.grid_row .col50, .grid_row .col50.last,
.grid_row .col60, .grid_row .col60.last,
.grid_row .col70, .grid_row .col70.last,
.grid_row .col80, .grid_row .col80.last,
.grid_row .col90, .grid_row .col90.last,
.grid_row .col100, .grid_row .col100.last {
    width: 100%;
    margin-bottom: 0.5rem;
  }
}

.overlay,
.overlay-invisible {
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background: rgba(0, 0, 0, 0.3);
  z-index: 100;
}

.overlay-invisible {
  background: transparent;
  background: rgba(0, 0, 0, 0.1);
}

.animate__animated.animate__zoomIn {
  --animate-duration: .1s;
}

.animate__animated.animate__zoomInUp {
  --animate-duration: .3s;
}

.animate__animated.animate__slideInUp {
  --animate-duration: .1s;
}

.animate__animated.animate__bounceIn {
  --animate-duration: .3s;
}

.modal {
  z-index: 1000;
  position: fixed;
  top: 20%;
  left: 50%;
  margin: 0 0 0 -300px;
  width: 600px;
  background: #fff;
  border-radius: 4px;
  box-shadow: 0 10px 100px 0 rgba(0, 0, 0, 0.2), 0 5px 10px 0 rgba(0, 0, 0, 0.2), 0 30px 30px -10px rgba(0, 0, 0, 0.05);
  box-shadow: 0 10px 100px 0 rgba(0, 0, 0, 0.3), 0 5px 10px 0 rgba(0, 0, 0, 0.3), 0 30px 30px -10px rgba(0, 0, 0, 0.15);
}
@media all and (max-width: 650px) {
  .modal {
    width: 100%;
    margin: 0;
    left: 0;
  }
}
@media all and (max-height: 900px) {
  .modal {
    top: 0;
    bottom: 0;
  }
  .modal .buttons {
    position: absolute;
    bottom: 0;
    left: 0;
    right: 0;
  }
  .modal .body {
    overflow-y: scroll;
    position: absolute;
    top: 0;
    bottom: 30px;
  }
}
@media all and (max-height: 900px) and (max-width: 900px) {
  .modal .body {
    bottom: 90px;
  }
}
@media all and (max-height: 900px) {
  .modal .body .modal-icon {
    display: none;
  }
}
.modal .body {
  margin: 1.5rem 2rem 2rem;
}
.modal .body .modal-icon {
  float: right;
  font-size: 40px;
  color: #def0e1;
  margin: -1rem -1rem 0 2rem;
}
.modal h3 {
  margin: 0 0 1rem 0;
}
.modal p {
  margin: 1rem 0;
}
.modal p b {
  font-weight: 600;
}
.modal p.secondary {
  font-size: 1rem;
  color: #777;
  margin: 0.5rem 0;
}
.modal p.achtung span {
  background: #961616;
  color: #fff;
  font-weight: 600;
  padding: 1px 5px;
  border-radius: 2px;
  margin-right: 0.5rem;
}
.modal ul {
  margin-left: 1rem;
}
.modal ul.secondary {
  font-size: 1rem;
  color: #777;
}
.modal .buttons {
  background: #f0f0f0;
  padding: 0.5rem 2rem;
  border-top: 1px solid #e0e0e0;
  box-shadow: inset 0 5px 5px -3px rgba(0, 0, 0, 0.1);
  border-radius: 0 0 4px 4px;
}
.modal .buttons .button {
  margin-right: 2rem;
  float: right;
}
.modal .buttons .button:first-of-type {
  float: left;
}
.modal .buttons .button:last-of-type {
  margin-right: 0;
}
@media all and (max-width: 600px) {
  .modal .buttons .button {
    width: 100%;
    float: none;
    margin-right: 0;
    padding-left: 0.5rem;
    padding-right: 0.5rem;
  }
}

.modal.delete.confirmation {
  border-top: 5px solid red;
}

.modal.excel-export {
  top: 20%;
  width: 700px;
  margin-left: -350px;
  border-top: 5px solid #5ec254;
}
.modal.excel-export ul {
  list-style-type: none;
  margin: 1rem 0 0 0;
  background: #f0f3f071;
  border: 1px solid #f0f3f0e7;
  padding: 1rem;
  border-radius: 5px;
  box-shadow: 0 5px 3px -3px rgba(0, 0, 0, 0.05), 0 2px 2px -1px rgba(0, 0, 0, 0.2);
  columns: 2;
}
.modal.excel-export ul li {
  margin-bottom: 3px;
}
.modal.excel-export ul li input[type=checkbox] {
  width: auto;
  margin-right: 0.5rem;
}
.modal.excel-export ul li label {
  font-size: 15px;
  display: block;
  padding: 2px 0.5rem;
  border-radius: 3px;
}
.modal.excel-export ul li label:hover {
  color: #222;
  background: #f0f0f0;
}
.modal.excel-export ul li.over {
  border-top: 2px solid blue;
}
.modal.excel-export a.small.button {
  padding: 3px 10px;
}

.dropdown {
  background: #fff;
  border-radius: 4px;
  box-shadow: 0 0 200px 0 rgba(0, 0, 0, 0.1), 0 10px 30px 0 rgba(0, 0, 0, 0.1), 0 5px 10px 0 rgba(0, 0, 0, 0.1), 0 30px 30px -10px rgba(0, 0, 0, 0.05), 0 5px 5px -2px rgba(0, 0, 0, 0.2);
  border: 1px solid #ddd;
  position: absolute;
  display: none;
  z-index: 1000;
}
.dropdown th, .dropdown td {
  font-size: 14px;
}
.dropdown.arbeitszeitmodelle {
  padding: 0.5rem;
}
.dropdown.arbeitszeitmodelle table {
  width: 100%;
  border-collapse: collapse;
}
.dropdown.arbeitszeitmodelle table thead th {
  font-size: 12px;
  text-align: left;
  color: #999;
  padding: 4px 5px;
}
.dropdown.arbeitszeitmodelle table tbody td {
  cursor: pointer;
  padding: 4px 5px;
  border-top: 1px solid #eee;
}
.dropdown.arbeitszeitmodelle table tbody td.bezeichnung {
  white-space: nowrap;
  font-weight: 600;
}
.dropdown.arbeitszeitmodelle table tbody td.wochentag {
  text-align: right;
}
.dropdown.arbeitszeitmodelle table tbody tr:hover td {
  background: #f0f0f0;
}
.dropdown.arbeitszeitmodelle table tbody tr td:first-child {
  width: 30px;
}
.dropdown.arbeitszeitmodelle table tbody tr td:first-child input {
  display: none;
}
.dropdown.arbeitszeitmodelle table tbody tr td:first-child i {
  display: none;
}
.dropdown.arbeitszeitmodelle table tbody tr.selected td:first-child i {
  display: inline-block;
  color: #140EAB;
}
.dropdown.arbeitszeitmodelle table tr td:first-child, .dropdown.arbeitszeitmodelle table tr th:first-child {
  padding-left: 0.5rem;
}
.dropdown.arbeitszeitmodelle table tr td:last-child, .dropdown.arbeitszeitmodelle table tr th:last-child {
  padding-right: 0.5rem;
}
.dropdown.arbeitszeitmodelle h5 {
  margin: 0.7rem 0 0.5rem;
}

.modal.stundenzettel-fehler .error_message ul li {
  width: 33%;
  float: left;
}
.modal.stundenzettel-fehler .error_message p:nth-child(3) {
  clear: both;
  padding-top: 1rem;
}

.filter_widget {
  background: #eaebe6;
  border-radius: 5px;
  padding: 0.3rem 0.5rem 0.5rem 0.5rem;
  margin-bottom: 0.5rem;
  box-shadow: 0 0 1px 0 rgba(0, 0, 0, 0.2), 0 5px 10px -7px rgba(0, 0, 0, 0.3);
  border-bottom: 1px solid #c9cac3;
  background: #efefea;
  background: -moz-linear-gradient(top, #efefea 0%, #eaebe6 35%, #d7d8d4 100%);
  background: -webkit-linear-gradient(top, #efefea 0%, #eaebe6 35%, #d7d8d4 100%);
  background: linear-gradient(to bottom, #efefea 0%, #eaebe6 35%, #d7d8d4 100%);
  filter: progid:DXImageTransform.Microsoft.gradient( startColorstr="#efefea", endColorstr="#d7d8d4",GradientType=0 );
}
.filter_widget label {
  font-size: 0.7rem;
  display: block;
}
.filter_widget input, .filter_widget select, .filter_widget .mimic-input {
  font-size: 1rem;
  border: 1px solid rgba(192, 192, 192, 0.5);
  border-bottom-color: #b0b0b0;
  padding: 3px 3px;
  border-radius: 5px;
  width: 100%;
  color: #555;
  background: #fff;
  box-shadow: 0 1px 3px 0 rgba(0, 0, 0, 0.1), 0 3px 1px -2px rgba(0, 0, 0, 0.07);
  -moz-box-sizing: border-box;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
  -webkit-transition: all 200ms ease-in-out;
  -moz-transition: all 200ms ease-in-out;
  -ms-transition: all 200ms ease-in-out;
  -o-transition: all 200ms ease-in-out;
  transition: all 200ms ease-in-out;
}
.filter_widget input:focus, .filter_widget select:focus, .filter_widget .mimic-input:focus {
  border-color: rgba(160, 160, 160, 0.5);
  border-bottom-color: rgba(160, 160, 160, 0.9);
  background: #f6f6f9;
}
.filter_widget input[type=date], .filter_widget select[type=date], .filter_widget .mimic-input[type=date] {
  max-width: 130px;
}
.filter_widget input.aktiv, .filter_widget select.aktiv, .filter_widget .mimic-input.aktiv {
  color: #000;
  font-weight: 700;
  border-color: #2f992b;
}
.filter_widget .mimic-input {
  min-height: 1.8rem;
}
.filter_widget .checkboxes div input {
  width: auto;
}
.filter_widget .checkboxes div label {
  display: inline;
  margin: 0 2rem 0 0.5rem;
}
.filter_widget .dropdown-checkboxes .current-selection {
  white-space: nowrap;
  width: 100%;
  overflow: hidden;
  text-overflow: ellipsis;
}
.filter_widget .dropdown-checkboxes .dropdown-body {
  display: none;
  position: absolute;
  z-index: 2000;
  background: #fff;
  border-radius: 3px;
  padding: 0.5rem;
  box-shadow: 0 10px 30px 0 rgba(0, 0, 0, 0.3), 0 3px 2px -1px rgba(0, 0, 0, 0.2);
}
.filter_widget .dropdown-checkboxes .dropdown-body input[type=checkbox] {
  width: auto;
  margin-right: 0.5rem;
}
.filter_widget .dropdown-checkboxes .dropdown-body label {
  margin-bottom: 0.5rem;
  padding: 0.2rem 2rem 0.2rem 0.2rem;
  cursor: pointer;
}
.filter_widget .dropdown-checkboxes .dropdown-body label:hover {
  color: #000;
  background: #f0f0f0;
}
.filter_widget .dropdown-checkboxes .dropdown-body label:last-child {
  margin-bottom: 0;
}
.filter_widget .buttons {
  padding-top: 1rem;
}
.filter_widget button {
  padding: 0.2rem 0.5rem;
  border-color: #ccc;
  border-bottom-color: #bbb;
  width: 100%;
  text-align: left;
  max-width: 150px;
  margin: 0 0 3px 0;
}
.filter_widget button.hidden {
  display: none;
}
.filter_widget button:hover {
  border-color: #c0c0c0;
  border-bottom-color: #b0b0b0;
}
.filter_widget button i {
  margin-left: 0;
  transform: translateY(-0.5px);
  font-size: 0.6rem;
  color: #999;
  margin-right: 0.4rem;
}

a[data-helpscreen] {
  color: #999;
  -webkit-transition: all 200ms ease-in-out;
  -moz-transition: all 200ms ease-in-out;
  -ms-transition: all 200ms ease-in-out;
  -o-transition: all 200ms ease-in-out;
  transition: all 200ms ease-in-out;
}
a[data-helpscreen]:hover {
  color: #333;
}

.helpscreens .helpscreen {
  display: none;
  position: fixed;
  top: 0;
  right: 0;
  bottom: 0;
  width: 500px;
  background: #fff;
  z-index: 2000;
  padding: 1rem 2rem;
  -moz-box-sizing: border-box;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
  box-shadow: -20px 0 40px 0 rgba(0, 0, 0, 0.1), -2px 0 3px 0 rgba(0, 0, 0, 0.1);
  border: 5px solid #f0f0f0;
}
.helpscreens .helpscreen.animate__animated.animate__slideInRight {
  --animate-duration: 500ms;
}
.helpscreens .helpscreen .closebutton {
  position: absolute;
  top: 5px;
  left: 7px;
}
.helpscreens .helpscreen .closebutton button.close {
  border: none;
  background: none;
  font-size: 16px;
  color: #fff;
  cursor: pointer;
  -webkit-transition: all 200ms ease-in-out;
  -moz-transition: all 200ms ease-in-out;
  -ms-transition: all 200ms ease-in-out;
  -o-transition: all 200ms ease-in-out;
  transition: all 200ms ease-in-out;
}
.helpscreens .helpscreen:hover .closebutton button.close {
  color: #bbb;
}
.helpscreens .helpscreen:hover .closebutton button.close:hover {
  color: #333;
}
.helpscreens .helpscreen .icon {
  float: right;
}
.helpscreens .helpscreen .icon i {
  font-size: 30px;
  color: rgba(0, 0, 0, 0.3);
}
.helpscreens .helpscreen h2 {
  margin: 1rem 0;
}
.helpscreens .helpscreen p {
  margin: 1rem 0;
}

div.fixed_table {
  overflow: auto;
  box-shadow: 0 0 1px 0 rgba(0, 0, 0, 0.2), 0 5px 10px -7px rgba(0, 0, 0, 0.3);
  border-radius: 5px;
  background: #fff;
}
div.fixed_table table.table {
  margin-bottom: 0;
  box-shadow: none;
}
div.fixed_table thead th {
  position: sticky;
  top: 0;
  z-index: 1;
  box-shadow: inset 1px 1px #000, 0 1px #000;
  box-shadow: 0 1px 2px -1px rgba(0, 0, 0, 0.4);
}

table.table {
  border-collapse: collapse;
  margin-bottom: 2rem;
  box-shadow: 0 0 1px 0 rgba(0, 0, 0, 0.2), 0 5px 10px -7px rgba(0, 0, 0, 0.3);
  border-radius: 5px;
  background: #fff;
}
table.table.full-width {
  width: 100%;
}
table.table tr td, table.table tr th {
  padding: 5px 40px 5px 10px;
  vertical-align: top;
  text-align: left;
}
table.table tr td:last-child, table.table tr th:last-child {
  padding-right: 10px;
}
table.table tr td.link, table.table tr th.link {
  padding-right: 10px;
}
table.table tr th {
  padding-right: 10px;
}
table.table tr td.right-align {
  text-align: right;
}
table.table thead tr th {
  border-bottom: 1px solid #ddd;
  font-size: 0.7rem;
  background: #f0f0f0;
}
table.table thead tr:first-child th:first-child {
  border-top-left-radius: 5px;
}
table.table thead tr:first-child th:last-child {
  border-top-right-radius: 5px;
}
table.table.striped tbody tr:nth-child(even) td {
  background: #f9f9f9;
}
table.table tbody tr td.collapsing {
  width: 1%;
  white-space: nowrap;
}
table.table tbody tr.highlighted td {
  background: #f3f3c2 !important;
}
table.table tbody tr td[data-filter-on-click] {
  color: #4a5cac;
  cursor: pointer;
}
table.table tbody tr td[data-filter-on-click]:hover {
  text-decoration: underline;
}
table.table:not(.no-hover) tbody tr:hover td {
  background: #f4f4f4;
}
table.table a.inlinebutton {
  color: #999;
  text-decoration: none;
  padding: 1px 5px;
  font-size: 0.8rem;
  background: transparent;
  border-radius: 2px;
}
table.table a.inlinebutton:hover {
  background: #e0e0e0;
  color: #444;
}

table.table.sortable thead th[data-sort-columname] {
  cursor: pointer;
  padding-right: 30px;
}
table.table.sortable thead th[data-sort-columname]:hover {
  background: #e0e0e0;
}
table.table.sortable thead th[data-sort-columname]::after {
  display: inline-block;
  font-style: normal;
  font-variant: normal;
  text-rendering: auto;
  -webkit-font-smoothing: antialiased;
  font-family: "Font Awesome 5 Free";
  font-weight: 900;
  position: absolute;
  top: 5px;
  right: 5px;
  color: #ccc;
  content: "\f0dc";
  transform: translateY(-3px);
}
table.table.sortable thead th[data-sort-columname].sorted {
  background: #d7d7d7;
}
table.table.sortable thead th[data-sort-columname].sorted.ASC::after {
  content: "\f0dd";
  color: #fff;
  transform: translateY(-3px);
}
table.table.sortable thead th[data-sort-columname].sorted.DESC::after {
  content: "\f0de";
  color: #fff;
  transform: translateY(3px);
}

p.info-found-datasets {
  font-size: 0.8rem;
  font-weight: 600;
  margin: 0.3rem 0 0 0;
  color: #999;
}
p.info-found-datasets span {
  color: #333;
  margin-left: 0.5rem;
}

table.arbeitsbereiche tbody tr td.arbeitsbereich_cell {
  background: #fff;
  border-bottom: 1px solid #ddd;
}
table.arbeitsbereiche tbody tr td.arbeitspaket_cell.nummer {
  border-left: 1px solid #ddd;
  padding-right: 15px;
  text-align: right;
}
table.arbeitsbereiche tbody tr td.arbeitsbereich_cell.first-row-in-bereich {
  border-top: 1px solid #ddd;
}

table.aenderungsvermerke.table {
  width: 100%;
  box-shadow: none;
  border-radius: 0;
}
table.aenderungsvermerke.table tr td {
  font-size: 0.8rem;
  padding: 5px;
}
table.aenderungsvermerke.table tr td:first-child, table.aenderungsvermerke.table tr td:last-child {
  white-space: nowrap;
}

table.table tbody tr.status--abgeschlossen td.column-status {
  color: green;
}
table.table tbody tr.status--gesperrt td.column-status {
  background: #e0e0e0 !important;
}
table.table tbody tr.status--gesperrt.highlighted td.column-status {
  background: #ebeb97 !important;
}

span.benutzerkonto-deaktiviert {
  background: #555;
  color: #fff;
  font-size: 10px;
  padding: 1px 5px;
  border-radius: 2px;
  font-weight: bold;
  margin-left: 1rem;
}

table.table tr th.warnung,
table.table tr td.warnung {
  padding-right: 10px;
}
table.table tr td.warnung {
  color: #b91515;
}

table.arbeitsstunden.table td {
  border: 1px solid #ddd;
}
table.arbeitsstunden.table tr.kostenbereich-separator td, table.arbeitsstunden.table tr.kostenbereich-separator:hover td {
  background: #555;
  font-weight: 600;
  color: #f0f0f0;
  font-size: 11px;
  padding-top: 10px;
  padding-bottom: 10px;
}
table.arbeitsstunden.table tr.arbeitsbereich td {
  background: #fcfcfc;
  font-size: 12px;
  color: rgba(0, 0, 0, 0.4);
  font-weight: bold;
  border-color: #eee;
}
table.arbeitsstunden.table tr.arbeitspaket td {
  background: #fff;
  font-size: 12px;
  color: rgba(0, 0, 0, 0.4);
  border-color: #eee;
}
table.arbeitsstunden.table tr.arbeitspaket.last td {
  border-bottom-color: #ddd;
}
table.arbeitsstunden.table th.arbeitsstunden,
table.arbeitsstunden.table td.arbeitsstunden {
  text-align: right;
  padding-right: 10px;
}
table.arbeitsstunden.table th.arbeitsstunden.summe,
table.arbeitsstunden.table td.arbeitsstunden.summe {
  font-weight: 600;
}
table.arbeitsstunden.table th.waehrungen,
table.arbeitsstunden.table td.waehrungen {
  text-align: right;
  padding-right: 10px;
}
table.arbeitsstunden.table thead tr:nth-child(2) th {
  border: 1px solid #ddd;
  background: #fff;
  font-size: 14px;
  font-weight: 600;
  border-bottom: 3px double #ccc;
}
table.arbeitsstunden.table td.toggle-bereiche {
  padding-right: 0px;
  width: 17px;
}
table.arbeitsstunden.table tr.kostenbereich td.toggle-bereiche.has-arbeitsbereiche {
  cursor: pointer;
}
table.arbeitsstunden.table tr.kostenbereich td.toggle-bereiche.has-arbeitsbereiche:hover {
  background: #e0e0e0;
}
table.arbeitsstunden.table tr:not(.opened) td.toggle-bereiche i.opened-toggle {
  display: none;
}
table.arbeitsstunden.table tr.opened td.toggle-bereiche i.closed-toggle {
  display: none;
}
table.arbeitsstunden.table tr.arbeitsbereich td.toggle-bereiche, table.arbeitsstunden.table tr.arbeitspaket td.toggle-bereiche {
  background: #f0f0f0;
  border: none;
  box-shadow: inset -2px 0 3px -4px rgba(0, 0, 0, 0.5);
}
table.arbeitsstunden.table tr.ueberstunden-spezial td, table.arbeitsstunden.table tr.ueberstunden-spezial:hover td {
  background: #f0f0f0;
  font-style: italic;
  color: #777;
}

table.uebersicht-urlaubsansprueche tr.aktuelles-jahr td {
  font-weight: bold;
  background: #f9f9f9;
}
table.uebersicht-urlaubsansprueche tr.aktuelles-jahr td.zeitraeume, table.uebersicht-urlaubsansprueche tr td.zeitraeume {
  font-weight: normal;
}
table.uebersicht-urlaubsansprueche tr.aktuelles-jahr td.zeitraeume span, table.uebersicht-urlaubsansprueche tr td.zeitraeume span {
  color: #999;
}
table.uebersicht-urlaubsansprueche tr.aktuelles-jahr td.zeitraeume a, table.uebersicht-urlaubsansprueche tr td.zeitraeume a {
  text-decoration: none;
  border-bottom: 1px dotted #999;
}
table.uebersicht-urlaubsansprueche tr.aktuelles-jahr td.zeitraeume a:hover, table.uebersicht-urlaubsansprueche tr td.zeitraeume a:hover {
  border-bottom: 1px solid #99f;
}
table.uebersicht-urlaubsansprueche td.gesamtanspruch {
  background: #f0f0f0;
}
table.uebersicht-urlaubsansprueche tr.aktuelles-jahr td.gesamtanspruch {
  background: #e9e9e9;
}
table.uebersicht-urlaubsansprueche tr.eintrag td {
  border-top: 1px solid #ddd;
}
table.uebersicht-urlaubsansprueche td.button {
  padding-right: 0;
}
table.uebersicht-urlaubsansprueche tr.historie {
  display: none;
}
table.uebersicht-urlaubsansprueche tr.historie td {
  font-size: 0.8rem;
  color: #555;
}
table.uebersicht-urlaubsansprueche tr.historie td.historie {
  background: #fcfcfc;
}
table.uebersicht-urlaubsansprueche tr.historie td.historie span.zeitstempel {
  font-weight: normal;
  color: #777;
  background: #f0f0f0;
  padding-left: 0.3rem;
  padding-right: 0.3rem;
  margin-right: 0.2rem;
}
table.uebersicht-urlaubsansprueche tr.historie td.historie span.benutzer:after {
  content: ": ";
}
table.uebersicht-urlaubsansprueche tr.historie td.historie span.aenderungsvermerk {
  font-weight: bold;
}
table.uebersicht-urlaubsansprueche tr.historie td.historie span.diff {
  color: #999;
}
table.uebersicht-urlaubsansprueche tr.historie td.historie span.diff:before {
  content: "(";
}
table.uebersicht-urlaubsansprueche tr.historie td.historie span.diff:after {
  content: ")";
}

i.warnung {
  color: #b91515;
}

.jahresplanung .monat {
  border: 1px solid #ccc;
  margin-bottom: 2rem;
  box-shadow: 0 5px 5px -3px rgba(0, 0, 0, 0.1);
  -moz-box-sizing: border-box;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
  width: 15.8333333333%;
  margin-right: 1%;
  float: left;
}
.jahresplanung .monat:nth-child(6n) {
  margin-right: 0;
}
.jahresplanung .monat .monatsname {
  padding: 5px 5px;
  font-weight: 900;
  text-align: center;
  text-transform: uppercase;
}
.jahresplanung .monat .tag {
  border-top: 1px solid #e0e0e0;
  overflow: hidden;
}
.jahresplanung .monat .tag.tag--wochenende {
  background: #f9f9f9;
}
.jahresplanung .monat .tag.tag--feiertag {
  background: #e0e0d0;
}
.jahresplanung .monat .tag.tag--feiertag .wochentag,
.jahresplanung .monat .tag.tag--feiertag .datum {
  font-weight: 700;
}
.jahresplanung .monat .tag .wochentag {
  width: 1rem;
  float: left;
  padding: 2px 5px;
}
.jahresplanung .monat .tag .datum {
  width: 1.5rem;
  float: left;
  padding: 2px 5px;
  border-right: 1px dotted #ccc;
}
.jahresplanung .monat .tag .bezeichnung {
  float: left;
  padding: 2px 5px;
}

@keyframes highlight {
  0% {
    background-color: transparent;
  }
  30% {
    background-color: #f3f3c2;
  }
  100% {
    background-color: transparent;
  }
}
@keyframes highlight_color {
  0% {
    color: rgba(0, 0, 0, 0.7);
  }
  30% {
    color: #f3f3c2;
  }
  100% {
    color: rgba(0, 0, 0, 0.7);
  }
}
@keyframes highlight_tfoot {
  0% {
    background-color: #eee;
  }
  30% {
    background-color: #f3f3c2;
  }
  100% {
    background-color: #eee;
  }
}
@keyframes blink {
  0% {
    background-color: transparent;
  }
  16.5% {
    background-color: #f3f3c2;
  }
  33% {
    background-color: transparent;
  }
  47.5% {
    background-color: #f3f3c2;
  }
  66% {
    background-color: transparent;
  }
  79.5% {
    background-color: #f3f3c2;
  }
  100% {
    background-color: transparent;
  }
}
h1.arbeitszeiterfassung span.zeitraumx, h1.monatsuebersicht span.zeitraumx {
  font-weight: 600;
  position: relative;
}
h1.arbeitszeiterfassung span.zeitraumx a.button.only-icon, h1.monatsuebersicht span.zeitraumx a.button.only-icon {
  position: absolute;
  margin: -1.5rem 0 0 0;
}
@media only screen and (max-width: 900px) {
  h1.arbeitszeiterfassung, h1.monatsuebersicht {
    font-size: 17px;
    margin-top: 0;
  }
  h1.arbeitszeiterfassung span.zeitraum, h1.monatsuebersicht span.zeitraum {
    display: block;
    text-align: center;
    padding-top: 0.5rem;
    font-weight: 900;
    text-transform: none;
    letter-spacing: 0;
  }
}
@media only screen and (max-width: 900px) and (max-width: 380px) {
  h1.arbeitszeiterfassung span.zeitraum, h1.monatsuebersicht span.zeitraum {
    font-size: 20px;
  }
}
@media only screen and (max-width: 900px) {
  h1.arbeitszeiterfassung span.zeitraum a.button.only-icon, h1.monatsuebersicht span.zeitraum a.button.only-icon {
    margin: -0.5rem 0 0 0;
  }
  h1.arbeitszeiterfassung span.zeitraum a.button.only-icon.prev, h1.monatsuebersicht span.zeitraum a.button.only-icon.prev {
    float: left;
  }
  h1.arbeitszeiterfassung span.zeitraum a.button.only-icon.next, h1.monatsuebersicht span.zeitraum a.button.only-icon.next {
    float: right;
  }
  h1.arbeitszeiterfassung span.zeitraum a.button.only-icon.calendar, h1.monatsuebersicht span.zeitraum a.button.only-icon.calendar {
    float: right;
  }
}
@media only screen and (max-width: 900px) and (max-width: 350px) {
  h1.arbeitszeiterfassung span.zeitraum a.button.only-icon, h1.monatsuebersicht span.zeitraum a.button.only-icon {
    padding: 5px 10px;
  }
}
h1.arbeitszeiterfassung span.zeitraum a.button.only-icon.calendar, h1.monatsuebersicht span.zeitraum a.button.only-icon.calendar {
  float: right;
}

h1.arbeitszeiterfassung {
  position: sticky;
  top: 56px;
  background: #fff;
  padding-bottom: 0.5rem;
  border-bottom: 1px solid #eee;
}

table.table.arbeitszeiterfassung {
  width: 100%;
}
@media only screen and (min-width: 901px) {
  table.table.arbeitszeiterfassung.ein-tag {
    max-width: 1000px;
    margin: 0 auto;
  }
}
@media only screen and (max-width: 900px) {
  table.table.arbeitszeiterfassung {
    width: 100%;
    border: 1px solid #999;
    border-bottom: 2px solid #999;
    margin-bottom: 5rem;
  }
  table.table.arbeitszeiterfassung tbody tr td:first-child, table.table.arbeitszeiterfassung tbody tr td:nth-child(2) {
    border-left: 1px solid #999;
  }
  table.table.arbeitszeiterfassung > thead tr th:first-child {
    display: none;
  }
}
table.table.arbeitszeiterfassung th.tag {
  border-left: 1px solid #ccc;
}
table.table.arbeitszeiterfassung th.feiertag {
  border-bottom: 5px solid #a466db;
}
table.table.arbeitszeiterfassung th {
  text-shadow: 1px 1px 1px rgba(255, 255, 255, 0.9);
}
table.table.arbeitszeiterfassung td.wochenende.eingabe {
  background-color: #f0f0f0;
}
table.table.arbeitszeiterfassung th.wochenende {
  background: #cacaca;
  background: -moz-linear-gradient(top, #cacaca 0%, #f0f0f0 100%);
  background: -webkit-linear-gradient(top, #cacaca 0%, #f0f0f0 100%);
  background: linear-gradient(to bottom, #cacaca 0%, #f0f0f0 100%);
  filter: progid:DXImageTransform.Microsoft.gradient( startColorstr="$color1", endColorstr="$color2",GradientType=0 );
}
table.table.arbeitszeiterfassung tfoot td.wochenende {
  background: #f0f0f0;
  background: -moz-linear-gradient(top, #f0f0f0 0%, #d7d7d7 100%);
  background: -webkit-linear-gradient(top, #f0f0f0 0%, #d7d7d7 100%);
  background: linear-gradient(to bottom, #f0f0f0 0%, #d7d7d7 100%);
  filter: progid:DXImageTransform.Microsoft.gradient( startColorstr="$color1", endColorstr="$color2",GradientType=0 );
}
table.table.arbeitszeiterfassung thead th.tag.heute, table.table.arbeitszeiterfassung thead th.tag.heute span {
  color: #5266d6;
}
table.table.arbeitszeiterfassung td {
  border-left: 1px solid #ccc;
  border-bottom: 1px solid #ccc;
  padding: 7px 10px;
}
table.table.arbeitszeiterfassung td.zusatz_nummer {
  white-space: nowrap;
}
@media only screen and (max-width: 900px) {
  table.table.arbeitszeiterfassung td.zusatz_nummer {
    display: none;
  }
}
table.table.arbeitszeiterfassung td.kst_ktr {
  font-weight: 600;
}
table.table.arbeitszeiterfassung td.kst_ktr span.zusatz_nummer {
  display: none;
}
@media only screen and (max-width: 900px) {
  table.table.arbeitszeiterfassung td.kst_ktr span.zusatz_nummer {
    display: inline-block;
    background-color: #b3b3b3;
    padding: 2px 3px 1px;
    border-radius: 2px;
    margin-right: 0.5rem;
  }
}
table.table.arbeitszeiterfassung td.kst_ktr span.firma {
  display: inline-block;
  background-color: #d1afaf;
  padding: 2px 3px 1px;
  border-radius: 2px;
  margin-right: 0.1rem;
}
table.table.arbeitszeiterfassung td.kst_ktr span.urlaubs-info {
  display: block;
  font-size: 0.8rem;
  font-weight: 400;
  color: #999;
}
table.table.arbeitszeiterfassung td.kst_ktr span.urlaubs-info b.anspruch {
  color: #333;
}
table.table.arbeitszeiterfassung td.kst_ktr span.urlaubs-info b.rest {
  color: #3d967f;
}
table.table.arbeitszeiterfassung td.kst_ktr span.urlaubs-info:hover {
  cursor: help;
}
table.table.arbeitszeiterfassung td.kst_ktr span.urlaubs-info:hover i {
  color: green;
}
table.table.arbeitszeiterfassung td.kst_ktr span.kostenstelle-info {
  display: block;
  font-size: 0.8rem;
  font-weight: 400;
  color: #999;
}
table.table.arbeitszeiterfassung td.kst_ktr span.kostenbereich-ausblenden {
  float: right;
  cursor: pointer;
}
table.table.arbeitszeiterfassung td.kst_ktr span.kostenbereich-ausblenden i {
  color: #888;
}
table.table.arbeitszeiterfassung td.kst_ktr span.kostenbereich-ausblenden:hover i {
  color: #000;
}
table.table.arbeitszeiterfassung td.arbeitspaket b {
  background-color: #ddd;
  padding: 1px 2px 0px;
  font-size: 0.8rem;
  border-radius: 2px;
}
table.table.arbeitszeiterfassung td.arbeitspaket i {
  color: #ccc;
  font-size: 0.8rem;
  margin-right: 0.5rem;
}
@media only screen and (max-width: 900px) {
  table.table.arbeitszeiterfassung td.arbeitspaket i {
    display: none;
  }
}
table.table.arbeitszeiterfassung td.eingabe {
  padding: 0 0 0 0;
  background-color: #f9f9f9;
  -moz-box-sizing: border-box;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
  max-width: 100px;
}
table.table.arbeitszeiterfassung td.eingabe input {
  width: 50px;
  height: 35px;
  text-align: right;
  border: 1px solid #f0f0f0;
  border: none;
  -moz-box-sizing: border-box;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
  padding: 1px 5px 1px 5px;
  color: #ccc;
  color: #222;
  background-color: transparent;
  border-bottom: 1px dotted #e0e0e0;
  width: 100%;
}
table.table.arbeitszeiterfassung td.eingabe input:placeholder-shown {
  background-image: url(../img/pen_transparent_2.png);
  background-repeat: no-repeat;
  background-position: right 50%;
  background-size: 20px;
}
table.table.arbeitszeiterfassung td.eingabe input:disabled {
  background: none;
}
table.table.arbeitszeiterfassung td.eingabe input:focus {
  background-color: #f3f3c2;
  background-image: none;
}
table.table.arbeitszeiterfassung td.eingabe input.highlight {
  animation: highlight 1000ms ease-out;
}
table.table.arbeitszeiterfassung td.eingabe input.fehler {
  background-color: red;
}
@media only screen and (max-width: 900px) {
  table.table.arbeitszeiterfassung td.eingabe input {
    font-size: 1rem;
    width: 70px;
    width: 100%;
  }
}
table.table.arbeitszeiterfassung td.eingabe i {
  font-size: 10px;
  color: #999;
}
table.table.arbeitszeiterfassung td.dezimalzahl {
  text-align: right;
  padding-right: 10px;
  color: #777;
  padding: 0;
}
table.table.arbeitszeiterfassung td.dezimalzahl.highlight {
  animation: highlight 1000ms ease-out;
}
table.table.arbeitszeiterfassung td.dezimalzahl span {
  display: block;
  padding: 6px 10px;
}
table.table.arbeitszeiterfassung td.dezimalzahl.im-minus span {
  color: red;
  font-weight: 600;
  background: #aa1616;
  color: #fff;
}
table.table.arbeitszeiterfassung td.fehlzeiten-einblenden, table.table.arbeitszeiterfassung td.add-new-row {
  font-weight: 600;
  font-size: 0.8rem;
  background-color: #f0f0f0 !important;
  cursor: pointer;
  color: #999;
}
table.table.arbeitszeiterfassung td.fehlzeiten-einblenden i, table.table.arbeitszeiterfassung td.add-new-row i {
  margin-right: 0.5rem;
  background-color: #140EAB;
  padding: 5px;
  color: #fff;
  border-radius: 2px;
}
table.table.arbeitszeiterfassung td.fehlzeiten-einblenden:hover, table.table.arbeitszeiterfassung td.add-new-row:hover {
  color: #444;
  background-color: #e0e0e0 !important;
}
table.table.arbeitszeiterfassung td span.eigene_bemerkungen {
  display: block;
  font-size: 0.8rem;
  background-color: #f3f3c2;
  padding: 2px 4px;
  border-radius: 2px;
}
table.table.arbeitszeiterfassung td a.bemerkung-hinzufuegen-arbeitnehmer,
table.table.arbeitszeiterfassung td a.admin--arbeitnehmerbemerkung-anzeigen,
table.table.arbeitszeiterfassung td a.admin--aenderungsvermerke-anzeigen {
  display: block;
  white-space: nowrap;
  font-size: 0.6rem;
  padding: 4px 5px;
  color: #999;
  font-family: "Roboto Condensed", sans-serif;
  text-decoration: none;
}
table.table.arbeitszeiterfassung td a.bemerkung-hinzufuegen-arbeitnehmer:hover, table.table.arbeitszeiterfassung td a.bemerkung-hinzufuegen-arbeitnehmer:hover i,
table.table.arbeitszeiterfassung td a.admin--arbeitnehmerbemerkung-anzeigen:hover,
table.table.arbeitszeiterfassung td a.admin--arbeitnehmerbemerkung-anzeigen:hover i,
table.table.arbeitszeiterfassung td a.admin--aenderungsvermerke-anzeigen:hover,
table.table.arbeitszeiterfassung td a.admin--aenderungsvermerke-anzeigen:hover i {
  color: #140EAB;
}
@media only screen and (max-width: 900px) {
  table.table.arbeitszeiterfassung td a.bemerkung-hinzufuegen-arbeitnehmer,
table.table.arbeitszeiterfassung td a.admin--arbeitnehmerbemerkung-anzeigen,
table.table.arbeitszeiterfassung td a.admin--aenderungsvermerke-anzeigen {
    background: #140EAB;
  }
  table.table.arbeitszeiterfassung td a.bemerkung-hinzufuegen-arbeitnehmer, table.table.arbeitszeiterfassung td a.bemerkung-hinzufuegen-arbeitnehmer i, table.table.arbeitszeiterfassung td a.bemerkung-hinzufuegen-arbeitnehmer:hover, table.table.arbeitszeiterfassung td a.bemerkung-hinzufuegen-arbeitnehmer:hover i,
table.table.arbeitszeiterfassung td a.admin--arbeitnehmerbemerkung-anzeigen,
table.table.arbeitszeiterfassung td a.admin--arbeitnehmerbemerkung-anzeigen i,
table.table.arbeitszeiterfassung td a.admin--arbeitnehmerbemerkung-anzeigen:hover,
table.table.arbeitszeiterfassung td a.admin--arbeitnehmerbemerkung-anzeigen:hover i,
table.table.arbeitszeiterfassung td a.admin--aenderungsvermerke-anzeigen,
table.table.arbeitszeiterfassung td a.admin--aenderungsvermerke-anzeigen i,
table.table.arbeitszeiterfassung td a.admin--aenderungsvermerke-anzeigen:hover,
table.table.arbeitszeiterfassung td a.admin--aenderungsvermerke-anzeigen:hover i {
    color: white;
  }
}
@media all and (min-width: 901px) {
  table.table.arbeitszeiterfassung td a.bemerkung-hinzufuegen-arbeitnehmer.hat-bemerkungen, table.table.arbeitszeiterfassung td a.bemerkung-hinzufuegen-arbeitnehmer.hat-bemerkungen i,
table.table.arbeitszeiterfassung td a.admin--arbeitnehmerbemerkung-anzeigen.hat-bemerkungen,
table.table.arbeitszeiterfassung td a.admin--arbeitnehmerbemerkung-anzeigen.hat-bemerkungen i,
table.table.arbeitszeiterfassung td a.admin--aenderungsvermerke-anzeigen.hat-bemerkungen,
table.table.arbeitszeiterfassung td a.admin--aenderungsvermerke-anzeigen.hat-bemerkungen i {
    color: #140EAB;
  }
}
table.table.arbeitszeiterfassung td a.bemerkung-hinzufuegen-arbeitnehmer i,
table.table.arbeitszeiterfassung td a.admin--arbeitnehmerbemerkung-anzeigen i,
table.table.arbeitszeiterfassung td a.admin--aenderungsvermerke-anzeigen i {
  display: none;
}
table.table.arbeitszeiterfassung td a.bemerkung-hinzufuegen-arbeitnehmer.hat-bemerkungen i.hat-bemerkungen,
table.table.arbeitszeiterfassung td a.admin--arbeitnehmerbemerkung-anzeigen.hat-bemerkungen i.hat-bemerkungen,
table.table.arbeitszeiterfassung td a.admin--aenderungsvermerke-anzeigen.hat-bemerkungen i.hat-bemerkungen {
  display: inline;
}
table.table.arbeitszeiterfassung td a.bemerkung-hinzufuegen-arbeitnehmer.hat-keine-bemerkungen i.hat-keine-bemerkungen,
table.table.arbeitszeiterfassung td a.admin--arbeitnehmerbemerkung-anzeigen.hat-keine-bemerkungen i.hat-keine-bemerkungen,
table.table.arbeitszeiterfassung td a.admin--aenderungsvermerke-anzeigen.hat-keine-bemerkungen i.hat-keine-bemerkungen {
  display: inline;
}
table.table.arbeitszeiterfassung td a.admin--arbeitnehmerbemerkung-anzeigen {
  display: none;
}
table.table.arbeitszeiterfassung td a.admin--aenderungsvermerke-anzeigen.hat-aenderungsvermerke, table.table.arbeitszeiterfassung td a.admin--aenderungsvermerke-anzeigen.hat-aenderungsvermerke i {
  color: #140EAB;
}
table.table.arbeitszeiterfassung td a.admin--aenderungsvermerke-anzeigen.hat-aenderungsvermerke i {
  display: inline;
}
table.table.arbeitszeiterfassung td a.admin--aenderungsvermerke-anzeigen.hat-keine-aenderungsvermerke {
  display: none;
}
table.table.arbeitszeiterfassung.admin-ansicht td a.bemerkung-hinzufuegen-arbeitnehmer, table.table.arbeitszeiterfassung.admin-ansicht td a.admin--arbeitnehmerbemerkung-anzeigen.hat-keine-bemerkungen {
  display: none;
}
table.table.arbeitszeiterfassung.admin-ansicht td a.admin--arbeitnehmerbemerkung-anzeigen {
  display: block;
}
table.table.arbeitszeiterfassung tr td.dezimalzahl.x {
  border-left: 2px solid #999;
}
table.table.arbeitszeiterfassung tr td.dezimalzahl.y {
  border-right: 2px solid #999;
}
table.table.arbeitszeiterfassung tr.sonstige_zeiten td:nth-child(2) {
  border-left: none;
  font-weight: 600;
}
table.table.arbeitszeiterfassung tr.neu_ktr_kst:not(.spezial) td {
  border-top: 2px solid #999;
}
table.table.arbeitszeiterfassung td.fehlzeiten-einblenden {
  cursor: pointer;
}
table.table.arbeitszeiterfassung.verstecke-fehlzeiten tr.spezial {
  display: none;
}
table.table.arbeitszeiterfassung tr.auswahl-arbeitspakete td {
  padding-top: 2px;
  padding-bottom: 2px;
  background-color: #f3f3c2 !important;
}
table.table.arbeitszeiterfassung tr.auswahl-arbeitspakete td select {
  width: 100%;
}
table.table.arbeitszeiterfassung tr.auswahl-arbeitspakete td a {
  margin-left: 2rem;
  font-size: 0.8rem;
  font-weight: 600;
}
@media only screen and (max-width: 900px) {
  table.table.arbeitszeiterfassung tr.auswahl-arbeitspakete td a {
    margin: 1rem 0 0.5rem 0;
    display: inline-block;
  }
}
table.table.arbeitszeiterfassung tr.highlight td, table.table.arbeitszeiterfassung tr.highlight input {
  animation: highlight 1000ms ease-out;
}
table.table.arbeitszeiterfassung tr.add-new-row td {
  border-top: 2px solid #999;
}
table.table.arbeitszeiterfassung tr.add-new-row td.add-new-row {
  border-right: 2px solid #999;
}
@media only screen and (max-width: 900px) {
  table.table.arbeitszeiterfassung tr.add-new-row td.add-new-row {
    border-right: none;
  }
}
table.table.arbeitszeiterfassung tr.spezial td.kst_ktr {
  white-space: nowrap;
}
table.table.arbeitszeiterfassung tfoot tr.soll-tages-arbeitszeit td {
  font-size: 0.8rem;
  padding-top: 3px;
  padding-bottom: 3px;
  color: #999;
  text-align: right;
  border-top: 2px solid #999;
}
table.table.arbeitszeiterfassung tfoot tr.summen td {
  background-color: #eee;
  font-size: 0.8rem;
  text-align: right;
}
table.table.arbeitszeiterfassung tfoot tr.summen td.highlight {
  animation: highlight_tfoot 1000ms ease-out;
}
table.table.arbeitszeiterfassung tfoot tr.summen td.tagessoll-nicht-erreicht {
  color: red;
  font-weight: 900;
}
table.table.arbeitszeiterfassung tfoot tr.summen td.tagessoll-erreicht {
  color: green;
}
table.table.arbeitszeiterfassung tfoot tr.summen td.tagessoll-ueberschritten {
  color: blue;
}
table.table.arbeitszeiterfassung tfoot tr td:first-child {
  border-right: 2px solid #999;
}
table.table.arbeitszeiterfassung tfoot tr.summen td.heute, table.table.arbeitszeiterfassung tfoot tr td.heute {
  background-color: #e3e9f6;
}
table.table.arbeitszeiterfassung tfoot tr.warnungen td {
  text-align: center;
}
table.table.arbeitszeiterfassung tfoot tr.warnungen td.tagessoll-erreicht i, table.table.arbeitszeiterfassung tfoot tr.warnungen td.tagessoll-ueberschritten i, table.table.arbeitszeiterfassung tfoot tr.warnungen td.zukunft i, table.table.arbeitszeiterfassung tfoot tr.warnungen td.feiertag i {
  display: none;
}
table.table.arbeitszeiterfassung tfoot tr.warnungen td.tagessoll-nicht-erreicht i {
  color: red;
}
table.table.arbeitszeiterfassung tr.template.auswahl-arbeitspakete {
  display: none;
}
table.table.arbeitszeiterfassung tr.auswahl-arbeitspakete select option.bereich-separator {
  font-size: 10px;
}
@media only screen and (max-width: 900px) {
  table.table.arbeitszeiterfassung tr.hide-mobile, table.table.arbeitszeiterfassung td.hide-mobile, table.table.arbeitszeiterfassung th.hide-mobile {
    display: none;
  }
  table.table.arbeitszeiterfassung tfoot {
    display: none;
  }
}
@media all and (min-width: 901px) {
  table.table.arbeitszeiterfassung .show-mobile {
    display: none;
  }
}
table.table.arbeitszeiterfassung thead th.tag {
  text-align: center;
}
table.table.arbeitszeiterfassung thead th.tag span {
  display: block;
  font-size: 0.8rem;
  color: #999;
}
@media only screen and (max-width: 900px) {
  table.table.arbeitszeiterfassung thead th:not(.tag) {
    font-size: 10px;
  }
}

table.table.arbeitszeiterfassung .inline_arbeitszeit_info {
  display: none;
  width: calc(100% + 20px);
  border-collapse: collapse;
  margin: 5px -10px -5px -10px;
}
@media only screen and (max-width: 900px) {
  table.table.arbeitszeiterfassung .inline_arbeitszeit_info {
    display: table;
  }
}
table.table.arbeitszeiterfassung .inline_arbeitszeit_info thead tr th {
  background-color: transparent;
  padding: 0;
  color: #999;
  font-size: 8px;
}
table.table.arbeitszeiterfassung .inline_arbeitszeit_info tbody tr td {
  border-top-width: 1px !important;
  padding: 0 5px 0 0;
  width: 25%;
  border: none;
  color: #777;
  font-size: 11px;
}
table.table.arbeitszeiterfassung .inline_arbeitszeit_info tbody tr td.dezimalzahl {
  text-align: left;
}
table.table.arbeitszeiterfassung .inline_arbeitszeit_info tbody tr td.dezimalzahl span {
  border: none;
  padding: 0;
}
table.table.arbeitszeiterfassung .inline_arbeitszeit_info thead tr th,
table.table.arbeitszeiterfassung .inline_arbeitszeit_info tbody tr td {
  font-weight: 400;
}
table.table.arbeitszeiterfassung .inline_arbeitszeit_info thead tr th:first-child,
table.table.arbeitszeiterfassung .inline_arbeitszeit_info tbody tr td:first-child {
  padding-left: 10px;
}

select.vorauswahl_bereich,
table.table.arbeitszeiterfassung select {
  background-color: #fff;
  border: 1px solid #ccc;
  border-radius: 4px;
  padding: 3px 5px;
  font-size: 1rem;
}

.kst_ktr_hinweis_popup {
  position: absolute;
  top: 400px;
  background: #e2f5e1;
  padding: 1px 10px;
  font-size: 12px;
  font-weight: bold;
  border: 1px solid #a0a0a0;
  box-shadow: 0 2px 1px -1px rgba(0, 0, 0, 0.2);
}

.wkjehfkwhefkwhefjk {
  border: 2px solid blue;
  border-width: 0 3px 3px 0;
  width: 5px;
  height: 5px;
  position: absolute;
}

.kst_ktr_hinweis_popup_pfeil {
  width: 20px;
  position: absolute;
  -moz-transform: rotate(-35deg);
  -webkit-transform: rotate(-35deg);
  -o-transform: rotate(-35deg);
  -ms-transform: rotate(-35deg);
  transform: rotate(-35deg);
}
.kst_ktr_hinweis_popup_pfeil .line {
  margin-top: 2px;
  width: 10px;
  background: #606060;
  height: 2px;
  float: left;
}
.kst_ktr_hinweis_popup_pfeil .point {
  width: 0;
  height: 0;
  border-top: 3px solid transparent;
  border-bottom: 3px solid transparent;
  border-left: 10px solid #606060;
  float: right;
}

@media only screen and (max-width: 900px) {
  .modal.arbeitszeiterfassung {
    width: 100%;
    top: 0;
    left: 0;
    right: 0;
    margin: 0;
    border-radius: 0;
  }
  .modal.arbeitszeiterfassung .body {
    margin: 1.5rem 1rem 2rem;
  }
  .modal.arbeitszeiterfassung .body .modal-icon {
    font-size: 40px;
    margin: -1rem -0.5rem 0 2rem;
  }
  .modal.arbeitszeiterfassung .buttons {
    padding-left: 1rem;
    padding-right: 1rem;
  }
  .modal.arbeitszeiterfassung .buttons button {
    margin: 0.2rem 0;
    width: 100%;
  }
}

.modal.arbeitszeiterfassung.bemerkungen .kostenbereich,
.modal.arbeitszeiterfassung.bestaetigung-zeiterfassung-plausibilitaet .kostenbereich {
  font-size: 1.1rem;
  font-weight: 600;
}
.modal.arbeitszeiterfassung.bemerkungen .kostenbereich span.nummer,
.modal.arbeitszeiterfassung.bestaetigung-zeiterfassung-plausibilitaet .kostenbereich span.nummer {
  font-weight: 400;
}
.modal.arbeitszeiterfassung.bemerkungen .arbeitspaket,
.modal.arbeitszeiterfassung.bestaetigung-zeiterfassung-plausibilitaet .arbeitspaket {
  font-size: 1.1rem;
  margin: 0.5rem 0;
}
.modal.arbeitszeiterfassung.bemerkungen .floating,
.modal.arbeitszeiterfassung.bestaetigung-zeiterfassung-plausibilitaet .floating {
  background: #eee;
  margin: 0.5rem 0;
  padding: 5px;
  border-radius: 3px;
}
.modal.arbeitszeiterfassung.bemerkungen .datum,
.modal.arbeitszeiterfassung.bestaetigung-zeiterfassung-plausibilitaet .datum {
  float: left;
  font-size: 1.2rem;
}
.modal.arbeitszeiterfassung.bemerkungen .arbeitsstunden,
.modal.arbeitszeiterfassung.bestaetigung-zeiterfassung-plausibilitaet .arbeitsstunden {
  float: right;
  font-size: 1.2rem;
  font-weight: 600;
}
.modal.arbeitszeiterfassung.bemerkungen form,
.modal.arbeitszeiterfassung.bestaetigung-zeiterfassung-plausibilitaet form {
  padding-top: 1rem;
}
.modal.arbeitszeiterfassung.bemerkungen label,
.modal.arbeitszeiterfassung.bestaetigung-zeiterfassung-plausibilitaet label {
  font-size: 0.8rem;
}
.modal.arbeitszeiterfassung.bemerkungen textarea,
.modal.arbeitszeiterfassung.bestaetigung-zeiterfassung-plausibilitaet textarea {
  height: 150px;
}
.modal.arbeitszeiterfassung.bemerkungen p.error_message,
.modal.arbeitszeiterfassung.bestaetigung-zeiterfassung-plausibilitaet p.error_message {
  color: black;
  background: #e2aeae;
  padding: 2px 10px;
  border-radius: 2px;
}
.modal.arbeitszeiterfassung.bemerkungen label.checkbox,
.modal.arbeitszeiterfassung.bestaetigung-zeiterfassung-plausibilitaet label.checkbox {
  font-size: 15px;
}
.modal.arbeitszeiterfassung.bemerkungen label.checkbox input,
.modal.arbeitszeiterfassung.bestaetigung-zeiterfassung-plausibilitaet label.checkbox input {
  width: auto;
  margin-right: 0.5rem;
}

.modal.arbeitszeiterfassung.suche_kst_ktr {
  top: 10%;
  margin-top: 0;
  clear: both;
  display: none;
}
.modal.arbeitszeiterfassung.suche_kst_ktr label {
  display: block;
}
.modal.arbeitszeiterfassung.suche_kst_ktr select {
  width: 100%;
}
.modal.arbeitszeiterfassung.suche_kst_ktr input, .modal.arbeitszeiterfassung.suche_kst_ktr select {
  font-size: 1.1rem;
  border: 1px solid #e7e7ef;
  padding: 5px 5px;
  border-radius: 5px;
}
.modal.arbeitszeiterfassung.suche_kst_ktr .suchergebnisse_ktr_kst {
  display: none;
  max-height: 400px;
  overflow: auto;
  position: absolute;
  background-color: #fff;
  box-shadow: 0 30px 50px 0 rgba(0, 0, 0, 0.3), 0 5px 10px 0 rgba(0, 0, 0, 0.3), 0 30px 30px -10px rgba(0, 0, 0, 0.15);
  z-index: 1000;
}
.modal.arbeitszeiterfassung.suche_kst_ktr .suchergebnisse_ktr_kst .item {
  cursor: pointer;
}
.modal.arbeitszeiterfassung.suche_kst_ktr .suchergebnisse_ktr_kst .item:hover {
  background-color: #e0e0e0;
}
.modal.arbeitszeiterfassung.suche_kst_ktr .suchergebnisse_ktr_kst .item:hover span.firma {
  background-color: #d0d0d0;
  box-shadow: 0 1px 1px 0 rgba(0, 0, 0, 0.2);
}
.modal.arbeitszeiterfassung.suche_kst_ktr .suchergebnisse_ktr_kst,
.modal.arbeitszeiterfassung.suche_kst_ktr .selected_ktr_kst {
  border: 1px solid #ccc;
}
.modal.arbeitszeiterfassung.suche_kst_ktr .suchergebnisse_ktr_kst .item,
.modal.arbeitszeiterfassung.suche_kst_ktr .selected_ktr_kst .item {
  padding: 0.5rem;
  border-bottom: 1px dotted #ccc;
}
.modal.arbeitszeiterfassung.suche_kst_ktr .suchergebnisse_ktr_kst .item:last-child,
.modal.arbeitszeiterfassung.suche_kst_ktr .selected_ktr_kst .item:last-child {
  border-bottom: none;
}
.modal.arbeitszeiterfassung.suche_kst_ktr .suchergebnisse_ktr_kst .item.template,
.modal.arbeitszeiterfassung.suche_kst_ktr .selected_ktr_kst .item.template {
  display: none;
}
.modal.arbeitszeiterfassung.suche_kst_ktr .suchergebnisse_ktr_kst .item span.firma,
.modal.arbeitszeiterfassung.suche_kst_ktr .selected_ktr_kst .item span.firma {
  color: #555;
  background-color: #e0e0e0;
  padding: 1px 4px;
  border-radius: 3px;
  margin-right: 0.5rem;
  float: right;
}
.modal.arbeitszeiterfassung.suche_kst_ktr .suchergebnisse_ktr_kst .item span.zusatz,
.modal.arbeitszeiterfassung.suche_kst_ktr .selected_ktr_kst .item span.zusatz {
  font-weight: 700;
}
.modal.arbeitszeiterfassung.suche_kst_ktr .suchergebnisse_ktr_kst .item span.nummer,
.modal.arbeitszeiterfassung.suche_kst_ktr .selected_ktr_kst .item span.nummer {
  font-weight: 700;
  margin-right: 0.5rem;
}
.modal.arbeitszeiterfassung.suche_kst_ktr .suchergebnisse_ktr_kst .item span.infoInhaltKst,
.modal.arbeitszeiterfassung.suche_kst_ktr .selected_ktr_kst .item span.infoInhaltKst {
  display: block;
  font-size: 0.8rem;
  color: #999;
  margin: 2px 0 0 2rem;
}
@media only screen and (max-width: 900px) {
  .modal.arbeitszeiterfassung.suche_kst_ktr .suchergebnisse_ktr_kst {
    max-height: 200px;
  }
  .modal.arbeitszeiterfassung.suche_kst_ktr .suchergebnisse_ktr_kst .item {
    padding-top: 0.8rem;
    padding-bottom: 0.8rem;
  }
}
.modal.arbeitszeiterfassung.suche_kst_ktr .selected_ktr_kst {
  border: 1px solid #e2e26d;
  border-radius: 3px;
  background-color: #f3f3c2;
}
.modal.arbeitszeiterfassung.suche_kst_ktr .selected_ktr_kst .item span.firma {
  background-color: #dede57;
}
.modal.arbeitszeiterfassung.suche_kst_ktr .arbeitspakete {
  padding: 10px;
}
.modal.arbeitszeiterfassung.suche_kst_ktr .arbeitspakete div {
  padding: 5px;
}
.modal.arbeitszeiterfassung.suche_kst_ktr .arbeitspakete ul {
  font-size: 0.9rem;
  font-weight: 500;
  color: #777;
}
.modal.arbeitszeiterfassung.suche_kst_ktr .arbeitspakete-container {
  display: none;
}
@media only screen and (max-width: 900px) {
  .modal.arbeitszeiterfassung.suche_kst_ktr .arbeitspakete-container {
    display: none !important;
  }
}
.modal.arbeitszeiterfassung.suche_kst_ktr .selected_ktr_kst_container {
  display: none;
  margin-bottom: 1rem;
}

.reload_warning {
  background-color: #ce3f3f;
  color: #fff;
  margin: 1rem 0;
  padding: 0.5rem 1rem;
}

.footer-navigation {
  display: none;
}

@media only screen and (max-width: 900px) {
  .footer-navigation {
    display: block;
    position: fixed;
    bottom: 0px;
    left: 0;
    right: 0;
    background-color: #e0e0e0;
    box-shadow: 0 -10px 20px 0 rgba(0, 0, 0, 0.1), 0 -5px 5px -3px rgba(0, 0, 0, 0.1);
  }
  .footer-navigation div.button {
    padding: 1rem;
    cursor: pointer;
    background-color: #140EAB;
    color: #fff;
    display: inline-block;
  }
  .footer-navigation div.button i {
    margin-right: 0.5rem;
  }
  .footer-navigation div.button:hover {
    background-color: #000 !important;
  }
  .footer-navigation div.button.warnung {
    background: red;
    float: right;
  }
  .footer-navigation div.button.warnung:hover {
    background-color: #cc0000 !important;
  }
  .footer-navigation div.button.warnung i {
    margin-right: 0;
  }
  .footer-navigation div.summe {
    display: inline-block;
    padding: 0.75rem 1rem;
  }
  .footer-navigation div.summe span.sign {
    transform: translateY(-1px);
    color: rgba(0, 0, 0, 0.3);
    display: inline-block;
    font-size: 1.2rem;
    margin-right: 0.5rem;
  }
  .footer-navigation div.summe span.summe {
    font-size: 1.2rem;
  }
  .footer-navigation div.summe span.summe.highlight {
    animation: highlight_color 1000ms ease-out;
  }
}
@media all and (min-width: 901px) {
  .grid_row.arbeitszeiterfassung-header {
    background: #f0f0f0;
    padding: 1rem;
    -moz-box-sizing: border-box;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    border-radius: 3px;
    border: 1px solid #e9e9e9;
  }
  .grid_row.arbeitszeiterfassung-header .col20.reload {
    text-align: right;
  }
}
@media only screen and (max-width: 900px) {
  .grid_row.arbeitszeiterfassung-header span.label {
    display: none;
  }
  .grid_row.arbeitszeiterfassung-header .col30.arbeitnehmer {
    margin: 0;
  }
  .grid_row.arbeitszeiterfassung-header .col30.arbeitnehmer p {
    font-size: 1.3rem;
    background-color: #f0f0f0;
    border-radius: 3px 3px 0 0;
    padding: 2px 10px;
    border: 1px solid #ccc;
    border-bottom: none;
  }
  .grid_row.arbeitszeiterfassung-header .col20.firma {
    margin: 0;
  }
  .grid_row.arbeitszeiterfassung-header .col20.firma p {
    font-size: 0.9rem;
    color: #333;
    padding: 3px 10px;
    background-color: #e0e0e0;
    border-left: 1px solid #ccc;
    border-right: 1px solid #ccc;
  }
  .grid_row.arbeitszeiterfassung-header .col20.bereich {
    margin: 0 0 1rem 0;
    background-color: #f0f0f0;
    padding: 3px 10px;
    border-radius: 0 0 3px 3px;
    border: 1px solid #ccc;
    border-top: none;
    -moz-box-sizing: border-box;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
  }
  .grid_row.arbeitszeiterfassung-header .col20.bereich select {
    display: block;
    width: 100%;
    margin: 3px 0 3px 0;
    padding: 8px 5px;
  }
  .grid_row.arbeitszeiterfassung-header .buttons.reload {
    text-align: right;
  }
}
@media only screen and (max-width: 900px) and (max-width: 550px) {
  .grid_row.arbeitszeiterfassung-header .buttons.reload .button {
    width: 100%;
    display: block;
    margin-left: 0;
    margin-right: 0;
    -moz-box-sizing: border-box;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
  }
}
.grid_row.arbeitszeiterfassung-header .col20.reload.blink {
  padding: 1rem 0;
  animation: blink 3000ms ease-out;
}

@media only screen and (max-width: 900px) {
  .legende {
    margin-bottom: 5rem;
  }
}

.warnung_soll_zeit_nicht_erreicht {
  background: #e0333362;
  padding: 0.5rem 1rem;
  border: 1px solid #999;
  max-width: 500px;
  margin: 0 auto;
}
@media only screen and (max-width: 900px) {
  .warnung_soll_zeit_nicht_erreicht {
    position: fixed;
    left: 0;
    right: 0;
    bottom: 50px;
    border: none;
    padding-top: 1rem;
    padding-bottom: 1rem;
    background: #EEACAC;
  }
}
.warnung_soll_zeit_nicht_erreicht p.buttons {
  margin: 0.5rem 0 0.2rem;
  text-align: center;
}
.warnung_soll_zeit_nicht_erreicht a.button {
  padding: 4px 5px;
  font-size: 0.8rem;
}
@media only screen and (max-width: 900px) {
  .warnung_soll_zeit_nicht_erreicht a.button {
    display: block;
    padding: 6px 5px;
  }
}
.warnung_soll_zeit_nicht_erreicht span.ist,
.warnung_soll_zeit_nicht_erreicht span.soll {
  font-weight: 600;
}

.tooltip {
  background: #fff;
  padding: 0.5rem 1rem;
  border-radius: 3px;
  position: absolute;
  min-width: 300px;
  max-width: 400px;
  z-index: 1000;
  box-shadow: 0 5px 5px -3px rgba(0, 0, 0, 0.2), 0 2px 5px 0 rgba(0, 0, 0, 0.2);
}
.tooltip h4 {
  margin: 0.5rem 0;
}
.tooltip p {
  margin: 0.5rem 0;
  font-size: 0.8rem;
}
.tooltip::after {
  content: "";
  position: absolute;
  top: 0%;
  right: 20px;
  margin-top: -10px;
  margin-left: -5px;
  border-width: 5px;
  border-style: solid;
  border-color: transparent transparent #fff transparent;
}

.aenderungsvermerke .history-item {
  font-size: 0.8rem;
  padding: 0.5rem 0;
  border-bottom: 1px dotted #ccc;
}
.aenderungsvermerke .history-item:last-child {
  border-bottom: none;
}
.aenderungsvermerke .history-item span.zeitstempel {
  float: left;
}
.aenderungsvermerke .history-item span.benutzer {
  float: right;
}
.aenderungsvermerke .history-item span.bemerkungen {
  display: block;
  clear: both;
  color: #999;
  margin: 0.2rem 0 0.3rem;
}
.aenderungsvermerke .history-item span.wertaenderung {
  display: block;
  clear: both;
  font-weight: 600;
}

span.stundenzettel-geschlossen {
  font-size: 0.7rem;
  font-weight: 600;
  margin-left: 1rem;
  background: #4b7947;
  color: #fff;
  padding: 2px 10px;
  border-radius: 2px;
}

p.hinweise.stundenzettel-geschlossen {
  background: #4b7947;
  color: #fff;
  padding: 2px 10px;
  -moz-box-sizing: border-box;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
  border-radius: 2px;
  margin-top: -0.5rem;
  margin-bottom: 1rem;
  text-align: center;
  font-weight: 600;
}
p.hinweise.stundenzettel-geschlossen.monatsuebersicht {
  margin: 2rem auto 0;
  width: 100%;
  max-width: 1000px;
}
@media only screen and (max-width: 900px) {
  p.hinweise.stundenzettel-geschlossen.monatsuebersicht {
    max-width: 500px;
  }
}

.stundenzettel_warning {
  max-width: 600px;
  margin: 5rem auto;
  font-size: 1.2rem;
}
.stundenzettel_warning i {
  font-size: 30px;
  float: left;
  margin: 0.4rem 1.5rem 5rem 0;
}

.message.arbeitszeiterfassung.sollueberschreitung {
  position: absolute;
  top: 40%;
  left: 50%;
  margin-left: -200px;
  widht: 400px;
  background: #fff;
  border: 1px solid #ddd;
  padding: 2rem 2rem;
  text-align: center;
  z-index: 1000;
}
.message.arbeitszeiterfassung.sollueberschreitung p {
  margin: 0 0 1rem 0;
}
.message.arbeitszeiterfassung.sollueberschreitung button {
  margin: 0 0 0 auto;
}

.homepage_arbeitnehmer {
  width: 800px;
  margin: 2rem auto;
  -moz-box-sizing: border-box;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
}
@media only screen and (max-width: 900px) {
  .homepage_arbeitnehmer {
    width: 100%;
  }
}
.homepage_arbeitnehmer div.item {
  margin: 0 0 3rem 0;
  -moz-box-sizing: border-box;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
  width: 32%;
  margin-right: 2%;
  float: left;
}
.homepage_arbeitnehmer div.item:nth-child(3) {
  margin-right: 0;
}
@media only screen and (max-width: 900px) {
  .homepage_arbeitnehmer div.item {
    width: 100%;
    margin-right: 0;
    margin-bottom: 1rem;
    padding-left: 1rem;
    padding-right: 1rem;
  }
}
.homepage_arbeitnehmer div.item a {
  width: 100%;
  max-width: 500px;
  display: block;
  -moz-box-sizing: border-box;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
  text-align: center;
  margin: 0 auto;
  text-decoration: none;
  color: #555;
  padding: 2rem 1rem;
  border: 1px solid #eee;
  border-radius: 1rem;
}
@media only screen and (max-width: 900px) {
  .homepage_arbeitnehmer div.item a {
    background: #f9f9f9;
    font-size: 1.2rem;
  }
}
.homepage_arbeitnehmer div.item a:hover {
  border-color: #888;
  background: #f0f0f0;
}
.homepage_arbeitnehmer div.item a i {
  display: block;
  font-size: 40px;
  margin: 2rem 0 2.5rem;
  color: #999;
}
@media all and (max-width: 500px) {
  .homepage_arbeitnehmer div.item a {
    padding: 1rem 0;
  }
  .homepage_arbeitnehmer div.item a i {
    margin: 1rem 0 1.5rem;
  }
}
.homepage_arbeitnehmer .zugewiesene-projektfunktionen {
  clear: both;
  padding-top: 2rem;
  padding-bottom: 5rem;
  -moz-box-sizing: border-box;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
}
.homepage_arbeitnehmer .zugewiesene-projektfunktionen a {
  text-decoration: none;
}
@media only screen and (max-width: 900px) {
  .homepage_arbeitnehmer .zugewiesene-projektfunktionen {
    width: 100%;
    margin-right: 0;
    margin-bottom: 1rem;
    padding-left: 1rem;
    padding-right: 1rem;
  }
}
.homepage_arbeitnehmer .zugewiesene-projektfunktionen .projekt i.far {
  margin-right: 0.5rem;
}
.homepage_arbeitnehmer .zugewiesene-projektfunktionen .projekt span.nummer {
  font-weight: 600;
  margin-right: 0.5rem;
}

table.monatsuebersicht tbody tr td.tag,
.legende div.tag {
  text-align: center;
  border: 1px solid #ccc;
}
table.monatsuebersicht tbody tr td.tag.tagessoll-nicht-erreicht,
.legende div.tag.tagessoll-nicht-erreicht {
  background: #f7e4e4;
}
table.monatsuebersicht tbody tr td.tag.tagessoll-nicht-erreicht span.erfassung span.ist, table.monatsuebersicht tbody tr td.tag.tagessoll-nicht-erreicht span.erfassung span.ist.null,
.legende div.tag.tagessoll-nicht-erreicht span.erfassung span.ist,
.legende div.tag.tagessoll-nicht-erreicht span.erfassung span.ist.null {
  color: #f02828;
}
table.monatsuebersicht tbody tr td.tag.tagessoll-erreicht span.erfassung span.ist,
.legende div.tag.tagessoll-erreicht span.erfassung span.ist {
  color: #4ad54c;
}
table.monatsuebersicht tbody tr td.tag.tagessoll-ueberschritten span.erfassung span.ist,
.legende div.tag.tagessoll-ueberschritten span.erfassung span.ist {
  color: blue;
}
table.monatsuebersicht tbody tr td.tag.feiertag span.datum,
.legende div.tag.feiertag span.datum {
  color: #a758de;
}
table.monatsuebersicht tbody tr td.tag.feiertag span.erfassung,
.legende div.tag.feiertag span.erfassung {
  border-top-color: #a758de;
}
table.monatsuebersicht tbody tr td.tag span.datum,
.legende div.tag span.datum {
  font-weight: 600;
  font-size: 1.2rem;
  display: inline-block;
  width: 23px;
  height: 23px;
  padding: 2px;
}
table.monatsuebersicht tbody tr td.tag span.datum.heute,
.legende div.tag span.datum.heute {
  border: 2px solid #000;
  border-radius: 50%;
}
@media only screen and (max-width: 900px) {
  table.monatsuebersicht tbody tr td.tag span.datum,
.legende div.tag span.datum {
    font-size: 1rem;
    width: 21px;
    height: 21px;
  }
}
table.monatsuebersicht tbody tr td.tag span.erfassung,
.legende div.tag span.erfassung {
  display: block;
  font-size: 0.9rem;
}
@media only screen and (max-width: 900px) {
  table.monatsuebersicht tbody tr td.tag span.erfassung,
.legende div.tag span.erfassung {
    font-size: 0.7rem;
  }
}
table.monatsuebersicht tbody tr td.tag span.erfassung span.ist,
.legende div.tag span.erfassung span.ist {
  font-weight: 700;
  display: block;
}
table.monatsuebersicht tbody tr td.tag span.erfassung span.ist.null,
.legende div.tag span.erfassung span.ist.null {
  color: #ddd;
}
table.monatsuebersicht tbody tr td.tag span.erfassung span.soll,
.legende div.tag span.erfassung span.soll {
  color: #999;
  display: block;
}
@media only screen and (max-width: 900px) {
  table.monatsuebersicht tbody tr td.tag span.erfassung span.soll,
.legende div.tag span.erfassung span.soll {
    font-size: 0.6rem;
  }
}
table.monatsuebersicht tbody tr td.tag span.erfassung span.soll.null,
.legende div.tag span.erfassung span.soll.null {
  color: #ddd;
}

.legende div.tag {
  width: 40px;
}
.legende div.tag span.datum {
  font-size: 0.8rem;
}

table.monatsuebersicht tbody tr td.tag span.erfassung {
  border-top: 2px dotted #ccc;
  padding-top: 0.3rem;
  margin-top: 0.3rem;
}

table.monatsuebersicht {
  border-collapse: collapse;
  width: 100%;
  max-width: 1000px;
  margin: 2rem auto 3rem;
}
@media only screen and (max-width: 900px) {
  table.monatsuebersicht {
    max-width: 500px;
  }
}
table.monatsuebersicht thead tr th {
  font-size: 0.6rem;
  padding: 3px 3px 10px 3px;
}
table.monatsuebersicht tbody tr td {
  text-align: center;
  vertical-align: middle;
}
table.monatsuebersicht tbody tr td.kalenderwoche {
  padding: 5px 5px 5px 0;
  width: 10px;
  font-size: 0.6rem;
  color: #999;
}
table.monatsuebersicht tbody tr td a {
  padding: 5px 2px;
  text-decoration: none;
  color: #555;
  display: block;
}
table.monatsuebersicht tbody tr td a:hover {
  background: #f0f0f0;
}

.legende {
  font-size: 0.7rem;
  color: #777;
  border-top: 1px dashed #eee;
  padding-top: 1rem;
  padding-bottom: 2rem;
  margin-top: 3rem;
  background: #f9f9f9;
  padding-left: 1rem;
  padding-right: 1rem;
}
@media only screen and (max-width: 900px) {
  .legende {
    margin-left: -0.5rem;
    margin-right: -0.5rem;
    padding-left: 0.5rem;
    padding-right: 0.5rem;
  }
}
.legende h2 {
  font-size: 0.7rem;
  letter-spacing: 5px;
  margin: 0 0 0.5rem 0;
  border: none;
  text-transform: uppercase;
}
.legende h3 {
  font-size: 0.8rem;
  letter-spacing: 1px;
  margin: 0.5rem 0;
}
.legende span.feiertag-datum {
  color: #a758de;
}
.legende dl dt {
  width: 50px;
  float: left;
  clear: left;
  margin: 0.2rem 0 0 0;
  padding: 0;
}
.legende dl dd {
  float: left;
  margin: 0.2rem 0 0 0;
  padding: 0;
}
.legende dl dd ul {
  margin: 0.3rem 0 0 0;
  list-style-type: none;
}
.legende.wide dl dt {
  width: 100px;
}

.kostenbereich--details {
  margin-bottom: 2rem;
}
.kostenbereich--details label {
  font-size: 0.8rem;
  font-weight: 600;
  display: block;
}
.kostenbereich--details span.value {
  margin: 0.1rem 0 0.5rem;
  display: block;
  background: #f0f0f0;
  padding: 0.4rem 0.5rem;
  border-radius: 3px;
}

table.table.auswertung thead tr:nth-child(2) th {
  font-size: 0.7rem;
}
table.table.auswertung td {
  border: 1px solid #ccc;
}
table.table.auswertung td.arbeitszeit {
  padding-right: 10px;
}
table.table.auswertung td.arbeitszeit.null {
  color: #ccc;
}
table.table.auswertung td.arbeitszeit.soll:not(.null) {
  font-weight: bold;
}
table.table.auswertung td.arbeitszeit.ist:not(.null).im-minus {
  color: red;
  font-weight: bold;
}
table.table.auswertung td.arbeitszeit.ist:not(.null).im-plus {
  color: green;
}
table.table.auswertung td.arbeitszeit.soll-minus-ist:not(.null).im-minus {
  color: red;
  font-weight: bold;
}
table.table.auswertung tfoot td {
  font-weight: 600;
  border-top: 2px solid #999;
}

.widget.arbeitszeitrechner {
  background: #e0e0e0;
  padding: 0.3rem 2rem 0.6rem;
  border-radius: 3px;
  border: 1px solid #ccc;
}
@media all and (max-width: 530px) {
  .widget.arbeitszeitrechner {
    padding-left: 0.5rem;
    padding-right: 0.5rem;
  }
}
.widget.arbeitszeitrechner .container {
  width: 450px;
  margin: 0 auto;
}
@media all and (max-width: 530px) {
  .widget.arbeitszeitrechner .container {
    width: auto;
  }
}
.widget.arbeitszeitrechner label {
  display: block;
  font-size: 12px;
}
.widget.arbeitszeitrechner input {
  width: 110px;
  padding: 2px 5px;
  border: 1px solid #999;
  border-radius: 1px;
  -moz-box-sizing: border-box;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
}
@media all and (max-width: 530px) {
  .widget.arbeitszeitrechner input {
    font-size: 1.2rem;
    width: 100%;
  }
}
.widget.arbeitszeitrechner input#arbeitszeit {
  border-color: #000;
}
.widget.arbeitszeitrechner .eingabe {
  float: left;
  margin-right: 2px;
}
@media all and (max-width: 530px) {
  .widget.arbeitszeitrechner .eingabe {
    float: none;
  }
}
@media all and (min-width: 531px) {
  .widget.arbeitszeitrechner .ausgabe {
    padding-left: 2rem;
  }
}
.widget.arbeitszeitrechner .ausgabe input {
  border-width: 2px;
  padding: 1px 4px;
  border-radius: 2px;
  text-align: center;
  color: #000;
}

.widget-arbeitszeitrechner-button-conatiner {
  margin: 1.3rem 0 1.7rem;
  text-align: right;
}
@media (max-width: 1300px) {
  .widget-arbeitszeitrechner-button-conatiner {
    text-align: center;
  }
}

@media (max-width: 1300px) {
  a.button.toggle-arbeitszeitrechner {
    font-size: 0.7rem;
  }
}
a.button.toggle-arbeitszeitrechner.einblenden span.einblenden {
  display: inline;
}
a.button.toggle-arbeitszeitrechner.einblenden span.ausblenden {
  display: none;
}
a.button.toggle-arbeitszeitrechner.ausblenden span.einblenden {
  display: none;
}
a.button.toggle-arbeitszeitrechner.ausblenden span.ausblenden {
  display: inline;
}

.warnung-noscript {
  background: rgba(255, 255, 0, 0.8);
  padding: 1rem;
  margin-bottom: 2rem;
  position: fixed;
  top: 1rem;
  left: 1rem;
  right: 1rem;
  bottom: 1rem;
}
.warnung-noscript p {
  text-align: center;
  font-size: 2.3rem;
  position: absolute;
  top: 40%;
  left: 10px;
  right: 10px;
}

.error_page {
  max-width: 800px;
  margin: 4rem auto 0;
  border: 1px solid #eee;
  border-radius: 5px;
  padding: 1rem 2rem;
  -moz-box-sizing: border-box;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
  background: #f9f9f9;
  box-shadow: 0 20px 100px 0 rgba(0, 0, 0, 0.03);
}
.error_page.fehlerausgabe-dev {
  max-width: 100%;
}
.error_page h1 {
  margin-bottom: 2rem;
}
.error_page p {
  margin: 1rem 0;
}
.error_page p label {
  text-decoration: underline;
  color: #999;
  display: block;
  margin-bottom: 0.2rem;
}
.error_page p.error {
  font-size: 1.2rem;
}
.error_page .exception {
  color: #555;
  background: #e0e0e0;
}
.error_page .exception pre {
  overflow-x: scroll;
  line-height: 150%;
}

pre.sf-dump {
  background: #e0e0e0 !important;
  font-size: 20px !important;
}
pre.sf-dump span.sf-dump-ellipsis-note,
pre.sf-dump span.sf-dump-note {
  color: #1e309b;
}
pre.sf-dump span.sf-dump-private,
pre.sf-dump span.sf-dump-protected {
  color: #777;
}

.modals div.subnavigation {
  display: none;
  position: absolute;
  left: 0;
  background: #fff;
  box-shadow: 0 10px 50px 0 rgba(0, 0, 0, 0.2), 0 10px 10px 0 rgba(0, 0, 0, 0.1), 0 5px 5px -3px rgba(0, 0, 0, 0.3);
  z-index: 20000;
  padding: 1rem 3rem;
  border-top: 4px solid #cfcfd8;
}
.modals div.subnavigation h6 {
  font-size: 1rem;
  border-bottom: 1px solid #eee;
  margin: 0.5rem 0;
  white-space: nowrap;
}
.modals div.subnavigation hr {
  border: none;
  border-top: 1px solid #ddd;
  margin: 0.5rem 0;
}
.modals div.subnavigation ul {
  margin: 0 0 1rem 0;
}
.modals div.subnavigation ul:first-child {
  margin-top: 1rem;
}
.modals div.subnavigation li {
  display: block;
}
.modals div.subnavigation li:last-child {
  border-bottom: none;
}
.modals div.subnavigation li a, .modals div.subnavigation li span {
  display: block;
  white-space: nowrap;
  padding: 5px 10px;
  font-weight: 400;
  border-radius: 3px;
  color: rgba(0, 0, 0, 0.7);
  text-decoration: none;
}
.modals div.subnavigation li a b, .modals div.subnavigation li span b {
  font-weight: 700;
}
.modals div.subnavigation li a i, .modals div.subnavigation li span i {
  transform: translateY(-2px);
  font-size: 0.8rem;
  margin-right: 0.5rem;
  color: rgba(0, 0, 0, 0.5);
}
.modals div.subnavigation li a {
  -webkit-transition: all 200ms ease-in-out;
  -moz-transition: all 200ms ease-in-out;
  -ms-transition: all 200ms ease-in-out;
  -o-transition: all 200ms ease-in-out;
  transition: all 200ms ease-in-out;
}
.modals div.subnavigation li a:hover {
  background: #f0f0f0;
  background: #cfcfd8;
}