/*Settings*/

body,
.UseDefaultFont
{
   /* see http://www.microsoft.com/typography/fonts/unix.htm (gsfonts package) */
   font-family: 'Helvetica', 'Arial', 'Nimbus Sans L', sans-serif;
   font-size: 10pt;
   line-height: 1.22;
}

textarea
{
   font-family: 'Helvetica', 'Arial', 'Nimbus Sans L', sans-serif;
}

.PlaceholderLabelWrapper
{
   display: inline-block;
   position: relative;
}

.PlaceholderLabel
{
   color: var(--globals-placeholderlabel-font-color);
   cursor: text;
   font-size: 12px;
   font-weight: normal;
   left: 4px;
   position: absolute;
   top: 2px;
}

.Spinner
{
   display: inline-block;
}

.Spinner:after
{
   content: '';
   display: inline-block;
   height: 50px;
   width: 50px;
   border: 10px solid #eee;
   border-radius: 100px;
   border-top-color: var(--globals-spinner-after-border-top-color);
   animation: 1.5s ease infinite Spin;
   transform: rotate(-45deg);
}
            
.Spinner.Big:after
{
   height: 100px;
   width: 100px;
   border-width: 15px;
}
            
.Spinner.Small:after
{
   height: 25px;
   width: 25px;
   border-width: 5px;
}
            
.Spinner.Tiny:after,
.Spinner.SingleChar:after
{
   border-width: 2px;
   border-color: var(--globals-spinner-tiny-after-border-color);
   border-right-color: var(--globals-spinner-tiny-after-borderright-color);
}

.Spinner.Tiny:after
{
   height: 10px;
   width: 10px;
}

.Spinner.SingleChar:after
{
   height: 1em;
   width: 1em;
   box-sizing: border-box;
}

.Spinner.Deferred:after
{
   animation:
      0.5s forwards DelayShow,
      1.5s ease 0.5s infinite Spin,
      0.5s 0.5s FadeIn;
}

.Spinner.WithPadding:after
{
   margin: 1em;
}

/*See https://css-tricks.com/centering-in-the-unknown/ for how we center the spinner*/
.Spinner.CenteredInTheUnknown:before,
.Throbber.CenteredInTheUnknown:before
{
   content: ' ';
   display: inline-block;
   height: 100%;
   width: 5px;
   vertical-align: middle;
   margin-left: -5px;
}

.Spinner.CenteredInTheUnknown,
.Throbber.CenteredInTheUnknown
{
   text-align: center;
   white-space: nowrap;
   height: 100%;
   display: block;
}

.Spinner.CenteredInTheUnknown:after,
.Throbber.CenteredInTheUnknown:after
{
   vertical-align: middle;
}

.Throbber
{
   display: inline-block;
   white-space: nowrap;
   vertical-align: middle;
}

.ThrobberInner
{
   display: inline-block;

   height: 15px;
   border-left: 5px solid rgb(47, 71, 94);
   padding: 0 5px;
   margin-left: 5px;
   vertical-align: middle;

   animation: 1s ease infinite Throb;
   white-space: nowrap;
}
            
.ThrobberInner:after,
.ThrobberInner:before
{
   content: " ";
   display: inherit;
   height: inherit;
   border: inherit;
   animation: inherit;
}
            
.ThrobberInner:before
{
   padding-right: inherit;
   animation-delay: 0.10s;
}
            
.ThrobberInner:after
{
   animation-delay: 0.20s;
}
.Throbber.Big > .ThrobberInner
{
   height: 30px;
   border-left-width: 10px;
   padding: 0 10px;
   margin-left: 10px;
}

.Throbber.Small > .ThrobberInner
{
   height: 10px;
   border-left-width: 3px;
   padding: 0 3px;
   margin-left: 3px;
}
         
.Throbber.Dark > .ThrobberInner
{
   border-left-color: var(--globals-throbber-dark-border-left-color);
   animation: 1s ease infinite ThrobDark;
}

.Throbber.Transparent > .ThrobberInner
{
   border-left-color: transparent;
   animation: 1s ease infinite ThrobTransparent;
}
            
.Throbber.Dark.Transparent > .ThrobberInner
{
   border-left-color: transparent;
   animation: 1s ease infinite ThrobDarkTransparent;
}

.Throbber.Deferred
{
   animation:
      0.5s forwards DelayShow,
      0.5s 0.5s FadeIn;
}
            
.Throbber.Deferred > .ThrobberInner
{
   animation-delay: 0.75s;
}

.Throbber.Deferred > .ThrobberInner:before
{
   animation-delay: 0.85s;
}

.Throbber.Deferred > .ThrobberInner:after
{
   animation-delay: 0.95s;
}

.Slider
{
   padding: 1px;
   position: relative;
   color: var(--globals-slider-bg-color);
   background: currentColor !important;
   border: none !important;
   outline: none;
   box-shadow: none !important;
   cursor: pointer;
   border-radius: 20% / 50%;
}

.Slider[disabled]
{
   cursor: default;
}

.Slider:not([disabled]):focus,
.Slider:not([disabled]):active
{
   outline: 1px dashed currentColor;
   outline-offset: 1px;
}

.Slider::after
{
   content: "";
   background-color: var(--globals-slider-after-bg-color);
   transition: margin-left .25s;
   display: block;
   padding-top: 40%;
   width: 40%;
   border-radius: 50%;
   position: relative;
}

.Slider.On
{
   color: var(--globals-slider-on-font-color);
}
.Slider.On::after
{
   margin-left: 60%;
}

@keyframes Spin
{
   0%   { transform: rotate(-45deg); }
   100% { transform: rotate(315deg); }
}

@keyframes SlideInLeft
{
   0%   { transform: translateX(100%); }
   100%   { transform: translateX(0); }
}

@keyframes DelayShow
{
  0%   { visibility: hidden; }
  99%  { visibility: hidden; }
  100% { visibility: visible; }
}

@keyframes FadeIn
{
  0%   { opacity: 0; }
  100% { opacity: 1; }
}

@keyframes ThrobDark
{
   0%, 20% { border-left-color: var(--globals-keyframes-throbdark-0-20-border-left-color); }
   40% { border-left-color: var(--globals-keyframes-throbdark-40-border-left-color); }
   60%, 100% { border-left-color: var(--globals-keyframes-throbdark-60-100-border-left-color); }
}

@keyframes ThrobDarkTransparent
{
   0%, 20% { border-left-color: transparent; }
   40% { border-left-color: var(--globals-keyframes-throbdarktransparent-40-border-left-color); }
   60%, 100% { border-left-color: transparent; }
}

@keyframes Throb
{
   0%, 20% { border-left-color: var(--globals-keyframes-throb-0-20-border-left-color); }
   40% { border-left-color: var(--globals-keyframes-throb-40-border-left-color); }
   60%, 100% { border-left-color: var(--globals-keyframes-throb-60-100-border-left-color); }
}

@keyframes ThrobTransparent
{
   0%, 20% { border-left-color: transparent; }
   40% { border-left-color: var(--globals-keyframes-throbtransparent-40-border-left-color); }
   60%, 100% {
      border-left-color: transparent;
   }
}

.WarningBox
{
   border: 1px solid #D5B584;
   background-color: var(--globals-warningbox-bg-color);
   color: var(--globals-warningbox-font-color);
   padding: 10px;
}

.WarningBox .icon-warning
{
   margin-right: 4px;
}

.ErrorText
{
   font-weight: bold;
   color: var(--globals-errortext-font-color);
}

BUTTON,
INPUT[type=button],
INPUT[type=submit]
{
   border: 1px solid #bbb;
   background: var(--button-bg);
   padding: 2px 7px;
   border-radius: 0px;
   box-sizing: border-box;
   font-family: inherit;
   font-size: inherit;
   line-height: inherit;
   color: var(--button-font);
}

BUTTON:disabled,
INPUT[type=button]:disabled,
INPUT[type=submit]:disabled,
BUTTON:disabled:hover,
INPUT[type=button]:disabled:hover,
INPUT[type=submit]:disabled:hover
{
   color: var(--globals-input-disabled-font-color);
   border-color: var(--globals-input-disabled-border-color);
}

BUTTON:hover,
INPUT[type=button]:hover,
INPUT[type=submit]:hover
{
   border-color: var(--globals-input-hover-border-color);
}

BUTTON:focus,
INPUT[type=button]:focus,
INPUT[type=submit]:focus
{
   outline: none;
   border: 1px solid #59f;
   box-shadow: 0px 0px 2px #59f;
}

BUTTON::-moz-focus-inner,
INPUT[type=button]::-moz-focus-inner,
INPUT[type=submit]::-moz-focus-inner
{
   border: 0;
}

BUTTON:active,
INPUT[type=button]:active,
INPUT[type=submit]:active
{
   outline: none;
   border: 1px solid #59f;
   box-shadow: inset 0px 0px 2px #59f;
   background: var(--globals-input-active-bg-color);
}

BUTTON.Green,
INPUT[type=button].Green,
INPUT[type=submit].Green
{
   background: var(--globals-input-green-bg-color);
   color: var(--globals-input-green-font-color);
   border-color: var(--globals-input-green-border-color);
}

BUTTON.Red,
INPUT[type=button].Red,
INPUT[type=submit].Red
{
   background: var(--globals-input-red-bg-color);
   color: var(--globals-input-red-font-color);
   border-color: var(--globals-input-red-border-color);
}

BUTTON.Green:disabled,
INPUT[type=button].Green:disabled,
INPUT[type=submit].Green:disabled,
BUTTON.Green:disabled:hover,
INPUT[type=button].Green:disabled:hover,
INPUT[type=submit].Green:disabled:hover
{
   border-color: var(--globals-input-green-disabled-border-color);
   color: var(--globals-input-green-disabled-font-color);
   opacity: 0.5;
}

BUTTON.Red:disabled,
INPUT[type=button].Red:disabled,
INPUT[type=submit].Red:disabled,
BUTTON.Red:disabled:hover,
INPUT[type=button].Red:disabled:hover,
INPUT[type=submit].Red:disabled:hover
{
   border-color: var(--globals-input-red-disabled-border-color);
   background: var(--globals-input-red-disabled-bg-color);
   color: var(--globals-input-red-disabled-font-color);
   opacity: 0.5;
}

BUTTON.Green:hover,
INPUT[type=button].Green:hover,
INPUT[type=submit].Green:hover
{
   border-color: var(--globals-input-green-hover-border-color);
}

BUTTON.Red:hover,
INPUT[type=button].Red:hover,
INPUT[type=submit].Red:hover
{
   border-color: var(--globals-input-red-hover-border-color);
   background-color: var(--globals-input-red-hover-bg-color);
}

BUTTON.Green:focus,
INPUT[type=button].Green:focus,
INPUT[type=submit].Green:focus
{
   border-color: var(--globals-input-green-focus-border-color);
   box-shadow: 0px 0px 2px var(--globals-input-green-focus-boxshadow-color);
   outline: 1px solid var(--globals-input-green-focus-outline-color);
   outline-offset: -3px;
}

BUTTON.Red:focus,
INPUT[type=button].Red:focus,
INPUT[type=submit].Red:focus
{
   border-color: var(--globals-input-red-focus-border-color);
   box-shadow: 0px 0px 2px var(--globals-input-red-focus-boxshadow-color);
   background-color: var(--globals-input-red-focus-bg-color);
   outline: 1px solid var(--globals-input-red-focus-outline-color);
   outline-offset: -3px;
}

BUTTON.Green:not([disabled]):active,
INPUT[type=button].Green:not([disabled]):active,
INPUT[type=submit].Green:not([disabled]):active
{
   border-color: var(--globals-input-greennot-disabled-active-border-color);
   box-shadow: inset 1px 1px 2px currentColor, inset -1px -1px 2px currentColor;
   outline: none;
}

BUTTON.Red:not([disabled]):active,
INPUT[type=button].Red:not([disabled]):active,
INPUT[type=submit].Red:not([disabled]):active
{
   border-color: var(--globals-input-rednot-disabled-active-border-color);
   background-color: var(--globals-input-rednot-disabled-active-bg-color);
   box-shadow: inset 1px 1px 2px currentColor, inset -1px -1px 2px currentColor;
   outline: none;
}


BUTTON.TextOnlyButton,
INPUT[type=button].TextOnlyButton,
INPUT[type=submit].TextOnlyButton
{
   background: inherit;
   color: inherit;
   border-color: transparent;
}

BUTTON.TextOnlyButton:focus,
INPUT[type=button].TextOnlyButton:focus,
INPUT[type=submit].TextOnlyButton:focus
{
   border-color: currentColor;
   box-shadow-color: currentColor;
}

BUTTON.TextOnlyButton:disabled,
INPUT[type=button].TextOnlyButton:disabled,
INPUT[type=submit].TextOnlyButton:disabled,
BUTTON.TextOnlyButton:disabled:hover,
INPUT[type=button].TextOnlyButton:disabled:hover,
INPUT[type=submit].TextOnlyButton:disabled:hover
{
   color: var(--globals-textonlybutton-disabled-font-color);
   border-color: transparent;
}

A:focus,
input[type=checkbox]:focus,
input[type=radio]:focus
{
   outline: 1px dotted black;
}

INPUT[type=text],
INPUT[type=password],
INPUT[type=search],
SELECT
{
   border: var(--edit-border) 1px solid;
   border-radius: 2px;
   padding: 2px 3px;
   background-color: var(--edit-bg);
   color: var(--main-font);
}

BODY.Dark INPUT[type=text],
BODY.Dark INPUT[type=password],
BODY.Dark INPUT[type=search],
BODY.Dark SELECT,
BODY.Dark TEXTAREA
{
   background-color: #2b2b2b;
}
INPUT[type=text]:disabled,
INPUT[type=password]:disabled,
INPUT[type=search]:disabled
{
   background: var(--globals-input-textpasswordsearch-disabled-bg-color);
}

SELECT,
INPUT.SmartList
{
   font-family: inherit;
   font-size: inherit;
}

SELECT:not([multiple]),
INPUT.SmartList
{
   -moz-appearance: none;
   -webkit-appearance: none;
   appearance: none;

   padding-right: 18px;
   padding-left: 3px;
   background-image: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAALCAYAAAB24g05AAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAJcEhZcwAADsQAAA7EAZUrDhsAAABsSURBVChTrdLRDYAgDEXR6gCdkBVZpNuUBdCXlARsGxPx/Chg74fh6DfacNrzs/8DImJvMXeOfzCoai+l9Fqr7aywj3N8NywByCLRMLgAPCPZMIQBmCPZMKQBGJFsGF4vUmuNmNlW3uZNJLoARVM4+kD6tdAAAAAASUVORK5CYII=) !important;
   background-repeat: no-repeat !important;
   background-position: right 0px center !important;
}

BODY.Dark SELECT:not([multiple]),
BODY.Dark INPUT.SmartList
{
   background-image: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAALCAYAAAB24g05AAAABHNCSVQICAgIfAhkiAAAAEJJREFUKJHdzMENACAIQ1En6DgM0hU7aL0agwlwtFf4b63/FhEe3wFYkkmmTyQtyQD6SCl+Ia04Q9rxjYziExnHlW3fhTfhSPtZIwAAAABJRU5ErkJggg==) !important;
}

SELECT:not([multiple])[disabled],
INPUT.SmartList[disabled]
{
   background-image: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAALCAYAAAB24g05AAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAJcEhZcwAADsQAAA7EAZUrDhsAAACFSURBVChTY/zw4cN/BgoAE5QmG1DfgDfv3kNZ2AG6PIoBrGzsDAf372O4ffceVAQVgMRB8iB1MIBiwO9fPxkiIqMYLl04j2EIiA8SB8mD1MEAhhewGYJLMwjgjEaQM1csX8agZ2CIUzMI4E0HMENwaQYBggkJZAguzSBAMB3g08zAwMAAAGKVV5u/6xG0AAAAAElFTkSuQmCC) !important;
   background-color: var(--globals-selectNOT-multiple-disabled) !important;
}

BODY.Dark SELECT:not([multiple])[disabled],
BODY.Dark INPUT.SmartList[disabled]
{
   background-image: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAALCAYAAAB24g05AAAABHNCSVQICAgIfAhkiAAAAFpJREFUKJFjYBh+QFlR4T8p8kzIHC5Ojv/2jk4MJkaGWA0xMTL8b+/oxMDFyYHbEi5Ojv9JSUn/0Q0xMTL8n5SU9B+vZlyGkKQZmyEka0Y3hCzNyIaQrZkYAAAgliqIv5yFoAAAAABJRU5ErkJggg==) !important;
}

SELECT:not([multiple]):not([disabled]):not(:focus):hover,
INPUT.SmartList:not([disabled]):not(:focus):not(.FlyoutOpen):hover
{
   border-color: var(--select-multiplenot-disablednot-focusnot-hover-border-color);
}

SELECT:not([multiple]):focus,
SELECT:not([multiple]):not([disabled]):hover,
INPUT.SmartList:focus,
INPUT.SmartList:not([disabled]):hover,
INPUT.SmartList.FlyoutOpen
{
   background-image: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAABjCAYAAACSRYAOAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAJcEhZcwAADsQAAA7EAZUrDhsAAAC6SURBVFhH7dExCsJAEEbhUezVW6WzEnIWGztrW1HQQsHWzkYQPJDaC5EXdsE1mQQCFsL/mmR3Mx8J6U1XRbHMX9a1frh2ToAAEiCABAggAQJIgAAS8Avgdr2Eu/q+zxPg+bjbYj6z/W4TdtLY55znYgkwHI3teDrbYbuuIKzZ55znYpVPqEO8YRqEa1JE8klWrr1hcv/C55t4w+QCFBFvmBoBahqmVqAtAQJIgAASIIAECCABAujvAbM3fVU+yOLu+LwAAAAASUVORK5CYII=);
}

SELECT::-ms-expand,
input[type=text].SmartList::-ms-clear
{
   display: none;
}

INPUT[type=search]:not(.NoSearchIcon)
{
   background-image: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAA4AAAAOCAYAAAAfSC3RAAAABGdBTUEAALGPC/xhBQAAAAlwSFlzAAAOxAAADsQBlSsOGwAAAAd0SU1FB9oMARUTBpBcmrEAAAAYdEVYdFNvZnR3YXJlAHBhaW50Lm5ldCA0LjEuNWRHWFIAAAHESURBVDhPjZL9S1NRGMc/5zand1vNjc3RdOO2ua2EIvSXIhsmoZG/5N/ZUugFIkuiIBIKCiJqrReVuXTtpbXl5e7letyOjJTQz+HAeb7P84VznucIW8I+dpsv2Sz5rQJtWxAIBkmmzqM7Hd30YbrG8s91VlZfUt+10N0uHJqgUW8gTg0wdWWai6lzqryPsMw/dubuEk0cTKdnMCJnETJRqxR5+mSFmtkiPbdAPBzoORTa+7drmG24MX+bWDSMJgRCbq9/hMXFO+gOjTev11R5H61QKDEcCBMJDiupjzboJhEbpV4pUW32WnGA1rRauDweFR5lyHVaXr1Dc7eplB6a7h6kWiqq8Cjl0o6sGsBzxqmUHloibtCo/uLVu09K6lPM5/i+scNoLI6utAPkODr2g+UMxWqDqDHOxIUkQ3J0P77l+PAxi3A4uT47h3Goq9052i2LF8+fkVvfUrJE/ouRMQO/Lvj8dYNJOc/LEwmVVEZ1xmzU2MxvY8vlC4QI+r1SbXF/eYny778YqUvMXJ3s1v5j/B9ts0Lm3iOsdgdfaIyF+dmTGfcpb2/y8PGqfEKH5NQ1NKUfiz8U4dbNNF5fgPFomD0Jfqjs3lrwiQAAAABJRU5ErkJggg==);
   background-repeat: no-repeat;
   background-position: 5px center;
   padding-left: 23px;
}
BODY.Dark INPUT[type=search]:not(.NoSearchIcon)
{
   background-image: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAA4AAAAOCAYAAAAfSC3RAAAABHNCSVQICAgIfAhkiAAAAaxJREFUKJGN0d9LU2Ecx/H3c87Omu6g+21zqGlrWQQVCVqQhWkFWWL1f9pNkQTZhZE3jiiytrk1Uhe6MbX9OM6t8+2iBp6m4Pv24cXzeXgU7ZQuFxIJYv1RdCWUikXSqW9Yhy3FMSmAwNkhmZm6jdnlxqrVadmC1/Qiv5usrizzOfW9A7uMM6Y8mL6DQYulN6/Jb/xEgB5/mOn7M4zdnKReqUi2UHJg7eqNcTw6LC2+IvejoGwRJSJqv7yjFhZeYLVsxibGO6Zq0WiQvVKBjeJexxy7UVOZ3BamP4jPUOKAhttFvVo97v0AHNQrCBpGl+G80ao18AXDJ8JAMAJ2k+qvQyfMZPN4fSFuXRuV/1E4FpfhwQhbuSzWvx9o51r/kuRSYoTR6xN0+0Oy9jXNQQvOjcS5cjmBNBukMusdSxSAcrll8u494kP9R04UO5t5ypZw8fwgyZVlPq5llAO283h7ZCDWh0KxW9qmWN5X4JIn808J9HaTT33i3Yek6oAnpXv88vzZI9y6xu72Ji8X354OAgT6BmT24RQojfTq+9Oyv0ViwzI391hCvab8ARj5n7IT7w92AAAAAElFTkSuQmCC);
}

TEXTAREA
{
   border: #CCC 1px solid;
   border-radius: 2px;
   font-family: inherit;
   font-size: inherit;
   background-color: var(--main-bg);
   color: var(--main-font);
}

INPUT[type=text]:focus,
INPUT[type=text].SmartList.FlyoutOpen,
INPUT[type=password]:focus,
INPUT[type=search]:focus,
SELECT:focus,
TEXTAREA:focus
{
   border: 1px #59f solid !important;
   outline: none;
}

OPTION
{
   padding: 0px 2px 1px 2px;
}
