﻿/*Wizard*/

.g-wizard.k-window-content {
    /* A wizard should never have scroll bars at window level. There is already an issue...
       ...with scroll bars in wizards in summary pages containing a panel bar in case of...
       ...collapsing and extending panels. */
    overflow: hidden;
}

.g-wizard .g-wizardPageArea.k-tabstrip > .k-tabstrip-items {
    margin: 0;
}

    .g-wizard .g-wizardPageArea.k-tabstrip > .k-tabstrip-items > .k-item {
        margin: auto;
    }

.g-wizard .g-wizardPageArea.k-tabstrip .g-wizardPage {
    padding: 10px 5px;
    overflow: auto;
}

    .g-wizard .g-wizardPageArea.k-tabstrip .g-wizardPage .k-grid {
        margin: 5px;
    }

.g-buttonArea {
    text-align: right;
}

.k-window-content {
    height: 100%;
}

.k-window-content > .g-buttonArea {
    display: inline-block;
    position: absolute;
    height: 60px;
    width: 100%;
    white-space: nowrap;
    overflow-x: auto;
    overflow-y: hidden;
}

.k-window-content > *:not(.g-taskPanel) ~ .g-buttonArea {
    bottom: 0;
    right: 5px;
}

.k-window-content > .g-taskPanel ~ .g-buttonArea {
    bottom: 10px;
    right: -5px;
}

.k-window-content.g-autoHeight > .g-buttonArea {
    position: relative;
    right: -5px; /*with relative position (instead of absolute) the parent's padding (10px) is considered*/
    bottom: -10px; /*with relative position (instead of absolute) the parent's padding (10px) is considered*/
}

.g-buttonArea .g-button.k-button {
    margin: 5px;
}

div.k-window-content {
    padding: 10px;
    overflow: hidden;
}

.g-wizard .g-wizardPageArea.k-tabstrip,
.g-editWindow .k-tabstrip {
    height: 100%;
}

.g-wizard .g-helpPanel.g-hidden ~ .g-wizardPageArea.k-tabstrip {
    margin: 0;
}

.g-wizard .g-helpPanel:not(.g-hidden) ~ .g-wizardPageArea.k-tabstrip {
    margin: 0px 10px 0px 0px;
}

.g-wizard .g-wizardPageArea.k-tabstrip .g-wizardPage,
.g-editWindow .k-tabstrip .k-content {
    margin-top: 10px;
    width: auto;
    position: relative;
}

.g-editWindow .k-tabstrip .k-content {
    height: calc(100% - 60px);
}

.g-wizard .g-wizardPageArea.k-tabstrip .g-wizardPage {
    height: calc(100% - 80px);
}

.g-wizard:not(.g-autoHeight) > .g-windowContentPanel > .k-tabstrip-wrapper,
.g-editWindow > .g-windowContentPanel .k-tabstrip-wrapper {
    vertical-align: top;
    overflow-x: auto;
    overflow-y: hidden;
    height: 100%;
}

*:not(.g-autoHeight) > .g-windowContentPanel {
    height: 100%;
    overflow-y: auto;
}

.g-autoHeight > .g-windowContentPanel,
.k-window-content > .g-windowContentPanel {
    height: calc(100% - 60px);
    overflow-y: auto;
}

.g-summarySectionButtonArea {
    text-align: right;
    margin: 5px;
}



/*Help panel*/

.g-helpPanelContentArea {
    display: block;
    direction: rtl;
    width: 100%;
}

*:not(.g-autoHeight):not(.k-window-content) > .g-helpPanelContentArea {
    height: 100%;
}

.g-autoHeight > .g-helpPanelContentArea,
.k-window-content > .g-helpPanelContentArea {
    height: calc(100% - 60px); /* 100% - button area's height 60px */
}

.g-helpPanelContentArea > * {
    display: inline-block;
    direction: ltr;
    width: 100%;
    height: 100%;
}

.k-tabstrip-wrapper > .g-helpPanelContentArea > .g-helpPanel:not(.g-hidden) + * {
    width: calc(100% - 264px); /* 100% - (g-helpPanel's width 240px + border 4px + horizontal margins each 10px) */
}

*:not(.k-tabstrip-wrapper) > .g-helpPanelContentArea > .g-helpPanel:not(.g-hidden) + * {
    width: calc(100% - 244px); /* 100% - (g-helpPanel's width 240px + border 4px) */
}

.g-helpPanel {
    vertical-align: top;
    min-width: 240px;
    width: 240px;
    border-left-style: solid;
    border-left-color: silver;
    border-left-width: 4px;
    height: 100%;
    display: inline-block;
}

.g-helpPanel.g-hidden {
    display: none;
}

.g-helpPanel .g-helpTextHeading {
    text-align: center;
    font-size: 1.1em;
    padding: 10px;
    height: 20px;
}

.g-helpPanel .g-helpText {
    padding: 10px;
    overflow: auto;
    text-align: justify;
    height: calc(100% - 60px); /* 100% - button area's height */
}



/*Fieldset*/

.g-fieldset {
    border-style: none;
    border-spacing: 10px;
    padding: 0px;
}

.g-fieldset > ol,
.g-fieldset > ul {
    list-style-type: none;
    padding: 0px;
    margin: 0px;
    display: table;
    table-layout: fixed;
}

.g-fieldset > ol > li,
.g-fieldset > ul > li {
    display: table-row;
    vertical-align: middle;
}

.g-fieldset > ol > li > label,
.g-fieldset > ol > li > input,
.g-fieldset > ol > li > textarea,
.g-fieldset > ol > li > .g-validatorContainer,
.g-fieldset > ol > li > .g-fieldLoadingIndicatorContent,
.g-fieldset > ol > li > .k-tooltip,
.g-fieldset > ol > li > .g-maxLengthWrapper {
    display: table-cell;
}

    .g-fieldset > ol > li > .g-maxLengthWrapper *:not(.g-hidden) {
        display: block;
    }

.g-fieldset > ol > li > label {
    white-space: nowrap;
    padding-bottom: 5px;
}

.g-fieldset > ol > li > * {
    vertical-align: top;
}

.g-fieldset > ol > li > label,
.g-fieldset .g-label {
    padding-top: 5px;
}

.g-fieldset .g-label:not(:first-child),
.g-fieldset .g-fieldInfo {
    white-space: nowrap;
}

.g-fieldset > ol > li > label:not(:first-child) {
    white-space: pre-line;
}

.g-fieldset .g-maxLengthWrapper {
    text-align: right;
}

.g-fieldset .g-maxLengthWrapper :not(:last-child) {
    margin-bottom: 5px;
}

.g-fieldset > ol > li > input[type=checkbox] {
    margin: 10px 0;
}




/*Loading*/

.g-fieldLoadingIndicatorContent {
    line-height: 1;
    vertical-align: middle;
}

.g-fieldLoadingIndicatorContent .g-spinner {
    font-size: 1em;
    margin: 0.5em;
}

.g-loadingOverlay {
    background-color: white;
    opacity: 0.5;
    width: 100%;
    height: 100%;
    top: 0;
    left: 0;
    position: absolute;
    z-index: 1;
}

.g-loadingWindowWrapper {
    width: 30%;
    height: 30%;
}

.g-inactive {
    opacity: 0.5;
}

.g-iconLoadingIndicator {
    position: absolute;
}

.fa ~ .g-iconLoadingIndicator > .fa {
    font-size: 2em;
}




/*Validator*/

.g-validatorContainer {
    width: calc(100% - 10px);
    margin: 5px;
}

.g-editWindow .g-validatorContainer {
    width: inherit;
    max-width: 300px;
}

.g-validator {
    display: table;
    border-spacing: 0.25em 0;
    border-radius: 0.25rem;
    line-height: normal;
    background-color: #ff9999;
}

    .g-validator > * {
        display: table-cell;
        vertical-align: middle;
    }

.g-validatorIcon {
    font-size: 1.5em;
    margin: 0.5em;
}

.g-validatorMessageTextWrapper > * {
    display: block;
    margin: 0.5em 0.5em 0.5em 0;
}



/*Confirm window*/

.g-message {
    display: block;
    text-align: justify;
    padding: 10px 5px;
}



/*Task panel*/

.g-taskPanel {
    margin: 0;
}

.g-taskPanel + .g-windowContentPanel {
    height: 100%;
}

.g-taskPanel + .g-windowContentPanel > * {
    overflow: auto;
}

.g-taskPanel:not(.g-hidden) + .g-windowContentPanel > * {
    margin: 15px 0px;
    height: calc(100% - 30px); /* 100% - 2 * vertically margin (each 15px) */
}

.g-taskPanel.g-hidden + .g-windowContentPanel > * {
    margin: 0px 0px 15px 0px;
    height: calc(100% - 15px); /* 100% - margin-bottom (15px) */
}

.g-taskPanel + .g-windowContentPanel + .g-buttonArea {
    position: relative;
    width: 100%;
    white-space: nowrap;
    overflow-x: auto;
    overflow-y: hidden;
}

.g-taskPanel .g-taskDescription {
    padding: 1em;
}

.g-taskPanel > .g-buttonArea,
.g-hintPanel .g-buttonArea {
    margin-top: 5px;
    margin-bottom: 5px;
}

.g-hintPanel {
    border-top-style: solid;
    border-width: 4px;
    border-color: #c31924;
    margin: 0.5em 0.5em 0 0.5em;
}

.g-hintPanel .g-fieldset ol li label:first-child {
    font-weight: bold;
}

.g-taskPanel .g-panelTitle {
    padding: 5px 10px;
    font-weight: bold;
    position: relative;
}

.g-taskPanel .g-panelTitle:hover,
.g-taskPanel .g-panelTitle *:hover {
    cursor: pointer;
}

.g-taskPanel .g-panelContent {
    margin: 0;
}

.g-taskPanel.g-collapsed > *:not(.g-panelTitle) {
    display: none;
}

.g-taskPanel .g-panelTitle > label {
    display: inline-block;
}

.g-taskPanel .g-panelTitle:hover > label {
    color: white;
}

.g-taskPanel .g-panelTitle > .k-icon {
    background-repeat: no-repeat;
    width: 16px;
    position: absolute;
    top: 50%;
    margin-top: -8px;
}

.g-collapseButtonIcon {
    right: 4px;
}

.g-taskPanel:not(.g-collapsed) .g-collapseButtonIcon {
    background-position: 0px 0px;
}

.g-taskPanel:not(.g-collapsed) .g-panelTitle:hover .g-collapseButtonIcon {
    background-position: -16px 0px;
}

.g-taskPanel.g-collapsed .g-collapseButtonIcon {
    background-position: 0px -32px;
}

.g-taskPanel.g-collapsed .g-panelTitle:hover .g-collapseButtonIcon {
    background-position: -16px -32px;
}

.g-detailsPanel,
.g-editPanel {
    overflow: auto;
}



/* Nintex task description styling compensation */

.g-taskPanel .g-taskDescription label font {
    font-family: inherit;
}

/* Badge and taskMenu badge styling */

.g-taskMenuBadge[data-badge]:after, .g-badge[data-badge]:after {
    content: attr(data-badge);
    position: absolute;
    font-size: 1em;
    font-weight:bold;
    background: #c31924;
    color: white;
    text-align: center;
    border-radius: 50%;
    padding: 0.35em;
    min-width: 1.5em;
}

.g-badge[data-badge]:after {
    top: 50%;
    transform: translateY(-50%);
    right: 1em;
}

.g-taskMenuBadge[data-badge]:after {
    right: 0;
    top: 1.4em;
}



/* Layout */

.g-layoutTable {
    display: table;
    border-spacing: 0px 10px;
    width: 100%; /*fix for Safari*/
    table-layout: fixed;
}

.g-layoutTable.g-layoutAuto {
    table-layout: auto;
}

.g-layoutRow {
    display: table-row;
}

.g-layoutCell {
    display: table-cell;
    width: 100%;
    vertical-align: top;
    overflow: auto;
}

.g-layoutCell:first-child:not(:last-child) {
    padding-right: 10px;
}

.g-layoutCell:last-child:not(:first-child) {
    padding-left: 10px;
}

.g-layoutCell:not(:first-child):not(:last-child) {
    padding-left: 10px;
    padding-right: 10px;
}


div.k-grid.k-widget a.k-button.k-button-icontext.g-icon {
    background-repeat: no-repeat;
    background-size: 100% 100%;
    background-position: center center;
    background-color: transparent;
    border: none;
    display: inline;
}



/* Details widgets */

.g-detailsLinkButton {
    color: #0000ee;
    text-decoration: underline;
    cursor: pointer;
}



/* Availability indicator */

.g-availabilityIndicator {
    height: 20px;
    width: 20px;
    margin: auto;
    border-radius: 10px;
}

.g-availabilityIndicator.g-insideCell {
    vertical-align: top;
    display: inline-block;
    margin-right: 10px;
}

.g-availabilityIndicator.g-high {
    background-color: limegreen;
}

.g-availabilityIndicator.g-medium {
    background-color: gold;
}

.g-availabilityIndicator.g-low {
    background-color: orangered;
}



/* Miscellaneous */

.g-groupHeaderHidden.k-grid > .k-grouping-header {
    display: none;
}

.g-emptySpaceVertical {
    height: 20px;
}

:not(.k-grid) > * > * > * > :not(.g-summarySectionButtonArea) > button.g-button {
    padding: 10px;
    font-weight: bold;
}

.g-required:after {
    content: ' *';
}

.g-textArea.k-textbox {
    width: 250px;
    height: 100px;
}

.g-editableGridCell {
    border-right-style: dotted;
    border-right-color: grey;
    border-right-width: 3px;
    font-weight: bold;
    margin-right: 5px;
}

.g-editableGridCell.g-nonMandatory {
    font-weight: initial;
}

.g-emptyGridInfo {
    text-align: center;
    margin: 20px 0;
    color: grey;
}

.k-grid .g-emptyGridInfo:not(.g-hidden) ~ .k-grid-pager .k-pager-info {
    display: none;
}

:not(.g-layoutCell) > .g-commands {
    margin: 15px 0px;
}

.g-layoutCell > .g-commands {
    margin: 5px 0px;
}

.g-commands > .g-button:not(:first-child):not(:last-child) {
    margin: 5px;
}

.g-commands > .g-button:first-child {
    margin: 5px 5px 5px 0px;
}

.g-commands > .g-button:last-child {
    margin-right: 5px 0px 5px 5px;
}

.g-breakText {
    word-break: break-all;
}

.g-detailGridPanel {
    margin: 10px;
}

.g-title {
    display: block;
    font-weight: bold;
    margin: 10px 5px;
}

.k-detail-row .g-title {
    margin: 10px 0px;
}

.g-info {
    background-color: moccasin;
    padding: 10px;
}

.g-controlFrame {
    margin: 5px;
}

label.g-caution {
    color: red;
}

.g-detailGrid {
    margin: 5px;
}

.g-topMargin {
    margin-top: 20px;
}

.g-halfWidth {
    width: 50%;
}

.g-quarterWidth {
    width: 25%;
}

.g-gridLabel {
    margin: 10px 5px;
}

.g-headline {
    display: block;
    width: 100%;
    font-size: 1.6em;
    font-weight: bold;
    text-align: center;
    padding-bottom: 25px;
}

.g-fixedLayout {
    table-layout: fixed;
}

.g-labelSeparator {
    margin-left: -2px;
}

.g-accent {
    background-color: #c31924;
    color: white;
}

.g-accent:hover {
    background-color: #a1151e;
    color: white;
}

.g-radioButtonGroup {
    list-style-type: none;
    padding-left: 0;
}
.g-radioButtonGroup .g-radioButtonGroup {
    padding-left: 2em;
}

.k-grid tr.k-state-selected:hover,
.k-grid th.k-state-selected:hover,
.k-grid td.k-state-selected:hover {
    background-color: rgba(195, 25, 36, 0.3);
}

.g-hint {
    display: block;
    background-color: darkseagreen;
    padding: 1rem;
}

/* Right aligned elements */

.g-rightAligned {
    text-align: right;
    margin: 10px 0px;
}

    .g-rightAligned > label {
        margin-right: 5px;
    }

    .g-rightAligned .k-dropdown {
        text-align: left;
    }



/* Hiding */

.g-hidden,
.k-display-block.g-hidden {
    display: none;
}

.g-notVisible {
    visibility: hidden;
}



/* Images */

.g-image {
    box-shadow: 0px 0px 20px 5px rgba(0, 0, 0, 0.14), 0px 2px 8px 0px rgba(0, 0, 0, 0.26);
    max-height: 300px;
    max-width: 400px;
    display: block;
}

.g-image-overlay {
    position: absolute;
    top: 0;
    bottom: 0;
    left: 0;
    right: 0;
    height: 100%;
    width: 100%;
    opacity: 0;
    transition: .3s ease;
    background-color: grey;
}

.g-image-overlay-icon {
    position: absolute;
    font-size: 4em;
}

.g-image-container:hover .g-image-overlay {
    opacity: 0.7;
}

.g-imageZoom {
    width: auto;
    height: 100%;
}

.g-imageZoomContainer {
    width: 98%;
    height: 98%;
    text-align: center;
}

.g-embeddedImage {
    position: relative;
    max-width: 400px;
    max-height: 300px;
    min-width: 200px;
    min-height: 150px;
    line-height: 1;
}

.g-noImageText {
    color: grey;
    padding: 20px;
    text-align: center;
    position: absolute;
    transform: translateY(-50%);
    top: 50%;
}

div.g-privacyPolicyPopup {
    bottom: 50%;
    left: 50%;
    transform: translate(-50%, 50%);
    width: 500px;
    position: fixed;
}

.k-textbox.g-fullWidthTextArea {
    width: calc(100% - 10px);
    margin-left: 5px;
    margin-right: 5px;
}

.k-textbox.g-fullWidthTextArea ~ .g-maxLengthLabel {
    margin: 5px;
}


/* Button bar */

.g-buttonBarWrapper {
    float: left;
}

.g-buttonBar > .fa {
    font-size: 1.5em;
    width: 2em;
    height: 2em;
    margin: 1rem;
}

.g-buttonTooltip {
    font-size: 1.1em;
    font-weight: bold;
    margin: 0.25em;
}

@media only screen and (max-width: 1400px) {
    .g-buttonBarWrapper {
        width: 100%;
    }

    .g-buttonBar {
        width: auto;
        float: left;
    }

    .g-buttonBar > .fa:first-child {
        margin-left: 0;
    }
}

@media only screen and (min-width: 1401px) {
    .g-buttonBarWrapper {
        width: calc(100% - 4em);
    }

    .g-buttonBar {
        width: 4em;
        float: right;
    }
}



/* kendo grid button styling */

.k-grid .k-button.k-icon,
.k-grid .k-button.fa {
    background-color: transparent;
    border: none;
}

.k-grid .k-button.k-icon,
.k-grid .k-button.fa {
    background-color: #c31924;
    color: white;
    width: 2rem;
    height: 2rem;
    margin: 0 0.25rem;
    padding: 0;
}
.k-grid .k-button.k-icon:hover,
.k-grid .k-button.fa:hover {
    background-color: #a1151e;
}

/* kendo panelbar styling*/

.k-panelbar > .k-item > .k-link.k-state-focused.k-state-selected {
    box-shadow: unset;
}

/* kendo window styling */

.k-window {
    border: none;
}

.k-window-titlebar {
    background-color: #c31924;
    color: white;
}

/* kendo grid styling */

.k-grid td {
    padding: 0.5rem 0.75rem;
}

/* Kendo button styling*/

.k-button[disabled], .k-button.k-state-disabled:hover, .k-button.k-state-disabled:focus, [disabled] .k-button {
    opacity: 0.3;
}



/* Fixes for kendo controls */

.k-window:not(.k-window-maximized) {
    max-height: 80vh;
}

/* Force grid to not produce a horizontal scroll bar below when hovering over the most right column and column...
...resizing is enabled (Kendo's resize handle calculation is not that perfect) */
.k-grid {
    overflow: hidden;
}

/* In case of too small window size kendo grids get very ugly when table layout is not set to 'fixed' */
.k-grid table:not([role=treegrid]) {
    table-layout: fixed;
}

.k-window {
    max-width: 100vw;
}

.k-window-title {
    line-height: normal;
}

.k-dateinput-wrap .k-input,
.k-dropdown-wrap .k-input,
.k-picker-wrap .k-input,
.k-multiselect-wrap .k-input,
.k-numeric-wrap .k-input {
    flex: 1 1 0;
}

textarea.k-textbox {
    height: auto;
}


/* IE fix for view tab strip's right alignmennt */
.k-ie .g-viewTabStrip {
    display: block;
}

.k-ie .g-viewTabStrip > .k-tabstrip-items {
    display: table;
}

.k-ie .g-viewTabStrip > .k-tabstrip-items > .k-item {
    display: table-cell;
}


/* Popup list single line entries with appropriate width */
.k-list-container {
    width: auto !important; /* this dirty hack is necessary to break up kendo's horrible hack which sets the width of the list container via JavaScript */
}

.k-list-container .k-list {
    width: 100%;
    white-space: nowrap;
}

.k-list .k-item {
    white-space: nowrap;
}



/* Kendo loading indicator override */

.k-treeview .k-i-loading::before,
.k-dropdown-wrap .k-i-loading::before {
    display: none;
}

.k-treeview .k-i-loading::after,
.k-dropdown-wrap .k-i-loading::after {
    display: none;
}

.k-treeview .k-i-loading,
.k-dropdown-wrap .k-i-loading {
    position: relative;
    top: 0;
    right: 0;
    margin-top: 0;
}

.k-i-loading > .g-spinner {
    font-size: inherit;
}

.k-treeview .k-i-loading > .g-spinner {
    font-size: 0.8em;
    line-height: 1.25;
    top: 0;
    position: absolute;
    left: 0;
    margin-left: 0.25em;
}

