body {
    overflow-x: hidden;
    overflow-y: auto;
    background: #004fef;
    background-color: #004fef;
    background-image: linear-gradient(155deg, #004fef, #004fef, #004fef, #347cff, #5c95ff, #83afff);
}

section.login-body {
    display: block;
    background: transparent;
    padding: 15vh 0 0;
    margin: 0 auto;
    max-width: 450px;
    width: calc(100% - 25px);
}
section.login-body .btn:focus {
    box-shadow: none;
    outline: none;
}

section.login-body .form-title {
    display: block;
    text-align: center;
    width: 100%;
}
section.login-body .form-title h1 {
    color: #fff;
    font-size: 2.5em;
}
section.login-body .form-title h1 img {
    display: inline-block;
    vertical-align: middle;
    max-height: 50px;
}
section.login-body .form-title h1 span {
    display: inline-block;
    vertical-align: middle;
    padding: 0 0.25em;
}
section.login-body .form-content {
    border: 2px solid #fff;
    border-radius: 25px;
    padding: 5px;
}
section.login-body .form-content ul {
    border-top-right-radius: 20px;
    border-top-left-radius: 20px;
    list-style: none;
    padding: 0;
    margin: 0;
    max-width: 100%;
    min-width: 100%;
    width: 100%;
}
section.login-body .form-content ul li {
    border: none;
    display: inline-block;
    padding: 0;
    margin: 0;
    max-width: calc((100% / 2) - 2px);
    width: 50%;
}
section.login-body .form-content ul li:first-child {
    border-top-left-radius: 20px;
}
section.login-body .form-content ul li:last-child {
    border-top-right-radius: 20px;
}
section.login-body .form-content ul li button.btn-tab {
    background: transparent;
    border: none;
    border-bottom-right-radius: 0;
    border-bottom-left-radius: 0;
    border-top-right-radius: 20px;
    border-top-left-radius: 20px;
    color: #fff;
    cursor: pointer;
    font-size: 1.15rem;
    text-align: center;
    padding: 10px 5px;
    margin: 0;
    width: 100%;
}
section.login-body .form-content ul li button.btn-tab.selected {
    background: #fff;
    color: #000;
    font-weight: bold;
    overflow: hidden;
}

section.login-body .form-content h3 {
    padding: 0;
    margin: 0;
}
section.login-body .form-content .form-items {
    background: var(--background-white, #fff);
    border-bottom-right-radius: 20px;
    border-bottom-left-radius: 20px;
    padding: 25px 0 10px;
    margin-top: -1px;
    max-width: calc(100% - 1px);
}
section.login-body .form-content .form-items a {
    color: var(--text-color, #000);
    display: block;
    font-weight: normal;
    text-align: center;
    margin: 0 auto;
    max-width: 90%;
    width: 90%;
}
section.login-body .form-content .form-items a:visited { color: var(--text-color, #000); }
section.login-body .form-content .form-items h3 {
    display: block;
    text-align: center;
    padding: 5px 0 10px;
    margin: 0 auto;
    max-width: 90%;
    width: 90%;
}
section.login-body .form-content .form-items input {
    border-radius: 5px;
    border: 1px solid var(--border-color, #ccc);
    display: block;
    font-size: 1.1rem;
    text-align: center;
    padding: 5px 8px;
    margin: 0 auto 10px;
    max-width: 90%;
    width: 90%;
}
section.login-body .form-content .form-items button {
    background: var(--button-primary-back, #1e2f8c);
    border: 2px solid var(--button-primary-line, #111a4d);
    color: var(--button-primary-text, #fff);
    display: block;
    font-weight: bold;
    padding: 8px;
    margin: 0 auto 10px;
    max-width: 75%;
    width: 75%;
}
section.login-body .form-content .form-items button.btn-sso {
    margin-bottom: 50px;
}
section.login-body .form-content .form-items button:disabled {
    background: transparent;
    border-color: transparent;
    opacity: 0.33;
}
section.login-body .form-content p.forgot {
    display: block;
    padding: 0;
    margin: 25px auto 0;
    width: calc(100% - 25px);
}
section.login-body .form-content p.forgot a,
section.login-body .form-content p.forgot a:hover,
section.login-body .form-content p.forgot a:visited {
    border-bottom: 1px dotted var(--berlitz-blue, #004fef);
    color: var(--berlitz-blue, #004fef);
    font-size: 0.8em;
    padding: 0 15px 5px;
    width: fit-content;
}

section.login-body .form-content .form-response  {
    display: block;
    position: relative;
    margin: 0 auto;
    min-height: calc(100% - 50px);
    max-width: 1024px;
    width: 100%;
    overflow-x: hidden;
    overflow-y: scroll;
    z-index: 0;
    -webkit-overflow-scrolling: touch;
    -ms-overflow-style: none;
}
section.login-body .form-content .form-response .message {
    background: #fffacd;
    border: 2px solid #000;
    border-radius: 20px;
    display: block;
    padding: 5px 0;
    margin: 5px auto;
    max-width: calc(100% - 4px);
    width: 100%;
}
section.login-body .form-content .form-response .message p {
    text-align: center;
    padding: 0;
    margin: 0;
}
section.login-body .form-content .form-response .message p.head {
    font-weight: bold;
    font-size: 1.1em;
    padding: 0 0 0.5em;
}

section.guest-block {
    display: block;
    font-size: 1.2em;
    position: absolute;
    text-align: right;
    padding: 25px;
    margin: 0;
    max-width: 15em;
    min-width: unset;
    width: auto;
    right: 0;
}
section.guest-block button {
    background: transparent;
    border-color: var(--button-primary-text, #fff);
    color: var(--button-primary-text, #fff);
    padding: 0.25em 1em;
    margin: 0 0 1.25em;
    min-height: 2.25em;
}
section.guest-block button:last-child { margin: 0; }

@media screen and (max-width: 425px) {
    section.guest-block { display: none; }
}
@media screen and (max-height: 425px) {
    section.guest-block { display: none; }
}

section.languages {
    display: block;
    background: transparent;
    text-align: center;
    padding: 10px 0;
    margin: 0 auto;
    max-width: 450px;
    width: 100%;
}
section.languages button {
    font-size: 1.2em;
    padding: 0.25em 1em;
    margin: 0 0.125em;
    min-height: 2.25em;
}
section.languages button {
    background: transparent;
    border-color: var(--button-primary-text, #fff);
    color: var(--button-primary-text, #fff);
}
section.languages button.selected {
    background: var(--background-white, #fff);
    border-color: transparent;
    color: var(--berlitz-blue, #004fef);
}

span.invisible { opacity: 0; }