﻿/*@import url('https://fonts.googleapis.com/css?family=Roboto:100,200,300,400,500,600,700&display=swap');*/
/*@import url('https://fonts.googleapis.com/css2?family=Poppins:ital,wght@0,100;0,200;0,300;0,400;0,500;0,600;0,700;0,800;0,900;1,100;1,200;1,300;1,400;1,500;1,600;1,700;1,800;1,900&display=swap');*/
/*@import url('https://fonts.googleapis.com/css2?family=Lato:ital,wght@0,100;0,300;0,400;0,700;0,900;1,100;1,300;1,400;1,700;1,900&display=swap');*/

:root
{
    --theme-font-family: 'Roboto', Tahoma, Geneva, Verdana, sans-serif;
    --theme-font-size: 14px;
    --line-height: 2em;
    --box-shadow: rgba(0,0,0,.3) 0 0 0 2px;
    --success: 46, 184, 92;
    --success-bg: 221, 255, 221;
    --info: 0, 71, 143;
    --info-bg: 213, 235, 255;
    --warning: 114, 79, 0;
    --warning-bg: 255,255, 218;
    --agency-highlight-color: 156,74,120;
}
/* Light Theme */
:root {
    --bg: 222, 222, 222;
    --bg-secondary: 243, 243, 243;
    --bg-secondary-odd: 227, 227, 227;
    --bg-tertiary: 207, 207, 207;
    --bg-disabled: 220,220,220;
    --text-color: 27,27,27;
    --text-color-value: 12,103,167;
    --border: 232, 232, 232;
    --border-secondary: 204, 204, 204;
    --busy-color: 11,11,11;
    --item-hover-border: 215, 235, 249;
    --item-hover-bg: 210,212,217;
    --item-selected-bg: 67, 150, 249;
    --error-color: 230, 168, 168;
    --icon-color: 90, 90, 90;
    --icon-color-secondary: 224, 224, 224;
    --icon-color-tertiary: 202, 202, 202;
    --scroll-bar-inactive: 145, 146, 156;
    --scroll-bar-active: 88, 107, 125;
}
/* Dark Theme
:root {
    --bg: 16, 23, 30;
    --bg-secondary: 38, 51, 67;
    --bg-secondary-odd: 42, 59, 79;
    --bg-tertiary: 21, 32, 43;
    --bg-disabled: 17,28,39;
    --text-color: 255, 255, 255;
    --text-color-value: 166, 206, 222;
    --border: 45, 63, 81;
    --border-secondary: 56, 68, 77;
    --busy-color: 244,244,244;
    --item-hover-border: 110, 133, 150;
    --item-hover-bg: 73, 94, 109;
    --item-selected-bg: 23, 92, 136;
    --error-color: 91, 13, 13;
    --icon-color: 255, 255, 255;
    --icon-color-secondary: 56, 68, 77;
    --icon-color-tertiary: 150, 153, 156;
    --scroll-bar-inactive: 118, 118, 132;
    --scroll-bar-active: 110, 133, 150;
}
  */

body, html {
    width: 100%;
    height: 100%;
    margin: 0;
    padding: 0;
    background: rgba(var(--bg),1);
    color: rgba(var(--text-color),1);
    font-family: var(--theme-font-family);
    font-size: var(--theme-font-size);
    font-weight: 300;
    box-sizing: border-box;
    line-height: var(--line-height);
    overflow: hidden;
}

/* Icons */
.icon-tiny, .icon-small, .icon-medium, .icon-large {
    flex-shrink: 0;
    flex-grow: 0;
    display: inline-block;
    position: relative;
    overflow: visible;
}
.icon-tiny {
    width: 10px;
    height: 10px;
}
.icon-small {
    width: 16px;
    height: 16px;
}
.icon-medium {
    width: 24px;
    height: 24px;
}
.icon-large {
    width: 32px;
    height: 32px;
}
.icon-huge {
    width: 80px;
    height: 80px;
}
use {
    fill: rgba(var(--icon-color),1);
}
.cls-2, .cls-3 {
    fill: rgba(var(--icon-color),1);
}
.cls-1, .cls-4 {
    fill: rgba(var(--icon-color-secondary),1);
}
.agency-color use {
    --icon-color: var(--agency-highlight-color);
}
.icon-green use {
    --icon-color: 15, 121, 14;
}
.icon-amber use {
    --icon-color: 255, 140, 0;
}
.icon-red use {
    --icon-color: 255, 0, 0;
}

/* Password Strength */
.strength-bar {
    height: 3px;
    background-color: #ff0000;
    width: 0;
}
.strength-message, .match-text {
    font-size: 10px;
    text-align: right;
}

/* Scrollbar styles */
*::-webkit-scrollbar-thumb, .scrollbarthumb::after {
    background-color: rgba(var(--scroll-bar-active),1);
    transition: all linear 0.1s;
}
*::-webkit-scrollbar-thumb:hover {
    background-color: rgba(var(--scroll-bar-active),1);
    transition: all linear 0.2s;
}
*::-webkit-scrollbar-track {
    background-color: rgba(var(--bg-secondary),1);
}
*::-webkit-scrollbar-corner {
    background-color: rgba(var(--bg-secondary),1);
}
*::-webkit-scrollbar {
    width: 8px;
    height: 8px;
}
*, *:after, *:before {
    /*-ms-overflow-style: auto;*/
    scrollbar-color: rgb(var(--scroll-bar-active)) transparent;
    scrollbar-width: thin;
    box-sizing: border-box;
}

/* Layout */
.flex-column {
    display: flex;
    flex-direction: column;
    flex-wrap: nowrap;
    flex-grow: 1;
    flex-shrink: 1;
    /*height: 100%;*/
    position: relative;
    min-height: 0;
    overflow: hidden;
}

.body-container {
    display: flex;
    flex-flow: row nowrap;
    align-items: stretch;
    height: calc(100% - 90px);
    position: relative;
    flex: 1 1 auto;
}
.login-wrapper {
    height: 100%;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    perspective: 800px;
}
.login {
    max-width: 440px;
    min-width: 200px;
    border-radius: 4px;
    padding: 40px;
    text-align: center;
    box-shadow: 0 4px 8px 0 rgba(0, 0, 0, 0.2), 0 6px 20px 0 rgba(0, 0, 0, 0.19);
    background-color: rgb(var(--bg-secondary), 1);
    border-top: 4px solid rgb(var(--agency-highlight-color), 1);
    overflow-y: auto;
    transition: transform .3s linear;
    width:94%;
    margin:0 10px;
}
.rotate {
    transform: rotateY(-90deg);
}
.rotate-back {
    transform: rotateY(90deg);
}
.agency-logo {
    max-width: 460px;
    max-height: 120px;
    flex: 1 1 auto;
    overflow: hidden;
    align-items: center;
    justify-content: center;
    display: flex;
}
.agency-logo img {
    background-color: #FFF;
    border: 1px solid rgb(var(--border),1);
    padding: 10px;
    display: block;
    height: 120px;
}

/* Elements */

a, a:visited{
    color: rgb(var(--agency-highlight-color), 1);
}
a:hover {
    color: rgb(var(--agency-highlight-color), 0.6);
}

.button-normal {
    background-color: rgb(var(--agency-highlight-color), 1);
    color: #fff;
    border: 1px solid transparent;
    cursor: pointer;
    margin: 3px;
    white-space: nowrap;
    display: inline-flex;
    flex-direction: row;
    flex-wrap: nowrap;
    padding: 5px 10px;
    align-items: center;
    justify-content: center;
    border-radius: 3px;
    user-select: none;
    transition: background-color 0.2s linear;
}
.button-normal:disabled {
    background-color: rgb(var(--bg-disabled),1);
    cursor: not-allowed;
    color: rgba(var(--text-color), 0.5);
}
.button-normal:focus {
    box-shadow: inset 0 0 5px rgba(0,0,0,0.6);
    outline:none;
}
.button-normal:not(:disabled):hover {
    background-color: rgb(var(--agency-highlight-color), 0.6);
}
.button-wide {
    width: 100%;
    padding: 15px;
}

.button-action-link {
    border: none;
    background-color: transparent;
    padding: 3px;
    color: rgb(var(--agency-highlight-color), 1);
    cursor: pointer;
    display: inline-flex;
    transition: color 0.2s linear;
}
.button-action-link:not(:disabled):hover {
    color: rgb(var(--agency-highlight-color), 0.6);
    outline: dotted 1px var(--item-link-colour);
}
.button-action-link > *:not(:last-child) {
    margin-right: 10px;
}

button.pick-button {
    cursor: pointer;
    width: 100%;
    height: 100%;
    display: flex;
    border: 4px solid rgb(var(--border-secondary), 1);
    text-align: left;
    padding: 15px;
    margin: 5px 0px;
    background-color: rgb(var(--bg), 0.5);
    color: rgba(var(--text-color),1);
}
button.pick-button:not(:disabled):hover {
    border: 4px solid rgb(var(--agency-highlight-color), 1);
}
button.pick-button:disabled {
    background-color: rgb(var(--bg-disabled),1);
    cursor: not-allowed;
    color: rgba(var(--text-color), 0.5);
}
button.pick-button:not(:disabled):hover {
    border: 4px solid rgb(var(--agency-highlight-color), 1);
}
button.pick-button > *:not(:last-child) {
    margin-right:10px;
}

:disabled {
    cursor: not-allowed;
    color: rgba(var(--text-color), 0.5);
}

input {
    width: 100%;
    border: 0;
    padding: 3px 0;
    margin: 0;
    display: block;
    min-width: 0;
    background: none;
    -webkit-tap-highlight-color: transparent;
    border-bottom: 1px solid rgba(var(--border-secondary),1);
    position: relative;
    background-color: transparent;
    color: rgba(var(--text-color),1);
}
input:focus {
    outline: none;
}

label.input {
    display: flex;
    width: auto;
    align-items: center;
    text-align: left;
}

label > input[type=checkbox], label > input[type=radio] {
    display: none;
}
label input[type=checkbox] + span + span, label input[type=radio] + span + span {
    user-select: none;
    cursor: pointer;
    overflow: hidden;
    white-space: nowrap;
    text-overflow: ellipsis;
    flex-grow: 1;
    flex-shrink: 1;
    width: 1px;
}
label input[type=checkbox] + span, label input[type=radio] + span {
    margin: 0 5px 0 0;
    display: inline-block;
    color: #FFFFFF;
    width: 20px;
    height: 20px;
    font-weight: 600;
    line-height: 20px;
    margin-right: 5px;
    position: relative;
    background-color: rgba(var(--agency-highlight-color),1);
    vertical-align: middle;
    flex-grow: 0;
    flex-shrink: 0;
    transition: all 0.2s linear;
    cursor: pointer;
}
label input[type=radio] + span {
    border-radius: 50%;
}
label:hover input[type=checkbox]:not(:disabled) + span, label:hover input[type=radio]:not(:disabled) + span {
    background-color: rgba(var(--agency-highlight-color),0.5) !important;
}
label input[type=checkbox]:checked + span, label input[type=radio]:checked + span {
    background-color: rgba(var(--agency-highlight-color),1);
}
label input[type=checkbox]:checked + span:before, label input[type=radio]:checked + span:before {
    content: '✓';
    position: absolute;
    left: 50%;
    top: 50%;
    transform: translateX(-50%) translateY(-50%);
}
label input[type=radio]:checked + span:not(.icon-svg):before {
    content: '\00a0\00a0';
    display: block;
    position: absolute;
    left: 50%;
    top: 50%;
    transform: translateX(-50%) translateY(-50%);
    background-color: #FFF;
    width: 40%;
    height: 40%;
    border-radius: 50%;
}
label input[type=checkbox]:disabled + span, label input[type=checkbox]:disabled + span + span {
    opacity: 0.5;
}
label input[type=checkbox] + span:focus, label input[type=radio] + span:focus {
    /*outline: 1px solid var(--item-link-colour);*/
    outline: none;
    box-shadow: inset 0 0 5px rgba(0,0,0,0.6);
}


/* Override webkit autofill styles*/
input:-webkit-autofill,
input:-webkit-autofill:hover,
input:-webkit-autofill:focus,
input:-webkit-autofill:active {
    -webkit-background-clip: text;
    -webkit-text-fill-color: rgba(var(--text-color),1);
    transition: background-color 5000s;
}

.label-input {
    position: relative;
    margin: 0 0 30px 0;
    padding-top: 17px;
}
.label-input label {
    position: absolute;
    top: 19px;
    left: 0px;
    line-height: 18px;
    font-size: 14px;
    font-weight: 400;
    display: inline-block;
    transition: top .3s,left .3s,font-size .3s;
    opacity: .8;
    user-select: none;
    pointer-events: none;
    color: rgba(var(--text-color),0.7);
}
.label-input input:focus + label, .label-input.has-value, input:not(:placeholder-shown) + label, input:autofill + label {
    top: 0;
    left: 0;
    font-size: 11px;
    opacity: 1;
}

.field-validation-error {
    position: absolute;
    left: 0px;
    top: calc(100% - 6px);
    font-size: 11px;
    color: rgba(var(--error-color),1);
    text-align: left;
}

.error-message {
    padding: 14px;
    margin: 5px 0;
    background-color: rgba(var(--error-color),1);
    border-radius: 4px;
}



/* Busy - row */
.busy {
    position: relative;
}
.busy:after {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    bottom: 0;
    right: 0;
    z-index: 1;
    background-size: 50px 50px;
    animation: movebg 2s linear infinite;
    pointer-events: none;
    background-color: transparent;
    background-image: linear-gradient(-45deg, rgba(var(--busy-color),.2) 25%, rgba(var(--busy-color),.1) 25%, rgba(var(--busy-color),.1) 50%, rgba(var(--busy-color),.2) 50%, rgba(var(--busy-color),.2) 75%, rgba(var(--busy-color),.1) 75%);
    opacity: 1;
}
@keyframes movebg {
    0% {
        background-position: 0 0;
    }

    100% {
        background-position: 50px 50px;
    }
}

/* Shake */
.anim-shake {
    animation: shake 150ms linear 5;
}
@keyframes shake {
    0% {
        transform: translate(3px, 0);
    }

    50% {
        transform: translate(-3px, 0);
    }

    100% {
        transform: translate(0, 0);
    }
}