@font-face {
    font-family: "Open Sans";
    font-style: normal;
    font-weight: 300;
    src: url("../OpenSans/Open Sans Light.woff") format("woff");
}
@font-face {
    font-family: "Open Sans";
    font-style: normal;
    font-weight: 400;
    src: url("../OpenSans/Open Sans.woff") format("woff");
}
@font-face {
    font-family: "Open Sans";
    font-style: normal;
    font-weight: 600;
    src: url("../OpenSans/Open Sans Semibold.woff") format("woff");
}
@font-face {
    font-family: "Open Sans";
    font-style: normal;
    font-weight: 700;
    src: url("../OpenSans/Open Sans Bold.woff") format("woff");
}
@font-face {
    font-family: "Open Sans";
    font-style: normal;
    font-weight: 800;
    src: url("../OpenSans/Open Sans Extrabold.woff") format("woff");
}
@font-face {
    font-family: "Open Sans";
    font-style: italic;
    font-weight: 300;
    src: url("../OpenSans/Open Sans Light Italic.woff") format("woff");
}
@font-face {
    font-family: "Open Sans";
    font-style: italic;
    font-weight: 400;
    src: url("../OpenSans/Open Sans Italic.woff") format("woff");
}
@font-face {
    font-family: "Open Sans";
    font-style: italic;
    font-weight: 600;
    src: url("../OpenSans/Open Sans Semibold Italic.woff") format("woff");
}
@font-face {
    font-family: "Open Sans";
    font-style: italic;
    font-weight: 700;
    src: url("../OpenSans/Open Sans Bold Italic.woff") format("woff");
}
@font-face {
    font-family: "Open Sans";
    font-style: italic;
    font-weight: 800;
    src: url("../OpenSans/Open Sans Extrabold Italic.woff") format("woff");
}
:root {
    --lfOrange: #e35205;
    --lfGrayLight: #dde5ed;
    --lfBlue: #083e66;
    --lfWhite: #fff;
    --inputTextColor: #000;
    --inputBorderFocusColor: #37b3e6;
    --linkTextColor: #0069ba;
    --textDark: #212529;
    --pBlueHalfOpacity: #01426a80;
    --lfHeaderColor: #004e95;
    --lfHeaderStripeColor: #e35205;
}
* {
    box-sizing: border-box;
}
body {
    margin: 0;
    height: 100%;
    width: 100%;
    position: absolute;
    font-family: "Open Sans", Helvetica, Arial, sans-serif;
    font-size: 14px;
    line-height: 1.428;
    color: #333;
}
body:not(:has(.config-form)) {
    --background-image: url(../../Images/login-background.png);
    background-repeat: no-repeat;
    background-position: center top;
    background-size: cover;
    background-attachment: fixed;
}
a[href] {
    color: var(--linkTextColor);
    font-weight: 600;
}
.header {
    position: relative;
    width: 100%;
    --height: 40px;
    height:140px;
    background-color: var(--lfHeaderColor);
}
.header::after {
    content: "";
    display: block;
    position: absolute;
    height: 4px;
    width: 100%;
    --background-color: var(--lfHeaderStripeColor);
    inset-block-end: 0;
}
.header.test-mode {
    background-color: #5f0a50;
}
.header .brand {
    height: 100%;
    float:left;
}
.header .brand .logo {
    --height: 100%;
    width:138px;
	height:138px;
    margin-left:auto;
	margin-right:auto;
    --display: inline-flex;
    --flex-direction: column;
    --margin-inline-start: 18px;
    background:url(../../Images/gfoa_logo.png) center no-repeat;
    --justify-content: center;
    float:left;
}
.header .brand .logo svg {
    top: -2px;
    position: relative;
    width: 92px;
    aspect-ratio: 300/91;
    margin-inline: -8px 10px;
    color: #fff;
}
.header .help {
    float: right;
    padding-block: 17px;
    height: 16px;
    max-width: 56px;
    min-width: 26px;
    width: 10%;
}
.header .help .help-icon {
    height: 16px;
    width: 16px;
    background: url(../../Images/icons.svg#help);
}
.header .test-mode-text {
    padding: 15px;
    display: none;
    color: #fff;
}
.loading {
    position: fixed;
    top: 50%;
    inset-inline-start: 50%;
    display: none;
    height: 30px;
    width: 30px;
    background: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAB4AAAAeCAYAAAA7MK6iAAAAAXNSR0IArs4c6QAAA2RJREFUSA21V01IVFEUPufOaJpFYVphIEkEEUUF40gYOk7SskXRJqG/hQSm4M8sAhe2cOE8cVFBQWRI0KJNuIjAxSgFoo4JQUS0SCNU0BIqDEV9p++NvuH9jTiTczfv3u+ec753ft659zFtZYhwtTZ2TjHVQTzAwsXEsisWqdi3FXUvGb8XaGKhjsk8yp9vUFq8iZhLTZwYM+G/yXUGk5TEYW3sptB8FBxFXnYFbnvhW8WUl2BNdLQTeG8qUi+ddDGXxyB9ysy30jWUrryNGKQ9m5EK0Q8kd4CExpHnL+mSWeWTeQp3j95GwTyyblrmi0TcHlsM3KcO1i14xtME8QXtQ8GqLH+DF16fx1vy5V6NtZyezpjFQzERapA2piKNLZbXbJeXVn515aX4kLsWK5iYC/3UWV3OBqlhXy1Mvq9ipmInsc6iDbUFUEzZGUrU2iWnaURgJZfyHjrx7VwrVHLQaZBFXg9ETqGSszeUkOx3mtcZ32mWh0LDcOWXRc1nmZf88BjdPtlH1vmU2Dra/7xEWIvfQbd7YLchvxULzdpBrIQOurAMAThW4lQV4hnkmGecG/A/4MQyXgu5iheOTSPHFHcaxedUW9n1ebcTT3d9tme4EOGrduvJqEJ36nduwOOcXP7T6MTTXeev+VpQvK56EaFXbNQWbhuzuNocsBuWhRW/78S75oC7BuyCnqsqbbTML/wRdbvTKoBofh+MBEsVCDEn48bhGFzoX9Vjoe5xz6uPQ9i2rOyaKMEBEHOSGkIotnvGM3H1+bXH91hEpgzAOhDyY6zrI+Ho+BErvtn8fPfI8R28MoEQH3bLyaehtmCvgcP2+ghp8VrEfQBAEjP38FJLgJ/JWk506O6ZKRO3Pg1C0VUETaEOBnKse8YcNlbZx9Wx1uCwsbaR1GjxCMijxkaqgVD1M6kh5GcSd2ufrFGZUnQR8lWpdDbw+lgk+MSUsREbIO5dfQjTNVNgO57oFT2DkfJWqy3X9RYVdwOB2bYjUSdpd5IaL+Dy2HyrUDTegDOzExJ7TCy9p8whHc2DkYoXXnopiQ1h4xK4Ikv16G4IEx/yMuDChL4itF15eXv73jQdXXbtbwCbEieVOkSFC8ZC6DjXkf+T8KQIZZo4TnGyzeF3Zh7dIE4+fm5WbVI3xeQf+zYOkeB2gqkAAAAASUVORK5CYII=");
    animation: spin 2s infinite linear;
}
@keyframes spin {
    from {
        transform: rotate(0deg);
    }
    to {
        transform: rotate(359deg);
    }
}
.in-body-logo {
    margin-inline: auto;
    padding: 20px;
    width: fit-content;
}
.in-body-logo svg {
    width: 240px;
    aspect-ratio: 180/32;
    color: var(--lfOrange);
}
button {
    font-size: 14px;
}
.container {
    padding-inline: 10px;
}
.container .alert {
    margin-inline: auto;
    max-width: 342px;
    text-align: center;
    background-color: #f7e8e9;
    color: #ab2227;
    padding: 7px 14px;
    margin-bottom: 20px;
    text-shadow: 0 1px 0 rgba(255, 255, 255, 0.5);
    border: 1px solid #eed3d7;
    border-radius: 4px;
    line-height: 14px;
}
.container .alert.alert-warning {
    background-color: #f5e3b8;
    border-color: #fff9eb;
    color: #333;
}
.container .alert:empty {
    display: none;
}
.container .centered-link {
    margin-inline: auto;
    display: block;
    text-align: center;
    text-decoration: inherit;
}
.container .login-form {
    margin-inline: auto;
    max-width: 450px;
    overflow: hidden;
    text-align: start;
    background: var(--lfWhite, #fff);
    border-radius: 4px;
    color: #333;
    box-shadow: 0 0 2px rgba(0, 0, 0, 0.5);
}
.container .login-form .form-title {
    font-weight: 600;
    font-size: 16px;
    margin: 16px 20px;
}
.container .login-form .form-contents {
    text-align: start;
    margin-inline: auto;
    padding-inline: 20px;
}
.container .login-form .form-contents .form-entry {
    margin-bottom: 10px;
}
.container .login-form .form-contents .form-entry.additional-login-options {
    margin-block: 20px;
}
.container .login-form .form-contents .form-entry label:not(.label-for-checkbox) {
    font-weight: 600;
    line-height: 1.5;
    display: inline-block;
    margin-bottom: 2px;
}
.container .login-form .form-contents .form-entry label.label-for-checkbox:not(:has(input:disabled)) {
    cursor: pointer;
}
.container .login-form .form-contents .form-entry .form-entry-value {
    width: 100%;
    height: 34px;
    padding: 7px 12px;
    font-family: "Open Sans", Helvetica, Arial, sans-serif;
    display: inline-block;
    font-size: 13px;
    line-height: 18px;
    color: var(--inputTextColor, #000);
    border-radius: 4px;
    background-color: #fff;
    border: 1px solid #ccc;
    box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075);
    transition: border linear 0.2s, box-shadow linear 0.2s;
}
.container .login-form .form-contents .form-entry .form-entry-value:focus {
    border-color: var(--inputBorderFocusColor);
    outline: 0;
    box-shadow: none;
}
.container .login-form .form-contents .form-entry .form-entry-value:focus:invalid {
    color: #b94a48;
    border-color: #e9322d;
    box-shadow: 0 0 6px #f8b9b7;
}
.container .login-form .form-contents .form-entry .dropdown {
    --icon-padding-inline: 8px;
    appearance: none;
    background: url(data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMTYiIGhlaWdodD0iMTYiIHZpZXdCb3g9IjAgMCAxNiAxNiIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj48cGF0aCBkPSJNMS41IDMuNyA4IDEwLjNsNi41LTYuNiAxLjEgMS4xTDggMTIuMy40IDQuOHoiIGZpbGw9IiM2NDY0NjQiLz48L3N2Zz4=)
        no-repeat #fff;
    background-position: calc(100% - var(--icon-padding-inline)) 50%;
    padding-inline-end: calc(var(--icon-padding-inline) + 16px + var(--icon-padding-inline));
}
.container .login-form .form-contents .form-entry .login-button {
    width: 100%;
    height: 30px;
    cursor: pointer;
    font-weight: 600;
    border: 0;
    border-radius: 4px;
    display: inline-block;
    padding: 5px 23px 6px;
    line-height: 19px;
    text-align: center;
    vertical-align: middle;
    font-family: inherit;
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.2), 0 1px 2px rgba(0, 0, 0, 0.05);
}
.container .login-form .form-contents .form-entry .login-button:focus,
.container .login-form .form-contents .form-entry .login-button:hover {
    outline: 0;
}
.container .login-form .form-contents .form-entry .login-button:disabled,
.container .login-form .form-contents .form-entry .login-button[disabled] {
    cursor: default;
    box-shadow: none;
    border: 0;
}
.container .login-form .form-contents .form-entry #loginBtn,
.container .login-form .form-contents .form-entry #forgotBtn,
.container .login-form .form-contents .form-entry #resetBtn {
    color: var(--lfWhite);
    background-color: var(--linkTextColor);
}
.container .login-form .form-contents .form-entry #loginBtn:focus,
.container .login-form .form-contents .form-entry #forgotBtn:focus,
.container .login-form .form-contents .form-entry #resetBtn:focus,
.container .login-form .form-contents .form-entry #loginBtn:hover,
.container .login-form .form-contents .form-entry #forgotBtn:hover,
.container .login-form .form-contents .form-entry #resetBtn:hover {
    background-color: var(--lfBlue);
}
.container .login-form .form-contents .form-entry #loginBtn:disabled,
.container .login-form .form-contents .form-entry #forgotBtn:disabled,
.container .login-form .form-contents .form-entry #resetBtn:disabled,
.container .login-form .form-contents .form-entry #loginBtn[disabled],
.container .login-form .form-contents .form-entry #forgotBtn[disabled],
.container .login-form .form-contents .form-entry #resetBtn[disabled] {
    background-color: var(--pBlueHalfOpacity);
}
.container .login-form .form-contents .form-entry #winAuthBtn {
    color: var(--textDark);
    background-color: var(--lfGrayLight);
}
.container .login-form .form-contents .form-entry .forgot {
    cursor: pointer;
    margin-bottom: 2px;
    font-size: 10px;
}
.container .login-form .form-contents .form-entry .forgot:not(:hover, :focus) {
    text-decoration: none;
}
.container .login-form .form-contents .form-entry .forgot:visited {
    color: var(--linkTextColor);
}
.container .login-form .form-contents .form-entry .form-display-value {
    text-align: center;
    font-weight: bold;
}
.container #mfaCodeField:focus::placeholder {
    opacity: 0;
}
.container #lfAuthSection,
.container #forgotPasswordSection,
.container #resetPasswordSection {
    border: solid 1px #ccc;
    border-inline-color: transparent;
    padding-block: 20px;
}
.container #lfAuthSection label,
.container #forgotPasswordSection label,
.container #resetPasswordSection label {
    display: flex;
    align-items: center;
}
.container #lfAuthSection input[type="checkbox"],
.container #forgotPasswordSection input[type="checkbox"],
.container #resetPasswordSection input[type="checkbox"] {
    height: 16px;
    width: 16px;
    margin: 0;
    margin-inline-end: 10px;
}
.container #forgotPasswordSection,
.container #resetPasswordSection {
    border-bottom-color: transparent;
}
.container #rememberMe {
    margin-bottom: 5px;
}
.container .copyright-text {
    text-align: center;
    font-size: 10px;
}
.container .copyright-text a {
    color: var(--linkTextColor);
}
.container .copyright-text a:not(:hover, :focus) {
    text-decoration: none;
}
.container .no-authentication-options {
    margin-block: 5px;
    margin-inline: auto;
    font-size: 21px;
    max-width: 500px;
    font-weight: bold;
    text-align: center;
    display: block;
    padding: 16px 20px;
    background: var(--lfWhite, #fff);
    border-radius: 4px;
    color: #333;
    box-shadow: 0 0 2px rgba(0, 0, 0, 0.5);
}
.container .no-authentication-options .info-option svg {
    height: 150px;
    width: 150px;
    color: #e2e7ed;
}
@media screen and (min-height: 735px) {
    #container {
        margin-top: 90px;
    }
    .copyright-text {
        padding-block: 10px;
    }
}
@media screen and (min-height: 545px) and (max-height: 734px) {
    #container {
        margin-top: calc((100vh - 514px) * 90 / 210 - 5px);
    }
    .copyright-text {
        padding-block: calc((100vh - 514px) * 10 / 210);
    }
}
@media screen and (max-height: 544px) {
    #container {
        margin-top: 8px;
    }
    .copyright-text {
        padding-block: 2px;
    }
}
@-moz-document url-prefix() {
    .moz {
        line-height: 10px !important;
        padding-bottom: 6px !important;
    }
}

