html {
    overflow-x: hidden
}

body {
    font-family: sofia-pro, sans-serif;
    color:#582C83;
}

#headerOuter {
    display: none;
}

#wrapper {
    background-image: url(https://tigerlilytraining.co.uk/images/webinars.jpg?crop=width=1920&amp;height=1080&amp;rnd=133173057730000000) !important;
    background-size: cover !important;
    min-height: 100vh;
    display: -webkit-flex;
    display: -webkit-box;
    display: -moz-flex;
    display: -moz-box;
    display: -ms-flexbox;
    display: flex;
    align-items: flex-start;
    justify-content: flex-start;
}

#wrapper:before {
    content: "";
    height: 100%;
    display: block;
    width: 100%;
    background: rgba(0,0,0,0.5);
    position: absolute;
    top: 0;
    left: 0;
}

.footer_spacer,
footer,
#bookBottom {
    display: none !important;
}

a.login-logo-link {
    max-width: 360px;
    display: block;
    width: 100%;
    text-decoration: none;
    margin-bottom: 24px;
}

a.login-logo-link > * {
    display:block;
    width:100%;
}

.login_form {
    margin: 10px auto;
    color: #582C83;
}

.login_page.provider-external.provider-elearnFirstAid .login_form {
    background: #FFFFFF;
    color: #121212;
}

.password_reset {
    color: #FFFFFF;
}

.password_reset .validation-summary-errors {
    margin-top: 20px;
}

.password_reset .intro {
    margin-top: 10px;
    margin-bottom: 20px;
    font-size: 1.25em;
}

.login_form input,
.password_reset input {
    padding: 10px 5%;
    margin: 10px 0;
    width: 90%;
    box-sizing: border-box;
}

.login_form button,
.password_reset button {
    width: fit-content;
    padding: 5px 16px 8px 16px;
    border: none;
    margin: 10px 0;
    box-sizing: border-box;
    background: #7D55C7 !important;
    font-size: 1.1em;
    color: #FFFFFF;
    border-radius: 25px;
    font-family: sofia-pro, sans-serif;
}

.login_form button.enabled:hover,
.password_reset button:hover {
    cursor: pointer;
    background: #34B78F !important;
    transition: all ease 0.7s;
}

.login_form button.disabled {
    background: rgba(0, 0, 0, 0.2) !important;
    color: #e9e7e7;
}

.login_form a {
    cursor: pointer;
    color: #7D55C7;
    text-decoration: none;
    font-size: 20px;
}

.login_form .validation-summary-errors ul,
.password_reset .validation-summary-errors ul {
    margin: 0;
    padding: 0;
}

.login_form .validation-summary-errors li,
.password_reset .validation-summary-errors li,
.password_reset .password_reset_fail {
    list-style: none;
    background: #ff0039;
    color: #ffffff;
    margin: 8px 0;
    padding: 8px 16px;
    border-radius: 25px;
}


.login_header {
    position: relative;
    width: 480px;
    margin: 0px auto 0 auto;
    top: 10%;
}

.login_page {
    width: 90%;
    max-width: 640px;
    background: #FFFFFF;
    display: flex;
    border-radius: 0;
    z-index: 100;
    margin: 0;
    padding: 24px;
    box-sizing: border-box;
    height:100vh;
    flex-direction: column;
    justify-content: space-between;
}

.login-footer {
    color:#582C83;
    font-size:.8rem;
    font-family: sofia-pro, sans-serif;
}

.login_page.provider-external.provider-elearnFirstAid {
    background: #FFFFFF;
    color: #121212;
}

.login_page.provider-external.provider-elearnFirstAid > a {
    display: block;
    width: 320px;
    margin: 0 auto;
}

.login_page a img {
    display: block;
    width: 70%;
    margin: 10px auto;
}

.login_page.provider-external.provider-elearnFirstAid > a object {
    display: block;
    width: 100%;
    max-width: 320px;
}

.login_page input {
    background: rgba(255, 255, 255, 0.8) !important;
    font-size: 1rem;
    color: #444;
    padding: 10px;
    border-radius: 2px;
    margin: 15px auto;
    border: none;
    width: 100%;
    box-sizing: border-box;
    outline: none;
    border: 1px solid #cccccc;
    font-family: sofia-pro, sans-serif;
    transition:.5s;
}

.login_page input:focus {
    border-color:#7D55C7;
}

.login_page.provider-external.provider-elearnFirstAid input {
    border: 1px solid #e41517
}

.login_page.provider-external.provider-elearnFirstAid .login_form button,
.login_page.provider-external.provider-elearnFirstAid .password_reset button {
    background: #E52427 !important;
}

.login_page.provider-external.provider-elearnFirstAid .login_form button.enabled:hover,
.login_page.provider-external.provider-elearnFirstAid .password_reset button:hover {
    background: #E27227 !important;
}

.password_reset_fail {
    color: #ffffff;
    text-align: center;
    display: none;
}

.password_reset_fail {
    padding: 0.5em;
    background: #bf0e3e;
    color: #ffffff;
    border-radius: 2px;
    margin-bottom: 0.25em;
    list-style: none;
}

.login_field.rememberme {
    display: none;
}

.si_gen_forgot:hover {
    color: #009749;
}

.password_reset_popup .help {
    color: #582C83;
    padding: 1rem 0;
    padding-top: 0;
}

.password_reset_popup .help strong {
    color: #7d55c7;
}

button #Login:hover, button.fp_reset:hover, .password_reset input[type=submit]:hover {
    cursor: pointer;
    background: #34B78F !important;
    transition: all ease 0.7s;
}

.validation-summary-errors ul {
    margin: 0;
    padding: 0;
}

.validation-summary-errors li {
    padding: 0.5em;
    background: #b50937;
    color: #ffffff;
    border-radius: 2px;
    margin-bottom: 0.25em;
    list-style: none;
}

.g-signin2 {
    position: fixed;
    bottom: 0;
    left: -120px;
    width: 200px;
}

.google-signin-success {
    display: none;
    background: #7D55C7;
    color: #ffffff;
    padding: 10px;
    border-radius:8px;
}

.google-signin-success.active {
    display: block;
}

.google-signin-success:hover {
    cursor: pointer;
    opacity: 0.5;
}

.google-signin-success p {
    padding: 0;
    margin: 0;
    line-height: normal;
}


.google-signin-success a,
.google-signin-success .cancel-signin-in {
    margin-top: 10px;
    font-weight: 500;
    color:#FFFFFF;
    text-decoration:underline;
}

.google-signin-success a:hover,
.google-signin-success .cancel-signin-in:hover {
    color:#582C83;
    text-decoration:underline;
}

.fp-step,
.lgn-step {
    display: -webkit-flex;
    display: -webkit-box;
    display: -moz-flex;
    display: -moz-box;
    display: -ms-flexbox;
    display: flex;
    text-align: left;
}

.fp-step.step2 {
    align-items:center;
}

.fp-step:before,
.lgn-step:before {
    width: 38px;
    height: 38px;
    overflow: hidden;
    border-radius: 50%;
    background: #512683;
    color: #ffffff;
    display: -webkit-flex;
    display: -webkit-box;
    display: -moz-flex;
    display: -moz-box;
    display: -ms-flexbox;
    display: flex;
    align-items: center;
    justify-content: center;
    content: '1';
    margin-right: 16px;
    flex-shrink: 0;
    flex-grow: 0;
    font-size: 28px;
    box-sizing: border-box;
    padding-bottom:4px;
}

.login_page.provider-external.provider-elearnFirstAid .fp-step:before,
.login_page.provider-external.provider-elearnFirstAid .lgn-step:before {
    background: #E52427;
}

.fp-step.step1:before,
.lgn-step.step1:before {
    content: '1';
}

.fp-step.step2:before,
.lgn-step.step2:before {
    content: '2';
}

.lgn-step.step-warning:before {
    font-family: "Font Awesome 5 Pro";
    content: '\f071';
    font-size: 20px;
}

.fp-step.step3:before {
    content: '3';
}

.lgn-step.step-sad:before {
    font-family: "Font Awesome 5 Pro";
    content: '\f5b4';
    font-size: 24px;
    background-color: #ef7900;
    position: relative;
    padding-top: 4px;
}

.lgn-step.step-email:before {
    font-family: "Font Awesome 5 Pro";
    content: '\f0e0';
    font-size: 24px;
}

.lgn-step.step-info:before {
    font-family: "Font Awesome 5 Pro";
    content: '\f05a';
    font-size: 24px;
}

a.si_gen_forgot,
.cannot-login-container a.si_gen_forgot,
.login-user-mismatch-options a {
    display: block;
    padding: 5px 16px 8px 16px;
    background: #7D55C7;
    color: #FFFFFF;
    text-decoration: none;
    margin: 24px 0;
    border-radius: 25px;
    font-family: sofia-pro, sans-serif;
    font-size:1rem;
}

.login-user-mismatch-options  div:nth-child(2) a {
    background:#582C83;
}

.login-user-mismatch-options  div:nth-child(3) a {
    background:rgb(88 44 131 / 75% );
}

a.si_gen_forgot:hover,
.cannot-login-container a.si_gen_forgot:hover,
.login-user-mismatch-options a:hover,
.login-user-mismatch-options  div:nth-child(2) a:hover,
.login-user-mismatch-options  div:nth-child(3) a:hover {
    background: #34B78F;
    color: #FFFFFF;
    text-decoration: none;
}

.help.ok,
.help.not-ok {
    padding-left: 98px;
    position: relative;
    text-align: left;
}

.help.ok:before, .help.not-ok:before {
    width: 68px;
    height: 68px;
    overflow: hidden;
    border-radius: 4px;
    color: #ffffff;
    display: -webkit-flex;
    display: -webkit-box;
    display: -moz-flex;
    display: -moz-box;
    display: -ms-flexbox;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
    flex-grow: 0;
    font-size: 48px;
    font-weight: 900;
    box-sizing: border-box;
    font-family: "Font Awesome 5 Pro";
    position: absolute;
    left: 0;
}

.help.ok:before {
    background: #0089cf;
    content: '\f00c';
}

.help.not-ok:before {
    background: #ef7900;
    content: '\f12a';
}

.cannot-login-container .help {
    margin-bottom: 20px;
    padding-bottom: 20px;
    border-bottom: 1px dotted rgba(255, 255, 255, 0.25);
}
/*
    =====================================================================================================================================================================
*/
.login_container {
    display: block;
    text-align: left;
    box-sizing: border-box;
    width: 100%;
    width: calc(100% - 24px);
    height: calc(100vh - 200px);
    overflow: hidden;
    position: relative;
    font-family: sofia-pro, sans-serif;
}

.login_container > * {
    box-sizing: border-box;
    width: 100%;
    overflow: hidden;
    position: absolute;
    left: 0;
    top: 0;
    height: 100%;
    background: #FFFFFF;
    overflow-y: scroll;
    -ms-overflow-style: none;
    -webkit-overflow-scrolling: touch;
}

.login_container > *::-webkit-scrollbar {
    display: none;
}

.login_container h3 {
    font-weight:600;
    color: #512683;
    font-size: 24px;
    display: -webkit-flex;
    display: -webkit-box;
    display: -moz-flex;
    display: -moz-box;
    display: -ms-flexbox;
    display: flex;
    align-items: center;
    position: relative;
}

.login_container h2 {
    color: #582C83;
    font-size: 28px;
}

.login_page.provider-external.provider-elearnFirstAid .login_container h3 {
    color: #512683;
    font-size: 28px;
}

.login_page.provider-external.provider-elearnFirstAid .login_container > * {
    background: #FFF;
}

.login_container .si_text::-webkit-input-placeholder { /* Chrome/Opera/Safari */
    color: #757575 !important;
}

.login_container .si_text::-moz-placeholder { /* Firefox 19+ */
    color: #757575 !important;
}

.login_container .si_text:-ms-input-placeholder { /* IE 10+ */
    color: #757575 !important;
}

.login_container .si_text:-moz-placeholder { /* Firefox 18- */
    color: #757575 !important;
}

.login_container .si_text::placeholder {
    color: #757575 !important;
}

.si_text.hasDatepicker {
    width: 100%;
}

.icon_datepicker {
    font-size: 28px;
    position: absolute;
    right: 10px;
}

.choose-login-type {
    display: none;
}

.choose-login-type.active {
    display: block;
}

.choose-login-type > div.help {
    text-align: left;
}

.choose-login-type p {
    margin: 0;
    padding: 0;
    margin-bottom: 10px;
}

.password_reset_popup,
.password_reset_success {
    box-sizing: border-box;
    width: 100%;
    overflow: hidden;
    position: absolute;
    left: 0;
    top: 0;
    background: #FFFFFF;
    color:#582C83;
    overflow-y: scroll;
    -ms-overflow-style: none;
    -webkit-overflow-scrolling: touch;
}

.fp-step.step1 {
    padding-top:24px;
}

.password_reset_popup input {
    margin-top: 0;
}

.password-login-container,
.alt-login-container,
.cannot-login-container,
.password_reset_popup,
.password_reset_success {
    left: 100%;
    z-index: 1;
    /* 
        IMPORTANT! The code waits 500ms and then focusses the next element.

        If you focus before the transition is complete then the end position will be undefined, and the login fields will likely not be visible at all. 
        If you want to make this longer, change stepTransitionFocusWait in UnifiedLoginLoader.js

        See: https://stackoverflow.com/questions/26782998/why-does-calling-focus-break-my-css-transition
    */
    transition: left ease 250ms;
}

.password-login-container.show,
.alt-login-container.show,
.cannot-login-container.show,
.password_reset_popup.show,
.password_reset_success.show {
    left: 0;
}

.login_username {
    display: none;
}

.password_reset_success .help {
    margin-bottom: 20px;
}

.dp_container {
    display: -webkit-flex;
    display: -webkit-box;
    display: -moz-flex;
    display: -moz-box;
    display: -ms-flexbox;
    display: flex;
    align-items: center;
    justify-content: space-between;
}

.si_text.readonly {
    background: rgba(255,255,255,0.1) !important;
    font-size: 1.1em;
    color: #7D55C7;
    padding: 8px;
    border-radius: 2px;
    margin: 0;
    border: none;
    width: 100%;
    box-sizing: border-box;
    display: block;
    text-align: left;
}

.login_page.provider-external.provider-elearnFirstAid .login_form a {
    color: #E52427;
}

.login_page.provider-external.provider-elearnFirstAid .si_text.readonly {
    color: #121212;
}

.login_display_username .si_text.readonly {
    padding-left: 6em;
    position: relative;
}

.login_display_username .si_text.readonly:before {
    color:#582C83;
    content: 'Account:';
    position: absolute;
    left: 0;
    top: 0;
    background: rgba(255, 255, 255, 0.1);
    padding: 8px;
}

.password_reset .user-type-selector {
    display: flex;
}

.password_reset .user-type-select {
    font-size: 14px;
}

.password_reset .user-type-selector :first-child {
    margin-right: 5px;
}

.password_reset .user-type-selector :last-child {
    margin-left: 5px;
}

.password_reset .user-type-selector .selected {
    background: #34B78F !important;
}

.password_reset .type-selected .user-type-selector :not(.selected) {
    background: rgba(0, 0, 0, 0.25) !important;
}

.password_reset .log-in-link-button {
    text-decoration: none;
    text-align: center;
    width: 100%;
    padding: 10px;
    border: none;
    margin: 10px 0;
    box-sizing: border-box;
    background: #b50937 !important;
    font-size: 1.1em;
    color: #FFFFFF;
    border-radius: 2px;
    display: inline-block;
    margin-top: 10px;
    margin-bottom: 10px;
}

.password_reset .log-in-link-button:hover {
    cursor: pointer;
    background: #34B78F !important;
    transition: all ease 0.7s;
}

.client-logo.fennies {
    display: none;
}


.external-provider-client-fennies-container .login_page.provider-external.provider-elearnFirstAid > a.login-logo-link,
.external-provider-client-fennies-container .login_page.provider-external.provider-elearnFirstAid > a.login-logo-link object,
.external-provider-client-fennies-container iframe,
.external-provider-client-fennies-container .login-logo-link {
    display: none;
}

.external-provider-client-fennies-container .client-logo.fennies {
    display: block;
}

.external-provider-client-fennies-container .client-logo.fennies img {
    display: block;
    max-width: 90%;
    margin: 0 auto;
}

.external-provider-client-fennies-container .login_page.provider-external.provider-elearnFirstAid .login_form,
.external-provider-client-fennies-container .login_page.provider-external.provider-elearnFirstAid .login_container > *,
.external-provider-client-fennies-container .login_page.provider-external.provider-elearnFirstAid,
.external-provider-client-fennies-container .login_page {
    background: #374d5a;
    color: #FFFFFF;
}

.external-provider-client-fennies-container .login_page.provider-external.provider-elearnFirstAid .login_form button,
.external-provider-client-fennies-container .login_page.provider-external.provider-elearnFirstAid .password_reset button {
    background: #20303a !important;
}

.external-provider-client-fennies-container .login_container > * {
    background: #374d5a;
}

.external-provider-client-fennies-container .login_page.provider-external.provider-elearnFirstAid .login_form a,
.external-provider-client-fennies-container .login_page.provider-external.provider-elearnFirstAid .login_container h3 {
    color: #FFFFFF;
}

.external-provider-client-fennies-container .login_page.provider-external.provider-elearnFirstAid .fp-step:before,
.external-provider-client-fennies-container .login_page.provider-external.provider-elearnFirstAid .lgn-step:before,
.external-provider-client-fennies-container .fp-step:before,
.external-provider-client-fennies-container .lgn-step:before {
    background: #ffc100;
    color: #374d5a;
    padding: 0;
    line-height: 28px;
    font-weight: 900;
    font-family: lato, sans-serif;
}

.external-provider-client-fennies-container .login_page.provider-external.provider-elearnFirstAid input {
    border: 1px solid #374d5a;
}

.external-provider-client-fennies-container .login_page.provider-external.provider-elearnFirstAid input:focus {
    border: 1px solid #ffc100;
}

.external-provider-client-fennies-container .login_page input {
    outline: none;
    font-family: lato, sans-serif;
}

.external-provider-client-fennies-container .login_page.provider-external.provider-elearnFirstAid .login_form button.enabled,
.external-provider-client-fennies-container .login_page.provider-external.provider-elearnFirstAid .password_reset button,
.external-provider-client-fennies-container .login_form button.enabled,
.password_reset button {
    background: #1f3039 !important;
    color: #FFFFFF;
}


.external-provider-client-fennies-container .login_page.provider-external.provider-elearnFirstAid .login_form button.enabled:hover,
.external-provider-client-fennies-container .login_page.provider-external.provider-elearnFirstAid .password_reset button:hover,
.external-provider-client-fennies-container .login_form button.enabled:hover,
.external-provider-client-fennies-container .password_reset button:hover,
.external-provider-client-fennies-container button #Login:hover,
.external-provider-client-fennies-container button.fp_reset:hover,
.external-provider-client-fennies-container .password_reset input[type=submit]:hover {
    background: #ffc100 !important;
    color: #374d5a;
}

.external-provider-client-fennies-container .login_page.provider-external.provider-elearnFirstAid .login_form a:hover,
.external-provider-client-fennies-container a:hover,
.external-provider-client-fennies-container .si_gen_forgot:hover {
    color: #ffc100;
}

.login_form p {
    line-height: unset;
}

.external-provider-client-fennies-container #ui-datepicker-div {
    background: #68808e;
}

.external-provider-client-fennies-container .ui-datepicker-header a:hover,
.external-provider-client-fennies-container .ui-datepicker-calendar td a:hover {
    background: #ffc100;
    color: #374d5a;
}

.external-provider-client-fennies-container #wrapper {
    background-image: url(/images/client-branding/fennies-login-bg-1.png) !important;
}

.backoffice-jumps {
    display: flex;
    justify-content: space-between;
    margin-top: 1em;
}

.backoffice-jumps a {
    font-size: 14px;
}
/*   =====================================================================================================================================================================
*/
@media all and (max-width: 500px) {
    .login_page {
        width: 100%;
    }

    .login_container {
        max-width: 340px;
    }

    .login_container > * {
        max-width: 340px;
    }
}

@media all and (max-width: 370px) {
    .login_page {
        max-width: 350px;
        width: 90%;
    }

    .login_container {
        max-width: 320px;
    }

    .login_container > * {
        max-width: 320px;
    }
}

@media all and (max-width: 330px) {
    .login_page {
        max-width: 320px;
        width: 90%;
    }

    .login_container {
        max-width: 280px;
    }

    .login_container > * {
        max-width: 280px;
    }

    .login_page input {
        margin-bottom: 5px;
        margin-top: 5px;
    }
}
