@import url('fonts/lato.css?');
@import url('colours.css?');
@import url('progressbar.css?');
@import url('dialogs.css?');
@import url('loading.css?');

* {
	outline: none !important;
}

/**********************************************************************************/

#loading {
    background: #444;
    position: absolute;
    z-index: 9999;
    width: 100%;
    height: 100%;
    left: 0;
    top: 0;
}

#loadingText {
    font-family: "Segoe UI", "Lato", Tahoma, Arial, sans-serif;
    font-size: 24px;
    top: 40%;
    position: relative;
    text-align: center;
}

.throbber, .btnThrobber {
    font-family: 'FontAwesome';
    content: "\f021";
    animation: spin 2.5s linear infinite;
    display: inline-block;
    position: relative;
    margin-right: 12px;
}

.btnThrobber {
    width: 16px;
    height: 16px;
    margin-right: 0;
    font-size: 12px;
    line-height: 16px;
}

@keyframes spin {
  0% {
    transform: rotate(0);
  }

  100% {
    transform: rotate(360deg);
  }
}

/**********************************************************************************/

body, .normal {
/*	font-family: Lucida Sans,Lucida Grande,Arial !important; */
	font-family: "Segoe UI", "Lato", Tahoma, Arial, sans-serif;
	font-size: 13px !important;
	color: #4A5353;
}

body {
	margin: 0;
	padding: 2em;
	background: #444;
}

html, body {
    height: 100%;
    margin: 0;
    overflow: hidden;
    padding: 0;
}

h1 {
	font-size: 1.5em;
	font-weight: normal;
}

a, a:hover, a:active, a:visited, .footerPanel b, .footerPanel .footerLeft, .hi, .accent, v code, .fluxField code, .fluxField tt, .code {
    color: var(--colour-accent);
}

.anchor {
    cursor: pointer;
}

textarea {
    font-family: "wf_segoe-ui_semibold", "Segoe UI Semibold", "Segoe WP Semibold", "Segoe UI", "Lato", Tahoma, Arial, sans-serif !important;
    font-size: 13px;
    color: #4A5353;
}

code, .code {
    font-family: 'Consolas';
}

.accent {
    font-weight: 600;
}

.grey {
    color: #999;
}

.boxx {
	background: #FFF;
	border: 1px solid #D0D0D0;
	border-radius: 2px;
}

.shaded {
    background: #F5F5F5;
}

.break
{
	float: none;
	clear: both;
}

/**********************************************************************************/

.appLayout, .tabLayout, .errorLayout {
	height: 100%;
}

.appLayout {
    opacity: 0;
}

.passwordPane {
    background: #444;
    border: 0;
}

.manageFrameContainer {
    position: relative;
}

.manageFrame {
    border: 0;
    position: relative;
    width: 800px;
    padding: 32px;
    margin: 20vh auto 0 auto;
}

.manageFrame h4 {
    font-family: "Segoe UI", "Lato", Tahoma, Arial, sans-serif;
    font-weight: 200;
    color: #FFF;
    font-size: 28px;
    margin: 20px 0 10px 0;    
}

.manageFrame .dijitButton {
	margin-top: 16px;
}

.dijitContentPane.edgePanel, .dijitContentPane.footerPanel {
    background: #444;
    border: 0;
}

.dijitContentPane.edgePane a, .dijitContentPane.footerPanel a, .dijitContentPane.footerPanel .anchor {
    color: #FFCC00;
}
    
.footerPanel .footerRight, .footerPanel .footerLeft {
    color: #ccc;
    padding: 8px;
	text-align: right;
	position: relative;
	height: 18px;
    top: 0;
}

.footerPanel .footerLeft {
	text-align: left;
	position: absolute;
	font-size: 11px;
	line-height: 18px;
}

.footerPanel .footerLeft span {
    margin-right: 8px;
    font-weight: bold;
}

.footerPanel .footerLeft b {
    color: #FFF;
}

.footerRight a {
    text-decoration: none;
}

/**********************************************************************************/

.bannerPanel {
    position: absolute;
    background: #444 !important;
}

.bannerPanel img.bannerLogo {
    margin: 6px;
    float: left;
}

.bannerPanel h1.bannerTitle {
    color: #ccc;
    position: absolute;
    bottom: 8px;
    margin: 0 12px 0 12px;
    padding: 12px 0 4px 0;
    font-size: 40px;
    font-family: "Segoe UI", "Lato", Tahoma, Arial, sans-serif;
    font-weight: 400;
    width: calc(100% - 100px);
    cursor: pointer;
    text-align: right;
    white-space: nowrap;
    overflow: clip;
}

/**********************************************************************************/

.electronNavigation {
    background: #323234;
    padding: 6px;
}

.electronNavigation button {
    font-size: 20px;
    font-family: 'FontAwesome';
    background: none;
    border: none;
    color: #CCC;
    cursor: pointer;
    padding: 0 6px;
}

.electronNavigation button:hover {
    color: #FFF;
}

.electronNavigation button:active {
    color: #FFCC00;
}

/**********************************************************************************/

.errorLabelText, .errorLabel {
    color: #FFCC00;
    font-weight: bold;    
}

.errorLabel {
    border-radius: 4px;
	color: #da4d1e;
	padding: 8px 12px;
	width: 100%;
}

.errorLabel.errored {
	background: #ffcccc;
}

/**********************************************************************************/

.manageLabel, .fluxLabel {
	width: 10vw;
	text-align: right;
	padding-right: 16px;
}

.dijitDialogPaneContentArea .fluxLabel {
    width: 100px;
}

.dijitDialogPaneContentArea .fluxField {
    width: 500px;
}

.manageLabel {
	width: 100px;
}

.loginLabel, .manageLabel, .manageInfo {
    color: #FFF;
}

.loginFrame a {
    color: #00CCFF;
}

.loginText {
    color: #FFF;
}

/**********************************************************************************/

.fields {
    width: 100%;
}

.fluxField input, .fluxField textarea, .fluxField select {
	width: 30vw;
}

.fluxField input[type="checkbox"] {
    width: 24px;
}

.fluxField .fluxCheckBox {
    white-space: no-wrap;
}

.fluxField .fluxCheckBoxLabel {
    margin: 0 12px 0 4px;
}

.fluxFieldHelp, .fluxFieldHint {
    max-width: 40vw;
}

.fluxFieldHint, .fluxHint, .fluxHintError {
    color: #999;
    border: 1px solid #EEE;
    border-radius: 4px;
    padding: 8px;
    background-color: #FFFFEE;
}

.fluxField span.dijit:first-child,
.fluxAltField span.dijit:first-child {
    margin-left: 0;
}

.fluxHint {
    color: inherit;
}

.fluxHintError {
    color: #660000;
    background-color: #FFEEEE;
}

.settings .fluxField {
    padding: 4px 0;
}

.fluxMonospace {
    font-family: 'Consolas', Monospace;
}

/**********************************************************************************/

.formGrid {
    display: grid;
    --labelWidth: 15fr;
    --label1Width: var(--labelWidth);
    --label2Width: var(--labelWidth);
    --rightMarginWidth: 15fr;
    
    grid-template-columns: [left l1Start] var(--label1Width) [mid l1End f1Start] 30fr [f1End l2Start] var(--label2Width) [l2End f2Start] 30fr [f2End right actionStart] var(--rightMarginWidth) [actionEnd end];
    gap: 2px;
    
    &>div {
        align-content: center;
    }
    
    .fluxLabel {
        user-select: none;
        width: initial;
        grid-column: l1Start / l1End;
        color: var(--colour-accent);
        white-space: nowrap;
    }
    
    .fluxLabel2 {
        grid-column: l2Start / l2End;
    }
    
    .fluxField, .fluxAltField {
        grid-column: mid / right;

        .dijitTextBox, .dijitDateTextBox, .dijitSelect {
            width: 100%;
        }
    }
    
    .fluxField1 {
        grid-column: f1Start / f1End;
    }
    
    .fluxField2 {
        grid-column: f2Start / f2End;
    }
    
    .fluxFieldAction {
        grid-column: actionStart / actionEnd;
    }
    
    .fluxGridSpacer {
        grid-column: left / end;
        height: 1em;
    }

    .optionalField {
        display: none;
    }
}


/**********************************************************************************/

.dijitTitlePane {
	margin-bottom: 4px;
}

.dijitTitlePane .dijitTitlePaneTextNodeClickable {
    text-decoration: underline;
    font-weight: bold;
}

.dijitTitlePane .dijitTitlePaneTextNodeClickable:hover, .dijitTitlePane .dijitTitlePaneTextNodeClickable:active {
    color: var(--colour-accent);
}

/**********************************************************************************/

.appTab .content, .settings {
	padding: 16px;
}

.appTab h1, .settings h1, .formContent h1 {
	font-size: 44px;
	font-family: "Segoe UI", "Lato", Tahoma, Arial, sans-serif;
	color: #6d7b7b;
	margin: 0;
}

.settings h1, .formContent h1 {
    margin-bottom: 16px;
}

.appTab h2, .settings h2, .formContent h2 {
	margin: 0;
	font-family: Lucida Sans,Lucida Grande,Arial;
	font-size: 20px;
	text-transform: lowercase;
	color: var(--colour-accent);
	cursor: pointer;
}

.appTab h3, .settings h3, .formContent h3 {
    font-size: 20px;
    font-family: "Segoe UI", "Lato", Tahoma, Arial, sans-serif;
    font-weight: 400;
    color: #6d7b7b;
    margin: 4px 0;
}

.appTab.dijitTabContainerTop-dijitContentPane {
    padding: 0;
}

.dijitTabCloseButton {
    cursor: pointer;
}

.dijitTabPaneWrapper {
    border: none !important;
}

.formTabs.dijitTabContainer {
    background: #F3F3F3;
}

.dijitTabInner.tabPaneTab.dijitTabChecked {
    border-bottom: 1px solid #f3f3f3;
}

.formTabs > .dijitTabPaneWrapper {
    border-top: 1px solid #d0d0d0 !important;
}

.formInnerTabs > .dijitTabController {
    padding-top: 16px;
    border-right: 1px solid #d0d0d0;
    background: #F3F3F3;
}

.formInnerTabs .dijitContentPaneSingleChild {
    overflow: auto;
}

.formTabs .dijitContentPaneSingleChild > form {
    overflow-y: auto;
}

/**********************************************************************************/

.dijitTab .tabLabel {
    padding: 0 12px;
    min-width: 120px;
}

.dijitTabInner.tabPaneTab.dijitTabChecked {
    background: #F3F3F3;
}

.dijitTabContainerTop-tabs .dijitTabInner.newTabGroup {
    margin-left: 20px;
}

.dijitTabContainerLeft-tabs .dijitTabInner.newTabGroup {
    margin-top: 10px;
}

.formContent .dijitSlider .dijitSliderProgressBarH,
.formContent .dijitSlider .dijitSliderLeftBumper {
    background-image: none;
}

/**********************************************************************************/

.dijitButton .dijitButtonNode,
.dijitDropDownButton .dijitButtonNode,
.dijitComboButton .dijitButtonNode,
.dijitToggleButton .dijitButtonNode {
    color: #444;
}

.dijitButton.miniButton .dijitButtonNode {
    padding: 0 6px;
    font-size: 85%;
}

.rightAlign {
    text-align: right;
}

.dijitButton.fa .dijitButtonText {
    font-family: 'FontAwesome';
}


.dijitIcon.dijitFaIcon,
.dijitEditorIcon.dijitFaIcon {
  font-family: "FontAwesome";
}

/**********************************************************************************/

.faButton, .faHoverButton, .faButtonLabel {
    cursor: pointer;
    color: #444;
    position: relative;
    white-space: no-wrap;
    display: inline-block;
    text-decoration: none;
}

button.faButton {
    background: none;
    border: none;
}

.faButtonLabel {
    font-family: "Segoe UI", "Lato", Tahoma, Arial, sans-serif;
    font-size: 24px;
    font-weight: 600;
    position: absolute;
    color: #444;
    padding: 21px 12px;
    width: max-content;
}

.faButton, .faHoverButton {
    border-radius: 40px;
    font-family: 'FontAwesome';
    transition: color 0.2s linear, width 0.1s linear;
}

.faHoverButton {
    background: #FFF;
    font-size: 64px;
    padding: 0 8px;
    width: 1.7ex;
    height: 2.4ex;
    overflow: hidden;
}

.faButton {
    width: 2.2ex;
    color: #999;
}

.faButton:hover, .faHoverButton:hover {
    color: #666;
}

.faHoverButton:hover {
    width: 200px;
    color: #FFF;
    background: #CCC;
}

/**********************************************************************************/

.flat .dijitButton.alt-primary .dijitButtonNode,
.flat .dijitButton.btn-primary .dijitButtonNode {
    background: var(--colour-accent) !important;
    border-color: var(--colour-accent) !important;
}

.flat .dijitButtonHover.alt-primary .dijitButtonNode,
.flat .dijitButtonHover.btn-primary .dijitButtonNode {
    opacity: 0.9;
}


/**********************************************************************************/

em.emptyListMessage {
    color: #CCC;
}

/**********************************************************************************/

.urlFrame {
    width: 100%;
    height: 100%;
    border: 1px solid #fafafa;
    margin: 0;
}

/**********************************************************************************/

.flat .dijitTitlePane {
    overflow: visible;
}

.dijitTitlePaneTitle .hoverHint,
.hoverHint {
    position: relative;
    display: inline-block;
    width: 16px;
    height: 16px;
    content: 'H';
    top: -2px;
    margin: 0 2px;
}


.dijitTitlePaneTitle .hoverHint div,
.hoverHint div {
    display: none;
    vertical-align: center;
    position: absolute;
    padding: 8px 12px;
    top: 16px;
    right: 0;
    width: max-content;
    height: 16px;
    line-height: 16px;
    white-space: nowrap;
    background: #444;
    color: #FFF;
    z-index: 1000;
}

.dijitTitlePaneTitle .hoverHint:hover div,
.hoverHint:hover div {
    display: flex;
}

.dijitTitlePaneTitle .hoverHint:before,
.hoverHint:before {
    display: flex;
    position: absolute;
    left: 0;
    top: 0;
    width: 16px;
    height: 16px;
    line-height: 16px;
    font-size: 16px;
    font-family: 'FontAwesome';
    text-align: center;
    content: '\f05a';
    opacity: 0.5;
}

.dijitTitlePaneTitle .hoverHint:hover:before,
.hoverHint:hover:before {
    opacity: 1
}

/**********************************************************************************/

.flat .dijitTitlePane.noPadding .dijitTitlePaneContentInner {
    padding: 0;
}

/**********************************************************************************/

.dijitLayoutContainer .metricsNode {
    position: absolute;
    display: none;
}

/**********************************************************************************/

.dijitBorderContainerNoBorder > .dijitBorderContainer-child {
    border: none;
}

/**********************************************************************************/

.debugTable {
    display: grid;
    grid-template-columns: 1fr 4fr;
    gap: 4px;
    font-family: Consolas;
}

.debugTable .debugLabel,
.debugTable .debugValue {
    background: #EEE;
    padding: 6px 8px;
    font-size: 11px;
}
    
.debugTable .debugLabel {
    background: var(--colour00-tint);
    grid-column: 1 / 2;
    font-weight: bold;
    white-space: nowrap;
}

.debugTable .debugValue {
    grid-column: 2 / 3;
}