/*=============== FONTS ===============*/
@font-face {
    font-family: 'ff_sanuk_roundbold';
    src: url('../fonts/sanukround-bold-webfont.woff2') format('woff2'),
        url('../fonts/sanukround-bold-webfont.woff') format('woff');
    font-weight: normal;
    font-style: normal;
}

/*=============== VARIABLES CSS ===============*/
:root {
    --thm-font: 'ff_sanuk_roundbold';
    /* --thm-secondary-font: 'browoodregular'; */
    --thm-white: #ffffff;
    --thm-black: #000000;
    --thm-pink: #FF00D3;
    --thm-dark-blue: #311C74;
}

/*=============== DESKTOP CSS ===============*/
@media (min-width: 992px) {
    .col-md-12 {
        -ms-flex: 0 0 100%;
        flex: 0 0 100%;
        max-width: 100%;
    }

    .col-md-6 {
        -ms-flex: 0 0 50%;
        flex: 0 0 50%;
        max-width: 50%;
    }
}

/*=============== BASE ===============*/
html {
    scroll-behavior: smooth;
    /* scroll-padding-top: 6rem; */
    overflow: hidden;
}

*,
::after,
::before {
    box-sizing: border-box;
}

body {
    font-family: var(--thm-font);
    font-size: 16px;
    margin: 0;
    padding: 0;
    overflow: hidden;
}

a:active,
a:hover,
a:focus,
a:visited {
    text-decoration: none;
}

h1,
h2,
h3,
h4,
h5,
h6 {
    font-family: var(--thm-font);
    font-weight: 600;
    font-style: normal;
    line-height: 1.4;
    text-shadow: 0 0 1px var(--thm-text);
}

img {
    vertical-align: middle;
    border-style: none;
}

p {
    font-size: 16px;
    line-height: 1.2;
    color: var(--thm-text);
    margin-top: 0;
    margin-bottom: 0;
}

ul {
    list-style: none;
    margin: 0;
    padding: 0;
}

/*=============== REUSABLE CSS CLASSES ===============*/
.text-start {
    text-align: start;
}

.text-center {
    text-align: center;
}

.text-end {
    text-align: end;
}

.d-flex {
    display: flex;
}

.jc-center {
    justify-content: center;
}

.jc-sb {
    justify-content: space-between;
}

.ai-center {
    align-items: center;
}

.row {
    display: flex;
}

.flex-wrap {
    flex-wrap: wrap;
}

.mt-0 {
    margin-top: 0rem;
}

.mt-1 {
    margin-top: 1rem;
}

.mt-2 {
    margin-top: 2rem;
}

.mb-0 {
    margin-bottom: 0;
}

.mb-1 {
    margin-bottom: 1rem;
}

.mb-2 {
    margin-bottom: 2rem;
}

.mb-3 {
    margin-bottom: 3rem;
}

.text-uppercase {
    text-transform: uppercase;
}

.w-100 {
    width: 100%;
    height: auto;
}

.img-fit {
    width: 100%;
    height: auto;
    display: block;
}

/*=============== CUSTOM CSS STARTS ===============*/

.page-wrapper {
    position: relative;
    margin: 0 auto;
    width: 100%;
    min-width: 300px;
    /* overflow: hidden; */
    background: var(--thm-dark-blue);
}

.main-wrapper {
    position: relative;
    width: 100%;
    /* max-width: 576px; */
    height: 100dvh;
    margin: 0 auto;
    background: url("../images/page-bg.jpg") lightgray 50% / cover no-repeat;
    /* aspect-ratio: 160/97; */
    background-position: center center;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
}

.coming-soon-wrapper {
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    width: 100%;
    height: 100%;
    /* max-width: 1400px; */
    max-width: 1450px;
    position: relative;
    padding: 1.5rem 1.5rem 0 1.5rem;
    margin: 0 auto;
}

.coming-soon-container {
    width: 100%;
}

.soon-images-box {
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
}

.coming-soon-box {
    width: 100%;
    position: relative;
}

.coming-soon-box h2 {
    background: linear-gradient(180deg, #FFF 46.12%, #B9AAE0 55.04%, #B9AAE0 75%);
    background-clip: text;
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;

    font-size: 3.75rem;
    line-height: 1.2;
    font-style: normal;
    font-weight: 400;
    line-height: normal;
    margin-bottom: 3rem;
}

.soon-images-box .soon-img {
    max-width: 563px;
    width: 100%;
    margin: 0 auto;
}

.jimjam-marvel-logo {
    width: 100%;
    position: relative;
    margin-bottom: 5rem;
}

.jimjam-marvel-logo img {
    max-width: 480px;
    width: 100%;
    margin: 0 auto;
}

/* Login Form CSS Start */
.details-form-con {
    width: 100%;
    height: 100%;
    justify-content: center;
    align-items: center;
}

.details-form {
    border-radius: 20px;
    background: rgba(255, 255, 255, 0.5);
    box-shadow: 8px 8px 12px 0 rgba(255, 0, 211, 0.60);
    max-width: 435px;
    width: 100%;
    padding: 2rem 1.68rem;
}

.details-form h2 {
    color: #311C74;
    font-size: 1.875rem;
    font-style: normal;
    font-weight: 400;
    line-height: normal;
    letter-spacing: 1px;
    margin-bottom: 1rem;
}

.user-details-form {
    margin-top: 15px;
}

.form-group {
    margin-bottom: 1.3rem;
    display: flex;
    flex-direction: column;
}

.form-group label {
    color: var(--thm-dark-blue);
    font-size: 1.25rem;
    line-height: 1.2;
    font-style: normal;
    font-weight: 400;
    line-height: normal;
    letter-spacing: 1px;
    margin-bottom: 6px;
}

.form-group input {
    border: none;
    outline: none;
    appearance: none;
    -webkit-appearance: none;
    padding: 10px;
    background: #D9D9D9;
    border-radius: 8px;
    height: 52px;
    width: 100%;
    color: var(--thm-dark-blue);

    box-shadow:
        inset 0 4px 4px rgba(89, 90, 90, 0.40),
        2px 2px 6px #FF00D3;
    opacity: 1;
}

.submit-btn {
    border-radius: 40px;
    background: var(--thm-pink);
    box-shadow: -4px -7px 6px 0 #420043 inset, 2px 2px 6px 0 #6D45AC;
    padding: 13px 13px 16px;
    max-width: 253px;
    width: 100%;
    border: none;
    outline: none;
    display: block;
    margin: 0 auto;
    cursor: pointer;

    color: var(--thm-white);
    font-size: 1.75rem;
    line-height: 1.2;
    font-style: normal;
    font-weight: 400;
    letter-spacing: 1px;
    text-transform: uppercase;
    font-family: var(--thm-font);
}

.submit-btn {
    transition: 0.25s ease;
}

.submit-btn:active {
    transform: scale(0.94) translateY(3px);
    box-shadow:
        -2px -4px 3px #420043 inset,
        1px 1px 4px #6D45AC inset;
}

.error-msg {
    color: #CF1F25;
    font-family: var(--thm-font);
    font-size: 12px;
    font-style: normal;
    font-weight: 400;
    line-height: 1;
    letter-spacing: 0.24px;
    margin-top: 0.8rem;
    display: none;
    gap: 6px;
}

.error-msg img {
    width: 16px;
    height: 16px;
    object-fit: contain;
    margin-right: 4px;
}

/* Login Form CSS End */

/* OTP PAGE CSS Start */
.otp-section {
    width: 100%;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
}

.otp-section .otp-title {
    color: var(--thm-dark-blue);
    font-size: 1rem;
    font-style: normal;
    font-weight: 400;
    line-height: 1.2;
    letter-spacing: 1px;
    margin-top: 0;
    margin-bottom: 0.8rem;
}

.otp-section .otp-subtitle {
    color: var(--thm-dark-blue);
    font-size: 0.875rem;
    font-style: normal;
    font-weight: 400;
    line-height: 1.2;
    margin-top: 0;
    margin-bottom: 0.8rem;
}

.otp-input-boxes {
    width: 100%;
    display: flex;
    justify-content: center;
    align-items: flex-start;
    flex-wrap: wrap;
    min-height: 100px;
}

.otp-input-con {
    width: 100%;
    display: flex;
    justify-content: center;
    align-items: center;
}

.otp-box {
    width: 52px;
    height: 52px;
    flex-shrink: 0;
    aspect-ratio: 1/1;
    border-radius: 8px;
    background: #D9D9D9;
    box-shadow: 0 4px 4px 0 rgba(89, 90, 90, 0.40) inset, 2px 2px 6px 0 #FF00D3;
    border: none;
    outline: none;
    margin: 4px;
    text-align: center;

    display: flex;
    justify-content: center;
    align-items: center;
    padding: 10px;

    color: var(--thm-dark-blue);
    font-size: 1rem;
    font-style: normal;
    font-weight: 400;
    line-height: 1.2;
}

.otp-section .error-msg {
    display: none;
    margin: 12px 0;
    color: #CF1F25;
    font-size: 11px;
    font-style: normal;
    font-weight: 400;
    line-height: 1.2;
    letter-spacing: 0.22px;
}

.error-digit {
    color: #CF1F25;
}

.otp-section .error-msg img {
    width: 16px;
    height: 16px;
    object-fit: contain;
    margin-right: 4px;
}

.resend-otp {
    color: var(--thm-dark-blue);
    font-size: 12px;
    font-style: normal;
    font-weight: 400;
    line-height: 1.2;
    letter-spacing: 1px;
    text-decoration-line: underline;
    text-decoration-style: solid;
    text-decoration-thickness: 1px;
    text-underline-offset: 3px;
    text-decoration-color: var(--thm-dark-blue);
    font-family: var(--thm-font);
    background-color: transparent;
    border: none;
    outline: none;
    margin-top: 1rem;
}

/* OTP PAGE CSS End */

/* Thank You PAGE CSS Start */
.thank-con {
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    width: 100%;
    height: 100%;
    padding: 1rem;
    min-height: 300px;
}

.check-icon-box {
    width: 92px;
    height: 92px;
    border-radius: 50%;
    flex-shrink: 0;
    aspect-ratio: 1/1;
    background-color: #FF00D3;
    box-shadow: 0 -4px 4px 0 #420043 inset;
    filter: drop-shadow(0 4px 11px #6D45AC);
    display: flex;
    justify-content: center;
    align-items: center;
    padding: 10px;
}

.check-icon {
    width: 42px;
    height: auto;
}

.thank-text h3 {
    color: var(--thm-dark-blue);
    font-size: 2rem;
    font-style: normal;
    font-weight: 400;
    line-height: 1.2;
    letter-spacing: 1px;
    margin-top: 1.3rem;
    margin-bottom: 1rem;
    text-align: center;
}

.thank-text p {
    color: var(--thm-dark-blue);
    text-align: center;
    font-size: 1rem;
    font-style: normal;
    font-weight: 400;
    line-height: 1.2;
}

/* Thank You PAGE CSS End */

/* Footer CSS Start */
footer {
    width: 100%;
    position: relative;
}

.footer-sec {
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    width: 100%;
    height: 100%;
    max-width: 1450px;
    position: relative;
    padding: 12px;
    margin: 0 auto;
}

.footer-box {
    width: 100%;
    display: block;
}

.footer-box ul {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 10px;
}

.footer-box ul li {
    font-size: 10px;
    font-style: normal;
    font-weight: 400;
    line-height: 1.2;
    display: inline-block;
}

.footer-box ul li a {
    color: var(--thm-white);
    text-align: center;
    font-size: 10px;
    font-style: normal;
    font-weight: 400;
    line-height: 1.2;
    text-decoration: none;
}

.marvel-logo {
    width: 43px;
    height: 10px;
    flex-shrink: 0;
    aspect-ratio: 43/10;
}

/* Footer CSS End */

/* Desktop Rotate Screen Start */
.desk-rotate-screen {
    display: block;
    width: 100%;
}

.desk-rotate-con {
    background: url("../images/page-bg.jpg") lightgray 50% / cover no-repeat;
    width: 100%;
    height: 100%;
    min-height: 100dvh;
    display: flex;
    justify-content: center;
    align-items: center;
    padding: 1rem;
}

.rotate-content-box {
    border-radius: 20px;
    opacity: 0.8;
    background: var(--thm-dark-blue);
    box-shadow: 0 0 24px 8px rgba(255, 0, 211, 0.50);
    padding: 1rem;
    max-width: 733px;
    /* min-height: 585px; */
    width: 100%;
    position: relative;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    align-items: center;
}

.rotate-content-inner {
    width: 100%;
    padding: 2rem;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
}

.rotate-content-inner img {
    width: 458px;
    height: auto;
    display: block;
    margin-bottom: 3rem;
}

.rotate-box {
    width: 100%;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    margin-bottom: 5rem;
}

.rotate-box img {
    width: 100px;
    height: 100px;
    flex-shrink: 0;
    aspect-ratio: 1/1;
    margin-top: 0;
    margin-bottom: 1rem;
}

.rotate-box p {
    text-align: center;
    font-size: 1.75rem;
    font-style: normal;
    font-weight: 400;
    line-height: 1.2;
    background: linear-gradient(180deg, #FFF 46.12%, #B9AAE0 55.04%, #B9AAE0 75%);
    background-clip: text;
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
}

.rotate-foot-box {
    width: 100%;
}

.rotate-foot-box ul {
    width: 100%;
    display: flex;
    justify-content: space-between;
    align-items: center;
}

.rotate-foot-box ul li a {
    color: var(--thm-white);
    text-align: center;
    font-size: 12px;
    font-style: normal;
    font-weight: 400;
    line-height: 1.2;
    text-decoration: none;
}

.rotate-foot-box .marvel-logo {
    width: 54px;
    height: auto;
}

.page-wrapper {
    display: none;
}

/* Desktop Rotate Screen End */

/* RESPONSIVE MEDIA QUERIES START */

@media (min-width: 490px) {}

@media (max-width: 992px) {
    .col-sm-12 {
        -ms-flex: 0 0 100%;
        flex: 0 0 100%;
        max-width: 100%;
    }

    .col-sm-6 {
        -ms-flex: 0 0 50%;
        flex: 0 0 50%;
        max-width: 50%;
    }

}

@media (max-width: 600px) {

    html,
    body {
        overflow: auto !important;
        height: auto;
    }

    .main-wrapper {
        height: auto !important;
        min-height: 100dvh;
    }

}

@media (max-width: 576px) {

    .page-wrapper {
        display: block;
    }

    .desk-rotate-screen {
        display: none;
    }

    .main-wrapper {
        background: url("../images/mob-page-bg.jpg") lightgray 50% / cover no-repeat;
        justify-content: space-between;
    }

    .coming-soon-wrapper {
        justify-content: flex-start;
    }

    .soon-images-box {
        width: 65%;
        margin: 0 auto;
    }

    .jimjam-marvel-logo {
        margin-bottom: 1.5rem;
    }

    .coming-soon-box h2 {
        font-size: 1.25rem;
        margin-bottom: 1rem;
    }

    .details-form-con {
        margin-top: -14px;
        position: relative;
        z-index: 2;
    }

    .details-form {
        padding: 1.2rem 1rem;
    }

    .details-form h2 {
        font-size: 1.25rem;
        margin-bottom: 1.5rem;
        text-align: center;
    }

    .form-group label {
        font-size: 0.875rem;
        margin-bottom: 8px;
    }

    .form-group {
        margin-bottom: 1rem;
    }

    .submit-btn {
        font-size: 1.25rem;
        margin-top: 1.4rem;
    }

    .footer-sec {
        padding: 8px 12px;
    }
}

@media (max-width: 375px) {
    .details-form h2 {
        font-size: 1rem;
    }
}

@media (max-height: 820px) {}

@media (max-height: 750px) {}

@media (max-height: 700px) {}

@media (max-height: 620px) {
    .coming-soon-wrapper {
        padding: 1.5rem;
    }
}

/* RESPONSIVE MEDIA QUERIES END */