@font-face {
  font-family: 'Open Sans';
  font-weight: 400;
  font-style: normal;
  src: url('../fonts/Open-Sans-regular/Open-Sans-regular.eot');
  src: url('../fonts/Open-Sans-regular/Open-Sans-regular.eot?#iefix') format('embedded-opentype'), local('Open Sans'), local('Open-Sans-regular'), url('../fonts/Open-Sans-regular/Open-Sans-regular.woff2') format('woff2'), url('../fonts/Open-Sans-regular/Open-Sans-regular.woff') format('woff'), url('../fonts/Open-Sans-regular/Open-Sans-regular.ttf') format('truetype'), url('../fonts/Open-Sans-regular/Open-Sans-regular.svg#OpenSans') format('svg');
}
@font-face {
  font-family: 'Open Sans';
  font-weight: 600;
  font-style: normal;
  src: url('../fonts/Open-Sans-600/Open-Sans-600.eot');
  src: url('../fonts/Open-Sans-600/Open-Sans-600.eot?#iefix') format('embedded-opentype'), local('Open Sans Semibold'), local('Open-Sans-600'), url('../fonts/Open-Sans-600/Open-Sans-600.woff2') format('woff2'), url('../fonts/Open-Sans-600/Open-Sans-600.woff') format('woff'), url('../fonts/Open-Sans-600/Open-Sans-600.ttf') format('truetype'), url('../fonts/Open-Sans-600/Open-Sans-600.svg#OpenSans') format('svg');
}
@font-face {
  font-family: 'Open Sans';
  font-weight: 400;
  font-style: italic;
  src: url('../fonts/Open-Sans-italic/Open-Sans-italic.eot');
  src: url('../fonts/Open-Sans-italic/Open-Sans-italic.eot?#iefix') format('embedded-opentype'), local('Open Sans Italic'), local('Open-Sans-italic'), url('../fonts/Open-Sans-italic/Open-Sans-italic.woff2') format('woff2'), url('../fonts/Open-Sans-italic/Open-Sans-italic.woff') format('woff'), url('../fonts/Open-Sans-italic/Open-Sans-italic.ttf') format('truetype'), url('../fonts/Open-Sans-italic/Open-Sans-italic.svg#OpenSans') format('svg');
}
@font-face {
  font-family: 'Open Sans';
  font-weight: 600;
  font-style: italic;
  src: url('../fonts/Open-Sans-600italic/Open-Sans-600italic.eot');
  src: url('../fonts/Open-Sans-600italic/Open-Sans-600italic.eot?#iefix') format('embedded-opentype'), local('Open Sans Semibold Italic'), local('Open-Sans-600italic'), url('../fonts/Open-Sans-600italic/Open-Sans-600italic.woff2') format('woff2'), url('../fonts/Open-Sans-600italic/Open-Sans-600italic.woff') format('woff'), url('../fonts/Open-Sans-600italic/Open-Sans-600italic.ttf') format('truetype'), url('../fonts/Open-Sans-600italic/Open-Sans-600italic.svg#OpenSans') format('svg');
}
a.button {
  display: inline-block;
  font-weight: 600;
  color: black;
  text-decoration: none;
  border: 1px solid black;
  text-align: center;
  padding: 0.75rem 4rem;
}
/*! normalize.css v3.0.3 | MIT License | github.com/necolas/normalize.css */
html {
  font-family: sans-serif;
  -ms-text-size-adjust: 100%;
  -webkit-text-size-adjust: 100%;
}
body {
  margin: 0;
}
article,
aside,
details,
figcaption,
figure,
footer,
header,
hgroup,
main,
menu,
nav,
section,
summary {
  display: block;
}
audio,
canvas,
progress,
video {
  display: inline-block;
  vertical-align: baseline;
}
audio:not([controls]) {
  display: none;
  height: 0;
}
[hidden],
template {
  display: none;
}
a {
  background-color: transparent;
}
a:active,
a:hover {
  outline: 0;
}
abbr[title] {
  border-bottom: 1px dotted;
}
b,
strong {
  font-weight: bold;
}
dfn {
  font-style: italic;
}
h1 {
  font-size: 2em;
  margin: 0.67em 0;
}
mark {
  background: #ff0;
  color: #000;
}
small {
  font-size: 80%;
}
sub,
sup {
  font-size: 75%;
  line-height: 0;
  position: relative;
  vertical-align: baseline;
}
sup {
  top: -0.5em;
}
sub {
  bottom: -0.25em;
}
img {
  border: 0;
}
svg:not(:root) {
  overflow: hidden;
}
figure {
  margin: 1em 40px;
}
hr {
  box-sizing: content-box;
  height: 0;
}
pre {
  overflow: auto;
}
code,
kbd,
pre,
samp {
  font-family: monospace, monospace;
  font-size: 1em;
}
button,
input,
optgroup,
select,
textarea {
  color: inherit;
  font: inherit;
  margin: 0;
}
button {
  overflow: visible;
}
button,
select {
  text-transform: none;
}
button,
html input[type="button"],
input[type="reset"],
input[type="submit"] {
  -webkit-appearance: button;
  cursor: pointer;
}
button[disabled],
html input[disabled] {
  cursor: default;
}
button::-moz-focus-inner,
input::-moz-focus-inner {
  border: 0;
  padding: 0;
}
input {
  line-height: normal;
}
input[type="checkbox"],
input[type="radio"] {
  box-sizing: border-box;
  padding: 0;
}
input[type="number"]::-webkit-inner-spin-button,
input[type="number"]::-webkit-outer-spin-button {
  height: auto;
}
input[type="search"] {
  -webkit-appearance: textfield;
  box-sizing: content-box;
}
input[type="search"]::-webkit-search-cancel-button,
input[type="search"]::-webkit-search-decoration {
  -webkit-appearance: none;
}
fieldset {
  border: 1px solid #c0c0c0;
  margin: 0 2px;
  padding: 0.35em 0.625em 0.75em;
}
legend {
  border: 0;
  padding: 0;
}
textarea {
  overflow: auto;
}
optgroup {
  font-weight: bold;
}
table {
  border-collapse: collapse;
  border-spacing: 0;
}
td,
th {
  padding: 0;
}
/*! HTML5 Boilerplate v5.0 | MIT License | http://h5bp.com/ */
html {
  color: #222;
  font-size: 1em;
  line-height: 1.4;
}
::-moz-selection {
  background: #b3d4fc;
  text-shadow: none;
}
::selection {
  background: #b3d4fc;
  text-shadow: none;
}
hr {
  display: block;
  height: 1px;
  border: 0;
  border-top: 1px solid #ccc;
  margin: 1em 0;
  padding: 0;
}
audio,
canvas,
iframe,
img,
svg,
video {
  vertical-align: middle;
}
fieldset {
  border: 0;
  margin: 0;
  padding: 0;
}
textarea {
  resize: vertical;
}
.browserupgrade {
  margin: 0.2em 0;
  background: #ccc;
  color: #000;
  padding: 0.2em 0;
}
/* ===== Initializr Styles ==================================================
   Author: Jonathan Verrecchia - verekia.com/initializr/responsive-template
   ========================================================================== */
body {
  font: 16px/26px Helvetica, Helvetica Neue, Arial;
}
/*
.wrapper {
  width: 90%;
  margin: 0 5%;
}
*/
/* ==========================================================================
   Print styles from Boilerplate/initializr
   ========================================================================== */
@media print {
  *,
  *:before,
  *:after {
    background: transparent !important;
    color: #000 !important;
    box-shadow: none !important;
    text-shadow: none !important;
  }
  /*  a,
  a:visited {
    text-decoration: underline;
  }

  a[href]:after {
    content: " (" attr(href) ")";
  }*/
  abbr[title]:after {
    content: " (" attr(title) ")";
  }
  a[href^="#"]:after,
  a[href^="javascript:"]:after {
    content: "";
  }
  pre,
  blockquote {
    border: 1px solid #999;
    page-break-inside: avoid;
  }
  thead {
    display: table-header-group;
  }
  tr,
  img {
    page-break-inside: avoid;
  }
  img {
    max-width: 100% !important;
  }
  p,
  h2,
  h3 {
    orphans: 3;
    widows: 3;
  }
  h2,
  h3 {
    page-break-after: avoid;
  }
}
/* ========================================================================== */
html {
  color: #333;
  font-size: 16px;
  line-height: 1.4;
}
@media only screen and (max-width: 759px) {
  html {
    font-size: 15px;
  }
}
::-moz-selection {
  background: #b3d4fc;
  text-shadow: none;
}
::selection {
  background: #b3d4fc;
  text-shadow: none;
}
body {
  font-family: 'Open Sans', sans-serif;
  font-size: 1rem;
  line-height: 1.5em;
  font-weight: 400;
  color: #333;
}
h1,
h2,
h3,
h4,
h5,
h6,
.h1,
.h2,
.h3,
.h4,
.h5,
.h6 {
  font-family: 'Open Sans', sans-serif;
  font-weight: 600;
  line-height: 1.3em;
}
h1,
.h1 {
  font-size: 1.7rem;
  color: #333;
  margin-top: 1.5rem;
  margin-bottom: 1.5rem;
}
@media only screen and (max-width: 759px) {
  h1,
  .h1 {
    font-size: 1.7rem;
  }
}
h2,
.h2 {
  margin-top: 1.5rem;
  margin-bottom: 0.75rem;
}
h3,
.h3 {
  margin-top: 1.5rem;
  margin-bottom: 1.5rem / 2;
}
h4,
.h4,
h5,
.h5,
h6,
.h6 {
  margin-top: 0.75rem;
  margin-bottom: 0.75rem;
}
h2,
.h2 {
  font-size: 1.3rem;
}
@media only screen and (max-width: 759px) {
  h2,
  .h2 {
    font-size: 1.3rem;
  }
}
h3,
.h3 {
  font-size: 1.2rem;
}
@media only screen and (max-width: 759px) {
  h3,
  .h3 {
    font-size: 1.2rem;
  }
}
h4,
.h4 {
  font-size: 1rem;
}
@media only screen and (max-width: 759px) {
  h4,
  .h4 {
    font-size: 1rem;
  }
}
h5,
.h5 {
  font-size: 1rem;
}
@media only screen and (max-width: 759px) {
  h5,
  .h5 {
    font-size: 1rem;
  }
}
h6,
.h6 {
  font-size: 0.85rem;
}
@media only screen and (max-width: 759px) {
  h6,
  .h6 {
    font-size: 0.9rem;
  }
}
p {
  margin: 0 0 0.75rem;
}
ul,
ol {
  padding-left: 1.2em;
  margin-top: 0;
  margin-bottom: 0.375rem;
}
li {
  margin: 0 0 0.375rem;
}
a {
  color: #6aba75;
  text-decoration: underline;
}
a.restrained {
  color: inherit;
  text-decoration: none;
}
a.restrained:hover {
  text-decoration: underline;
}
blockquote {
  font-style: italic;
  font-weight: 600;
  font-size: 1.5rem;
  text-align: right;
  color: #6aba75;
  margin: 1em 0;
}
.main-container article header {
  margin-bottom: 4rem;
}
.small {
  font-size: 80%;
}
/* ========================
    basic page layout
======================== */
body {
  position: relative;
  background-color: #333840;
}
.block-transitions * {
  transition: none !important;
}
img {
  max-width: 100%;
}
.page-container {
  padding: 0;
  width: auto;
  margin: 0;
  position: relative;
  max-width: 1360px;
}
.main-container {
  background-color: #f9f9f9;
  padding: 12px;
  position: relative;
}
@media only screen and (min-width: 760px) {
  .page-container {
    margin: 0;
  }
  .main-container {
    padding: 0 60px;
  }
}
/* ========================
   header (with sticky)
======================== */
.header-container {
  padding: 0 12px;
  background: #6aba75;
  position: relative;
}
.header-container header {
  position: relative;
  height: 46px;
  transition: height 0.2s linear;
}
@media only screen and (min-width: 760px) {
  .header-container {
    padding: 0 60px;
  }
}
.top-logo {
  display: block;
  width: 134px;
  transition: width 0.2s linear, bottom 0.2s linear;
  color: inherit;
  text-decoration: none;
  position: absolute;
  bottom: 12px;
}
.top-logo img {
  display: block;
  width: 100%;
  height: auto;
}
@media only screen and (min-width: 1020px) {
  .top-logo {
    bottom: 10px;
  }
}
.sticky-substitute {
  display: none;
  height: 46px;
}
.sticky-header {
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  z-index: 10;
}
.sticky-header header {
  height: 32px;
}
.sticky-header .top-logo {
  width: 68px;
  bottom: 6px;
}
.sticky-display {
  display: block;
}
@media only screen and (min-width: 760px) {
  .sticky-header {
    left: 0;
    right: 0;
    max-width: 1240px;
  }
}
.wrapper {
  padding: 0;
  width: auto;
  margin-left: 40px;
  margin-right: 40px;
}
.wrapper:before,
.wrapper:after {
  content: " ";
  display: table;
}
.wrapper:after {
  clear: both;
}
.wrapper:before,
.wrapper:after {
  content: " ";
  display: table;
}
.wrapper:after {
  clear: both;
}
/* maximum content width */
@media only screen and (min-width: 1440px) {
  .wrapper {
    width: 1360px;
    margin-left: auto;
    margin-right: auto;
  }
}
@media print {
  .nav_popup {
    display: none;
  }
  .navigate {
    display: none;
  }
  .pagination {
    display: none;
  }
}
button.open-mobile-nav {
  display: block;
  width: 20px;
  height: 17px;
  position: absolute;
  bottom: 14px;
  transition: bottom 0.2s linear;
  right: 0;
  color: transparent;
  overflow: hidden;
  text-decoration: none;
  background-color: transparent;
  border: none;
  background-image: url('../assets/btn-menu.svg');
  background-repeat: no-repeat;
  background-position: center;
  background-size: 18px 14px;
}
.sticky-header button.open-mobile-nav {
  bottom: 7px;
}
.nav-substitute {
  height: 46px;
  transition: height 0s ease-in-out 0s;
}
body.is-open-nav_popup {
  position: relative;
  overflow: hidden;
}
body.is-open-nav_popup .nav-substitute {
  height: 0;
  transition: height 0.1s ease-in-out 0.3s;
}
#nav_popup {
  position: fixed;
  left: 0;
  right: 0;
  top: 0;
  bottom: 0;
  background-color: #6aba75;
  transition: bottom 0.3s ease-in-out;
  overflow-x: hidden;
  overflow-y: hidden;
  z-index: 90;
  -webkit-overflow-scrolling: touch;
  max-width: 1360px;
}
#nav_popup nav {
  display: block;
  position: relative;
  margin: 1rem 12px;
}
@media only screen and (min-width: 760px) {
  #nav_popup nav {
    margin: 2rem 60px;
  }
}
#nav_popup.closed {
  bottom: calc(100% - 46px);
}
#nav_popup.closed:has(.sticky-header) {
  bottom: calc(100% - 32px);
}
#nav_popup.closed nav {
  display: none;
}
nav.primary {
  text-align: right;
}
nav.primary a {
  color: inherit;
  text-decoration: none;
}
nav.primary ul {
  list-style: none;
  padding: 0;
}
nav.primary li {
  margin-bottom: 0.75rem;
}
nav.primary ul.level2 li {
  margin-bottom: 0;
}
nav.primary #logout-form {
  display: inline-block;
}
nav.primary #logout-form button {
  background: none;
  padding: 0;
  box-shadow: none;
  border: none;
}
nav.footer ul {
  list-style: none;
  padding: 0;
  font-size: 0.75rem;
  color: #999;
}
nav.footer li {
  display: inline-block;
  margin-right: 1rem;
}
nav.footer a {
  text-decoration: none;
  color: inherit;
}
.pagination {
  margin-top: 2rem;
  margin-bottom: 2rem;
  font-size: 1rem;
}
.pagination a {
  text-decoration: none;
}
.pagination .page-first {
  margin-right: 0.25em;
}
.pagination .page-previous {
  margin-right: 1em;
}
.pagination .page-next {
  margin-left: 1em;
}
.pagination .page-last {
  margin-left: 0.25em;
}
.pagination .page-additional,
.pagination .page-current {
  margin: 0 0.2em;
}
.pagination .page-current {
  font-weight: 600;
}
.pagination span {
  color: #999;
}
.pagination span.page-current {
  color: #333;
}
form {
  margin-top: 1rem;
}
.Actions {
  margin-bottom: 2rem;
}
label {
  font-size: 0.75rem;
  color: #999;
}
@media only screen and (max-width: 759px) {
  label {
    font-size: 0.9333rem;
  }
}
label a {
  font-weight: 600;
}
.required label:after,
label.required:after {
  content: ' *';
}
input[type=text],
input[type=number],
input[type=date],
input[type=time],
input[type=email],
input[type=password],
select,
textarea {
  border-radius: 0;
  background-color: white;
  border: 1px solid black;
  color: black;
  font-weight: 600;
  font-size: 0.75rem;
  margin: 0;
  max-width: 100%;
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  box-sizing: border-box;
}
@media only screen and (max-width: 759px) {
  input[type=text],
  input[type=number],
  input[type=date],
  input[type=time],
  input[type=email],
  input[type=password],
  select,
  textarea {
    font-size: 16px;
  }
}
input[type=submit],
a.form-action {
  font-size: 0.85rem;
  font-weight: 600;
  color: black;
  border: 1px solid black;
  padding: 0.2em 0.75em;
  background: white;
  border-radius: 2px;
  margin-top: 0.5em;
  margin-bottom: 0.5em;
  margin-right: 1em;
  text-decoration: none;
}
input[type=text],
input[type=date],
input[type=time],
input[type=number],
input[type=email],
input[type=password],
select {
  height: 2rem;
  padding: 0px 0.5rem;
  width: 100%;
}
textarea {
  padding: 0px 0.5rem;
  width: 100%;
}
legend {
  color: #666;
  font-size: 0.8889rem;
}
legend a {
  font-size: 0.75rem;
  font-weight: 600;
  color: inherit;
}
legend {
  margin-bottom: 1.5em;
}
.field {
  margin-bottom: 0.2rem;
}
.field ul {
  list-style-type: none;
  padding: 0;
  margin-bottom: 0;
}
.field li {
  display: inline-block;
  margin-right: 1em;
  margin-bottom: 0;
}
.field-hide,
.fieldset-hide {
  display: none;
}
.modelform {
  margin-bottom: 3rem;
}
.modelform fieldset {
  margin-bottom: 1em;
}
.form-cols {
  display: flex;
  flex-direction: row;
  flex-wrap: wrap;
  justify-content: flex-start;
  margin-right: -2rem;
}
.form-col,
.form-col {
  flex: 0 1 auto;
  width: calc(50% - 2rem);
  margin-left: 0;
  margin-right: 2rem;
}
.form-col-1 {
  flex: 0 1 auto;
  width: calc(70% - 2rem);
  margin-left: 0;
  margin-right: 2rem;
}
.form-col-2 {
  flex: 0 1 auto;
  width: calc(30% - 2rem);
  margin-left: 0;
  margin-right: 2rem;
}
.form_errors {
  list-style-type: none;
  padding: 0;
}
.message.required,
.message.validation,
.message.error,
.message.bad {
  color: #ff0000 !important;
  font-weight: 600;
}
.holder-required label,
.holder-validation label,
.holder-error label,
.holder-bad label,
.holder-required input,
.holder-validation input,
.holder-error input,
.holder-bad input {
  color: #ff0000 !important;
  font-weight: 600;
}
.errorlist {
  color: #ff0000 !important;
  font-weight: 600;
}
#ForgotPassword {
  font-size: 0.75rem;
  font-weight: 600;
}
#ForgotPassword a {
  color: inherit;
}
/* search forms */
.search-form .form-col-1 {
  flex: 0 1 auto;
  width: calc(80% - 2rem);
  margin-left: 0;
  margin-right: 2rem;
}
.search-form .form-col-2 {
  flex: 0 1 auto;
  width: calc(20% - 2rem);
  margin-left: 0;
  margin-right: 2rem;
}
.search-form .fieldset {
  display: flex;
  flex-direction: row;
  flex-wrap: wrap;
  justify-content: flex-start;
  margin-right: -2rem;
}
.search-form .fieldset .field {
  flex: 0 1 auto;
  margin-left: 0;
  margin-right: 2rem;
  width: calc(12em - 2rem);
}
#booking_search_form .field-acc,
#invoice_search_form .field-acc {
  flex: 0 1 auto;
  width: calc(100% - 2rem);
  margin-left: 0;
  margin-right: 2rem;
}
#booking_search_form .field-q,
#invoice_search_form .field-q {
  flex: 1 1 auto;
  width: 6rem;
}
#timeentry_search_form .field-cust,
#timeentry_search_form .field-cgr,
#timeentry_search_form .field-proj,
#timeentry_search_form .field-sproj {
  width: calc(25% - 2rem);
}
#timeentry_search_form .field-q {
  flex: 1 1 auto;
  width: 6rem;
}
#timeentry_search_form .field-tc {
  width: calc(6em - 2rem);
}
#timeentry_search_form .field-g {
  width: 100%;
}
#timeentry_search_form .field-format {
  width: calc(80% - 3rem);
  margin-right: 1rem;
}
#timeentry_search_form .field-pagesize {
  width: 20%;
  margin-right: 0;
}
#timeentry_search_form .field-pagesize label {
  color: transparent;
  white-space: nowrap;
  overflow-x: hidden;
}
.headforms {
  height: 0;
  overflow: hidden;
  background: #e5e5e5;
}
.headforms form {
  margin: 0.5rem;
}
.openheadforms .headforms {
  height: auto;
}
a.open-headforms {
  display: block;
  width: 18px;
  height: 18px;
  position: absolute;
  bottom: 12px;
  right: 2rem;
  color: transparent;
  overflow: hidden;
  text-decoration: none;
  transition: bottom 0.2s linear;
  background-image: url('../assets/icon-search.png');
  background-repeat: no-repeat;
  background-position: center;
  background-size: 18px 18px;
}
@media only screen and (-webkit-min-device-pixel-ratio: 1.5), only screen and (min--moz-device-pixel-ratio: 1.5), only screen and (-o-min-device-pixel-ratio: 3/2), only screen and (min-device-pixel-ratio: 1.5) {
  a.open-headforms {
    background-image: url('../assets/icon-search@2x.png');
  }
}
.sticky-header a.open-headforms {
  bottom: 5px;
}
a.open-invoiceexportform {
  background-image: url('../assets/icon-action.png');
}
@media only screen and (-webkit-min-device-pixel-ratio: 1.5), only screen and (min--moz-device-pixel-ratio: 1.5), only screen and (-o-min-device-pixel-ratio: 3/2), only screen and (min-device-pixel-ratio: 1.5) {
  a.open-invoiceexportform {
    background-image: url('../assets/icon-action@2x.png');
  }
}
.bulklist_actions {
  background-color: #e5e5e5;
  padding: 0.5rem;
  margin-top: 1rem;
  margin-bottom: 1rem;
  margin-right: 0;
  margin-left: -0.5rem;
}
.bulklist_actions > div {
  display: inline-block;
  vertical-align: top;
  margin-right: 1rem;
  margin-bottom: 0;
}
.bulklist_actions > div.fieldset-hide {
  display: none;
}
.bulklist_actions .bulklist_selector {
  margin-right: 0.5rem;
}
.bulklist_actions input[type=submit] {
  margin: 0;
  margin-top: 2px;
}
.bulklist_actions .field {
  display: inline-block;
  vertical-align: top;
  margin-bottom: 0;
}
.bulklist_actions label {
  display: inline-block;
  margin-right: 0.5em;
}
.bulklist_actions input,
.bulklist_actions select {
  display: inline-block;
  width: auto;
}
.bulklist_actions .bulkaction-field {
  margin-right: 1rem;
  vertical-align: middle;
}
.bulklist_actions .bulkaction-field > ul {
  display: inline-block;
  width: auto;
}
.bulklist_actions .bulkaction-field > ul li {
  margin: 0;
}
.bulklist_actions .errorlist {
  max-width: 100%;
  font-size: 0.75rem;
}
@media only screen and (max-width: 759px) {
  .bulklist_actions .errorlist {
    font-size: 0.9333rem;
  }
}
.bulklist_actions .errorlist li {
  display: block;
}
ul.data-list {
  list-style-type: none;
  padding: 0;
}
ul.data-list li {
  margin-bottom: 0.25em;
}
ul.data-list li a {
  color: inherit;
  text-decoration: none;
}
ul.data-list li a:hover {
  text-decoration: underline;
}
ul.data-list .amount_negative {
  color: #e00;
}
ul.data-list .bulklist_selector {
  position: relative;
  top: -0.1em;
  margin-right: 0.5em;
}
.invoice-open {
  color: #c00;
}
.timeentry-incomplete {
  color: #c00;
}
.timeentry_timesum {
  margin-top: 0.75rem;
  font-weight: 600;
}
.timeentry_timetotal {
  font-weight: 600;
  border-top: 2px solid #333;
  padding-top: 0.75rem;
  margin-top: 2.25rem;
}
dl.vat_sums dt {
  font-weight: 400;
}
dl.vat_sums dd {
  margin: 0 0 0.5em 0;
  font-weight: 600;
}
dl.vat_sums dd .additional {
  font-size: 0.75rem;
  font-weight: 400;
}
.query {
  margin-bottom: 1em;
}
.query_string {
  font-style: italic;
}
.action,
.icon {
  display: inline-block;
  width: 18px;
  height: 18px;
  background-size: 18px, 18px;
  background-position: center;
  background-repeat: no-repeat;
  overflow: hidden;
  color: transparent;
  position: relative;
  top: 4px;
}
.action a,
.icon a {
  color: inherit;
}
.action_delete {
  background-image: url('../assets/icon-delete.png');
}
@media only screen and (-webkit-min-device-pixel-ratio: 1.5), only screen and (min--moz-device-pixel-ratio: 1.5), only screen and (-o-min-device-pixel-ratio: 3/2), only screen and (min-device-pixel-ratio: 1.5) {
  .action_delete {
    background-image: url('../assets/icon-delete@2x.png');
  }
}
.action_copy {
  background-image: url('../assets/icon-duplicate.png');
}
@media only screen and (-webkit-min-device-pixel-ratio: 1.5), only screen and (min--moz-device-pixel-ratio: 1.5), only screen and (-o-min-device-pixel-ratio: 3/2), only screen and (min-device-pixel-ratio: 1.5) {
  .action_copy {
    background-image: url('../assets/icon-duplicate@2x.png');
  }
}
.action_clipboard {
  background-image: url('../assets/icon-clipboard.png');
}
@media only screen and (-webkit-min-device-pixel-ratio: 1.5), only screen and (min--moz-device-pixel-ratio: 1.5), only screen and (-o-min-device-pixel-ratio: 3/2), only screen and (min-device-pixel-ratio: 1.5) {
  .action_clipboard {
    background-image: url('../assets/icon-clipboard@2x.png');
  }
}
.icon_running_entry {
  background-image: url('../assets/icon-running-entry.png');
}
@media only screen and (-webkit-min-device-pixel-ratio: 1.5), only screen and (min--moz-device-pixel-ratio: 1.5), only screen and (-o-min-device-pixel-ratio: 3/2), only screen and (min-device-pixel-ratio: 1.5) {
  .icon_running_entry {
    background-image: url('../assets/icon-running-entry@2x.png');
  }
}
@media print {
  .report-details h3 {
    font-size: 1rem;
  }
  .report-details ul {
    font-size: 0.75rem;
    line-height: 1.5em;
  }
  .action {
    display: none;
  }
  .search-form,
  .modelform,
  .bulklist_actions,
  .bulklist_selector {
    display: none;
  }
}
.report-list tr {
  text-align: left;
  vertical-align: top;
}
.report-list td {
  padding: 0 0.5em;
}
.report-list td:first-child {
  padding-left: 0;
}
.report-list td:last-child {
  padding-right: 0;
}
.report-list .report-subsum {
  border-top: 1px solid black;
}
.report-list .report-subsum td,
.report-list .report-subsum th {
  padding-bottom: 0.75em;
}
.report-list .report-sum {
  border-top: 1px solid black;
}
.timereport .main-container article header {
  margin-bottom: 1rem;
}
.timereport h2 {
  margin-bottom: 2rem;
}
.timetracking-report th {
  padding-bottom: 0.75em;
  font-weight: 600;
}
.timetracking-report .timeentry_comment {
  font-weight: 400;
  font-style: italic;
}
.timetracking-report .timeentry_description {
  font-style: italic;
  font-size: 80%;
}
@media print {
  .main-container {
    padding: 0;
  }
  .timereport {
    font-size: 0.8rem;
  }
  .timereport h1 {
    font-size: 1.3rem;
  }
  .timereport h2 {
    font-size: 1.1rem;
  }
  .report-list a {
    text-decoration: none;
  }
  .report-list-section:not(:first-of-type) {
    page-break-before: always;
  }
  .report-list-section h1 {
    margin-top: 0;
  }
}
#create_booking_form .booking-amounts .fieldset,
#create_booking_form .booking-dates .fieldset {
  display: flex;
  flex-direction: row;
  flex-wrap: wrap;
  justify-content: flex-start;
  margin-right: -2rem;
}
#create_booking_form .booking-amounts .fieldset .field,
#create_booking_form .booking-dates .fieldset .field {
  flex: 0 1 auto;
  margin-left: 0;
  margin-right: 2rem;
}
#create_booking_form .booking-amounts .fieldset .field-amount_net,
#create_booking_form .booking-dates .fieldset .field-amount_net,
#create_booking_form .booking-amounts .fieldset .field-amount_tax,
#create_booking_form .booking-dates .fieldset .field-amount_tax {
  width: calc(12em - 2rem);
}
#create_booking_form .booking-amounts .fieldset .field-pay_date,
#create_booking_form .booking-dates .fieldset .field-pay_date,
#create_booking_form .booking-amounts .fieldset .field-invoice_date,
#create_booking_form .booking-dates .fieldset .field-invoice_date {
  width: calc(12em - 2rem);
}
#create_invoice_form .invoice-data .fieldset {
  display: flex;
  flex-direction: row;
  flex-wrap: wrap;
  justify-content: flex-start;
  margin-right: -2rem;
}
#create_invoice_form .invoice-data .fieldset .field {
  flex: 0 1 auto;
  margin-left: 0;
  margin-right: 2rem;
}
#create_invoice_form .invoice-data .fieldset .field-invoice_number,
#create_invoice_form .invoice-data .fieldset .field-invoice_date,
#create_invoice_form .invoice-data .fieldset .field-performance_period,
#create_invoice_form .invoice-data .fieldset .field-pay_date {
  width: calc(12em - 2rem);
}
#create_invoice_form .invoice-amounts {
  font-size: 0.85rem;
  margin-bottom: 2rem;
}
#create_invoice_form .invoice-amounts .label {
  font-size: 0.75rem;
  color: #999;
}
@media only screen and (max-width: 759px) {
  #create_invoice_form .invoice-amounts .label {
    font-size: 0.9333rem;
  }
}
#create_invoice_form .invoice-amounts .value {
  font-weight: 600;
  margin-right: 1rem;
}
#create_invoice_form .inline-form {
  padding: 0.5rem 0 1rem 2rem;
  border-top: 2px solid black;
}
#create_invoice_form .inline-form .field {
  flex: 0 1 auto;
  margin-left: 0;
  margin-right: 2rem;
}
#create_invoice_form .inline-form .fieldset {
  display: flex;
  flex-direction: row;
  flex-wrap: wrap;
  justify-content: flex-start;
  margin-right: -2rem;
}
#create_invoice_form .inline-form .fieldset .field {
  flex: 0 1 auto;
  margin-left: 0;
  margin-right: 2rem;
}
#create_invoice_form .inline-form .fieldset .field-title {
  width: calc(24em - 2rem);
}
#create_invoice_form .inline-form .fieldset .field-description {
  width: calc(24em - 2rem);
}
#create_invoice_form .inline-form .fieldset .field-quantity,
#create_invoice_form .inline-form .fieldset .field-quantity_type,
#create_invoice_form .inline-form .fieldset .field-base_price,
#create_invoice_form .inline-form .fieldset .field-tax_rate {
  width: calc(12em - 2rem);
}
#create_timeentry_form .field {
  width: 100%;
}
#create_timeentry_form .timeentry-time .fieldset,
#create_timeentry_form .timeentry-additional .fieldset {
  display: flex;
  flex-direction: row;
  flex-wrap: wrap;
  justify-content: flex-start;
  margin-right: -1rem;
}
#create_timeentry_form .timeentry-time .fieldset .field,
#create_timeentry_form .timeentry-additional .fieldset .field {
  flex: 0 1 auto;
  margin-left: 0;
  margin-right: 1rem;
}
#create_timeentry_form .timeentry-time .fieldset .field {
  width: calc(50% - 1rem);
}
#create_timeentry_form .timeentry-additional .fieldset .field-charge {
  width: calc(25% - 1rem);
}
#create_timeentry_form .timeentry-additional .fieldset .field-invoice_number {
  width: calc(75% - 1rem);
}
#create_timeentry_form .field-charge input {
  margin-right: 100%;
}
#create_timeentry_form .timeentry-data .fieldset {
  display: flex;
  flex-direction: row;
  flex-wrap: wrap;
  justify-content: flex-start;
  margin-right: -2rem;
}
#create_timeentry_form .timeentry-data .field {
  flex: 0 1 auto;
  margin-left: 0;
  margin-right: 2rem;
}
#create_timeentry_form .field-project,
#create_timeentry_form .field-subproject {
  width: calc(50% - 2rem);
}
input.stopwatch {
  width: 3.5rem;
  height: 2rem;
  border-radius: 0.5rem;
  border: 2px solid;
  text-align: center;
  padding: 0;
  color: white;
}
input.stopwatch_start {
  background-color: #27ba22;
  border-color: #145d11;
}
input.stopwatch_stop {
  background-color: #d9292f;
  border-color: #6e1317;
}
#stopwatch_timeentry_form {
  background: #cee8d1;
  padding: 1em;
}
#stopwatch_timeentry_form.timeentry-overlength {
  background: #ff8080;
}
#stopwatch_timeentry_form .stopwatch-summary {
  font-weight: 600;
  width: calc(25% - 3.833333333333333rem);
}
#stopwatch_timeentry_form .stopwatch-summary p {
  margin-bottom: 0.25em;
}
#stopwatch_timeentry_form .stopwatch-project {
  font-size: 0.75rem;
}
#stopwatch_timeentry_form .stopwatch-duration {
  opacity: 1;
  animation: blink-animation 2s infinite;
  animation-timing-function: ease-out;
}
@keyframes blink-animation {
  0% {
    opacity: 1;
  }
  50% {
    opacity: 0.3;
  }
  100% {
    opacity: 1;
  }
}
#stopwatch_timeentry_form .fieldset {
  display: flex;
  flex-direction: row;
  flex-wrap: wrap;
  justify-content: flex-start;
  margin-right: -2rem;
}
#stopwatch_timeentry_form .fieldset > * {
  flex: 0 1 auto;
  margin-left: 0;
  margin-right: 2rem;
}
#stopwatch_timeentry_form .field-description {
  width: calc(45% - 3.833333333333333rem);
}
#stopwatch_timeentry_form .field-starttime,
#stopwatch_timeentry_form .field-endtime {
  width: calc(15% - 3.833333333333333rem);
}
#stopwatch_timeentry_form #id_starttime_0,
#stopwatch_timeentry_form #id_endtime_0 {
  display: none;
}
.clearfix:before,
.clearfix:after {
  content: " ";
  display: table;
}
.clearfix:after {
  clear: both;
}
.clearfloat {
  clear: both;
}
.pull-right {
  float: right !important;
}
.pull-left {
  float: left !important;
}
.hidden {
  display: none !important;
}
.show {
  display: block !important;
}
.invisible {
  visibility: hidden;
}
.check-min-tablet-portrait {
  width: 1px;
  height: 1px;
  display: none;
}
@media only screen and (min-width: 760px) {
  .check-min-tablet-portrait {
    display: block;
  }
}
.check-min-tablet-landscape {
  width: 1px;
  height: 1px;
  display: none;
}
@media only screen and (min-width: 1020px) {
  .check-min-tablet-landscape {
    display: block;
  }
}
/*# sourceMappingURL=main.css.map */