@charset "utf-8";
/*
Our main colors were picked by and from http://www.colorsontheweb.com/colorwizard.asp
#BDE682, foreground, light green
#73AC22, contrast, strong green
#FEFEFF, background, white
#B4B4B4, ?,  grey
#ECE7E8, small boxes, light grey
#E6828B; alert, red
The ids of elements SHOULD be written in #camelCase.
The names of classes SHOULD be written in .kebab-case.
*/
@media screen {
    div
    {
        margin: 10px;
        /*
        border: 1px solid #FF0000;
        */
    }
}

html {
    font-size: 16px;
}

body {
    /*background-color: #ECE7E8;*/
    font-family: sans-serif;
}

footer {
    clear: left;
}
table, th, td {
    white-space: nowrap;
    vertical-align: top;
    font-family : "Myriad Web",Verdana,Helvetica,Arial,sans-serif;
    border-collapse: collapse;
    padding:0 1.0em 0.8em 0;
}

thead {
    border-bottom-style: solid;
    border-bottom-color: black;
    border-bottom-width: 1px;
}

tfoot {
    border-top-style: solid;
    border-top-color: black;
    border-top-width: 1px;
}

table.table-with-border td {
    border: solid 1px #000000;
}
table.table-with-underline-rows tr  {
    border-bottom: 0.5px solid black;
}

td {
    white-space: nowrap;
    vertical-align: top;
}

th {
    text-align: left;
    border-bottom: solid black;
}

td.absentees-column {
    white-space: normal;
    font-size: smaller;
}

a {
    text-decoration: none;
    color: #73AC22;
}

a:hover {
    text-decoration: underline;
}

.only-print {
    display: none;
}

div.foot {
    display: inline-block;
    float: left;
    clear: both;
    /*	background-color: #BDE682;*/
    width: 95%;
}

@media screen and (min-width: 931px) {
    div#mainAreaCentered {
        text-align: center;
        padding: 10px;
        border: 3px solid #73AC22;
        max-width: 50%;
        margin: auto;
    }
    div#mainAreaCentered * {
        margin: auto;
    }
}

@media screen and (max-width: 930px) {
    div#mainAreaCentered {
        text-align: center;
        padding: 10px;
        border: 3px solid #73AC22;
        max-width: 465px;
        margin: auto;
    }
}

main {
    border: 2pt solid #BDE682;
    padding: 1em;
}

div#mainArea {
    /*
    width: 95%;
    overflow: auto;
    */
    position: relative;
    float: left;
    clear: left;
    padding-bottom: 8px;
    padding-left: 8px;
    padding-right: 8px;
    padding-top: 8px;
}

table#dutyRosterTable {
    /*
    width: 85%;

    font-size: 1.18vw;
    */
}

div#tableOverlayArea {
    /*
    width: 100%;
    */
    position: relative;
}

img.inline-image {
    height: 0.9em;
}

img.roster-input-row-add-row-image {
    width: 2em;
}

label {
    margin-top: 0.5em;
    /*
    display: block;
    */
}

div.overlay {
    position: absolute;
    width: 100%;
    height: 100%;
    /*
    left: 25%;
    top:25%;
    */
    margin-top: 1.2em;
    text-align: center;
    display: flex;
    align-items: center;
    justify-content: center;
    /*
    float: left;
    clear: both;
    */
    background-color: #73AC22;
    opacity: 0.8;
    z-index: -10;
}
div.overlay:hover
{
    opacity: 0.2;
    z-index: -10;
}
div.user-dialog-container {
    max-height: 30vh; /* 30% of the viewport height */
    overflow-y: auto; /* Add a vertical scrollbar when content exceeds the max-height */
    position: relative;
    float: right;
    top:0;
    max-width: 650px;
    margin: 1em;
}
div.user-dialog-container div {
    /*
    padding-right: 2em;
    */
    padding-left: 15px;
    margin-top: 0em;
    margin-left: 0em;
    margin-right: 0em;
    margin-bottom: 0em;
    z-index: 10;
}
div.user-dialog-container div p{
    padding-top: 0.3em;
    padding-bottom: 0.3em ;
}
div.user-dialog-container div.error {
    background-color: #73AC22;
    font-size: xx-large;
    font-family: monospace;
}
div.user-dialog-container div.error a {
    color: #B4B4B4;
}
div.user-dialog-container div.warning {
    background-color: #BDE682;
    font-size: large;
    font-family: sans-serif;
}
div.user-dialog-container div.notification {
    background-color: #ECE7E8;
    font-size: medium;
    font-family: serif;
}
div.user-dialog-container div pre * {
    color: black;
}

nav#mainNavigation {
    display: inline-block;
    width: 100%;
    background-color: #BDE682;
}

nav ul#navigationList {
    list-style-type: none;
    display: block;
    margin: 0;
    padding: 0;
}

nav ul#navigationList li {
    height: 2em; /*is equal to {nav ul#navigationList li a}[line-height]*/
    float: left;
}

nav ul#navigationList li:last-child a {
    font-style: italic;
}

nav ul#navigationList li p, nav ul#navigationList li span, nav ul#navigationList li a {
    vertical-align: central;
    border-left: 1px solid #73AC22;
    display: inline-block;
    text-align: center;
    background-color: #BDE682;
    color: #000000;
    padding-left: 0.5em;
    padding-right: 0.5em;
    line-height: 2em; /*is equal to {nav ul#navigationList li}[height]*/
}

ul#navigationList li a:hover {
    background-color: #73AC22;
    color: #FFFFFF;
}

nav ul#navigationList li:hover > ul {
    display: block;
}

ul#navigationList ul, ul#navigationList ul li ul{
    display: none;
    position: absolute;
    list-style-type: none;
    padding-left: 0;
    margin-left: 2.0em;
    z-index:  20;
}

ul#navigationList ul li {
    clear: both;
    width: 100%;
}

ul#navigationList ul li a {
    font-style: inherit !important;
    display: inline-block;
    float: left;
    clear: both;
    width: 100%;
}


tr.wochenende {
    background-color: #B4B4B4;
}

img.worker-img {
    border: 5px solid #B4B4B4;
    clear: left;
    position: relative;
    float: left;
    height: 64px;
}

img.worker-img:hover {
    height: auto;
    width: 90%;
}

.large {
    font-size: xx-large;
    margin-bottom: 1em;
}

.size-medium, .size-medium * {
    font-size: medium;
}

.smaller, .smaller * {
    font-size: smaller;
}

.tiny {
    font-size: xx-small;
    font-weight: lighter;
}

.unobtrusive{
    font-size: smaller;
    font-weight: lighter;
}

.hint {
    font-size: small;
    font-weight: lighter;
    /*
    text-align: left;
    */
}

.table {
    display:block;
    border: 5px;
    width: 10%;
}

.row {
    display:block;
}

.cell-header {
    font-weight: bold;
}

.cell {
    display:inline-block;
}

button.next {
    background-color: #73AC22;
}

button {
    background-color: #BDE682;
    border: none;
    color: black;
    padding: 1em 2em;
    margin-right: 1em;
    text-align: center;
    text-decoration: none;
    display: inline-block;
    font-size: medium;
}
button.attention {
    background-color: #E6828B;

}
img.button-image
{
    height: 2em;
    max-width: 2em;
}

.button-small {
    width: 2em;
    height: 2em;
    margin: 0px;
    margin-bottom: 2px;
    padding: 0.10em;
}

.button-small > img {
    height: 100%;
    vertical-align: top;
}

button:hover{
    box-shadow: 0px 0px 10px #888888;
}

.btn-save {
    background-color: #73AC22;
    color: white;
}

.icon-white {
    -webkit-filter: brightness(0) invert(100%);
    -moz-filter: brightness(0) invert(100%);
    -ms-filter: brightness(0) invert(100%);
    -o-filter: brightness(0) invert(100%);
    filter: brightness(0) invert(100%);
}

.icon-black {
    -webkit-filter: brightness(0);
    -moz-filter: brightness(0);
    -ms-filter: brightness(0);
    -o-filter: brightness(0);
    filter: brightness(0);
}

.btn-primary {
    width: 10em;
    height: 6em;
    padding: 0.5em;
    margin-bottom: 0.5em;
}

.btn-secondary {
    width: 10em;
    height: 6em;
    margin-bottom: 0.5em;
    background-color: #B4B4B4;
}

button:disabled, .btn-secondary:disabled {
    filter: opacity(0.5);
    box-shadow:  none;
}

.noselect {
    -webkit-touch-callout: none; /* iOS Safari */
    -webkit-user-select: none; /* Chrome/Safari/Opera */
    -khtml-user-select: none; /* Konqueror */
    -moz-user-select: none; /* Firefox */
    -ms-user-select: none; /* Internet Explorer/Edge */
    user-select: none; /* Non-prefixed version, currently
                          not supported by any browser */
}

div#weeklyRotation {
    font-family: monospace;
    font-size: smaller;
    /*
    position: relative;
    float: right;
    */
}

div#printTimeInfo {
    position:  absolute;
    bottom: 0em;
    right: 0em;
}

div#rosterWeekImageDiv {
    page-break-inside: avoid;
}

div#weekHoursTableDiv {
    font-family: monospace;
    font-size: smaller;
    /*
    position: relative;
    float:     right;
    */
}

table.tight tr td {
    padding-bottom: 0em;
}

.left-float-pool * {
    float: left;
    margin-right: 1em;
}

#branchForm {
    margin-right: 1em;
    float: left;
    /*
    clear: left;
    */
}

div#bottom
{
    position: absolute;
    bottom: 0;
}

#rosterForm, #principleRosterForm {
    float: left;
    clear: left;
}

#weekdayForm{
    margin-right: 1em;
    float: left;
}

#navigationFormDiv
{
    float: left;
    clear: left;
}
div#dutyRosterTableDiv
{
    float: left;
    clear: left;
}
div#dutyRosterTableDiv td {
    white-space: normal;
}

/*
 * tag-in.php
 * -->
 */
div.image {
    /*
    border: solid black 1px;
    */
    margin-top: 1em;
    float: left;
}
div.image p {
    margin-bottom: 0em;
}
div.image div.image-part {
    /*
    border: black  dashed 2px;
    */
    float: left;
    margin-right: 1em;
}
/*
 * <--
 * tag-in.php
 */

@media screen and (max-width: 628px) {
    #dutyRosterTableDiv {
        width: 100%
    }
    #rosterImageDiv{
        width: 100%;
    }
    #rosterImageDiv svg, #rosterImageDiv canvas{
        width: 100%;
        border: 0;
    }
}
@media screen and (min-width: 629px) {
    #dutyRosterTableDiv {
        max-width: 45%;
    }
    #rosterImageDiv{
        float: right;
        width: 54%;
    }
    #rosterImageDiv svg, #rosterImageDiv canvas{
        width: 99%;
        /*
        border: 1px solid #000000;
        */
    }
}

nav#navigationTiles{
    background-color: #BDE682;
    /*
    width: 100%;
    */
    display: table;
    margin: auto;
    margin-top: 2em;
}
nav#navigationTiles ul#navigationListTiles {
    list-style-type: none;
    display: block;
    margin: 0;
    padding: 0;

}
nav ul#navigationListTiles li {
    float: left;
    border: 1px solid black;
    margin: 16px;
}
nav ul#navigationListTiles li:hover {
    background-color: #73AC22;
    color: #FFFFFF;
}
nav ul#navigationListTiles li:hover a img.image-tiles{
    -webkit-filter: brightness(0) invert(100%);
    -moz-filter: brightness(0) invert(100%);
    -ms-filter: brightness(0) invert(100%);
    -o-filter: brightness(0) invert(100%);
    filter: brightness(0) invert(100%);
}
nav ul li a img.image-tiles{
    height: 128px;
    width: 128px;
}
/*
 * The following lines are added for stunden-in.php
 * -->
 */
table tr td input#stunden{
    width: 4em;
}
/*
 * <--
 * The above lines are added for stunden-in.php
 */


/*
 * The following lines are added for src/php/pages/branch-management.php
 * -->
 */
div#formButtonsContainer{
    overflow:  auto;
}
button.form-button{
    width: 10em;
    padding-left: 0em;
    padding-right: 0em;
    margin-bottom: 1em;
}
button.form-button img{
    max-width: 2em;
    max-height: 2em;
    /*
    float:  right;
    */
}
button.form-button p{
    font-size: larger;
}
div#branchManagementFormDiv{
    clear:  both;
}

/*
 * The following lines are added for absence-edit.php
 * -->
 */
tr.absence-row[data-approval='approved'] {
    color: green;
}
/*
 * <--
 * The above lines are added for absence-edit.php
 */

/*
 * The below lines are added for human-resource-management
 * -->
 */
.no-wrap{
    white-space: nowrap;
}
/*
 * <--
 * The above lines are added for human-resource-management
 */
/*
 * The below lines are added for all sites containing build_html_navigation_elements
 * -->
 */
div#navigationElements {
    width: 100%; /*make sure, that there is nothing right of the navigation bar*/
    float: left;
    clear: both;
}
.inline-form {
    display: inline;
}
.inline-element {
    display: inline;
}
.inline-block-element {
    display: inline-block;
}
/*
 * <--
 * The above lines are added for all sites containing build_html_navigation_elements
 */

svg.svg-img {
    cursor: default;
}
svg.svg-img foreignObject p {
    margin-top: 0px;
    box-shadow: inset 0 0 0 1000px #B4B4B4;
    /*
     * cursor styles:
     */
    cursor: move;
}
svg.svg-img g g rect.Apotheker, svg.svg-img g g rect.PI {
    margin-top: 0px;
    fill: #73AC22;
}
svg.svg-img g g rect.PTA {
    margin-top: 0px;
    fill: #BDE682;
}
svg.svg-img g g rect  {
    margin-top: 0px;
    fill: #B4B4B4;
}
svg.svg-img g g rect.selected {
    color: white;
}

svg.svg-img g g text tspan {
    float: right;
}

svg.svg-img g.break-box rect {
    fill: #FEFEFF;
    cursor: cell;
    stroke: black;
    stroke-width: 0.3;

}

svg.svg-img line.grid-line {
    stroke-dasharray:1, 8;
    stroke:black;
    stroke-width:2;
}
svg.svg-img line.grid-line-secondary {
    stroke-dasharray:1, 16;
    stroke:black;
    stroke-width:2;
}

body table tbody tr.branch-roster-title-tr th{
    padding-top: 1em;
    font-size: x-large;
}
body div#weekHoursTableDiv p span {
    margin-right: 1em;
    white-space: nowrap;
}
/*
 * absence-edit.php
 */
select[id^='reason_in_'], select[id^='absence_in_']{
    display: none;
}

/*
 * build_html_roster_views::build_roster_readonly_table
 */
span.horizontal-spacer {
    margin-left: 1em;
}

table#dutyRosterTable tr td span.employee-and-hours {
    display: inline-block;
    min-width: 8em;
}
table#dutyRosterTable tr td span.break-time,
table#dutyRosterTable tr td span.duty-time,
table#dutyRosterTable tr td span.employee-and-hours {
    /*
     * display: inline-block; works like an optional white-space: nowrap;
     */
    display: inline-block;
}
div.remaining-holidays {
    clear: left;
}

img.example-artwork {
    /*Relevant for list_of_artwork.php*/
    height: 32px;
    margin-top: 1em;
}
