/* PROJECT SHARED TEMPLATE STYLE SHEET DEFINITIONS */
/* clear all */
*
{
    font-size: 15px;
    font-family: Verdana,Geneva,sans-serif;
    background-color: transparent;
    padding: 0px;
    margin: 0px;
    border-collapse: collapse;
    text-decoration: none;
    list-style: none;
    text-align: justify;
}

/* Layout */

/* - structure
     app
        header
            (flex, auto even space)
        control-panel
        content (auto stretch)
        footer
            (flex, auto even space)
*/

body
{
    padding: 0px;
    margin: 0px;
    border: 0px;
    overflow: hidden;
}

#app
{
    display: grid;
    grid-column-gap: 0px;
    grid-row-gap: 0px;
    grid-template-rows: min-content min-content auto min-content;
    width: 100vw;
    height: 100vh;
}

#header
{
    grid-row: 1;
}

#control-panel
{
    grid-row: 2;
}

#content
{
    grid-row: 3;
    overflow: auto;
    /*margin cannot be on .inner class because some elements in Gantt use it too*/
    margin: 3px;
}

#logout
{
    height: auto !important;
}

#footer
{
    grid-row: 4;
}

/* Placement in main sections */
#header, #control-panel, #footer
{
    display: flex;
    justify-content: space-between;
}

#footer
{
    padding: 8px;
    color: #fff;
    text-shadow: 0 0 10px #0a3e87;
    font-weight: normal;
    border: 0px;
}

    #footer .footer-part.status
    {
        flex-grow: 2;
    }

#header
{
    align-items: center;
}

    #header .company
    {
        height: 33px;
        margin-left: 6px;
        width: 134px;
        min-width: 134px;
    }

        #header .company div
        {
            height: 100%;
            background-image: url(../Images/MericaLogo.jpeg);
            background-repeat: no-repeat;
        }

    #header .company, #header .application
    {
        margin-right: 24px;
    }

    #header .application
    {
        color: #ffa820;
        font-size: 40px;
    }

    #header .module
    {
        flex-grow: 2.5;
        color: #9b9b9b;
        font-size: 24px;
    }

    #header #application-wrapper
    {
        text-align: right;
        display: flex;
    }

    #header #login
    {
        margin-left: auto;
    }

div.login a
{
    margin-left: 5px;
}

#header > div:last-child
{
    margin-left: 6px;
    margin-right: 6px;
}

#header #menu a
{
    margin-left: 6px;
}

#header .role
{
    flex-grow: 0.3;
}

#header .menu_items
{
    flex-grow: 0.1;
}

#header .language-selection .cs div
{
    min-width: 16px;
    min-height: 16px;
    margin-right: 5px;
    float: left; /* apply to both images to make them appear side by side */
    background-image: url(../Images/MericaIconPack/16x16/flag_czech_republic.png);
}

#header .language-selection .en div
{
    min-width: 16px;
    min-height: 16px;
    float: left; /* apply to both images to make them appear side by side */
    background-image: url(../Images/MericaIconPack/16x16/flag_great_britain.png);
}		

/* Graphics */
a
{
    color: #0a3e87;
}

    a:not(.button):not(.ui-tabs-anchor):hover
    {
        color: #ffa820;
    }

h2
{
    margin-top: 0px;
    margin-bottom: 4px;
    font-size: 110%;
    font-weight: bold;
}

h3
{
    margin-top: 0px;
    margin-bottom: 4px;
    font-size: 100%;
    font-weight: bold;
}

/* MEDIA */
@media all and (max-width: 1000px)
{
    #header .application
    {
        display: none;
    }

    #header .module
    {
        display: none;
    }

    #header .company
    {
        flex-grow: 7;
    }

        #header .company div
        {
            width: 140px;
        }
}

@media all and (max-width: 800px)
{
    body, #app
    {
        width: 800px;
    }

    body
    {
        overflow: auto;
    }
}

@media all and (max-height: 600px)
{
    body, #app
    {
        height: 600px;
    }

    body
    {
        overflow: auto;
    }
}

@media(pointer:coarse)
{
    /* Detects touch screens.
	Enlarges the flags so they can be clicked easier. */

    #header .language-selection .en div
    {
        min-width: 32px;
        min-height: 32px;
        background-image: url(../Images/MericaIconPack/32x32/flag_great_britain.png);
        background-size: cover;
    }

    #header .language-selection .cs div
    {
        min-width: 32px;
        min-height: 32px;
        background-image: url(../Images/MericaIconPack/32x32/flag_czech_republic.png);
        background-size: cover;
    }
}			

/* mobiles */
@media(pointer:coarse) and (max-height: 896px) and (max-width: 480px), (pointer:coarse) and (max-height: 480px) and (max-width: 896px)
{
    /* touchscreens smaller than 896x480 (480x896) won't display the footer. */
    #footer
    {
        display: none;
    }

    body
    {
        overflow: hidden;
    }
}


/* FABRIO SPECIFIC STYLE SHEET DEFINITIONS */

#content .inner .inner-wrapper
{
    overflow: auto;
}

#content .inner #frame-holder, #content .inner .inner-wrapper
{
    width: 100%;
    height: 100%;
}

#select-global-filter 
{
    width: 170px;
}

#functional-pane {
    display: flex;
    flex-wrap: wrap;
    justify-content: flex-start; 
}

#configuration-pane {
    display: flex;
    justify-content: flex-end;
    align-items: flex-start;
    margin-right: 0px;
}

.global-filters-toggles {
    display: flex;
    flex-wrap: wrap;
    justify-content: flex-start;
}

#functional-pane .button,
#functional-pane > span,
#functional-pane > select,
#functional-pane .global-filters-toggles > label,
#configuration-pane > label
{
    height: 30px;
    margin-right: 2px;
}

.dialog-message
{
    top: 0px;
    left: 0px;
    padding: .2em;
}

.inner .dialog-message
{
    display: inline-block;
}

/* Content */
.data-panes .ui-tabs-panel
{
    /* decrease by height of pane selection */
    height: calc(100% - 37px);
}

#content .data-panes
{
    height: 100%;
    width: 100%;
    box-sizing: border-box;
    padding: 0px;
}

.data-pane-sheet, .data-pane-gantt
{
    height: 100%;
}

    /* Gantt data pane */
    .data-pane-gantt .gantt-holder
    {
        height: calc(100% - 50px);
        position: relative;
    }

    .data-pane-gantt .panel
    {
        margin-bottom: 8px;
        border: #000 solid 1px;
        padding: 4px;
    }

        .data-pane-gantt .panel .workstation-groups
        {
            border-right: 1px solid #0a3e87;
            width: auto;
            padding-right: 4px;
            margin-right: 4px;
        }

        .data-pane-gantt .panel .workstation-groups,
        .data-pane-gantt .panel .tasks-filter,
        .data-pane-gantt .panel .gantt-colorization
        {
            display: inline-block;
        }

            .data-pane-gantt .panel .tasks-filter .label
            {
                display: inline-block;
                height: 28px;
                margin-right: 4px;
                padding-top: 4px;
            }

            .data-pane-gantt .panel .tasks-filter div.tasks-filter-holder
            {
                display: inline-block;
                width: 180px;
                height: 28px;
                margin-right: 8px;
            }

                .data-pane-gantt .panel .tasks-filter div.tasks-filter-holder input
                {
                    border: #0a3e87 solid 1px;
                    height: 22px;
                    width: 100%;
                    display: inline-block;
                    position: relative;
                    top: 2px;
                }

            .data-pane-gantt .panel .tasks-filter div.button-holder
            {
                display: inline-block;
                width: 84px;
                height: 30px;
            }

    .data-pane-gantt button
    {
        height: 32px;
    }

    .data-pane-gantt label
    {
        height: 28px;
    }

    .data-pane-gantt .panel label .ui-button-text
    {
        padding-top: 0.4em;
    }

    .data-pane-gantt .mark-job-name
    {
        opacity: 0.15;
    }

.gantt-late-job .inner
{
    box-shadow: 0 -3px 0 #ff6633;
}

/* Footer */
#footer .footer-part.status, #footer .footer-part.notifications, #footer .footer-part.kpi
{
    color: #fff;
    text-shadow: 0 0 10px #0a3e87;
    float: right;
    text-align: right;
    padding-left: 35px;
}

/* Responsive layout */
@media all and (max-width: 1200px)
{
    #footer .footer-part.kpi
    {
        display: none;
    }
}

@media all and (max-width: 1000px)
{
    #footer .footer-part.notifications
    {
        display: none;
    }
}

/* Jquery ui styles changes */

.ui-button-text
{
    text-align: center;
}

.ui-tabs-nav.ui-widget-header li
{
    height: 31px;
}

    .ui-tabs-nav.ui-widget-header li a
    {
        height: 16px;
    }

.ui-tabs .ui-tabs-panel
{
    padding: 4px 0 0 0;
}

/* Repaires bug, that width of panel is set to fixed value by jquery ui when content is recieved by ajax */
.ui-tabs-panel > div
{
    width: 100% !important;
}

/* Content viewer styles changes */
.content-viewer .vertical-scroll-wrapper
{
    opacity: 0.8;
}

.content-viewer-vertical, .content-viewer-horizontal
{
    z-index: 10 !important;
}

/* SP overrides */
.spg-controls
{
    float: left;
}

.spg-ribbon-section-title, .spg-menubar
{
    display: none !important;
}

.spg-ribbon-section, .spg-ribbon-section-content
{
    height: 30px !important;
}

.spg-ui-grid-cell
{
    padding-right: 2px;
}

.spg-editrow
{
    display: inline-block;
    width: auto;
    height: auto;
    padding: 0;
    padding-bottom: 4px;
    float: left;
}

    .spg-editrow input
    {
        border: 1px solid #000;
        height: 28px;
        margin-right: 2px;
    }

    .spg-editrow .spg-editrow-valuefield
    {
        width: 350px;
    }

.spg-ribbon
{
    display: inline-block;
    width: auto;
    float: left;
    padding-right: 4px;
    padding-bottom: 4px;
}

.spg-ui-grid
{
    padding-right: 2px;
}

.spg-ribbon-section
{
    border-style: none;
}

.spg-spreadsheet
{
    clear: both;
}

#gui-copy-wrap, .spg-context-menu
{
    display: none !important;
}

.spg button
{
    white-space: nowrap;
}

    .spg button span span
    {
        font-size: 14px !important;
    }

/* Frame overrides */
.inner {
    height: 100%;
}

.ui-frame-holder, .ui-frame-item {
    border: 0px;
    height: 100%;
}

.ui-frame-holder-wrapper, .ui-frame-item-wrapper {
    overflow: hidden !important;
}

.ui-frame-separator
{
    z-index: 50;
}

.overlay
{
    z-index: 10000;
    background-color: #dfedff !important;
    color: #ff6633 !important;
}

.spg-ui-input[type="text"]
{
    border: 1px solid #000;
    height: 17px;
    padding: 2px;
}

.vertical-align-middle {
    vertical-align: middle;
}

/* forms */
form
{
    margin-bottom: 8px;
}

    form td
    {
        padding: 4px;
    }

    form input
    {
        border: #000 solid 1px;
        padding: 2px;
        height: 19px;
    }

    form select
    {
        width: 200px;
        border: #000 solid 1px;
        height: 25px;
    }

    form fieldset
    {
        border: 2px groove;
        padding-left: 20px;
        padding-right: 20px;
        padding-top: 10px;
        padding-bottom: 10px;
        margin-top: 15px;
    }

    form fieldset legend
    {
        font-weight: bold;
        margin-left: 10px;
        padding-left: 5px;
        padding-right: 5px;
    }

    form .field-validation-error, form .validation-summary-errors
    {
        color: #ff6633;
        padding-bottom: 5px;
    }

    form .description
    {
        font-weight: bold;
        margin-bottom: 10px;
        color: #ff6633;
    }

    form .button
    {
        height: 32px;
        font-size: 15px;
    }

.shift-work-week fieldset,
.resource-effectiveness fieldset {
    border: 1px solid #000;
    border-radius: 5px;
    margin-right: 10px;
    margin-bottom: 10px;
    padding: 10px 10px 15px 10px;
}

.shift-work-week .week-length,
.shift-work-week .shift-counts,
.shift-work-week .valid-from,
.resource-effectiveness .effectiveness,
.shift-work-week .resource-type,
.resource-effectiveness .resource-type
{
    float: left;
}

.shift-work-week .resource-type,
.shift-work-week .week-length {
    width: 315px;
}

.resource-effectiveness .resource-type{
    width: 250px;
}

.resource-effectiveness .effectiveness {
    width: 125px;
}

    .shift-work-week .week-length fieldset,
    .shift-work-week .shift-counts fieldset
    {
        height: 120px;
    }

    .shift-work-week .valid-from fieldset,
    .resource-effectiveness .effectiveness fieldset,
    .shift-work-week .resource-type fieldset,
    .resource-effectiveness .resource-type fieldset
    {
        height: 45px;
    }

.shift-work-week .valid-from fieldset,
.resource-effectiveness .effectiveness fieldset,
.shift-work-week .shift-counts fieldset
{
    width: 250px;
}

.resource-effectiveness .effectiveness fieldset {
    width: 115px;
}

.shift-work-week .resource-type select
{
    width: 200px;
}

.shift-work-week .week-length select
{
    width: 80px;
}

.resource-effectiveness .effectiveness input,
.shift-work-week .shift-counts input {
    width: 50px;
}

.login
{
    display: block;
    margin: 10px;
}

    .login .button
    {
        float: right;
    }

.import-data input[type="file"]
{
    height: 30px;
    width: 350px;
}

.import-data tr
{
    height: 40px;
}

.import-data input[type="checkbox"]
{
    height: 18px;
    width: 18px;
    position: relative;
    top: 2px;
}

.import-kanban .description {
    margin-top: 15px;
}

.message-input {
    width: 530px;
}

.depricated a
{
    color: #9b9b9b;
    text-decoration: line-through;
}

.contextMenuContainer
{
    width: 260px !important;
}

/* Task animation on selected */
.chartPart .task .innerSelected
{
    animation: taskPulse 750ms ease infinite;
    z-index: 1;
}

@keyframes taskPulse
{
    0%
    {
        transform: scaleY(1);
    }

    50%
    {
        transform: scaleY(0.9);
    }

    100%
    {
        transform: scaleY(1);
    }
}

.sysadmin table
{
    border-collapse: collapse;
}

.sysadmin table, .sysadmin tr, .sysadmin th, .sysadmin td
{
    border: 1px solid #000;
}

.sysadmin th, .sysadmin td
{
    padding: 5px 15px;
}

    .sysadmin td.bool:not(:empty)
    {
        background: #00ff00;
    }

    .sysadmin td.bool:empty
    {
        background: #ff6633;
    }

/* FIX for IE: problem when child in flex has basis flex and parent has width/height auto -> child does not get the
    height. This problem occurs in spreadsheet filter dialog: the content overflows the filter dialog. By manually
    setting the height of the filter dialog content, the content scales correctly. */
.dialog-filter-values
{
    height: 400px;
    max-width: 800px;
}

/* We use .ui-frame-item-wrapper selector to decide, it the task report dialog was opened in frame or dialog */
.ui-frame-item-wrapper .create-task-report
{
    padding: 15px;
    width: 100%;
    height: 100%;
    position: absolute;
}

    .create-task-report table
    {
        margin-bottom: 5px;
    }

    .ui-frame-item-wrapper .create-task-report td,
    .ui-frame-item-wrapper .create-task-report th
    {
        font-size: 25px;
    }

    .ui-frame-item-wrapper .create-task-report .button span
    {
        font-size: 20px;
    }

    .create-task-report .important
    {
        font-weight: bold;
    }

    .create-task-report .label
    {
        text-align: right;
        padding-bottom: 5px;
    }

    .create-task-report .text
    {
        text-align: left;
        padding-bottom: 5px;
    }

        .create-task-report .text span
        {
            font-size: 20px;
            padding-left: 10px;
        }

    .create-task-report input
    {
        border: 1px solid #000;
    }

    .create-task-report input.pickerStyles
    {
        height: 35px;
    }

/* for time pickers, non-zero padding overlaps scroll buttons with text. */
.ui-frame-item-wrapper .create-task-report input:not(.pickerStyles)
{
    padding: 5px;
}

.ui-frame-item-wrapper .create-task-report .button
{
    height: 42px;
    margin-top: 5px;
}

    .create-task-report .task-report-button
    {
        float: left;
    }

    .create-task-report .report-list thead
    {
        border-bottom: 1px solid black;
    }

    .create-task-report .report-list td:not(:first-child)
    {
        text-align: right;
        padding-right: 5px;
        padding-left: 5px;
        padding-bottom: 5px;
        border-left: 1px solid black;
    }

    .set-resource-types .row
    {
        display: flex;
        flex-direction: row;
        justify-content: start;
        width: 93%;
        padding-left: 15px;
    }

    .set-resource-types .rowLeft
    {
        display: flex;
        flex-direction: column;
    }

    .set-resource-types .rowRight
    {
        display: flex;
        flex-direction: column;
        padding-right: 15px;
        padding-left: 5px;
    }
