:root {
    --box-shadow-color: rgb(28, 91, 138, 0.35);
}

#blazor-error-ui, #components-reconnect-modal {
    background: lightyellow;
    background: #f7f7f7;
    color: #333;
    bottom: 0;
    box-shadow: 0 -1px 2px rgba(0, 0, 0, 0.2);
    display: none;
    left: 0;
    padding: 0.6rem 1.25rem 0.7rem 1.25rem;
    position: fixed;
    width: 100%;
    height: 100%;
    z-index: 10500;
}

.mini-sidebar .header-left .logo img {
    width: 90px !important;
}

iframe {
    height: 100vh;
    width: 100%;
    border: none;
    overflow: hidden;
}

.featured {
    display: none;
}

.btn {
    border-radius: 20px;
    padding: 5px 20px;
}

.rounded-card,
.card.form-header,
.card.form-header .card-body {
    border-radius: 10px;
}

    .image-container img {
        height: 100%;
        width: 100%;
    }

.form-control.invalid,
.rz-spinner-input.invalid,
.rz-dropdown.form-control.invalid,
.form-control.rz-textbox.invalid {
    border-color: #ee9aa2 !important;
}

.validation-message, .rz-messages-error {
    color: #ee9aa2;
}

@media(min-width: 769px) {
    .sandbox-access-form {
        margin-left: 10%;
        width: 80%;
    }
}

.sandbox-access-form label {
    font-weight: 600;
}

.sandbox-access-form .form-heading {
    color: #f7f7f7;
}

.swal-text, .swal-content {
    margin-top: 30px !important;
}

/********************************
    ****************************
    footer Stylings
    ********************************
*/
section#footer {
    padding: 20px 0;
}

    section#footer .section-title {
        text-align: center;
        color: #007b5e;
        margin-bottom: 50px;
        text-transform: uppercase;
    }

#footer {
    /*background: #343a40 !important;*/
    background: #626d78 !important;
    bottom: 0 !important;
    left: 0;
    margin-top: 15rem;
    width: 100%;
}

    #footer h5 {
        padding-left: 10px;
        border-left: 3px solid #eeeeee;
        padding-bottom: 6px;
        margin-bottom: 20px;
        color: #ffffff;
        font-size: 16px;
    }

    #footer a {
        color: #ffffff;
        font-size: 0.9rem;
        text-decoration: none !important;
        background-color: transparent;
        -webkit-text-decoration-skip: objects;
    }

    #footer ul.social li {
        padding: 3px 0;
    }

    #footer p {
        font-size: 0.9rem;
        color: #fff;
    }

    #footer ul.social li a i {
        margin-right: 5px;
        font-size: 25px;
        -webkit-transition: .5s all ease;
        -moz-transition: .5s all ease;
        transition: .5s all ease;
    }

    #footer ul.social li:hover a i {
        font-size: 30px;
        margin-top: -10px;
    }

    #footer ul.social li a,
    #footer ul.quick-links li a {
        color: #ffffff;
    }

        #footer ul.social li a:hover {
            color: #eeeeee;
        }

    #footer ul.quick-links li {
        padding: 3px 0;
        display: inline;
        margin-left: 5px;
        -webkit-transition: .5s all ease;
        -moz-transition: .5s all ease;
        transition: .5s all ease;
    }

        #footer ul.quick-links li:hover {
            padding: 3px 0;
            margin-left: 5px;
            font-weight: 700;
        }

        #footer ul.quick-links li a i {
            margin-right: 5px;
        }

        #footer ul.quick-links li:hover a i {
            font-weight: 700;
        }

    #footer h5 {
        display: inline;
    }

a.url-link {
    border-bottom: 2px dotted #fff;
    /*color: #ffdc22 !important;*/
    padding-bottom: 2px;
    transition: all ease .1s
}

    a.url-link:hover {
        border-bottom: none;
    }

.link-img {
    width: 200px;
}

    .link-img img {
        width: 100%;
        max-width: 150px;
        border: 2px solid #eee;
        border-radius: 10px;
    }

.idia-links {
    align-content: end;
}

@media (min-width:768px) {
    .need-idia {
        float: right;
    }
}

@media (max-width:767px) {
    #footer h5 {
        padding-left: 0;
        border-left: transparent;
        padding-bottom: 0px;
        margin-bottom: 10px;
        font-size: 0.8rem;
    }

    .link-img img {
        width: 40%;
        margin-bottom: 5px;
    }
    a.url-link{
        padding-bottom: 0;
    }
}

.card-body .loading,
.row .loading {
    min-height: 400px;
    font-size: 14px;
}

.intro-content{
    font-size: 0.95rem;
}

.btn-show-pass {
    top: -30px;
    right: -40%;
    position: relative;
}

.add-new-broker .btn-show-pass,
.oms-auth-modal .btn-show-pass {
    right: -45%;
}

.form-control.invalid ~ .btn-show-pass {
    top: -45px;
}

.btn-show-pass.reset {
    right: -40%;
}

.btn-show-pass:hover {
    cursor: pointer;
}

/*USER menu STYLES*/
.user-menu .dropdown-menu .dropdown-item:hover {
    color: #fff;
}

.user-header .user-text {
    margin-left: 10px;
    max-width: 130px;
    font-size: 0.75rem;
    font-weight: 700;
}

    .user-header .user-text h6 {
        margin-bottom: 2px;
        overflow: hidden;
        text-overflow: ellipsis;
        font-size: 0.85rem;
        font-weight: 700;
        font-size: 0.8rem;
        font-weight: 700;
    }


/*REGISTER/SIGNUP PAGE STYLES*/
.signup, .onboarding {
    display: flex;
    justify-content: center;
}

.login100-form {
    width: 100%;
    height: 60vh;
    font-size: 20px;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
}

    .login100-form .email-entry, .login100-form .has-broker {
        height: 75vh;
        display: flex;
        flex-direction: column;
        justify-content: space-between;
    }

    .login100-form .broker-info {
        height: 100vh;
    }

    .login100-form .has-broker {
        justify-content: space-evenly;
    }

.login-wrapper {
    background-image: linear-gradient(to bottom, rgba(0,0,0, 0.52), var(--box-shadow-color)), url('../assets/img/login-bg.jpg');
    background-repeat: no-repeat;
    background-position: center;
    background-size: cover;
}

.container-login100-form-btn {
    display: flex;
    flex-direction: column;
}

@media (min-width: 769px) {
    .wrap-login100 {
        width: 420px;
        border-radius: 10px;
        overflow: hidden;
        padding: 77px 55px 33px;
        /* box-shadow: 0 5px 10px 0 rgba(0, 0, 0, .1);
        -moz-box-shadow: 0 5px 10px 0 rgba(0, 0, 0, .1);
        -webkit-box-shadow: 0 5px 10px 0 rgba(0, 0, 0, .1);
        -o-box-shadow: 0 5px 10px 0 rgba(0, 0, 0, .1);
        -ms-box-shadow: 0 5px 10px 0 rgba(0, 0, 0, .1)*/
    }

    .login100-form {
        width: 100%;
        height: 60vh !important;
    }
}

@media (max-width: 769px) {
    .login-wrapper .loginbox {
        box-shadow: none !important;
        /*background-color: transparent !important;*/
    }

        .login-wrapper .loginbox .login-left {
            display: none !important;
            box-shadow: none !important;
            background-color: transparent !important;
            display: flex;
            justify-content: space-evenly;
        }
}

.login-wrapper .loginbox.mobile {
    box-shadow: none !important;
    background-color: transparent !important;
}

.loginbox.mobile .login-left {
    display: none !important;
}

.login100-form.basic-info {
    height: auto !important;
}

.login100-form.signup-form {
    justify-content: space-evenly !important;
}

.login100-form.login-form {
    justify-content: center !important;
}

@media (max-width: 768px) {
    .login100-form.signup-form {
        justify-content: space-between !important;
    }
}

.info {
    font-weight: 600;
    font-size: 16px;
}

.info.link {
    font-size: 14px !important;
}

.privacy-modal .row {
    justify-content: center;
}

.image-container {
    width: 200px;
    height: 65px;
    align-self: center;
}

    .image-container.reset {
        width: unset;
    }

    .image-container img, .image-container svg {
        width: 100%;
        height: 100%;
    }


/*SWEET ALERT STYLES*/
.swal-overlay {
    /*z-index: 9990;*/
}

.swal-modal {
    border-radius: 10px;
    padding: 4px;
}

.swal-button:focus {
    box-shadow: none;
}

.swal-button-container {
    width: 100%;
    display: flex;
    justify-content: center;
}

.swal-button {
    width: 100%;
    border-radius: 20px;
    padding: 5px 20px;
}

.page-wrapper > .content {
    min-height: 500px;
}

/*Html Docs Styling*/
.docs-content-wrapper {
    padding: 20px 30px;
}

.docs-content-wrapper h1{
    font-size: 2rem;
}

.docs-content-wrapper h2 {
    font-size: 1.5rem;
}

.docs-content-wrapper h3 {
    font-size: 1rem;
}

.card-body .loading,
.row .loading {
    min-height: 400px;
    font-size: 14px;
}

.coming-soon{
    font-style: italic;
    color: darkred;
}

h3.section-title {
    font-size: 1.75rem;
}
.responsive-iframe {
    width: 100%;
    height: 420px; /* adjust as needed */
    border: 0;
}

.iframe-container {
    padding: 0.5rem;
}
.download-IDIA {
    align-items: center;
}

.download-IDIA-text h6 {
    font-weight: 600;
}

.IDIA-img-container {
    text-align: center;
    margin-bottom: 0.5rem;
}

.IDIA_download_img {
    max-width: 100%;
    height: auto;
}
/* Compact market tile styling */
.market-data {
    margin-bottom: 0.6rem;
}

.tile-compact {
    height: 84px;
    border-radius: 4px;
    overflow: hidden;
    display: flex;
    align-items: stretch;
    background-color: #343a40; /* dark background */
    border: none;
    color: #fff;
}

    /* Left indicator stripe */
    .tile-compact.positive {
        border-left: 4px solid #28a745;
    }

    .tile-compact.negative {
        border-left: 4px solid #dc3545;
    }

    /* Inner layout */
    .tile-compact .card-body {
        padding: 6px 8px !important;
    }

/* Top section (percent & icon) */
.tile-pct {
    font-size: 11px;
    font-weight: 600;
    display: inline-flex;
    align-items: center;
    gap: 3px;
}

.material-icons.md-18 {
    font-size: 16px;
    vertical-align: middle;
    line-height: 1;
}

/* Price & Symbol */
.price-text {
    font-size: 0.8rem;
    line-height: 1;
    color: #fff;
}

.symbol-text {
    display: block;
    font-size: 11px;
    margin-top: 4px;
    text-transform: uppercase;
    letter-spacing: .5px;
    color: #adb5bd !important;
}

/* Keep 6 cards per row on large screens */
@media (min-width: 992px) {
    .market-data {
        flex: 0 0 16.666667%;
        max-width: 16.666667%;
    }
}
.price-select {
    width: 8rem !important;
    border: none;
}
.card.card-chart {
    border: none;
    border-radius: .5rem;
}

/* header */
.card-chart .card-header {
    background: transparent; /* leave background control to page */
    border-bottom: 0;
    padding: .5rem .75rem; /* header height & spacing */
}

/* remove padding on card-body so iframe sits flush under header */
.card-chart .card-body.p-0 {
    padding: 0 !important;
}

/* iframe fills the card-body exactly */
.iframe-container {
    width: 100%;
    height: 460px;
}
/* set desired height */
.responsive-iframe {
    width: 100%;
    height: 100%;
    border: 0;
    display: block;
}

/* small select placed at top-right */
.price-select {
    min-width: 100px;
}
.select-head{
    height: 3rem !important
}
/* Main submenu hover fix */
.submenu > a:hover,
.submenu > a:focus,
.submenu:hover > a {
    background: #fff !important; /* White background */
    color: #333 !important; /* Dark text */
    cursor: pointer !important; /* Pointer cursor */
}

    /* Ensure icon + arrow inside NavLink also change color */
    .submenu > a:hover i,
    .submenu:hover > a i,
    .submenu > a:hover .menu-arrow,
    .submenu:hover > a .menu-arrow {
        color: #333 !important;
    }
.idia-call-to-action {
    display: inline-block;
    margin: 0;
}

    .idia-call-to-action .fe {
        font-size: 18px;
        vertical-align: middle;
    }
.list-group-item-2 {
    position: relative;
    display: block;
    padding: .75rem 1.25rem;
    margin-bottom: -1px;
    /* background-color: #fff; */
    border: 1px solid rgba(0, 0, 0, .125);
}
.default-text {
    color: #ffdc22 !important;
}

.default-text-sucess {
    color: green !important;
}

.default-text-danger {
    color: red !important;
}
.marquee-wrapper {
    overflow: hidden;
    white-space: nowrap;
}

.marquee-content {
    display: inline-block;
    will-change: transform;
    animation: marquee 70s linear infinite;
}

.marquee-item {
    margin: 0 1.25rem;
    display: inline-block;
}

@keyframes marquee {
    0% {
        transform: translateX(100%);
    }

    100% {
        transform: translateX(-100%);
    }
}
.app-dropdown-menu {
    min-width: 320px;
    padding: 0.5rem;
}

.app-list .app-item {
    display: block;
    text-align: center;
    padding: 0.5rem;
    color: inherit;
    text-decoration: none;
}

    .app-list .app-item img {
        max-height: 48px;
        display: block;
        margin: 0 auto 0.25rem;
    }

.user-menu .user-img img {
    width: 31px;
    height: 31px;
    object-fit: cover;
}

.user-header {
    padding: 0.75rem;
    display: flex;
    gap: 0.75rem;
    align-items: center;
}

.avatar-img {
    width: 48px;
    height: 48px;
    object-fit: cover;
    border-radius: 50%;
}

.user-text h6 {
    margin: 0;
    font-size: 0.95rem;
}

.user-text p {
    margin: 0;
    font-size: 0.85rem;
    color: #6c757d;
}
.main-link a {
    cursor: pointer;
}

/* Prevent page scroll while modal open */
.rmodal-body-blocked {
    overflow: hidden !important;
}

/* overlay */
.rmodal-overlay {
    position: fixed;
    inset: 0;
    background: rgba(0,0,0,0);
    opacity: 0;
    transition: background 300ms ease, opacity 300ms ease;
    z-index: 1040;
    pointer-events: none;
}

.rmodal-wrapper {
    position: fixed;
    inset: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    z-index: 1050;
    pointer-events: none;
    opacity: 0;
    transform: translateY(8px) scale(0.995);
    transition: opacity 300ms ease, transform 300ms ease;
}

/* when open */
.rmodal-overlay.open {
    background: rgba(0,0,0,0.55);
    opacity: 1;
    pointer-events: auto;
}

.rmodal-wrapper.open {
    opacity: 1;
    transform: translateY(0) scale(1);
    pointer-events: auto;
}

/* modal box */
.rmodal {
    width: min(920px, 95vw);
    max-height: 90vh;
    display: flex;
    flex-direction: column;
    background: transparent;
    border-radius: 10px;
    overflow: hidden;
    box-shadow: 0 10px 30px rgba(0,0,0,0.25);
}

/* body holds image — image fills area */
.rmodal-body {
    flex: 1 1 auto;
    min-height: 360px;
    display: block;
    background: #111;
    overflow: hidden;
}

    .rmodal-body img {
        width: 100%;
        height: 100%;
        object-fit: cover;
        display: block;
    }

/* footer with centered button */
.rmodal-footer {
    flex: 0 0 auto;
    padding: 14px;
    background: rgba(255,255,255,0.95);
    display: flex;
    justify-content: center;
    align-items: center;
    border-top: 1px solid rgba(0,0,0,0.06);
}

.rmodal-btn {
    padding: 10px 18px;
    border-radius: 8px;
    font-weight: 600;
    border: none;
    cursor: pointer;
    background: #0d6efd;
    color: white;
    box-shadow: 0 4px 12px rgba(13,110,253,0.16);
    transition: transform 120ms ease, box-shadow 120ms ease;
}

    .rmodal-btn:hover {
        transform: translateY(-2px);
    }

    .rmodal-btn:active {
        transform: translateY(0);
    }

.rmodal-close-btn {
    position: absolute;
    top: 0.5rem;
    right: 0.5rem;
    font-size: 1.5rem;
    background: transparent;
    border: none;
    color: #333;
    cursor: pointer;
    z-index: 10;
}

    .rmodal-close-btn:hover {
        color: #000;
    }

.rmodal {
    position: relative;
}
/* wrapper keeps modal centered but allows padding on very small screens */
.rmodal-wrapper {
    position: fixed;
    inset: 0;
    display: flex;
    align-items: center; /* center vertically on larger viewports */
    justify-content: center;
    padding: 12px; /* space so modal doesn't touch device edges */
    z-index: 1050;
    pointer-events: none;
}

/* modal box: column flex so body can grow/shrink */
.rmodal {
    position: relative;
    width: min(920px, 95vw);
    max-height: calc(100vh - 24px); /* ensure it always fits inside viewport */
    display: flex;
    flex-direction: column;
    overflow: hidden; /* clip image, footer stays visible */
    border-radius: 10px;
    background: transparent;
    pointer-events: auto;
    box-shadow: 0 10px 30px rgba(0,0,0,0.25);
}

/* BODY: must be able to shrink — min-height:0 is the crucial bit */
.rmodal-body {
    flex: 1 1 auto; /* take remaining space between header (none) and footer */
    min-height: 0; /* allow flex child to shrink on small screens (important) */
    display: block;
    overflow: hidden;
}

    /* image fills the body area */
    .rmodal-body img {
        width: 100%;
        height: 100%;
        object-fit: cover; /* crop to fill without distortion */
        display: block;
    }

/* FOOTER: fixed space so body calculates correctly */
.rmodal-footer {
    flex: 0 0 64px; /* fixed footer height so image uses remaining area */
    padding: 10px;
    background: rgba(255,255,255,0.95);
    display: flex;
    justify-content: center;
    align-items: center;
    border-top: 1px solid rgba(0,0,0,0.06);
}

/* Close button floats above image */
.rmodal-close-btn {
    position: absolute;
    top: 8px;
    right: 8px;
    z-index: 20;
    width: 36px;
    height: 36px;
    border-radius: 999px;
    background: rgba(255,255,255,0.9);
    border: none;
    font-size: 20px;
    line-height: 1;
    display: flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    box-shadow: 0 4px 12px rgba(0,0,0,0.08);
}

/* tuned small-screen behaviour */
@media (max-height: 640px), (max-width: 420px) {
    .rmodal {
        max-height: calc(100vh - 12px); /* give a little less gutter on small screens */
        width: 100vw;
        border-radius: 6px;
    }

    .rmodal-footer {
        flex: 0 0 56px; /* slightly smaller footer on small screens */
        padding: 8px;
    }

    .rmodal-close-btn {
        top: 6px;
        right: 6px;
        width: 34px;
        height: 34px;
    }
}
.app-container {
    display: flex;
    flex-direction: column;
    height: 100vh;
}

.content {
    padding: 1.5rem;
    flex-grow: 1;
    overflow-y: auto;
}
.center-page-loader {
    display: flex;
    justify-content: center;
    align-items: center;
    height: 100vh;
    width: 100%;
}
.danger{
    color: red !important;
}
.success{
    color: green !important
}
ul li.main-link:hover,
ul li.main-link:hover a,
ul li.main-link:hover .nav-link {
    color: black !important; /* ensure text is black */
}

.finance-footer .market-delay {
    color: #ffffff;
    margin-top: 15px;
}

.social-table td {
    padding: 0 10px;
}

.social-table img {
    height: 30px;
}