﻿
@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');

body {
    font-family: "Poppins", sans-serif !important;
    overflow-x:hidden !important;
}
.homepage, .container {
    position: relative;
    /* height: 3329px; */
    background-color: var(--white);
}

    .homepage .frame {
        display: flex;
        width: 1277px;
        align-items: center;
        justify-content: space-between;
        position: absolute;
        top: 40px;
        left: 80px;
    }

    .homepage .image {
        width: 365px;
        height: 59px;
        position: relative;
        object-fit: cover;
    }

    .homepage .div {
        display: inline-flex;
        align-items: center;
        gap: 24px;
        position: relative;
        flex: 0 0 auto;
    }

    .homepage .component {
        display: flex;
        width: 160px;
        align-items: center;
        justify-content: center;
        padding: 16px 24px;
        position: relative;
        border-radius: 8px;
        border: 1px solid;
        border-color: var(--primaryprimary-500);
    }

    .homepage .text-wrapper {
        position: relative;
        width: fit-content;
        margin-top: -1.00px;
        font-family: var(--text-medium-semi-bold-font-family);
        font-weight: var(--text-medium-semi-bold-font-weight);
        color: var(--black);
        font-size: var(--text-medium-semi-bold-font-size);
        letter-spacing: var(--text-medium-semi-bold-letter-spacing);
        line-height: var(--text-medium-semi-bold-line-height);
        white-space: nowrap;
        font-style: var(--text-medium-semi-bold-font-style);
    }

    .homepage .div-wrapper {
        display: flex;
        width: 160px;
        align-items: center;
        justify-content: center;
        padding: 16px 24px;
        position: relative;
        background-color: var(--secondarysecondary-500);
        border-radius: 8px;
    }

    .homepage .text-wrapper-2 {
        position: relative;
        width: fit-content;
        margin-top: -1.00px;
        font-family: var(--text-medium-semi-bold-font-family);
        font-weight: var(--text-medium-semi-bold-font-weight);
        color: var(--white);
        font-size: var(--text-medium-semi-bold-font-size);
        letter-spacing: var(--text-medium-semi-bold-letter-spacing);
        line-height: var(--text-medium-semi-bold-line-height);
        white-space: nowrap;
        font-style: var(--text-medium-semi-bold-font-style);
    }

    .homepage .frame-2 {
        position: absolute;
        width: 1280px;
        height: 395px;
        top: 131px;
        left: 80px;
        background-color: var(--primaryprimary-50);
        border-radius: 24px;
        overflow: hidden;
    }

    .homepage .frame-wrapper {
        display: flex;
        flex-direction: column;
        width: 581px;
        align-items: flex-start;
        gap: 24px;
        position: absolute;
        top: 91px;
        left: 59px;
    }

    .homepage .frame-3 {
        display: flex;
        flex-direction: column;
        align-items: flex-start;
        gap: 16px;
        position: relative;
        align-self: stretch;
        width: 100%;
        flex: 0 0 auto;
    }

    .homepage .p {
        position: relative;
        align-self: stretch;
        margin-top: -1.00px;
        font-weight: 400;
        color: transparent;
        font-size: 48px;
        letter-spacing: -0.50px;
        line-height: 57.6px;
    }

    .homepage .span {
        font-weight: 700;
        color: #403b74;
        letter-spacing: -0.24px;
    }

    .homepage .text-wrapper-3 {
        font-style: italic;
        color: #d01c31;
        letter-spacing: -0.24px;
    }

    .homepage .text-wrapper-4 {
        position: relative;
        width: 519px;
        font-family: var(--text-large-normal-font-family);
        font-weight: var(--text-large-normal-font-weight);
        color: var(--neutralneutral-700);
        font-size: var(--text-large-normal-font-size);
        letter-spacing: var(--text-large-normal-letter-spacing);
        line-height: var(--text-large-normal-line-height);
        font-style: var(--text-large-normal-font-style);
    }

    .homepage .grey-blue-minimalist {
        position: absolute;
        width: 395px;
        height: 395px;
        top: 0;
        left: 789px;
        object-fit: cover;
    }

    .homepage .frame-4 {
        display: flex;
        flex-direction: column;
        width: 1280px;
        height: 478px;
        align-items: center;
        gap: 48px;
        position: absolute;
        top: 582px;
        left: 80px;
    }

    .homepage .div-2 {
        position: relative;
        align-self: stretch;
        margin-top: -1.00px;
        font-weight: 400;
        color: transparent;
        font-size: 48px;
        text-align: center;
        letter-spacing: -0.50px;
        line-height: 57.6px;
    }

    .homepage .text-wrapper-5 {
        font-weight: var(--h1-headline-font-weight);
        color: #403b74;
        letter-spacing: var(--h1-headline-letter-spacing);
        font-family: var(--h1-headline-font-family);
        font-style: var(--h1-headline-font-style);
        line-height: var(--h1-headline-line-height);
        font-size: var(--h1-headline-font-size);
    }

    .homepage .text-wrapper-6 {

        font-weight: 500;
        font-style: italic;
        color: #d01c31;
        letter-spacing: -0.24px;
    }

    .homepage .frame-5 {
        position: relative;
        align-self: stretch;
        width: 100%;
        height: 372px;
    }

    .homepage .frame-6 {
        position: absolute;
        width: 380px;
        height: 340px;
        top: 32px;
        left: 18px;
    }

    .homepage .overlap-group-wrapper {
        height: 340px;
    }

    .homepage .overlap-group {
        position: relative;
        width: 380px;
        height: 340px;
    }

    .homepage .component-2 {
        display: flex;
        flex-direction: column;
        width: 380px;
        height: 340px;
        align-items: flex-start;
        gap: 8px;
        position: absolute;
        top: 0;
        left: 0;
    }

    .homepage .frame-7 {
        position: relative;
        align-self: stretch;
        width: 100%;
        height: 340px;
        margin-bottom: -0.01px;
        background-color: var(--secondarysecondary-50);
        border-radius: 12px;
        border: 1px solid;
        border-color: var(--neutralneutral-200);
    }

    .homepage .frame-8 {
        position: absolute;
        width: 339px;
        height: 283px;
        top: 33px;
        left: 24px;
    }

    .homepage .layer {
        position: absolute;
        width: 80px;
        height: 80px;
        top: -2px;
        left: 0;
    }

    .homepage .vector {
        position: absolute;
        width: 76px;
        height: 76px;
        top: 2px;
        left: 2px;
    }

    .homepage .frame-9 {
        display: flex;
        flex-direction: column;
        width: 339px;
        height: 110px;
        align-items: flex-start;
        gap: 16px;
        position: absolute;
        top: 169px;
        left: 0;
    }

    .homepage .text-wrapper-7 {
        position: relative;
        align-self: stretch;
        margin-top: -0.99px;
        font-family: var(--h3-headline-font-family);
        font-weight: var(--h3-headline-font-weight);
        color: var(--primaryprimary-900);
        font-size: var(--h3-headline-font-size);
        letter-spacing: var(--h3-headline-letter-spacing);
        line-height: var(--h3-headline-line-height);
        font-style: var(--h3-headline-font-style);
    }

    .homepage .text-wrapper-8 {
        position: relative;
        align-self: stretch;
        font-family: var(--s1-subtitle-font-family);
        font-weight: var(--s1-subtitle-font-weight);
        color: var(--neutralneutral-700);
        font-size: var(--s1-subtitle-font-size);
        letter-spacing: var(--s1-subtitle-letter-spacing);
        line-height: var(--s1-subtitle-line-height);
        font-style: var(--s1-subtitle-font-style);
    }

    .homepage .frame-10 {
        position: absolute;
        width: 380px;
        height: 340px;
        top: 0;
        left: 446px;
        background-color: var(--secondarysecondary-50);
        border-radius: 12px;
        overflow: hidden;
        border: 1px solid;
        border-color: var(--neutralneutral-200);
    }

    .homepage .frame-11 {
        position: relative;
        width: 339px;
        height: 275px;
        top: 41px;
        left: 24px;
    }

    .homepage .div-3 {
        position: absolute;
        width: 80px;
        height: 80px;
        top: -7px;
        left: 0;
    }

    .homepage .layer-2 {
        position: relative;
        width: 64px;
        height: 70px;
        top: 5px;
        left: 8px;
        background-image: url(./img/vector-2.svg);
        background-size: 100% 100%;
    }

    .homepage .frame-12 {
        display: flex;
        flex-direction: column;
        width: 339px;
        height: 110px;
        align-items: flex-start;
        gap: 16px;
        position: absolute;
        top: 164px;
        left: 0;
    }

    .homepage .frame-13 {
        position: absolute;
        width: 380px;
        height: 340px;
        top: 32px;
        left: 882px;
        background-color: var(--secondarysecondary-50);
        border-radius: 12px;
        overflow: hidden;
        border: 1px solid;
        border-color: var(--neutralneutral-200);
    }

    .homepage .img {
        position: absolute;
        width: 56px;
        height: 76px;
        top: 2px;
        left: 24px;
    }

    .homepage .vector-2 {
        position: absolute;
        width: 19px;
        height: 50px;
        top: 27px;
        left: 0;
    }

    .homepage .frame-14 {
        position: absolute;
        width: 1280px;
        min-height: 305px;
        top: 1140px;
        left: 80px;
        background-color: #ecebf199;
        border-radius: 24px;
        overflow: hidden;
    }

    .homepage .frame-15 {
        display: flex;
        flex-direction: column;
        width: 490px;
        align-items: center;
        gap: 16px;
        position: absolute;
        top: 56px;
        left: 395px;
    }

    .homepage .text-wrapper-9 {
        position: relative;
        align-self: stretch;
        font-family: var(--text-large-normal-font-family);
        font-weight: var(--text-large-normal-font-weight);
        color: var(--neutralneutral-700);
        font-size: var(--text-large-normal-font-size);
        text-align: center;
        letter-spacing: var(--text-large-normal-letter-spacing);
        line-height: var(--text-large-normal-line-height);
        font-style: var(--text-large-normal-font-style);
    }

    .homepage .frame-16 {
        display: flex;
        flex-direction: column;
        width: 805px;
        align-items: center;
        gap: 32px;
        position: absolute;
        top: 200px;
        left: 234px;
    }

    .homepage .component-3 {
        display: flex;
        width: 805px;
        height: 60px;
        align-items: center;
        gap: 16px;
        padding: 16px 24px;
        position: relative;
        border-radius: 16px;
        border: 1px solid;
        border-color: var(--primaryprimary-500);
    }

    .homepage .frame-17 {
        position: relative;
        width: 18px;
        height: 18px;
    }

    .homepage .text-wrapper-10 {
        position: relative;
        width: fit-content;
        margin-top: -0.50px;
        font-family: var(--text-medium-normal-font-family);
        font-weight: var(--text-medium-normal-font-weight);
        color: var(--neutralneutral-500);
        font-size: var(--text-medium-normal-font-size);
        letter-spacing: var(--text-medium-normal-letter-spacing);
        line-height: var(--text-medium-normal-line-height);
        white-space: nowrap;
        font-style: var(--text-medium-normal-font-style);
    }

    .homepage .frame-18 {
        display: inline-flex;
        align-items: center;
        gap: 16px;
        position: relative;
        flex: 0 0 auto;
    }

    .homepage .frame-19 {
        display: inline-flex;
        height: 48px;
        align-items: center;
        justify-content: center;
        gap: 10px;
        padding: 14px 32px;
        position: relative;
        flex: 0 0 auto;
        background-color: var(--primaryprimary-600);
        border-radius: 8px;
    }

    .homepage .text-wrapper-11 {
        position: relative;
        width: fit-content;
        margin-top: -3.00px;
        margin-bottom: -1.00px;
        font-family: var(--text-regular-medium-font-family);
        font-weight: var(--text-regular-medium-font-weight);
        color: var(--white);
        font-size: var(--text-regular-medium-font-size);
        text-align: center;
        letter-spacing: var(--text-regular-medium-letter-spacing);
        line-height: var(--text-regular-medium-line-height);
        white-space: nowrap;
        font-style: var(--text-regular-medium-font-style);
    }

    .homepage .frame-20 {
        display: inline-flex;
        height: 48px;
        align-items: center;
        justify-content: center;
        gap: 10px;
        padding: 14px 32px;
        position: relative;
        flex: 0 0 auto;
        background-color: var(--secondarysecondary-50);
        border-radius: 8px;
    }

    .homepage .text-wrapper-12 {
        position: relative;
        width: fit-content;
        margin-top: -3.00px;
        margin-bottom: -1.00px;
        font-family: var(--text-regular-medium-font-family);
        font-weight: var(--text-regular-medium-font-weight);
        color: var(--primaryprimary-600);
        font-size: var(--text-regular-medium-font-size);
        text-align: center;
        letter-spacing: var(--text-regular-medium-letter-spacing);
        line-height: var(--text-regular-medium-line-height);
        white-space: nowrap;
        font-style: var(--text-regular-medium-font-style);
    }

    .homepage .frame-21 {
        display: flex;
        flex-wrap: wrap; /* allow wrapping */
        gap: 32px;
        width: 100%;
        justify-content: center;
        align-items: stretch;
    }

    .homepage .frame-22 {
        display: flex;
        align-items: center;
        justify-content: center;
        gap: 32px;
        position: relative;
        align-self: stretch;
        width: 100%;
        flex: 0 0 auto;
    }

    .homepage .frame-23 {
        display: flex;
        background-color: #ecebf199;
        flex-direction: column;
        width: 100%;
        align-items: flex-start;
        gap: 8px;
        padding: 24px;
        position: relative;
    }

    .homepage .frame-24 {
        position: absolute;
        width: 624px;
        height: 299px;
        top: 0;
        left: 0;
        background-color: #e1e1e166;
        border-radius: 20px;
        border: 1px solid;
        border-color: var(--primaryprimary-50);
    }

    .homepage .frame-25 {
        display: flex;
        width: 100%;        
        gap: 32px;
        position: relative;
        flex: 0 0 auto;
    }

    .homepage .image-wrapper {
        display: flex;
        width: 280px;
        height: 251px;
        align-items: center;
        justify-content: center;
        position: relative;
        border-radius: 12px;
        overflow: hidden;
        transition: width 0.4s ease; /* ⬅️ smooth expand/collapse */
    }

.category-card.expanded .image-wrapper {
    width: 100%;
}

.homepage .image-2 {
    flex: 1;
    align-self: stretch;
    flex-grow: 1;
    position: relative;
    object-fit: cover;
}

.homepage .frame-26 {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 18px;
    position: relative;
    flex: 1;
    flex-grow: 1;
}

.homepage .text-wrapper-13 {
    position: relative;
    align-self: stretch;
    margin-top: -1.00px;
    font-family: var(--h4-headline-font-family);
    font-weight: var(--h4-headline-font-weight);
    color: var(--primaryprimary-500);
    font-size: var(--h4-headline-font-size);
    letter-spacing: var(--h4-headline-letter-spacing);
    line-height: var(--h4-headline-line-height);
    font-style: var(--h4-headline-font-style);
}

.homepage .text-wrapper-14 {
    position: relative;
    align-self: stretch;
    font-family: var(--text-medium-normal-font-family);
    font-weight: var(--text-medium-normal-font-weight);
    color: var(--neutralneutral-700);
    font-size: var(--text-medium-normal-font-size);
    letter-spacing: var(--text-medium-normal-letter-spacing);
    line-height: var(--text-medium-normal-line-height);
    font-style: var(--text-medium-normal-font-style);
}

.homepage .buttons {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 6px;
    padding: 10px 16px;
    position: relative;
    flex: 0 0 auto;
    background-color: var(--secondarysecondary-200);
    border-radius: 8px;
    overflow: hidden;
    border: 1px solid;
    border-color: #e1e1e166;
    box-shadow: var(--shadows-shadow-xs);
}

.homepage .text {
    position: relative;
    width: fit-content;
    margin-top: -1.00px;
    font-family: var(--text-md-semibold-font-family);
    font-weight: var(--text-md-semibold-font-weight);
    color: var(--primaryprimary-800);
    font-size: var(--text-md-semibold-font-size);
    letter-spacing: var(--text-md-semibold-letter-spacing);
    line-height: var(--text-md-semibold-line-height);
    white-space: nowrap;
    font-style: var(--text-md-semibold-font-style);
}

.homepage .arrow-arrow-right-MD {
    position: relative;
    width: 20px;
    height: 20px;
}

.homepage .frame-27 {
    display: flex;
    align-items: center;
    gap: 32px;
    position: relative;
    align-self: stretch;
    width: 100%;
    flex: 0 0 auto;
}

.homepage .frame-28 {
    display: flex;
    flex-direction: column;
    width: 1280px;
    align-items: flex-start;
    justify-content: center;
    gap: 48px;
    padding: 40px;
    position: absolute;
    top: 2270px;
    left: 80px;
    background-color: var(--primaryprimary-50);
    border-radius: 24px;
}

.homepage .frame-29 {
    display: flex;
    flex-direction: column;
    width: 1120px;
    align-items: flex-start;
    justify-content: center;
    gap: 4px;
    position: relative;
    flex: 0 0 auto;
}

.homepage .frame-30 {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 32px;
    padding: 40px;
    position: relative;
    align-self: stretch;
    width: 100%;
    flex: 0 0 auto;
    background-color: var(--background-colorsgray-white-bg);
    border-radius: 20px;
}

.homepage .frame-31 {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 32px;
    position: relative;
    flex: 1;
    flex-grow: 1;
}

.homepage .quote-left {
    position: relative;
    width: 48px;
    height: 48px;
    overflow: hidden;
}

.homepage .group {
    top: 4px;
    position: relative;
    height: 41px;
}

.homepage .group-2 {
    width: 48px;
    position: relative;
    height: 41px;
}

.homepage .vector-3 {
    position: absolute;
    width: 22px;
    height: 41px;
    top: 0;
    left: 0;
}

.homepage .vector-4 {
    position: absolute;
    width: 22px;
    height: 41px;
    top: 0;
    left: 26px;
}

.homepage .frame-32 {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    position: relative;
    flex: 0 0 auto;
}

.homepage .img-wrapper {
    display: flex;
    width: 54px;
    height: 54px;
    align-items: center;
    justify-content: center;
    position: relative;
}

.homepage .img-2 {
    position: relative;
    width: 54px;
    height: 54px;
    object-fit: cover;
}

.homepage .frame-33 {
    display: inline-flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 3px;
    position: relative;
    flex: 0 0 auto;
}

.homepage .text-wrapper-15 {
    position: relative;
    width: fit-content;
    margin-top: -1.00px;
    font-family: var(--text-large-medium-font-family);
    font-weight: var(--text-large-medium-font-weight);
    color: var(--black);
    font-size: var(--text-large-medium-font-size);
    letter-spacing: var(--text-large-medium-letter-spacing);
    line-height: var(--text-large-medium-line-height);
    white-space: nowrap;
    font-style: var(--text-large-medium-font-style);
}

.homepage .text-wrapper-16 {
    position: relative;
    width: fit-content;
    font-family: var(--text-regular-normal-font-family);
    font-weight: var(--text-regular-normal-font-weight);
    color: var(--neutralneutral-700);
    font-size: var(--text-regular-normal-font-size);
    letter-spacing: var(--text-regular-normal-letter-spacing);
    line-height: var(--text-regular-normal-line-height);
    white-space: nowrap;
    font-style: var(--text-regular-normal-font-style);
}

.homepage .frame-34 {
    display: flex;
    flex-direction: column;
    width: 1280px;
    align-items: flex-start;
    gap: 8px;
    padding: 32px 78px 32px 0px;
    position: absolute;
    top: 2866px;
    left: 80px;
    border-radius: 20px;
}

.homepage .frame-35 {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 40px;
    position: relative;
    align-self: stretch;
    width: 100%;
    flex: 0 0 auto;
}

.homepage .frame-36 {
    display: flex;
    flex-direction: column;
    width: 1280px;
    align-items: flex-start;
    position: relative;
    flex: 0 0 auto;
    margin-right: -78.00px;
}

.homepage .frame-37 {
    display: flex;
    align-items: center;
    gap: 139px;
    position: relative;
    align-self: stretch;
    width: 100%;
    flex: 0 0 auto;
}

.homepage .cast-your-vote-and-wrapper {
    display: inline-flex;
    align-items: flex-start;
    gap: 14px;
    position: relative;
    flex: 0 0 auto;
}

.homepage .cast-your-vote-and {
    position: relative;
    width: 696px;
    margin-top: -1.00px;
    font-weight: 700;
    color: var(--primaryprimary-500);
    font-size: 48px;
    letter-spacing: -0.50px;
    line-height: 57.6px;
}

.homepage .grey-blue-minimalist-2 {
    position: relative;
    width: 410px;
  
}

.homepage .text-wrapper-17 {
    position: relative;
    width: fit-content;
    font-family: var(--text-large-normal-font-family);
    font-weight: var(--text-large-normal-font-weight);
    color: var(--black);
    font-size: var(--text-large-normal-font-size);
    letter-spacing: var(--text-large-normal-letter-spacing);
    line-height: var(--text-large-normal-line-height);
    white-space: nowrap;
    font-style: var(--text-large-normal-font-style);
}

.homepage .image-3 {
    width: 33px;
    height: 32px;
    position: relative;
    object-fit: cover;
}

.homepage .frame-38 {
    display: flex;
    align-items: center;
    justify-content: space-between;
    position: relative;
    align-self: stretch;
    width: 100%;
    flex: 0 0 auto;
}

.homepage .text-wrapper-18 {
    position: relative;
    width: fit-content;
    margin-top: -1.00px;
    font-family: var(--text-medium-normal-font-family);
    font-weight: var(--text-medium-normal-font-weight);
    color: var(--black);
    font-size: var(--text-medium-normal-font-size);
    letter-spacing: var(--text-medium-normal-letter-spacing);
    line-height: var(--text-medium-normal-line-height);
    white-space: nowrap;
    font-style: var(--text-medium-normal-font-style);
}

.homepage .frame-39 {
    display: inline-flex;
    align-items: flex-start;
    gap: 50px;
    position: relative;
    flex: 0 0 auto;
}

.hamburger-menu {
    display: none;
    cursor: pointer;
}

    .hamburger-menu .bar {
        width: 25px;
        height: 3px;
        background-color: #333;
        margin: 5px 0;
    }

@media (max-width: 768px) {
    .homepage {
        width: 100%;
        height: auto;
        padding: 20px;
    }

        .homepage .frame,
        .homepage .frame-2,
        .homepage .frame-4,
        .homepage .frame-14,
        .homepage .frame-21,
        .homepage .frame-28,
        .homepage .frame-34 {
            width: 100%;
            position: relative;
            left: 0;
            top: 0;
            flex-direction: column;
            height: auto;
            padding: 0;
        }

        .homepage .frame {
            gap: 20px;
            flex-direction: row;
            flex-wrap: wrap;
        }

        .homepage .div {
            display: none;
        }

        .homepage .frame-2 {
            margin-top: 20px;
        }

        .homepage .frame-wrapper {
            width: 100%;
            left: 0;
            padding: 20px;
            top: 0;
        }

        .homepage .grey-blue-minimalist {
            display: none;
        }

        .homepage .frame-5 {
            flex-direction: column;
            height: auto;
        }

        .homepage .frame-6,
        .homepage .frame-10,
        .homepage .frame-13 {
            position: relative;
            width: 100%;
            left: 0;
            top: 0;
            margin-bottom: 20px;
        }

        .homepage .frame-16 {
            width: 100%;
            left: 0;
            padding: 0 20px;
        }

        .homepage .component-3 {
            width: 100%;
        }

        .homepage .frame-18 {
            flex-wrap: wrap;
            justify-content: center;
        }

        .homepage .frame-22 {
            flex-direction: column;
        }

        .homepage .frame-23 {
            width: 100%;
        }

        .homepage .frame-25,
        .homepage .frame-27 {
            flex-direction: column;
            gap: 20px;
        }

        .homepage .image-wrapper {
            width: 100%;
            height: auto;
        }

        .homepage .frame-30 {
            flex-direction: column;
            padding: 20px;
        }

        .homepage .frame-37 {
            flex-direction: column;
            gap: 20px;
        }

        .homepage .cast-your-vote-and {
            width: 100%;
            text-align: center;
        }

        .homepage .grey-blue-minimalist-2 {
            display: none;
        }

        .homepage .frame-38 {
            flex-direction: column;
            gap: 20px;
        }

        .homepage .frame-39 {
            flex-direction: column;
            gap: 10px;
            align-items: center;
        }

    .hamburger-menu {
        display: block;
    }

    .nav-links {
        display: none;
        flex-direction: column;
        width: 100%;
    }

        .nav-links.active {
            display: flex;
        }
}

@media (max-width: 480px) {
    .homepage .p,
    .homepage .div-2,
    .homepage .cast-your-vote-and {
        font-size: 32px;
        line-height: 1.2;
    }

    .homepage .text-wrapper-4,
    .homepage .text-wrapper-9 {
        font-size: 14px;
    }

    .homepage .component,
    .homepage .div-wrapper {
        width: 100%;
    }

    .homepage .frame-19,
    .homepage .frame-20 {
        width: 100%;
        justify-content: center;
    }
}

/* after header */


/* ---- Flow & spacing primitives ---- */
:root {
    --section-gap: 48px;
    --page-x: 80px;
}

/* Page as a flowing stack of sections */
.homepage {
    position: relative;
    max-width: 100%;
    margin: 0 auto;
    padding: 40px var(--page-x);
    display: flex;
    flex-direction: column;
    gap: var(--section-gap);
    background-color: var(--white);
}

    /* Header: sticky (optional). Remove sticky if you don't want it. */
    .homepage .frame {
        position: sticky; /* was absolute */
        top: 0;
        left: auto;
        width: 100%; /* was 1277px */
        max-width: 1277px; /* preserve your inner width */
        margin: 0 auto;
        padding: 12px 0;
        z-index: 10;
        background: var(--white);
    }

    /* Generic section rule for your big blocks that used to be absolute */
    .homepage .frame-2,
    .homepage .frame-4,
    .homepage .frame-14,
    .homepage .frame-21,
    .homepage .frame-28,
    .homepage .frame-34 {
        position: relative; /* was absolute */
        left: auto;
        top: auto;
        width: 100%; /* was 1280px etc. */
        max-width: 1280px;
        margin: 0 auto; /* center inside .homepage */
        height: auto; /* let content define height */
    }

    /* Give vertical rhythm (replaces all those 'top: XXXpx') */
    .homepage .frame-2 {
        margin-top: 8px;
    }

    .homepage .frame-4 {
        margin-top: var(--section-gap);
    }

    .homepage .frame-14 {
        margin-top: var(--section-gap);
    }

    .homepage .frame-21 {
        margin-top: var(--section-gap);
    }

    .homepage .frame-28 {
        margin-top: var(--section-gap);
    }

    .homepage .frame-34 {
        margin-top: var(--section-gap);
    }

    /* Frame-2 (hero) shouldn't force a fixed height */
    .homepage .frame-2 {
        min-height: 395px; /* keep your design intent but allow growth */
        overflow: hidden;
        border-radius: 24px;
    }

    /* Keep the hero text stack in flow inside frame-2 */
    .homepage .frame-wrapper {
        position: relative; /* was absolute */
        top: auto;
        left: auto;
        width: min(581px, 100%);
        padding: 40px 59px 40px 59px; /* add padding instead of absolute offsets */
    }

    /* The decorative hero image stays inside its parent, not the page */
    .homepage .grey-blue-minimalist {
        position: absolute; /* ok to be absolute within frame-2 */
        right: 24px;
        bottom: 0;
        top: auto;
        left: auto; /* don’t anchor from page top-left */
        width: 395px;
        height: 395px;
    }

    /* The 3-card features row: switch to grid so it wraps nicely */
    .homepage .frame-5 {
        position: relative; /* was relative with fixed height */
        display: grid;
        grid-template-columns: repeat(3, 1fr);
        gap: 24px;
        width: 100%;
        height: auto; /* let it grow */
    }

    /* Individual cards live in the grid cells */
    .homepage .frame-6,
    .homepage .frame-10,
    .homepage .frame-13 {
        position: static; /* was absolute */
        width: auto;
        height: auto;
        margin: 0;
    }

    /* Their inner boxes keep your existing look */
    .homepage .frame-7,
    .homepage .frame-10,
    .homepage .frame-13 {
        border-radius: 12px;
    }

    /* The testimonial/CTA blocks should just stack with margins, not top offsets */
    .homepage .frame-28 {
        padding: 40px; /* keep your padding but let it be in flow */
    }

    /* Footer-ish block (.frame-34) stays in flow */
    .homepage .frame-34 {
        padding: 32px 0; /* drop the asymmetric padding that depended on 'left' */
    }

/* --- Responsive adjustments --- */
@media (max-width: 1024px) {
    .homepage {
        padding: 32px 32px;
    }

        .homepage .frame {
            max-width: none;
        }

        .homepage .frame-2,
        .homepage .frame-4,
        .homepage .frame-14,
        .homepage .frame-21,
        .homepage .frame-28,
        .homepage .frame-34 {
            max-width: none;
        }

        .homepage .frame-5 {
            grid-template-columns: repeat(2, 1fr);
        }

        .homepage .grey-blue-minimalist {
            display: none;
        }
    /* optional */
}

@media (max-width: 768px) {
    .homepage {
        padding: 24px 20px;
        gap: 32px;
    }

        .homepage .frame-5 {
            grid-template-columns: 1fr;
        }
    /* your existing mobile overrides can stay; they’ll mesh with this */



}

/*New CSS added*/
.topbar-fit{
    padding-top:24px !important;
    padding-bottom:24px !important;
}
.btn-main {
    padding: 10px 20px;
    font-size: 13px;
    min-width: 90px;
    border-radius: 8px;
    border: 1px solid #403B74 !important;
    color: black;
    font-weight: 500;
    background-color: transparent;
}

    .btn-main:hover {
        background-color: #403B74 !important;
        color: white !important;
    }

.btn-primary {
    padding: 10px 20px;
    font-size: 13px;
    background-color: #D01C31;
    min-width: 90px;
    border-radius: 8px;
    border: 1px solid #D01C31;
    box-shadow: none !important;
}

.nav-list .chip-logout {
    display: inline-flex !important;
    align-items: center !important;
    gap: 8px;
    padding: 10px 20px !important;
    font-size: 15px !important;
    background-color: #D01C31 !important;
    color: white !important;
    min-width: 90px !important;
    border-radius: 8px !important;
    border: 1px solid #D01C31 !important;
    box-shadow: none !important;
}

.btn-primary:hover {
    background-color: white !important;
    color: #D01C31 !important;
    border: 1px solid #D01C31 !important;
}
   
button {
    box-shadow: none !important;
    border: 0px !important
}
.top-img{
    display:flex;
    justify-content: end;
}

@media(max-width:772px){
    .top-img {
        display: flex;
        justify-content: center;
    }
    .navbar-toggler{
        padding:0px;
    }
    .navbar-toggler-icon{
        height:auto;
        font-size:26px !important;
    }
    .topbar-fit .actions{
        justify-content:center;
        padding: 20px 0px 0px 0px !important;
    }
    .topbar-fit .logo img{
        height:37px !important;
    }

}

.main-content .frame-2 {
    min-height: auto !important;
    background-color: #ECEBF1;
    padding:20px 40px !important;
    max-width: auto !important;
    border-radius:24px !important;
    margin-top: 10px !important;
}
.homepage.main-content{
    padding:0px !important;
    width: auto !important;
    max-width:auto !important;
    margin: auto !important;
}
.top-img img {
  width: 80%;
}
.text-main {
    font-size: 14px !important;
    margin-top:8px !important;
    color: #707070;
    line-height: 1.4 !important;
}
.homepage .text-wrapper-4{
    width:auto !important;
}

.pink-block {
    background-color: #FAE8EA;
    border: 1px solid #D2D2D2;
    border-radius: 12px;
    padding: 30px 20px;
}
.pink-block img{
    width:60px !important;
    margin-bottom:70px;

}
.pink-block-title {
    color: #1B1931;
    font-weight:600;
    margin-bottom:12px;
    font-size: 20px;
}
.pink-block-para {
    font-size: 14px;
    line-height:1.3;
    color: #707070;

}
.margin-negative{
    margin-top:-33px;
}
.margin-added{
    margin-top:60px !important;
    margin-bottom:86px;

}
@media(max-width:772px){
    .margin-negative {
        margin-top: 0px;
    }

    .margin-added {
        margin-top: 40px;
        margin-bottom: 49px;
    }
    .category-card.expanded{
        display:block !important
    }
        .category-card.expanded .card-content-wrapper {
           
            width: 100% !important;
        }
    .question-list.is-expanded {
        width: 100% !important;
    }
}
.explore-topic-bg {
    background-color: #F2F1F3;
    border-radius:24px;
    margin-top:60px;
    margin-bottom:60px;
    padding:48px;
    text-align:center;
}
.explore-topic-bg .text-wrapper-6{
    font-size:48px;
}
.explore-topic-bg .text-wrapper-9{
    font-size:16px;
    margin-bottom:20px;
}
    .explore-topic-bg .component-3 {
        width: 60%;
        height: 51px !important;
        border-radius: 11px !important;
    }
.main-content .category-card {
    width: 100%;
    max-width: 100%;
    background-color: #F0EFEE;
    padding: 20px;
}
.homepage.main-content .image-wrapper {
    width: 50%;
}
.homepage.main-content .category-card .text-wrapper-13{
    font-size:20px;
}
.homepage.main-content .category-card .text-wrapper-14 {
    font-size: 13px;
}

.category-card .text {
    font-weight: 400;
    font-size: 13px;
    margin-right: 10px;
}

.homepage .category-card .frame-3 {
    gap: 19px;
}
.question-list.is-expanded {
    width: 50%;
}
.category-card.expanded .card-content-wrapper {
    display: block !important ;
    width: 50%;
}
.category-card.expanded::before{
    content: none !important;
}
.category-card.expanded{
    display:flex;
    gap:30px;
}
    .category-card.expanded .card-content-wrapper {
        width: 100%;
    }
    .category-card.expanded .image-wrapper {
        width: 100%;
        margin-bottom:20px;
    }
    .question-list.is-expanded ul li{
        border: 0px !important;
        border-radius:6px;
        padding: 10px;
    }
.question-list.is-expanded ul li a{
  font-size: 14px;
}
.view-more-question{
    color: black !important;
}
.homepage.main-content .cast-your-vote-and {
    font-size: 39px;
    line-height: 1.2;
    width: auto !important;
    margin-top: 0px !important;
}
.homepage.main-content .grey-blue-minimalist-2 {
    width: 100%
}
.justify-end-img{
    display:flex;
    justify-content:end;
}
.follow-link .text-wrapper-17{
    font-weight:400;
    font-size:14px;
}
.footer-link{
    padding-top: 14px;
    padding-bottom:14px;
}
.footer-link p{
    font-size:14px !important;
}
    .footer-link div {
        font-size: 14px !important;
    }
@media (max-width: 768px) {
    .homepage .grey-blue-minimalist-2 {
        display: block !important;
    }
    .category-card .card-content-wrapper{
        display:block !important;
    }
    .homepage.main-content .image-wrapper {
        width: 100% !important;
        margin-bottom:20px;
    }
    .component-3 {
        width: 90% !important;
    }

}
.homepage.main-content .search-results-inside-card{
    padding:40px !important;
}
.search_result_found{
    text-align:center;
}
    .search_result_found img {
        width: 140px !important;
    }
.thumbs-vote-card {
    border-radius:20px;
    background-color: #FAE8EA;
    padding: 30px;
    text-align:center;
    border: 1px solid #D2D2D2;
}
    .thumbs-vote-card p {
        color: rgba(64, 59, 116, 1) !important;
        font-size: 13px;
        line-height: 1.6;
    }

    .thumbs-vote-card .survey-heading{
        font-size:20px;
        font-weight:600;
        margin-bottom:20px;
    }
.thumbs-vote-card .icon-container{
    display:flex;
    justify-content:center;
    align-items:center;
}
    .thumbs-vote-card i {
        font-size: 34px;
        color: #e55c5e;
        margin-right:6px;
    }
    .thumbs-vote-card span {
        color: rgba(112, 112, 112, 1);
    }
.login-card {
    background-color: #F2F1F3;
    padding: 40px 20px;
    border-radius: 20px;
    border: 1px solid #C4C2D4;
}
.login-title {
    font-size: 30px;
    font-weight: 600;
    line-height:1.4;
    color: #403B74;
    text-align:center;
}
    .login-title em {
        color: #D01C31;
    }
.login-card .lead {
    text-align: center;
    font-size: 14px;
    font-weight:500;
    line-height:1.4;
    margin-top: 7px;
    margin-bottom: 16px;
    color: #707070
}
.login-card .form-control {
    border-color: #A7A5BF !important;
    background-color: transparent;
    padding: 10px 20px;
    height: 49px;
    position: relative;
    color: #383838;
    font-size: 14px;
    border-radius: 8px;
}
.form-control:focus {
    box-shadow: none;
    border-color: #A7A5BF;
}
.login-card label {
    font-size: 14px;
    margin-bottom: 8px;
    color: #424242;
}
.login-card .bi-eye {
    position: absolute;
    right: 26px;
    top: 41px;
    color: #B1B1B1;
}
.login-card .btn-primary{
    min-width:280px;
}
.login-card .register {
    text-align: center;
    font-size: 14px;
    margin-top: 8px;
    color: #707070;
    line-height: 1.4;
}
    .login-card .register a {
        color: #403B74;
        font-weight:600;
    }
    @media (max-width:772px){
        .topbar-fit{
            padding-left:11px !important;
            padding-right:11px !important;
        }
    }
.search-results-inside-card .list-group-item {
    background-color: #403b74;
    color: white;
    padding:10px;
}
.search-results-inside-card a{
    font-weight:400 !important;
    font-size:14px !important;
    color: white !important;
}
.signup .lead {
    font-weight: 400 !important;
    font-size: 13px !important;
}
.login-card .form-check-input:checked {
    background-color: #3d3870 !important;
    border-color: #3d3870 !important;
}
.login-card .small {
    font-size: 14px;
    margin-bottom: 8px;
    color: #424242;
    line-height:1.4
}
.login-card .small a {
    color: #D01C31;
}
.bg-light{
    background-color: transparent !important;
}
.topbar-fit{
    background-color: transparent !important;
}
.homepage {
    background: #FAF9F6 !important;
}
body {
    background: #FAF9F6 !important;
}
.nav-list {
    gap: 20px !important;

}

    .nav-list a {
        display: inline-block;
        padding: 0px !important;
        font-weight: 500 !important;
        font-size: 14px !important;
        color: rgba(112, 112, 112, 1) !important;
        text-decoration: none;
        border-radius: 10px;
        line-height: 1;
    }
    .nav-auth{
        flex: none !important;
    }
    .qtitle{
        line-height: 1.4 !important;
    }

.logo{
    line-height: 0 !important;
}
@media(max-width:772px){
    .nav-list a{
        padding:10px !important;
        font-size:14px !important;
    }
}
.nav-list a.active {
    background: none !important;;
    color: #2f2967;
    padding: 0px !important;
}
.homepage .search-input {
  
    height: 60px;
    border: none;
    outline: none;
    font-size: 14px;
    background-color: transparent;
    color: #000;
    flex: 1;
    padding: 0;
    margin: 0;
}
.card-topic-detail {
    background-color: #ECEBF1;
    border-radius:24px;
    padding: 40px;
}

.topic-detail img {
    object-fit:cover;
    border-radius:20px;
    margin-bottom:20px;
}


.topic-detail .fullimage {
    width: 100% !important;
    height: 420px !important;
}

.topic-detail p {
    font-size: 16px !important;
    line-height: 1.5 !important;
    color: #707070 !important;
}

.posted-time {
    font-size: 13px;
    color: #e39ca7;
    font-weight: 500;
    margin-top: 10px;
    margin-bottom: 10px;
}
.form-card {
    background-color: #FAF9F6;
    padding: 20px;
    border-radius: 16px;
    margin-top: 26px;
}
.form-card .topic{
    font-size: 18px !important;
}
@media(max-width:772px) {
    .topic-detail img {
        height: auto !important;
    }

    .title {
        font-size: 34px !important;
    }

    .topic {
        margin-top: 20px;
        font-size: 18px;
        font-weight: 500;
        line-height: 1.4;
        color: #1e2340;
    }
}
.successful-card {
    background-color: #403B74;
    padding: 20px;
    display: flex;
    align-items: center;
    border-radius: 14px;
}
    .successful-card i {
        font-size: 35px;
        margin-left: 20px;
        color: white;
    }
    .successful-card h1 {
        font-size: 19px;
        font-weight: 500;
        color: white;
        line-height: 1.4;
        margin-bottom: 10px;
    }
    .successful-card p {
        font-size: 15px;
        color: white;
        margin-bottom: 0px;
        line-height: 1.4;
    }
.topic-block-vote {
    background-color: #FAF9F6;
    border-radius:16px;
    padding:20px;

}
.pill-data {
    color: #403B74;
    font-size: 17px;
    margin-top: 20px;
    font-weight: 500;
    margin-bottom: 20px;
}
.pill-data i{
    font-size:22px;
}
.topic-block-vote h3{
    font-weight: 500;
    font-size:18px;
    margin-top:30px;
    margin-bottom:20px
}

.vote-row {
    display: flex;
    align-items: center;
    gap: 10px;
}

.vote-label {
    font-size: 13px;
    font-weight: 700;
    padding: 8px 12px;
    border-radius: 5px;
    color: white;
    white-space: nowrap;
}

    .vote-label.yes {
        background-color: var(--brand-purple);
    }

    .vote-label.no {
        background-color: var(--brand-red);
    }

.vote-bar {
   
    height: 10px;
    background-color: #e6e6e6;
    border-radius: 10px;
    overflow: hidden;
    position: relative;
    margin-bottom: 0px !important;
}

.vote-fill {
    height: 100%;
    border-radius: 10px;
    transition: width 0.5s ease;
}

    .vote-fill.yes {
        background-color: var(--brand-purple);
    }

    .vote-fill.no {
        background-color: var(--brand-red);
    }

.vote-percent {
    font-size: 13px;
    font-weight: 600;
    color: #333;
    min-width: 35px;
    text-align: right;
}

.topic-block-vote th {
    font-weight: 500 !important;
    color: #0C0C0C;
    padding:16px !important;
    background-color: #EDEDEB;
}

.color_theme {
    color: #403B74;
}
.topic-block-vote td {
    font-size: 14px;
    padding:16px !important;
}
.topic-block-vote tr {
    border: 1px solid #E1E1E1;
}
div.dataTables_wrapper div.dataTables_info {
    padding-top: 0.85em;
    font-size: 14px;
}

.topic-block-vote table th:first-child{
    border-top-left-radius: 10px;
}
.topic-block-vote table th:last-child {
    border-top-right-radius: 10px;
}
.topic-block-vote table tr:first-child td:first-child {
    border-bottom-left-radius: 10px;
}

.topic-block-vote table tr:last-child td:last-child {
    border-bottom-right-radius: 10px;
}
.topic-block-vote tr:last-child {
    border: 0px !important;
}
body {
    padding-left: 200px;
    padding-right: 200px !important;
}
@media(max-width:992px){
    body{
        padding-left:0px;
        padding-right:0px !important;
    }
}
@media(max-width:772px){
    .top-img {
        margin-top: 20px;
    }
    .main-content .frame-2{
        padding:20px !important;
    }
    .explore-topic-bg{
        padding:30px 20px;
    }
    .login-title{
        font-size:24px !important
    }
    .card-topic-detail{
        padding:20px;
    }
    .tc-content h2 {
        font-weight: 600;
        font-size: 17px !important;
    }
}

.footer-link a{
    color: black !important
}
.lead-text h3 {
    margin-top: 20px;
    margin-bottom: 16px;
    font-size: 19px;
    font-weight: 600;
    text-align: center;
    color: #707070;
}
.lead-text p {
    font-size: 16px;
    color: #707070;
    line-height: 1.4;
    text-align:center;
}

.lead-text .danger-pane {
    padding: 26px;
    background: #fff7f7;
    margin-top:30px;
    margin-bottom:30px;
    border: 1px solid #E06775 !important;
    color: #E06775;
    font-weight: 500;
}
.danger-pane i{
    font-size:24px !important 
}

@media (max-width: 992px) {
    .nav-cta {
        display: block !important;
    }
    .card-topic-detail table tr td p {
        word-break: keep-all !important;
    }
}

