/* General Page Stuff */

* {
    box-sizing: border-box;
    margin: 0;
    padding: 0;
}

html, body {
    color: #333;
    font-size: 14px;
    margin: 0;
    padding: 0;
    font-family: 'Helvetica Neue', Helvetica, Arial, sans-serif;
}

html {
    overflow-y: scroll;
}

body {
    text-align: left;
}

nav {
    position: relative;
    display: inline-block;
    text-align: center;
    font-size: 1em;
    white-space: nowrap;
    line-height: 1em;
    margin-top: 1em;
}

nav a {
    min-width: 1.25em;
    display: inline-block;
    padding: 0;
    text-decoration: none;
    vertical-align: top;
    padding: 0.4em;
}

nav a img {
    display: inline-block;
    vertical-align: top;
    width: 1em;
    margin: 0;
}

nav a span {
    font-size: 2.5em;
    line-height: 13px;
    vertical-align: middle;
    position: relative;
    top: -1px;
}

nav:empty {
    display: none;
}

body.wsidebar .wrapper {
    padding-left: 280px;
}

.applink {
    padding: 0;
    text-decoration: none;
    text-align: center;
}

.applink > div {
    background-repeat: no-repeat;
    background-position: center center;
    height: inherit;
    font-size: 2em;
}

.icon {
    display: inline-block;
    width: 1.2em;
    height: 1.2em;
    line-height: 1.2em;
    font-style: normal;
    vertical-align: top;
    position: relative;
    background-size: contain;
    background-position: center center;
    background-repeat: no-repeat;
    font-weight: bold;
}

.icon.icon--small {
    width: 0.8em;
    height: 0.8em;
    line-height: 0.8em;
}

.icon.icon--big {
    width: 2em;
    height: 2em;
    line-height: 2em;
}

.icon.icon--green {
    filter: hue-rotate(0.33turn) brightness(0.8);
}

.icon.icon--red {
    filter: brightness(0.8);
}

.icon.icon--muted, .icon.disabled, .disabled .icon {
    opacity: 50%;
}

td > .icon, td > a > .icon {
    position: relative;
    top: 0.2em;
}

.inline-modal nav {
    margin: 0;
    padding: 0;
}

/* general input styles */

input, select, button, textarea, .textbox, .button {
    display: inline-block;
    appearance: none;
    -moz-appearance: none;
    box-sizing: border-box;
    border-radius: 3px;
    font-size: 1em;
    text-decoration: none;
    padding-left: 0.5em;
    padding-right: 0.5em;
}

input, select, button, textarea, .textbox, .button, .form-row__label {
    padding-top: 0.2em;
    padding-bottom: 0.2em;
    line-height: 1.5em;
}

.form-row__label {
    border: 1px solid transparent;
}

input[type="checkbox"] {
    display: inline-block;
    box-sizing: content-box;
    padding: 0;
    width: 1.3em;
    height: 1.3em;
    background-size: contain;
    filter: grayscale(100%);
    margin: 0.3em;
}

.easy-table input[type="checkbox"] {
    display: block;
}

.button {
    cursor: pointer;
}

.button.button--main {
    border-style: solid;
    border-width: 1px;
}

.button.disabled {
    color: #777;
    cursor: default;
}

.edit-form p {
    margin: 0 0 0.5em;
}

.assoc {
    text-align: left;
    display: inline-block;
    padding: 0;
    margin-bottom: 1em;
}

.assoc__overview {
    padding: 0.5em;
    cursor: pointer;
}

.assoc__overview h2 {
    margin: 0;
}


.assoc__details {
    margin-bottom: 1em;
    padding: 0 1em;
}

.assoc:not(.assoc--open) .assoc__details {
    display: none;
}

.assoc h2 {
    font-size: 1em;
}

.new-assoc {
    cursor: pointer;
    padding: 0.1em 0.5em;
}

/* General Tables */

.easy-table {
    border-collapse: collapse;
    box-sizing: border-box;
    margin-bottom: 1em;
}

.easy-table td, .easy-table th {
    vertical-align: top;
    text-align: left;
    padding: 0.35em;
}

.easy-table th:first-child, .easy-table td:first-child, .easy-table td.first-child {
    padding-left: 1em;
}

.easy-table th:last-child, .easy-table td:last-child {
    padding-right: 1em;
}

.easy-table th.right, .easy-table td.right {
    text-align: right;
}

/*  Easy-to-read Tables */

.easy-subtables thead {
    border: none;
}

.easy-subtables thead th {
    line-height: 3em;
    padding: 0;
}

.easy-table tr td,
.easy-table tr th {
    line-height: 1.8em;
    vertical-align: middle;
}

.easy-table td {
    cursor: default;
    white-space: nowrap;
}

/* Modal dialogs */

.modal {
    position: fixed;
    top: 0;
    bottom: 0;
    left: 0;
    right: 0;
    z-index: 10001;
    box-shadow: 0 0 10px rgba(0, 0, 0, 0.3);
    padding: 2em;
    overflow-y: auto;
    overflow-x: hidden;
}

.modal:not(.modal--open) {
    display: none;
}

.inline-modal {
    position: absolute;
    top: 0.5em;
    z-index: 10001;
    box-shadow: 0 0 10px rgba(0, 0, 0, 0.3);
    overflow-y: auto;
    overflow-x: hidden;
    padding: 0;
}

.inline-modal.inline-modal--left {
    left: 0.5em;
}

.inline-modal.inline-modal--right {
    right: 0.5em;
}

.inline-modal:not(.inline-modal--open) {
    display: none;
}

.modal-breakout {
    position: fixed;
    top: 0;
    bottom: 0;
    left: 0;
    right: 0;
    z-index: 10000;
}

.drnav {
    display: inline-block;
}

.nowrap {
    white-space: nowrap;
}

/* Textarea not ridiculous size */
textarea {
    box-sizing: border-box;
    width: 100%;
}

/* Clearfix trick */

.clearfix:after { visibility: hidden; display: block; font-size: 0; content: " "; clear: both; height: 0; }
.clearfix { display: inline-block; }
/* start commented backslash hack \*/
* html .clearfix { height: 1%; }
* .clearfix { display: block; }
*/* close commented backslash hack */


/* Flash Messages */

.flash {
    margin: 1em 0;
}

.flash:empty {
    display: none;
}

.flash .flash__message {
    display: inline-block;
    padding: 0.5em;
    margin-bottom: 0.4em;
}

.flash .flash__message.flash__message:not(:last-child) {
    margin-right: 1em;
}

/* Calendar view styles */

.calendar-month {
    margin-left: auto;
    margin-right: auto;
    border-collapse: collapse;
    border-bottom: 1px solid #ccc;
}

.calendar-month .eventcell {
    vertical-align: top;
    overflow-y: scroll;
    overflow-x: hidden;
    padding: 0.5em 0;
    min-height: 3em;
}

.calendar-month .cell {
    display: inline-block;
    width: 14.28%;
    box-sizing: border-box;
}

.calendar-month {
    line-height: 1.5em;
}

.calendar-month .dowcell {
    color: #888;
    font-weight: normal;
    line-height: 3em;
}

.calendar-month .dowcell, .calendar-month .datecell {
    text-align: center;
}

.calendar-month .eventcell {
    text-align: left;
}

.calendar-month .datecell {
    line-height: 1.5em;
    height: 1.5em;
    color: #666;
    text-align: center;
}

.calendar-month .datecell a {
    color: #666;
    text-decoration: none;
}

.calendar-month .daterow {
    background-color: #ccc;
}

.calendar-month .eventrow {
    background: url(/build/img/calendar-eventrow-bg.png) repeat-y center center;
    background-size: 100%;
}

.calendar-month .eventcell a {
    text-decoration: none;
}

.calendar-month .col {
    display: block;
    color: #333;
    padding: 0 0.25em;
    margin: 0 0.2em 0;
    white-space: nowrap;
    vertical-align: top;
}

.calendar-month .col img {
    display: inline-block;
    vertical-align: middle;
}

.event, .event a {
    color: #333;
}

.calendar-month-title {
    display: inline-block;
    font-size: 30px;
    text-align: center;
    line-height: 1.5em;
    color: #444;
    margin-bottom: 1em;
    padding: 0 1em;
}

.calendar-month__icon {
    display: inline-block;
    height: 1em;
    width: 1em;
    vertical-align: top;
}

.weekday {
    text-align: left;
    display: inline-block;
    background-color: #eee;
    margin-bottom: 1em;
    padding: 2em;
    min-width: 394px;
    box-sizing: border-box;
}

/* Timeline styles */

.facade {
    color: #777;
}

.form-row__value {
    box-sizing: border-box;
    text-align: left;
}

.sub_manufacture {
    display: inline-block;
    background-color: rgba(0, 0, 0, 0.1);
    padding: 1em;
    margin: 1em;
}

.timeline-summary {
    display: inline-block;
    background-color: #ddd;
    padding: 1em;
    font-family: monospace;
}

.timeline-summary span + span {
    margin-left: 3em;
}

.timeline-summary + .timeline-summary {
    margin-top: 1.6em;
}

.regular-form {
    background-color: #eee;
    max-width: 40em;
    margin: 0 auto 2em;
    padding: 1px 0 1em;
}

.form-row {
    position: relative;
    margin-top: 0.3em;
}

.form-row .form-row__label {
    float: left;
    width: 25%;
    box-sizing: border-box;
    text-align: right;
    line-height: 1.5em;
}

.form-row .form-row__value {
    position: relative;
    float: left;
    width: 75%;
    box-sizing: border-box;
    padding-left: 2em;
    padding-right: 4em;
}

.form--even .form-row__label, .form--even .form-row__value {
    width: 50%;
}

.form-row__value > input[type="checkbox"].includeme:first-child {
    position: absolute;
    left: 1em;
    cursor: pointer;
}

.form-row__value input[type="text"], .form-row__value .textbox {
    width: 100%;
}

.noedit input, .noedit select, .noedit textarea {
    appearance: none !important;
    border: none !important;
    background-color: transparent;
}

.noedit input::-webkit-outer-spin-button, .noedit input::-webkit-inner-spin-button {
    display: none;
}

.noedit input[type="number"] {
    -moz-appearance:textfield !important;
    appearance:textfield !important;
}

.noedit .noedit-invisible {
    display: none;
}

.fromtoday {
    border-left: none;
}

a.incog {
    text-decoration: none;
    color: inherit;
}

.trigger-edit-line, .trigger-edit-record,
.trigger-unlink-record, .trigger-unlink-line,
.trigger-delete-record, .trigger-delete-line {
    cursor: pointer;
}

.printpreview {
    position: relative;
    max-width: 42ch;
    text-align: left;
    border: 1px solid #333;
    margin: 0;
    padding: 3em 1em;
    display: inline-block;
}

.print-line {
    position: absolute;
    top: 1em;
    right: 1em;
}

input[type="radio"] + label {
    padding: 0 0.3em;
    cursor: pointer;
    user-select: none; -moz-user-select: none; -khtml-user-select: none; -webkit-user-select: none; -o-user-select: none;
}

input.likep {
    border: none;
    background-color: inherit;
}

input[type="number"]::-webkit-outer-spin-button,
input[type="number"]::-webkit-inner-spin-button {
    display: none !important;
    -webkit-appearance: none !important;
    appearance: none !important;
    margin: 0;
}

.sidebar-backlink, .navbar-backlink {
    text-decoration: none;
    color: #333;
}

.sidebar-backlink:before, .navbar-backlink:before {
    content: "< ";
}

.navbar-backlink {
    position: absolute;
    line-height: 2.25em;
    top: 1.125em;
    left: 0.5em;
    text-decoration: none;
    color: #333;
}

.filter {
    display: block;
    padding: 0.1em 0.3em;
    margin: 0.5em 0;
    cursor: pointer;
}

.filter .filter__close-icon {
    float: right;
}

.filter h5, .filter span {
    display: inline-block;
    vertical-align: top;
    margin: 0;
}

.filter--add {
    background: transparent;
}

.file-field-controls__change .button:not(:first-child) {
    margin-left: 1em;
}

/*.easy-table tr, .easy-table td {
    -webkit-user-select: none;
    -ms-user-select: none;
    user-select: none;
}*/

.easy-table tr.selected td .icon {
    color: white;
    -webkit-filter: grayscale(100%) brightness(2);
    filter: grayscale(100%) brightness(2);
}

.easy-table th.right, .easy-table td.right {
    text-align: right;
}

.inline-rel {
    position: relative;
    display: inline;
}

.navbar {
    padding: 0.5em;
    top: 0;
    position: fixed;
    margin: 0;
    z-index: 1000;
    box-sizing: border-box;
}

.nav-dropdown--spacey {
    margin: 1em;
}

.inline-dropdown {
    text-align: left;
}

.inline-dropdown a {
    display: block;
    padding: 0.1em 0.4em;
}

.nav-dropdown a, .nav-dropdown h4, .nav-dropdown .nav-dropdown__item {
    white-space: nowrap;
    text-decoration: none;
    padding: 0.2em 1em;
}

.nav-dropdown--always > a, .nav-dropdown--always .nav-dropdown__item {
    display: block;
    padding: 0.2em 1em;
}

.navbar a.disabled {
    cursor: default;
}


#switcher {
    font-size: 150%;
    line-height: 200%;
    text-align: left;
}

@media screen {
    nav a span, .event img {
        filter: grayscale(100%);
        -webkit-filter: grayscale(100%);
    }

    .facade .icon {
        filter: grayscale(100%) brightness(0.97);
        -webkit-filter: grayscale(100%) brightness(0.97);
    }
}

@media print {
    /* Hide Nav */

    nav { display: none }

    /* Make it look like a document not a form */

    input, select, textarea {
        appearance: none !important;
        border: none !important;
        background-color: transparent;
    }

    input::-webkit-outer-spin-button, input::-webkit-inner-spin-button {
        display: none;
    }

    input[type="number"] {
        -moz-appearance:textfield;
    }

    .printhide {
        display: none;
    }

    .calendar-month {
        border-collapse: collapse;
        width: 100%;
    }

    .calendar-month .cell {
        border-top: 3px solid #999;
        border-left: 3px solid #999;
    }

    .calendar-month .cell:last-child {
        border-right: 3px solid #999;
    }

    .calendar-month .row:last-child .cell {
        border-bottom: 3px solid #999;
    }

    .calendar-month .eventcell {
        padding: 1em;
    }

    td, th {
        vertical-align: top;
        text-align: left;
        padding: 0.05em 1em;
    }
}

@media screen and (max-width: 449px) {
    .calendar-month thead {
        border-top: none;
    }
}

@media screen and (min-width: 800px) {
    .modal {
        left: 2em;
        right: 2em;
        top: 2em;
        bottom: 2em;
    }

    .easy-table {
        min-width: 400px;
    }

    .easy-table td.nsacrifice, .easy-table th.nsacrifice {
        display: none;
    }

    .calendar-month {
        width: 100%;
    }
}

@media screen and (max-width: 799px) {
    .only-wide {
        display: none;
    }

    .easy-table, .easy-subtables, .calendar-month {
        width: 100%;
    }

    .easy-table td.sacrifice, .easy-table th.sacrifice {
        display: none;
    }

    .easy-subtables thead th {
        padding-left: 0.5em;
        padding-right: 0.5em;
    }

    .calendar-month .eventcell img {
        display: none;
    }

    .calendar-month .eventcell {
        font-size: 0.7em;
    }
}

@media screen and (max-width: 1199px) {
    .navset {
        display: inline-block;
        cursor: pointer;
        position: relative;
    }

    .only-super1200 {
        display: none;
    }

    .navset:not(.navset--nobar):not(:first-child):before {
        display: inline-block;
        width: 0;
        height: 1em;
        margin-left: 0.5em;
        margin-right: 0.5em;
        content: "";
    }

    .navbar-placeholder {
        margin-bottom: 1em;
    }

    .navbar {
        width: 100%;
    }

    .nav-dropdown > a, .nav-dropdown .nav-dropdown__item {
        display: block;
    }

    .nav-dropdown > a, .nav-dropdown > i {
        padding: 0.2em 1em;
    }

    .nav-modal nav {
        margin: 0;
        padding: 0;
    }

    .nav-modal {
        position: absolute;
        top: 0.5em;
        z-index: 10001;
        box-shadow: 0 0 10px rgba(0, 0, 0, 0.3);
        overflow-y: auto;
        overflow-x: hidden;
        padding: 0;
        left: 0.5em;
    }

    .nav-modal:not(.nav-modal--open) {
        display: none;
    }

    .nav-title {
        display: none;
    }

    body {
        text-align: center;
    }

    table, .wrapper {
        margin: 0 auto;
    }
}

@media screen and (min-width: 1200px) {
    .only-sub1200 {
        display: none;
    }

    .navbar-placeholder {
        display: none;
    }

    .navbar {
        font-size: 1.1em;
        bottom: 0;
        left: 0;
        text-align: left;
        width: 250px;
        overflow-x: visible;
    }

    .nav-dropdown a {
        padding: 0.2em;
    }

    .navbar .listable a, .navbar .listable h4 {
        display: block;
        text-decoration: none;
        padding: 0.3em;
    }

    .navbar .listable h4:not(:first-child) {
        margin-top: 1em;
    }

    .navbar .listable a.current {
        display: block;
        text-decoration: none;
        color: white;
    }

    .nav-title {
        margin-bottom: 0.4em;
    }

    .nav-title, .listable a {
        padding: 0.2em;
    }

    .nav-title {
        font-family: monospace;
    }

    .navbar .navbr {
        display: none;
    }

    .navset {
        margin-bottom: 1.5em;
    }

    .navbar .inline-modal.inline-modal--right {
        left: 0.5em;
    }

    .sidebar-backlink-container {
        text-align: right;
    }

    .sidebar-backlink {
        display: inline-block;
        padding: 0.4em 1em;
        border-radius: 5px;
    }

    .switcher-trigger {
        display: block;
        margin-top: -0.5em;
        margin-left: -0.5em;
        margin-right: -0.5em;
        margin-bottom: 1em;
        padding: 0.5em;
        cursor: pointer;
    }
}

.params {
    position: relative;
}

.param-label, .param-input {
    box-sizing: border-box;
}

.param-label {
    margin: 1em 0 0;
}

.bash {
    text-align: left;
    margin-bottom: 1em;
    display: inline-block;
    padding: 1em;
}

.inline-modal-trigger {
    cursor: pointer;
}

@media (prefers-color-scheme: light) {
    html, body {
        background-color: white;
        color: #333;
    }

    html a, body a {
        color: #333;
    }

    h1, h2, h3, h4, h5, h6 {
        color: #444;
    }

    input, textarea {
        background-color: white;
        color: #333;
    }

    nav a {
        background-color: #ccc;
        color: #333;
    }

    .inline-modal nav a {
        background: white;
    }

    input, select, button, textarea, .textbox, .button {
        border: 1px solid #ccc;
        background-color: white;
        color: #333;
    }

    .assoc {
        background: #eee;
    }

    .assoc:not(.assoc--open) .assoc__overview {
        background-color: white;
    }

    .easy-table thead tr {
        background-color: #ddd;
    }

    .easy-table tr:nth-child(2n) {
        background-color: #eee;
    }

    .easy-subtables tbody tr:nth-child(2n+1) {
        background-color: #eee;
    }

    .easy-table tr.broken td {
        background-color: #ffcdcd;
    }

    .easy-table tr.askew td {
        background-color: #ffe2cd;
    }

    .easy-table tbody, .easy-table thead, .easy-table tfoot {
        border-top: 1px solid #ccc;
        border-bottom: 1px solid #ccc;
    }

    .modal {
        background-color: #eee;
    }

    .inline-modal {
        background-color: white;
    }

    .modal-breakout {
        background-color: rgba(0, 0, 0, 0.2);
    }

    .flash .flash__message {
        background: #eee;
        border: 1px solid #ccc;
    }

    .flash .flash__message.flash__message--info {
        background: #def;
        border: 1px solid #cde;
    }

    .flash .flash__message.flash__message--success {
        background: #dfd;
        border: 1px solid #cec;
    }

    .flash .flash__message.flash__message--warning {
        background: #fed;
        border: 1px solid #edc;
    }

    .flash .flash__message.flash__message--error {
        background-color: #f9c0c0;
        border: 1px solid #cc9696;
    }

    input[type="radio"]:checked + label {
        background-color: #555;
    }

    .filter {
        background: #ccc;
    }

    .easy-table tr.selected td {
        background-color: #3573bf;
        color: white;
    }

    .easy-table tr.linerow.selected:hover td {
        background: #4a89d5;
    }

    .easy-table tr.linerow:hover td {
        background-color: #ddd;
    }

    .navbar, .nav-dropdown {
        background: #e7e7e7;
    }

    .nav-dropdown a, .nav-dropdown h4, .nav-dropdown .nav-dropdown__item {
        color: #444;
    }

    .nav-dropdown a.current, .nav-dropdown .nav-dropdown__item.current {
        color: white;
        background-color: #676767;
    }

    tr.new td {
        background: #374937;
        color: #273b27;
    }

    tr.new:hover td {
        background: #4f664f;
    }

    tr.deleted td {
        background: #553030;
        color: #461f1f;
    }

    tr.deleted:hover td {
        background: #704545;
    }

    .bash {
        background: #eee;
    }

    .icon.icon--gray {
        filter: grayscale(100%) brightness(0.5);
        -webkit-filter: grayscale(100%) brightness(0.5);
    }

    @media screen and (max-width: 1199px) {
        .navset:not(.navset--nobar):not(:first-child):before {
            border-left: 1px solid #aaa;
        }

        .navbar {
            border-bottom: 1px solid #ccc;
        }

        .nav-modal nav a {
            background: white;
        }
    }

    @media screen and (min-width: 1200px) {
        .navbar {
            border-right: 1px solid #ccc;
        }

        .navbar .listable a, .navbar .listable h4 {
            color: #333;
        }

        .navbar .listable a.current {
            background-color: #676767;
            color: white;
        }

        .nav-title {
            color: #999;
        }

        .sidebar-backlink {
            border: 1px solid #ccc;
            background: white;
        }
    }

    @media screen and (min-width: 800px) {
        tbody, thead, tfoot, .calendar-month {
            border-left: 1px solid #ccc;
            border-right: 1px solid #ccc;
        }

        .calendar-month {
            border-top: 1px solid #ccc;
        }
    }
}

@media (prefers-color-scheme: dark) {
    html, body {
        background-color: #111;
        color: #cdcdcd;
    }

    html a, body a {
        color: #cdcdcd;
    }

    h1, h2, h3, h4, h5, h6 {
        color: #cdcdcd;
    }

    input, textarea {
        background-color: #333;
        color: #cdcdcd;
    }

    nav a {
        background-color: #444;
        color: #cdcdcd;
    }

    .inline-modal nav a {
        background: #111;
    }

    input, select, button, textarea, .textbox, .button {
        border: 1px solid #444;
        background-color: #111;
        color: #cdcdcd;
    }

    .assoc {
        background: #222;
    }

    .assoc:not(.assoc--open) .assoc__overview {
        background-color: #111;
    }

    .easy-table thead tr {
        background-color: #444;
    }

    .easy-table tr:nth-child(2n) {
        background-color: #222;
    }

    .easy-subtables tbody tr:nth-child(2n+1) {
        background-color: #222;
    }

    .easy-table tr.broken td {
        background-color: #461010;
    }

    .easy-table tr.askew td {
        background-color: #432916;
    }

    .easy-table tbody, .easy-table thead, .easy-table tfoot {
        border-top: 1px solid #555;
        border-bottom: 1px solid #555;
    }

    .modal {
        background-color: #222;
    }

    .inline-modal {
        background-color: #111;
    }

    .modal-breakout {
        background-color: rgba(255, 255, 255, 0.1);
    }

    .flash .flash__message {
        background: #222;
        border: 1px solid #444;
    }

    .flash .flash__message.flash__message--info {
        background: #172f48;
        border: 1px solid #1f3e5d;
    }

    .flash .flash__message.flash__message--success {
        background: #072807;
        border: 1px solid #113c11;
    }

    .flash .flash__message.flash__message--warning {
        background: #322212;
        border: 1px solid #45301c;
    }

    .flash .flash__message.flash__message--error {
        background-color: #350f0f;
        border: 1px solid #480f0f;
    }

    .filter {
        background: #444;
    }

    .easy-table tr.selected td {
        background-color: #16304f;
        color: white;
    }

    .easy-table tr.linerow.selected:hover td {
        background: #2c4c74;
    }

    .easy-table tr.linerow:hover td {
        background-color: #333;
    }

    .navbar, .nav-dropdown {
        background: #373737;
    }

    .nav-dropdown a, .nav-dropdown h4, .nav-dropdown .nav-dropdown__item {
        color: #ccc;
    }

    .nav-dropdown a.current, .nav-dropdown .nav-dropdown__item.current {
        color: white;
        background-color: #676767;
    }

    .icon.icon--gray {
        filter: grayscale(100%) brightness(1.3);
        -webkit-filter: grayscale(100%) brightness(1.3);
    }

    .current .icon.icon--gray {
        filter: grayscale(100%) brightness(0.5);
        -webkit-filter: grayscale(100%) brightness(0.5);
    }

    @media screen and (max-width: 1199px) {
        .navset:not(.navset--nobar):not(:first-child):before {
            border-left: 1px solid #666;
        }

        .navbar {
            border-bottom: 1px solid #555;
        }

        .nav-modal nav a {
            background: #111;
        }
    }

    @media screen and (min-width: 1200px) {
        .navbar {
            border-right: 1px solid #555;
        }

        .navbar .listable a, .navbar .listable h4 {
            color: #eee;
        }

        .navbar .listable a.current {
            background-color: #676767;
            color: white;
        }

        .nav-title {
            color: #555;
        }

        .sidebar-backlink {
            border: 1px solid #555;
            background: #111;
        }
    }

    .bash {
        background: #333;
    }

    @media screen and (min-width: 800px) {
        tbody, thead, tfoot, .calendar-month {
            border-left: 1px solid #444;
            border-right: 1px solid #444;
        }

        .calendar-month {
            border-top: 1px solid #444;
        }
    }
}
p {
    margin: 0 0 .3em;
}

.error {
    color: red;
}

.cred-line + .cred-line {
    margin-top: 1em
}

.middle {
    display: table;
    width: 100%;
    height: 100%;
}

.middle-inner {
    display: table-cell;
    vertical-align: middle;
}

.login-page {
    font-family: Helvetica, Arial;
    height: 100%;
    margin: 0;
}

.login-page input[type="text"],
.login-page input[type="password"] {
    padding: 0.4em;
}

.login-page input[type="submit"] {
    appearance: none;
    -webkit-appearance: none;
    background-color: #ddd;
    color: #333;
    border: 1px solid #ccc;
    padding: .3em 2em;
}

@media (min-width: 960px) {
    .cols {
        display: table;
        width: 700px;
        margin: 0 auto;
    }
    .col {
        display: table-cell;
        vertical-align: middle;
    }

    .mobile-only {
        display: none;
    }
}

@media (max-width: 959px) {
    .desktop-only {
        display: none;
    }
}

@media (prefers-color-scheme: light) {
    .login-page input[type="submit"] {
        background-color: #ddd;
        color: #333;
        border: 1px solid #ccc;
    }

    .login-page input[type="text"],
    .login-page input[type="password"] {
        color: #333;
    }
}

@media (prefers-color-scheme: dark) {
    .login-page input[type="submit"] {
        background-color: #333;
        color: #cdcdcd;
        border: 1px solid #555;
    }

    .login-page input[type="text"],
    .login-page input[type="password"] {
        color: #cdcdcd;
    }
}a.cv-manip {
    cursor: pointer;
    user-select: none; -moz-user-select: none; -khtml-user-select: none; -webkit-user-select: none; -o-user-select: none;
}

.cvs-daterange .drnav + .drnav {
    margin-left: 0.2em;
}

.cvs-daterange .drnav {
    margin-left: .5em;
}

.cv-disabled {
    color: #3337;
}

.cv-manip.cv-disabled, .cv-surrogate.cv-disabled {
    cursor: not-allowed;;
}
.icon--jar { background-image: url(/build/img/icon/jar.1764821745.png); }
.icon--linegraph { background-image: url(/build/img/icon/linegraph.1764821745.png); }
.icon--envelope { background-image: url(/build/img/icon/envelope.1764821745.png); }
.icon--smalldot-o { background-image: url(/build/img/icon/smalldot-o.1764821745.png); }
.icon--notavailable { background-image: url(/build/img/icon/notavailable.1764821745.png); }
.icon--balance { background-image: url(/build/img/icon/balance.1764821745.png); }
.icon--smallsquare { background-image: url(/build/img/icon/smallsquare.1764821745.png); }
.icon--envelopes { background-image: url(/build/img/icon/envelopes.1764821745.png); }
.icon--piegraph { background-image: url(/build/img/icon/piegraph.1764821745.png); }
.icon--dollar-box { background-image: url(/build/img/icon/dollar-box.1764821745.png); }
.icon--times-o { background-image: url(/build/img/icon/times-o.1764821745.png); }
.icon--repeat { background-image: url(/build/img/icon/repeat.1764821745.png); }
.icon--smallsquare-o { background-image: url(/build/img/icon/smallsquare-o.1764821745.png); }
.icon--sigma { background-image: url(/build/img/icon/sigma.1764821745.png); }
.icon--leaf { background-image: url(/build/img/icon/leaf.1764821745.png); }
.icon--arrowleftright { background-image: url(/build/img/icon/arrowleftright.1764821745.png); }
.icon--calendar { background-image: url(/build/img/icon/calendar.1764821745.png); }
.icon--demand { background-image: url(/build/img/icon/demand.1764821745.png); }
.icon--unlink { background-image: url(/build/img/icon/unlink.1764821745.png); }
.icon--clock { background-image: url(/build/img/icon/clock.1764821745.png); }
.icon--funnel { background-image: url(/build/img/icon/funnel.1764821745.png); }
.icon--martini { background-image: url(/build/img/icon/martini.1764821745.png); }
.icon--lemon { background-image: url(/build/img/icon/lemon.1764821745.png); }
.icon--docmartini { background-image: url(/build/img/icon/docmartini.1764821745.png); }
.icon--arrowright { background-image: url(/build/img/icon/arrowright.1764821745.png); }
.icon--vault { background-image: url(/build/img/icon/vault.1764821745.png); }
.icon--arrowleft { background-image: url(/build/img/icon/arrowleft.1764821745.png); }
.icon--doc { background-image: url(/build/img/icon/doc.1764821745.png); }
.icon--tiles { background-image: url(/build/img/icon/tiles.1764821745.png); }
.icon--ticket { background-image: url(/build/img/icon/ticket.1764821745.png); }
.icon--bin { background-image: url(/build/img/icon/bin.1764821745.png); }
.icon--tag { background-image: url(/build/img/icon/tag.1764821745.png); }
.icon--piggybank { background-image: url(/build/img/icon/piggybank.1764821745.png); }
.icon--printer { background-image: url(/build/img/icon/printer.1764821745.png); }
.icon--smalldot { background-image: url(/build/img/icon/smalldot.1764821745.png); }
.icon--list { background-image: url(/build/img/icon/list.1764821745.png); }
.icon--basket { background-image: url(/build/img/icon/basket.1764821745.png); }
.icon--moneytake { background-image: url(/build/img/icon/moneytake.1764821745.png); }
.icon--times { background-image: url(/build/img/icon/times.1764821745.png); }
.icon--factory { background-image: url(/build/img/icon/factory.1764821745.png); }
.icon--person { background-image: url(/build/img/icon/person.1764821745.png); }
.icon--dot { background-image: url(/build/img/icon/dot.1764821745.png); }
.icon--moneygive { background-image: url(/build/img/icon/moneygive.1764821745.png); }
.icon--dollar { background-image: url(/build/img/icon/dollar.1764821745.png); }
.icon--ird { background-image: url(/build/img/icon/ird.1764821745.png); }
.icon--box { background-image: url(/build/img/icon/box.1764821745.png); }
.icon--dot-o { background-image: url(/build/img/icon/dot-o.1764821745.png); }
.icon--minus { background-image: url(/build/img/icon/minus.1764821745.png); }
.icon--people { background-image: url(/build/img/icon/people.1764821745.png); }
.icon--leave { background-image: url(/build/img/icon/leave.1764821745.png); }
.icon--edit { background-image: url(/build/img/icon/edit.1764821745.png); }
.icon--tick-o { background-image: url(/build/img/icon/tick-o.1764821745.png); }
.icon--knifefork { background-image: url(/build/img/icon/knifefork.1764821745.png); }
.icon--plus { background-image: url(/build/img/icon/plus.1764821745.png); }
.icon--docpdf { background-image: url(/build/img/icon/docpdf.1764821745.png); }
.icon--tick { background-image: url(/build/img/icon/tick.1764821745.png); }
input[type="checkbox"]:checked { background-image: url(/build/img/icon/tick.1764821745.png); }
.icon--jar { background-image: url(/build/img/icon/jar.1764821745.png); }
.icon--linegraph { background-image: url(/build/img/icon/linegraph.1764821745.png); }
.icon--envelope { background-image: url(/build/img/icon/envelope.1764821745.png); }
.icon--smalldot-o { background-image: url(/build/img/icon/smalldot-o.1764821745.png); }
.icon--notavailable { background-image: url(/build/img/icon/notavailable.1764821745.png); }
.icon--balance { background-image: url(/build/img/icon/balance.1764821745.png); }
.icon--smallsquare { background-image: url(/build/img/icon/smallsquare.1764821745.png); }
.icon--envelopes { background-image: url(/build/img/icon/envelopes.1764821745.png); }
.icon--piegraph { background-image: url(/build/img/icon/piegraph.1764821745.png); }
.icon--dollar-box { background-image: url(/build/img/icon/dollar-box.1764821745.png); }
.icon--times-o { background-image: url(/build/img/icon/times-o.1764821745.png); }
.icon--repeat { background-image: url(/build/img/icon/repeat.1764821745.png); }
.icon--smallsquare-o { background-image: url(/build/img/icon/smallsquare-o.1764821745.png); }
.icon--sigma { background-image: url(/build/img/icon/sigma.1764821745.png); }
.icon--leaf { background-image: url(/build/img/icon/leaf.1764821745.png); }
.icon--arrowleftright { background-image: url(/build/img/icon/arrowleftright.1764821745.png); }
.icon--calendar { background-image: url(/build/img/icon/calendar.1764821745.png); }
.icon--demand { background-image: url(/build/img/icon/demand.1764821745.png); }
.icon--unlink { background-image: url(/build/img/icon/unlink.1764821745.png); }
.icon--clock { background-image: url(/build/img/icon/clock.1764821745.png); }
.icon--funnel { background-image: url(/build/img/icon/funnel.1764821745.png); }
.icon--martini { background-image: url(/build/img/icon/martini.1764821745.png); }
.icon--lemon { background-image: url(/build/img/icon/lemon.1764821745.png); }
.icon--docmartini { background-image: url(/build/img/icon/docmartini.1764821745.png); }
.icon--arrowright { background-image: url(/build/img/icon/arrowright.1764821745.png); }
.icon--vault { background-image: url(/build/img/icon/vault.1764821745.png); }
.icon--arrowleft { background-image: url(/build/img/icon/arrowleft.1764821745.png); }
.icon--doc { background-image: url(/build/img/icon/doc.1764821745.png); }
.icon--ticket { background-image: url(/build/img/icon/ticket.1764821745.png); }
.icon--tag { background-image: url(/build/img/icon/tag.1764821745.png); }
.icon--piggybank { background-image: url(/build/img/icon/piggybank.1764821745.png); }
.icon--printer { background-image: url(/build/img/icon/printer.1764821745.png); }
.icon--smalldot { background-image: url(/build/img/icon/smalldot.1764821745.png); }
.icon--list { background-image: url(/build/img/icon/list.1764821745.png); }
.icon--basket { background-image: url(/build/img/icon/basket.1764821745.png); }
.icon--moneytake { background-image: url(/build/img/icon/moneytake.1764821745.png); }
.icon--times { background-image: url(/build/img/icon/times.1764821745.png); }
.icon--factory { background-image: url(/build/img/icon/factory.1764821745.png); }
.icon--person { background-image: url(/build/img/icon/person.1764821745.png); }
.icon--dot { background-image: url(/build/img/icon/dot.1764821745.png); }
.icon--moneygive { background-image: url(/build/img/icon/moneygive.1764821745.png); }
.icon--dollar { background-image: url(/build/img/icon/dollar.1764821745.png); }
.icon--box { background-image: url(/build/img/icon/box.1764821745.png); }
.icon--dot-o { background-image: url(/build/img/icon/dot-o.1764821745.png); }
.icon--minus { background-image: url(/build/img/icon/minus.1764821745.png); }
.icon--people { background-image: url(/build/img/icon/people.1764821745.png); }
.icon--leave { background-image: url(/build/img/icon/leave.1764821745.png); }
.icon--edit { background-image: url(/build/img/icon/edit.1764821745.png); }
.icon--tick-o { background-image: url(/build/img/icon/tick-o.1764821745.png); }
.icon--knifefork { background-image: url(/build/img/icon/knifefork.1764821745.png); }
.icon--plus { background-image: url(/build/img/icon/plus.1764821745.png); }
.icon--docpdf { background-image: url(/build/img/icon/docpdf.1764821745.png); }
.icon--tick { background-image: url(/build/img/icon/tick.1764821745.png); }
input[type="checkbox"]:checked { background-image: url(/build/img/icon/tick.1764821745.png); }
.appcolor-bg,
.button.button--main,
nav a.current,
td.today,
tr.today td,
.periodchoice.periodchoice--current,
.nav-dropdown a.current,
.drnav.current,
.cv-manip.current,
.navbar .listable a.current {
    background-color: #9ed5b0;
    color: #333;
}

.navbar .listable a.current {
    color: #333;
}

.button.button--main {
    border: 1px solid #629974}

.button.button--main.disabled {
    background-color: #daffec;
    border: 1px solid #9ed5b0;
}

@media screen and (min-width: 1200px) {
    .switcher-trigger {
        background-color: #9ed5b0;
    }
}
#line-container {
    position: fixed;
    z-index: 2000;
    overflow-y: auto;
}

#sums {
    display: inline-block;
    box-sizing: border-box;
    padding: 1em 2em;
    font-size: 16px;
    border-radius: 0.5em;
    line-height: 2em;
    pointer-events: initial;
}

.line + #sums {
    margin-top: 2em;
}

.floatline {
    position: relative;
    z-index: 2001;
    pointer-events: initial;
}

.line {
    box-sizing: border-box;
    display: inline-block;
    padding: 1em;
    border-radius: 0.5em;
}

.line h3 {
    text-align: center;
    margin-top: 0;
    margin-bottom: 1em;
}

.lineclose {
    position: absolute;
    top: 1em;
    right: 1em;
    cursor: pointer;
}

.delete-selected {
    position: absolute;
    top: 1em;
    left: 1em;
    cursor: pointer;
}

.line.bulk .form-row .form-row__value {
    padding-left: 4em;
}

@media (prefers-color-scheme: light) {
    #line-container {
        background: #0004;
    }

    .line, #sums {
        background-color: #eee;
    }
}

@media (prefers-color-scheme: dark) {
    #line-container {
        background: #fff4;
    }

    .line, #sums {
        background-color: #333;
    }
}.graph-label {
    position: absolute;
    line-height: 1em;
    transform-origin: 100% 100%;
    font-size: 14px;
    white-space: nowrap;
}

.graph-label.graph-label--bump-down {
    margin-top: 1em;
}

.graph-label.graph-label--bump-down2 {
    margin-top: 5.2em;
}

.graph-label.graph-label--bump-down-half {
    margin-top: 0.5em;
}

.graph-label.graph-label--bump-up {
    margin-top: -1em;
}

.graph-label.graph-label--bump-up2 {
    margin-top: -5.2em;
}

.graph-label.graph-label--bump-up-half {
    margin-top: -0.5em;
}

.graph-label.graph-label--bump-left {
    margin-right: 1em;
}

.graph-label.graph-label--bump-right {
    margin-left: 1em;
}

.graph-label.graph-label--x {
    transform-origin: top left;
    transform: rotate(90deg);
    margin-left: 0.5em;
}

.graph-label.graph-label--x.graph-label--bump-up {
    transform-origin: top left;
    transform: rotate(-90deg);
    margin-bottom: 1em;
    margin-left: -0.5em;
}

.graph-label.graph-label--slanted.graph-label--bump-up {
    transform: rotate(-45deg);
}

.graph-label.graph-label--slanted.graph-label--bump-down {
    transform: rotate(45deg);
}