@font-face {
  font-family: 'Roboto';
  font-style: normal;
  font-weight: 400;
  src: url(//fonts.gstatic.com/s/roboto/v27/KFOmCnqEu92Fr1Mu4mxP.ttf) format('truetype');
}
*:focus {
  outline: 0;
}
.shadowed {
  box-shadow: 0.0625rem 0.0625rem 0.1875rem rgba(0, 0, 0, 0.3);
}
.boxshadowedheader,
.boxshadowedasided {
  box-shadow: 0 0 0.75rem rgba(51, 51, 51, 0.3);
}
.boxshadowedactionbutton {
  box-shadow: 0.125rem 0.125rem 0.5rem rgba(51, 51, 51, 0.8);
}
label {
  vertical-align: text-top;
}
label.disabled {
  opacity: .4;
}
input {
  padding: 0.0625rem 0.125rem;
  vertical-align: text-top;
}
textarea,
input[type="text"],
input[type="password"],
input[type="file"],
input[type="number"],
input[type="date"],
input[type="time"],
input[type="datetime"],
input[type="datetime-local"],
input[type="email"],
input[type="url"],
select {
  padding: 0.1875rem;
  border: none;
  border-bottom: solid 0.125rem #E0E0E1;
  color: #000000;
  background: #ffffff;
  font-size: 0.875rem;
}
textarea:focus,
input[type="text"]:focus,
input[type="password"]:focus,
input[type="file"]:focus,
input[type="number"]:focus,
input[type="date"]:focus,
input[type="time"]:focus,
input[type="datetime"]:focus,
input[type="datetime-local"]:focus,
input[type="email"]:focus,
input[type="url"]:focus,
select:focus {
  border-bottom: solid 0.125rem #ff6f00;
  color: #000000;
  background-color: #ffffff;
}
input[type="time"],
input[type="datetime"],
input[type="datetime-local"],
input[type="date"] {
  text-align: center;
}
input[type="number"] {
  text-align: right;
}
input[type="number"]:focus {
  text-align: left;
}
select {
  color: #000000;
  padding-right: 1.5rem;
}
textarea {
  resize: none;
}
input[type="submit"],
input[type="button"] {
  font-weight: bold;
  text-transform: uppercase;
  border: none;
  background: #fff;
  color: #00838f;
  padding: 10px;
}
input[type="submit"]:hover,
input[type="button"]:hover,
input[type="submit"]:focus,
input[type="button"]:focus {
  background: rgba(153, 153, 153, 0.2);
}
input[type="submit"]:active,
input[type="button"]:active {
  background: rgba(153, 153, 153, 0.4);
}
input[type="button"].storno,
input[type="submit"].storno {
  text-decoration: blink;
  color: #c62828;
}
input[type="button"].special,
input[type="submit"].special {
  color: #558b2f;
}
input[type="button"]:disabled,
input[type="submit"]:disabled,
input[type="button"]:disabled:hover,
input[type="submit"]:disabled:hover {
  color: #a7a7a7;
  background: none;
}
input[type="text"]::selection,
input[type="text"]::-moz-selection {
  background: #000000;
  color: #ffffff;
}
input[type="date"] {
  width: 7rem;
}
input[type="date"]::-webkit-inner-spin-button {
  -webkit-appearance: none;
  display: none;
}
select.option {
  color: #000000;
}
select option.preselected {
  font-weight: bold;
}
select optgroup.inactive,
select option.inactive {
  color: #707070;
  font-style: italic;
}
.number {
  text-align: right;
}
input[type=text].number {
  text-align: right;
}
input[type=text].number:focus {
  text-align: left;
}
input[type="text"][disabled],
select[disabled],
input[type="text"]:disabled,
select:disabled,
input[type="number"]:disabled,
input[type="date"]:disabled,
input[type="datetime"]:disabled,
input[type="datetime-local"]:disabled,
input[type="email"]:disabled,
input[type="url"]:disabled,
textarea:disabled {
  color: #707070;
  background-color: #fdfdfd;
  border-bottom: dotted 0.125rem #c0c0c1;
}
input:focus {
  outline: none;
}
input::-webkit-input-placeholder {
  color: #212121;
}
input:-moz-placeholder {
  /* Firefox 18- */
  color: #212121;
}
input::-moz-placeholder {
  /* Firefox 19+ */
  color: #212121;
}
input:-ms-input-placeholder {
  color: #212121;
}
textarea.error,
input[type="text"].error,
input[type="password"].error,
input[type="file"].error,
input[type="number"].error,
input[type="date"].error,
input[type="time"].error,
input[type="datetime"].error,
input[type="datetime-local"].error,
input[type="email"].error,
select.error {
  color: #e05916;
  background-color: #fce6db;
}
input.PasswordRating {
  background-color: #fff;
}
input.PasswordRating.RatingUgly {
  background-color: rgba(153, 0, 0, 0.3);
}
input.PasswordRating.RatingVeryWeak {
  background-color: rgba(255, 0, 0, 0.3);
}
input.PasswordRating.RatingWeak {
  background-color: rgba(255, 102, 0, 0.3);
}
input.PasswordRating.RatingGood {
  background-color: rgba(255, 216, 0, 0.3);
}
input.PasswordRating.RatingStrong {
  background-color: rgba(180, 255, 7, 0.3);
}
input.PasswordRating.RatingVeryStrong {
  background-color: rgba(7, 255, 11, 0.3);
}
img {
  border: none;
}
hr {
  border: none;
  background: #99BBE8;
  height: 1px;
  margin: 10px 0px;
  padding: 0px;
}
table {
  empty-cells: show;
}
body {
  font-family: 'Roboto', Verdana, Arial, Helvetica, Sans-Serif;
  font-size: 1rem;
  background: #eee;
  color: #000;
  padding: 0;
  margin: 0;
}
body a:link,
body a:visited,
body a:hover {
  color: #4285f4;
}
body a:hover {
  text-decoration: none;
}
p.hint {
  color: #808080;
  font-size: .8em;
  font-style: italic;
}
body > header {
  display: block;
  color: #fff;
  background-color: #2e7d32;
  padding: .5rem 2rem;
}
body > header a.logout {
  color: inherit;
  float: right;
}
body > header img.menu {
  display: none;
}
body > aside {
  display: inline-block;
  vertical-align: top;
  width: calc(15rem - 0.0625rem);
  height: calc(100vh - 2.125rem - 2.125rem);
  border: 0;
  border-right: solid .0625rem #ccc;
  margin: 0;
  background-color: #eee;
}
body > aside > nav ul {
  list-style-type: none;
  list-style-position: inside;
  display: block;
  padding: 0;
  margin: 0;
}
body > aside > nav ul li {
  margin: 0;
  display: block;
}
body > aside > nav span {
  padding: 1rem;
  display: block;
  font-weight: bold;
  color: #1b5e20;
}
body > aside > nav a:link,
body > aside > nav a:visited,
body > aside > nav a:hover {
  padding: 1rem;
  display: block;
  color: #000;
}
body > aside > nav a:hover {
  text-decoration: none;
  color: #ffffff;
  background-color: #388e3c;
}
body > main {
  display: inline-block;
  vertical-align: top;
  width: calc(100vw - 15rem - 1.25rem);
  height: calc(100vh - 2.125rem - 2.125rem);
  overflow-y: scroll;
  background-color: #fff;
  margin: 0;
  padding: 0;
  border: 0;
}
body > main h1 {
  color: #2e7d32;
  font-size: 1.25rem;
  font-weight: normal;
  margin: 0 0 1rem;
}
body > main h2 {
  color: #2e7d32;
  font-size: 1.1rem;
  font-weight: normal;
  margin: 1rem 0;
}
body > main h3 {
  color: #2e7d32;
  font-size: 1rem;
  font-weight: normal;
  margin: .25rem 0 .5rem;
}
body > footer {
  text-align: right;
  font-size: 75%;
  height: calc(2.125rem - 0.75rem);
  padding: .25rem 2rem;
}
div.editor {
  padding: 1rem 2rem;
  width: calc(100% - 4rem);
}
div.editor span.error {
  display: inline-block;
  vertical-align: text-top;
  color: red;
}
div.editor div.column {
  display: inline-block;
  vertical-align: top;
  padding-right: 2rem;
}
div.editor div.column:last-child {
  padding-right: 0;
}
div.editor div.fieldset {
  position: relative;
  padding: 0 0 1.5rem  0;
}
div.editor div.fieldset h3 {
  margin: 0 0 .5rem;
}
div.editor div.inputrow,
div.editor div.inputsubrow {
  position: relative;
  padding: 1.5rem 0 0 0;
}
div.editor div.inputrow label,
div.editor div.inputsubrow label {
  position: absolute;
  font-size: 85%;
  color: #388e3c;
  pointer-events: auto;
  top: .25rem;
  transition: .15s all;
}
div.editor div.inputrow input:not([type="button"]),
div.editor div.inputsubrow input:not([type="button"]) {
  display: block;
  min-width: 25rem;
}
div.editor div.inputrow input[type="button"],
div.editor div.inputsubrow input[type="button"] {
  border: none;
}
div.editor div.inputrow input:not(:focus)[value=""] ~ label,
div.editor div.inputsubrow input:not(:focus)[value=""] ~ label {
  font-size: 100%;
  color: rgba(0, 0, 0, 0.38);
  pointer-events: none;
  top: 1.5rem;
}
div.editor div.inputsubrow {
  display: inline-block;
  margin-left: 1rem;
}
div.editor nav.SimpleSelection {
  display: inline-block;
  margin-left: 1rem;
}
div.editor div.inputrow.multi label {
  left: 0;
}
div.editor div.inputrow.multi input {
  display: inline;
}
div.editor div.optionrow {
  position: relative;
  padding: .25rem 0 1.25rem 0;
}
div.editor div.optionrow label ~ select,
div.editor div.optionrow label ~ input {
  margin-left: .5rem;
}
div.editor div.optionrow div.optiongroups {
  display: inline;
  margin-right: 1rem;
}
div.editor div.optionrow div.optiongroups label ~ select,
div.editor div.optionrow div.optiongroups label ~ input {
  margin-left: 0;
}
div.editor div.optionrow span.error {
  display: inline-block;
  vertical-align: text-top;
  color: red;
}
div.editor div.optionrow span.problem {
  display: inline-block;
  vertical-align: text-top;
  color: #e05916;
}
div.editor div.message {
  padding: 2rem;
}
div.editor div.navirow {
  display: block;
  margin-top: 1rem;
  padding: .5rem;
  text-align: right;
}
nav.SimpleMenu,
nav.SimpleSelection {
  display: inline-block;
  font-size: 0.875rem;
}
nav.SimpleMenu img.Icon,
nav.SimpleSelection img.Icon {
  cursor: pointer;
  vertical-align: middle;
}
nav.SimpleMenu ul.SimpleMenuItems,
nav.SimpleSelection ul.SimpleMenuItems,
nav.SimpleMenu ul.SimpleSelectionItems,
nav.SimpleSelection ul.SimpleSelectionItems {
  background: #ffffff;
  color: #000000;
  border: solid 0.0625rem #eeeeee;
  position: absolute;
  -webkit-box-shadow: 0.1875rem 0.1875rem 0.3125rem rgba(0, 0, 0, 0.3);
  -moz-box-shadow: 0.1875rem 0.1875rem 0.3125rem rgba(0, 0, 0, 0.3);
  box-shadow: 0.1875rem 0.1875rem 0.3125rem rgba(0, 0, 0, 0.3);
  text-align: left;
  list-style: none inside;
  padding: .5rem 0;
  margin: 0;
}
nav.SimpleMenu ul.SimpleMenuItems li,
nav.SimpleSelection ul.SimpleMenuItems li,
nav.SimpleMenu ul.SimpleSelectionItems li,
nav.SimpleSelection ul.SimpleSelectionItems li {
  white-space: nowrap;
  padding: 0 .125rem;
  vertical-align: middle;
}
nav.SimpleMenu ul.SimpleMenuItems li a,
nav.SimpleSelection ul.SimpleMenuItems li a,
nav.SimpleMenu ul.SimpleSelectionItems li a,
nav.SimpleSelection ul.SimpleSelectionItems li a,
nav.SimpleMenu ul.SimpleMenuItems li a.link,
nav.SimpleSelection ul.SimpleMenuItems li a.link,
nav.SimpleMenu ul.SimpleSelectionItems li a.link,
nav.SimpleSelection ul.SimpleSelectionItems li a.link {
  color: #000000;
  display: block;
  padding: .5rem 1rem;
  vertical-align: middle;
  text-decoration: none;
}
nav.SimpleMenu ul.SimpleMenuItems li a img,
nav.SimpleSelection ul.SimpleMenuItems li a img,
nav.SimpleMenu ul.SimpleSelectionItems li a img,
nav.SimpleSelection ul.SimpleSelectionItems li a img,
nav.SimpleMenu ul.SimpleMenuItems li a.link img,
nav.SimpleSelection ul.SimpleMenuItems li a.link img,
nav.SimpleMenu ul.SimpleSelectionItems li a.link img,
nav.SimpleSelection ul.SimpleSelectionItems li a.link img {
  vertical-align: middle;
}
nav.SimpleMenu ul.SimpleMenuItems li:hover,
nav.SimpleSelection ul.SimpleMenuItems li:hover,
nav.SimpleMenu ul.SimpleSelectionItems li:hover,
nav.SimpleSelection ul.SimpleSelectionItems li:hover {
  background-color: #eeeeee;
}
nav.SimpleMenu ul.SimpleMenuItems li.hr,
nav.SimpleSelection ul.SimpleMenuItems li.hr,
nav.SimpleMenu ul.SimpleSelectionItems li.hr,
nav.SimpleSelection ul.SimpleSelectionItems li.hr {
  height: 0.0625rem;
  background-color: #eeeeee;
  padding: none;
}
nav.SimpleMenu ul.SimpleMenuItems li.hr:first-of-type,
nav.SimpleSelection ul.SimpleMenuItems li.hr:first-of-type,
nav.SimpleMenu ul.SimpleSelectionItems li.hr:first-of-type,
nav.SimpleSelection ul.SimpleSelectionItems li.hr:first-of-type {
  display: none;
}
nav.SimpleSelection ul.SimpleSelectionItems li {
  padding: .5rem 1.125rem;
  cursor: pointer;
}
nav.SimpleSelection ul.SimpleSelectionItems li.selectable,
nav.SimpleSelection ul.SimpleSelectionItems li.viewable {
  padding-left: 2rem;
}
nav.SimpleSelection ul.SimpleSelectionItems li.viewable {
  cursor: initial;
}
nav.SimpleSelection ul.SimpleSelectionItems li.selectable.selected,
nav.SimpleSelection ul.SimpleSelectionItems li.viewable.selected {
  background-image: url('/styles/images/Selected.svg');
  background-size: 1rem 1rem;
  background-repeat: no-repeat;
  background-position: .625rem .5rem;
}
div.snackbarToaster {
  position: fixed;
  pointer-events: none;
  display: block;
  text-align: center;
  bottom: 0rem;
  transition: all 0.7s;
  height: auto;
  width: 100%;
}
div.snackbarToaster .toast {
  box-shadow: 0.0625rem 0.0625rem 0.1875rem rgba(0, 0, 0, 0.3);
  position: relative;
  text-align: left;
  width: 30rem;
  max-width: 100%;
  color: #ffffff;
  font-weight: normal;
  background: rgba(0, 0, 0, 0.8);
  margin: .125rem auto 0;
  padding: 0.875rem;
  border-radius: 0.125rem;
  margin-bottom: 0.5rem;
  bottom: -10rem;
}
div.snackbarToaster .toast-visible {
  bottom: 0;
  opacity: 1;
  transition: all .2s;
}
div.snackbarToaster .toast-hide {
  bottom: -10rem;
  opacity: 0;
  transition: all .5s;
}
table.gListe {
  border-collapse: collapse;
  font-size: 0.8125rem;
}
table.gListe thead th {
  color: #757575;
  background: #fff;
  font-weight: 500;
  font-size: 0.75rem;
  border-top: solid 0.0625rem #cccccc;
}
table.gListe thead th span {
  cursor: pointer;
}
table.gListe thead th input,
table.gListe thead th select {
  width: calc(100% - 1rem);
}
table.gListe thead th input[type="checkbox"] {
  width: initial;
}
table.gListe thead th input[type="button"],
table.gListe thead th input[type="submit"] {
  padding-top: 0.1875rem;
  padding-bottom: 0.1875rem;
}
table.gListe thead th img.order {
  width: .5rem;
  height: .5rem;
  margin-right: .5rem;
}
table.gListe thead tr:first-child th {
  border-top: none;
}
table.gListe tbody {
  background: #fff;
}
table.gListe tbody td {
  color: #212121;
  background-color: #fff;
  border-top: solid 0.0625rem #cccccc;
  font-weight: 400;
  font-size: 0.8125rem;
}
table.gListe tbody td input[type="text"],
table.gListe tbody td input[type="number"],
table.gListe tbody td input[type="date"],
table.gListe tbody td input[type="time"],
table.gListe tbody td input[type="datetime"],
table.gListe tbody td input[type="datetime-local"],
table.gListe tbody td select,
table.gListe tbody td textarea {
  width: calc(100% - 0.5rem);
}
table.gListe tbody td > table.info {
  border: solid 0.0625rem #000;
  border-collapse: collapse;
  border-spacing: 0;
}
table.gListe tbody td > table.info th,
table.gListe tbody td > table.info td {
  padding: 0.0625rem 0.125rem;
}
table.gListe tbody td > table.info th.betrag,
table.gListe tbody td > table.info td.betrag {
  text-align: right;
}
table.gListe tbody td > table.info tr:hover td {
  background: #fff;
}
table.gListe tbody tr.selected td {
  color: #212121;
  background-color: #f5f5f5;
}
table.gListe tbody tr.added td {
  color: #212121;
  background: #eeeeee;
}
table.gListe tbody tr:hover > td {
  color: #212121;
  background-color: #eee;
}
table.gListe tbody tr.added:hover > td {
  color: #212121;
  background-color: #e1e1e1;
}
table.gListe tbody tr td.nomatch {
  font-weight: bold;
  text-align: center;
  padding: 5rem;
}
table.gListe tbody tr.emptyrow td {
  font-weight: bold;
  text-align: center;
  padding: 1.25rem 5rem;
}
table.gListe tbody tr.error td {
  color: #e05916;
  background: none;
  padding-top: 1.5rem;
  padding-bottom: 1.5rem;
}
table.gListe tfoot {
  color: #000000;
  background-color: #fff;
}
table.gListe tfoot tr:first-child td,
table.gListe tfoot tr:first-child th {
  border-top: solid 0.0625rem #cccccc;
}
table.gListe tfoot td img,
table.gListe tfoot th img,
table.gListe tfoot td label,
table.gListe tfoot th label,
table.gListe tfoot td input,
table.gListe tfoot th input,
table.gListe tfoot td select,
table.gListe tfoot th select {
  vertical-align: text-top;
}
table.gListe img.action {
  display: inline-block;
  vertical-align: middle;
  width: 1rem;
  height: 1rem;
}
table.gListe .navigation,
table.gListe .navi {
  min-width: 2rem;
  text-align: center;
}
table.gListe .navigation select,
table.gListe .navi select,
table.gListe .navigation input,
table.gListe .navi input {
  width: calc(100% - 0.5rem);
}
table.gListe .navigation img.Icon,
table.gListe .navi img.Icon {
  cursor: pointer;
  width: 1rem;
  height: 1rem;
}
table.gListe th,
table.gListe td {
  padding: .5rem .5rem .75rem;
  text-align: left;
}
div.dashboard {
  padding: 1rem 0 0 1rem;
}
div.dashboard div.item {
  display: inline-block;
  padding: 1rem;
  margin: 0 1rem 1rem 0;
  text-align: center;
}
div.dashboard div.item img {
  width: 4rem;
  height: 4rem;
}
@keyframes aniActionButton {
  from {
    bottom: 3.75rem;
    right: -3.75rem;
    width: 0;
    height: 0;
  }
  to {
    bottom: 2rem;
    right: 2rem;
    width: 3.5rem;
    height: 3.5rem;
  }
}
@keyframes aniActionContent {
  0% {
    transform: rotate(45deg);
    opacity: 0;
  }
  50% {
    transform: rotate(45deg);
    opacity: 0;
  }
  60% {
    opacity: 1.0;
  }
  100% {
    transform: rotate(0deg);
  }
}
@keyframes aniActionButton2 {
  /*from { bottom: 8.75rem; right: -3.75rem; width: 0; height: 0; }
    to { bottom: 7rem; right: 2rem; width: 3.5rem; height: 3.5rem; }*/
  0% {
    bottom: 8.75rem;
    right: -3.75rem;
    width: 0;
    height: 0;
  }
  33% {
    bottom: 8.75rem;
    right: -3.75rem;
    width: 0;
    height: 0;
  }
  100% {
    bottom: 7rem;
    right: 2rem;
    width: 3.5rem;
    height: 3.5rem;
  }
}
@keyframes aniActionContent2 {
  0% {
    transform: rotate(45deg);
    opacity: 0;
  }
  80% {
    transform: rotate(45deg);
    opacity: 0;
  }
  90% {
    opacity: 1.0;
  }
  100% {
    transform: rotate(0deg);
  }
}
a.actionButton,
a.actionButton:link {
  box-shadow: 0.125rem 0.125rem 0.5rem rgba(51, 51, 51, 0.8);
  position: fixed;
  display: inline-block;
  width: 3.5rem;
  height: 3.5rem;
  text-align: center;
  vertical-align: middle;
  bottom: 2rem;
  right: 2rem;
  background: #ef6c00;
  color: #fff;
  border-radius: 50%;
  animation-name: aniActionButton;
  animation-duration: 0.6s;
}
a.actionButton .actionContent,
a.actionButton:link .actionContent {
  top: 1rem;
  /*padding: calc(25% - 0.4375rem);*/
  display: inline-block;
  position: relative;
  width: 1.5rem;
  height: 1.5rem;
  text-align: center;
  vertical-align: middle;
  animation-name: aniActionContent;
  animation-duration: 0.6s;
}
a.actionButton:active {
  background: #ffffff;
  color: #999999;
}
a.actionButton:active .actionContent {
  color: #999999;
}
a.actionButton.actionButton2,
a.actionButton.actionButton2:link {
  animation-name: aniActionButton2;
  animation-duration: calc(0.6s + (0.6s / 2));
  bottom: 7rem;
}
a.actionButton.actionButton2 .actionContent,
a.actionButton.actionButton2:link .actionContent {
  animation-name: aniActionContent2;
  animation-duration: calc(0.6s + (0.6s / 2));
}
div.TabCtrl {
  position: relative;
}
div.TabCtrl div.TabItem {
  vertical-align: top;
  display: inline-block;
  padding: 1.25rem 1.5rem calc(1.25rem - 0.1875rem);
  border-bottom: solid 0.1857rem #fff;
  color: #a7a7a7;
  font-weight: bold;
}
div.TabCtrl div.TabItem a:link,
div.TabCtrl div.TabItem a:active,
div.TabCtrl div.TabItem a:hover,
div.TabCtrl div.TabItem a:visited {
  color: #a7a7a7;
  text-decoration: none;
}
div.TabCtrl div.TabItem:hover,
div.TabCtrl div.TabItem.Active {
  border-bottom-color: #2e7d32;
  color: #2e7d32;
}
div.TabCtrl div.TabItem:hover a:link,
div.TabCtrl div.TabItem.Active a:link,
div.TabCtrl div.TabItem:hover a:active,
div.TabCtrl div.TabItem.Active a:active,
div.TabCtrl div.TabItem:hover a:hover,
div.TabCtrl div.TabItem.Active a:hover,
div.TabCtrl div.TabItem:hover a:visited,
div.TabCtrl div.TabItem.Active a:visited {
  color: #2e7d32;
}
/*
    Kleine Bildschirme.
*/
@media only screen and (max-width: 900px) {
  body > header img.menu {
    display: inline;
    cursor: pointer;
    width: 1rem;
    height: 1rem;
    margin-right: 1rem;
  }
  body > aside {
    position: absolute;
    margin-left: calc(15rem * -1);
    transition: margin-left 0.3s;
  }
  body > main {
    width: 100%;
    transition: width .3s;
  }
  body.sided {
    /*
        > main {
            width: calc(100vw - @sidebarWidth - 1.25rem);
            transition: width .3s;
        }
*/
  }
  body.sided > aside {
    box-shadow: 0 0 0.75rem rgba(51, 51, 51, 0.3);
    margin-left: 0;
    transition: margin-left 0.3s;
  }
  body.sided > main {
    width: 100%;
    transition: width .3s;
  }
}
