@CHARSET "UTF-8";

* {
    box-sizing: border-box;
}

html, body {
    height: 100%;
}

img {
    max-width: 100%;
    max-height: 80vh;
    object-fit: contain;
}

/*#wrapper {
        min-height: 100%;
}*/

body {
    font-family: sans-serif;
    background-image: url("../img/bg.png");
    /* Permalink - use to edit and share this gradient: http://colorzilla.com/gradient-editor/#2fd92b+0,363636+100 */
    background: url("../img/bg.png"), rgb(47,217,43); /* Old browsers */
    background: url("../img/bg.png"), -moz-linear-gradient(top, rgba(47,217,43,1) 0%, rgba(54,54,54,1) 100%); /* FF3.6-15 */
    background: url("../img/bg.png"), -webkit-linear-gradient(top, rgba(47,217,43,1) 0%,rgba(54,54,54,1) 100%); /* Chrome10-25,Safari5.1-6 */
    background: url("../img/bg.png"), linear-gradient(to bottom, rgba(47,217,43,1) 0%,rgba(54,54,54,1) 100%); /* W3C, IE10+, FF16+, Chrome26+, Opera12+, Safari7+ */
    filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#2fd92b', endColorstr='#363636',GradientType=0 ); /* IE6-9 */

    background-repeat: repeat;
    background-attachment: fixed;
    margin: 0px;
    color: #666;
    font-size: 12px;
}

a {
    color: #fd671a;
}

a:hover {
    text-decoration: none;
}

textarea {
    width: 100%;
}

#top {
    background: #fff;
    border: 0;
}

#top a,
#top a:hover {
    color: #fd671a;
    text-shadow: none;
}

#top a:hover {
    text-decoration: underline;
}

#wrapper {
    background: transparent;
    margin: 0;
    padding: 0.5em;
    box-shadow: none;
    color: #666;
    display: grid;
    grid-template-columns: repeat(9, auto);
    grid-template-rows: repeat(3, auto);
    grid-column-gap: 10px;
    grid-row-gap: 10px;
    position: relative;
    top: 3rem;
}

#breadcrumb {
    grid-area: 2 / 1 / 3 / 10;
    overflow: auto;
}

#main {
    grid-area: 3 / 1 / 3 / 10;
    overflow: auto;
}

#right {
    grid-area: 3 / 10 / 4 / 6;
    overflow: auto;
}

#right ~ #main {
    grid-area: 3 / 1 / 3 / 6;
}

.section, #wrapper > section {
    padding: 1em;
    background-color: white;
    -webkit-border-radius: 10px;
    border-radius: 10px;
    -webkit-box-shadow:  0px 0px 10px 0px rgba(0, 0, 0, 0.5);
    box-shadow:  0px 0px 10px 0px rgba(0, 0, 0, 0.5);
    grid-row-start: 1;
}

.section:after {
    content: '';
    display: block;
    clear: both;

}

.section h1 {
    margin: 1em 0;
    color: #999;
    cursor: pointer;
}

h2 {
    margin: .5em 0;
}

h1 img {
    vertical-align: text-bottom;
}

#navi {
    list-style: none;
    margin: -20px 0 10px -8px;
    padding: 0px;
}

#navi li {
    display: inline-block;
    font-size: 14px;
}

#top nav {
    display: flex;
    width: 100%;
}

#top .navigation a {
    display: block;
    padding: 0.5em;
    background-repeat: no-repeat;
    background-position: right 15px;
    color: #666;
    text-decoration: none;
    text-shadow: none;
    flex-basis: 50%;
    font-size: medium;
}

#top a.backlink + a {
    text-align: right;
}

#navi a:hover {
    background-position: right -10px;
}

#pagination {
    margin: 10px 0 0 0;
    padding: 0;
    text-align: right;
}

#pagination li {
    display: inline;
}

.datepicker {
    display: inline-block;
}

.ui-datepicker-prev,
.ui-datepicker-next {
    /*display: none;*/
}

table {
    width: 100%;
}

thead {
    background-color: #A3D39C;
}

.ui-datepicker thead {
    background: none;
}

label {
    font-size: 11px;
    font-weight: bold;
    display: block;
}

.formelement.error > label {
    color: #f00;
}

select,
input:not([type="submit"]) {
    color: #999;
    padding: .5em 1em;
    border: 1px solid #ddd;
    -webkit-border-radius: 5px;
    border-radius: 5px;
}

tr.filters select {
    max-width: 100px;
}

input[type="submit"],
#field_visibility label,
button, .button:not(.formelement),
div.checkbox input + label {
    background: #ffffff; /* Old browsers */
    background: -moz-linear-gradient(top,  #ffffff 0%, #f3f3f3 50%, #ededed 51%, #ffffff 100%); /* FF3.6+ */
    background: -webkit-gradient(linear, left top, left bottom, color-stop(0%,#ffffff), color-stop(50%,#f3f3f3), color-stop(51%,#ededed), color-stop(100%,#ffffff)); /* Chrome,Safari4+ */
    background: -webkit-linear-gradient(top,  #ffffff 0%,#f3f3f3 50%,#ededed 51%,#ffffff 100%); /* Chrome10+,Safari5.1+ */
    background: -o-linear-gradient(top,  #ffffff 0%,#f3f3f3 50%,#ededed 51%,#ffffff 100%); /* Opera 11.10+ */
    background: -ms-linear-gradient(top,  #ffffff 0%,#f3f3f3 50%,#ededed 51%,#ffffff 100%); /* IE10+ */
    background: linear-gradient(to bottom,  #ffffff 0%,#f3f3f3 50%,#ededed 51%,#ffffff 100%); /* W3C */
    filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#ffffff', endColorstr='#ffffff',GradientType=0 ); /* IE6-9 */
    color: #999;
    padding: .5em 1em;
    border: 1px solid #ddd;
    -webkit-border-radius: 5px;
    border-radius: 5px;
    cursor: pointer;
}

input[type="submit"]:hover,
button:hover,
.button:not(.formelement):hover,
#field_visibility label:hover {
    border-color: #bbb;
    color: #666;
}

th input[type="text"] {
    min-width: 10px;
    max-width: 100%;
    width: 100%;
    padding: 5px 0;
    text-indent: 5px;
    -webkit-appearance: none;
}

td, th {
    padding: 0.25em;
}

tbody td{
    border: 1px solid #CDCDCD;
}

.module > .content > .actions a,
thead th,
tfoot td,
td .declaration span {
    background-color: #666;
    border: 1px solid #333;
    /*width: 10px;*/
    color: #fff;
}

.module > .content > .actions a, td, th, th input {
    border-radius: 3px;
}

tr:nth-child(odd) td,
tr.odd td {
    background-color: #f5f5f5;
}

tr.even td {
    background-color: #fff;
}

tr:hover td {
    background-color: #f2fff0;
}

tr.active td,
tr.active:hover td {
    background-color: #caf2c3;
}

tfoot td,
tfoot tr:nth-child(2n+1) td {
    background-color: #666;
}

#loading {
    height: 100%;
    width: 100%;
    position: fixed;
    background-color: #fff;
    background-color: rgba(255,255,255,.85);
    background-image: url(../img/ajax-loader.gif);
    background-position: center;
    background-repeat: no-repeat;
    top: 0;
    left: 0;
}

#dialog .fieldcontainer {
    margin-bottom: 0.5em;
}

#dialog label {
    display: block;
    font-size: smaller;
    font-weight: bold;
    color: #00746B;
}

div.radio input + label,
div.checkbox input + label {
    display: inline-block;
    font-size: inherit;
    font-weight: normal;
}

ul.values li input,
.checkbox input {
    display: none;
}

ul.values li.flex,
.flex {
    display: flex;
}

form.flex {
    align-items: flex-end;
}

form.flex .formelement + .formelement {
    margin-left: 0.25em;
}

div.checkbox input + label,
ul.values li input + label,
ul.values li input + label + label,
ul.values li input + label + label + .handle,
ul.tabs li label {
    display: block;
    border: 1px solid #ccc;
    background-color: #eee;
    padding: 0.5em 1em;
    border-radius: 3px;
    cursor: pointer;
    color: #666;
    border: 1px solid rgba(0, 0, 0, 0.25);
}

ul.values li input:checked + label {
    background-color: rgba(37, 136, 51, 0.5);
}

ul.values li input + label:hover {
    border: 1px solid orange;
}

ul.values li input + label + label {
    flex: 1 1 100%;
}

ul.values li input + label + label + span {
    flex: 1 1 5%;
}

.checkbox input + label:before,
ul.values li input + label:before {
    content: '';
    display: inline-block;
    background-image: url('../img/icons/cross.png');
    background-repeat: no-repeat;
    background-position: center center;
    width: 1em;
    height: 1em;
    margin-right: 0.5em;
    vertical-align: middle;
}

div.checkbox input:checked + label {
    background-color: #666;
    border: 1px solid #333;
    color: #fff;
}

ul.values li input.exists + label {
    color: #0097e5;
    background-color: #ddefff;
}

.checkbox input:checked + label:before,
ul.values li input + label.delete:before,
ul.values li input:checked + label.add:before,
ul.values li input:checked + label::before {
    background-image: url('../img/icons/tick.png');
}

ul.values li input:checked + label.delete:before {
    background-image: url('../img/icons/cross.png');
}

ul.values li input:checked + label.delete,
ul.values li input + label.add {
    color: #ffa2a2;
    background-color: #fff2f2;
    border: 1px solid;
}

ul.values li input:checked + label.add {
    color: green;
    background-color: lightgreen;
    border: 1px solid;
}

#dialog div.radio input + label.ui-state-active {
    color: white;
}

#dialog input {
    padding: 0.5em;
    -webkit-border-radius: 3px;
    border-radius: 3px;
}

#dialog div.ka_apvm,
#dialog div.ka_lpvm,
#dialog div.kt_id,
#dialog div.ka_avalis/*,
#dialog div.ka_aval*/ {
    display: inline-block;
}

.notification {
    width: 400px;
    position: absolute;
    margin: 25px 0 0 -200px;
    left: 50%;
    top: 0;
    background-color: white;
    padding: 10px;
    -webkit-box-shadow:  3px 3px 10px 0px rgba(0, 0, 0, 0.25);
    box-shadow:  3px 3px 10px 0px rgba(0, 0, 0, 0.25);
}

.module.logout {
    float: right;
}

.module.navigation ul {
    padding: 0;
    margin: 0;
    list-style: none;
    font-size: 14px;
}

.module.navigation li {
    display: inline-block;
}

.module.navigation a {
    color: #999;
    font-weight: bold;
    text-decoration: none;
}

.module.navigation a:hover {
    text-decoration: underline;
}

table.hidefields th,
table.hidefields td {
    display: none;
}

table.hidefields th.visible,
table.hidefields td.visible {
    display: table-cell;
}

.tools {
    text-align: right;
}

#field_visibility {
    padding: 1em;
    border: 1px dotted #999;
    clear: both;
}

#field_visibility input[type="checkbox"] {
    display:none;
}

#field_visibility label {
    display: none;
}

#field_visibility input[type="checkbox"] + label {
    display: inline-block;
}

div.checkbox input:checked + label {
    background: #bedfb9; /* Old browsers */
    background: -moz-linear-gradient(top,  #bedfb9 0%, #bedfb9 50%, #a3d39c 50%, #c8e4c3 100%); /* FF3.6+ */
    background: -webkit-gradient(linear, left top, left bottom, color-stop(0%,#bedfb9), color-stop(50%,#bedfb9), color-stop(50%,#a3d39c), color-stop(100%,#c8e4c3)); /* Chrome,Safari4+ */
    background: -webkit-linear-gradient(top,  #bedfb9 0%,#bedfb9 50%,#a3d39c 50%,#c8e4c3 100%); /* Chrome10+,Safari5.1+ */
    background: -o-linear-gradient(top,  #bedfb9 0%,#bedfb9 50%,#a3d39c 50%,#c8e4c3 100%); /* Opera 11.10+ */
    background: -ms-linear-gradient(top,  #bedfb9 0%,#bedfb9 50%,#a3d39c 50%,#c8e4c3 100%); /* IE10+ */
    background: linear-gradient(to bottom,  #bedfb9 0%,#bedfb9 50%,#a3d39c 50%,#c8e4c3 100%); /* W3C */
    filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#bedfb9', endColorstr='#c8e4c3',GradientType=0 ); /* IE6-9 */
    border-color: #00746b;
    color: #333;
}

.module > .content > .actions a:hover,
tr.heading th.asc,
tr.heading th.desc,
.tablesorter-headerAsc,
.tablesorter-headerDesc,
div.checkbox input:checked + label,
.filtersUI .filterfield {
    border-color: #172169;
    /* Permalink - use to edit and share this gradient: http://colorzilla.com/gradient-editor/#111457+0,3b3f89+50,111457+51,363a87+100 */
    background: rgb(17,20,87); /* Old browsers */
    background: -moz-linear-gradient(top,  rgba(17,20,87,1) 0%, rgba(59,63,137,1) 50%, rgba(17,20,87,1) 51%, rgba(54,58,135,1) 100%); /* FF3.6-15 */
    background: -webkit-linear-gradient(top,  rgba(17,20,87,1) 0%,rgba(59,63,137,1) 50%,rgba(17,20,87,1) 51%,rgba(54,58,135,1) 100%); /* Chrome10-25,Safari5.1-6 */
    background: linear-gradient(to bottom,  rgba(17,20,87,1) 0%,rgba(59,63,137,1) 50%,rgba(17,20,87,1) 51%,rgba(54,58,135,1) 100%); /* W3C, IE10+, FF16+, Chrome26+, Opera12+, Safari7+ */
    filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#111457', endColorstr='#363a87',GradientType=0 ); /* IE6-9 */
    color: #fff;
}

tr.heading th.loading:after {
    background-image: url('../img/icons/ajax-loader-light.gif');
}

tr.heading th.asc.loading:after,
tr.heading th.desc.loading:after {
    background-image: url('../img/icons/ajax-loader-dark.gif');
}

div.message,
.module.storefront.myshifts .shop-instructions-wrapper {
    padding: 1em;
    margin: 0 0 1em 0;
    background-color: #fff;
    border: 1px solid #ddd;
    color: #999;
    border-radius: 5px;
}

.message.notice,
.module.storefront.myshifts .shop-instructions-wrapper {
    border-color: #0097e5;
    color: #0097e5;
    background-color: #ddefff;
}

.message.error,
tr.error td {
    background-color: #fff2f2;
    color: #ffa2a2;
    border-color: #ffa2a2;
}

.message.warning {
    background-color: lightgoldenrodyellow;
    color: darkgoldenrod;
    border-color: darkgoldenrod;
}

.message.success {
    background-color: lightgreen;
    color: green;
    border-color: green;
}

#varaustaulu .varaus > div.message {
    display: block;
    vertical-align: middle;
}

.pagination {
    text-align: center;
}

.pagination ul {
    padding: 0;
}

.pagination li {
    display: inline-block;
}

.pagination .current a {
    font-weight: bold;
}

td.varaus.Tarjottu {
    border-color: #ebd039;
    background-color: #ebe0a4;
}

td.varaus.Maksettu {
    border-color: #00746B;
    background-color: #A3D39C;
}

div.ui-widget-overlay {
    background: #fff;
    background: rgba(255,255,255,.75);
    opacity: 1;
    filter: Alpha(Opacity=100);
}

div.screenlock {
    background-image: url('../img/ajax-loader.gif');
    background-position: center center;
    background-repeat: no-repeat;
}

div.varaukset .varaus {
    border: 1px solid #CDCDCD;
    background-color: #fff;
    border-radius: 3px;
    display: inline-block;
    padding: 0.5em;
}

tr td.drop-here,
.active-contextmenu,
td.varaus.active-contextmenu,
tr.item.active-contextmenu td,
.varaukset.drop-here {
    background-color: #ffffdd;
    -webkit-box-shadow: 0 0 10px 0 #fffd71;
    box-shadow: 0 0 10px 0 #fffd71;
}

/*tr.item.liikasuoritus td {
        background-color: #fff5cc;
        color: #b19c47;
        border-color: #b19c47;
}

tr.item.vajaasuoritus:before {content:'asd'}

tr.item.vajaasuoritus td {
        background-color: #feffd2;
        color: #ffaa00;
        border-color: #ffaa00;
}*/

/*tr.item.tunnistamaton td {
        background-color: #fff2f2;
        color: #ffa2a2;
        border-color: #ffa2a2;
}*/

.maksusuoritukset tr.item td:first-child span,
.maksusuoritukset .ohje span,
.ui-autocomplete .liiketoimintakielto a:after,
.ui-autocomplete .porttikielto a:before {
    content: '';
    display: inline-block;
    height: 16px;
    width: 16px;
    background-image: url('../img/tick-circle.png');
}

.ui-autocomplete .liiketoimintakielto a {
    background-color: #fff2f2;
    color: #ffa2a2;
    border-color: #ffa2a2;
}

.maksusuoritukset tr.item.tunnistamaton td:first-child:before,
#main .maksusuoritukset span.tunnistamaton {
    background-image: url('../img/question.png');
}

.maksusuoritukset tr.item.vajaasuoritus td:first-child:before,
#main .maksusuoritukset span.vajaasuoritus {
    background-image: url('../img/exclamation-red.png');
}

.maksusuoritukset tr.item.liikasuoritus td:first-child:before,
#main .maksusuoritukset span.liikasuoritus {
    background-image: url('../img/exclamation-circle-frame.png');
}

#main .maksusuoritukset span.muitalaskuja {
    background-image: url('../img/question-white.png');
}

.ui-autocomplete .liiketoimintakielto a:after {
    background-image: url('../img/icons/exclamation--frame.png');
    float: right;
}

.ui-autocomplete .porttikielto a:before {
    background-image: url('../img/icons/minus-octagon.png');
    float: right;
}

/*div.varaukset {
        border: 1px solid #CDCDCD;
        background-color: #f5f5f5;
        border-radius: 3px;
        min-height: 100px;
}*/

.varaukset h3 {
    margin-bottom: 0;
}

.varaus.ui-draggable-dragging ul,
.varaus.ui-draggable-dragging p {
    display: none;
}

.ui-draggable-dragging.varaus {
    display: inline-block;
}

div.ui-draggable.varaus ul.actions {
    display:none;
}

tr.heading th.as_elint span,
tr.heading th.as_slasku span,
tr.heading th.as_lkielto span,
tr.heading th.as_pkielto span,
tr.heading th.as_mpuh span,
tr.heading th.as_puh span,
tr.heading th.as_kanta span {
    display: inline-block;
    width: 16px;
    height: 16px;
    overflow: hidden;
    text-indent: -999px;
    background-image: url('../img/icons/fruit.png');
}

tr.heading th.as_slasku span {
    background-image: url('../img/icons/mail-at-sign.png');
}

tr.heading th.as_lkielto span {
    background-image: url('../img/icons/exclamation--frame.png');
}
tr.heading th.as_pkielto span {
    background-image: url('../img/icons/minus-octagon.png');
}

tr.heading th.as_mpuh span {
    background-image: url('../img/icons/mobile-phone.png');
}

tr.heading th.as_puh span {
    background-image: url('../img/icons/telephone-handset-wire.png');
}

tr.heading th.as_kanta span {
    background-image: url('../img/icons/crown-silver.png');
}

.icon[title="Mainokset"],
.icon[title="Mainosryhmät"] {
    background-image: url('../img/icons/arrow.png');
}

.icon.done {
    background-image: url('../img/icons/tick.png');
}

.icon.ebill {
    background-image: url('../img/icons/mail-send.png');
}

.icon.pdf {
    background-image: url('../img/icons/document-pdf-text.png');
}

.icon.error {
    background-image: url('../img/icons/exclamation-red.png');
}

.icon.notice {
    background-image: url('../img/icons/exclamation-white.png');
}

.icon.reassign {
    background-image: url('../img/icons/arrow.png');
}

.icon.printaddresscard  {
    background-image: url('../img/icons/card-address.png');
}

.icon.checklist  {
    background-image: url('../img/icons/clipboard-task.png');
}

.icon.preview  {
    background-image: url('../img/icons/document-pdf-text.png');
}

.icon.laskutuslisa  {
    background-image: url('../img/icons/money--plus.png');
}

.icon.laskutuslisapois  {
    background-image: url('../img/icons/money--minus.png');
}

.icon.massalaskutus  {
    background-image: url('../img/icons/mail-send.png');
}

.icon.returntolist  {
    background-image: url('../img/icons/arrow-180.png');
}

.icon.renew  {
    background-image: url('../img/icons/arrow-circle-double-135.png');
}

.icon.merge  {
    background-image: url('../img/icons/property-import.png');
}

.icon.reorder {
    background-image: url(../img/icons/arrow-resize-090.png);
}

.icon.clear {
    background-image: url(../img/icons/cross.png);
}

.icon.excel {
    background-image: url(../img/icons/document-excel.png);
}

.icon.tools {
    background-image: url(../img/icons/wrench-screwdriver.png);
}

.icon.auto {
    background-image: url(../img/icons/task--arrow.png);
}

.icon.add,
.icon.addevent {
    background-image: url(../../default_/img/icons/plus.png);
}

.icon.addlocation {
    background-image: url(../img/icons/store--plus.png);
}

.icon.import {
    background-image: url(../img/icons/application-table.png);
}

.icon.copyto {
    background-image: url('../../default_/img/icons/documents.png');
}

.listing_table td {
    /*white-space: nowrap;*/
}

.listing_table .icon-ok {
    color: green;
}

.listing_table .icon-cancel {
    color: red;
}

#varaustaulu td.varaus {
    background-color: #ccc;
    border: 1px solid #CDCDCD;
    font-size: 0.75em;
    line-height: 1.5em;
}

#varaustaulu td.varaus.laskutettu {
    background-color: #fff;
}

div.varaukset .varaus.kantakauppias,
#varaustaulu td.varaus.kantakauppias {
    border-color: #5bd5e3;
    /*color: #5bd5e3;*/
    background-color: #c8f9ff;
}

#varaustaulu td.varaus.Poistettu {
    border-color: #efefef;
    color: #efefef;
    background-color: #fefefe;
}

#varaustaulu td.varaus.ei-laskuteta {
    background-color: #ffb1e5;
    border: 1px solid #ff66cc;
}

#varaustaulu td.varaus.maksettu {
    background-color: #A3D39C;
    border: 1px solid #00746B;
}

/*#varaustaulu td.varaus.maksettu.kantakauppias {
        background-color: #c8ffe2;
        border: 1px solid #31e284;
}*/

.combofield.sahkopostiviestit .combofield > div {
    display: block;
    padding: 0;
}

.combofield.sahkopostiviestit .combofield > div.hidden,
.combofield.sahkopostiviestit .toggle {
    display: none;
}

.combofield.sahkopostiviestit > .combofield > div + div {
    padding: 0;
}

.combofield.sahkopostiviestit textarea {
    width: 500px;
    height: 200px;
}

.ui-dialog-content .formelement.ok,
.ui-dialog-content .formelement.maksettu,
.ui-dialog-content .formelement.re_lpvm,
.ui-dialog-content .formelement.re_epvm {
    display: inline-block;
}

.ui-dialog-content .formelement.re_alkukom input,
.ui-dialog-content .formelement.re_huom1 textarea,
.ui-dialog-content .formelement.re_memo textarea {
    width: 90%;
}

.ui-dialog-content .formelement.re_memo textarea {
    height: 100px;
}

#mod-id-34 .content {
    position: relative;
}

#varaustaulu {
    width: auto;
}

#varaustaulu .item {
    width: 0px;
}

#varauslista-container {
    font-size: smaller;
    height: 100%;
}

#varauslista .varaus {
    margin-bottom: .25em;
    font-size: smaller;
}

.varaus.item ul,
#varauslista ul,
.varaus.item p,
#varauslista p,
.varaus.item h3 {
    margin: 0;
}

#top ul ul {
    background: #fff;
    font-size: smaller;
}

#top ul ul li,
#top ul ul li + li {
    margin: 0;
}

#top ul ul a {
    margin: 0;
    padding: .25em 1em;
}

#varaustaulu .varaus > div {
    display: table-cell;
    vertical-align: top;
}

#varaustaulu .varaus > div + div {
    padding-left: 0.25em;
}

.varaukset_print .item {
    border-bottom: 2px dashed #ccc;
    padding-top: 1em;
}

.varaukset_print .item .half {
    display: inline-block;
    width: 49%;
}

.varaukset_print h3 {
    margin-top: 1em;
}

#varaustaulu .muistiinpanot {
    display: none;
}

#mod-id-38 > .content > h1 + form {
    float: right;
}

#mod-id-38 > .content > h1 + form > .formelement {
    display: inline-block;
}

#mod-id-38 > .content > h1 + form > .formelement.select:after {
    content: ' - TAI - ';
    margin: 0 1em;
    font-style: italic;
    display: inline-block;
}

td.separator,
th.separator {
    border: 0px;
    background-color: transparent !important;
}

tr.user + tr.date > td.separator,
tr.date + tr.event > th.separator {
    padding: 0;
    vertical-align: top;
}

tr.user + tr.date > td.separator:before,
tr.date + tr.event > th.separator:nth-child(2):before {
    content: '';
    display: block;
    border-right: 20px solid #ddd;
    border-bottom: 20px solid transparent;
}

.hienolista {
    padding: 0;
    list-style: none;
    border-collapse: collapse;
    margin-bottom: 1em;
}

.hienolista td {
    padding: 0.25em 0.5em;
}

.hienolista td:first-child {
    font-weight: bold;
}

table.equal th,
table.equal td {
    width: 33%;
}

.ui-dialog {
    min-width: 600px;
    max-width: 95%;
    max-height: 95%;
}

/*.limitform > form > .formelement:first-child {
        display: none;
}*/

#mod-id-mainokset .group {
    padding: 1em;
    border: 3px dashed #ccc;
    background-color: #f7f7f7;
}

/*#mod-id-mainokset > .content > .actions {
        margin: 2em 0;
        text-align: center;
}*/

/*.role:not(td),
.role:not(label) {
    color: #fff;
}

.role.role_0 {
    background-color: #7494BA;
}

.role.role_1 {
    background-color: #FF8923;
}

.role.role_2 {
    background-color: #091C4E;
}

.role.role_3 {
    background-color: orange;
}

.role.role_4 {
    background-color: green;
}

.role.role_7 {
    background-color: #000;
}

.role.role_-1 {
    background-color: #666;
    color: #888;
}*/

.timetable table {
    width: 100%;
    color: #fff;
}

.timetable th:first-child:before {
    display: none;
}

.timetable td {
    position: relative;
}

.timetable td.name {
    padding-left: 1em;
    width: 10%;
}

.timetable .blocks {
    position: relative;
}

/*.events + .timetable .blocks {
    height: 57px;
}*/

.time-block {
    display: inline-block;
    box-sizing: border-box;
    position: absolute;
    text-align: left;
    text-decoration: none;
    padding: 0;
    vertical-align: middle;
    color: #fff;
    margin: 2px 0;
}

td.shift .time-block,
.time-block .pieces {
    display: flex;
    flex: 1 1 100%;
}

.time-block .piece {
    background-color: #8dbe94;
    border: 2px solid rgba(0, 0, 0, 0.25);
    flex: 1 1 auto;
    overflow: hidden;
    border-right: 1px solid rgba(0, 0, 0, 0.25);
    border-left: 1px solid rgba(255, 255, 255, 0.25);
    overflow: hidden;
}

.time-block:hover .piece {
    border-color: orange;
}

.time-block .piece:first-child {
    border-left: 2px solid rgba(0, 0, 0, 0.25);
    border-radius: 0.5em 0 0 0.5em;
}

.time-block .piece:last-child {
    border-right: 2px solid rgba(0, 0, 0, 0.25);
    border-radius: 0 0.5em 0.5em 0;
}

.ui-draggable:not(.ui-dialog) {
    cursor: move; /* fallback if grab cursor is unsupported */
    cursor: grab;
    cursor: -moz-grab;
    cursor: -webkit-grab;
}

/*.time-block.logged-today:after {
    content: '';
    position: absolute;
    right: 0;
    top: 0;
    border-right: 1.5em solid #f60;
    border-top: 1.5em solid transparent;
    border-bottom: 1.5em solid transparent;
}*/

td.logged-today {
    background-color: rgba(255, 100, 0, 0.25);
}

/*.time-block.event {
    height: 20px;
    bottom: 0;
}*/

.time-block.unknown-time {
    position: relative;
    left: auto !important;
    width: auto !important;
    min-width: 0 !important;
}

.time-block:hover {
    width: auto !important;
    z-index: 1;
}

.timetable .time-block.not-started {
    background-color: #666;
    position: static;
}

.timetable .time-block.hevi {
    background-color: #a6e22e;
}

.timetable .time-block.maito {
    background-color: #5bc0de;
}

.time-block .explanation,
.time-block .start,
.time-block .end {
    background-color: rgba(0, 0, 0, 0.5);
    color: #fff;
    font-size: xx-small;
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    padding: 0 0.25em;
}

.time-block .explanation {
    /*white-space: nowrap;*/
    position: static;
    display: block;
    padding: 0 0.5em;
    line-height: 1.75em;
    overflow: hidden;
}

.absent .time-block .explanation {
    background-color: transparent;
    color: inherit;
    display: initial;
}

.time-block .start,
.time-block .end {
    z-index: 1;
    background-color: #000;
    width: auto;
    top: auto;
    bottom: 100%;
    transform: translate(-50%, -5px);
    display: none;
}

.time-block:hover .start,
.time-block:hover .end {
    display: block;
}

.time-block .start:after,
.time-block .end:after {
    content: '';
    display: block;
    border-top: 5px solid #000;
    border-left: 5px solid transparent;
    border-right: 5px solid transparent;
    top: 100%;
    left: 50%;
    position: absolute;
    transform: translateX(-50%);
}

.time-block .end {
    left: 100%;
}

.time-block .buttons {
    display: flex;
    border: 2px solid rgba(0, 0, 0, 0.75);
    border-top: 0;
    border-radius: 0 0 0.5em 0.5em;
    flex-wrap: wrap;
}

.time-block .buttons a,
.time-block .buttons label {
    flex: 1 1 33.33%;
    text-align: center;
    background: linear-gradient(to bottom, rgba(69,72,77,1) 0%,rgba(0,0,0,1) 100%);
    color: #fff;
    text-decoration: none;
    border-radius: 0;
    border-top: 0;
    border-bottom: 0;
    border-left: 1px solid rgba(255, 255, 255, 0.3);
    border-right: 1px solid rgba(0, 0, 0, 0.3);
}

/*.time-block.denied:before,
.time-block.denied:after {
    content: '';
    border-top: 2px solid red;
    width: 100%;
    height: 100%;
    position: absolute;
    top: 50%;
    transform: rotate(7deg);
    left: 0;
}

.time-block.denied:after {
    transform: rotate(-7deg);
}*/

.time-block.denied span.notice {
    background-color: red;
    color: #fff;
}

.time-block.removed-from-control span.notice {
    background-color: orange;
}

.time-block.unaccepted span.notice {
    background-color: #ddd;
}

.time-block .buttons a.icon-cancel {
    /* Permalink - use to edit and share this gradient: https://colorzilla.com/gradient-editor/#ff0000+0,7a0000+100 */
    background: rgb(255,0,0); /* Old browsers */
    background: -moz-linear-gradient(top,  rgba(255,0,0,1) 0%, rgba(122,0,0,1) 100%); /* FF3.6-15 */
    background: -webkit-linear-gradient(top,  rgba(255,0,0,1) 0%,rgba(122,0,0,1) 100%); /* Chrome10-25,Safari5.1-6 */
    background: linear-gradient(to bottom,  rgba(255,0,0,1) 0%,rgba(122,0,0,1) 100%); /* W3C, IE10+, FF16+, Chrome26+, Opera12+, Safari7+ */
    filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#ff0000', endColorstr='#7a0000',GradientType=0 ); /* IE6-9 */
}

.time-block .buttons a.icon-ok {
    /* Permalink - use to edit and share this gradient: https://colorzilla.com/gradient-editor/#28bc00+0,002300+100 */
    background: rgb(40,188,0); /* Old browsers */
    background: -moz-linear-gradient(top,  rgba(40,188,0,1) 0%, rgba(0,35,0,1) 100%); /* FF3.6-15 */
    background: -webkit-linear-gradient(top,  rgba(40,188,0,1) 0%,rgba(0,35,0,1) 100%); /* Chrome10-25,Safari5.1-6 */
    background: linear-gradient(to bottom,  rgba(40,188,0,1) 0%,rgba(0,35,0,1) 100%); /* W3C, IE10+, FF16+, Chrome26+, Opera12+, Safari7+ */
    filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#28bc00', endColorstr='#002300',GradientType=0 ); /* IE6-9 */
}

.time-block .buttons a:hover {
    background: linear-gradient(to bottom, rgba(128,128,128,1) 0%,rgba(64,64,64,1) 100%);
    border-left: 1px solid rgba(255, 255, 255, 0.3);
    border-right: 1px solid rgba(0, 0, 0, 0.3);
    color: #fff;
}

.time-block .buttons label {
    flex: 1 1 1%;
    padding: 0.5em;
    white-space: nowrap;
}

.time-block .buttons [type="checkbox"] {
    display: none;
}

.time-block .buttons [type="checkbox"]:checked + label i::before {
    transform: rotate(90deg);
}

.time-block .buttons .subtypes {
    flex: 0 0 100%;
    display: none;
}

.time-block .buttons [type="checkbox"]:checked + label + ul {
    display: block;
    padding: 0;
    margin: 0;
    list-style: none;
}

.time-block .buttons [type="checkbox"]:checked + label + ul a {
    display: block;
    text-align: left;
    padding: 0.5em;
}

.time-block.selected:before {
    content: '';
    display: block;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    position: absolute;
    border: 2px solid;
    color: #0097e5;
    background-color: #ddefffcc;
}

.time-block input[type="checkbox"] {
    display: none;
}

.time-block input[type="checkbox"]:checked ~ .pieces .piece,
.time-block input[type="checkbox"]:checked ~ .pieces .piece .explanation + .explanation {
    background-color: greenyellow;
    color: rgba(0, 0, 0, 0.5);
}

.time-block input[type="checkbox"]:checked ~ .pieces .piece .explanation {
    color: #fff;
}

.nav.day {
    text-align: center;
    justify-content: space-between;
    max-width: 100vw;
}

.nav.day .prev {
    float: left;
}

.nav.day .next {
    float: right;
}

.nav.day .date {
    display: inline-block;
}

.nav.day input {
    text-indent: -999px;
    cursor: pointer;
    width: 45px;
    background-image: url(../../default_/img/icons/calendar-blue.png);
    background-repeat: no-repeat;
    background-position: center;
}

.nav.day a.week,
.nav.day.week-mode a.day {
    display: none;
}

.nav.day.week-mode a.week {
    display: initial;
}

.km_table td > span,
.km_table td > a {
    display: inline-block;
    padding: 0.1em 0.5em;
    color: #fff;
    border-radius: 3px;
    border: 1px solid darkblue;
    background-color: steelblue;
}

.km_table td > .km {
    border: 1px solid darkgreen;
    background-color: green;
    text-decoration: none;
    position: relative;
}

.km_table td > .km.warning {
    border: 1px solid #646000;
    background-color: #807b00;
}

.km_table td > a.km:hover {
    color: lime;
    border: 1px solid;
    background-color: darkgreen;
}

.km_table td > a.km.warning:hover {
    background-color: #646000;
    color: #fff600;
    border: 1px solid;
}

.km_table td > .km > .warning {
    display: none;
}

.km_table td > .km:hover > .warning {
    background-color: #000000dd;
    color: #fff;
    position: absolute;
    display: block;
    bottom: 100%;
    padding: 0.5em;
    border-radius: 3px;
}

.km_table td > span.error {
    background-color: maroon;
    color: red;
    border: 1px solid;
}

.module.vuorotus .timetable {
    width: 100%;
}

.module.vuorotus table .track-container,
.module.vuorotus table .track {
    min-height: 3em;
}

.module.vuorotus .work-types {
    padding: 1em;
    margin: 0;
}

.module.vuorotus .work-types li {
    list-style: none;
    margin: 0.25em 0;
}

/*span.work-type {
    display: inline-block;
    padding: 0.5em 1em;
    border: 1px solid #258833;
    background-color: #A3D39C;
    color: #258833;
}*/

.grid-heading {
    display: flex;
    height: 100%;
    position: absolute;
    width: 100%;
}

.grid-heading span {
    width: 4.166666667%;
    position: relative;
}

.grid-heading span:before,
.grid-heading span:after  {
    content: '';
    border-left: 1px dotted #ddd;
    position: absolute;
    left: 0;
    top: 0;
    height: 100%;
}

.grid-heading span:after {
    left: 100%;
}

.grid-heading span + span:before {
    display: none;
}

.timetable th .day {
    min-height: 1.5em;
}

.timetable td.shifts,
.timetable th.days {
    width: 100%;
    white-space: nowrap;
}

.timetable .day {
    display: inline-block;
    width: 100%;
    vertical-align: top;
}

.timetable .day.next {
    background-color: rgba(0, 255, 0, 0.5);
}

.timetable .day.previous {
    background-color: rgba(255, 0, 0, 0.5);
}

.timetable .day.past,
.timetable .day.future {
    display: none;
}

table.shifts {
    vertical-align: middle;
    text-align: left;
}

table.scheduler td.hidden * {
    display: none;
}

table.shifts tbody {
    vertical-align: top;
}

td.shift {
    /*white-space: nowrap;*/
    vertical-align: top;
    text-align: center;
    position: relative;
}

td.shift .vacation,
td.shift .vacation:before {
    width: 25px;
    height: 25px;
    display: block;
    position: absolute;
    top: 0;
    left: 0;
    overflow: hidden;
}

td.shift .vacation:before {
    content: '';
    border: 1px solid #000;
    background-color: maroon;
    transform: rotate(45deg);
    top: -13px;
    left: -13px;
}

.vuorotus nav.float {
    position: fixed;
    background-color: #fff;
    z-index: 2;
    width: 100%;
    left: 0;
    top: 0;
    padding: 0 1em;
    padding-top: 0px;
    box-shadow: 0 0 10px 0 rgba(0, 0,0, 0.5);
    padding-top: 1em;
}

.vuorotus nav.float + table thead:first-child {
    position: relative;
    /*top: 185px;*/
    z-index: 1;
}

/*.vuorotus nav.float + table thead:first-child tr {
    display: block;
}*/

.vuorotus nav.float + table thead:first-child th {
    width: 10%;
}

.vuorotus .time-block,
.scheduler .time-block {
    position: relative;
    display: block;
    margin-bottom: 2px;
}

.scheduler .time-block.other {
    background-color: #000;
}
.scheduler .time-block.other .pieces {
    opacity: 0.5;
}


.vuorotus .time-block.unapproved .pieces,
.scheduler .time-block.unapproved .pieces {
    opacity: 0.5;

}

.scheduler .time-block.unapproved {
    border: 2px solid #f00;
}

.vuorotus .time-block.not_this_client,
.scheduler .time-block.unconfirmed {
    opacity: 0.5;
}

.scheduler .time-block.unconfirmed:hover {
    opacity: 1;
}

.time-block .explanation + .explanation {
    background-color: transparent;
    font-weight: bold;
    color: rgba(0, 0, 0, 0.5);
}

.vuorotus .slider {
    padding: 4em 1em;
    position: relative;
}

.vuorotus .slider.disabled:before,
.rangeslider .slider.disabled:before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    height: 100%;
    width: 100%;
    background-color: rgba(255,255,255,0.85);
    z-index: 9;
}

/*td.shift a,
td.shift span {
    display: inline-block;
    height: 3em;
    min-width: 3em;
    border: 1px solid #444;
    border-radius: 3px;
    padding: 0.25em 0.5em;
    vertical-align: top;
    text-decoration: none;
}

td.shift a:hover {
    border-color: #fff;
}

td.shift a.shift,
td.shift span {
    background-color: #00FF01;
    white-space: normal;
    color: green;
}

td.shift a.shift.no-shift {
    background-color: red;
}

td.shift a.shift.no-shift:before,
td.shift span.shift:before {
    content: '\00a0';
}

td.shift a.shift + a.no-shift {
    display: none;
}*/

td.shift.vacation {
    border: 2px solid #f00;
    background-color: salmon;
}

td.shift .actions a {
    text-decoration: none;
    display: block;
    border: 2px dashed;
    color: #bbb;
}

td.shift .actions {
    display: flex;
}

td.shift .actions a {
    flex: 1 1 100%;
    min-width: 0;
    margin: 0 1px;
}

td.shift.vacation a.shift.add {
    color: #f00;
}

td.shift .actions a:hover {
    color: #666;
}

td.shift.vacation a.shift.add:hover {
    color: #fff;
}

td.shift .actions a:after {
    content: '+';
    font-size: x-large;
    line-height: 1.5rem;
}

td.shift .actions a.clear:after {
    content: '×';
}

td.shift .actions a.drop:after {
    font-family: 'fontello';
    content: '\E80D';
    font-size: large;
}

td.shift .actions a.brigade:after {
    font-family: 'fontello';
    content: '\E809';
    font-size: large;
}

td.shift .actions a.edit:after {
    font-family: 'fontello';
    content: '\E80E';
    font-size: large;
}

td.shift .actions a.revert:after {
    font-family: 'fontello';
    content: '\E810';
    font-size: large;
}

td.shift .actions a.exception:after {
    font-family: 'fontello';
    content: '\E811';
    font-size: large;
}

td.shift .delete,
.time-block .delete {
    position: absolute;
    right: 0;
    top: 0;
    height: 100%;
    width: 100%;
    overflow: hidden;
}

td.shift .delete button,
.time-block .delete button,
.time-block .deny button,
.time-block .accept button {
    background: none;
    background-color: #eee;
    border-radius: 0;
    border: 2px solid;
    position: absolute;
    top: -110%;
    right: 0px;
    color: #666;
    line-height: 1em;
    height: 100%;
    min-width: 3em;
    transition: top 100ms ease-in-out;
    opacity: 0.5;
    z-index: 999;
    padding: 0;
}

.time-block .accept button,
td.shift .deny button {
    position: static;
    color: limegreen;
    background-color: #b0ffac;
    opacity: 1;
}

td.shift .deny button,
td.shift .delete button:hover,
.time-block .delete button:hover {
    opacity: 1;
    background-color: pink;
    color: crimson;
}

td.shift a:hover .delete button,
.time-block:hover .delete button {
    top: 0;
}

/*td.shift[data-has-location="1"] a + a,
td.shift[data-has-location="1"] span + a {
    display: none;
} 

td.shift[data-has-location="0"] a:not(.add),
td.shift[data-has-location="0"] span:not(.add) {
    height: auto;
    display: block;
}

td.shift[data-has-location="0"] a + a.add {
    width: auto;
    display: block;
}

td.shift[data-has-location="0"] {
    white-space: normal;
}

td.shift a.shift .chosen-container {
    min-width: 150px;
}

td.shift a.shift .chosen-container,
td.shift a.shift .chosen-container-single .chosen-single span {
    font-size: 11px;
    line-height: 18px;
}

td.shift a.shift .chosen-container-single .chosen-single {
    height: 20px;
}

td.shift a.shift .chosen-container-single .chosen-single div b {
    margin-top: -2px;
}

table.shifts h2 {
    text-align: center;
    color: maroon;
}*/

th {
    background-color: #333;
    padding: 0.5em;
}

tbody th {
    max-width: 100px;
    background-color: #8dbe94;
    color: #e7ffeb;
}

th .status {
    color: yellow;
}

th .status.ok {
    color: lawngreen;
}

.storefront td {
    background-color: #fff;
    color: #666;
}

.storefront td > .shifts {
    display: flex;

}

.storefront td > .shifts .shift + .shift {
    margin: 0 0 0 0.25em;
}

.storefront td > .events {
    margin-top: 0.25em;
}

.storefront .memos  {
    background-color: #666;
    border: 1px solid #333;
    padding: 1em;
    border-radius: 0.5em;
    margin: 1em 0;
}

.storefront ol em {
    color: lime;
    font-style: normal;
}

.storefront tbody th {
    background-color: #888;
    border: 1px solid #333;
}

.storefront td,
.storefront tr:nth-child(odd) td,
.storefront tr:hover td {
    padding: 0;
    border: 0px;
    background-color: transparent;
}

.storefront table .work-type .explanation,
.storefront table .shift .active {
    padding-bottom: 0.5em;
    padding-top: 0.5em;
}

.storefront table .event span {
    padding-top: 0.25em;
    padding-bottom: 0.25em;
}

td.events .event {
    background-color: rgba(0, 0, 0, 0.5);
    border: none;
    border-radius: 0;
    text-align: left;
    display: flex;
    /* Permalink - use to edit and share this gradient: http://colorzilla.com/gradient-editor/#feffff+0,d2ebf9+100;Blue+3D+%2312 */
    background: rgb(254,255,255); /* Old browsers */
    background: -moz-linear-gradient(top, rgba(254,255,255,1) 0%, rgba(210,235,249,1) 100%); /* FF3.6-15 */
    background: -webkit-linear-gradient(top, rgba(254,255,255,1) 0%,rgba(210,235,249,1) 100%); /* Chrome10-25,Safari5.1-6 */
    background: linear-gradient(to bottom, rgba(254,255,255,1) 0%,rgba(210,235,249,1) 100%); /* W3C, IE10+, FF16+, Chrome26+, Opera12+, Safari7+ */
    filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#feffff', endColorstr='#d2ebf9',GradientType=0 ); /* IE6-9 */
}

td.events,
tr + tr td.events,
tr:hover td.events,
.watcher table td[colspan] {
    /*background-color: transparent;
    padding: 0;
    border: 0;*/
}

td.events .event {
    border: 1px solid #CDCDCD;
    border-radius: 3px;
    text-decoration: none;
    text-align: center;
}

td.events .event.add {
    display: block;
}

td.events .event span {
    width: 50%;
    padding: 0.25rem 0.5rem;
    border-right: 1px solid rgba(0, 0, 0, 0.5);
    text-align: left;
}

td.events .event span + span {
    border-right: none;
    border-left: 1px solid rgba(255, 255, 255, 0.25);
}

td.events .event:hover {
    border: 1px solid;
    /* Permalink - use to edit and share this gradient: http://colorzilla.com/gradient-editor/#d6f9ff+0,9ee8fa+100;Blue+3D */
    background: rgb(214,249,255); /* Old browsers */
    background: -moz-linear-gradient(top, rgba(214,249,255,1) 0%, rgba(158,232,250,1) 100%); /* FF3.6-15 */
    background: -webkit-linear-gradient(top, rgba(214,249,255,1) 0%,rgba(158,232,250,1) 100%); /* Chrome10-25,Safari5.1-6 */
    background: linear-gradient(to bottom, rgba(214,249,255,1) 0%,rgba(158,232,250,1) 100%); /* W3C, IE10+, FF16+, Chrome26+, Opera12+, Safari7+ */
    filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#d6f9ff', endColorstr='#9ee8fa',GradientType=0 ); /* IE6-9 */
}

.watcher .nav.day + form,
.reporting .date_form form,
.vuorotus_vk nav form,
form.filters {
    display: flex;
    align-items: flex-end;
}

form.filters .formelement + .formelement{
    padding-left: 0.5em;
}

.watcher table td[colspan] {

}

.watcher table td[colspan] h3 {
    margin: 1em 0 0 0;
    background-color: #337ab7;
    color: #fff;
    padding: 0.25em;
    border-radius: 3px;
    border: 1px solid #091C4E;
}

.watcher .time-block .active {
    display: inline-block;
    color: #fff;
    padding: 0;
    width: 2em;
}

.watcher .time-block .active i {
    animation-name: fadeInOut;
    animation-duration: 1s;
    animation-iteration-count: infinite;
    display: inline-block;
    width: 0.25em;
}

.watcher .time-block .active i + i,
.watcher .time-block .active:last-child i + i {
    animation-delay: 0.25s;
}

.watcher .time-block i + i + i,
.shift .active:last-child i {
    animation-delay: 0.5s;
}

.watcher .time-block .active:last-child i + i + i {
    animation-delay: 0s;
}

.reporting [colspan],
td.sep {
    background-color: transparent;
    border: 0px;
}

.reporting tr[data-edit-link]:hover td {
    cursor: pointer;
    border: 1px solid #0097e5;
}

td.sep:before {
    content: '\00a0';
}

.export_row {
    position: relative;
    background-color: #eee;
    margin-bottom: 3px;
}

.export_row > div {
    height: 2em;
    color: #fff;
    position: relative;
    display: block;
    background-color: rgba(128, 0, 128, 0.5);
}

.export_row > div + div {
    margin-top: -10px;
}

.export_row > div:hover {
    display: inline-block;
}

.export_row.alt > div {
    background-color: rgba(0, 128, 128, 0.5);
}

.export_row.alt {
    margin-bottom: 1em;
}

.export_row > div.row_time {
    position: absolute;
    top: 0;
    right: 0;
    margin: 0;
    line-height: 1.5em;
    padding: 0.25em;
}

tr.me td {
    /*box-shadow: 0 0 5px 0 #0097e5;*/
    border: 2px solid #0097e5;
}

@keyframes fadeInOut {
    0% {
        opacity: 0;
    }
    50% {
        opacity: 1;
    }
    100% {
        opacity: 0;
    }
}

#top .voimanavi a[title="EN"]:before {
    content: url(../img/lang/en.png);
}

#top .voimanavi a[title="LV"]:before {
    content: url(../img/lang/lv.png);
}

#top .voimanavi a[title="ET"]:before {
    content: url(../img/lang/et.png);
}

#top .voimanavi a[title="FI"]:before {
    content: url(../img/lang/fi.png);
}

#top {
    display: flex;
    gap: 0.5rem;
    /*flex-basis: 100%;*/
    /*flex-direction: column;*/
    align-items: center;
    border-radius: 0;
    position: fixed;
    width: 100%;
    z-index: 1;
}

#top {
    grid-area: 2 / 1 / 1 / 10;
}

#top .voimanavi .content {
    display: block;
    width: 100%;
}

#top .login {
    order: 999;
}

#top .toggler + label + * {
    position: absolute;
    flex-direction: column;
    background-color: #fff;
    z-index: 1;
    top: 100%;
    left: 0;
    box-shadow: 0px 1px 5px 0px rgba(0, 0, 0, .5);
}

#top .login .toggler + label + * {
    right: 0;
    left: auto;
    padding: 1rem;
}

#top .toggler {
    display: none;
}

#top .toggler + label {
    font-size: large;
    cursor: pointer;
}

#top .toggler:not(:checked) + label + * {
    display: none;
}

#top .toggler:checked + label + * {
    display: flex;
}

#top ul ul {
    display: block;
    position: static;
    border: none;
    box-shadow: none;
}

#top ul ul a {
    font-size: small;
}

#top .login {
    margin-left: auto;
}

#ctrl-logout-button {
    white-space: nowrap;
}

/*.module.chat {
    position: fixed;
    bottom: 0;
    right: 0;
}

.module.chat > .content {
    position: absolute;
    bottom: 0;
    right: 1em;
    display: flex;
    align-items: flex-end;
}

.module.chat .start-chat {
    background-color: #333;
    color: #fff;
    padding: 1em;
    white-space: nowrap;
}

.chat-window {
    border: 2px solid #000;
    border-radius: 0.5em 0.5em 0 0;
    background-color: #fff;
    display: flex;
    align-items: stretch;
    flex-direction: column;
}

.chat-window button,
.chat-window select {
    display: block;
}

.chat-ui {
    background-color: #000;
}

.chat-ui .icon-minus,
.chat-window.maximized .chat-ui .icon-plus,
.chat-window.minimized .chat-ui.bottom,
.chat-window.minimized .chat-messages {
    display: none;
}

.chat-window {
    height: 50vh;
    min-height: 350px;
    width: 250px;
}

.chat-window textarea {
    width: 100%;
    display: block;
}

.chat-window.maximized {
    height: 100vh;
    width: 100vh;
}

.chat-window .chat-messages {
    height: 100%;
    overflow: auto;
    padding: 0.5em;
}

.chat-window.maximized .chat-messages {
    height: 100%;
}

.chat-window.maximized .chat-ui .icon-minus {
    display: initial;
}

.chat-window.minimized {
    height: auto;
    min-height: 0;
}

.chat-window .chat-ui .icon-cancel {
    float: right;
}

.chat-window .chat-ui button {
    background: none;
    background-color: transparent;
    color: #fff;
    border: none;
    padding: 0.25em 0.5em;
}

.chat-messages .message {
    max-width: 75%;
    white-space: pre-wrap;
    clear: both;
    padding: 0.5rem;
}

.chat-messages .message.mine {
    background-color: #A3D39C;
    float: right;
    color: #258833;
}

.chat-messages .message .name,
.chat-messages .message .info {
    font-size: x-small;
    font-weight: bold;
    margin-bottom: 1em;
}

.chat-messages .message .name {
    padding: 0.25em 0.5rem;
    margin: -0.5rem;
    margin-bottom: 0.5rem;
    background-color: rgba(0,0,0,0.5);
    color: #fff;
}

.chat-messages .message.mine .name,
.module.adminchat .start-chat {
    display: none;
}

.chat-messages .message .info {
    margin-bottom: 0;
    margin-top: 0.5rem;
    text-align: right;
    font-style: italic;
    font-weight: normal;
}*/

.voimafront .content {
    display: flex;
    flex-wrap: wrap;
    column-gap: 1rem;
}

.voimafront .content > section {
    flex: 1 1 33.33%;
}

.voimafront .content > section + section {
    padding-left: 1em;
}

.voimafront .content > form {
    flex: 1 0 100%;
}

.voimafront ul {
    list-style: none;
}

.voimafront .messages {
    padding: 0;
}

.voimafront .messages > li {
    margin-bottom: 2em;
    padding-bottom: 2em;
    border-bottom: 1px solid #ddd;
    position: relative;
}

.voimafront .messages > li.closed:before,
.voimafront .messages > li.new:before {
    content: '';
    background-image: url(../img/icons/tick.png);
    display: block;
    width: 2em;
    height: 2em;
    background-repeat: no-repeat;
    background-position: center;
    position: absolute;
    right: -0.5em;
    top: -0.5em;
    background-color: green;
    border: 2px solid #fff;
    border-radius: 50%;
}

.voimafront .messages > li.new:before {
    background-image: url(../img/icons/star.png);
    background-color: yellow;
}

.voimafront .messages > li.new > .message {
    box-shadow: 0 0 5px 0px yellow;
    border: 2px solid #fff;
}

.voimafront .messages .info,
.voimafront .messages time {
    color: #eee;
    font-weight: bold;
    border-radius: 0.5em 0.5em 0 0;
    overflow: hidden;
    background-color: rgba(0, 0, 0, 0.1);
    margin: -1em;
    margin-bottom: 1em;
    padding: 0.5em;
}

.voimafront .messages time {
    margin-bottom: -1em;
    margin-top: 1em;
}

.voimafront .messages .message {
    display: block;
    background-color: rgba(37, 136, 51, 0.5);
    color: rgba(0, 0, 0, 0.5);
    padding: 1em;
    border:none;
}

.voimafront .messages .urgent .message {
    background-color: rgba(255, 100, 0, 0.5);
}

.voimafront .messages .message.level_7 {
    background-color: rgba(0, 100, 255, 0.5);
}

.voimafront .messages span,
.voimafront .messages time {
    display: block;
}

.voimafront .messages time {
    text-align: right;
    font-style: italic;
    margin-top: 0.5em;
}

.voimafront .messages form {
    background-color: #eee;
    border-radius: 0.5em;
    padding: 1em;
    color: #666;
}

.voimafront .responses > input,
.voimafront .responses > input + label + form,
.voimafront .responses > input:checked + label {
    display: none;
}

.voimafront .responses > input:checked + label + form {
    display: block;
}

label.cancel,
input.collapse + label {
    font-size: 12px;
    font-weight: normal;
    display: inline;
    color: #f60;
    text-decoration: underline;
    cursor: pointer;
}

label.cancel:hover {
    text-decoration: none;
}

input.collapse:checked + label + ul,
input.collapse:checked + label span.hide,
input.collapse + label span.show,
input.collapse {
    display: none;
}

input.collapse:not(:checked) + label span.hide,
input.collapse:checked + label span.show {
    display: initial;
}

input.collapse + label {
    margin-top: -0.5em;
    margin-bottom: 0.5em;
    display: block;
}

ul.messages li .info .icon,
i.icon {
    display: inline-block;
    vertical-align: middle;
    margin-right: 0;
    width: 1.5em;
    height: 1.5em;
    background-repeat: no-repeat;
    background-position: center;
}

.icon.user {
    background-image: url('../img/icons/user-worker.png');
}

.icon.client {
    background-image: url('../img/icons/store.png');
}

.icon.phone {
    background-image: url('../img/icons/telephone-handset-wire.png');
}

p.adminresponse {
    margin-top: 0.5em;
    color: blue;
    text-align: right;
}

.tags {
    padding: 0;
    margin: 0;
    font-size: x-small;
}

.tags li {
    list-style: none;
    display: inline-block;
    background-color: #666;
    color: #fff;
    padding: 0 0.5em;
    margin: 0.25em 0;
}

.tags li a {
    text-decoration: none;
    color: #fff;
    display: inline-block;
    padding: 0 0.5em;
    background-color: #333;
    margin: 0 -0.5em 0 0.5em;
    display: none;
}

.tags li:hover a {
    display: inline-block;
    background-color: #f00;
}

.tags li.toggler {
    padding: 0;
}

.tags li.toggler a {
    display: block;
    margin: 0;
}

.shop-instruction-item .tags li:nth-child(n+4):not(.toggler),
.ui-dialog .tags .toggler
{
    display: none;
}

#shift-employees .checkbox {
    display: block;
}

#shift-employees .checkbox :not(:checked) + label {
    display: none;
}

#add-shifts-dialog,
#add-shifts-dialog > #employees {
    display: grid;
    grid-template-columns: repeat(6, 1fr);
}

#add-shifts-dialog > #status {
    flex: 1 1 auto;
}

#add-shifts-dialog > #place {
    flex: 0 0 33.33%;
    grid-column-start: 1;
    grid-column-end: 2;
}

#add-shifts-dialog > #employees {
    flex: 0 0 66.66%;
    grid-column-start: 2;
    grid-column-end: 7;
    /*display: flex;*/
    grid-template-columns: repeat(2, 1fr);
    grid-template-rows: auto 1fr;
}

#add-shifts-dialog > #employees > .formelement {
    flex: 0 0 50%;
}

#add-shifts-dialog #limit {
    grid-column-end: span 2;
}

fieldset {
    margin: 0;
}

.formelement {
    position: relative;
}

.formelement + .fieldset {
    margin-top: 1em;
}

ul.values {
    padding: 0;
    list-style: none;
}

.formelement.checkboxgroup li {
    display: block;
}

.formelement.checkboxgroup li + li {
    margin-top: 2px;
}

.formelement.checkboxgroup.horizontal li,
.formelement.checkboxgroup.horizontal li + li {
    display: inline-block;
    margin-top: 0;
}

#add-shifts-dialog #shift-employees .values {
    border: 2px dashed #999;
    padding: 1em;
}

.formelement.rangeslider .slider {
    padding: 3em 0;
    position: relative;
}

div.noUi-pips-horizontal {
    height: 0;
}

#add-shifts-dialog #update-form {
    display: none;
}

#days-select {
    flex: 1 1 80%;
    grid-column-start: 1;
    grid-column-end: span 3;
}

#timelessness, #strictness {
    /*flex: 1 1 10%;*/
    padding-left: 1rem;
}

.scheduler.form_container .rangeslider {
    grid-column-start: 1;
    grid-column-end: span 6;
}

.field.ins ul,
.field.outs ul {
    list-style: none;
    margin: 0;
    padding: 0;
}


td.field.ins,
td.field.outs {
    background: none;
    border: 0px;
    padding: 0;
    vertical-align: top;
}

.field.ins li,
.field.outs li {
    display: flex;
    align-items: stretch;
}

.field.ins a,
td.field.ins span,
.field.outs a,
td.field.outs span {
    flex: 1 1 99%;
    color: #0097e5;
    background-color: #ddefff;
    border: 1px solid;
    padding: 0.25em;
    border-radius: 0.25em;
    text-decoration: none;
    white-space: nowrap;
}

.field.ins a.delete,
.field.outs a.delete {
    flex: 1 1 1%;
    background-color: #fff2f2;
    color: #ffa2a2;
    padding: 1em;
}

.field.ins a:hover,
.field.outs a:hover {
    color: #00a8ff;
    background-color: #e7faff;
}

.field.ins a.delete:hover,
.field.outs a.delete:hover {
    color: maroon;
    background-color: salmon;
}

.field.ins li + li,
.field.outs li + li {
    margin-top: 2px;
}

#lists-order .values {
    margin: 0;
}

#lists-order .values li {
    display: inline-block;
}

#lists-order .values li label {
    cursor: w-resize;
}

td .drop_date {
    flex-wrap: wrap;
    border: 1px solid;
    border-radius: 5px;
    margin-bottom: 0.25em;
}

td .declaration,
td .drop_date {
    align-items: stretch;
}

td .drop_date .top_row {
    flex: 0 0 50%;
}

td .drop_date .bot_row {
    flex: 0 0 33.33%;
}

td .drop_date.disabled:not(.conflict) .bot_row,
td .drop_date.disabled:not(.conflict) .blocks {
    display: none;
}

td .drop_date.disabled:not(.conflict) {
    opacity: 0.25;
}

td .drop_date.conflict {
    border: 2px solid #f00;
}

td .drop_date.disabled:hover {
    opacity: 1;
}

td .drop_date.disabled:hover .blocks {
    display: block;
}

td .drop_date .blocks {
    flex: 0 0 100%;
    padding: 0.25em;
    background-color: #fff;
    border-top: 1px solid;
    border-bottom: 1px solid;
}

td .declaration span {
    flex: 1 1 100%;
    padding: 0 0.5em;
}

td .declaration span:first-child {
    border-radius: 0.5em 0 0 0.5em;
}

td .declaration span:last-child {
    border-radius: 0 0.5em 0.5em 0;
}

.too-many,
.estimate,
table.alerts td.amount.estimate,
table.alerts tr td.unstaffed {
    background-color: #fffd71;
    color: orange;
    border: 1px solid;
}

.okay,
.exact,
table.alerts td.amount:not(.estimate) {
    background-color: lightgreen;
    color: green;
    border: 1px solid;
}

.too-few,
table.alerts tr td.too-few,
td div.declaration span.amount.none {
    background-color: pink;
    color: crimson;
    border: 1px solid;
}

.estimate span:before,
td.amount.estimate:before {
    content: '~';
}

th .chosen-container {
    width: 100% !important;
}

div.chosen-container-single div.chosen-drop {
    min-width: 250px;
}

ul.tabs,
ul.tab-content {
    list-style: none;
    padding: 0;
}

ul.tab-content > li > div,
ul.tab-content > li > input {
    display: none;
}

ul.tab-content > li > input:checked + div {
    display: block;
}

ul.tabs li label {
    border-radius: 3px 3px 0 0;
}

ul.tabs {
    margin-bottom: 0;
}

ul.tabs + ul.tab-content {
    margin-top: -1px;
    padding: 0.5em;
    border: 1px solid rgba(0, 0, 0, 0.25);
}

ul.tabs + ul.tab-content li {
    overflow: auto;
}

ul.tabs li label.active {
    background-color: white;
    border-bottom: 1px solid #fff;
}

.free-dates {
    display: flex;
    list-style: none;
    padding: 0;
    margin: 0 -1em -0.5em -1em;
}

.free-dates li {
    flex: 1 1 15%;
    padding: 0.25em 0.5em;
    background-color: green;
    color: rgba(255,255,255, 0.75);
    font-size: xx-small;
    line-height: 1.25em;
    text-align: center;
    border: 1px solid rgba(255,255,255, 0.75);
}

.watchercontrol .time-block.active,
.scheduler .time-block.active {
    animation:blink normal 1s infinite ease-in-out;
}

.scheduler .time-block.done {
    /*border: 2px solid limegreen;*/
}

.scheduler .time-block.done .pieces {
    background-color: #000;
}
.scheduler .time-block.done .pieces > * {
    opacity: 0.75;
}

#main a[disabled] {
    opacity: 0.5;
    cursor: not-allowed;
}

fieldset#employees {
    display: flex;
}

fieldset#employees .formelement {
    flex: 1 1 33.33%;
}

fieldset#employees .formelement + .formelement {
    flex: 1 1 66.66%;
}

fieldset#employees .formelement + .formelement textarea {
    min-height: 500px;
}

.context-menu-enabled th.tools {
    display: none;
}

.formelement .description {
    font-style: italic;
    margin: 1em 0;
    flex: 0 0 100%;
}

.formelement.number .description {
    max-width: 600px;
}

.latest_reply {
    float: right;
    text-align: right;
}

.module.aprende tr.user.active td {
    background-color: #49525d;
    color: #fff;
    border-color: #000;
}

.module.aprende tr.date td {
    background-color: #caf2c3;
    color: rgba(0,0,0,0.75);
}

.module.aprende tr.date.active td {
    background-color: #4c6a52;
    color: #fff;
    border-color: #000;
}

.module.aprende tr.date,
.module.aprende tr.event {
    display: none;
}

.module.aprende tr.event th {
    padding: 0.25em;
}

tr td.work_type_id_travel:not(.separator),
tr:hover .work_type_id_travel:not(.separator) {
    color: #fff;
    border: 1px solid darkblue;
    background-color: steelblue;
}

tr td.good,
.piece.good,
.module.aprende tr.date td.good,
.module.aprende tr.date.active td.good {
    background-color: green;
    color: greenyellow;
    border: 1px solid;
}

tr td.bad,
.piece.bad,
.module.aprende tr.date td.bad,
.module.aprende tr.user td.bad,
.module.aprende tr.date.active td.bad,
.module.aprende tr.user.active td.bad {
    background-color: maroon;
    color: salmon;
    border: 1px solid;
}

tr td.bad.estimate,
.piece.bad.estimate {
    background-color: orangered;
    color: pink;
}

tr td.good.estimate,
.piece.good.estimate {
    background-color: yellowgreen;
    color: yellow;
}

.time-block.delegated {
    box-shadow: 0px 0px 10px yellow;
}

.formelement.password {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
}

.formelement.password label {
    flex: 0 0 100%;
}

.formelement.password .toggle-password-visibility {
    display: none;
}

.formelement.password .toggle-password-visibility + label {
    flex: 1 1 0;
    font-size: 1.25em;
    padding: 0.5em;
    cursor: pointer;
    color: #999;
}

.formelement.password .toggle-password-visibility + label:hover {
    color: #666;
}

b.passcode {
    display: inline-block;
    padding: 0.5em;
    border: 2px dashed;
    font-size: 1.25em;
}

.location-suggestions > span {
    display: none;
}

.location-suggestions > span:first-child {
    display: initial;
}

.shopinstructionpreview ul,
.shop-instructions-editor ul {
    list-style: none;
    padding: 0;
}

.shopinstructionpreview .shop-instruction-item,
.shop-instructions-editor .shop-instruction-item {
    padding: 2em;
    border: 1px dashed #CDCDCD;
    background-color: #fff;
    position: relative;
}

.shopinstructionpreview .shop-instruction-item.status-0,
.shop-instructions-editor .shop-instruction-item.status-0 {
    opacity: 0.25;
}

.shopinstructionpreview .shop-instruction-item h4:hover,
.shop-instructions-editor .shop-instruction-item h4:hover {
    opacity: 1;
    cursor: grab;
    border-style: solid;
}

.shopinstructionpreview .links,
.shop-instructions-editor .links {
    display: none;
}

.shopinstructionpreview li:hover .links,
.shop-instructions-editor li:hover .links {
    display: flex;
    position: absolute;
    top: 0;
    right: 0;
    border-radius: 0 0 0 0.5rem;
}

.shopinstructionpreview .links a,
.shop-instructions-editor .links a {
    background-color: #fd671a;
    color: #fff;
    padding: 0.5rem;
}

.shopinstructionpreview .links a:hover,
.shop-instructions-editor .links a:hover {
    background-color: #ffa774;
}

.formelement.upload .images {
    display: flex;
}

.formelement.upload .images > div {
    position: relative;
}

.formelement.upload .images > div > a.remove {
    position: absolute;
    top: 0;
    right: 0;
    font-size: xx-large;
    color: red;
}

.formelement.upload .images > div > .not-image + a.remove {
    position: initial;
    font-size: initial;
}

.center {
    margin: 0 auto;
}

.text-center {
    text-align: center;
}

.horizontal-margin-large {
    margin-top: 100px;
    margin-bottom: 100px;
}

.button.square {
    aspect-ratio: 1/1;
    display: flex;
    flex-direction: column;
    justify-content: center;
}

.square.large {
    flex: 0 0 200px;
}

.center {
    margin: 0 auto;
    justify-content: center;
}

.shop-instructions-editor .intro-buttons {
    column-gap: 1em;
}

.shop-instruction-item .tags {
    position: absolute;
}

.shop-instruction-item .tags li {
    margin: 0;
}

.shop-instruction-item .tags.topleft {
    top: 0;
    left: 0;
}

.shop-instruction-item .tags.bottomright {
    bottom: 0;
    right: 0;
}

.shop-instruction-item .tags.bottomleft {
    bottom: 0;
    left: 0;
}

h4.instruction-type {
    position: absolute;
    top: 0;
    left: 50%;
    transform: translateX(-50%);
    margin: 0;
    padding: 0.5em 1em;
    background-color: green;
    color: #fff;
}

.messages:empty + .more {
    display: none;
}

.shop-instruction-item.status-0 .disablelink,
.shop-instruction-item.status-1 .enablelink,
.storefront h4.instruction-type {
    display: none;
}

.amount ul {
    margin: 0;
    padding: 0;
    list-style: none;
}

#ctrl_location_id_chosen {
    width: auto !important;
}

#place .checkboxgroup {
    /*    max-height: 500px;
        overflow: auto;*/
}

.side-by-side .module > .content {
    display: flex;
    gap: 1rem;
}

.side-by-side .module > .content > div {
    flex: 1 1 auto;
}

.tooltip {
    position: absolute;
    background-color: #fff;
    padding: .25em .5em;
    white-space: nowrap;
    transform: translate(-3px, -100%);
    box-shadow: 0 0 10px #0003;
    border: 1px solid #999;
    border-radius: 3px;
    color: #666;
}

.tooltip:after {
    content: '';
    border-top: 5px solid #000;
    border-left: 5px solid transparent;
    border-right: 5px solid transparent;
    position: absolute;
    top: 100%;
    left: 5px;
}

.stick {
    position: fixed;
    z-index: 1;
}

.filtersUI,
.filtersUI .filterfield {
    display: flex;
    justify-content: center;
    align-items: center;
}

.filtersUI {
    gap: .25rem;
    border-top: 2px dashed;
    margin: 2em;
    padding: 2em;
}

.filtersUI .filterfield {
    padding: 0.25em;
    border-radius: 5px;
}

.filtersUI .filterfield > select,
.filtersUI .filterfield > button {
    background: transparent;
    border: none;
    color: #fff;
}

.filtersUI .filterfield > button {
    padding: 0 0.5rem;
}

.filtersUI .filterfield > select option {
    color: initial;
}

.filtersUI > button {
    margin-left: 1rem;
    font-size: x-large;
    border: none;
    background: transparent;
}

.piece.status_id_2 {
    background-color: #057bc2;
    color: rgba(255, 255, 255, 0.85);
}

.piece.status_id_5 {
    background-color: #ffbfbf;
    color: rgba(0, 0, 0, 0.85);
}

.selectbox li .tag {
    font-size: xx-small;
    background-color: #666;
    color: #fff;
    display: inline-block;
    padding: .15em .5em;
    margin-left: .25em;
    line-height: 1.5em;
}

.selectbox-values .tag {
    display: none;
}

.selectbox li .tag.client {
    background-color: #057bc2;
}

.selectbox li .tag.location {
    background-color: #00746b;
}

.selectbox li .tag.area {
    background-color: #ffa774;
}

.selectbox li .tag.date {
    background-color: #f55;
}

.selectbox li .tag.worktype {
    background-color: #ae81ff;
}

.voimafront .absences {
    
}

.voimafront .absences .time-block {
    display: block;
    position: relative;
}

@keyframes blink {
    0% {
        opacity: 1;
    }
    50% {
        opacity: 0.5;
    }
    100% {
        opacity: 1;
    }
}

@media(max-width: 767px) {
    input {
        font-size: 16px;
        max-width: 100%;
    }
}