/* Header Styles */
.np_header {
    background: rgba(255, 255, 255, 0.1);
    border-bottom: 1px solid rgba(173, 184, 195, 0.2);
    box-shadow: 0px 4px 20px rgba(0, 0, 0, 0.1);
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    z-index: 1000;
    padding: 17px 0;
    backdrop-filter: blur(25px);
    transition: all 0.3s;
}

.np_header.stickyHead {
    background: #1544a396
}

.np_header_inner {
    display: flex;
    align-items: center;
    justify-content: space-between;
    position: relative;
}

/* .np_navbar{position: absolute;left: 50%;top: 50%;transform: translate(-50%, -50%);} */
.np_navbar .np_menu_list {
    display: flex;
    align-items: center;
    gap: 32px;
}

.np_navbar .np_menu_list li a {
    color: var(--text-white);
    font-size: 18px;
    font-weight: 300;
}

.np_navbar_btn {
    display: flex;
    align-items: center;
    gap: 16px;
}

.np__btLink {
    color: var(--text-white);
    font-size: 16px;
}

.np_hero {
    z-index: 2;
    background: #171E42;
}

.np_hero_text {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
}

.np_hero_text {
    position: absolute;
    top: 15%;
    right: 15.5%;
}

.np_logo {
    display: block;
}

.np_logoMob {
    display: none;
}

.np_navbar {
    position: absolute;
    left: 50%;
    top: 50%;
    transform: translate(-50%, -50%);
}

.mobile-menu-toggle,
.mobile-header-buttons {
    display: none;
}


.np__common_button {
    background: var(--glass-btn);
    box-shadow: 0px 15px 26px rgba(29, 29, 29, 0.2);
    backdrop-filter: blur(50px);
    border-radius: 9999px;
    padding: 8px 16px;
    display: flex;
    justify-content: center;
    align-items: center;
    color: var(--text-white);
    position: relative;
    box-shadow: inset 0 1px 1px rgba(255, 255, 255, 0.35), inset 0 -1px 1px rgba(255, 255, 255, 0.15), 0 20px 40px rgba(0, 0, 0, 0.25);
    font-weight: 300;
}

.np__common_button.profile {
    padding: 12px 20px;
}

.np_hero_btn {
    background: var(--glass-btn);
    box-shadow: 0px 15px 26px rgba(29, 29, 29, 0.2);
    backdrop-filter: blur(50px);
    border-radius: 9999px;
    padding: 8px 16px;
    display: flex;
    justify-content: center;
    align-items: center;
    color: var(--text-white);
    display: inline-block;
    will-change: transform;
    box-shadow: inset 0 1px 1px rgba(255, 255, 255, 0.35), inset 0 -1px 1px rgba(255, 255, 255, 0.15), 0 20px 40px rgba(0, 0, 0, 0.25);
}

@keyframes dotEntrance {
    0% {
        opacity: 0;
        transform: scale(0);
    }

    60% {
        transform: scale(1.2);
    }

    100% {
        opacity: 1;
        transform: scale(1);
    }
}

[id^="dot"] {
    opacity: 0;
    transform-origin: center;
    transform-box: fill-box;
}

.is-visible #dot1,
.is-visible #dot9 {
    animation: dotEntrance 0.6s ease forwards 0.1s;
}

.is-visible #dot2,
.is-visible #dot6 {
    animation: dotEntrance 0.6s ease forwards 0.3s;
}

.is-visible #dot10,
.is-visible #dot13 {
    animation: dotEntrance 0.6s ease forwards 0.5s;
}

.is-visible #dot3,
.is-visible #dot7 {
    animation: dotEntrance 0.6s ease forwards 0.7s;
}

.is-visible #dot11,
.is-visible #dot14 {
    animation: dotEntrance 0.6s ease forwards 0.9s;
}

.is-visible #dot4,
.is-visible #dot8 {
    animation: dotEntrance 0.6s ease forwards 1.1s;
}

.is-visible #dot12,
.is-visible #dot15 {
    animation: dotEntrance 0.6s ease forwards 1.3s;
}

.is-visible #dot5 {
    animation: dotEntrance 0.6s ease forwards 1.5s;
}


.np_hero_img {
    /* height: 100dvh; */
    object-fit: cover;
    position: relative;
}

.np_hero_img::before {
    content: "";
    position: absolute;
    left: 0;
    bottom: 0;
    background: linear-gradient(0deg, #171E40 0%, rgba(25, 29, 71, 0) 100%);
    width: 100%;
    height: 50%;
}

.np_hero_img img {
    object-fit: cover;
    height: 100%;
    width: 100%;
}
.slick-slide img.np_hero_textImg-ar {
    display: none
}
.np_hero_textImg-ar {
    display: none
}

.np_count {
    position: absolute;
    bottom: -10%;
    left: 0;
    width: 100%;
    z-index: 2;
}

.np_count_inner {
    background: rgba(21, 68, 163, 0.2);
    border: 1px solid rgba(0, 0, 0, 0.1);
    box-shadow: inset 0px -4px 60px rgba(13, 57, 122, 0.7);
    border-radius: 134px;
    padding: 64px;
    display: flex;
    justify-content: space-between;
    align-items: center;
    backdrop-filter: blur(18px);
    box-shadow: inset 0 1px 1px rgba(255, 255, 255, 0.35), inset 0 -1px 1px rgba(255, 255, 255, 0.15), 0 20px 40px rgba(0, 0, 0, 0.25);
}

.np_count_box {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 26px;
}

.np_count_box span {
    width: 80px;
    height: 80px;
    background: rgba(255, 255, 255, 0.2);
    border-radius: 74px;
    display: flex;
    justify-content: center;
    align-items: center;
    font-size: 32px;
    color: var(--text-white);
    font-weight: 500;
    backdrop-filter: blur(18px);
    -webkit-backdrop-filter: blur(18px);
    box-shadow: inset 0 1px 1px rgba(255, 255, 255, 0.35), inset 0 -1px 1px rgba(255, 255, 255, 0.15), 0 20px 40px rgba(0, 0, 0, 0.25);
}

.np_count_box_text h3 {
    font-size: 40px;
    color: var(--text-white);
    font-weight: 600;
    margin-bottom: 16px;
    line-height: 1;
}

.np_count_box_text p {
    font-size: 16px;
    color: var(--text-white);
    font-weight: 500;
}

.np_whoWeAre {
    background: var(--bg-light-blue);
    padding-top: 174px;
    padding-bottom: 175px;
    border-bottom-right-radius: 64px;
    border-bottom-left-radius: 64px;
    overflow: hidden;
}

.np_whoWeAre_img {
    position: absolute;
    bottom: 0;
    left: 0;
    z-index: 1;
}

.np_whoWeAre_text {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
}

.np_whoWeAre_title h3 {
    font-size: 64px;
    color: var(--dark-blue);
    font-weight: 700;
    margin-bottom: 24px;
    text-align: center;
}

.np_whoWeAre_icon {
    margin-bottom: 24px;
    text-align: center;
    transition: height 1s ease;
    overflow: hidden;
}

.np_whoWeAre_para p {
    font-size: 18px;
    color: var(--text-para-blue);
    line-height: 2;
}

.np_whoWeAre_para p:not(:last-child) {
    margin-bottom: 32px;
}

.np_app {
    isolation: isolate;
    padding: 0px 0 61px 0;
}

.np_app_imgBg {
    position: absolute;
    bottom: 0;
    left: 0;
    z-index: -1;
}

.np_app_img a {
    display: flex;
    justify-content: center;
    width: fit-content;
    margin: 0 auto;
}

.np_tradeOnline {
    padding: 64px 0;
    overflow: hidden;
}

.np_tradeOnline_title {
    text-align: center;
    margin-bottom: 60px;
}

.np_tradeOnline_title h2 {
    font-size: 64px;
    color: var(--text-muted-blue);
    font-weight: 600;
}

.np_tradeOnline_title p {
    font-size: 18px;
    color: var(--text-muted-white);
    line-height: 2;
    margin-top: 16px;
}

.np_tradeOnline_slides {
    position: relative;
    height: 55vh;
    width: 100%;
}

.np_tradeOnline_slideLists {
    position: relative;
    width: 100%;
    height: 100%;
    margin: 0;
    padding: 0;
}

.np_tradeOnline_slideLists li {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    display: flex;
    align-items: center;
    justify-content: center;
    pointer-events: none;
}

.np_tradeOnline {
    width: 100%;
}

.np_tradeOnline_slideLists li .np_tradeOnline_slideItem {
    pointer-events: auto;
    width: 100%;
}


/* First Slide: eTrade */
.np_tradeOnline_slideLists li:nth-child(1) .np_tradeOnline_slideContent {
    background: var(--accent-teal);
}

.np_tradeOnline_slideLists li:nth-child(1) .np_tradeOnline_slide_text {
    float: left;
}

.np_tradeOnline_slideLists li:nth-child(1) .np_tradeOnline_slide_text a {
    color: var(--accent-teal-dark);
}

.np_tradeOnline_slideLists li:nth-child(1) .np_tradeOnline_slideImg {
    left: auto;
    right: 0;
    bottom: -52px;
}

/* Second Slide: Mobile Trading */
.np_tradeOnline_slideLists li:nth-child(2) .np_tradeOnline_slideContent {
    background: #7878BC;
    float: right;
}

.np_tradeOnline_slideLists li:nth-child(2) .np_tradeOnline_slide_text {
    float: right;
}

.np_tradeOnline_slideLists li:nth-child(2) .np_tradeOnline_slide_text h3 {
    justify-content: flex-end;
}

.np_tradeOnline_slideLists li:nth-child(2) .np_tradeOnline_slide_text a {
    color: #6868A4;
}

.np_tradeOnline_slideLists li:nth-child(2) .np_tradeOnline_slide_text p {
    float: right;
    text-align: end;
}

.np_tradeOnline_slideLists li:nth-child(2) .np_tradeOnline_slideImg {
    left: 0;
    right: auto;
}

.np_tradeOnline_slideLists li:nth-child(2) .np_tradeOnline_slide_btn {
    justify-content: flex-end;
}

/* Last Slide: Direct Market Access */
.np_tradeOnline_slideLists li:nth-child(3) .np_tradeOnline_slideContent {
    background: #002878;
}

.np_tradeOnline_slideLists li:nth-child(3) .np_tradeOnline_slide_text {
    float: left;
}

.np_tradeOnline_slideLists li:nth-child(3) .np_tradeOnline_slide_text a {
    color: #002878;
}

.np_tradeOnline_slideLists li:nth-child(3) .np_tradeOnline_slideImg {
    left: auto;
    right: 0;
}


.np_tradeOnline_slideContent {
    border-radius: 24px;
    padding: 42px;
    max-width: 85%;
}

.np_tradeOnline_slide_text h3 {
    font-size: 60px;
    color: var(--text-white);
    font-weight: 700;
    display: flex;
    align-items: center;
    gap: 8px;
    margin-bottom: 16px;
}

.np_tradeOnline_slide_text p {
    font-size: 18px;
    color: var(--text-white);
    line-height: 2;
    margin-bottom: 24px;
    max-width: 68%;
}

.np_tradeOnline_slide_btn {
    display: flex;
    align-items: center;
    width: 100%;
    gap: 24px;
}

.np_tradeOnline_slide_text a {
    font-size: 16px;
    color: var(--accent-teal-dark);
    font-weight: 600;
    padding: 10px 16px;
    background: var(--text-white);
    border-radius: 58px;
    line-height: 1;
    display: flex;
    align-items: center;
    gap: 10px;
}

.np_tradeOnline_slide_text title {
    display: block;
}

/* .np_tradeOnline_slide_text a span{display: inline-block;width: 18px;height: 20px;} */
.np_tradeOnline_slide_text a span svg {
    display: inline-block;
    width: 18px;
    height: 20px;
}

.np_tradeOnline_slideImg {
    position: absolute;
    bottom: -90px;
    right: 0;
    z-index: 1;
}

.np_tradeOnline_slideContent,
.np_tradeOnline_slideImg {
    will-change: transform;
}

.np_products_title {
    text-align: center;
    margin-bottom: 64px;
}

.np_products_title h2 {
    font-size: 64px;
    color: var(--text-muted-blue);
    font-weight: 600;
}

.np_products_title p {
    font-size: 18px;
    color: var(--text-muted-white);
    line-height: 2;
    margin-top: 16px;
}

.np_products_list {
    display: flex;
    justify-content: center;
    align-items: center;
}

.np_products_text h3 {
    color: var(--text-white);
    font-size: 24px;
    font-weight: 500;
    margin-bottom: 6px;
}

.np_products_text p {
    color: var(--text-muted-white);
    font-size: 14px;
    line-height: 1.5;
}

.np_products_list {
    display: flex;
    justify-content: center;
    flex-flow: row wrap;
}

.np_products_list li {
    width: calc(33.3% - 0px);
}

.np_products_card {
    padding: 24px;
    position: relative;
}

.np_products_card::before {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    clip-path: circle(0% at 50% 50%);
    transition: all cubic-bezier(0, 0.96, 0.58, 1.1) 0.8s;
    z-index: -1;
    background: var(--text-white);
}

.np_products_card:hover:before {
    clip-path: circle(100% at 50% 50%);
    transition: all cubic-bezier(0, 0.96, 0.58, 1.1) 2s;
}

.np_products_card:hover .np_products_img svg path {
    fill: var(--primary-blue);
}

.np_products_card:hover .np_products_text h3 {
    color: var(--primary-blue);
}

.np_products_card:hover .np_products_text p {
    color: var(--primary-blue);
}


.np_awards {
    padding: 64px 0;
}

.np_awards_title {
    text-align: center;
    margin-bottom: 34px;
}

.np_awards_title h2 {
    font-size: 64px;
    color: var(--text-muted-blue);
    font-weight: 600;
}

.np_awards_title p {
    font-size: 18px;
    color: var(--text-muted-white);
    line-height: 2;
    margin-top: 16px;
}

.np_award_card {
    position: relative;
    border-radius: 16px;
    margin: 0 15px;
    outline: none;
    width: 100%;
}

.np_award_card_inner {
    position: relative;
    width: 100%;
    height: 100%;
    border-radius: 16px;
}

.np_award_card_wrapper {
    position: relative;
    width: 100%;
    height: 32vh;
    border-radius: 16px;
}

.np_awards_slider_inner {
    margin: 0 -15px;
}

.np_awards_slider_inner .slick-list {
    padding-top: 30px;
    padding-bottom: 80px;
}

.custom-arrow {
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    z-index: 10;
    background: #002878;
    color: white;
    border: none;
    width: 40px;
    height: 40px;
    border-radius: 50%;
    cursor: pointer;
    transition: all 0.3s ease;
}

.slick-prev {
    left: -30px !important;
    background: url('../images/arrow_circle_left.svg') no-repeat center !important;
    width: 40px !important;
    height: 40px !important;
}

.slick-next {
    right: -30px !important;
    background: url('../images/arrow_circle_right.svg') no-repeat center !important;
    width: 40px !important;
    height: 40px !important;
}

.np_award_overlay {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    border-radius: 16px;
    overflow: hidden;
}

.np_award_overlay::before {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: url("../images/award1Bg1.png") no-repeat center/cover;
    transition: transform 0.4s ease-in-out;
    z-index: 0;
    border-radius: 16px;
}

.np_award_overlay::after {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: url("../images/award1Bg2.png") no-repeat center/cover;
    transform: translateY(100%);
    transition: transform 0.4s ease-in-out;
    z-index: 0;
    border-radius: 16px;
}

.np_award_card h3 {
    font-size: 18px;
    font-weight: 500;
    color: var(--text-white);
    margin-top: 16px;
    position: relative;
    display: inline-block;
    float: left;
}

.np_award_card p {
    font-size: 14px;
    font-weight: 400;
    color: var(--text-muted-white);
    margin-top: 8px;
    float: left;
    width: 100%;
}

.np_award_card img {
    position: absolute;
    left: 0;
    top: 0;
    z-index: 1;
    width: 100%;
    height: 100%;
    object-fit: contain;
    padding: 20px;
    transition: transform 0.4s ease, filter 0.4s ease;
}

.np_award_card:hover .np_award_overlay::before {
    transform: translateY(-100%);
}

.np_award_card:hover .np_award_overlay::after {
    transform: translateY(0);
}

.np_award_card:hover img {
    transform: scale(1.09) translateY(-20px);
    filter: drop-shadow(0 12px 25px rgba(0, 0, 0, 0.25));
}

/* ============================================
   CERTIFICATIONS SLIDER
   ------------------------------------------------
   Sizes below use clamp() fluid scaling anchored at
   1024px (lower bound) and 1920px (upper bound) so the
   section matches the 1920px design and scales down
   proportionally with zero overlap at every width in
   between (1680 / 1480 / 1280 / 1024 all verified).
   Formula: clamp(minPx, calc(constPx + slopeVw), maxPx)
   where slope/const are derived from the min/max pair
   over the 1024-1920 range.
   ============================================ */
.np_certifications {
    padding: 4rem 0 64px;
}

.np_certifications_inner {
    background: var(--text-white);
    border: 1px solid var(--border-light-blue);
    display: flex;
    align-items: stretch;
    padding: clamp(24px, calc(14.86px + 0.893vw), 32px) clamp(24px, calc(5.71px + 1.786vw), 40px);
}

.np_certifications_intro {
    width: auto;
    flex: 0 1 26%;
    max-width: 365px;
    min-width: 240px;
    padding-inline-end: clamp(20px, calc(6.29px + 1.339vw), 32px);
    border-inline-end: 1px solid var(--border-light-blue);
    height: -webkit-fill-available;
}

.np_certifications_introIn {
    display: flex !important;
    align-items: flex-start;
    gap: 16px;
    padding-inline-end: clamp(16px, calc(6.29px + 0.893vw), 24px);
    outline: none;
}

.np_certifications_icon {
    flex: 0 0 auto;
    display: flex;
}

.np_certifications_icon svg {
    width: clamp(48px, calc(20.57px + 2.679vw), 72px);
    height: clamp(48px, calc(20.57px + 2.679vw), 72px);
}

.np_certifications_intro h3 {
    font-size: clamp(17px, calc(13.57px + 0.335vw), 20px);
    font-weight: 600;
    color: var(--primary-blue);
    margin-bottom: 10px;
}

.np_certifications_intro p {
    font-size: clamp(13px, calc(11.86px + 0.112vw), 14px);
    line-height: 1.6;
    color: var(--text-para-blue);
    margin-bottom: 16px;
}

.np_certifications_viewAll {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    font-size: 14px;
    font-weight: 600;
    color: var(--primary-blue);
}

.np_certifications_viewAll svg {
    transition: transform 0.3s ease;
}

.np_certifications_viewAll:hover svg {
    transform: translateX(4px);
}

html[dir="rtl"] .np_certifications_viewAll:hover svg {
    transform: translateX(-4px) rotate(180deg);
}

.np_certifications_slider {
    width: 74%;
    flex: 1 1 74%;
    padding-inline-start: clamp(20px, calc(6.29px + 1.339vw), 32px);
    position: relative;
    display: flex;
    min-width: 0;
}

.np_certifications_slider .slick-prev,
.np_certifications_slider .slick-next {
    top: -34px;
    background-color: var(--primary-blue) !important;
    width: clamp(28px, calc(23.43px + 0.446vw), 32px) !important;
    height: clamp(28px, calc(23.43px + 0.446vw), 32px) !important;
}

.np_certifications_slider .slick-prev {
    left: 0;
    right: 0 !important;
    top: 40%;
    transform: translateX(-50%);
}

.np_certifications_slider .slick-next {
    right: 0;
    top: 40%;
    transform: translateX(-50%);
}

html[dir="rtl"] .np_certifications_slider .slick-prev {
    right: auto !important;
    left: 46px;
}

html[dir="rtl"] .np_certifications_slider .slick-next {
    left: 0 !important;
    right: auto;
}

.np_cert_slider_inner {
    margin: 0;
    width: 100%;
}

.np_certifications_slider .slick-list {
    height: 100%;
}

.np_cert_card {
    display: flex !important;
    align-items: flex-start;
    gap: clamp(10px, calc(3.14px + 0.67vw), 16px);
    padding-inline-end: clamp(16px, calc(6.29px + 0.893vw), 24px);
    outline: none;
    height: auto;
}

.np_cert_card_icon {
    flex: 0 0 auto;
    display: flex;
}

.np_cert_card_icon svg {
    width: clamp(52px, calc(29.14px + 2.232vw), 72px);
    height: clamp(52px, calc(29.14px + 2.232vw), 72px);
}

.np_cert_card_text {
    display: flex;
    flex-direction: column;
    height: 100%;
    min-width: 0;
}

.np_cert_card_text h4 {
    font-size: clamp(16px, calc(11.43px + 0.446vw), 20px);
    font-weight: 600;
    color: var(--primary-blue);
    margin-bottom: clamp(6px, calc(1.43px + 0.446vw), 10px);
}

.np_cert_card_text p {
    font-size: clamp(13px, calc(9.57px + 0.335vw), 16px);
    line-height: 1.4;
    font-weight: 500;
    color: var(--primary-blue);
    margin-bottom: clamp(10px, calc(3.14px + 0.67vw), 16px);
}

.np_cert_card_meta {
    display: block;
    font-size: clamp(12px, calc(9.71px + 0.223vw), 14px);
    line-height: 1.6;
    color: var(--text-para-blue);
}

.np_certifications_slider .slick-track {
    display: flex;
    align-items: stretch;
    height: 100%;
}


.np_certifications_slider .slick-slide {
    border-inline-start: 1px solid var(--border-light-blue);
    padding-inline-start: clamp(14px, calc(2.57px + 1.116vw), 24px);
}

.np_certifications_slider .slick-slide > div { height: 100%; }

.np_certifications_slider .slick-slide[data-slick-index="0"] {
    border-inline-start: none;
    padding-inline-start: 0;
}

.np_certifications_slider .slick-dots {
    display: none !important;
}

/* 1–2 certificates: no Slick. Turn the section into a 3-column grid —
   intro | centered content | mirror spacer (same width as intro) —
   so the card centers relative to the WHOLE box, not just the leftover
   space after the intro column. */
.np_certifications_inner.np_cert_static {
    display: flex !important;
    width: auto !important;
    float: none !important;
    justify-content: center;
    align-items: stretch;
    gap: 0;
}

.np_certifications_inner.np_cert_static .np_certifications_intro {
    flex: 0 0 auto;
    width: auto;
    max-width: 24%;
}

.np_certifications_inner.np_cert_static .np_certifications_slider {
    float: none !important;
    width: auto !important;
    flex: 0 0 auto;
    padding-inline-start: clamp(20px, calc(6.29px + 1.339vw), 32px);
    display: flex;
    align-items: stretch;
}

.np_certifications_inner.np_cert_static .np_cert_slider_inner {
    width: auto;
    display: flex;
    gap: clamp(20px, calc(6.29px + 1.339vw), 32px);
}

.np_certifications_inner.np_cert_static .np_cert_card {
    flex: 0 0 auto;
    border-inline-start: 1px solid var(--border-light-blue);
    padding-inline-start: clamp(14px, calc(2.57px + 1.116vw), 24px);
}

.np_certifications_inner.np_cert_static .np_cert_card:first-child {
    border-inline-start: none;
    padding-inline-start: 0;
}

.np_report {
    background: var(--deep-blue);
    padding: 64px 0;
    isolation: isolate;
}


.np_report_card_inner {
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 16px;
}

.np_report_list {
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 59px;
}

.np_report_card_img {
    background: rgba(255, 255, 255, 0.1);
    border-radius: 74px;
    width: 5rem;
    height: 5rem;
    display: flex;
    align-items: center;
    justify-content: center;
    box-shadow: inset 0 1px 1px rgba(255, 255, 255, 0.35), inset 0 -1px 1px rgba(255, 255, 255, 0.15), 0 20px 40px rgba(0, 0, 0, 0.25);
}

.np_report_card_text h3 {
    font-size: 28px;
    color: var(--text-white);
    font-weight: 600;
    margin-bottom: 16px;
    line-height: 1;
}

.np_report_card_text p {
    font-size: 16px;
    color: var(--text-white);
    font-weight: 500;
    line-height: 1;
}

.np_resReport {
    background: var(--bg-light-blue);
    padding: 64px 0;
}

.np_resReport_text {
    text-align: center;
    margin-bottom: 34px;
}

.np_resReport_text h2 {
    font-size: 64px;
    color: var(--primary-blue);
    font-weight: 600;
}

.np_resReport_text p {
    font-size: 18px;
    color: rgb(70, 99, 133, 0.6);
    line-height: 2;
    margin-top: 16px;
}

.np_resReport_cards_top {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-bottom: 16px;
}

.np_resReport_cards_tabs {
    display: flex;
    align-content: center;
    gap: 12px;
}

.np_resReport_cards_tabs li a.active {
    font-size: 14px;
    color: var(--text-white);
    font-weight: 500;
    padding: 3px 12px;
    background: var(--primary-blue);
    border-radius: 40px;
    display: inline-block;
    line-height: 32px;
    transition: all ease-in-out 0.3s;
    border: 1px solid var(--primary-blue);
}

.np_resReport_cards_tabs li a {
    font-size: 14px;
    color: #4C6AA6;
    font-weight: 500;
    padding: 3px 12px;
    background: transparent;
    border-radius: 40px;
    display: inline-block;
    line-height: 32px;
    border: 1px solid #B9CDF8;
    transition: all ease-in-out 0.3s;
}

.np_resReport_cards_tabs li a:hover {
    background: var(--primary-blue);
    color: var(--text-white);
    border: 1px solid var(--primary-blue);
}

.np_resReport_cards_viewAll a {
    font-size: 14px;
    color: var(--primary-blue);
    font-weight: 500;
    padding: 10px 16px;
    background: transparent;
    border-radius: 58px;
    display: inline-block;
    border: 1px solid var(--primary-blue);
    transition: all ease-in-out 0.3s;
}

.np_resReport_cards_viewAll a:hover {
    background: var(--primary-blue);
    color: var(--text-white);
    border: 1px solid var(--primary-blue);
}

.np_resReport_card_list {
    display: flex;
    justify-content: center;
    gap: 24px;
}

.np_resReport_card_list li {
    width: calc(33.3% - 0px);
}

.np_resReport_card {
    display: flex;
    flex-direction: column;
    gap: 12px;
}

.np_resReport_card_img {
    width: 100%;
    border-radius: 16px;
    overflow: hidden;
    border: 1px solid #B9CDF8;
    display: flex;
    justify-content: center;
    align-items: center;
    height: 15.125rem;
}

.np_resReport_card_text h3 {
    font-size: 20px;
    color: var(--primary-blue);
    font-weight: 700;
    margin-bottom: 6px;
    line-height: 2rem;
}

.np_resReport_card_text p {
    font-size: 14px;
    color: var(--text-para-blue);
    font-weight: 500;
    margin-bottom: 6px;
    line-height: 1.5rem;
}

.np_resReport_card_text p:last-child {
    margin-bottom: 0;
}

.np_resReport_card_text>span {
    font-size: 12px;
    color: rgb(0, 0, 0, 0.4);
    font-weight: 500;
    margin-bottom: 4px;
    line-height: 2rem;
    float: left;
    width: 100%;
}

.np_resReport_card_text .read-more {
    font-size: 14px;
    color: var(--primary-blue);
    font-weight: 400;
    line-height: 2rem;
    display: flex;
    align-items: center;
    gap: 4px;
    float: left;
    text-transform: uppercase;
}

/* .np_resReport_card_text a span{display: block;width: 14px;height: 14px;} */
.np_resReport_card_text .read-more span svg {
    display: block;
    width: 14px;
    height: 14px;
}

.read-more {
    text-decoration: none;
    display: inline-flex;
    align-items: center;
    gap: 4px;
    font-weight: normal;
    color: #1544A3;
    transition: font-weight 0.0s ease;
}

.read-more:hover {
    font-weight: 600;
}

.read-more .icon {
    position: relative;
    display: contents;
}

.read-more span svg.hover-icon {
    display: none;
}

.read-more:hover span svg.default-icon {
    display: none;
}

.read-more:hover span svg.hover-icon {
    display: block;
}


.np_FAQ {
    padding: 64px 0;
}

.np_FAQ_text {
    text-align: center;
    margin-bottom: 64px;
}

.np_FAQ_text h2 {
    font-size: 63px;
    color: var(--text-muted-blue);
    font-weight: 500;
    line-height: 1.3;
}

.np_FAQ_text p {
    font-size: 18px;
    color: var(--text-muted-white);
    line-height: 2;
    margin-top: 16px;
}

.np_FAQ_list {
    display: flex;
    flex-direction: column;
    gap: 24px;
}

.np_FAQ_list_content {
    border-radius: 16px;
    padding: 12px 24px;
    cursor: pointer;
    transition: all ease-in-out 0.3s;
    background: rgba(255, 255, 255, 0.04);
    backdrop-filter: blur(15px);
    -webkit-backdrop-filter: blur(5px);
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.2), 0 6px 7px rgba(0, 0, 0, 0.15);
    position: relative;
    overflow: hidden;
    background: linear-gradient(180deg, rgba(255, 255, 255, 0.03) 0%, rgba(0, 0, 0, 0.01) 50%, rgba(255, 255, 255, 0.09) 100%);
}


.np_FAQ_list_content.active {
    background: var(--text-white);
    color: var(--primary-blue);
}

.np_FAQ_list_content.active h3>svg path {
    fill: var(--primary-blue);
}

.np_FAQ_list_content.active .np_FAQ_list_disc {
    /* height is set explicitly by JS (scrollHeight px) so CSS transition works */
    visibility: visible;
    opacity: 1;
    margin-top: 16px;
}

.np_FAQ_list_content.active .np_FAQ_list_link a h3 title {
    color: var(--primary-blue);
    font-weight: 700;
}

.np_FAQ_list_content.active .np_FAQ_list_disc h3 {
    font-weight: 500;
    color: var(--primary-blue);
}

.np_FAQ_list_content.active .np_FAQ_list_disc span {
    color: var(--primary-blue);
    font-weight: 700;
    margin-top: 12px;
}

.np_FAQ_list_content.active .np_FAQ_list_disc ul span {
    color: var(--text-black);
    font-weight: 400;
}

.np_FAQ_list_content.active .np_FAQ_list_disc p {
    color: var(--text-black) !important;
    font-weight: 400;
}

.np_FAQ_list_content.active .np_FAQ_list_link a {
    color: var(--primary-blue);
}

.np_FAQ_list_content.active .np_FAQ_list_link a span svg path {
    fill: var(--primary-blue);
}

.np_FAQ_list_content.active .np_FAQ_list_link a span {
    transform: rotate(180deg);
    transition: transform 0.3s ease-in-out;
}

.np_FAQ_list_content::before {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    clip-path: circle(0% at 50% 50%);
    transition: all cubic-bezier(0, 0.96, 0.58, 1.1) 0.8s;
    z-index: -1;
    background: var(--text-white);
}

.np_FAQ_list_content:hover::before {
    clip-path: circle(100% at 50% 50%);
    transition: all cubic-bezier(0, 0.96, 0.58, 1.1) 2s;
}


.np_FAQ_list_content.hover h3>svg path {
    fill: var(--primary-blue);
}

.np_FAQ_list_content.hover .np_FAQ_list_link a,
.np_FAQ_list_content.hover .np_FAQ_list_disc h3,
.np_FAQ_list_content.hover .np_FAQ_list_disc span,
.np_FAQ_list_content.hover .np_FAQ_list_disc p {
    color: var(--primary-blue);
}

.np_FAQ_list_content.hover .np_FAQ_list_link a span svg path {
    fill: var(--primary-blue);
}

.np_FAQ_list_link a {
    display: flex;
    justify-content: space-between;
    align-items: center;
    color: var(--text-white);
    font-size: 18px;
    font-weight: 400;
    line-height: 1;
}

.np_FAQ_list_link a h3 {
    display: flex;
    align-items: center;
}

.np_FAQ_list_link a h3 title {
    display: inline-block;
    font-size: 18px;
    font-weight: 400;
    line-height: 1;
}

.np_FAQ_list_link a span {
    transition: transform 0.3s ease-in-out;
}

.np_FAQ_list_disc {
    overflow: hidden;
    transition: height 0.3s ease, opacity 0.3s ease;
    height: 0;
    visibility: hidden;
    opacity: 0;
}

.np_FAQ_list_disc h3 {
    font-size: 16px;
    color: var(--text-white);
    font-weight: 500;
    margin-bottom: 8px;
    line-height: 1.5;
}

.np_FAQ_list_disc span {
    font-size: 14px;
    color: var(--text-white);
    font-weight: 500;
    margin-bottom: 8px;
    line-height: 1.5;
    display: block;
}

.np_FAQ_list_disc p {
    font-size: 16px;
    color: var(--text-white);
    font-weight: 500;
    line-height: 1.5;
}

.np_FAQ_list_disc p:not(:last-child) {
    margin-bottom: 8px;
}


.np_contactUs_text {
    text-align: center;
    margin-bottom: 64px;
    position: relative;
}

.np_contactUs_text h2 {
    font-size: 64px;
    color: var(--text-muted-blue);
    font-weight: 600;
}

.np_contactUs_text p {
    font-size: 18px;
    color: var(--text-muted-white);
    line-height: 2;
    margin-top: 16px;
    font-weight: 400;
}

.np_contactUs_btns {
    display: flex;
    justify-content: center;
    margin-bottom: 44px;
}

.np_contactUs_links {
    display: flex;
    align-items: center;
    background: rgba(255, 255, 255, 0.07);
    backdrop-filter: blur(14px);
    -webkit-backdrop-filter: blur(14px);
    border-radius: 108px;
    padding: 8px;
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.25), 0 8px 24px rgba(0, 0, 0, 0.15);
}

.np_contactUs_links li a.active {
    background: var(--text-white);
    color: var(--primary-blue);
    border-radius: 108px;
}

.np_contactUs_links li a {
    padding: 8px 17.5px;
    font-size: 16px;
    font-weight: 500;
    display: inline-block;
    color: var(--text-white);
    transition: all 0.3s ease;
    cursor: pointer;
}

.np_contactUs {
    width: 100%;
    float: left;
    overflow: hidden;
}

.np_contactUs_inner {
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;
    position: relative;
    padding: 60px 0;
    transition: background-image 0.8s ease-in-out;
    min-height: 100vh;
    position: relative;
}

.np_contactUs_inner::before {
    content: "";
    position: absolute;
    inset: 0;
    background: linear-gradient(180deg, rgba(21, 68, 163, 1) 0%, rgba(21, 68, 163, 1) 10%, rgba(21, 68, 163, 0) 100%);
    z-index: 0;
    width: 100%;
    height: 40%;
}

.np_contactUs_inner.sec {
    padding: 7.1875rem 0;
}

.np_contactUs_inner.sec::before {
    display: none;
}

.bg-overlay {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: rgba(0, 0, 0, 0.5);
    opacity: 0;
    transition: opacity 0.8s ease-in-out;
    pointer-events: none;
    z-index: 1;
}

.np_contactUs_bg {
    position: relative;
    padding-bottom: 8rem;
}

.np_contactUs_bg_slider {
    position: relative;
    min-height: 400px;
    width: 100%;
    overflow: visible;
}

/* UPDATED FOR SLIDE ANIMATION */
.np_contactUs_bg_text {
    position: absolute;
    width: 100%;
    max-width: 500px;
    top: 0;
    opacity: 1;
    visibility: visible;
    z-index: 2;
    left: 3.75rem;
    right: auto;
    transition: left 2s ease;
}

.np_contactUs_bg_text.active {
    opacity: 1;
    visibility: visible;
}

.np_contactUs_bg_text[data-position="left"] {
    left: 3.75rem;
    right: auto;
}

.np_contactUs_bg_text[data-position="right"] {
    left: auto;
    right: 3.75rem;
}

.np_contactUs_bg_text_inner {
    background: var(--glass-bg);
    padding: 32px;
    border-radius: 16px;
    backdrop-filter: blur(25px);
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.25), 0 8px 24px rgba(0, 0, 0, 0.15);
}

.np_contactUs_bg_text h3 {
    font-size: 28px;
    color: var(--text-white);
    font-weight: 700;
    margin-bottom: 24px;
    display: flex;
    align-items: center;
    gap: 3px;
}

.np_contactUs_bg_text h3 span {
    font-size: 20px;
    color: var(--text-white);
    font-weight: 700;
}

.np_contactUs_bg_text p {
    font-size: 16px;
    color: var(--text-white);
    font-weight: 500;
    line-height: 1.5;
    display: flex;
    align-items: center;
    gap: 10px;
    margin-bottom: 24px;
    font-weight: 400;
}

.np_contactUs_bg_text a {
    font-size: 16px;
    color: var(--text-white);
    font-weight: 400;
    display: flex;
    align-items: center;
    gap: 10px;
    text-decoration: none;
    transition: opacity 0.3s ease;
}

.np_contactUs_bg_text a:hover {
    opacity: 0.8;
}

.np_contactUs_bg_text a:not(:last-child) {
    margin-bottom: 24px;
}

.np_contactUs_bg_text a span {
    display: block;
    flex-shrink: 0;
}

.np_contactUs_bg_text a span svg {
    display: block;
    width: 100%;
    height: 100%;
}

.np_contactUs_content {
    position: relative;
    z-index: 2;
}

.np_contactUs_bg_text_frm {
    background: var(--glass-bg);
    padding: 32px;
    border-radius: 16px;
    backdrop-filter: blur(25px);
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.25), 0 8px 24px rgba(0, 0, 0, 0.15);
    margin-top: 2rem;
}

.np_contactUs_bg_text_frm ul {
    display: flex;
    flex-flow: row wrap;
    gap: 16px;
}

.np_contactUs_bg_text_frm ul li {
    width: calc(50% - 8px);
    position: relative;
}

.np_contactUs_bg_text_frm ul li input {
    background: rgba(255, 255, 255, 0.08);
    border: 1px solid rgba(221, 232, 255, 0.6);
    border-radius: 58px;
    padding: 11px 16px;
    font-size: 14px;
    font-weight: 500;
    color: var(--text-white);
    width: 100%;
}

.np_contactUs_bg_text_frm ul li input::placeholder {
    color: rgba(255, 255, 255, 0.4);
}

.np_contactUs_bg_text_frm ul li textarea {
    background: rgba(255, 255, 255, 0.08);
    border: 1px solid rgba(221, 232, 255, 0.6);
    border-radius: 58px;
    padding: 11px 16px;
    font-size: 14px;
    font-weight: 500;
    color: var(--text-white);
    width: 100%;
}

.np_contactUs_bg_text_frm ul li textarea::placeholder {
    color: rgba(255, 255, 255, 0.4);
}

.np_contactUs_bg_text_frm ul li select {
    background: rgba(255, 255, 255, 0.08);
    border: 1px solid rgba(221, 232, 255, 0.6);
    border-radius: 58px;
    padding: 11px 16px;
    font-size: 14px;
    font-weight: 500;
    color: var(--text-white);
    width: 100%;
    appearance: none;
    cursor: pointer;
    position: relative;
}

#numDrop {
    appearance: auto;
}

/* Disabled state — Contact Us form, built from theme tokens */
.np_contactUs_bg_text_frm ul li input:disabled,
.np_contactUs_bg_text_frm ul li textarea:disabled,
.np_contactUs_bg_text_frm ul li select:disabled {
    background-color: var(--text-para-blue) !important;
    border: 2px solid var(--dark-blue) !important;
    color: var(--text-white) !important;
    -webkit-text-fill-color: var(--text-white) !important;
    font-weight: 600 !important;
    opacity: 1 !important;
    cursor: not-allowed !important;
}

.np_contactUs_bg_text_frm ul li input:disabled::placeholder,
.np_contactUs_bg_text_frm ul li textarea:disabled::placeholder {
    color: var(--text-muted-white) !important;
}

.np_contactUs_bg_text_frm ul li.cnt .arrow {
    position: absolute;
    right: 0;
    top: 50%;
    right: 2%;
    transform: translate(-50%, -50%);
    color: rgba(221, 232, 255, 0.6);
}

.np_contactUs_bg_text_frm ul li.cnt .select2-selection__arrow {
    display: none !important;
}

.np_pnum>input {
    padding-left: 80px !important;
}

.np_pnum>select {
    background: rgba(255, 255, 255, 0.1) !important;
    border-radius: 30px !important;
    position: absolute !important;
    left: 5px;
    top: 5px;
    width: 100% !important;
    height: auto !important;
    max-width: 70px !important;
    border: transparent !important;
    padding: 7px 6px !important;
}

.np_pnum>select option {
    color: var(--text-black)
}

.np_contactUs_bg_text_frm ul li.cnt select option {
    color: var(--text-black);
    background: rgba(255, 255, 255, 0.08);
}

.np_contactUs_bg_text_frm ul li:last-child {
    width: 100%;
}

.np_contactUs_bg_text_frm .row.bottom {
    display: flex;
    justify-content: space-between;
    align-items: baseline;
    gap: 16px;
    margin-top: 16px;
}

.np_contactUs_bg_text_frm .row.bottom .captcha {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 5px;
    background: rgba(255, 255, 255, 0.08);
    border: 1px solid rgba(221, 232, 255, 0.6);
    border-radius: 58px;
    padding: 11px 16px;
    font-size: 14px;
    font-weight: 500;
    color: var(--text-white);
    width: 65%;
}

.np_contactUs_bg_text_frm .row.bottom .captcha img {
    width: 30px;
    margin-left: 10px;
}

/* Button */
.np_contactUs_bg_text_frm .row.bottom button {
    background: #1f5eff;
    color: #fff;
    border: none;
    padding: 11px 16px;
    border-radius: 30px;
    font-size: 14px;
    cursor: pointer;
    transition: background 0.3s ease;
}

/* Custom Checkbox */
.custom-checkbox {
    display: flex;
    align-items: center;
    gap: 5px;
    cursor: pointer;
    user-select: none;
}

.custom-checkbox input {
    position: absolute;
    opacity: 0;
    cursor: pointer;
}

.custom-checkbox .checkmark {
    width: 24px;
    height: 24px;
    border-radius: 4px;
    border: 2px solid #bfc3c7;
    background: #fff;
    position: relative;
    transition: all 0.2s ease;
}

.custom-checkbox input:checked+.checkmark {
    background: #1f5eff;
    border-color: #1f5eff;
}

.custom-checkbox input:checked+.checkmark::after {
    content: "";
    position: absolute;
    left: 6px;
    top: 2px;
    width: 5px;
    height: 10px;
    border: solid #fff;
    border-width: 0 2px 2px 0;
    transform: rotate(45deg);
}

.label-text {
    font-size: 13px;
    color: rgba(255, 255, 255, 0.4);
}

.np_outManagement {
    padding-top: 4.3%;
}

.np_outManagementInner {
    display: flex;
}

.np_outManagementImg {
    position: sticky;
    top: 5.1rem;
    height: 100dvh;
}

.np_outManagementImg img {
    object-fit: cover;
    height: 100dvh;
}

.np_outManagementContOutter {
    position: relative;
    z-index: 1;
    margin-right: -13%;
}

.np_outManagementCont {
    position: relative;
    left: 0;
    top: 0;
    margin: 7.375rem 0;
}

.np_outManagementContBox {
    background: rgba(21, 68, 163, 0.2);
    border: 1px solid rgba(0, 0, 0, 0.1);
    backdrop-filter: blur(18px);
    box-shadow: inset 0 1px 1px rgba(255, 255, 255, 0.35), inset 0 -1px 1px rgba(255, 255, 255, 0.15), 0 20px 40px rgba(0, 0, 0, 0.25);
    padding: 4rem;
    border-radius: 24px;
    width: 100%;
    max-width: 1033px;
}

.np_outManagementContBox:not(:last-child) {
    margin-bottom: 6rem;
}

.np_outManagementContBox h1 {
    font-size: 4rem;
    font-weight: 600;
    color: var(--text-muted-blue);
    margin-bottom: 24px;
    line-height: 1;
}

.np_outManagementContBox h3 {
    font-size: 2.625rem;
    font-weight: 600;
    color: #F47C06;
}

.np_outManagementContBox h4 {
    font-size: 1.25rem;
    font-weight: 500;
    color: var(--text-white);
}

.np_outManagementContBoxDisc {
    margin-top: 24px;
}

.np_outManagementContBoxDisc p:not(:last-child) {
    margin-bottom: 1rem;
}

.np_outManagementContBoxDisc p {
    color: var(--text-muted-white);
    font-size: 1.125rem;
    font-weight: 300;
    line-height: 1.5;
}

.np_outManagementContBoxDisc p span {
    color: var(--text-white);
    font-size: 1.125rem;
    font-weight: 300;
}


.np_contactUs_bg_text.cnt[data-position="left"] {
    left: 24.625rem;
    right: auto;
}

.np_contactUs_bg_text.cnt[data-position="right"] {
    left: auto;
    right: 24.625rem;
}



.np_onlineCashTsec {
    background: linear-gradient(166.1deg, #1544A3 1.93%, #08193D 107%);
    height: 100dvh;
}

.np_onlineCashTsec_inner {
    display: flex;
    justify-content: flex-start;
    align-items: flex-end;
    height: 100%;
}

.np_onlineCashTsec_lft {
    margin-left: 9vw;
}

.np_onlineCashTsec_rgt {
    max-width: 412px;
    background: rgba(21, 68, 163, 0.1);
    box-shadow: 0px 5px 33.4px rgba(0, 0, 0, 0.4);
    border-radius: 24px;
    padding: 42px;
    border-radius: 24px;
    position: absolute;
    top: 168px;
    right: 21vw;
    backdrop-filter: blur(25px);
}

.np_onlineCashTsec_rgt h3 {
    font-size: 16px;
    font-weight: 400;
    color: var(--text-muted-white);
}

.np_onlineCashTsec_rgt p {
    font-size: 24px;
    font-weight: 600;
    color: var(--text-white);
    margin-top: 7px;
}

.np_onlineCashTsec_rgt p span {
    color: #F47C06;
}

.np_onlineCashTsec_rgt a {
    color: var(--text-white);
    font-size: 10px;
    font-weight: 400;
    text-decoration: underline;
    margin-left: 12px;
    margin-top: 14px;
    line-height: 20px;
}

.np_onlineCashTsec_rgtForm {
    margin-top: 42px;
    position: relative;
}

.np_onlineCashTsec_rgtForm_list {
    display: flex;
    flex-direction: column;
    gap: 18px;
}

.np_onlineCashTsec_rgtForm_item input {
    border-radius: 58px;
    background: var(--text-white);
    border: 1px solid #DDE8FF;
    border-radius: 58px;
    padding: 11px 16px;
    padding-left: 40px;
    width: 328px;
    font-size: 14px;
    font-weight: regular;
    color: var(--text-black);
}

/* Disabled state — login / cash transfer forms, built from theme tokens */
.np_onlineCashTsec_rgtForm_item input:disabled {
    background: var(--text-para-blue) !important;
    border: 2px solid var(--dark-blue) !important;
    color: var(--text-white) !important;
    -webkit-text-fill-color: var(--text-white) !important;
    font-weight: 600 !important;
    opacity: 1 !important;
    cursor: not-allowed !important;
}

.np_onlineCashTsec_rgtForm_item input:disabled::placeholder {
    color: var(--text-muted-white) !important;
}

.np_onlineCashTsec_rgtForm_itemIcon {
    position: absolute;
    left: 16px;
    top: 50%;
    transform: translateY(-50%);
}

.np_loginBtn {
    border-radius: 60px;
    border: none;
    padding: 12px 0;
    font-size: 14px;
    font-weight: 500;
    color: var(--text-black);
    background: var(--text-white);
    width: 100%;
    margin-top: 32px;
    cursor: pointer;
}

.np_loginBtn.disable {
    background: rgba(255, 255, 255, 0.3);
    cursor: not-allowed;
    color: rgb(0, 0, 0, 0.5);
    font-size: 14px;
    font-weight: 500;
}


.np_stockDot {
    position: absolute;
    top: 0;
    left: 0;
    height: 100%;
    width: 100%;
}

.np_stockDot>img {
    width: 100%;
    height: 60%;
    object-fit: cover;
}

.np_stockTable {
    background: var(--bg-accent-blue);
}

.np_stockTable_inner {
    margin-top: -2%;
    margin-bottom: 44px;
}

.np_stockTable_searchBar {
    padding: 32px;
    background: var(--text-white);
    border-radius: 16px;
    display: flex;
    justify-content: space-between;
    align-items: center;
}

.np_stockTable_searchBarInp input {
    border-radius: 12px;
    background: #F8FAFC;
    padding: 15px 24px;
    padding-left: 56px;
    border: 1px solid rgba(221, 232, 255, 0.6);
    width: 798px;
    font-size: 20px;
    font-weight: 300;
}

.np_stockTable_searchBarInp input::placeholder {
    color: #ADB8C3;
    font-size: 20px;
    font-weight: 300;
}

.np_stockTable_searchBarInpIcon {
    position: absolute;
    left: 24px;
    top: 50%;
    transform: translateY(-50%);
    display: flex;
    justify-content: center;
    align-items: center;
}

.np_stockTable_filter {
    display: flex;
    justify-content: flex-end;
    align-items: center;
    gap: 12px;
}

.np_stockTable_filter h3 {
    color: #86929D;
    font-size: 18px;
    font-weight: 500;
    text-transform: uppercase;
}

.np_stockTable_filterList {
    display: flex;
    justify-content: flex-start;
    border-radius: 12px;
    background: #F8FAFC;
    border: 1px solid #DDE8FF;
    padding: 8px;
}

.np_stockTable_filterList a {
    font-size: 16px;
    font-weight: 500;
    padding: 10px 12px;
    color: #ADB8C3;
    display: inline-block;
    border-radius: 6px;
}

.np_stockTable_filterList a.active {
    color: var(--text-black);
    background: var(--text-white);
    filter: drop-shadow(0px 1px 2px rgba(0, 0, 0, 0.1));
}

.np_stockTable_box {
    margin-top: 24px;
    background: var(--text-white);
    border-radius: 24px;
    overflow-x: auto;
}

.table-header {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 24px 32px;
}

.table-header h3 {
    font-size: 20px;
    font-weight: 500;
    letter-spacing: 0.8px;
    color: #0b2a5b;
}

.legend {
    display: flex;
    gap: 20px;
    font-size: 12px;
}

.legend-item {
    display: flex;
    align-items: center;
    gap: 6px;
    font-size: 15px;
    font-weight: 500;
    text-transform: uppercase;
}

.legend-item.green {
    color: #10B981;
}

.legend-item.red {
    color: #F43F5E;
}

.dot {
    width: 10px;
    height: 10px;
    border-radius: 50%;
}

.dot.green {
    background: #18b26f;
}

.dot.red {
    background: #ff4d4f;
}

.company-table {
    width: 100%;
    border-collapse: collapse;
}

.company-table thead {
    background: #F8FAFC;
}

.company-table thead th {
    text-align: left;
    font-size: 20px;
    color: rgba(70, 99, 133, 0.6);
    font-weight: 600;
    border-bottom: 1px solid #eef1f6;
    padding: 24px 0;
}

.company-table thead th:first-child {
    padding: 24px 0;
    padding-left: 32px;
}

.company-table thead th:last-child {
    padding: 24px 0;
    padding-right: 32px;
    text-align: end;
}

.company-table tbody td:last-child {
    padding: 24px 0;
    padding-right: 32px;
    text-align: end;
}

.company-table tbody td:first-child {
    padding: 24px 0;
    padding-left: 32px;
}

.company-table tbody td {
    padding: 18px 10px;
    font-size: 14px;
    border-bottom: 1px solid #f1f3f8;
}

.company-table tbody tr:last-child td {
    border-bottom: none;
}

.company-table tbody td {
    font-size: 18px;
    font-weight: 500;
    color: var(--text-black);
    padding: 24px 0;
}

.company-table tbody td:nth-child(4) {
    color: #466385;
}

.company-table .link {
    color: #1544A3;
    font-weight: 600;
}

.company-table .bold {
    font-weight: 700;
}

.recently-added {
    background: #ECFDF5;
}

.company-table tbody tr.recently-added td {
    color: #009161;
}

.company-table tbody tr.marked-delete td {
    color: #ff4d4f;
    text-decoration: line-through;
}

.marked-delete {
    background: #fff1f1;
    color: #ff4d4f;
}

.np_stockTable_boxInner {
    min-width: 1200px;
    overflow-x: auto;
}

.company-flex {
    display: flex;
    align-items: center;
    gap: 10px;
}

.company-table thead th:last-child .company-flex {
    justify-content: flex-end;
}

.company-table thead th:nth-child(3) {
    width: 15%;
}

.np_acHero {
    margin-top: 110px;
}

.np_acHero_text {
    margin-bottom: 9.375rem;
}

.np_acHero_text h2 {
    font-size: 4rem;
    color: var(--text-muted-blue);
    font-weight: 600;
    text-align: center;
}

.np_acHero_content {
    display: flex;
    gap: 4rem;
}

.np_acHeroRgtTxt {
    margin-bottom: 3.375rem;
}

.np_acHeroRgtTxt p {
    font-size: 1.25rem;
    font-weight: 400;
    color: var(--text-muted-blue);
}

.np_acHeroRgtTxt p span {
    color: #0AB9FF;
}

.np_acHeroRgtTitle {
    margin-bottom: 1.5rem;
}

.np_acHeroRgtTitle h3 {
    font-size: 4rem;
    font-weight: 600;
    color: var(--text-muted-blue);
}

.np_acHeroRgtTitle h3 span {
    color: #F47C06;
}


.np_acHero.indv .np_acHero_text {
    margin-bottom: 4.0625rem;
}

.np_acHeroRgtTitle.indv h3 {
    font-size: 2.75rem;
    font-weight: 600;
    letter-spacing: 4%;
    line-height: 1.3;
    margin-bottom: 1.5rem;
    width: 100%;
    max-width: 750px;
}

.np_acHeroRgtTitle.indv h3 span {
    color: #0AB9FF;
}

.np_acHeroRgtTitle.indv p {
    font-size: 1rem;
    font-weight: 400;
    color: rgba(255, 255, 255, 0.6);
}

.np_acHeroRgtTitle.indv p span {
    color: rgba(255, 255, 255, 0.9)
}

.np_acHeroRgtPdfs.indv {
    background: rgba(255, 255, 255, 0.06);
    padding: 2rem;
    border-radius: 1rem;
}

.np_acHeroRgtPdfs.indv h3 {
    font-size: 1.125rem;
    font-weight: 500;
    color: var(--text-white);
    letter-spacing: 0;
    margin-bottom: 6px;
}

.np_acHeroRgtPdfsList.indv {
    display: grid;
    grid-template-columns: 2fr 1fr;
    gap: 2px 20px;
    list-style: none;
    padding: 0;
    margin: 0;
}

.np_acHeroRgtPdfsList.indv li .np_acHeroRgtPdfsListItem {
    display: flex;
    gap: 6px;
}

.np_acHeroRgtPdfsList.indv li .np_acHeroRgtPdfsListItem span {
    display: inline-block;
    margin-top: 5px;
    width: 100%;
    max-width: 1.25rem;
}

.np_acHeroRgtPdfsList.indv li .np_acHeroRgtPdfsListItem span svg {
    width: 1.25rem;
}

.np_acHeroRgtPdfsList.indv li .np_acHeroRgtPdfsListItem p {
    font-size: 1rem;
    font-weight: 400;
    line-height: 2;
    letter-spacing: 0;
    color: var(--text-white);
}

.np_acHero_content.indv .np_acHeroLft {
    width: 100%;
    max-width: 47.1875rem;
}

.np_acHero_content.indv .np_acHeroRgt {
    margin-bottom: 76px;
}

.np_acHero_content.indv .np_acHeroLft img {
    width: 100%;
}

.IndvLink {
    margin-top: 1.5rem;
    text-align: end;
}

.IndvLink a {
    display: inline-block;
    color: var(--primary-blue);
    background: var(--text-white);
    font-size: 1.125rem;
    font-weight: 600;
    letter-spacing: 0;
    text-transform: uppercase;
    padding: 18px 60px;
    border-radius: 60px;
}

.np_acHeroRgtPdfList {
    display: flex;
    justify-content: space-between;
}

.np_acHeroRgtPdfListItem p {
    font-size: 1rem;
    font-weight: 600;
    color: var(--text-white);
    margin-bottom: 12px;
}

.np_acHeroRgtPdfListItem a {
    font-size: 1.125rem;
    font-weight: 500;
    color: var(--text-white);
    display: flex;
    gap: 10px;
    align-items: center;
    line-height: 1;
    border: 1px solid var(--text-white);
    padding: 10px 16px;
    border-radius: 48px;
    transition: all 0.3s ease;
    width: fit-content;
}

.np_acHeroRgtPdfListItem a h4 {
    font-weight: 400;
    letter-spacing: 0;
}

.np_acHeroRgtPdfListItem a svg {
    display: block;
}

.np_acHeroRgtPdfListItem a:hover {
    background: var(--text-white);
    color: var(--primary-blue);
    border: 1px solid var(--text-white);
}

.np_acHeroRgtPdfListItem a:hover svg path {
    fill: var(--primary-blue);
}

.np_acOnlineTrading.indv {
    background: #0E2F61;
}

.np_acOnlineTrading.indv .np_acOnlineTrading_inner {
    align-items: normal;
}

.np_acImpNotice.indv .np_acImpNotice_inner {
    display: flex;
    justify-content: center;
}

.np_acImpNotice.indv .tradindFeesBox {
    width: 100%;
    max-width: 335px;
}

.np_acImpNotice.indv .tradindFeesBox .tradindFeesBoxInner {
    display: flex;
    flex-direction: column;
    align-items: center;
    width: 100%;
}

.np_acImpNotice.indv .tradindFeesBoxExt {
    display: flex;
    flex-direction: column;
    align-items: center;
    width: 100%;
    border-left: 1px solid rgba(255, 255, 255, 0.3);
    padding-left: 5.3125rem;
    margin-left: 5.3125rem;
    max-width: 978px;
}

.np_acImpNotice.indv .tradindFeesBox h3 {
    font-size: 1.75rem;
    font-weight: 600;
    color: var(--text-white);
    margin-bottom: 1rem;
}

.np_acImpNotice.indv .tradindFeesBoxExt h3 {
    font-size: 1.75rem;
    font-weight: 600;
    color: var(--text-white);
    margin-bottom: 1rem;
}

.np_acImpNotice.indv .tradindFeesBox p {
    font-size: 1rem;
    font-weight: 300;
    color: #E0E0E0;
    margin-bottom: 1rem;
    text-align: center;
    line-height: 1.5;
    letter-spacing: 1%;
}

.np_acImpNotice.indv .tradindFeesBoxExtLists {
    display: flex;
    gap: 2.25rem;
}

.np_acImpNotice.indv .tradindFeesBoxExtList p {
    font-size: 1rem;
    font-weight: 400;
    color: #E0E0E0;
    margin-bottom: 1.5rem;
}

.np_acImpNotice.indv .tradindFeesBoxExtList {
    display: flex;
    flex-direction: column;
    align-items: center;
}

.np_acImpNotice.indv .tradindFeesBoxExtListLinks {
    display: flex;
    gap: 16px;
    margin-top: 1.5rem;
}

.np_acImpNotice.indv .tradindFeesBoxExtListLink a {
    display: flex;
    align-items: center;
    gap: 10px;
    padding: 10px 16px;
    border: 1px solid var(--text-white);
    border-radius: 48px;
    transition: all 0.3s ease;
}

.np_acImpNotice.indv .tradindFeesBoxExtListLink a:hover {
    background: var(--text-white);
    color: var(--primary-blue);
    border: 1px solid var(--text-white);
}

.np_acImpNotice.indv .tradindFeesBoxExtListLink a:hover svg path {
    fill: var(--primary-blue);
}

.np_acImpNotice.indv .tradindFeesBoxExtListLink a p {
    color: var(--text-white);
    margin-bottom: 0;
    transition: all 0.3s ease;
}

.np_acImpNotice.indv .tradindFeesBoxExtListLink a:hover p {
    color: var(--primary-blue);
}

.np_acDocs {
    background: #0E2F61;
    padding: 10.875rem 0;
}

.np_acDocs_LftTxt h3 {
    font-size: 4rem;
    font-weight: 600;
    color: var(--text-muted-blue);
    margin-bottom: 2rem;
}

.np_acDocs_LftTxt h3 span {
    color: #F47C06;
}

.np_acDocs_LftTxt p {
    font-size: 1.125rem;
    font-weight: 400;
    color: rgba(255, 255, 255, .5);
    line-height: 1.5;
}

.np_acDocs_LftTxt p span {
    color: var(--text-white);
}

.np_acDocs_LftPdfs {
    margin-top: 2.625rem;
}

.np_acDocs_LftPdfsList {
    display: flex;
    justify-content: space-between;
}

.np_acDocs_LftPdfsListItem h3 {
    font-size: 20px;
    font-weight: 600;
    color: var(--text-white);
    margin-bottom: 1rem;
}

.np_acDocs_LftPdfsListInner {
    display: flex;
    flex-direction: column;
    gap: 16px;
}

.np_acDocs_LftPdfsListInner a {
    font-size: 1.125rem;
    font-weight: 500;
    color: var(--text-white);
    display: flex;
    gap: 10px;
    align-items: center;
    line-height: 1;
    border: 1px solid var(--text-white);
    padding: 10px 16px;
    border-radius: 48px;
    transition: all 0.3s ease;
    width: fit-content;
}

.np_acDocs_LftPdfsListInner a h4 {
    font-weight: 400;
    letter-spacing: 0;
}

.np_acDocs_LftPdfsListInner a svg {
    display: block;
}

.np_acDocs_LftPdfsListInner a:hover {
    background: var(--text-white);
    color: var(--primary-blue);
    border: 1px solid var(--text-white);
}

.np_acDocs_LftPdfsListInner a:hover svg path {
    fill: var(--primary-blue);
}

.np_acDocs_inner {
    display: flex;
    align-items: center;
    gap: 4rem;
}

.np_acOnlineTrading_LftUserMan .np_acDocs_LftPdfsListInner li:last-child a svg {
    height: 22px;
}

.np_acDocs_Lft {
    width: 100%;
    max-width: 67.375rem;
    flex: 0 0 67.375rem;
}

.np_acOnlineTrading {
    padding: 10.125rem 0;
    padding-bottom: 0;
}

.np_acOnlineTrading_inner {
    display: flex;
    justify-content: space-between;
    align-items: baseline;
}

.np_acOnlineTrading_Lft {
    width: 100%;
    max-width: 59.25rem;
    flex: 0 0 59.25rem;
    padding-bottom: 10.125rem;
}

.np_acOnlineTrading_LftTxt h3 {
    font-size: 4rem;
    font-weight: 600;
    color: var(--text-white);
    margin-bottom: 32px;
}

.np_acOnlineTrading_LftTxt h3 span {
    color: #F47C06;
}

.np_acOnlineTrading_LftTxt p {
    font-size: 1.125rem;
    font-weight: 400;
    color: rgba(255, 255, 255, .5);
    line-height: 1.5;
}

.np_acOnlineTrading_LftTxt p span {
    color: var(--text-white);
}

.np_acOnlineTrading_LftLinks {
    margin-top: 2rem;
}

.np_acOnlineTrading_LftLinksList {
    display: flex;
    gap: 24px;
}

.np_acOnlineTrading_LftLinksList a {
    display: flex;
    gap: 10px;
    align-items: center;
    background-color: var(--text-white);
    padding: 10px 16px;
    border-radius: 48px;
    transition: all 0.3s ease;
    width: fit-content;
}

.np_acOnlineTrading_LftLinksList a h3 {
    line-height: 1;
    color: var(--primary-blue);
    font-size: 1.125rem;
    font-weight: 500;
    letter-spacing: 0;
}

.np_acOnlineTrading_LftUserMan {
    margin-top: 2.625rem;
}

.np_acOnlineTrading_LftUserMan h3 {
    font-size: 2rem;
    font-weight: 600;
    color: var(--text-white);
    margin-bottom: .75rem;
}

.np_acOnlineTrading_LftUserMan h3 span {
    font-size: 1rem;
}

.np_acOnlineTrading_LftUserMan p {
    font-size: var(--fs-body);
    font-weight: 400;
    color: rgba(255, 255, 255, .5);
    line-height: 1.5;
    margin-bottom: 1em;
}

.np_acOnlineTrading_LftUserMan .np_acDocs_LftPdfsListInner {
    display: flex;
    flex-direction: row;
    gap: 16px;
}

.np_acImpNotice {
    padding: 4rem 0;
    position: relative;
    isolation: isolate;
    overflow: hidden;
}

.np_acImpNotice_inner h3 {
    font-size: 1.75rem;
    font-weight: 600;
    color: var(--text-white);
    margin-bottom: 1.5rem;
}

.np_acImpNotice_points {
    display: flex;
    flex-direction: column;
    gap: 10px;
    padding-left: 1.125rem;
}

.np_acImpNotice_points li {
    list-style: disc;
    list-style-type: disc;
    color: rgba(220, 239, 251, 0.8)
}

.np_acImpNotice_points li p {
    font-size: .875rem;
    color: rgba(220, 239, 251, 0.8);
    font-weight: 400;
}

.np_acImpNotice_points li p a {
    color: rgb(220, 239, 251);
    font-weight: 500;
}

.np_acImpNotice_points li:last-child p a {
    text-decoration: underline;
}

.np_acImpNotice_bg {
    position: absolute;
    top: 0%;
    left: 0%;
    width: 100%;
    height: 100%;
    z-index: -1;
}

.onlineAccountOpeningLastSec .np_acImpNotice_bg {
    width: 265%;
}

.np_acImpNotice_bg img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}


.modal-overlay.knowMoreModal .modal-content {
    max-width: 43.375rem;
    padding: 42px;
}

.modal-overlay.knowMoreModal .modalPara {
    text-align: left;
}

.modal-overlay.knowMoreModal .modalPara p {
    font-size: .75rem;
    font-weight: 300;
}

.modal-overlay.knowMoreModal .modalLink a {
    padding: 4px 16px;
    font-size: .625rem;
    font-weight: 600;
    line-height: 1.25rem;
    text-transform: uppercase;
    background: var(--text-white);
    color: var(--primary-blue);
}

/* Footer Styles */
.np_footer {
    background: var(--text-white);
    color: var(--primary-blue);
    padding-top: 64px;
    padding-bottom: 27px;
    position: relative;
    isolation: isolate;
    overflow: hidden;
    padding-bottom: 0;
}

.np_footer_lftIcon {
    position: absolute;
    left: 0;
    bottom: 0;
}

.np_footer_rgtIcon {
    position: absolute;
    right: 0;
    top: 0;
}

.np_footer_top {
    margin-bottom: 24px;
    padding-bottom: 32px;
    border-bottom: dashed 1px var(--primary-blue);
}

.np_footer_logo {
    gap: 24px;
}

.np_footer_mid_social {
    display: flex;
    justify-content: center;
    margin-bottom: 16px;
}

.np_footer_mid_socialLinks {
    display: flex;
    gap: 16px;
}

.np_footer_mid_socialLinks li a {
    transition: all .3s ease-in-out;
}

.np_footer_mid_socialLinks li a:hover svg {
    fill: var(--primary-blue);
}

.np_footer_mid_socialLinks li a:hover svg path {
    stroke: var(--text-white);
}

.np_footer_mid_inner {
    display: flex;
    padding-bottom: 24px;
    gap: 24px;
}

.np_footer_links {
    width: calc(25% - 0px);
}

.np_footer_links:nth-child(3) {
    width: 328px;
    flex: 0 0 328px;
}

.np_footer_links:nth-child(4) {
    width: 303px;
    flex: 0 0 303px;
}

.np_footer_links h3 {
    font-size: 16px;
    margin-bottom: 38px;
    color: var(--text-black);
    font-weight: 700;
    font-family: "Parkinsans", sans-serif;
}

.np_footer_links:last-child .np_footer_link li h4 span {
    color: var(--text-black);
}

.np_footer_links:last-child .np_footer_link li span {
    color: var(--text-black);
}

.np_footer_links:last-child .np_footer_link li h4 span:last-child {
    font-weight: 500;
}

.np_footer_link li:not(:last-child) {
    margin-bottom: 10px;
}

.np_footer_link li span {
    font-size: 14px;
    font-weight: 700;
    color: var(--primary-blue);
}

.np_footer_link li a {
    color: var(--primary-blue);
    font-size: 14px;
    font-weight: 500;
}

.np_footer_link h4 {
    font-size: 14px;
    font-weight: 500;
    color: var(--primary-blue);
}

.np_footer_link h4 span {
    font-size: 14px;
    font-weight: 700;
    color: var(--primary-blue)
}

.np_footer_bottom {
    text-align: center;
    padding-top: 10px;
    padding-bottom: 10px;
}


/* Main select */
.select2-container--default .select2-selection--single {
    background: transparent;
    border-radius: 14px;
    border: 1px solid rgba(221, 232, 255, 0.6);
    border: none;
    color: #fff;
    height: 2.6875rem;
}

.select2-container--default .select2-selection--single .select2-selection__placeholder {
    color: rgba(255, 255, 255, 0.6);
}

/* Selected text */
.select2-container--default .select2-selection--single .select2-selection__rendered {
    color: #fff;
    padding: 0.7857em 1.1428em;
    border-radius: 60px;
    border: 1px solid rgba(221, 232, 255, 0.6);
    font-size: var(--fs-body-sub);
    color: #FFFFFF;
    font-weight: var(--fw-regular);
    font-family: var(--font-main);
    line-height: 20px;
}

/* Arrow */
.select2-container--default .select2-selection--single .select2-selection__arrow b {
    display: none;
}

.select2-container--default .select2-selection--single .select2-selection__arrow {
    height: 100%;
    right: 16px;
    top: 2px;
    position: absolute;
    background-repeat: no-repeat;
    background-position: center;
    background-size: 20px;
    background-image: url("data:image/svg+xml;utf8,\<svg width='10' height='6' viewBox='0 0 10 6' fill='none' xmlns='http://www.w3.org/2000/svg'>\<path d='M4.5 5.01953C4.40278 5.01953 4.3125 5.00564 4.22917 4.97786C4.15972 4.9362 4.09722 4.88759 4.04167 4.83203L0.166667 0.95703C0.0555558 0.845919 0 0.720919 0 0.582031C0 0.443142 0.0625002 0.311197 0.1875 0.186198C0.3125 0.0611973 0.4375 -0.00130296 0.5625 -0.00130296C0.701389 -0.00130296 0.833334 0.0611973 0.958334 0.186198L4.5 3.7487L8.0625 0.186198C8.17361 0.075086 8.29861 0.0195301 8.4375 0.0195301C8.57639 0.0195301 8.70833 0.0820303 8.83333 0.207031C8.95833 0.33203 9.02083 0.463975 9.02083 0.602864C9.02083 0.727864 8.95833 0.852864 8.83333 0.977864L4.95833 4.83203C4.88889 4.88759 4.8125 4.9362 4.72917 4.97786C4.65972 5.00564 4.58333 5.01953 4.5 5.01953Z' fill='white' fill-opacity='0.6'/>\</svg>");
}

.select2-container--open.select2-selection--single.select2-selection__arrow {
    transform: rotate(180deg);
}

/* Disabled state — Select2 (used site-wide), built from theme tokens */
.select2-container--disabled .select2-selection--single,
.select2-container--disabled .select2-selection--multiple {
    background-color: transparent !important;
    border: none !important;
    cursor: not-allowed !important;
}

.select2-container--disabled .select2-selection__rendered {
    background-color: var(--bg-light-blue) !important;
    border: 2px solid var(--text-para-blue) !important;
    border-radius: 60px !important;
    color: var(--text-para-blue) !important;
    font-weight: 600 !important;
    cursor: not-allowed !important;
}

.select2-container--disabled .select2-selection__arrow {
    opacity: 0.7;
    background-image: url("data:image/svg+xml;utf8,<svg width='10' height='6' viewBox='0 0 10 6' fill='none' xmlns='http://www.w3.org/2000/svg'><path d='M4.5 5.01953C4.40278 5.01953 4.3125 5.00564 4.22917 4.97786C4.15972 4.9362 4.09722 4.88759 4.04167 4.83203L0.166667 0.95703C0.0555558 0.845919 0 0.720919 0 0.582031C0 0.443142 0.0625002 0.311197 0.1875 0.186198C0.3125 0.0611973 0.4375 -0.00130296 0.5625 -0.00130296C0.701389 -0.00130296 0.833334 0.0611973 0.958334 0.186198L4.5 3.7487L8.0625 0.186198C8.17361 0.075086 8.29861 0.0195301 8.4375 0.0195301C8.57639 0.0195301 8.70833 0.0820303 8.83333 0.207031C8.95833 0.33203 9.02083 0.463975 9.02083 0.602864C9.02083 0.727864 8.95833 0.852864 8.83333 0.977864L4.95833 4.83203C4.88889 4.88759 4.8125 4.9362 4.72917 4.97786C4.65972 5.00564 4.58333 5.01953 4.5 5.01953Z' fill='%23466385'/></svg>") !important;
}

.select2-container .select2-selection__rendered {
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
    padding-right: 45px !important;
    /* space for arrow */
}

/* .select2-container{width:100% !important;}
*/
/* Dropdown */
.select2-dropdown {
    background: rgba(0, 0, 0, 0.004);
    backdrop-filter: blur(16px);
    -webkit-backdrop-filter: blur(16px);
    border-width: 0px 1px 1px 1px;
    border-style: solid;
    border-color: rgba(255, 255, 255, 0.6);
    border-radius: 0px 0px 16px 16px;
    overflow-y: auto;
    overflow-x: hidden;
    margin-top: 0px;
}

.select2-container--default .select2-selection--single .select2-selection__clear {
    position: absolute;
    right: 6%;
    top: 15%;
    margin: 0;
    font-size: 25px;
    font-weight: 500;
    color: rgba(255, 255, 255, 0.4);
    display: none;
}

.select2-container--default.select2-container--focus {
    background: rgba(255, 255, 255, 0.4);
    border-radius: 60px;
}

.select2-container--default.select2-container--focus.select2-container--below.select2-container--open {
    border-radius: 16px;
    border-bottom-left-radius: 0;
    border-bottom-right-radius: 0;
}

.select2-container--default.select2-container--focus.select2-container--above.select2-container--open {
    border-radius: 16px;
    border-top-left-radius: 0;
    border-top-right-radius: 0;
}

.select2-container--default.select2-container--below.select2-container--open .select2-selection--single .select2-selection__rendered {
    border-radius: 16px;
    border-bottom-left-radius: 0;
    border-bottom-right-radius: 0;
}

.select2-container--default.select2-container--above.select2-container--open .select2-selection--single .select2-selection__rendered {
    border-radius: 16px;
    border-top-left-radius: 0;
    border-top-right-radius: 0;
}

.select2-container--open .select2-dropdown--above {
    border-radius: 16px;
    border-bottom-left-radius: 0;
    border-bottom-right-radius: 0;
    padding-top: 10px;
    border-top: 1px solid rgba(255, 255, 255, 0.6);
}

.select2-container--open .select2-dropdown--below {
    padding-top: 10px;
}

.select2-search--dropdown {
    padding: 0 16px;
}

/* Dropdown options */
.select2-results__option {
    color: #fff;
    padding: 0.7857em 1.1428em;
}

/* Hover */
.select2-results__options {
    padding: 0 16px;
    margin-top: 8px;
    scrollbar-width: thin;
    max-height: 220px;
    overflow-y: auto;
    overflow-x: hidden;
}

.select2-results__options::-webkit-scrollbar {
    width: 6px;
}

.select2-results__options::-webkit-scrollbar-track {
    background: transparent;
}

.select2-results__options::-webkit-scrollbar-thumb {
    background: rgba(255, 255, 255, 0.3);
    border-radius: 10px;
}

.select2-results__options li {
    padding: 8px 0;
    color: rgba(255, 255, 255, 0.8);
    font-weight: 300;
}

.select2-results__options li:not(:last-child) {
    border-bottom: 1px solid rgba(255, 255, 255, 0.2);
}

.select2-results__option--highlighted {
    background: rgba(255, 255, 255, 0.12);
}

/* Search input */
.select2-search__field {
    background: transparent;
    color: #fff;
    border: none;
    outline: none;
    padding: 0.7857em 1.1428em !important;
    font-size: .875rem;
    border-radius: 20px;
}

.select2-search__field::placeholder {
    color: rgba(255, 255, 255, 0.6);
    font-weight: 300;
}

/* Placeholder */
.select2-selection__placeholder {
    color: rgba(255, 255, 255, 0.7);
}

.select2-container--default .select2-results__option--highlighted.select2-results__option--selectable {
    background-color: transparent;
    color: white;
    font-weight: 600;
}

.select2-container--default .select2-results__option--selected {
    background-color: transparent;
    font-weight: 600;
}

/* ============================================
   GET STARTED DROPDOWN
   ============================================ */
.np_getstarted_wrap {
    position: relative;
}

.np_getstarted_wrap .np_getstarted_dropdown {
    position: absolute;
    top: 100%;
    left: 50%;
    min-width: 145px;
    padding-top: 10px;
    /* bridges the gap — mouse stays inside wrapper */
    opacity: 0;
    visibility: hidden;
    pointer-events: none;
    transform: translateX(-50%) translateY(-6px);
    transition: opacity 0.22s ease, transform 0.22s ease, visibility 0.22s ease;
    z-index: 999;
}

/* The visible card sits inside the padding-top gap */
.np_getstarted_wrap .np_getstarted_dropdown::after {
    content: '';
    display: block;
    position: absolute;
    top: 10px;
    left: 0;
    right: 0;
    bottom: 0;
    border-radius: 8px;
    background: rgba(21, 68, 163, 0.8);
    box-shadow: 0px 15px 26px rgba(29, 29, 29, 0.2);
    backdrop-filter: blur(50px);
    padding: 8px 16px;
    display: flex;
    justify-content: center;
    align-items: center;
    color: var(--text-white);
    box-shadow: inset 0 1px 1px rgba(255, 255, 255, 0.35), inset 0 -1px 1px rgba(255, 255, 255, 0.15), 0 20px 40px rgba(0, 0, 0, 0.25);
    z-index: -1;
}



.np_getstarted_wrap:hover .np_getstarted_dropdown,
.np_getstarted_wrap:focus-within .np_getstarted_dropdown {
    opacity: 1;
    visibility: visible;
    pointer-events: auto;
    transform: translateX(-50%) translateY(0);
}

.np_getstarted_dropdown a {
    display: block;
    position: relative;
    z-index: 1;
    color: rgba(255, 255, 255, 0.9);
    font-size: 16px;
    font-weight: 300;
    padding: 12px 16px;
    /* border-radius: 8px; */
    white-space: nowrap;
    transition: background 0.18s ease, color 0.18s ease;
    text-align: center;
    margin-top: 4px;
    margin-left: 16px;
    margin-right: 16px;
}

.np_getstarted_dropdown a:not(:last-child) {
    border-bottom: 1px solid #fff;
}

/* Preloader css */
/* Preloader Background */
.lightLoader {
    width: 100%;
    height: 100vh;
    position: fixed;
    top: 0;
    left: 0;
    z-index: 9999999;
    background: #ffffff;
    display: flex;
    align-items: center;
    justify-content: center;
    transition: opacity 0.5s ease;
}

.lightLoader.dark {
    width: 100%;
    height: 100vh;
    position: fixed;
    top: 0;
    left: 0;
    z-index: 9999999;
    background: #000000;
    display: flex;
    align-items: center;
    justify-content: center;
    transition: opacity 0.5s ease;
}

.loader-wrap {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 20px;
}

/* ── Size: change width here ── */
.loader-svg {
    width: 120px;
    height: auto;
    color: #1F447B;
}

.lightLoader.dark .loader-svg {
    color: #ffffff;
}

/* ── Breathe animation ── */
.loader-svg path {
    transform-box: fill-box;
    transform-origin: center;
    animation: breathe 2s ease-in-out infinite;
}

@keyframes breathe {

    0%,
    100% {
        transform: scale(0.6);
        opacity: 0.25;
    }

    50% {
        transform: scale(1.0);
        opacity: 1.0;
    }
}

.loader-label {
    font-size: 12px;
    letter-spacing: 0.2em;
    text-transform: uppercase;
    color: rgba(0, 0, 0, 0.3);
    font-weight: 400;
}

.lightLoader.dark .loader-label {
    font-size: 12px;
    letter-spacing: 0.2em;
    text-transform: uppercase;
    color: rgba(255, 255, 255, 0.3);
    font-weight: 400;
}



.np_hero_slider .slick-prev{left:30px !important;background:url(../images/arrow_circle_left.svg) no-repeat center !important;width:80px !important;height:80px !important;}
.np_hero_slider .slick-next{right:30px !important;background:url(../images/arrow_circle_right.svg) no-repeat center !important;width:80px !important;height:80px !important;}

.np_hero_slider .slick-arrow{background-size: cover !important; opacity:0.8;}


/* ============================================
   Apply Success Modal — career_detail
   ============================================ */
#applySuccessModal {
    display: none;
}

#applySuccessModal .modal-content.success {
    max-width: 480px;
    text-align: center;
}

#applySuccessModal .modal-img {
    margin: 20px auto;
}

#applySuccessModal .modal-img img {
    max-width: 220px;
    width: 100%;
}

#applySuccessModal .modal-body > div {
    margin-top: 24px;
}

/* ============================================
   Career Detail — Form Validation Error State
   ============================================ */
.field-error,
.field-error + .select2-container .select2-selection {
    border-color: #ee335e !important;
    box-shadow: 0 0 0 2px rgba(238, 51, 94, 0.18) !important;
}

.field-error:focus {
    outline-color: #ee335e;
}

/* ============================================
   RESEARCH LIBRARY LOGOUT BUTTON
   ============================================ */
.np_logout_btn {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    margin-top: 14px;
    padding: 6px 16px;
    background-color: #C0392B;
    color: #ffffff;
    border: none;
    border-radius: 20px;
    font-size: 0.8125rem;
    font-weight: 600;
    font-family: inherit;
    cursor: pointer;
    transition: background-color 0.2s ease, transform 0.15s ease;
}

.np_logout_btn:hover {
    background-color: #a93226;
    transform: translateY(-1px);
}

.np_logout_btn svg {
    flex-shrink: 0;
}

/* ============================================
   LOGOUT CONFIRM MODAL
   ============================================ */
.modal-content.np_logout_modal_content {
    background: #ffffff;
    max-width: 28rem;
    padding: 0;
    border-radius: 10px;
    overflow: hidden;
    backdrop-filter: none;
    box-shadow: 0 10px 40px rgba(0, 0, 0, 0.25);
}

.np_logout_modal_header {
    background: #3d4a8a;
    padding: 14px 20px;
    display: flex;
    align-items: center;
    justify-content: space-between;
}

.np_logout_modal_title {
    display: flex;
    align-items: center;
    gap: 8px;
    color: #ffffff;
    font-size: 1rem;
    font-weight: 600;
}

.np_logout_modal_title svg {
    flex-shrink: 0;
}

.np_logout_modal_close {
    background: none;
    border: none;
    color: #ffffff;
    font-size: 1.25rem;
    line-height: 1;
    cursor: pointer;
    padding: 0 2px;
    opacity: 0.8;
    transition: opacity 0.15s ease;
}

.np_logout_modal_close:hover {
    opacity: 1;
}

.np_logout_modal_body {
    padding: 28px 24px 20px;
}

.np_logout_modal_body p {
    margin: 0;
    font-size: 0.9375rem;
    color: #333333;
    font-weight: 400;
}

.np_logout_modal_footer {
    padding: 0 24px 24px;
    display: flex;
    align-items: center;
    justify-content: flex-end;
    gap: 12px;
}

.np_logout_cancel_btn {
    padding: 8px 22px;
    background: #ffffff;
    color: #333333;
    border: 1px solid #cccccc;
    border-radius: 6px;
    font-size: 0.875rem;
    font-weight: 500;
    font-family: inherit;
    cursor: pointer;
    transition: background-color 0.15s ease, border-color 0.15s ease;
}

.np_logout_cancel_btn:hover {
    background-color: #f5f5f5;
    border-color: #aaaaaa;
}

.np_logout_confirm_btn {
    display: inline-flex;
    align-items: center;
    gap: 7px;
    padding: 8px 22px;
    background: #3d4a8a;
    color: #ffffff;
    border: none;
    border-radius: 6px;
    font-size: 0.875rem;
    font-weight: 600;
    font-family: inherit;
    cursor: pointer;
    transition: background-color 0.15s ease;
}

.np_logout_confirm_btn:hover {
    background: #2e3a75;
}

.np_logout_confirm_btn svg {
    flex-shrink: 0;
}

/* RTL adjustments */
html[dir="rtl"] .np_logout_modal_title,
html[dir="rtl"] .np_logout_modal_footer {
    flex-direction: row-reverse;
}

html[dir="rtl"] .np_logout_modal_header {
    flex-direction: row-reverse;
}

html[dir="rtl"] .np_logout_modal_body p {
    text-align: right;
}

/* ============================================
   INTL-TEL-INPUT INTEGRATION (signup pages)
   ============================================ */

/* Override overflow:hidden from svg-style.css so dropdown isn't clipped */
.sv_signUpInputs.sv_iti_wrap {
    overflow: visible;
    padding: 2px 2px 2px 0;
    gap: 0;
}

/* intl-tel-input wraps the input in .iti — make it grow to fill the pill */
.sv_iti_wrap .iti {
    flex: 1;
    min-width: 0;
    align-self: stretch;
    display: flex;
    align-items: center;
}

.sv_iti_wrap .iti input[type="tel"] {
    width: 100%;
    height: 100%;
    padding: 0.6em 0.75em 0.6em 0;
    font-size: var(--fs-body-sub);
    color: #1F447B;
    font-weight: var(--fw-medium);
    font-family: var(--font-main);
    background-color: transparent;
    border: none;
    outline: none;
}

.sv_iti_wrap .iti input[type="tel"]::placeholder {
    color: rgba(31, 68, 123, 0.6);
}

.sv_iti_wrap .iti input[type="tel"][readonly] {
    color: rgba(31, 68, 123, 0.6);
}

/* Flag / dial-code button — match the old sv_contDrop pill style */
.sv_iti_wrap .iti__selected-flag {
    background: #DCEFFB;
    border-radius: 30px;
    padding: 0.35em 0.85em 0.35em 0.75em;
    margin: 3px 6px 3px 3px;
    height: calc(100% - 6px);
    outline: none;
    display: flex;
    align-items: center;
    gap: 5px;
}

.sv_iti_wrap .iti__selected-flag:hover,
.sv_iti_wrap .iti__selected-flag[aria-expanded="true"] {
    background: #c8e6f5;
}

.sv_iti_wrap .iti__selected-dial-code {
    font-family: var(--font-main);
    font-size: var(--fs-body-sub);
    font-weight: var(--fw-medium);
    color: rgba(31, 68, 123, 0.8);
    margin-left: 4px;
}

/* Dropdown — escape the pill, appear below */
.sv_iti_wrap .iti__dropdown-content {
    border-radius: 12px;
    box-shadow: 0 8px 24px rgba(0, 0, 0, 0.15);
    border: 1px solid #e0eef8;
    font-family: var(--font-main);
    z-index: 9999;
    top: calc(100% + 4px);
}

.sv_iti_wrap .iti__search-input {
    font-family: var(--font-main);
    font-size: var(--fs-body-sub);
    color: #1F447B;
    border: none;
    border-bottom: 1px solid #e0eef8;
    padding: 8px 12px;
    width: 100%;
    outline: none;
}

.sv_iti_wrap .iti__country-list {
    font-family: var(--font-main);
    font-size: var(--fs-body-sub);
    max-height: 220px;
}

.sv_iti_wrap .iti__country.iti__highlight,
.sv_iti_wrap .iti__country:hover {
    background-color: #DCEFFB;
}

.sv_iti_wrap .iti__dial-code {
    color: rgba(31, 68, 123, 0.6);
    font-size: 0.75rem;
}

/* RTL: phone numbers always read LTR */
html[dir="rtl"] .sv_iti_wrap .iti {
    direction: ltr;
}

html[dir="rtl"] .sv_iti_wrap .iti input[type="tel"] {
    text-align: left;
    padding: 0.6em 0 0.6em 0.75em;
}

/* RTL: flip the overall pill — Send OTP on left, flag pill on right */
html[dir="rtl"] .sv_signUpInputs.sv_iti_wrap {
    padding: 2px 0 2px 2px;
    flex-direction: row-reverse;
}

/* RTL: flag pill margin flipped */
html[dir="rtl"] .sv_iti_wrap .iti__selected-flag {
    margin: 3px 3px 3px 6px;
}

/* RTL: dial code margin flipped */
html[dir="rtl"] .sv_iti_wrap .iti__selected-dial-code {
    margin-left: 0;
    margin-right: 4px;
}

/* RTL: dropdown opens aligned to the right edge */
/* html[dir="rtl"] .sv_iti_wrap .iti__dropdown-content {
    left: auto;
    right: 0;
} */

/* ============================================
   PROFILE DROPDOWN
   ============================================ */

.np_profile_wrap {
    position: relative;
}

.np_profile_wrap .np_profile_dropdown {
    position: absolute;
    top: 100%;
    right: 0;
    min-width: 200px;
    padding-top: 10px;
    opacity: 0;
    visibility: hidden;
    pointer-events: none;
    transform: translateY(-6px);
    transition: opacity 0.22s ease, transform 0.22s ease, visibility 0.22s ease;
    z-index: 999;
}

/* The visible card */
.np_profile_dropdown_inner {
    background: rgba(21, 68, 163, 0.85);
    backdrop-filter: blur(50px);
    border-radius: 10px;
    box-shadow: inset 0 1px 1px rgba(255,255,255,0.35),
                inset 0 -1px 1px rgba(255,255,255,0.15),
                0 20px 40px rgba(0,0,0,0.25);
    overflow: hidden;
}

.np_profile_wrap:hover .np_profile_dropdown,
.np_profile_wrap:focus-within .np_profile_dropdown,
.np_profile_wrap.open .np_profile_dropdown {
    opacity: 1;
    visibility: visible;
    pointer-events: auto;
    transform: translateY(0);
}

/* Only show dropdown when user is logged in */
.np_profile_wrap:not(.is-logged-in):hover .np_profile_dropdown,
.np_profile_wrap:not(.is-logged-in):focus-within .np_profile_dropdown,
.np_profile_wrap:not(.is-logged-in).open .np_profile_dropdown {
    opacity: 0;
    visibility: hidden;
    pointer-events: none;
}

/* Email row */
.np_profile_email {
    display: block;
    color: rgba(255, 255, 255, 0.65);
    font-size: 13px;
    font-weight: 300;
    padding: 14px 18px 10px;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
    max-width: 220px;
    border-bottom: 1px solid rgba(255,255,255,0.18);
    cursor: default;
    letter-spacing: 0.01em;
}

/* Logout link */
.np_profile_logout {
    display: flex;
    align-items: center;
    gap: 8px;
    color: rgba(255, 255, 255, 0.92);
    font-size: 15px;
    font-weight: 300;
    padding: 12px 18px 14px;
    text-decoration: none;
    transition: background 0.18s ease, color 0.18s ease;
    white-space: nowrap;
}

.np_profile_logout:hover {
    background: rgba(255, 255, 255, 0.1);
    color: #fff;
}

.np_profile_logout svg {
    flex-shrink: 0;
    opacity: 0.75;
}


/* ============================================================
   DOCUMENT VERIFICATION PAGE
   express/document_verification.html
   ============================================================ */

/* Warning / caution banner */
.dv_warningBox {
    background: rgba(255, 59, 59, 0.08);
    border: 1px solid rgba(255, 59, 59, 0.25);
    border-radius: 12px;
    padding: 1.1rem 1.4rem;
    margin-bottom: 1.8rem;
}

.dv_warningBox p {
    color: #ff3b3b;
    font-size: 0.82rem;
    line-height: 1.65;
    font-weight: 400;
}

/* Tab switcher */
.dv_tabRow {
    display: flex;
    gap: 0;
    margin-bottom: 1.5rem;
}

.dv_tabBtn {
    padding: 0.55rem 1.3rem;
    border: 1.5px solid rgba(255, 255, 255, 0.35);
    background: transparent;
    color: rgba(255, 255, 255, 0.55);
    font-size: 0.78rem;
    font-weight: 500;
    letter-spacing: 0.04em;
    cursor: pointer;
    transition: all 0.22s ease;
    font-family: var(--font-main);
}

.dv_tabBtn:first-child {
    border-radius: 8px 0 0 8px;
}

.dv_tabBtn:last-child {
    border-radius: 0 8px 8px 0;
    border-left: none;
}

.dv_tabBtn.active {
    background: rgba(255, 255, 255, 0.18);
    color: #ffffff;
    border-color: rgba(255, 255, 255, 0.6);
}

/* Tab panels */
.dv_tabPanel {
    display: none;
}

.dv_tabPanel.active {
    display: block;
}

/* Field label */
.dv_label {
    display: block;
    color: rgba(255, 255, 255, 0.7);
    font-size: 0.82rem;
    font-weight: 400;
    margin-bottom: 0.5rem;
    letter-spacing: 0.02em;
}

.dv_label .dv_req {
    color: rgba(255, 100, 100, 0.85);
    margin-inline-start: 2px;
}

/* Section spacing */
.dv_formSection {
    margin-bottom: 1.6rem;
}

/* Country row — iti input + verify button side by side */
.dv_countryRow {
    display: flex;
    align-items: center;
    gap: 0.85rem;
}

.dv_countryRow .dv_itiWrap {
    flex: 1;
    min-width: 0;
}

/* ─── Custom Country Select Picker (dv_csp) ─────────────────────────────────── */

/* Wrapper — takes flex-1 inside .dv_countryRow */
.dv_cspWrap {
    position: relative;
    flex: 1;
    min-width: 0;
}

/* The visible "trigger" button */
.dv_csp {
    display: flex;
    align-items: center;
    gap: 0.55rem;
    width: 100%;
    background: rgba(255, 255, 255, 0.08);
    border: 1.5px solid rgba(255, 255, 255, 0.25);
    border-radius: 60px;
    padding: 0.75rem 1rem;
    color: #ffffff;
    font-size: 0.88rem;
    font-family: var(--font-main);
    cursor: pointer;
    transition: border-color 0.2s;
    user-select: none;
    outline: none;
}

.dv_csp:hover,
.dv_csp:focus {
    border-color: rgba(255, 255, 255, 0.55);
}

.dv_csp.is-open {
    border-color: rgba(255, 255, 255, 0.55);
    border-bottom-left-radius: 0;
    border-bottom-right-radius: 0;
}

/* Flag image inside trigger */
.dv_csp_flag {
    display: flex;
    align-items: center;
    flex-shrink: 0;
    line-height: 1;
}

.dv_csp_flag img {
    display: block;
    border-radius: 2px;
    object-fit: cover;
}

/* Country name label */
.dv_csp_label {
    flex: 1;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.dv_csp_label.dv_csp_placeholder {
    color: rgba(255, 255, 255, 0.4);
}

/* Chevron arrow */
.dv_csp_arrow {
    display: flex;
    align-items: center;
    flex-shrink: 0;
    color: rgba(255, 255, 255, 0.6);
    transition: transform 0.2s ease;
}

.dv_csp.is-open .dv_csp_arrow {
    transform: rotate(180deg);
}

/* Dropdown panel */
.dv_csp_dropdown {
    display: none;
    position: absolute;
    top: 100%;
    left: 0;
    right: 0;
    background: rgba(26, 47, 114, 0.98);
    border: 1.5px solid rgba(255, 255, 255, 0.25);
    border-top: none;
    border-radius: 0 0 16px 16px;
    box-shadow: 0 12px 32px rgba(0, 0, 0, 0.3);
    z-index: 2000;
    overflow: hidden;
}

.dv_csp_dropdown.is-open {
    display: flex;
    flex-direction: column;
}

/* Search box inside dropdown */
.dv_csp_search_wrap {
    padding: 0.55rem 0.75rem;
    border-bottom: 1px solid rgba(255, 255, 255, 0.1);
    flex-shrink: 0;
}

.dv_csp_search {
    width: 100%;
    background: rgba(255, 255, 255, 0.08);
    border: 1px solid rgba(255, 255, 255, 0.2);
    border-radius: 8px;
    color: #fff;
    font-family: var(--font-main);
    font-size: 0.83rem;
    padding: 0.42rem 0.75rem;
    outline: none;
    box-sizing: border-box;
    transition: border-color 0.2s;
}

.dv_csp_search:focus {
    border-color: rgba(255, 255, 255, 0.45);
}

.dv_csp_search::placeholder {
    color: rgba(255, 255, 255, 0.4);
}

/* Scrollable country list */
.dv_csp_list {
    list-style: none;
    margin: 0;
    padding: 0.3rem 0;
    max-height: 260px;
    overflow-y: auto;
    scrollbar-width: thin;
    scrollbar-color: rgba(255, 255, 255, 0.2) rgba(255, 255, 255, 0.04);
}

.dv_csp_list::-webkit-scrollbar { width: 5px; }
.dv_csp_list::-webkit-scrollbar-track { background: rgba(255,255,255,0.04); }
.dv_csp_list::-webkit-scrollbar-thumb { background: rgba(255,255,255,0.2); border-radius: 4px; }
.dv_csp_list::-webkit-scrollbar-thumb:hover { background: rgba(255,255,255,0.35); }

/* Individual country item */
.dv_csp_item {
    display: flex;
    align-items: center;
    gap: 0.6rem;
    padding: 0.6rem 1rem;
    cursor: pointer;
    color: rgba(255, 255, 255, 0.8);
    font-size: 0.87rem;
    font-family: var(--font-main);
    transition: background 0.15s;
}

.dv_csp_item:hover {
    background: rgba(255, 255, 255, 0.1);
    color: #fff;
}

.dv_csp_item.is-selected {
    background: rgba(21, 68, 163, 0.8);
    color: #fff;
}

.dv_csp_item img {
    border-radius: 2px;
    object-fit: cover;
    flex-shrink: 0;
}

.dv_csp_item span {
    flex: 1;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

/* No results state */
.dv_csp_noResult {
    padding: 0.8rem 1rem;
    color: rgba(255,255,255,0.4);
    font-size: 0.83rem;
    font-family: var(--font-main);
    text-align: center;
}

/* Invalid state */
.dv_cspWrap.is-invalid .dv_csp {
    border-color: #dc3545;
}

/* RTL adjustments */
[dir="rtl"] .dv_csp {
    flex-direction: row-reverse;
}

[dir="rtl"] .dv_csp_item {
    flex-direction: row-reverse;
}

/* iti dropdown - legacy styles for other contexts */
.iti__country-list {
    background: #1a2f72;
    border: 1px solid rgba(255, 255, 255, 0.15);
    border-radius: 12px;
    box-shadow: 0 8px 32px rgba(0, 0, 0, 0.35);
    max-height: 240px;
    overflow-y: auto;
    scrollbar-width: thin;
    scrollbar-color: rgba(255, 255, 255, 0.2) transparent;
    z-index: 9999;
}

.iti__country-list::-webkit-scrollbar {
    width: 5px;
}

.iti__country-list::-webkit-scrollbar-thumb {
    background: rgba(255, 255, 255, 0.2);
    border-radius: 10px;
}

.iti__country {
    padding: 0.6rem 1rem;
    color: rgba(255, 255, 255, 0.85);
    font-size: 0.83rem;
    font-family: var(--font-main);
    transition: background 0.15s;
}

.iti__country:hover,
.iti__country.iti__highlight {
    background: rgba(255, 255, 255, 0.1) !important;
}

.iti__country-name {
    color: rgba(255, 255, 255, 0.85);
}

.iti__dial-code {
    color: rgba(255, 255, 255, 0.45);
}

.iti__divider {
    border-bottom-color: rgba(255, 255, 255, 0.1);
}

.iti__search-input {
    background: rgba(255, 255, 255, 0.08);
    border: 1px solid rgba(255, 255, 255, 0.2);
    border-radius: 8px;
    color: #fff;
    font-family: var(--font-main);
    font-size: 0.83rem;
    padding: 0.45rem 0.75rem;
    width: calc(100% - 1rem);
    margin: 0.5rem;
    outline: none;
}

.iti__search-input::placeholder {
    color: rgba(255, 255, 255, 0.4);
}

/* Verify button */
.dv_verifyBtn {
    display: inline-flex;
    align-items: center;
    gap: 0.45rem;
    background: rgba(255, 255, 255, 0.15);
    border: 1.5px solid rgba(255, 255, 255, 0.5);
    border-radius: 60px;
    padding: 0.7rem 1.6rem;
    color: #ffffff;
    font-size: 0.88rem;
    font-weight: 500;
    font-family: var(--font-main);
    cursor: pointer;
    letter-spacing: 0.03em;
    white-space: nowrap;
    transition: background 0.2s, border-color 0.2s;
    flex-shrink: 0;
}

.dv_verifyBtn:hover {
    background: rgba(255, 255, 255, 0.25);
    border-color: rgba(255, 255, 255, 0.8);
}

.dv_verifyBtn svg {
    width: 16px;
    height: 16px;
    flex-shrink: 0;
}

/* Inline error message */
.dv_errorMsg {
    color: #ff6b6b;
    font-size: 0.75rem;
    margin-top: 0.3rem;
    display: none;
}

.dv_errorMsg.visible {
    display: block;
}

/* Invalid state on the wrapper (handled in dv_csp block above) */

/* Responsive: stack on narrow screens */
@media (max-width: 540px) {
    .dv_countryRow {
        flex-direction: column;
        align-items: stretch;
    }

    .dv_verifyBtn {
        justify-content: center;
    }

    .dv_csp_dropdown {
        border-radius: 0 0 12px 12px;
    }
}

/* ─── Fix: dropdown clipped by scrollable form box ─────────────────────────── */
/* When the country picker is open, allow it to overflow the scrollable container */
.sv_accountCreationRightFormBox:has(.dv_csp_dropdown.is-open) {
    overflow: visible;
}

/* JS-toggled class for browsers that don't support :has() */
.sv_accountCreationRightFormBox.dv_csp_overflow_open {
    overflow: visible;
}


/* ============================================
   SELECT2 MULTIPLE ONLY
   Scoped entirely to .select2-selection--multiple
   Does NOT affect any single-select styles
   ============================================ */

/* ── 1. Outer container ── */
.select2-container--default .select2-selection--multiple {
    background: transparent !important;
    border: none !important;
    border-radius: 60px;
    min-height: 2.6875rem;
    position: relative;
    width: 100%;
    box-sizing: border-box;
    padding: 0 !important;
    outline: none !important;
    box-shadow: none !important;
}

/* ── 2. FIX: White blur overlay — your style.css sets background on
         .select2-container--default.select2-container--focus
         We override it only when a multiple selection is inside ── */
.select2-container--default.select2-container--focus:has(.select2-selection--multiple) {
    background: transparent !important;
    border-radius: 60px !important;
    box-shadow: none !important;
    outline: none !important;
}

/* ── 3. The visible bordered pill row ── */
.select2-container--default .select2-selection--multiple .select2-selection__rendered {
    display: flex !important;
    flex-direction: row !important;
    flex-wrap: nowrap !important;
    overflow-x: auto !important;
    overflow-y: hidden !important;
    align-items: center !important;
    gap: 4px;
    padding: 0 2.8em 0 1.1428em !important;
    border-radius: 60px !important;
    border: 1px solid rgba(221, 232, 255, 0.6) !important;
    background: transparent !important;
    min-height: 2.6875rem;
    box-sizing: border-box;
    width: 100%;
    scrollbar-width: none;
    -ms-overflow-style: none;
    font-size: var(--fs-body-sub, 0.875rem);
    font-family: var(--font-main, inherit);
    color: #ffffff;
    line-height: 2.6875rem;
    cursor: pointer;
    list-style: none !important;
    margin: 0 !important;
}

.select2-container--default .select2-selection--multiple .select2-selection__rendered::-webkit-scrollbar {
    display: none;
}

/* ── 4. Placeholder ── */
.select2-container--default .select2-selection--multiple .select2-selection__placeholder {
    color: rgba(255, 255, 255, 0.6) !important;
    font-size: var(--fs-body-sub, 0.875rem);
    font-weight: 400;
    line-height: 2.6875rem;
    flex: 1 1 auto;
    display: block !important;
    padding: 0 !important;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

/* ── 5. Hide ghost blank choice only, NOT the placeholder ── */
.select2-container--default .select2-selection--multiple .select2-selection__choice[title=""] {
    display: none !important;
}

/* ── 6. Selected pill tags ── */
.select2-container--default .select2-selection--multiple .select2-selection__choice {
    background: rgba(255, 255, 255, 0.15) !important;
    border: 1px solid rgba(221, 232, 255, 0.4) !important;
    border-radius: 40px !important;
    color: #ffffff !important;
    font-size: 0.75rem !important;
    font-weight: 400;
    padding: 2px 8px 2px 15px !important;
    margin: 0 !important;
    white-space: nowrap;
    flex-shrink: 0;
    display: inline-flex !important;
    align-items: center;
    gap: 4px;
    line-height: 1.4;
    float: none !important;
    position: relative;
}

/* ── 7. × remove inside tag ── */
.select2-container--default .select2-selection--multiple .select2-selection__choice__remove {
    color: rgba(255, 255, 255, 0.6) !important;
    font-size: 15px;
    font-weight: 400;
    line-height: 1;
    border: none !important;
    background: none !important;
    padding: 0 2px 0 0 !important;
    margin: 0 !important;
    cursor: pointer;
    order: -1;
    flex-shrink: 0;
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    left: 5px;
}

.select2-container--default .select2-selection--multiple .select2-selection__choice__remove:hover {
    color: #ffffff !important;
    background: none !important;
}

.select2-container--default .select2-selection--multiple .select2-selection__choice__display {
    color: #ffffff;
    font-size: 0.75rem;
}

/* ── 8. FIX: Inline search stays INSIDE the pill row ──
         style.css sets .select2-search__field padding/border globally;
         we override only the inline variant here                     ── */
.select2-container--default .select2-selection--multiple .select2-search--inline {
    float: none !important;
    display: none !important;
    align-items: center;
    flex-shrink: 0;
    padding: 0 !important;
    margin: 0 !important;
    line-height: 1;
    /* Prevent it escaping the flex row */
    position: static !important;
    width: auto !important;
}

.select2-container--open.select2-container--default .select2-selection--multiple .select2-search--inline {
    display: block;
}

.select2-container--default .select2-selection--multiple .select2-search--inline .select2-search__field {
    background: transparent !important;
    border: none !important;
    outline: none !important;
    box-shadow: none !important;
    /* Override the shared padding from style.css */
    padding: 0 !important;
    margin: 0 !important;
    /* Collapse so it's invisible until user clicks in */
    width: 4px !important;
    min-width: 4px !important;
    max-width: 120px;
    font-size: 0.75rem !important;
    caret-color: white;
    /* Hide "Type something" text but keep caret */
    color: transparent !important;
    /* textarea-specific: prevent resize handle and fix height */
    height: 1.4em !important;
    resize: none !important;
    overflow: hidden !important;
    line-height: 1.4 !important;
    vertical-align: middle !important;
}

.select2-container--default .select2-selection--multiple .select2-search--inline .select2-search__field:focus {
    width: 80px !important;
    color: rgba(255, 255, 255, 0.8) !important;
}

.select2-container--default .select2-selection--multiple .select2-search--inline .select2-search__field::placeholder {
    color: transparent !important;
}

/* ── 9. Arrow pseudo on outer container ── */
.select2-container--default .select2-selection--multiple::after {
    content: '';
    position: absolute;
    right: 16px;
    top: 50%;
    transform: translateY(-50%);
    width: 12px;
    height: 8px;
    background-repeat: no-repeat;
    background-position: center;
    background-size: contain;
    pointer-events: none;
    z-index: 2;
    background-image: url("data:image/svg+xml;utf8,\<svg width='10' height='6' viewBox='0 0 10 6' fill='none' xmlns='http://www.w3.org/2000/svg'>\<path d='M4.5 5.01953C4.40278 5.01953 4.3125 5.00564 4.22917 4.97786C4.15972 4.9362 4.09722 4.88759 4.04167 4.83203L0.166667 0.95703C0.0555558 0.845919 0 0.720919 0 0.582031C0 0.443142 0.0625002 0.311197 0.1875 0.186198C0.3125 0.0611973 0.4375 -0.00130296 0.5625 -0.00130296C0.701389 -0.00130296 0.833334 0.0611973 0.958334 0.186198L4.5 3.7487L8.0625 0.186198C8.17361 0.075086 8.29861 0.0195301 8.4375 0.0195301C8.57639 0.0195301 8.70833 0.0820303 8.83333 0.207031C8.95833 0.33203 9.02083 0.463975 9.02083 0.602864C9.02083 0.727864 8.95833 0.852864 8.83333 0.977864L4.95833 4.83203C4.88889 4.88759 4.8125 4.9362 4.72917 4.97786C4.65972 5.00564 4.58333 5.01953 4.5 5.01953Z' fill='white' fill-opacity='0.6'/>\</svg>");
    transition: transform 0.2s ease;
}

.select2-container--default.select2-container--open .select2-selection--multiple::after {
    transform: translateY(-50%) rotate(180deg);
}

/* ── 10. Open state border radius ── */
.select2-container--default.select2-container--open.select2-container--below
.select2-selection--multiple .select2-selection__rendered {
    border-radius: 16px !important;
    border-bottom-left-radius: 0 !important;
    border-bottom-right-radius: 0 !important;
}

.select2-container--default.select2-container--open.select2-container--above
.select2-selection--multiple .select2-selection__rendered {
    border-radius: 16px !important;
    border-top-left-radius: 0 !important;
    border-top-right-radius: 0 !important;
}

/* ── 11. FIX: Force dropdown to open below by overriding --above position ──
         Select2 appends the dropdown to <body> and positions it absolutely.
         When it picks --above, we flip top to auto and use the --below styles  ── */
.select2-container--open .select2-dropdown--above:has( .select2-results__options ) {
    /* Reset the upward position Select2 sets inline */
    top: 100% !important;
    bottom: auto !important;
    border-radius: 0 0 16px 16px !important;
    border-top: none !important;
    border-bottom: 1px solid rgba(255, 255, 255, 0.6);
    margin-top: 0;
}

/* ── 12. Hide default clear-all ── */
.select2-container--default .select2-selection--multiple .select2-selection__clear {
    display: none !important;
}

/* ── 13. Selected options show a checkmark in the dropdown ── */
.select2-container--open .select2-results__option--selected {
    background-color: rgba(255, 255, 255, 0.08) !important;
    font-weight: 600 !important;
    position: relative;
}

.select2-container--open .select2-results__option--selected::after {
    content: '✓';
    position: absolute;
    right: 1.1428em;
    top: 50%;
    transform: translateY(-50%);
    color: rgba(255, 255, 255, 0.8);
    font-size: 0.75rem;
    font-weight: 600;
}

/* ── 14. Hide blank first option in dropdown ── */
.select2-results__option:first-child:empty {
    display: none !important;
    height: 0 !important;
    padding: 0 !important;
}

/* ── 15. Horizontal scroll for Country of Tax Residence multiselects ──
         Global multiselect rule hides the scrollbar for a clean look.
         These fields can have many selections so we show a thin scrollbar. ── */
.np_tax-country-field .select2-selection--multiple .select2-selection__rendered {
    scrollbar-width: thin !important;
    scrollbar-color: rgba(255, 255, 255, 0.25) transparent !important;
    -ms-overflow-style: auto !important;
}

.np_tax-country-field .select2-selection--multiple .select2-selection__rendered::-webkit-scrollbar {
    display: block !important;
    height: 4px !important;
}

.np_tax-country-field .select2-selection--multiple .select2-selection__rendered::-webkit-scrollbar-track {
    background: transparent !important;
}

.np_tax-country-field .select2-selection--multiple .select2-selection__rendered::-webkit-scrollbar-thumb {
    background: rgba(255, 255, 255, 0.25) !important;
    border-radius: 4px !important;
}
