/* override some values in starter.css */
#top-bar-container {
    box-sizing: initial;
    line-height: initial;
    max-width: initial;
    display: block !important;
}
#top-bar-container img {
    max-width: initial;
}
#top-bar-container form {
    margin: 0;
}
/* global font rendering from ch5 */
#top-bar-container {
    font-smooth: antialiased;
    text-rendering: optimizeLegibility;
    -webkit-font-smoothing: antialiased;
}

#top-bar-container {
    position: absolute;
    top: 0;
    width: 100%;
    z-index: 1000;
}

#top-bar-container p {
    margin: 0;
}

.overlay-container {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    /* Web browsers that does not support RGBa */
    background: rgb(0, 0, 0);
    /* IE9/FF/chrome/safari supported */
    background: rgba(0, 0, 0, 0.9);
    /* IE 8 suppoerted */
    /* Here some time problem for Hover than you can use background color/image */
    -ms-filter: 'progid:DXImageTransform.Microsoft.gradient(startColorstr=#88000000, endColorstr=#88000000)';
    display: none;
    z-index: 11;
}

#overlay-container-foreground {
    z-index: 12;
}

.overlay-container:after {
    clear: both;
    display: block;
    content: '';
}

/* Fix position of popups during scroll */
#top-bar-container .overlay-container {
    position: fixed;
}

#popupFullContainer {
    display: flex;
    justify-content: center;
    align-items: center;
    width: 100%;
    height: 100%;
    margin: 0;
    padding: 0;
}

#popupLarge {
    height: 60vh;
    width: 50vh;
    background: linear-gradient(180deg, rgba(237, 244, 255, 1) 45%, rgba(195, 212, 241, 1) 100%);
    border-radius: 2vh;
    border-style: solid;
    border-width: 0.45vh;
    border-color: #9b95ea;
}

.popupLogin #popupLargeButtons,
.popupRegister #popupLargeButtons {
    position: relative;
    overflow: visible;
    border-bottom: none;
}

/* Must stack above #popupContainer (next sibling) or touches go to the full-width column on mobile */
.popupLogin #popupLargeButtons > .close,
.popupRegister #popupLargeButtons > .close {
    position: absolute;
    z-index: 10;
    top: -5vh;
    right: -3vh;
    left: auto;
    height: auto;
    line-height: 0;
    display: flex;
    align-items: center;
    justify-content: center;
}

.popupRegister:has(.welcomeOffer) #popupLargeButtons > .close {
    top: -18vh;
}

.popupRegister .popupRegisterHeader {
    width: 100%;
}

.popupRegister .popupDisclaimers {
    width: 100%;
}

#popupLargeButtons {
    height: 80vh;
    width: 50vh;
    background: linear-gradient(180deg, rgba(237, 244, 255, 1) 45%, rgba(195, 212, 241, 1) 100%);
    border-radius: 2vh;
    border-style: solid;
    border-width: 0.45vh;
    border-color: #9b95ea;
}

.popupLogin #popupLargeButtons.popupLoginLarge,
.popupRegister #popupLargeButtons.popupRegisterLarge {
    width: 50vh;
    height: auto !important;
    max-height: 90svh;
    box-sizing: border-box;
    display: flex;
    flex-direction: column;
    align-items: stretch;
}

#popupSmall {
    height: 60vh;
    width: 50vh;
    background: linear-gradient(180deg, rgba(237, 244, 255, 1) 45%, rgba(195, 212, 241, 1) 100%);
    border-radius: 2vh;
    border-style: solid;
    border-width: 0.45vh;
    border-color: #9b95ea;
}

#popupSmallTimeout {
    height: 30vh;
    width: 50vh;
    background: linear-gradient(180deg, rgba(237, 244, 255, 1) 45%, rgba(195, 212, 241, 1) 100%);
    border-radius: 2vh;
    border-style: solid;
    border-width: 0.45vh;
    border-color: #9b95ea;
}

#popupSmallBlank {
    height: 60vh;
    width: 50vh;
    background: linear-gradient(180deg, rgba(237, 244, 255, 1) 45%, rgba(195, 212, 241, 1) 100%);
    border-radius: 2vh;
    border-style: solid;
    border-width: 0.45vh;
    border-color: #9b95ea;
}

#popupContainer {
    display: flex;
    flex-flow: column nowrap;
    justify-content: center;
    align-items: center;
    position: relative;
}

#timeoutReasonDiv {
    width: 90%;
}

#selfExclusionReasonDiv {
    width: 90%;
}

#FailedLoginsReasonDiv {
    width: 90%;
}

.popupSignInButtons,
.popupRegisterButtons {
    display: flex;
    flex-direction: column;
    flex: 0 0 auto;
    align-items: center;
    min-height: 0;
    width: 100%;
    height: auto;
    position: relative;
    box-sizing: border-box;
    padding: 1.5vh 0 0;
}

.popupSignInForm,
.popupRegisterForm,
.forgotPasswordForm,
.forgotDetailsForm,
.forgotDetailsCodeForm {
    display: flex;
    flex-direction: column;
    width: 100%;
    height: auto;
    min-height: 0;
    flex: 0 0 auto;
}

.popupContainerLarge {
    height: 100%;
    width: 100%;
}

.popupContainerMedium {
    height: 80%;
    width: 100%;
    margin-top: 30%;
}

.popupContainerSmall {
    height: 100%;
    width: 100%;
}

.popupContainerSmallBlank {
    height: 100%;
    width: 100%;
}

.popupForgotPassword .popupContainerSmall {
    background-image: url('../images/popups/reset-link-bg.png');
    background-repeat: no-repeat;
    background-size: contain;
}

.lbv .popupForgotPassword .popupContainerSmall {
    background-image: unset;
}

.popupHeader {
    display: flex;
    flex-flow: column nowrap;
    justify-content: center;
    align-items: flex-start;
    text-align: left;
    width: 70%;
}

.popupForgotPassword .popupContainerSmall .popupHeader,
.popupForgotDetails .popupContainerSmall .popupHeader {
    height: 25%;
    align-items: center;
}

.popupBody {
    display: flex;
    flex-flow: column nowrap;
    justify-content: center;
    align-items: flex-start;
    text-align: left;
    height: 60%;
    width: 90%;
    margin: 0 auto;
}

.popupRegisterForm .popupBody {
    height: auto;
    min-height: 0;
    max-height: none;
    flex: 0 1 auto;
    width: 90%;
    margin: 0 auto;
}

.popupSignInForm .popupBody {
    padding-bottom: 1vh;
    margin: 0 auto;
    height: auto;
    min-height: 0;
    max-height: none;
    flex: 0 1 auto;
}

.popupForgotPassword .popupBody,
.popupForgotDetails .popupBody,
.popupForgotDetailsCode .popupBody {
    padding-bottom: 0.5rem;
}

.lbv .popupRegister #popupLarge {
    border-bottom-left-radius: 0;
    border-bottom-right-radius: 0;
}

.popupForgotPassword .popupContainerSmall .popupBody,
.popupForgotDetails .popupContainerSmall .popupBody {
    height: 0%;
}

.popupSubBody {
    display: flex;
    flex-flow: row nowrap;
    width: 100%;
    height: 10%;
    justify-content: space-between;
    padding-bottom: 0.25rem;
}

.signInSocialContainer,
.popupFooter {
    display: flex;
    flex-flow: column nowrap;
    justify-content: center;
    align-items: center;
    width: 90%;
}

.popupFooterMultiAccount {
    display: flex;
    flex-flow: row wrap;
    align-items: baseline;
    justify-content: center;
    position: absolute;
    bottom: 4%;
    width: 100%;
    height: 15%;
    background: linear-gradient(180deg, rgb(198 214 242) 45%, rgba(195, 212, 241, 1) 100%);
    border-radius: 0 0 2vh 2vh;
    border-style: solid;
    border-width: 0 0.45vh 0.45vh 0.45vh;
    border-color: #9b95ea;
}

/* Specify register footerMultiAccount as to not affect usage elsewhere */
.popupRegister .popupFooterMultiAccount {
    position: relative;
    bottom: auto;
    left: auto;
    width: 100%;
    height: auto;
    background: unset;
    min-height: 2.5vh;
    padding: 0 0 1vh 0;
    border: none;
}

.footerContainer {
    display: flex;
    flex-flow: row nowrap;
    align-items: center;
    justify-content: center;
    gap: 2%;
    position: absolute;
    bottom: -6%;
    width: 102%;
    height: 5vh;
    background: linear-gradient(180deg, rgba(214, 64, 255, 1) 40%, rgba(172, 30, 255, 1) 100%);
    border-radius: 0 0 2vh 2vh;
    border-style: none;
    border-width: 0.75vw;
    border-color: #9b95ea;
}

/* Specify register/login footerContainer as to not affect usage elsewhere */
.popupRegister .footerContainer,
.popupLogin .footerContainer {
    position: relative;
    bottom: -1%;
    left: -1%;
    margin-top: 1vh;
    padding: 0.6vh 0.5rem;
    box-sizing: border-box;
}

.lbv .popupRegister .footerContainer {
    left: 0;
}

.popupLogin .footerContainer {
    left: 0;
}

.forgotPWHeader,
.forgotDetailsHeader {
    display: flex;
    flex-flow: column nowrap;
    justify-content: center;
    align-items: center;
    width: 90%;
    height: 20%;
    margin-bottom: 2vh;
}

.popupForgotDetails .forgotDetailsHeader {
    margin-top: -8.25vh;
}

.popupForgotDetails .forgotDetailsBody:has(#extId) {
    margin-bottom: 3.75vh;
}

.verificationCodeDigits {
    display: flex;
    flex-flow: row nowrap;
    justify-content: center;
    align-items: center;
    gap: 0.5rem;
    margin-top: 1rem;
}

.verificationCodeDigits .verificationCodeDigit {
    width: 2.5rem;
    height: 8.5vh;
    box-sizing: border-box;
    text-align: center;
    border-radius: 0.625rem;
    border: solid 0.063rem rgba(140, 119, 255, 0.2);
    font-size: 1.313rem;
    font-weight: bold;
}

.lbv .verificationCodeDigits .verificationCodeDigit {
    border-color: transparent;
}

.verificationCodeDigits.has-error .verificationCodeDigit {
    border-color: rgba(220, 53, 69, 0.6);
}

.welcomeBody {
    height: auto;
    background-image: url('../images/popups/h-5-c-playercard-bg.png');
    border-radius: 0.5rem;
    box-shadow: 0 0.125rem 0.125rem 0 rgba(22, 14, 68, 0.3);
    border: solid 0.0625rem rgba(62, 27, 163, 0.32);
    background-color: white;
    background-repeat: no-repeat;
    background-size: contain;
    background-position: right;
    margin-top: 0;
    padding-top: 1rem;
    padding-bottom: 1rem;
}

.lbv .welcomeBody {
    background-image: url('../images/popups/lbv-playercard-bg.png');
    border: solid 0.0625rem rgb(69, 79, 89);
    background-color: rgb(34, 39, 44);
}

.forgotPWFooter,
.forgotDetailsFooter {
    display: flex;
    flex-flow: column nowrap;
    justify-content: center;
    align-items: center;
    width: 90%;
    margin: 0 auto;
    margin-top: 1.5vh;
}

#forgotPWFooter,
#forgotDetailsFooter {
    height: 0%;
}

.popupForgotDetailsCode .forgotDetailsCodeResendWrap {
    width: 100%;
}

.popupForgotDetailsCode #forgotDetailsCodeMessageText {
    text-align: center;
}

.popupForgotDetailsCode .forgotDetailsCodeResendWrap .resendForgotDetailsCode {
    display: block;
    text-align: center;
    text-decoration: underline;
    margin-top: 0.25rem;
    font-size: 1.75vh;
}

.lbv .popupForgotDetailsCode .forgotDetailsCodeResendWrap .resendForgotDetailsCode {
    color: white;
}

.resendForgotDetailsCodeText {
    font-weight: bold;
    color: #431aa2;
}

.lbv .resendForgotDetailsCodeText {
    color: white;
}

.popupForgotDetailsCode .resendForgotDetailsCode.resendCountdownActive {
    pointer-events: none;
    opacity: 0.7;
    cursor: default;
}

#forgotPWContinue,
#forgotDetailsContinue {
    height: 34%;
    width: 84%;
}

#signInEmail {
    display: flex;
    flex-flow: row nowrap;
    justify-content: center;
    align-items: center;
    border-radius: 6.25vh;
    margin: 0 auto;
    margin-top: 0;
}

.popupLogin #signInEmail,
.popupRegister #signInEmail {
    position: relative;
    top: auto;
}

.popupSignInForm #signInEmail,
.popupRegisterForm #signInEmail {
    background-color: unset;
}

#signInSocial {
    justify-content: center;
}

#or {
    margin-top: 2.5vw;
    font-size: 3.75vw;
}

.fbEnabled .popupRegisterButtons #subtitleA,
.fbEnabled .popupSignInButtons #subtitleA {
    margin-top: 0.5rem;
}

.headerText {
    font-family: 'Noto Sans', sans-serif;
    font-size: 2.5vh;
    font-weight: 700;
    text-align: center;
    color: #431aa2;
    user-select: none;
    white-space: nowrap;
}

#headerTextPosition {
    position: absolute;
    top: 10%;
    display: flex;
    width: 90%;
    height: 0;
    justify-content: center;
    align-items: center;
}

/* Specify register/login headerTextPosition as to not affect usage elsewhere */
.popupRegisterButtons #headerTextPosition,
.popupSignInButtons #headerTextPosition {
    position: relative;
    top: 5%;
    height: auto;
    width: 100%;
    min-height: 0;
    padding: 0.35vh 0 0.15vh;
}

.fbEnabled .popupRegisterButtons #headerTextPosition,
.fbEnabled .popupSignInButtons #headerTextPosition {
    top: auto;
}

#headerB {
    display: flex;
    width: 85%;
    height: 10%;
    justify-content: center;
    align-items: center;
}

#headerFPW,
#headerFD {
    margin-bottom: 2vh;
}

#subtitleA {
    display: flex;
    width: 90%;
    text-align: center;
    justify-content: center;
    align-items: baseline;
    margin-bottom: 2vh;
}

#rememberMe {
    width: 20vh;
    pointer-events: none;
}

#forgotPassword,
#forgotUserEmail {
    text-decoration: underline;
    font-weight: bold;
    margin: 0 auto;
    width: unset;
}

.bodyText {
    font-family: 'Noto Sans', sans-serif;
    font-size: 1.75vh;
    text-align: left;
    color: #431aa2;
    user-select: none;
    width: 100%;
}

.welcomeBodyText {
    width: 90%;
    padding-left: 1.2vh;
    padding-right: 1.2vh;
}

.popupRegister .registerUsernameSubtextSlot #usernameSubtext {
    position: relative;
    top: auto;
    left: auto;
    width: 100%;
    height: auto;
    margin: 0;
    padding: 0;
    font-size: 1.35vh;
    line-height: 1.67;
}

.bodyTextCentered {
    font-family: 'Noto Sans', sans-serif;
    font-size: 1.75vh;
    text-align: center;
    color: #431aa2;
    user-select: none;
}

.accountLimitText {
    font-family: 'Noto Sans', sans-serif;
    font-size: 1.9vh;
    font-weight: 700;
    line-height: 1.3;
    text-align: center;
    color: #e52b20;
    user-select: none;
}

.accountLimitText2 {
    font-family: 'Noto Sans', sans-serif;
    font-size: 1.5vh;
    font-weight: 700;
    line-height: 1;
    text-align: center;
    color: #e52b20;
    user-select: none;
}

#accountLimitTextPosition {
    position: absolute;
    bottom: 22%;
    display: flex;
    width: 90%;
    height: 0;
    justify-content: center;
    align-items: center;
}

.popupClassic .popupRegisterLarge #accountLimitTextPosition {
    bottom: 12%;
}

.popupClassic:has(.welcomeOffer) .popupRegisterLarge #accountLimitTextPosition {
    bottom: 2%;
}

.fbEnabled #accountLimitTextPosition {
    bottom: 20%;
}

#accountLimitTextPosition2 {
    position: absolute;
    bottom: 8%;
    display: flex;
    width: 90%;
    height: 0;
    justify-content: center;
    align-items: center;
}

.popupClassic .popupRegisterLarge #accountLimitTextPosition2 {
    bottom: 7%;
}

.popupClassic:has(.welcomeOffer) .popupRegisterLarge #accountLimitTextPosition2 {
    bottom: -3%;
}

/* Specify register accountLimitTextPosition/accountLimitTextPosition2 as to not affect usage elsewhere */
.popupRegister #accountLimitTextPosition,
.popupRegister #accountLimitTextPosition2 {
    position: relative;
    bottom: auto;
    width: 90%;
    height: auto;
    min-height: 0;
    padding: 0.35rem 0;
    margin: 0 auto;
}

.timeoutTextLarge {
    font-family: 'Noto Sans', sans-serif;
    font-size: 2.5vh;
    text-align: center;
    font-weight: bold;
    color: #431aa2;
    user-select: none;
    margin-bottom: 5%;
    margin-top: 2%;
}

.timeoutTextSmall {
    font-family: 'Noto Sans', sans-serif;
    font-size: 2vh;
    font-weight: 500;
    text-align: center;
    color: #431aa2;
    user-select: none;
    margin-bottom: 5%;
}

.footerText {
    font-family: 'Noto Sans', sans-serif;
    font-size: 1.75vh;
    font-weight: bold;
    text-align: center;
    color: #ffffff;
    user-select: none;
}

.footerTextCentered {
    font-family: 'Noto Sans', sans-serif;
    font-size: 1.85vh;
    font-weight: bold;
    text-align: center;
    color: #e52b20;
    user-select: none;
    width: 85%;
    margin-top: 1.5%;
}

.buttonTextWhite {
    font-family: 'Noto Sans', sans-serif;
    font-size: 1.8vh;
    font-weight: 600;
    text-align: left;
    color: #fff;
    user-select: none;
    white-space: nowrap;
}

.blueTextStandard,
.blueTextLight {
    font-size: 1.5vh;
    font-weight: bold;
    font-stretch: normal;
    font-style: normal;
    line-height: 1.33;
    letter-spacing: normal;
    text-align: left;
    color: #431aa2;
    margin-top: 0.8vh;
}

.lbv .blueTextStandard,
.lbv .blueTextLight {
    color: #ffffff;
}

.blueTextLight {
    font-weight: 500 !important;
    margin-top: 0.3vh !important;
    margin-bottom: 1.25vh;
    opacity: 0.7;
}

.lbv .buttonTextWhite {
    color: #5a2b07;
}

.textEntry {
    border: none;
    width: 100% !important;
    height: 5vh;
    border-radius: 1.5vh;
    font-family: 'Noto Sans', sans-serif;
    font-size: 1.75vh;
    color: #431aa2;
    padding: 1.5vh;
    white-space: nowrap;
    background-color: #ffffff;
    box-shadow: 0 0 0 0.08vh #dad3ff;
}

input::placeholder {
    color: #a18cd0;
}

input:focus {
    outline: none !important;
    border-color: #dad3ff;
    box-shadow: 0 0 0.5rem #dad3ff;
}

input:-webkit-autofill,
input:-webkit-autofill:hover,
input:-webkit-autofill:focus,
input:-webkit-autofill:active {
    -webkit-box-shadow: 0 0 0 6vh #ffff inset !important;
}

input:-webkit-autofill {
    -webkit-text-fill-color: #431aa2 !important;
}

.lbv input:-webkit-autofill {
    -webkit-text-fill-color: #ffffff !important;
}

.password-wrapper {
    position: relative;
    width: 100%;
    display: flex;
    align-items: center;
}

.password-wrapper .toggle-password {
    position: absolute;
    right: 2vh;
    top: 2.5vh;
    transform: translateY(-50%);
    width: 2.75vh;
    height: 2.75vh;
    cursor: pointer;
    opacity: 0.6;
    transition: opacity 0.2s ease;
}

.password-wrapper .toggle-password:hover {
    opacity: 1;
}

.fb-disabled {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 90%;
    height: auto;
    margin: 0 auto;
    font-family: 'Noto Sans', sans-serif;
}

.fb-disabled img {
    max-width: 3.125rem;
    height: auto;
}

.fb-disabled span {
    padding-left: 0.8vh;
    font-size: 1.35vh;
    font-weight: bold;
    color: #431aa2;
}

.fb-disabled .red {
    color: red;
    text-decoration: underline;
    margin: 0;
    padding: 0;
}

.errorText {
    font-family: 'Noto Sans', sans-serif;
    font-size: 1.35vh;
    text-align: left;
    color: red;
    position: absolute;
}

.errorText.emailErrorFPW,
.errorText.emailErrorFD {
    position: absolute;
    width: 90%;
    height: 0;
    top: 72%;
    left: 6%;
}

/* Login / register: server messages from API — flow layout (see #serverError / #serverErrorEmail below) */

.popupLogin .errorText,
.popupRegister .errorText {
    position: relative;
    top: auto;
    left: auto;
    width: 90%;
    max-width: 100%;
    height: auto;
    min-height: 1rem;
    padding: 0;
    box-sizing: border-box;
    visibility: hidden;
    text-align: left;
}

.popupLogin .errorText:not(:empty),
.popupRegister .errorText:not(:empty) {
    visibility: visible;
}

/* Field validation: fixed two-line slot so the submit footer does not shift when errors appear */
.popupLogin .popupSignInForm .emailError,
.popupLogin .popupSignInForm .passwordError,
.popupRegister .popupRegisterForm .emailErrorRegister,
.popupRegister .popupRegisterForm .passwordErrorRegister {
    position: relative;
    top: auto;
    left: auto;
    width: 93%;
    max-width: 93%;
    text-align: left;
    line-height: 1.67;
    min-height: calc(1.35vh * 1.67);
    max-height: calc(1.35vh * 1.67);
    overflow: hidden;
    display: -webkit-box;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 2;
    line-clamp: 2;
    word-break: break-word;
}

/* Username error and subtext share one grid cell so the error replaces the hint in place */
.popupRegister .registerUsernameSubtextSlot {
    display: grid;
    grid-template-columns: minmax(0, 1fr);
    align-content: start;
    width: 93%;
    align-self: flex-start;
}

.popupRegister .registerUsernameSubtextSlot #usernameError,
.popupRegister .registerUsernameSubtextSlot #usernameSubtext {
    grid-area: 1 / 1;
    margin: 0;
    width: 100%;
    max-width: 100%;
}

.popupRegister .registerUsernameSubtextSlot #usernameError.usernameErrorRegister {
    position: relative;
    top: auto;
    left: auto;
    text-align: left;
    line-height: 1.67;
}

.popupRegister .registerUsernameSubtextSlot #usernameError:empty {
    min-height: 0 !important;
    height: 0 !important;
    overflow: hidden;
    padding: 0 !important;
    margin: 0 !important;
    visibility: hidden;
}

.popupRegister .registerUsernameSubtextSlot #usernameError:not(:empty) {
    min-height: 0;
}

/* Hide usernameSubtext whenever the username error in the same grid cell has content */
.popupRegister .registerUsernameSubtextSlot:has(#usernameError:not(:empty)) #usernameSubtext {
    visibility: hidden;
}

.popupLogin .popupSignInForm .password-wrapper .textEntry {
    margin-bottom: 0;
}

.popupLogin #serverError,
.popupRegister #serverError,
.popupLogin #serverErrorEmail,
.popupRegister #serverErrorEmail,
.popupLogin .errorText.serverError,
.popupRegister .errorText.serverError,
.popupRegister .errorText.serverErrorRegister {
    position: relative !important;
    top: auto !important;
    left: auto !important;
    text-align: center;
    width: 100%;
    max-width: 100%;
}

/* Email-submit API errors: same fixed two-line band as field errors (no footer jump) */
.popupLogin #serverErrorEmail,
.popupRegister #serverErrorEmail {
    min-height: calc(1.35vh * 1.67);
    max-height: calc(1.35vh * 1.67);
    line-height: 1.67;
}

.popupLogin #serverError:empty,
.popupRegister #serverError:empty {
    min-height: 0 !important;
    height: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
    line-height: 0;
}

.popupLogin .signInSocialContainer #serverError:not(:empty),
.popupRegister .signInSocialContainer #serverError:not(:empty) {
    margin-bottom: 0.35rem;
}

.errorText.serverErrorFPW,
.errorText.serverErrorFD {
    position: absolute;
    top: 73%;
    width: 90%;
    text-align: center;
}

.popupForgotPassword .forgotPasswordForm .errorText,
.popupForgotDetails .forgotDetailsForm .errorText,
.popupForgotDetailsCode .forgotDetailsCodeForm .errorText {
    position: relative;
    top: auto;
    left: auto;
    width: 90%;
    max-width: 100%;
    height: auto;
    min-height: 1rem;
    padding: 0;
    box-sizing: border-box;
    visibility: hidden;
    text-align: left;
}

.popupForgotPassword .forgotPasswordForm .errorText:not(:empty),
.popupForgotDetails .forgotDetailsForm .errorText:not(:empty),
.popupForgotDetailsCode .forgotDetailsCodeForm .errorText:not(:empty) {
    visibility: visible;
}

.popupForgotPassword .forgotPasswordForm .emailErrorFPW,
.popupForgotDetails .forgotDetailsForm .emailErrorFD,
.popupForgotDetailsCode .forgotDetailsCodeForm .emailErrorFD {
    line-height: 1.67;
    min-height: calc(1.35vh * 1.67);
    max-height: calc(1.35vh * 1.67);
    overflow: hidden;
    display: -webkit-box;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 2;
    line-clamp: 2;
    word-break: break-word;
}

.popupForgotPassword .forgotPasswordForm #serverError,
.popupForgotDetails .forgotDetailsForm #serverError,
.popupForgotDetailsCode .forgotDetailsCodeForm #serverError {
    position: relative !important;
    top: auto !important;
    left: auto !important;
    text-align: center;
    width: 100%;
    max-width: 100%;
}

.popupForgotPassword .forgotPasswordForm #serverError:empty,
.popupForgotDetails .forgotDetailsForm #serverError:empty,
.popupForgotDetailsCode .forgotDetailsCodeForm #serverError:empty {
    min-height: 0 !important;
    height: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
    line-height: 0;
}

.registerButtonPopup {
    display: flex;
    flex-flow: row nowrap;
    justify-content: center;
    align-items: center;
    background-color: #ff7b1b;
    width: 100%;
    height: 5.5vh;
    border-radius: 6.25vh;
    margin: 1.25vh;
}

.registerButtonPopup.disabled {
    width: 5.5vh;
}

.registerButtonPopup:hover {
    background-color: #ff9243;
    cursor: pointer;
}

.signInButtonPopup {
    display: flex;
    flex-flow: row nowrap;
    justify-content: center;
    align-items: center;
    background-color: #ff7b1b;
    height: 5vh;
    width: 100%;
    border-radius: 6.25vh;
}

.signInButtonPopup.disabled {
    width: 5.5vh;
}

.signInButtonPopup:hover {
    background-color: #ff9243;
    cursor: pointer;
}

.buttonPopupOuterContainer {
    position: relative;
    display: flex;
    justify-content: center;
    align-items: center;
    width: 100%;
    height: 4.5vh;
    margin: 1.25vh;
}

.fbEnabled .buttonPopupOuterContainer {
    /* note: this is very outdated, will need to be revised if we ever enable facebook */
    height: 6.9vh;
    margin: 1vh;
}

.buttonPopup {
    position: relative;
    width: 100%;
    height: auto;
    display: flex;
    flex-flow: row nowrap;
    justify-content: center;
    align-items: center;
    border-radius: 6.25vh;
    overflow: hidden;
    max-height: 100%;
}

.appleButtonPopup,
.facebookButtonPopup,
.emailButtonPopup {
    height: 100%;
}

.googleButtonPopup .googleButtonPopupContainer {
    display: flex;
    justify-content: center;
    align-items: center;
    width: 100%;
    height: 100%;
    max-height: 100%;
}

.googleButtonPopup #googleButtonPopupLogin,
.googleButtonPopup #googleButtonPopupRegister {
    /* these let it center */
    height: auto !important;
    width: auto !important;
}

.buttonPopup .buttonTextWhite {
    padding-left: 2vh; /* offset for icon, to match google */
}

.emailButtonPopup {
    background-color: #ff7b1b;
}

.emailButtonPopup.disabled {
    width: 5.5vh;
}

.emailButtonPopup:hover {
    background-color: #ff9243;
    cursor: pointer;
}

.googleButtonPopup {
    background-color: #fff;
    border-style: solid;
    border-width: 0.1vh;
    border-color: #baadff;
}

.googleButtonPopup.disabled {
    width: 5.5vh;
}

.googleButtonPopup .buttonTextWhite {
    color: #353c43;
}

.appleButtonPopup {
    background-color: #fff;
    border-style: solid;
    border-width: 0.1vh;
    border-color: #baadff;
}

.fbEnabled .appleButtonPopup {
    height: 6.9vh;
    margin: 1vh;
}

.appleButtonPopup .buttonTextWhite {
    color: #353c43;
}

.appleButtonPopup.disabled {
    width: 5.5vh;
}

.appleButtonPopup:hover {
    background-color: #fbfbfb;
    cursor: pointer;
}

.facebookButtonPopupOuterContainer {
    display: none;
}

.fbEnabled .facebookButtonPopupOuterContainer {
    display: flex;
}

.facebookButtonPopup {
    display: none;
    background-color: #1877f2;
}

.facebookButtonPopup.disabled {
    width: 5.5vh;
}

.facebookButtonPopup:hover {
    background-color: #338cff;
    cursor: pointer;
}

.fbEnabled .facebookButtonPopup {
    display: flex;
}

.timeoutButtonPopup {
    display: flex;
    flex-flow: row nowrap;
    justify-content: center;
    align-items: center;
    background-color: #ff7b1b;
    width: 90%;
    height: 5.5vh;
    border-radius: 6.25vh;
    margin: 1.25vh;
}

.timeoutButtonPopup.disabled {
    width: 5.5vh;
}

.timeoutButtonPopup:hover {
    background-color: #ff9243;
    cursor: pointer;
}

.close,
.back {
    position: absolute;
    height: 0;
    top: -6%;
    left: 90%;
}

.back {
    left: -6%;
}

.close:hover,
.back:hover {
    cursor: pointer;
}

#closeButton,
#backButton {
    width: 8vh;
}

#questionButton {
    width: 1.65vh;
    margin-left: 0.15vh;
    margin-top: -0.5vh;
}

#emailIcon,
#facebookIcon,
#appleIcon,
#googleIcon {
    height: 3.25vh;
    position: absolute;
    left: 0.5rem;
    user-select: none;
}

#emailIcon {
    height: 2.7vh;
}

.lbv #emailIcon {
    content: url('../images/popups/lbv-email.png');
}

#popupContainer .processAnim {
    position: relative;
    width: 4vh;
    height: 4vh;
    display: none;
}

#popupContainer .processAnim img {
    width: 4vh;
    height: 4vh;
}

/* Tooltip CSS */
.infoUsername,
.infoPassword {
    display: inline;
    position: relative;
}

.infoUsernameTooltip,
.infoPasswordTooltip {
    visibility: hidden;
    width: 22vh;
    background-color: #fbfcff;
    color: #431aa2;
    border-radius: 2vh;
    padding: 1vh;
    text-align: center;
    box-shadow: 0 0.0625rem 0.0625rem 0.0625rem #a19cbd42;

    /* Position the tooltip */
    position: absolute;
    z-index: 3;
    top: calc(100% + -0.0625rem);
    left: 50%;
    margin-left: -2vh;
}

/* Add the arrow */
.infoUsernameTooltip::after,
.infoPasswordTooltip::after {
    content: '';
    position: absolute;
    bottom: 100%;
    left: 2vh;
    margin-left: -0.3125rem;
    border-width: 0.3125rem;
    border-style: solid;
    border-color: transparent transparent white transparent;
}

.infoUsernameTooltip.visible,
.infoPasswordTooltip.visible {
    visibility: visible;
    z-index: 3;
}

/*End Tooltip CSS */

/* Check Mark CSS */
#overlay-container #checkContainer {
    display: flex;
    align-items: flex-end;
    flex-wrap: nowrap;
    position: relative;
    left: 1vh;
}

#overlay-container .container {
    display: -webkit-flex !important;
    display: flex !important;
    -webkit-flex-direction: row !important;
    flex-direction: row !important;
    -webkit-align-items: flex-end !important;
    align-items: flex-end !important;
    -webkit-flex-wrap: nowrap !important;
    flex-wrap: nowrap !important;
    gap: 1vh;
    position: relative;
    cursor: pointer;
    font-size: 1.375rem;
    padding: 0;
}

#overlay-container .container input {
    position: absolute;
    opacity: 0;
    cursor: pointer;
    height: 0;
    width: 0;
}

#overlay-container .checkmark {
    position: relative;
    flex-shrink: 0;
    height: 2.5vh;
    width: 2.5vh;
    border: 0.3vh solid #270663;
    border-radius: 0.5vh;
}

#overlay-container .container:hover input ~ .checkmark {
    background-color: #ffffff00;
    cursor: pointer;
}

#overlay-container .container input:checked ~ .checkmark {
    background-color: #ffffff00;
}

#overlay-container .checkmark:after {
    content: '';
    position: absolute;
    display: none;
}

#overlay-container .container input:checked ~ .checkmark:after {
    display: block;
}

#overlay-container .container .checkmark:after {
    left: 45%;
    top: -55%;
    width: 55%;
    height: 3vh;
    border: solid #270663;
    border-width: 0 0.5vh 0.5vh 0;
    -webkit-transform: rotate(45deg);
    -ms-transform: rotate(45deg);
    transform: rotate(45deg);
}

/*End Check Mark CSS */

.textButton:hover {
    cursor: pointer;
}

#geoblock-error-icon {
    height: 40%;
    margin-bottom: 3%;
}

#geoblock-error-title {
    font-family: 'Noto Sans', sans-serif;
    font-size: 4.5vw;
    font-weight: 600;
    text-align: center;
    color: #270663;
    user-select: none;
    white-space: nowrap;
    width: 90%;
    height: 10%;
}

#geoblock-error-message {
    font-family: 'Noto Sans', sans-serif;
    font-size: 3.15vw;
    font-weight: 600;
    text-align: center;
    color: #270663;
    user-select: none;
    width: 90%;
    height: 15%;
}

.geoblock-error-cta-button {
    display: flex;
    flex-flow: row nowrap;
    justify-content: center;
    align-items: center;
    background-color: #ff5c14;
    width: 85%;
    height: 9vw;
    border-radius: 6.25vw;
    margin: 5%;
    box-shadow:
        0 0.1875rem 0 0 #d72902,
        0 0.1875rem 0 0.1875rem #5524b8,
        0 0 0 0.1875rem #5524b8;
}

.geoblock-error-cta-button:hover {
    background-color: #ff7d44;
    cursor: pointer;
}

#closeGeoblock {
    top: -10%;
}

.timeout-confirm-button {
    display: flex;
    flex-flow: row nowrap;
    justify-content: center;
    align-items: center;
    background-color: #ff5c14;
    width: 85%;
    height: 9vw;
    border-radius: 6.25vw;
    margin: 5%;
    box-shadow:
        0 0.1875rem 0 0 #d72902,
        0 0.1875rem 0 0.1875rem #5524b8,
        0 0 0 0.1875rem #5524b8;
}

/**
 * Copy over some stuff from top-bar.css, for the overlay container
 */
.overlay-container {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    /* Web browsers that does not support RGBa */
    background: rgb(0, 0, 0);
    /* IE9/FF/chrome/safari supported */
    background: rgba(0, 0, 0, 0.9);
    /* IE 8 suppoerted */
    /* Here some time problem for Hover than you can use background color/image */
    -ms-filter: 'progid:DXImageTransform.Microsoft.gradient(startColorstr=#88000000, endColorstr=#88000000)';
    display: none;
    z-index: 11;
}

#overlay-container-foreground {
    z-index: 12;
}

/* Pre-existing Account Popup Class */
.popupPreexistingAccount #popupSmallBlank {
    height: 33vh;
    width: 51vh;
    background: white;
    border-radius: 2vh;
    border-style: none;
}

#popupPreexistingAccountHeader,
#popupPreexistingAccountText {
    margin: 0 2rem;
    margin-top: 2rem;
}

#popupPreexistingAccountText {
    margin-top: 1rem;
    font-size: 2.25vh;
}

#popupPreexistingAccountButton {
    display: flex;
    flex-flow: row nowrap;
    justify-content: center;
    align-items: center;
    background-color: #ff7b1b;
    width: 100%;
    height: 5.5vh;
    border-radius: 6.25vh;
    margin: 1.25vh;
}

/* LBV theming: */
.lbv .toggle-password {
    content: url('../images/popups/icon-eye.svg');
}

.lbv #popupLarge {
    background: #343d46;
    border-style: none;
}

.lbv #popupLargeButtons {
    background: #343d46;
    border-radius: 2vh;
    border-style: none;
}

.lbv #popupSmall {
    background: #343d46;
    border-style: none;
}

.lbv #popupSmallTimeout {
    background-image: none;
    background-color: rgb(52, 61, 70);
    border-style: none;
}

.lbv #popupSmallBlank {
    background-image: none;
    background-color: rgb(52, 61, 70);
    border-style: none;
}

.lbv .popupFooterMultiAccount {
    background: #343d46;
    border-style: none;
}

.popupWelcome {
    background-image: url('../images/popups/reset-link-bg.png');
}

.lbv .popupWelcome {
    background-image: unset;
}

.lbv .footerContainer {
    background: #454f59;
    width: 100%;
}

.lbv .headerText {
    color: #ffffff;
}

.lbv .bodyText {
    color: #ffffff;
}

.lbv .bodyTextCentered {
    color: #ffffff;
}

.lbv .accountLimitText {
    color: #f27b6e;
}

.lbv .timeoutTextLarge {
    color: white;
}

.lbv .timeoutTextSmall {
    color: white;
}

.lbv .footerTextCentered {
    color: #f27b6e;
}

.lbv .footerText:hover {
    background-color: unset !important;
}

.lbv .textEntry {
    background-color: #22272c;
    color: #ffffff;
    box-shadow: none;
}

.lbv .textEntryUsername {
    background-color: #22272c;
    color: #ffffff;
}

.popupForgotPassword .textEntry,
.popupForgotDetails .textEntry {
    height: unset;
    width: 94% !important;
}

.lbv input::placeholder {
    color: #ffffff;
    opacity: 0.5;
}

.lbv input:focus {
    outline: none !important;
    border-color: none;
    box-shadow: none;
}

.lbv input:-webkit-autofill,
.lbv input:-webkit-autofill:hover,
.lbv input:-webkit-autofill:focus,
.lbv input:-webkit-autofill:active {
    -webkit-box-shadow: 0 0 0 6vh #22272c inset !important;
}

.lbv .errorText {
    color: #f27b6e;
}

.lbv .signInButtonPopup {
    margin-top: 0;
    background-color: #efb433;
}

.lbv .signInButtonPopup:hover {
    background-color: #f1bb47;
}

.lbv .emailButtonPopup {
    background-color: #efb433;
}

.lbv .emailButtonPopup:hover {
    background-color: #f1bb47;
}

.lbv .timeoutButtonPopup {
    background-color: #efb433;
}

.lbv .timeoutButtonPopup:hover {
    background-color: #f1bb47;
}

.lbv .close img {
    content: url('../images/popups/lbv-close.png');
}

.lbv .back img {
    content: url('../images/popups/lbv-back.png');
}

.lbv #popupContainer .processAnim {
    content: url('../images/popups/lbv-loading.gif');
}

.lbv #popupContainer .appleButtonPopup .processAnim,
.lbv #popupContainer .googleButtonPopup .processAnim {
    content: url('../images/popups/lbv-loading-google.gif');
}

.lbv .infoUsername img,
.lbv .infoPassword img {
    content: url('../images/popups/lbv-question.png');
}

.lbv .infoUsernameTooltip,
.lbv .infoPasswordTooltip {
    background-color: #454f59;
    color: #ffffff;
}

.lbv .infoUsernameTooltip::after,
.lbv .infoPasswordTooltip::after {
    border-color: transparent transparent #454f59 transparent;
}

.lbv .checkmark {
    border-color: #ffffff !important;
}

.lbv .checkmark:after {
    border-color: #ffffff !important;
}

.lbv .popupPreexistingAccount #popupSmallBlank {
    height: 33vh;
    width: 51vh;
    background: #343d46;
    border-radius: 2vh;
    border-style: none;
}

.lbv #popupPreexistingAccountButton {
    background-color: #efb433;
}

.loginDivider {
    display: flex;
    align-items: center;
    opacity: 0.6;
    color: #431aa2;
    font-size: 1.25vh;
    font-weight: bold;
    font-stretch: normal;
    font-style: normal;
    line-height: 1.33;
    letter-spacing: normal;
    text-align: center;
    padding-top: 1.05vh;
}

.popupLogin .loginDivider {
    padding-bottom: 2.05vh;
}

.loginDivider::before,
.loginDivider::after {
    content: '';
    display: block;
    width: 5.5vh;
    height: 0.08vh;
    background-color: #8c77ff;
    opacity: 0.3;
    margin: 0 0.6vh;
}

.lbv .loginDivider {
    color: white;
}

.lbv .loginDivider::before,
.lbv .loginDivider::after {
    background-color: white;
}

.bodyText.forgotText {
    text-align: center;
    margin-top: 1.25vh;
    margin-bottom: 1.25vh;
}

.popupForgotDetailsCode .forgotDetailsCodeResendWrap .bodyText {
    text-align: center;
    margin-top: 0.75rem;
}

.popupForgotDetailsWelcome .forgotDetailsHeader .bodyText,
.popupForgotDetails .forgotDetailsHeader .bodyText,
.popupForgotDetails .popupBody .bodyText .popupForgotPassword .forgotPWHeader .bodyText,
.popupForgotPassword .popupContainerSmall .popupBody .bodyText {
    text-align: center;
}

.forgotPassword,
.forgotUserEmail {
    white-space: nowrap;
}

.forgotPasswordSuccessImage {
    margin-top: 1vh;
    margin-bottom: -2vh;
    height: 25vh;
}

.h5c .popupForgotPassword.forgotPasswordViaEmail .forgotPasswordSuccessImage {
    content: url('../images/popups/h5c-success-email.png');
}

.h5c .popupForgotPassword.forgotPasswordViaSMS .forgotPasswordSuccessImage {
    content: url('../images/popups/h5c-success-sms.png');
}

.lbv .popupForgotPassword.forgotPasswordViaEmail .forgotPasswordSuccessImage {
    content: url('../images/popups/lbv-success-email.png');
}

.lbv .popupForgotPassword.forgotPasswordViaSMS .forgotPasswordSuccessImage {
    content: url('../images/popups/lbv-success-sms.png');
}

.popupLogin #popupLarge {
    display: block !important;
}

.welcomeOffer {
    width: 49vh;
    text-align: center;
    margin-bottom: -0.75rem;
    padding-bottom: 0.25rem;
    background: white;
    border-radius: 0.625rem;
    border-bottom-right-radius: 0;
    border-bottom-left-radius: 0;
    z-index: -1;
    transform: translateZ(-1px);
    border: 0.125rem solid transparent;
}

.popupRegister:has(.welcomeOffer) {
    flex-direction: column;
    align-items: center;
    gap: 0;
    transform-style: preserve-3d;
}

/* Stack text on hero image without absolute positioning */
.welcomeOfferImage {
    display: grid;
    grid-template-columns: 1fr;
    grid-template-rows: 1fr;
    width: 100%;
    position: relative;
}

.welcomeOfferImage > img {
    grid-area: 1 / 1;
    width: 100%;
    aspect-ratio: 7 / 2;
    display: block;
    object-fit: cover;
    border-radius: 0.625rem;
    border-bottom-right-radius: 0;
    border-bottom-left-radius: 0;
}

.welcomeOfferOverlay {
    grid-area: 1 / 1;
    position: relative;
    align-self: start;
    justify-self: center;
    width: 90%;
    z-index: 2;
    color: white;
}

.welcomeOfferTitle {
    font-size: 1.5vh;
    font-weight: bold;
}

.welcomeOfferCopy {
    flex: 1;
    font-weight: 900;
    font-size: 3.25vh;
    text-align: left;
    text-shadow: 0 0 0.125rem #25056b;
}

.welcomeOfferHeaderLine {
    display: inline-block;
    font-size: 3.25vh;
    white-space: nowrap;
}

.welcomeOfferGreen {
    color: #17ff7f;
}

.welcomeOfferYellow {
    color: #ffe200;
}

.welcomeOfferBonus {
    font-size: 1.8vh;
    font-weight: bold;
    margin-top: -0.25rem;
}

.welcomeOfferDisclaimer {
    margin-top: 1.25vh;
    font-size: 0.688rem;
    font-weight: 500;
    text-align: left;
}

.sign-up-offer-text-large {
    font-size: 1rem;
    font-weight: bold;
    padding-top: 0.25rem;
}

.sign-up-offer-text-medium {
    font-size: 0.75rem;
    font-weight: bold;
    padding-top: 0.25rem;
}

.sign-up-offer-text-small {
    font-size: 1.2vh;
    font-weight: 700;
    line-height: 1;
}

.free-spins-bottom {
    text-align: left;
}

.welcomeOfferFreeSpinsWrapper {
    display: flex;
    align-items: center;
    justify-content: space-between;
}

.welcomeOfferGameThumbnail {
    width: 9.5vh !important;
    height: 9.5vh !important;
    object-fit: cover;
    border-radius: 0.625rem !important;
    display: block;
    flex-shrink: 0;
}

.referrer {
    font-size: 1.2vh;
    font-weight: bold;
    font-stretch: normal;
    font-style: normal;
    text-shadow: 0 0 0.125rem #14171a;
    text-align: left;
}

.sign-up-offer-referrer {
    margin-top: -0.2vh;
    margin-bottom: -1vh;
}

.phone-country-dropdown.dropdown {
    align-items: center;
    background: #fff;
    border: 0.0625rem solid #8c77ff52;
    border-radius: 0.625rem;
    display: flex;
    flex-direction: row;
    height: 2.75vh;
    margin: 0;
    margin-top: 0.5rem;
    width: 100%;
    z-index: 1;
    padding-bottom: 0.5rem;
}

.lbv .phone-country-dropdown.dropdown {
    background: #22272c;
    border-color: #22272c;
}

.dropdown .dropdown-btn {
    align-items: center;
    background-color: #431aa2;
    border: none;
    border-bottom-left-radius: 0.625rem;
    border-bottom-right-radius: 0;
    border-top-left-radius: 0.625rem;
    border-top-right-radius: 0;
    color: #fff;
    cursor: pointer;
    display: flex;
    flex-direction: row;
    font-size: 0.75rem;
    height: 3.5vh;
    justify-content: space-between;
    width: 9vh;
    padding: 0.5rem;
}

.lbv .dropdown .dropdown-btn {
    background-color: #454f59;
}

.dropdown .dropdown-btn .country-code {
    font-size: 1rem;
    position: relative;
    left: 0.5rem;
    font-size: 1.75vh;
}

.dropdown .flag {
    flex-shrink: 0;
    font-size: 2.25vh;
}

.dropdown .item-flag {
    flex-shrink: 0;
    font-size: 1rem;
    margin-right: 0.5rem;
}

.dropdown .arrow-down {
    filter: brightness(0) invert(1);
}

.dropdown .number-input {
    background-color: #fff !important;
    border: none;
    border-radius: 0 0.625rem 0.625rem 0;
    color: #431aa2;
    display: flex;
    font-size: 1.75vh;
    width: 100%;
    margin-bottom: 0;
}

.lbv .dropdown .number-input {
    background-color: #22272c !important;
    color: #ffffff !important;
}

.dropdown .dropdown-content {
    background-color: #fbfcff;
    border-bottom-left-radius: 0.5rem;
    border-bottom-right-radius: 0.5rem;
    box-shadow: 0 0 0.625rem 0.3125rem #00000012;
    height: 20rem;
    left: 5%;
    overflow: auto;
    position: absolute;
    top: 52%;
    width: 90%;
}

.lbv .dropdown .dropdown-content {
    background-color: #22272c;
    color: white;
}

.popupForgotPassword .dropdown .dropdown-content {
    top: 71%;
}

.dropdown .dropdown-content .item {
    cursor: pointer;
    display: flex;
    flex-direction: row;
    font-weight: 700;
    padding: 0.3125rem;
}

/** mobile phone display settings **/
@media all and (max-width: 26.938rem) {
    /* Stack above #popupFullContainer background; base z-index:-1 hid the banner behind the mobile shell */
    .welcomeOffer {
        position: relative;
        width: 100%;
        bottom: auto;
        padding-bottom: 0;
        z-index: 0;
        transform: none;
    }
    .welcomeOfferCopy {
        font-size: 1.25rem;
    }
    .welcomeOfferHeaderLine {
        font-size: 2.25vh;
    }
    .welcomeOfferTitle,
    .referrer {
        font-size: 0.625rem;
    }
    .sign-up-offer-referrer {
        margin-bottom: -0.75vh;
    }
    .welcomeOfferBonus {
        font-size: 1.75vh;
    }
    .sign-up-offer-text-small {
        font-size: 0.625rem;
    }
    .welcomeOfferGameThumbnail {
        height: 4rem !important;
        width: 4rem !important;
    }

    #popupFullContainer.popupLogin,
    #popupFullContainer.popupRegister {
        position: fixed;
        top: 50vh;
        left: 50vw;
        transform: translate(-50%, -50%);
        width: min(90vw - 1.25rem, 32rem);
        max-width: calc(98vw - 1rem);
        height: auto;
        min-height: 0;
        max-height: 84dvh;
        overflow: visible;
        margin: 0;
        padding: 0;
        display: flex;
        flex-direction: column;
        align-items: stretch;
        box-sizing: border-box;
    }

    .popupLogin #popupLargeButtons.popupLoginLarge,
    .popupRegister #popupLargeButtons.popupRegisterLarge {
        flex: 0 0 auto;
        width: 100%;
        min-height: 0;
        max-height: none;
        height: auto;
        box-sizing: border-box;
    }

    .popupForgotPassword#popupFullContainer,
    .popupForgotDetails#popupFullContainer,
    .popupForgotDetailsCode#popupFullContainer {
        height: 100%;
    }

    .popupForgotPassword #popupSmallBlank,
    .popupForgotPassword #popupSmall,
    .popupForgotDetails #popupSmallBlank,
    .popupForgotDetails #popupSmall,
    .popupForgotDetailsCode #popupSmallBlank,
    .popupForgotDetailsWelcome #popupSmallBlank {
        position: relative;
        overflow: visible;
    }

    .lbv #popupFullContainer {
        background-image: none;
        background-color: rgb(52, 61, 70);
        border-style: solid;
        border-color: rgb(52, 61, 70);
        border-bottom-right-radius: 2vh;
        border-bottom-left-radius: 2vh;
    }

    .lbv .welcomeOffer {
        width: 101%;
    }

    .lbv #popupLargeButtons {
        background: none;
    }

    .lbv .popupRegister .popupFooterMultiAccount {
        width: 100%;
        border-style: solid;
        border-color: rgb(52, 61, 70);
    }

    #popupFullContainer.popupTimeout {
        height: 55vw;
    }

    #popupLarge {
        height: 100%;
        width: 100%;
        background: none;
        border: none;
    }

    #popupLargeButtons {
        height: 100%;
        width: 100%;
    }

    #popupSmallTimeout {
        height: 100%;
        width: 90%;
        margin-left: 4%;
        background: none;
        border: none;
    }

    #popupContainer {
        display: flex;
        flex-flow: column nowrap;
        justify-content: center;
        align-items: center;
        position: inherit;
    }

    .popupSignInButtons,
    .popupRegisterButtons {
        height: 100%;
        width: 100%;
    }

    .popupSignInButtons {
        margin-top: 3%;
    }

    .popupSignInForm {
        position: relative;
        margin-top: 10%;
        height: 90%;
        width: 100%;
    }

    .popupContainerLarge {
        height: 100%;
        width: 100%;
    }

    .popupContainerMedium {
        height: 80%;
        width: 100%;
        margin-top: 30%;
    }

    .popupContainerSmall {
        height: 100%;
        width: 100%;
    }

    .popupContainerSmallBlank {
        height: 100%;
        width: 100%;
    }

    .popupHeader {
        display: flex;
        flex-flow: column nowrap;
        justify-content: center;
        align-items: flex-start;
        text-align: left;
        width: 70%;
    }

    .popupForgotPassword > * .popupHeader {
        align-items: center;
    }

    .popupForgotDetails > * .popupHeader {
        align-items: center;
    }

    .popupForgotDetailsCode > * .popupHeader {
        align-items: center;
    }

    .popupForgotDetailsWelcome > * .popupHeader {
        align-items: center;
    }

    .popupBody {
        display: flex;
        flex-flow: column nowrap;
        align-items: flex-start;
        text-align: left;
    }

    #popupFullContainer.popupLogin #popupContainer,
    #popupFullContainer.popupRegister #popupContainer {
        justify-content: flex-start;
        height: auto;
    }

    .popupLogin .popupSignInButtons,
    .popupRegister .popupRegisterButtons {
        height: auto;
        min-height: 0;
        flex: 0 0 auto;
        margin-top: 0;
    }

    .popupLogin .popupSignInForm,
    .popupRegister .popupRegisterForm {
        height: auto;
        margin-top: 0;
        flex: 0 0 auto;
        min-height: 0;
    }

    .popupLogin .popupSignInForm .popupBody,
    .popupRegister .popupRegisterForm .popupBody {
        height: auto;
        min-height: 0;
        max-height: none;
        flex: 0 0 auto;
        justify-content: flex-start;
        margin-top: 0;
    }

    .popupSubBody {
        display: flex;
        flex-flow: row nowrap;
        width: 100%;
        height: 11%;
        justify-content: space-between;
        padding-bottom: 0.75rem;
    }

    .bodyText.forgotText {
        margin-bottom: 0;
    }

    .signInSocialContainer,
    .popupFooter {
        display: flex;
        flex-flow: column nowrap;
        align-items: center;
        width: 90%;
    }

    .loginDivider {
        padding-top: 0.75rem !important;
        padding-bottom: 0.75rem !important;
        font-size: 0.75rem;
    }

    .popupFooterMultiAccount {
        display: flex;
        flex-flow: row wrap;
        align-items: baseline;
        justify-content: center;
        border-radius: 0 0 3vw 3vw;
    }

    .fbEnabled .popupRegisterButtons > .signInSocialContainer,
    .fbEnabled .popupRegisterButtons > .popupFooter {
        top: 20%;
    }

    .lbv .popupLogin .footerContainer {
        width: 101.5%;
    }

    .forgotPWHeader,
    .forgotDetailsHeader {
        display: flex;
        flex-flow: column nowrap;
        justify-content: center;
        align-items: center;
        width: 89%;
    }

    .forgotPWFooter,
    .forgotDetailsFooter {
        display: flex;
        flex-flow: column nowrap;
        justify-content: center;
        align-items: center;
        width: 89%;
        margin-top: 2.2vh;
    }

    #forgotPWFooter,
    #forgotDetailsFooter {
        height: 26%;
    }

    #forgotPWContinue,
    #forgotDetailsContinue {
        position: relative;
        top: -10%;
        height: 25%;
        width: 89%;
    }

    #signInSocial {
        justify-content: center;
    }

    #or {
        margin-top: 2.5vw;
        font-size: 3.75vw;
    }

    .fbEnabled .popupRegisterButtons #headerTextPosition,
    .fbEnabled .popupSignInButtons #headerTextPosition {
        top: 14%;
    }

    .fbEnabled #popupFullContainer.popupLogin .popupSignInButtons .signInSocialContainer,
    .fbEnabled #popupFullContainer.popupLogin .popupSignInButtons .popupFooter,
    .fbEnabled #popupFullContainer.popupRegister .popupRegisterButtons .signInSocialContainer,
    .fbEnabled #popupFullContainer.popupRegister .popupRegisterButtons .popupFooter {
        margin-top: 1rem;
    }

    #popupFullContainer.popupRegister .popupRegisterButtons > .signInSocialContainer,
    #popupFullContainer.popupRegister .popupRegisterButtons > .popupFooter {
        top: auto;
        position: relative;
    }

    .headerText {
        font-size: 4.25vw;
    }

    #headerTextPosition {
        width: 100%;
        justify-content: center;
        align-items: center;
        height: initial;
    }

    .lbv .registerHeaderText {
        top: 0% !important;
    }

    #headerB {
        display: flex;
        width: 85%;
        height: 10%;
        justify-content: center;
        align-items: center;
    }

    #headerFPW,
    #headerFD {
        margin-bottom: 2vh;
    }

    #subtitleA {
        width: 85%;
        text-align: center;
        justify-content: center;
    }

    #overlay-container .container input:checked ~ .checkmark:after {
        display: block;
    }

    #overlay-container .container .checkmark:after {
        left: 1vw;
        top: -1.5vw;
        width: 2vw;
        height: 4.25vw;
        border: solid #270663;
        border-width: 0 0.5vh 0.5vh 0;
        -webkit-transform: rotate(45deg);
        -ms-transform: rotate(45deg);
        transform: rotate(45deg);
    }

    #forgotPassword {
        text-decoration: underline;
        font-weight: bold;
    }

    .bodyText {
        margin-bottom: 1vw;
    }

    #overlay-container .container {
        display: -webkit-flex !important;
        display: flex !important;
        -webkit-flex-direction: row !important;
        flex-direction: row !important;
        -webkit-flex-wrap: nowrap !important;
        flex-wrap: nowrap !important;
        -webkit-align-items: flex-end !important;
        align-items: flex-end !important;
    }

    #overlay-container #rememberMe {
        width: auto !important;
        margin-bottom: 0 !important;
        -webkit-align-self: flex-end !important;
        align-self: flex-end !important;
    }

    #overlay-container .checkmark {
        position: relative !important;
        flex-shrink: 0 !important;
        height: 2.25vh !important;
        width: 2.25vh !important;
    }

    .bodyTextCentered {
        font-family: 'Noto Sans', sans-serif;
        font-size: 3.25vw;
        color: #431aa2;
        user-select: none;
    }

    #forgotPassword,
    #forgotUserEmail {
        font-size: 3.25vw;
    }

    .accountLimitText {
        font-family: 'Noto Sans', sans-serif;
        font-size: 3.2vw;
        font-weight: 700;
        text-align: center;
        color: #e52b20;
        user-select: none;
    }

    .accountLimitText2 {
        font-family: 'Noto Sans', sans-serif;
        font-size: 1vh;
        font-weight: 700;
        line-height: 1;
        text-align: center;
        color: #e52b20;
        user-select: none;
    }

    .timeoutTextLarge {
        font-family: 'Noto Sans', sans-serif;
        font-size: 3.75vw;
        font-weight: bold;
        text-align: center;
        color: #431aa2;
        user-select: none;
        margin-bottom: 5%;
    }

    .timeoutTextSmall {
        font-family: 'Noto Sans', sans-serif;
        font-size: 3.75vw;
        font-weight: 500;
        text-align: center;
        color: #431aa2;
        user-select: none;
        margin-bottom: 5%;
    }

    .footerText {
        font-family: 'Noto Sans', sans-serif;
        font-size: 3.25vw;
        font-weight: bold;
        text-align: center;
        color: #ffffff;
        user-select: none;
        margin-bottom: 1vw;
    }

    .footerTextCentered {
        font-family: 'Noto Sans', sans-serif;
        font-size: 3vw;
        font-weight: bold;
        text-align: center;
        color: #e52b20;
        user-select: none;
        width: 85%;
        margin-top: 2%;
    }

    .buttonTextWhite {
        font-family: 'Noto Sans', sans-serif;
        font-size: 3vw;
        font-weight: 600;
        text-align: left;
        color: #fff;
        user-select: none;
        white-space: nowrap;
    }

    .textEntry {
        width: 100% !important;
        font-size: 2.75vw;
    }

    input::placeholder {
        color: #a18cd0;
    }

    input:focus {
        outline: none !important;
        border-color: #dad3ff;
        box-shadow: 0 0 0.5rem #dad3ff;
    }

    input:-webkit-autofill,
    input:-webkit-autofill:hover,
    input:-webkit-autofill:focus,
    input:-webkit-autofill:active {
        -webkit-box-shadow: 0 0 0 8vw #ffff inset !important;
    }

    input:-webkit-autofill {
        -webkit-text-fill-color: #431aa2 !important;
    }

    .fb-disabled {
        position: absolute;
        top: 72%;
        display: flex;
        align-items: center;
        justify-content: center;
        width: 90%;
        height: auto;
        margin: 0 auto;
        font-family: 'Noto Sans', sans-serif;
    }

    .fb-disabled img {
        max-width: 3.125rem;
        height: auto;
    }

    .fb-disabled span {
        padding-left: 0.625rem;
        font-size: 2.25vw;
        font-weight: bold;
        color: #431aa2;
        user-select: none;
    }

    .fb-disabled .red {
        color: red;
        text-decoration: underline;
        margin: 0;
        padding: 0;
    }

    .errorText {
        font-family: 'Noto Sans', sans-serif;
        font-size: 2.75vw;
        text-align: left;
        color: red;
        z-index: 3;
    }

    .popupLogin .popupSignInForm .emailError,
    .popupLogin .popupSignInForm .passwordError,
    .popupRegister .popupRegisterForm .emailErrorRegister,
    .popupRegister .popupRegisterForm .passwordErrorRegister,
    .popupLogin #serverErrorEmail,
    .popupRegister #serverErrorEmail {
        min-height: calc(2.75vw * 1.67);
        max-height: calc(2.75vw * 1.67);
    }

    .errorText.emailErrorFPW,
    .errorText.emailErrorFD {
        position: relative;
        width: 89%;
        height: 0;
        top: 43%;
        left: 0%;
    }

    .popupForgotPassword .forgotPasswordForm .emailErrorFPW,
    .popupForgotDetails .forgotDetailsForm .emailErrorFD,
    .popupForgotDetailsCode .forgotDetailsCodeForm .emailErrorFD {
        top: auto;
        left: auto;
        min-height: calc(2.75vw * 1.67);
        max-height: calc(2.75vw * 1.67);
    }

    .registerButtonPopup {
        display: flex;
        flex-flow: row nowrap;
        justify-content: center;
        align-items: center;
        background-color: #ff7b1b;
        width: 100%;
        height: 9vw;
        border-radius: 6.25vw;
        margin: 2vw;
    }

    .registerButtonPopup.disabled {
        width: 4vh;
    }

    .registerButtonPopup:hover {
        background-color: #ff9243;
        cursor: pointer;
    }

    .signInButtonPopup {
        display: flex;
        flex-flow: row nowrap;
        justify-content: center;
        align-items: center;
        background-color: #ff7b1b;
        width: 100%;
        border-radius: 6.25vw;
        height: 2.5rem;
    }

    .signInButtonPopup.disabled {
        width: 4vh;
    }

    .signInButtonPopup:hover {
        background-color: #ff9243;
        cursor: pointer;
    }

    .buttonPopupOuterContainer {
        margin: 2vw;
    }

    .buttonPopup {
        width: 100%;
        height: 9vw;
    }

    .emailButtonPopup {
        background-color: #ff7b1b;
    }

    .emailButtonPopup.disabled {
        width: 4vh;
    }

    .emailButtonPopup:hover {
        background-color: #ff9243;
        cursor: pointer;
    }

    .googleButtonPopup {
        border-width: 0.25vw;
    }

    .googleButtonPopup.disabled {
        width: 4vh;
    }

    .googleButtonPopup .buttonTextWhite {
        color: #353c43;
    }

    .appleButtonPopup {
        border-width: 0.25vw;
    }

    .appleButtonPopup .buttonTextWhite {
        color: #353c43;
    }

    .appleButtonPopup.disabled {
        width: 4vh;
    }

    .appleButtonPopup:hover {
        background-color: #fbfbfb;
        cursor: pointer;
    }

    .facebookButtonPopup.disabled {
        width: 4vh;
    }

    .facebookButtonPopup:hover {
        background-color: #338cff;
        cursor: pointer;
    }

    .fbEnabled .facebookButtonPopup {
        display: flex;
    }

    .timeoutButtonPopup {
        display: flex;
        flex-flow: row nowrap;
        justify-content: center;
        align-items: center;
        background-color: #ff7b1b;
        width: 100%;
        height: 9vw;
        border-radius: 6.25vw;
        margin: 2vw;
    }

    .timeoutButtonPopup.disabled {
        width: 4vh;
    }

    .timeoutButtonPopup:hover {
        background-color: #ff9243;
        cursor: pointer;
    }

    .close,
    .back {
        position: absolute;
        height: 0%;
        top: -3%;
        left: 91%;
    }

    .back {
        left: -6%;
    }

    .popupLogin #popupLargeButtons > .close,
    .popupRegister #popupLargeButtons > .close {
        top: -3vh;
        right: -3vh;
        left: auto;
    }

    .popupRegister:has(.welcomeOffer) #popupLargeButtons > .close {
        top: -13.5vh;
    }

    .popupForgotPassword #popupSmall .close,
    .popupForgotPassword #popupSmallBlank .close,
    .popupForgotDetails #popupSmallBlank .close,
    .popupForgotDetailsCode #popupSmallBlank .close,
    .popupForgotDetailsWelcome #popupSmallBlank .close,
    .popupForgotPassword #popupSmall .back,
    .popupForgotPassword #popupSmallBlank .back,
    .popupForgotDetails #popupSmallBlank .back,
    .popupForgotDetailsCode #popupSmallBlank .back,
    .popupForgotDetailsWelcome #popupSmallBlank .back {
        height: auto;
        display: flex;
        align-items: center;
        justify-content: center;
        z-index: 10;
        line-height: 0;
    }

    .popupForgotPassword #popupSmall .close,
    .popupForgotPassword #popupSmallBlank .close,
    .popupForgotDetails #popupSmallBlank .close,
    .popupForgotDetailsCode #popupSmallBlank .close,
    .popupForgotDetailsWelcome #popupSmallBlank .close {
        top: -3vh;
        right: -3vh;
        left: auto;
    }

    .popupForgotPassword #popupSmall .back,
    .popupForgotPassword #popupSmallBlank .back,
    .popupForgotDetails #popupSmallBlank .back,
    .popupForgotDetailsCode #popupSmallBlank .back,
    .popupForgotDetailsWelcome #popupSmallBlank .back {
        top: -3vh;
        left: -3vh;
    }

    .lbv .popupRegisterLarge .registerClose {
        top: -10%;
    }

    #closeButton,
    #backButton {
        width: 12vw;
    }

    #questionButton {
        width: 2.75vw;
        margin-left: 0.5vw;
    }

    .lbv .popupRegisterLarge .registerBack {
        top: -10%;
    }

    .back:hover {
        cursor: pointer;
    }

    #backButton {
        width: 12vw;
    }

    #emailIcon,
    #facebookIcon,
    #appleIcon,
    #googleIcon {
        height: 6.25vw;
        left: 0.7rem;
    }

    #emailIcon {
        height: 5.2vw;
    }

    #popupContainer .processAnim {
        position: relative;
        width: 4vh;
        height: 4vh;
        display: none;
    }

    #popupContainer .processAnim img {
        width: 4vh;
        height: 4vh;
    }

    /* Tooltip CSS */
    .infoUsername,
    .infoPassword {
        display: inline;
        position: relative;
    }

    .infoUsernameTooltip,
    .infoPasswordTooltip {
        visibility: hidden;
        width: 40vw;
        background-color: #fbfcff;
        color: #431aa2;
        border-radius: 3vw;
        padding: 2vw;
        text-align: center;
        box-shadow: 0 0.0625rem 0.0625rem 0.0625rem #a19cbd42;
        /* Position the tooltip */
        position: absolute;
        z-index: 1;
        top: calc(100% + 0.1875rem);
        left: 50%;
        margin-left: -4vw;
    }

    /* Add the arrow */
    .infoUsernameTooltip::after,
    .infoPasswordTooltip::after {
        content: '';
        position: absolute;
        bottom: 100%;
        left: 4vw;
        margin-left: -0.3125rem;
        border-width: 0.3125rem;
        border-style: solid;
        border-color: transparent transparent white transparent;
    }

    .infoUsernameTooltip.visible,
    .infoPasswordTooltip.visible {
        visibility: visible;
    }

    /*End Check Mark CSS */
    #geoblock-error-icon {
        height: 40%;
        margin-bottom: 3%;
    }

    #geoblock-error-title {
        font-family: 'Noto Sans', sans-serif;
        font-size: 4.5vw;
        font-weight: 600;
        text-align: center;
        color: #270663;
        user-select: none;
        white-space: nowrap;
        width: 90%;
        height: 10%;
    }

    #geoblock-error-message {
        font-family: 'Noto Sans', sans-serif;
        font-size: 3.15vw;
        font-weight: 600;
        text-align: center;
        color: #270663;
        user-select: none;
        width: 90%;
        height: 15%;
    }

    .geoblock-error-cta-button {
        display: flex;
        flex-flow: row nowrap;
        justify-content: center;
        align-items: center;
        background-color: #ff5c14;
        width: 85%;
        height: 9vw;
        border-radius: 6.25vw;
        margin: 5%;
        box-shadow:
            0 0.1875rem 0 0 #d72902,
            0 0.1875rem 0 0.1875rem #5524b8,
            0 0 0 0.1875rem #5524b8;
    }

    .geoblock-error-cta-button:hover {
        background-color: #ff7d44;
        cursor: pointer;
    }

    #closeGeoblock {
        top: -10%;
    }

    .textButton:hover {
        cursor: pointer;
    }

    /** * Copy over some stuff from top-bar.css, for the overlay container */
    .overlay-container {
        position: absolute;
        top: 0;
        left: 0;
        width: 100%;
        height: 100%;
        /* Web browsers that does not support RGBa */
        background: rgb(0, 0, 0);
        /* IE9/FF/chrome/safari supported */
        background: rgba(0, 0, 0, 0.9);
        /* IE 8 suppoerted */
        /* Here some time problem for Hover than you can use background color/image */
        -ms-filter: 'progid:DXImageTransform.Microsoft.gradient(startColorstr=#88000000, endColorstr=#88000000)';
        display: none;
        z-index: 11;
    }

    #overlay-container-foreground {
        z-index: 12;
    }

    /* Pre-existing Account Popup Class */
    #popupFullContainer.popupPreexistingAccount {
        height: 33vh;
        background: white;
        border-radius: 2vh;
        border-style: none;
    }

    #popupPreexistingAccountHeader,
    #popupPreexistingAccountText {
        text-align: center;
        margin: 0 2rem;
        margin-top: 2rem;
        white-space: wrap;
    }

    #popupPreexistingAccountText {
        margin-top: 1rem;
        font-size: 3.75vw;
    }

    .popupPreexistingAccount .popupFooter {
        position: relative;
        top: 1rem;
        display: flex;
        flex-flow: column nowrap;
        align-items: center;
        width: 90%;
    }

    #popupPreexistingAccountButton {
        display: flex;
        flex-flow: row nowrap;
        justify-content: center;
        align-items: center;
        background-color: #ff7b1b;
        width: 100%;
        height: 5.5vh;
        border-radius: 6.25vh;
        margin: 1.25vh;
    }

    .password-wrapper .toggle-password {
        width: 1.75em;
        height: 1.75em;
    }

    .verificationCodeDigits .verificationCodeDigit {
        height: 3.375rem;
    }

    .resendForgotDetailsCodeText {
        font-size: 3.25vw;
    }

    .welcomeBody {
        padding-bottom: 0;
        padding-top: 0;
    }

    .phone-country-dropdown.dropdown {
        height: 2.0625rem;
        padding-bottom: 0;
    }
    .dropdown .dropdown-btn {
        width: 28%;
    }
    .dropdown .dropdown-content {
        top: 67%;
    }
    .popupForgotPassword .dropdown .dropdown-content {
        top: 73%;
    }
    .dropdown .number-input {
        font-size: 2.75vw;
    }
    .dropdown .dropdown-btn {
        height: 100%;
        padding: 0;
    }
    .dropdown .flag {
        font-size: 1.5em;
    }
    .dropdown .arrow-down {
        max-width: initial;
        position: relative;
        left: 0.25rem;
        height: 100%;
    }
    .dropdown .dropdown-btn .country-code {
        font-size: 2.75vw;
    }
}

/* Smaller devices where login/signup may have scroll */
@media screen and (max-device-width: 375px) and (max-device-height: 667px),
    screen and (max-width: 400px) and (max-height: 720px) {
    #popupFullContainer.popupRegister #popupContainer {
        box-sizing: border-box;
    }
}

/* Cloudflare Turnstile invisible widget container — no layout impact */
.cf-turnstile-container {
    position: absolute;
    overflow: hidden;
    width: 0;
    height: 0;
    opacity: 0;
    pointer-events: none;
    visibility: hidden;
}
