@import url('https://fonts.googleapis.com/css2?family=Poppins:ital,wght@0,100;0,200;0,300;0,400;0,500;0,600;0,700;0,800;0,900;1,100;1,200;1,300;1,400;1,500;1,600;1,700;1,800;1,900&display=swap');

* {
    font-family: "Poppins", sans-serif !important;
}

html, body {
    margin: 0;
    padding: 0;
    min-height: 100vh;
    display: flex;
    flex-direction: column;
}

.main-content {
    flex: 1;
}

#background {
    overflow: hidden;
    position: relative;
    left: 0;
    margin: 0;
    width: 100%;
    padding-top: 7.5rem !important;
    padding-bottom: 10rem;
    background-color: rgba(254, 224, 166, 0.8);
    z-index: 1;
    display: flex;
    justify-content: center;
    align-items: center;
}

.rounded-square {
    position: absolute;
    width: 14%;
    height: 33%;
    bottom: 24.3%;
    left: 53.9%;
    transform: translateY(-50%);
    background-color: #ec865a;
    border-radius: 30px 0 0 30px;
    z-index: 0;
}

.moon {
    position: absolute;
    width: 11vw;
    height: 6vw;
    right: 21%;
    bottom: 22vw;
}

    .moon img {
        flex: auto;
        width: 100%;
        height: 100%;
        object-fit: contain;
    }

.diamond-shape-1 {
    position: absolute;
    width: 6vw;
    bottom: 8vw;
    right: 9%;
    z-index: 0;
}

    .diamond-shape-1 img {
        width: 100%;
        height: 100%;
        object-fit: contain;
    }

.navigation-banner {
    display: flex;
    align-items: center;
    justify-content: space-between;
    position: sticky;
    top: 0;
    left: 0;
    width: 100%;
    z-index: 10000;
    background-color: #FFFFFF;
    box-shadow: 0px 2px 4px rgba(0, 0, 0, 0.1);
    padding: 30px 40px;
    box-sizing: border-box;
}

.navigation-links {
    display: flex;
    align-items: center;
    justify-content: flex-start;
    flex-grow: 1;
}

.navigation-link {
    font-size: 20px;
    font-weight: 400;
    line-height: 120%;
    text-align: center;
    color: #1E4EBB;
    padding: 1vh;
    margin-right: 1.2rem;
    position: relative;
    text-decoration: none;
}

    .navigation-link p {
        margin: 0;
    }

.navigation-links .navigation-link:first-child {
    margin-left: 4vw;
}

.brand {
    display: flex;
    align-items: center;
    gap: 35px;
}

    .brand img {
        width: 160px;
        height: 24px;
    }

.brand-tag {
    outline: none;
    border: none;
}

.login {
    font-size: 16px;
    font-weight: 400;
    line-height: 1.2;
    text-align: center;
    color: #000;
    margin-right: 2rem;
    text-decoration: none;
    text-wrap: nowrap;
    cursor: pointer;
}

.signup-button {
    border-radius: 15px;
    background: #000;
    display: flex;
    width: 195px;
    min-width: 195px;
    padding: 13.5px 10px;
    justify-content: center;
    align-items: center;
    color: #FAFAFA;
    text-align: center;
    font-size: 16px;
    font-weight: 500;
    line-height: normal;
    border: none;
    cursor: pointer;
    text-decoration: none;
    text-wrap: nowrap;
}

    .signup-button:hover {
        background: #1648B3;
    }

    .signup-button:active {
        background: #666666;
    }

    .signup-button span {
        display: inline-block;
        width: 100%;
        height: 100%;
        background: var(--C-White, #FAFAFA);
    }

.navigation-link.active::after {
    content: '';
    position: absolute;
    transform: translateX(-50%);
    width: 5vw;
    height: 1.3vw;
    border-radius: 50% / 0 0 100% 100%;
    background: #1E4EBB;
    z-index: 2000;
    margin-top: 5px;
    transition: all 0.3s ease;
}

#main-content {
    width: 100%;
    height: 100%;
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    padding: 0 5rem;
    box-sizing: border-box;
}

#title {
    width: 100%;
    max-width: 60%;
    font-size: 4.8vw;
    font-weight: 400;
    line-height: 1.2;
    letter-spacing: -0.01em;
    text-align: left;
    color: #1E4EBB;
    margin-bottom: 2rem;
    margin-left: 1vw;
    overflow-wrap: break-word;
}

#body-text {
    width: 40%;
    max-width: 450px;
    font-size: 1.4vw;
    font-weight: 400;
    line-height: 1.3;
    text-align: left;
    color: #1E4EBB;
    margin-bottom: 1rem;
    margin-left: 1.5vw;
}

#join-button-container {
    display: flex;
    justify-content: center;
    margin-top: 2vw;
    margin-left: 1.45vw;
}

.join-button {
    width: 12vw;
    height: 2.2vw;
    padding: 0.5vw 2.5vw;
    border-radius: 1vw;
    background-color: black;
    transition: opacity 0.3s ease;
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
    text-decoration: none;
}

    .join-button:hover {
        background: #1648B3;
    }

    .join-button:active {
        background: #666666;
    }

.join-button-image {
    width: 1.3vw;
    height: auto;
    margin-right: 0.5vw;
}

.join-button-text {
    font-size: 1.3vw;
    font-weight: 400;
    text-align: left;
    color: #FFFFFF;
    white-space: nowrap;
}

.log-in-mobile-text {
    display: none;
    width: 100%;
    height: auto;
    text-align: center;
    color: #1E4EBB;
    font-family: "Poppins", sans-serif;
    font-size: 4vw;
    font-style: normal;
    font-weight: 400;
    text-transform: capitalize;
}

.login-link-mobile, .login-link-mobile:visited {
    font-weight: 700;
    text-decoration: none;
    text-decoration-line: underline;
    color: #1E4EBB;
}

#phone-image {
    position: absolute;
    bottom: -3%;
    left: 77%;
    transform: translateX(-50%);
    width: 16%;
    height: auto;
}

    #phone-image img {
        width: 83%;
        height: auto;
        border-radius: inherit;
        z-index: 1;
    }

#people-image-1 {
    position: absolute;
    bottom: 5vw;
    left: 64.5%;
    transform: translateX(-50%);
    width: 13.5%;
    height: auto;
    border-radius: 20px;
    overflow: hidden;
}

    #people-image-1 img {
        width: 100%;
        height: 100%;
        object-fit: cover;
        display: block;
    }

#people-image-2 {
    position: absolute;
    bottom: 19.5vw;
    left: 80.3%;
    width: 10%;
    border-radius: 20px;
    overflow: hidden;
}

    #people-image-2 img {
        width: 100%;
        height: 100%;
        object-fit: cover;
        display: block;
    }

#scrolling-text-container {
    position: relative;
    width: 100%;
    overflow-x: hidden;
    white-space: nowrap;
    z-index: 999;
    height: 5vw;
    line-height: 5vw;
    text-align: center;
    border-top: 0.7vw solid rgba(255, 201, 178, 0.8);
    border-bottom: 0.7vw solid rgba(255, 201, 178, 0.8);
}

.scrolling-text-inner {
    display: inline-block;
    font-size: 16px;
    font-weight: 600;
    animation: scroll-left var(--marquee-speed) linear infinite;
    vertical-align: middle;
}

.scrolling-text {
    display: flex;
    width: 200%;
    animation: scroll-left var(--marquee-speed) linear infinite;
}

.scrolling-text-item .text {
    font-size: 2vw;
    font-style: italic;
    font-weight: 600;
    line-height: 31.6px;
    letter-spacing: -0.01em;
    text-align: left;
    color: #698AD4;
}

.scrolling-text-item {
    padding: 0 20px;
    display: flex;
    align-items: center;
}

.icon {
    width: 2vw;
    height: 2vw;
    margin-left: 20px;
    margin-right: 60px;
}

.scrolling-text-inner > div {
    animation: var(--direction) var(--marquee-speed) linear infinite;
}

@keyframes scroll-left {
    0% {
        transform: translateX(0%);
    }

    100% {
        transform: translateX(-50%);
    }
}

@keyframes scroll-right {
    0% {
        transform: translateX(0%);
    }

    100% {
        transform: translateX(50%);
    }
}

.menu-icon {
    display: none;
    cursor: pointer;
}

    .menu-icon:before {
        content: '\2630';
    }

.menu-images {
    display: flex;
    flex-direction: column;
    align-items: center;
    position: absolute;
    bottom: 0;
    right: 0;
    padding: 10px;
}

.overlay {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-color: rgb(255, 255, 255);
    z-index: 10001;
    display: none;
    text-align: left;
}

.blue-circle-overview {
    position: absolute;
    display: none;
    left: -10vw;
}

.blue-circle-decoration {
    width: 20vw;
    height: auto;
}

.overlay-navigation-link {
    font-size: 20px;
}

.navbar-buttons {
    display: flex;
    align-items: center;
}


/*Popup Styling*/
/*Note to be removed for Commercial Market Release*/
.popup-overlay {
    position: fixed;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background-color: rgba(0, 0, 0, 0.5);
    display: flex;
    justify-content: center;
    align-items: flex-start; /* Changed from center */
    z-index: 1000;
    /* Add padding for top and bottom space */
    padding: calc(80px + 4rem) 20px 3rem 20px; /* Top Nav+space, left, bottom space, right */
    overflow-y: auto; /* Enable scrolling if content is too tall */
}

.popup-content {
    background: white;
    padding: 24px;
    border-radius: 15px;
    width: 90%;
    max-width: 500px;
    display: flex;
    flex-direction: column;
    gap: 20px;
}

.popup-header {
    display: flex;
    justify-content: space-between;
    align-items: center;
}

.close-button {
    background: transparent;
    border: none;
    font-size: 24px;
    cursor: pointer;
    color: var(--C-Black, #000);
}

.popup-body {
    color: var(--C-Black, #000);
    font-size: 16px;
    font-weight: 400;
}

.popup-footer {
    display: flex;
    flex-direction: column;
    gap: 12px;
}

.submitButton {
    display: flex;
    width: 100%;
    height: 51px;
    padding: 13.5px 30px;
    justify-content: center;
    align-items: center;
    gap: 8px;
    border-radius: 15px;
    background: var(--C-Black, #000) !important;
    color: white;
    border: none;
    font-size: 16px;
    cursor: pointer;
}

.bold-heading {
    color: var(--C-Black, #000);
    font-size: 16px;
    font-weight: 500;
    margin: 0;
}

/*Ends here*/

.changeButton {
    background-color: transparent !important;
    color: black !important;
    display: flex;
    width: 100%;
    padding: 13.5px 30px;
    justify-content: center;
    align-items: center;
    gap: 8px;
    border-radius: 15px;
    border: 1px solid #000;
    font-size: 16px;
    cursor: pointer;
}

.normal-text {
    margin: 0;
}

/* Mobile Join Button Wrapper & Text Container - Base Styles */
.mobile-join-button-wrapper {
    display: none;
    width: 100%;
    padding: 20px;
    margin-bottom: 20px;
    flex-direction: column;
    align-items: center;
}

.mobile-join-text-container {
    width: 100%;
    margin-bottom: 24px;
    display: none;
    flex-direction: column;
    align-items: center;
    text-align: center;
}

.mobile-join-header {
    color: #1E4EBB;
    text-align: center;
    font-size: 32px;
    font-style: normal;
    font-weight: 400;
    line-height: 97%;
    letter-spacing: -0.32px;
    margin: 0 0 16px 0;
    max-width: 320px;
}

.mobile-join-description {
    color: #1E4EBB;
    text-align: center;
    font-size: 16px;
    font-style: normal;
    font-weight: 400;
    line-height: 145%;
    margin: 0 0 24px 0;
    padding: 0 20px;
    max-width: 400px;
}

@media screen and (max-width: 1500px) {
    .navigation-links {
        display: none;
        font-size: 15px;
        left: -60%;
        align-items: left;
        text-align: left;
    }

    .login {
        display: none;
    }

    .signup-button {
        display: none;
    }

    .menu-icon {
        display: block;
        color: #1E4EBB;
        font-size: 35px;
    }

    .navigation-link {
        text-align: left;
    }

    .overlay-navigation-link {
        text-transform: capitalize;
        color: #1E4EBB;
        padding-left: 15px;
    }

    .navigation-banner {
        padding: 10px 20px;
    }

    .navigation-banner-mb {
        padding: 30px 40px;
    }

    .menu-open .overlay {
        display: block;
        position: fixed;
        top: 0;
        left: 0;
        width: 100%;
        height: 100%;
        background-color: rgb(255, 255, 255);
        z-index: 10001;
        text-align: left;
        margin-left: 2em;
    }

    .navigation-link.active::after {
        position: absolute;
        top: 0.4rem;
        left: -2.5vw;
        transform: rotate(-90deg) translateY(-50%);
        width: 31px;
        height: 18px;
        border-radius: 4rem 4rem 0 0;
        background: #1E4EBB;
        z-index: 2000;
        scale: 0.6;
    }

    .navigation-link.active {
        font-weight: 600;
    }


    .overlay-navigation-links {
        padding-left: 41px;
        display: flex;
        flex-direction: column;
        gap: 2px;
    }

    .menu-open .overlay .login,
    .menu-open .overlay .signup-button {
        display: block;
        margin: 1em 0;
        padding-left: 1em;
    }

    .navigation-links .navigation-link:first-child {
        margin-left: 0;
    }
    /*Note to be removed for Commercial Market Release*/
    .close-button {
        position: absolute;
        top: 0.1em;
        right: 0.5em;
        cursor: pointer;
        font-size: 3.5em;
        color: black;
    }
    /*Ends here*/
}

@media (max-width: 1100px) {
    #background {
        padding-top: 70px !important;
    }
}

@media (max-width: 768px) {
    /*Note to be removed for Commercial Market Release*/
    .popup-overlay {
        margin-top: 20px;
        padding: calc(60px + 1rem) 20px 2rem 20px;
    }
    /*Ends here*/

    .popup-content {
        width: 95%;
        padding: 20px;
        margin: 10px;
    }

    #title {
        max-width: 100%;
        font-size: 9vw;
        line-height: 1;
        margin-left: 0;
        margin-bottom: 1.5rem;
        overflow-wrap: break-word;
    }

    #body-text {
        width: auto;
        max-width: 100%;
        font-size: 4vw;
        line-height: 1.5;
        margin-bottom: 1.3rem;
    }

    #join-button-container {
        align-items: center;
        width: 100%;
        margin-left: 0;
        margin-top: 4vw;
    }

    /* Mobile adjustments for join button */
    .join-button {
        width: 100%;
        height: 10vw;
        border-radius: 2vw;
    }

    .join-button-image {
        width: 3vw;
    }

    .join-button-text {
        font-size: 3vw;
    }

    .log-in-mobile-text {
        display: block;
    }

    #people-image-1, #people-image-2 {
        display: none;
    }

    #background {
        flex-direction: column;
        padding-top: 0 !important;
        padding-bottom: 0;
    }

    #main-content {
        position: relative;
        top: auto;
        left: auto;
        padding: 2rem 1.1rem;
    }

    .image-content {
        display: flex;
        justify-content: center;
    }

    .diamond-shape-1 {
        left: auto;
        right: -10vw !important;
        top: 34%;
        width: 20vw;
        height: 20vw;
    }

    .moon {
        display: none;
    }

    .blue-circle-overview {
        position: absolute;
        display: flex;
        left: -17%;
    }

    .blue-circle-decoration {
        width: 29vw;
        height: auto;
    }

    /* Show mobile join components */
    .mobile-join-button-wrapper {
        display: flex;
        justify-content: center;
        align-items: center;
    }

        .mobile-join-button-wrapper .join-button {
            width: 100%;
            max-width: 300px;
        }

    .mobile-join-text-container {
        display: flex;
    }

    #phone-image {
        display: flex;
        justify-content: center;
        position: relative;
        bottom: auto;
        left: auto;
        transform: none;
        width: auto;
    }

        #phone-image img {
            width: 85%;
            object-fit: contain;
        }

    #scrolling-text-container {
        position: relative;
        width: 100%;
        overflow: hidden;
        white-space: nowrap;
        z-index: 999;
        height: auto;
        line-height: 5vw;
        text-align: center;
        border-top: 2vw solid rgba(255, 201, 178, 0.8);
        border-bottom: 2vw solid rgba(255, 201, 178, 0.8);
    }

    .scrolling-text-inner {
        display: inline-block;
        font-size: 15vw;
        font-weight: 600;
        animation: scroll-left var(--marquee-speed) linear infinite;
        vertical-align: middle;
    }

    .scrolling-text {
        display: flex;
        width: 200%;
        animation: scroll-left var(--marquee-speed) linear infinite;
    }

    .scrolling-text-item .text {
        font-size: 5vw;
        font-style: italic;
        font-weight: 600;
        line-height: 31.6px;
        letter-spacing: -0.01em;
        text-align: left;
        color: #698AD4;
    }

    .scrolling-text-item {
        padding: 5px 10px;
        display: flex;
        align-items: center;
    }

    .icon {
        width: 5vw;
        height: 5vw;
        margin-left: 5px;
        margin-right: 25px;
    }
}

@media screen and (max-width: 520px) {
    .menu-icon {
        font-size: 2rem;
    }

    #title {
        width: 90%;
        font-size: 60px;
        line-height: 1;
        overflow-wrap: break-word;
    }

    #body-text {
        width: auto;
        max-width: 90%;
        font-size: 5.2vw;
        margin-left: 0;
    }

    .diamond-shape-1 {
        position: absolute;
        width: 10vw;
        top: 45%;
        left: 88vw;
        z-index: 0;
    }

        .diamond-shape-1 img {
            width: 250%;
            height: 200%;
            object-fit: contain;
        }
}

@media screen and (max-width: 400px) {
    .diamond-shape-1 {
        position: absolute;
        width: 10vw;
        top: 50%;
        left: 88vw;
        z-index: 0;
    }
}


@media screen and (max-width: 350px) {

    #title {
        width: 90%;
        font-size: clamp(45px, 55px, 60px);
        line-height: 1;
        overflow-wrap: break-word;
    }
}
