﻿@import url('open-iconic/font/css/open-iconic-bootstrap.min.css');

@font-face {
    font-family: 'Font Awesome 7 Free';
    src: url('../fonts/Font Awesome 7 Free-Solid-900.otf');
    font-weight: normal;
    font-style: normal;
}

html, body {
    font-family: 'Helvetica Neue', Helvetica, Arial, sans-serif;
    touch-action: none;
    height: 100vh;
    width: 100vw;
    max-height: 100vh;
    max-width: 100vw;
    overflow: hidden;
    background: #16171a;
}

.bottom-toolbar {
    background-color: #EEF5FD;
    position: fixed;
    bottom: 0;
    width: 100%;
    box-shadow: 0px -2px 3px rgba(0, 0, 0, 0.1);
    z-index: 1000;
}

@media (min-width: 768px) {
    .bottom-toolbar {
        padding: 5px 0;
    }
}

.bottom-toolbar ul {
    display: flex;
    justify-content: space-between;
    list-style-type: none;
    margin: 0;
    padding: 0;
    width: 100%;
}

.bottom-toolbar li {
}

@media (min-width: 768px) {
    .bottom-toolbar li {
        margin: 0 10px;
    }

    .bottom-toolbar a {
        margin-right: 25px;
    }

    .bottom-toolbar p {
        padding-right: 4em;
        font-size: 0.8rem;
    }
}

.bottom-toolbar .left {
    display: flex;
}

.bottom-toolbar .right {
    display: flex;
}

.bottom-toolbar a {
    color: #007bff !important;
    text-decoration: none;
    user-select: none;
}

    .bottom-toolbar a:hover {
        color: #0056b3;
        text-decoration: underline !important;
        cursor: pointer;
    }

.bottom-toolbar p {
    font-size: 0.8rem;
    margin-bottom: 0px;
}

.afr-wrapper {
    position: fixed;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    background-color: rgba(0, 0, 0, 0.5);
    z-index: 2000000;
    display: flex;
    justify-content: center;
    align-items: center;
}

    .afr-wrapper .afr-popout {
        background-color: #fff;
        padding: 20px;
        border-radius: 5px;
        width: 80%;
        max-height: 80%;
        overflow-y: scroll;
    }

        .afr-wrapper .afr-popout .afr-button {
            background-color: #007BFF;
            color: #FFFFFF;
            border: none;
            padding: 10px 20px;
            text-align: center;
            cursor: pointer;
            text-decoration: none;
            display: inline-block;
            font-size: 14px;
            border-radius: 5px;
            transition: background-color 0.3s ease;
            width: unset;
        }

        .afr-wrapper .afr-popout .close-button {
            cursor: pointer;
            background-color: #ff3333;
            color: #ffffff;
            padding: 5px 10px;
            border-radius: 50%;
            font-weight: bold;
            transition: background-color 0.2s ease;
            user-select: none;
            position: relative;
            float: right;
        }

            .afr-wrapper .afr-popout .close-button:hover {
                background-color: #e60000;
            }

.income-wrapper {
    position: fixed;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    background-color: rgba(0, 0, 0, 0.5);
    z-index: 1000;
    display: flex;
    justify-content: center;
    align-items: center;
}

    .income-wrapper .income-popout {
        background-color: #fff;
        padding: 20px;
        border-radius: 5px;
        width: 80%;
        max-height: 80%;
        max-width: 800px;
        overflow: auto;
    }

        .income-wrapper .income-popout label {
            width: 100%;
        }

            .income-wrapper .income-popout label textarea {
                width: 100%;
            }

        .income-wrapper .income-popout .income-button {
            background-color: #007BFF;
            color: #FFFFFF;
            border: none;
            padding: 10px 20px;
            text-align: center;
            cursor: pointer;
            text-decoration: none;
            display: inline-block;
            font-size: 14px;
            border-radius: 5px;
            transition: background-color 0.3s ease;
        }

.feedback-wrapper {
    position: fixed;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    background-color: rgba(0, 0, 0, 0.5);
    z-index: 10001;
    display: flex;
    justify-content: center;
    align-items: center;
}

    .feedback-wrapper .feedback-popout {
        background-color: #fff;
        padding: 20px;
        border-radius: 5px;
        max-width: 80%;
        max-height: 95%;
        overflow: auto;
    }

    .feedback-wrapper table {
        font-size: 12px;
        white-space: nowrap;
    }

    .feedback-wrapper .feedback-popout label {
        width: 100%;
    }

        .feedback-wrapper .feedback-popout label textarea {
            width: 100%;
        }

    .feedback-wrapper .feedback-popout .feedback-button {
        background-color: #007BFF;
        color: #FFFFFF;
        border: none;
        padding: 10px 20px;
        text-align: center;
        cursor: pointer;
        text-decoration: none;
        display: inline-block;
        font-size: 14px;
        border-radius: 5px;
        transition: background-color 0.3s ease;
    }

.insurance-estimates-wrapper {
    position: fixed;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    background-color: rgba(0, 0, 0, 0.5);
    z-index: 1000;
    display: flex;
    justify-content: center;
    align-items: center;
}

    .insurance-estimates-wrapper .insurance-estimates-popout {
        background-color: #fff;
        padding: 20px;
        border-radius: 5px;
        max-width: 95%;
        max-height: 95%;
        overflow: auto;
    }

    .insurance-estimates-wrapper table {
        font-size: 12px;
        white-space: nowrap;
    }

    .insurance-estimates-wrapper .insurance-estimates-popout label {
        width: 100%;
    }

        .insurance-estimates-wrapper .insurance-estimates-popout label textarea {
            width: 100%;
        }

    .insurance-estimates-wrapper .insurance-estimates-popout .insurance-estimates-button {
        background-color: #007BFF;
        color: #FFFFFF;
        border: none;
        padding: 10px 20px;
        text-align: center;
        cursor: pointer;
        text-decoration: none;
        display: inline-block;
        font-size: 14px;
        border-radius: 5px;
        transition: background-color 0.3s ease;
    }

    .insurance-estimates-wrapper .insurance-estimates-popout h2 {
        display: flex;
        align-items: center;
    }

    .insurance-estimates-wrapper .insurance-estimates-popout .close-button {
        cursor: pointer;
        background-color: #ff3333;
        color: #ffffff;
        padding: 5px 10px;
        border-radius: 50%;
        font-weight: bold;
        transition: background-color 0.2s ease;
        user-select: none;
        position: relative;
        float: right;
    }

        .insurance-estimates-wrapper .insurance-estimates-popout .close-button:hover {
            background-color: #e60000;
        }

    .insurance-estimates-wrapper .insurance-estimates-popout input[type="text"] {
        border: 0;
        border-bottom: solid 2px lightgray;
    }

    .insurance-estimates-wrapper .insurance-estimates-popout select {
        border: 0;
        border-bottom: solid 2px lightgray;
    }

    .insurance-estimates-wrapper .insurance-estimates-popout .input {
        border: 0;
        border-bottom: solid 2px lightgray;
        text-align: center;
    }

.terms-wrapper {
    position: fixed;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    background-color: rgba(0, 0, 0, 0.5);
    z-index: 10001;
    display: flex;
    justify-content: center;
    align-items: center;
}

    .terms-wrapper .terms-popout {
        background-color: #fff;
        padding: 20px;
        border-radius: 5px;
        width: 80%;
        max-height: 80%;
        max-width: 800px;
        overflow: scroll;
    }

        .terms-wrapper .terms-popout .terms-button {
            background-color: #007BFF;
            color: #FFFFFF;
            border: none;
            padding: 10px 20px;
            text-align: center;
            cursor: pointer;
            text-decoration: none;
            display: inline-block;
            font-size: 14px;
            border-radius: 5px;
            transition: background-color 0.3s ease;
        }

.privacy-wrapper {
    position: fixed;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    background-color: rgba(0, 0, 0, 0.5);
    z-index: 10001;
    display: flex;
    justify-content: center;
    align-items: center;
}

    .privacy-wrapper .privacy-popout {
        background-color: #fff;
        padding: 20px;
        border-radius: 5px;
        width: 80%;
        max-height: 80%;
        max-width: 800px;
        overflow: scroll;
    }

        .privacy-wrapper .privacy-popout .privacy-button {
            background-color: #007BFF;
            color: #FFFFFF;
            border: none;
            padding: 10px 20px;
            text-align: center;
            cursor: pointer;
            text-decoration: none;
            display: inline-block;
            font-size: 14px;
            border-radius: 5px;
            transition: background-color 0.3s ease;
        }


.save-as-wrapper {
    position: fixed;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    background-color: rgba(0, 0, 0, 0.5);
    z-index: 1000;
    display: flex;
    justify-content: center;
    align-items: center;
}

    .save-as-wrapper .save-as-popout {
        background-color: #fff;
        padding: 20px;
        border-radius: 5px;
        width: 80%;
        max-height: 80%;
        max-width: 800px;
        overflow: scroll;
    }

        .save-as-wrapper .save-as-popout .save-as-button {
            background-color: #007BFF;
            color: #FFFFFF;
            border: none;
            padding: 10px 20px;
            text-align: center;
            cursor: pointer;
            text-decoration: none;
            display: inline-block;
            font-size: 14px;
            border-radius: 5px;
            transition: background-color 0.3s ease;
        }


.modal-wrapper {
    position: fixed;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    background-color: rgba(0, 0, 0, 0.5);
    z-index: 1000;
    display: flex;
    justify-content: center;
    align-items: center;
}

    .modal-wrapper .modal-popout {
        background-color: #fff;
        padding: 20px;
        border-radius: 5px;
        width: 80%;
        max-height: 80%;
        max-width: 800px;
        overflow: scroll;
    }

        .modal-wrapper .modal-popout .modal-button {
            background-color: #007BFF;
            color: #FFFFFF;
            border: none;
            padding: 10px 20px;
            text-align: center;
            cursor: pointer;
            text-decoration: none;
            display: inline-block;
            font-size: 14px;
            border-radius: 5px;
            transition: background-color 0.3s ease;
        }

.humor-wrapper {
    position: fixed;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    background-color: rgba(0, 0, 0, 0.5);
    z-index: 1000;
    display: flex;
    justify-content: center;
    align-items: center;
}

    .humor-wrapper .humor-popout {
        background-color: #fff;
        padding: 20px;
        border-radius: 5px;
        width: 80%;
        max-height: 80%;
        max-width: 800px;
        overflow: scroll;
    }

        .humor-wrapper .humor-popout .humor-button {
            background-color: #007BFF;
            color: #FFFFFF;
            border: none;
            padding: 10px 20px;
            text-align: center;
            cursor: pointer;
            text-decoration: none;
            display: inline-block;
            font-size: 14px;
            border-radius: 5px;
            transition: background-color 0.3s ease;
        }

.client-url-wrapper {
    position: fixed;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    background-color: rgba(0, 0, 0, 0.4);
    z-index: 1000;
    display: flex;
    justify-content: center;
    align-items: center;
}

    .client-url-wrapper .client-url-popout {
        background-color: #fff;
        padding: 20px;
        border-radius: 5px;
        width: 80%;
        max-height: 80%;
        max-width: 800px;
        overflow: auto;
    }

        .client-url-wrapper .client-url-popout .client-url-button {
            background-color: #007BFF;
            color: #FFFFFF;
            border: none;
            padding: 10px 20px;
            text-align: center;
            cursor: pointer;
            text-decoration: none;
            display: inline-block;
            font-size: 14px;
            border-radius: 5px;
            transition: background-color 0.3s ease;
        }

.verification-wrapper {
    background-color: rgba(0, 0, 0);
}

.pin-input-container {
    max-width: 300px;
    margin: 0 auto;
    text-align: center;
    padding: 20px;
}

.pin-input-group {
    display: flex;
    gap: 5px;
    justify-content: center;
}

.pin-input {
    width: 10rem !important;
    text-align: center;
    font-size: 1.5rem;
}


.button-wrapper {
    display: flex;
    justify-content: space-between;
}

.feedback-wrapper.show {
    display: block;
}

a, .btn-link {
    color: #0366d6;
}

input[type=number]::-webkit-inner-spin-button {
    opacity: 1
}

.align-right {
    margin-left: auto;
}

.align-left {
    margin-right: auto;
}

.main {
    display: flex;
    overflow: visible;
    justify-content: space-evenly;
    height: calc(100vh - 7.5rem);
}

/* Preloader */
.preloader {
    display: flex;
    flex-direction: column;
    width: 100vw;
    height: 100vh;
    background-color: black;
    color: white;
    justify-content: center;
}

    .preloader img {
    }

/* Tooltip container */
[data-tooltip] {
    position: relative;
}

    /* Tooltip text */
    [data-tooltip]:before {
        content: attr(data-tooltip);
        position: absolute;
        bottom: 50%;
        left: 100%;
        transform: translateX(-50%);
        background-color: #333;
        color: #fff;
        font-size: 12px;
        padding: 5px 10px;
        border-radius: 4px;
        opacity: 0;
        pointer-events: none;
        transition: opacity 0.15s;
        z-index: 999999;
        width: 200px;
        overflow: visible !important;
        white-space: normal !important;
        min-width: 200px;
    }

    [data-tooltip]:hover:before {
        opacity: 1;
    }

.boxes-view [data-tooltip]:before {
    width: unset;
}

/* Top Toolbar */
.top-toolbar {
    padding: 6px 5px;
    display: flex;
    justify-content: space-between;
    align-items: center;
    z-index: 1050;
}

@media (min-width: 768px) {
    .top-toolbar {
        padding: 8px 16px;
    }
}

.menu-bar {
    background-color: #EEF5FD !important;
}

/* Buttons and Dropdowns */
.top-toolbar .btn {
    background-color: #29ABE2;
    color: #fff;
    border: none;
    cursor: pointer;
    font-size: 10pt;
    border-radius: 10px;
    padding: 4px 7px 4px 7px;
    margin-right: 3px;
    margin-bottom: 5px;
    transition: background-color 0.2s ease;
    font-weight: 600;
}

@media (min-width: 768px) {
    .top-toolbar .btn {
        font-size: 14px;
        margin-left: 4px;
        margin-right: 4px;
        margin-bottom: 0px;
    }
}

.top-toolbar .btn:hover,
.top-toolbar .btn:focus {
    background-color: #0071BC;
    outline: none;
}


.top-toolbar .btn img {
    width: 18px;
}

.top-toolbar .btn-block {
    color: white;
}

.top-toolbar .dropdown-toggle::after {
    margin-left: 8px;
    vertical-align: middle;
}

/* Dropdown Menu */
.top-toolbar .dropdown-menu {
    background-color: #29ABE2;
    border: none;
    border-radius: 4px;
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.15);
}

.top-toolbar .dropdown:hover .dropdown-menu {
    display: block;
}

.top-toolbar .dropdown-menu button {
    color: #fff;
    padding: 6px 12px;
    font-size: 14px;
    transition: background-color 0.2s ease;
    font-weight: 600;
}

    .top-toolbar .dropdown-menu button:hover,
    .top-toolbar .dropdown-menu button:focus {
        background-color: #0056b3;
        color: #fff;
        outline: none;
    }

/* Center dropdowns */
.top-toolbar .btn-group {
    display: flex;
    align-items: center;
}

.top-toolbar .dropdown-toggle {
    margin-right: 8px;
}

.top-toolbar .dropdown:last-child .dropdown-menu {
    right: 0;
    left: auto;
}

/* Modal Button */
.top-toolbar .modal .btn {
    padding: 0.375rem 0.75rem;
    border: 1px solid transparent;
    border-radius: 0.25rem;
}

/* Modal */
.modal {
    display: none;
    position: fixed;
    z-index: 2000000 !important;
    left: 0;
    top: 0;
    width: 100%;
    height: 100%;
    overflow: auto;
    background-color: rgba(0, 0, 0, 0.6);
}

/* Modal content */
.modal-content {
    background-color: #fefefe;
    margin: 15% auto;
    padding: 20px;
    border: 1px solid #888;
    max-width: 600px;
    width: 100%;
    border-radius: 5px;
}

/* Modal header */
.modal-header {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding-bottom: 10px;
    border-bottom: 1px solid #e5e5e5;
}

    .modal-header.new-modal-header {
        align-items: flex-start;
        justify-content: unset;
        padding: unset;
        flex-direction: column;
    }

        .modal-header.new-modal-header button {
            position: absolute;
            right: 0%;
            top: 0%;
            transform: translate(-50%, 50%);
        }

/* Modal title */
.modal-title {
    font-size: 20px;
    font-weight: bold;
    margin: 0;
}

/* Close scenarios button */
.btn-close-scenarios {
    padding: 0;
    background-color: transparent;
    border: 0;
    font-size: 24px;
    line-height: 1;
    opacity: 0.5;
    transition: opacity 0.3s;
}

    .btn-close-scenarios:hover {
        opacity: 1;
    }

/* Close assumptions button */
.btn-close-assumptions {
    padding: 0;
    background-color: transparent;
    border: 0;
    font-size: 24px;
    line-height: 1;
    opacity: 0.5;
    transition: opacity 0.3s;
}

    .btn-close-assumptions:hover {
        opacity: 1;
    }

/* Expand button */
.btn-expand-assumptions {
    padding: 0;
    background-color: transparent;
    border: 0;
    font-size: 24px;
    line-height: 1;
    opacity: 0.5;
    transition: opacity 0.3s;
}

    .btn-expand-assumptions:hover {
        opacity: 1;
    }

/* Modal body */
.modal-body {
    padding: 20px 0;
    border-bottom: 1px solid #e5e5e5;
}

/* Form group */
.form-group {
    margin-bottom: 20px;
}

/* Form check */
.form-check {
    margin-bottom: 10px;
}

/* Form check input */
.form-check-input {
    /*margin-right: 10px; Labels become misaligned on mobile. If necessary add back responsively, for now only on medium or higher windows.*/
}

@media (min-width: 768px) {
    .form-check-input {
        margin-right: 10px;
    }
}

/* Form check label */
.form-check-label {
    font-size: 16px;
}

/* Modal footer */
.modal-footer {
    display: flex;
    justify-content: flex-end;
    align-items: center;
    padding-top: 10px;
}

/* Backdrop */
.modal-backdrop {
    position: fixed;
    z-index: 1000 !important;
    left: 0;
    top: 0;
    width: 100%;
    height: 100%;
    background-color: rgba(0, 0, 0, 0.6);
    opacity: 0;
    transition: opacity 0.3s;
}

    .modal-backdrop.show {
        opacity: 1;
    }

/* Login */

.login-page {
    flex-direction: row;
    display: flex;
}

.login-view {
    background-color: #E9F8FF;
    grid-template-columns: 1fr;
    width: 100vw;
    height: 100vh;
    align-items: center;
    overflow: scroll;
}

@media (min-width: 768px) {
    .login-view {
        width: 50vw;
        align-items: revert;
        overflow: auto;
        display: grid;
    }
}

.login-view__logo {
    margin-top: 4px;
    display: flex;
    width: 25vmax;
}

@media (min-width: 768px) {
    .login-view__logo {
        margin-top: 0;
    }
}

.login-view__title {
    font-weight: 600;
    font-size: 4vmax;
    text-align: center;
}

@media (min-width: 768px) {
    .login-view__title {
        font-weight: 700;
        font-size: 32pt;
        text-align: center;
    }
}


.login-view .login-box {
    border: none;
    border-radius: 30px;
    margin-bottom: 2vh;
}

@media (min-width: 768px) {
    .login-view .login-box {
        margin-bottom: 0;
        width: 50%;
    }
}

.login-view .login-box .login-box__title {
    color: white;
    font-weight: bolder;
    text-align: center;
}

.login-view .form-group {
    display: flex;
    flex-direction: column;
    margin-bottom: 1rem;
}

.login-view .form-group__label {
    font-weight: 600;
    color: #111111;
    font-size: 11pt;
    margin-bottom: 2px;
}

.login-view .form-group__input-icon-wrapper {
    position: relative;
    display: flex;
    align-items: center;
}

.login-view .form-group__input {
    padding: 0.5rem;
    padding-left: 2.3rem;
    border-radius: 12px;
    border: 1px solid #999999;
    outline: none;
    width: 100%;
}

.login-view .form-group__icon {
    position: absolute;
    left: 0.4rem;
    color: #999999;
    border-right: 1px solid #999999;
    padding-right: 0.3rem;
}

.login-view .login-form {
    border-radius: 40px;
    background-color: white;
    margin: 5vh 10vw;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: space-evenly;
}


@media (min-width: 768px) {
    .login-view .login-form {
        margin: 40px;
        margin-right: 20px;
        margin-left: 20px;
        max-height: 90vh;
    }
}


.or-divider {
    display: flex;
    align-items: center;
    width: 100%;
}

@media (min-width: 768px) {
    .or-divider {
        display: none;
    }
}

.login-view .login-form__gradient {
    width: 100%;
    height: 100%;
    transform: rotate(-180deg) scaleX(-1);
    border-radius: 40px;
    z-index: 1;
}

.login-view .alert {
    color: #dc3545;
    background-color: #f8d7da;
    border: 1px solid #f5c6cb;
    border-radius: 5px;
    padding: 0.5rem;
    margin-bottom: 1rem;
}

.login-view .btn {
    color: white;
    font-weight: 600;
    text-align: center;
    white-space: nowrap;
    border: 1px solid transparent;
    font-size: 1rem;
    background-color: #29ABE2;
    border-radius: 5px 5px 5px 5px !important;
}

.login-view .btn-secondary {
    background-color: #28a745;
}

    .login-view .btn-secondary:hover {
        background-color: #218838 !important;
        border-color: #218838 !important;
    }

.login-view .btn-group {
    display: flex;
    flex-direction: column;
    gap: 1rem;
    margin-top: 1rem;
    width: 100%;
}

/* Signup */

.signup-mobile {
    border: none;
    border-radius: 30px;
    margin-bottom: 2vh;
}

@media (min-width: 768px) {
    .signup-mobile {
        display: none;
    }
}

.signup-desktop {
    display: none;
}

@media (min-width: 768px) {
    .signup-desktop {
        display: flex;
        border: none;
        border-radius: 30px;
    }
}

.signup-form {
    background-color: white;
    align-items: center;
    justify-content: space-evenly;
}

@media (min-width: 768px) {
    .signup-form {
        border-radius: 40px;
        display: flex;
        flex-direction: column;
        margin: 40px;
        margin-right: 20px;
        margin-left: 20px;
        max-height: 90vh;
    }
}

.signup-view {
    background-color: #E9F8FF;
    display: grid;
    grid-template-columns: 1fr;
}

@media (min-width: 768px) {
    .signup-view {
        width: 50vw;
    }
}

.signup-view__logo {
    display: none;
}

@media (min-width: 768px) {
    .signup-view__logo {
        display: flex;
        width: 25vmax;
    }
}

.signup-view .signup-box {
    border: none;
    border-radius: 30px;
}

@media (min-width: 768px) {
    .signup-view .signup-box {
        width: 50%;
    }
}

.signup-view .signup-box .signup-box__title {
    color: white;
    font-weight: bolder;
    text-align: center;
}

.signup-view__title {
    font-weight: 600;
    font-size: 4vmax;
    text-align: center;
}

@media (min-width: 768px) {
    .signup-view__title {
        font-weight: 700;
        font-size: 32pt;
        text-align: center;
    }
}

.signup-view .form-group {
    display: flex;
    flex-direction: column;
    margin-bottom: 1rem;
}

.signup-view .form-group__label {
    font-weight: 600;
    color: #111111;
    font-size: 11pt;
    margin-bottom: 2px;
}

.signup-view .form-group__input-icon-wrapper {
    position: relative;
    display: flex;
    align-items: center;
}

.signup-view .form-group__input {
    padding: 0.5rem;
    padding-left: 2.3rem;
    border-radius: 12px;
    border: 1px solid #999999;
    outline: none;
    width: 100%;
}

.signup-view .form-group__icon {
    position: absolute;
    left: 0.4rem;
    color: #999999;
    border-right: 1px solid #999999;
    padding-right: 0.3rem;
}

.signup-view .signup-form__gradient {
    width: 100%;
    height: 100%;
    transform: rotate(-180deg) scaleX(-1);
    border-radius: 40px;
    z-index: 1;
}

.signup-view .alert {
    color: #dc3545;
    background-color: #f8d7da;
    border: 1px solid #f5c6cb;
    border-radius: 5px;
    padding: 0.5rem;
    margin-bottom: 1rem;
}

.signup-view .btn {
    color: white;
    font-weight: 600;
    text-align: center;
    white-space: nowrap;
    border: 1px solid transparent;
    font-size: 1rem;
    background-color: #29ABE2;
    border-radius: 5px 5px 5px 5px !important;
}

.signup-view .btn-secondary {
    background-color: #28a745;
}

    .signup-view .btn-secondary:hover {
        background-color: #218838 !important;
        border-color: #218838 !important;
    }

.signup-view .btn-group {
    display: flex;
    flex-direction: column;
    gap: 1rem;
    margin-top: 1rem;
    width: 100%;
}

/* Installment Sale Calculator */
.currency-option-view p {
    margin-bottom: 0px;
    font-size: 14px;
}

.currency-option-view input {
    font-size: 14px;
    text-align: right;
    width: 100%;
}

.percentage-option-view p {
    margin-bottom: 0px;
    font-size: 14px;
}

.percentage-option-view input {
    font-size: 14px;
    text-align: right;
    width: 100%;
}

.integer-option-view p {
    margin-bottom: 0px;
    font-size: 14px;
}

.integer-option-view input {
    font-size: 14px;
    text-align: right;
    width: 100%;
}

.radio-button-option-view p {
    margin-bottom: 0px;
    font-size: 14px;
}

.radio-button-option-view label {
    margin-bottom: 0px;
    font-size: 14px;
}

.radio-button-option-view .radio-group {
    margin-bottom: 6px;
    white-space: nowrap;
}

    .radio-button-option-view .radio-group input {
        margin-left: 20px;
    }

.data-grid-component {
    display: flex;
    padding-left: 0px;
    padding-right: 0px;
}

    .data-grid-component .data-grid-table {
        flex: 1;
        background: #ffffff;
    }

        .data-grid-component .data-grid-table p {
            text-align: center;
            margin-top: 0px;
            margin-bottom: 0px;
            font-size: 18px;
            border: 1px solid #333;
            white-space: nowrap;
        }

        .data-grid-component .data-grid-table table {
            width: 100%;
        }

        .data-grid-component .data-grid-table th {
            font-size: 12px;
            font-weight: normal;
            border: 1px solid #dddddd;
            text-align: center;
            background: #F0F0F0;
            white-space: nowrap;
        }

        .data-grid-component .data-grid-table td {
            font-size: 12px;
            border: 1px solid #000000;
            white-space: nowrap;
        }

            .data-grid-component .data-grid-table td.foreground-red {
                color: red;
            }

.installment-sale-options {
    width: 100vw;
    background-color: darkgrey;
}

.installment-sale-results {
    background: grey;
    overflow: auto;
    display: flex;
    flex-grow: 100;
    justify-content: center;
    align-items: flex-start;
    position: relative;
}

.installment-sale-calculator {
    background: grey;
    display: flex;
    flex-direction: column;
    overflow: auto;
    height: calc(100vh - 2.4rem - 7.3rem);
    overflow-x: clip;
}

    .installment-sale-calculator .top-row {
        background-color: #EEF5FD;
        text-align: center;
    }

    .installment-sale-calculator .zoom-control-toolbar {
        position: sticky;
        bottom: 0px;
        left: 0px;
        right: 0px;
        background: #D2E6FA;
        width: 100%;
        display: flex;
        justify-content: flex-end;
        align-items: center;
        padding-top: 5px;
        padding-bottom: 5px;
        padding-right: 10px;
    }

        .installment-sale-calculator .zoom-control-toolbar .btn {
            font-size: 14px;
            border: 1px solid #666;
            border-radius: 0px;
            padding: 3px;
            margin-right: 5px;
            background: #DDDDDD;
        }

        .installment-sale-calculator .zoom-control-toolbar .slider {
            margin-left: 5px;
            margin-right: 10px;
        }

        .installment-sale-calculator .zoom-control-toolbar .percent-label {
            margin-bottom: 0px;
            margin-right: 10px;
            font-size: 14px;
        }

    .installment-sale-calculator button {
        font-size: 14px;
        padding-top: 0px;
        padding-bottom: 0px;
        border-right: 1px solid #aaa;
        border-radius: 0px;
    }

        .installment-sale-calculator button:first-child {
            padding-left: 0px;
        }

        .installment-sale-calculator button:last-child {
            border-right: none;
        }

    .installment-sale-calculator .lookup-btn {
        background: #ADD8E6;
        border: 1px solid !important;
        padding-left: 12px !important;
        border-radius: 10px;
    }

    .installment-sale-calculator .main .stack {
        background-color: #EEF5FD;
        padding: 10px;
        border-radius: 20px;
        text-align: center;
        margin: 2px;
    }

        .installment-sale-calculator .main .stack .dual-stack {
            display: flex;
            flex-direction: column;
        }

            .installment-sale-calculator .main .stack .dual-stack .stack-group {
                display: flex;
                flex: 1;
                width: 100%;
            }

        .installment-sale-calculator .main .stack .stack-item {
            margin: 3px 5px;
            border-bottom: dashed 1px;
            padding-bottom: 3px;
            flex: 1;
        }

            .installment-sale-calculator .main .stack .stack-item p {
                font-size: 12px;
                margin-bottom: 0px;
            }

            .installment-sale-calculator .main .stack .stack-item .customized-input-number .spinner {
                border-color: rgb(240,240,240);
                padding-left: 6px;
            }

            .installment-sale-calculator .main .stack .stack-item .customized-input-number input {
                width: 100%;
                height: 23px;
                border: none;
                text-align: center;
            }

.InstallmentSale-letter-wrapper {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-color: rgba(0, 0, 0, 0.5);
    display: flex;
    justify-content: center;
    align-items: center;
    z-index: 1001;
}

    .InstallmentSale-letter-wrapper .InstallmentSale-letter-popout {
        background-color: white;
        padding: 2rem;
        border-radius: 4px;
        width: 90%;
        max-width: 600px;
        max-height: 90%;
        overflow-y: auto;
    }

    .InstallmentSale-letter-wrapper .InstallmentSale-letter-button {
        min-width: 100px;
        margin: 0 10px;
    }

    .InstallmentSale-letter-wrapper .button-wrapper {
        display: flex;
        justify-content: center;
        margin-top: 15px;
    }

    .InstallmentSale-letter-wrapper .form-group {
        margin-bottom: 1rem;
    }

    .InstallmentSale-letter-wrapper .form-check {
        margin-bottom: 0.5rem;
    }

/* Amortization Calculator */

/* AmortizationView styles */
.Amortization-main {
    display: flex;
    flex-direction: column;
}

.AmortizationView {
    display: flex;
    flex-direction: row;
    font-size: 16px;
    line-height: 1.5;
    height: calc(100vh - 5rem);
}

    .AmortizationView .h-resizer {
        height: 8px;
        font-size: 16px;
        border-bottom: none;
        border-top: none;
    }

    .AmortizationView .resizer {
        width: 8px;
        min-width: 8px;
        max-width: 8px;
        writing-mode: vertical-lr;
        font-size: 16px;
        border-left: 1px solid #a9a9a9;
        border-right: none;
        background: none;
    }

    .AmortizationView .Amortization-side-panel {
        flex: 1;
        display: flex;
        flex-direction: column;
        overflow: auto;
        width: 340px;
        padding: 3px 5px;
        margin: 10px;
        border: 1px solid #F0F0F0;
        box-shadow: 0px 2px 16px #F4FAFD;
        border-radius: 20px;
    }

        .AmortizationView .Amortization-side-panel tbody tr td:first-child {
            max-width: 12em;
        }

        .AmortizationView .Amortization-side-panel.fullscreen {
            width: 100vw !important;
            padding: 1vh 20vw;
            margin-right: 5%;
            margin-left: 5%;
        }

    .AmortizationView .Amortization-results-wrapper {
        display: flex;
        flex-direction: column;
        width: 100%;
        overflow: auto;
        margin-left: 5px;
        margin-right: 5px;
        border: 1px solid #F4F4F4;
        border-radius: 20px;
    }

    .AmortizationView .Amortization-results {
        display: flex;
        flex-direction: column;
        overflow: auto;
        margin-left: 6px;
        height: 100%;
    }

    .AmortizationView .AmortizationDetailsView {
        padding-left: 0px;
        padding-right: 0px;
        position: absolute;
        width: unset;
    }

        .AmortizationView .AmortizationDetailsView table thead tr th {
            border-top: 0px;
            text-align: center;
            background-color: #E8F3F9;
        }

            .AmortizationView .AmortizationDetailsView table thead tr th:first-child {
                border-top-left-radius: 20px;
            }

            .AmortizationView .AmortizationDetailsView table thead tr th:last-child {
                border-top-right-radius: 20px;
            }

        .AmortizationView .AmortizationDetailsView table tbody tr td {
            border-top: 0px;
            text-align: center;
            padding: 0px 6px;
            white-space: nowrap;
        }

    .AmortizationView .Amortization-details-tables {
        display: flex;
        flex-direction: column;
        flex: 1;
        z-index: 2;
        background-color: white;
    }

    .AmortizationView .Amortization-details-header {
        cursor: pointer;
        background-color: #007BFF;
        color: white;
        padding: 8px 12px;
        font-weight: bold;
        font-size: 16px;
        border-radius: 4px;
    }

        .AmortizationView .Amortization-details-header:hover {
            background-color: #0056B3;
            text-decoration: none;
            color: black;
        }

    .AmortizationView .details-tab-content {
        display: flex;
        position: relative;
        overflow: auto;
        flex-direction: column;
        scrollbar-width: thin;
        scrollbar-color: #29ABE2 #B7E5FC;
        scrollbar-arrow-color: #B7E5FC;
        flex-grow: 1;
    }

    .AmortizationView .Amortization-summaries-table-parent {
        display: flex;
        position: relative;
        overflow: auto;
        scrollbar-width: thin;
        scrollbar-color: #29ABE2 #B7E5FC;
        scrollbar-arrow-color: #B7E5FC;
    }

    .AmortizationView .Amortization-summaries-tables {
        display: flex;
        flex-direction: column;
    }

        .AmortizationView .Amortization-summaries-tables table thead tr th {
            text-align: center;
            background-color: #E8F3F9;
        }

        .AmortizationView .Amortization-summaries-tables table thead tr:first-child th:first-child {
            border-top-left-radius: 20px;
        }

        .AmortizationView .Amortization-summaries-tables table thead tr:first-child th:last-child {
            border-top-right-radius: 20px;
        }

        .AmortizationView .Amortization-summaries-tables table tbody tr td {
            text-align: center;
            padding: 0px 6px;
            white-space: nowrap;
        }

    .AmortizationView .summary-options {
        justify-content: space-between;
        margin-bottom: 2px;
    }

    .AmortizationView .Amortization-options-header {
        cursor: pointer;
        background-color: #F4F4F4;
        color: #000000;
        font-weight: bold;
        font-size: 16px;
        border-radius: 10px;
        position: sticky;
        top: 0;
        z-index: 1;
    }

    .AmortizationView .customized-input-number .input {
        text-align: center;
    }

    .AmortizationView .customized-input-number .spinner.decrement {
        padding: 0px 0px 0px 0px;
        margin: 0px 2px 0px 2px;
        height: auto;
        background-color: #4AAEE1;
        border: none;
    }

    .AmortizationView .customized-input-number .spinner.increment {
        padding: 0px 0px 0px 0px;
        margin: 0px 2px 0px 2px;
        height: auto;
        background-color: #4AAEE1;
        border: none;
    }

    .AmortizationView .option-input-group {
        border-bottom: 2px solid #F4F4F4;
        padding-bottom: 3px;
        margin-top: 3px;
        border-radius: 10px;
        border-bottom-left-radius: 0px;
        border-bottom-right-radius: 0px;
        padding-left: 5px;
        padding-right: 5px;
    }

    .AmortizationView .option-input-title {
        font-weight: 500;
        padding-bottom: 3px;
        padding-left: 2px;
    }

    .AmortizationView .option-input-group div:not(.option-input-title) {
        padding: 3px;
    }

    .AmortizationView .option-input-group div {
        border-radius: 10px;
    }

    .AmortizationView .option-input-group > div:first-child {
        border-radius: 10px 10px 0px 0px;
    }

    .AmortizationView .option-input-group > div:nth-child(2) {
        border-radius: 0px 0px 10px 10px;
    }

    .AmortizationView .no-hover {
        position: relative;
        top: -10px;
        border: 1px solid #F4F4F4;
        border-top: none;
        padding: 10px 0px;
        border-radius: 0px 0px 10px 10px;
    }

    .AmortizationView .collapse {
        display: none;
    }

    /* Button styles */
    .AmortizationView button {
        background-color: #4AAEE1;
        border: none;
        color: white;
        text-align: center;
        text-decoration: none;
        display: inline-block;
        font-size: 14px;
        margin: 4px 2px;
        cursor: pointer;
        padding: 10px 24px;
        border-radius: 4px;
        transition: background-color 0.3s;
    }

        .AmortizationView button:hover {
            background-color: #0056B3;
            text-decoration: none;
            color: white;
        }

    .AmortizationView .customized-input-number button {
        width: 24px;
        height: 100%;
        margin: 2px
    }

    .AmortizationView .advanced-option .customized-input-number button {
        background-color: purple !important;
    }

    .AmortizationView td button {
        padding: 0px;
        width: 25px;
        height: 100%;
    }

    /* Table styles */
    .AmortizationView table {
        width: 100%;
        border-collapse: collapse;
        font-size: 14px;
    }

    .AmortizationView th, .AmortizationView td {
        text-align: left;
        border-bottom: 1px solid #ddd;
        padding: 4px;
    }

    .AmortizationView th {
        background-color: #f2f2f2;
        font-weight: bold;
    }

    .AmortizationView tr:not(.no-hover):hover {
        background-color: #f5f5f5;
    }

    /* Input styles */
    .AmortizationView input[type="date"],
    .AmortizationView input[type="text"],
    .AmortizationView select,
    .AmortizationView .form-control,
    .AmortizationView .customized-input-number input {
        width: 100%;
        padding: 0px 6px;
        border: 1px solid #ccc;
        border-radius: 4px;
        font-size: 14px;
    }

    .AmortizationView .arrow {
        display: inline-block;
        width: 0;
        height: 0;
        border-style: solid;
        margin-left: 5px;
    }

        .AmortizationView .arrow.right {
            border-width: 5px 0 5px 5px;
            border-color: transparent transparent transparent #000;
        }

        .AmortizationView .arrow.down {
            border-width: 5px 5px 0px 5px;
            border-color: #000 transparent transparent transparent;
        }

    /* Toggle Switch */
    .AmortizationView .options-toggle {
        display: flex;
        flex-direction: row;
        justify-content: flex-end;
    }

    .AmortizationView .toggle-switch {
        position: relative;
        display: inline-block;
        width: 40px;
        height: 20px;
    }

        .AmortizationView .toggle-switch input {
            opacity: 0;
            width: 0;
            height: 0;
        }

    .AmortizationView .toggle-slider {
        position: absolute;
        cursor: pointer;
        top: 0;
        left: 0;
        right: 0;
        bottom: 0;
        background-color: #ccc;
        transition: 0.4s;
        border-radius: 34px;
    }

        .AmortizationView .toggle-slider:before {
            position: absolute;
            content: "";
            height: 16px;
            width: 16px;
            left: 4px;
            bottom: 2px;
            background-color: white;
            transition: 0.4s;
            border-radius: 50%;
        }

    .AmortizationView input:checked + .toggle-slider {
        background-color: #007BFF;
    }

    .AmortizationView input:focus + .toggle-slider {
        box-shadow: 0 0 1px #007BFF;
    }

    .AmortizationView input:checked + .toggle-slider:before {
        transform: translateX(16px);
    }

    .AmortizationView .tabs-container {
        margin-top: 7px;
        margin-bottom: 7px;
        margin-right: 5px;
        display: flex;
        flex-direction: column;
        flex-grow: 100;
    }

    .AmortizationView .nav-item button {
        padding-top: 6px;
        padding-bottom: 6px;
        font-size: 12pt;
    }

    .AmortizationView .nav.nav-tabs {
        border-bottom: none;
    }

    .AmortizationView .nav-tabs .nav-link {
        color: #087DC4;
        font-weight: 600;
        background: linear-gradient(99.02deg, #E8F3F9 95.38%, #E8F3F9 95.38%);
        margin: 0px;
        border-radius: 0px;
    }

    .AmortizationView .nav-tabs .nav-item:first-child .nav-link {
        border-top-left-radius: 10px;
        border-bottom-left-radius: 10px;
    }

    .AmortizationView .nav-tabs .nav-item:last-child .nav-link {
        border-top-right-radius: 10px;
        border-bottom-right-radius: 10px;
    }

    .AmortizationView .nav-tabs .nav-link.active {
        background: linear-gradient(99.02deg, #0071BC 95.38%, #0071BC 95.38%);
        color: #FFFFFF;
    }

    .AmortizationView .nav-tabs .nav-item:first-child .nav-link.active {
        background: linear-gradient(99.02deg, #29ABE2 -19.8%, #0071BC 95.38%);
        color: #FFFFFF;
    }

    .AmortizationView .nav-tabs .nav-item:last-child .nav-link.active {
        background: linear-gradient(99.02deg, #0071BC -19.8%, #29ABE2 95.38%);
        color: #FFFFFF;
    }

    .AmortizationView .tab-content {
        border-top: none;
        padding: 6px 0px 0px 0px;
        background-color: #fff;
        display: flex;
        flex-grow: 100;
        justify-content: center;
        align-items: center;
        flex-direction: column;
    }

    .AmortizationView .tab-pane {
        height: 100%;
        width: 100%;
    }

    .AmortizationView .tab-content > .active {
        display: flex;
        flex-direction: column;
    }

    /* Scroll to Top Button */
    .AmortizationView .scroll-to-top-btn {
        display: none;
        position: fixed;
        bottom: 20px;
        right: 40px;
        z-index: 99;
        font-size: 14px;
        width: 40px;
        height: 40px;
        color: white;
        background-color: #007BFF;
        border: none;
        cursor: pointer;
        border-radius: 50%;
        transition: background-color 0.3s;
        text-align: center;
        padding: 0px;
        margin: 2px;
    }

        .AmortizationView.scroll-to-top-btn:hover {
            background-color: #0056B3;
        }

    .AmortizationView .progress-circle {
        position: absolute;
        top: 0;
        left: 0;
    }

    .AmortizationView .progress-bg {
        stroke: #ccc;
    }

    .AmortizationView .progress-bar {
        stroke: white;
        stroke-linecap: round;
        transform-origin: center;
        transform: rotate(-90deg);
    }

    /* More Details Below indicator */
    .AmortizationView .scroll-indicator {
        display: none;
        position: sticky;
        width: 200px;
        bottom: 20px;
        left: 50%;
        transform: translateX(-50%);
        background-color: rgba(0, 0, 0, 0.4);
        border-radius: 4px;
        padding: 6px 12px;
        text-align: center;
        color: rgb(255, 255, 255, 1);
        font-weight: bold;
        animation: pulsate 2s infinite;
        cursor: pointer;
    }

@keyframes pulsate {
    0% {
        transform: translateX(-50%) scale(1);
        opacity: 1;
    }

    50% {
        transform: translateX(-50%) scale(1.1);
        opacity: 0.5;
    }

    100% {
        transform: translateX(-50%) scale(1);
        opacity: 1;
    }
}

.AmortizationView .zoom-control-toolbar {
    position: sticky;
    bottom: 0px;
    left: 0px;
    right: 0px;
    background: #F5F5F5;
    width: 100%;
    display: flex;
    justify-content: flex-end;
    align-items: center;
    padding-top: 5px;
    padding-bottom: 5px;
    padding-right: 10px;
    border-bottom-left-radius: 20px;
    border-bottom-right-radius: 20px;
}

    .AmortizationView .zoom-control-toolbar .btn {
        font-size: 14px;
        border-radius: 6px;
        padding: 3px 5px;
        margin-right: 5px;
        background: #4AAEE1;
        color: white;
        font-weight: 500;
    }

    .AmortizationView .zoom-control-toolbar .slider {
        margin-left: 5px;
        margin-right: 10px;
    }

    .AmortizationView .zoom-control-toolbar .percent-label {
        margin-bottom: 0px;
        margin-right: 10px;
        font-size: 14px;
    }

    .AmortizationView .zoom-control-toolbar input {
        accent-color: #4AAEE1;
    }

@keyframes slideDown {
    0% {
        transform: translateY(-100%);
    }

    100% {
        transform: translateY(0%);
    }
}

.Amortization-letter-wrapper {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-color: rgba(0, 0, 0, 0.5);
    display: flex;
    justify-content: center;
    align-items: center;
    z-index: 1001;
}

    .Amortization-letter-wrapper .Amortization-letter-popout {
        background-color: white;
        padding: 2rem;
        border-radius: 4px;
        width: 90%;
        max-width: 600px;
        max-height: 90%;
        overflow-y: auto;
    }

    .Amortization-letter-wrapper .Amortization-letter-button {
        min-width: 100px;
        margin: 0 10px;
    }

    .Amortization-letter-wrapper .button-wrapper {
        display: flex;
        justify-content: center;
        margin-top: 15px;
    }

    .Amortization-letter-wrapper .form-group {
        margin-bottom: 1rem;
    }

    .Amortization-letter-wrapper .form-check {
        margin-bottom: 0.5rem;
    }


/* SCIN Calculator */

/* SCINView styles */
.SCIN-main {
    display: flex;
    flex-direction: column;
}

.SCINView {
    display: flex;
    flex-direction: row;
    font-size: 16px;
    line-height: 1.5;
    height: calc(100vh - 5rem);
}

    .SCINView .h-resizer {
        height: 8px;
        font-size: 16px;
        border-bottom: none;
        border-top: none;
    }

    .SCINView .resizer {
        width: 8px;
        min-width: 8px;
        max-width: 8px;
        writing-mode: vertical-lr;
        font-size: 16px;
        border-left: 1px solid #a9a9a9;
        border-right: none;
        background: none;
    }

    .SCINView .SCIN-side-panel {
        flex: 1;
        display: flex;
        flex-direction: column;
        overflow: auto;
        width: 340px;
        padding: 3px 5px;
        margin: 10px;
        border: 1px solid #F0F0F0;
        box-shadow: 0px 2px 16px #F4FAFD;
        border-radius: 20px;
    }

        .SCINView .SCIN-side-panel tbody tr td:first-child {
            max-width: 12em;
        }

        .SCINView .SCIN-side-panel.fullscreen {
            width: 100vw !important;
            padding: 1vh 20vw;
            margin-right: 5%;
            margin-left: 5%;
        }

    .SCINView .SCIN-results-wrapper {
        display: flex;
        flex-direction: column;
        width: 100%;
        overflow: auto;
        margin-left: 5px;
        margin-right: 5px;
        border: 1px solid #F4F4F4;
        border-radius: 20px;
    }

    .SCINView .SCIN-results {
        display: flex;
        flex-direction: column;
        overflow: auto;
        margin-left: 6px;
        height: 100%;
    }

    .SCINView .SCINDetailsView {
        padding-left: 0px;
        padding-right: 0px;
        position: absolute;
        width: unset;
    }

    .SCINView .SCIN-details-tables ul li:not(:last-child) {
        margin-bottom: 0.75rem;
    }

    .SCINView .SCINDetailsView table thead tr th {
        border-top: 0px;
        text-align: center;
        background-color: #E8F3F9;
    }

    .SCINView .SCINDetailsView table thead tr:first-child th:first-child {
        border-top-left-radius: 20px;
    }

    .SCINView .SCINDetailsView table thead tr:first-child th:last-child {
        border-top-right-radius: 20px;
    }

    .SCINView .SCINDetailsView table tbody tr td {
        border-top: 0px;
        text-align: center;
        padding: 0px 6px;
        white-space: nowrap;
    }

    .SCINView .SCIN-details-tables {
        display: flex;
        flex-direction: column;
        flex: 1;
        z-index: 2;
        background-color: white;
    }

    .SCINView .SCIN-details-header {
        cursor: pointer;
        background-color: #007BFF;
        color: white;
        padding: 8px 12px;
        font-weight: bold;
        font-size: 16px;
        border-radius: 4px;
    }

        .SCINView .SCIN-details-header:hover {
            background-color: #0056B3;
            text-decoration: none;
            color: black;
        }

    .SCINView .details-tab-content {
        display: flex;
        position: relative;
        overflow: auto;
        flex-direction: column;
        scrollbar-width: thin;
        scrollbar-color: #29ABE2 #B7E5FC;
        scrollbar-arrow-color: #B7E5FC;
        flex-grow: 1;
    }

    .SCINView .SCIN-summaries-table-parent {
        display: flex;
        position: relative;
        overflow: auto;
        scrollbar-width: thin;
        scrollbar-color: #29ABE2 #B7E5FC;
        scrollbar-arrow-color: #B7E5FC;
    }

    .SCINView .SCIN-summaries-tables {
        display: flex;
        flex-direction: column;
    }

        .SCINView .SCIN-summaries-tables table thead tr th {
            text-align: center;
            background-color: #E8F3F9;
        }

        .SCINView .SCIN-summaries-tables table thead tr:first-child th:first-child {
            border-top-left-radius: 20px;
        }

        .SCINView .SCIN-summaries-tables table thead tr:first-child th:last-child {
            border-top-right-radius: 20px;
        }

        .SCINView .SCIN-summaries-tables table tbody tr td {
            text-align: center;
            padding: 0px 6px;
            white-space: nowrap;
        }

    .SCINView .summary-options {
        justify-content: space-between;
        margin-bottom: 2px;
    }

    .SCINView .SCIN-options-header {
        cursor: pointer;
        background-color: #F4F4F4;
        color: #000000;
        font-weight: bold;
        font-size: 16px;
        border-radius: 10px;
        position: sticky;
        top: 0;
        z-index: 1;
    }

    .SCINView .customized-input-number .input {
        text-align: center;
    }

    .SCINView .customized-input-number .spinner.decrement {
        padding: 0px 0px 0px 0px;
        margin: 0px 2px 0px 2px;
        height: auto;
        background-color: #4AAEE1;
        border: none;
    }

    .SCINView .customized-input-number .spinner.increment {
        padding: 0px 0px 0px 0px;
        margin: 0px 2px 0px 2px;
        height: auto;
        background-color: #4AAEE1;
        border: none;
    }

    .SCINView .option-input-group {
        border-bottom: 2px solid #F4F4F4;
        padding-bottom: 3px;
        margin-top: 3px;
        border-radius: 10px;
        border-bottom-left-radius: 0px;
        border-bottom-right-radius: 0px;
        padding-left: 5px;
        padding-right: 5px;
    }

        .SCINView .option-input-group div:not(.option-input-title) {
            padding: 3px;
        }

        .SCINView .option-input-group div {
            border-radius: 10px;
        }

        .SCINView .option-input-group > div:first-child {
            border-radius: 10px 10px 0px 0px;
        }

        .SCINView .option-input-group > div:nth-child(2) {
            border-radius: 0px 0px 10px 10px;
        }

    .SCINView .option-input-title {
        font-weight: 500;
        padding-bottom: 3px;
        padding-left: 2px;
    }

    .SCINView .no-hover {
        position: relative;
        top: -10px;
        border: 1px solid #F4F4F4;
        border-top: none;
        padding: 10px 0px;
        border-radius: 0px 0px 10px 10px;
    }

    .SCINView .collapse {
        display: none;
    }

    /* Button styles */
    .SCINView button {
        background-color: #4AAEE1;
        border: none;
        color: white;
        text-align: center;
        text-decoration: none;
        display: inline-block;
        font-size: 14px;
        margin: 4px 2px;
        cursor: pointer;
        padding: 10px 24px;
        border-radius: 4px;
        transition: background-color 0.3s;
    }

        .SCINView button:hover {
            background-color: #0056B3;
            text-decoration: none;
            color: white;
        }

    .SCINView .customized-input-number button {
        width: 24px;
        height: 100%;
        margin: 2px
    }

    .SCINView .advanced-option .customized-input-number button {
        background-color: purple !important;
    }

    .SCINView td button {
        padding: 0px;
        width: 25px;
        height: 100%;
    }

    /* Table styles */
    .SCINView table {
        width: 100%;
        border-collapse: collapse;
        font-size: 14px;
    }

    .SCINView th, .SCINView td {
        text-align: left;
        border-bottom: 1px solid #ddd;
        padding: 4px;
    }

    .SCINView th {
        background-color: #f2f2f2;
        font-weight: bold;
    }

    .SCINView tr:not(.no-hover):hover {
        background-color: #f5f5f5;
    }

    /* Input styles */
    .SCINView input[type="date"],
    .SCINView input[type="text"],
    .SCINView select,
    .SCINView .form-control,
    .SCINView .customized-input-number input {
        width: 100%;
        padding: 0px 6px;
        border: 1px solid #ccc;
        border-radius: 4px;
        font-size: 14px;
    }

    .SCINView .arrow {
        display: inline-block;
        width: 0;
        height: 0;
        border-style: solid;
        margin-left: 5px;
    }

        .SCINView .arrow.right {
            border-width: 5px 0 5px 5px;
            border-color: transparent transparent transparent #000;
        }

        .SCINView .arrow.down {
            border-width: 5px 5px 0px 5px;
            border-color: #000 transparent transparent transparent;
        }

    /* Toggle Switch */
    .SCINView .options-toggle {
        display: flex;
        flex-direction: row;
        justify-content: flex-end;
    }

    .SCINView .toggle-switch {
        position: relative;
        display: inline-block;
        width: 40px;
        height: 20px;
    }

        .SCINView .toggle-switch input {
            opacity: 0;
            width: 0;
            height: 0;
        }

    .SCINView .toggle-slider {
        position: absolute;
        cursor: pointer;
        top: 0;
        left: 0;
        right: 0;
        bottom: 0;
        background-color: #ccc;
        transition: 0.4s;
        border-radius: 34px;
    }

        .SCINView .toggle-slider:before {
            position: absolute;
            content: "";
            height: 16px;
            width: 16px;
            left: 4px;
            bottom: 2px;
            background-color: white;
            transition: 0.4s;
            border-radius: 50%;
        }

    .SCINView input:checked + .toggle-slider {
        background-color: #007BFF;
    }

    .SCINView input:focus + .toggle-slider {
        box-shadow: 0 0 1px #007BFF;
    }

    .SCINView input:checked + .toggle-slider:before {
        transform: translateX(16px);
    }

    /* Multi-Option Switch with Timeline */
    .SCINView .multi-option-switch {
        display: flex;
        position: relative;
        justify-content: space-between;
        padding: 5px 7px;
        background-color: #f0f0f0;
        border-radius: 6px;
        margin-left: 4px;
        margin-right: 4px;
    }

        .SCINView .multi-option-switch input[type="radio"] {
            display: none;
        }

        .SCINView .multi-option-switch label {
            display: flex;
            flex: 1;
            justify-content: center;
            white-space: nowrap;
            cursor: pointer;
            text-align: center;
            color: #999;
            transition: background-color 0.4s, transform 0.4s;
            position: relative;
            z-index: 1;
            font-weight: 600;
            border-radius: 6px;
            padding: 2px 8px;
            transform: scale(0.9);
        }

        .SCINView .multi-option-switch input[type="radio"]:checked + label {
            color: #fff;
            transform: scale(1);
            font-weight: 600;
            background: linear-gradient(99.02deg, rgb(0, 113, 188) 95.38%, rgb(0, 113, 188) 95.38%);
            padding: 2px 8px;
        }

        .SCINView .multi-option-switch input[type="radio"]:first-child:checked + label {
            background: linear-gradient(99.02deg, rgb(41, 171, 226) -19.8%, rgb(0, 113, 188) 95.38%);
        }

        .SCINView .multi-option-switch input[type="radio"]:last-child:checked + label {
            background: linear-gradient(99.02deg, #0071BC -19.8%, #29ABE2 95.38%);
        }

    .SCINView .tabs-container {
        margin-top: 7px;
        margin-bottom: 7px;
        margin-right: 5px;
        display: flex;
        flex-direction: column;
        flex-grow: 100;
    }

    .SCINView .nav-item button {
        padding-top: 6px;
        padding-bottom: 6px;
        font-size: 12pt;
    }

    .SCINView .nav.nav-tabs {
        border-bottom: none;
    }

    .SCINView .nav-tabs .nav-link {
        color: #087DC4;
        font-weight: 600;
        background: linear-gradient(99.02deg, #E8F3F9 95.38%, #E8F3F9 95.38%);
        margin: 0px;
        border-radius: 0px;
    }

    .SCINView .nav-tabs .nav-item:first-child .nav-link {
        border-top-left-radius: 10px;
        border-bottom-left-radius: 10px;
    }

    .SCINView .nav-tabs .nav-item:last-child .nav-link {
        border-top-right-radius: 10px;
        border-bottom-right-radius: 10px;
    }

    .SCINView .nav-tabs .nav-link.active {
        background: linear-gradient(99.02deg, #0071BC 95.38%, #0071BC 95.38%);
        color: #FFFFFF;
    }

    .SCINView .nav-tabs .nav-item:first-child .nav-link.active {
        background: linear-gradient(99.02deg, #29ABE2 -19.8%, #0071BC 95.38%);
        color: #FFFFFF;
    }

    .SCINView .nav-tabs .nav-item:last-child .nav-link.active {
        background: linear-gradient(99.02deg, #0071BC -19.8%, #29ABE2 95.38%);
        color: #FFFFFF;
    }

    .SCINView .tab-content {
        border-top: none;
        padding: 6px 0px 0px 0px;
        background-color: #fff;
        display: flex;
        flex-grow: 100;
        justify-content: center;
        align-items: center;
        flex-direction: column;
    }

    .SCINView .tab-pane {
        height: 100%;
        width: 100%;
    }

    .SCINView .tab-content > .active {
        display: flex;
        flex-direction: column;
    }

    /* Scroll to Top Button */
    .SCINView .scroll-to-top-btn {
        display: none;
        position: fixed;
        bottom: 20px;
        right: 40px;
        z-index: 99;
        font-size: 14px;
        width: 40px;
        height: 40px;
        color: white;
        background-color: #007BFF;
        border: none;
        cursor: pointer;
        border-radius: 50%;
        transition: background-color 0.3s;
        text-align: center;
        padding: 0px;
        margin: 2px;
    }

        .SCINView.scroll-to-top-btn:hover {
            background-color: #0056B3;
        }

    .SCINView .progress-circle {
        position: absolute;
        top: 0;
        left: 0;
    }

    .SCINView .progress-bg {
        stroke: #ccc;
    }

    .SCINView .progress-bar {
        stroke: white;
        stroke-linecap: round;
        transform-origin: center;
        transform: rotate(-90deg);
    }

    /* More Details Below indicator */
    .SCINView .scroll-indicator {
        display: none;
        position: sticky;
        width: 200px;
        bottom: 20px;
        left: 50%;
        transform: translateX(-50%);
        background-color: rgba(0, 0, 0, 0.4);
        border-radius: 4px;
        padding: 6px 12px;
        text-align: center;
        color: rgb(255, 255, 255, 1);
        font-weight: bold;
        animation: pulsate 2s infinite;
        cursor: pointer;
    }

@keyframes pulsate {
    0% {
        transform: translateX(-50%) scale(1);
        opacity: 1;
    }

    50% {
        transform: translateX(-50%) scale(1.1);
        opacity: 0.5;
    }

    100% {
        transform: translateX(-50%) scale(1);
        opacity: 1;
    }
}

.SCINView .zoom-control-toolbar {
    position: sticky;
    bottom: 0px;
    left: 0px;
    right: 0px;
    background: #F5F5F5;
    width: 100%;
    display: flex;
    justify-content: flex-end;
    align-items: center;
    padding-top: 5px;
    padding-bottom: 5px;
    padding-right: 10px;
    border-bottom-left-radius: 20px;
    border-bottom-right-radius: 20px;
}

    .SCINView .zoom-control-toolbar .btn {
        font-size: 14px;
        border-radius: 6px;
        padding: 3px 5px;
        margin-right: 5px;
        background: #4AAEE1;
        color: white;
        font-weight: 500;
    }

    .SCINView .zoom-control-toolbar .slider {
        margin-left: 5px;
        margin-right: 10px;
    }

    .SCINView .zoom-control-toolbar .percent-label {
        margin-bottom: 0px;
        margin-right: 10px;
        font-size: 14px;
    }

    .SCINView .zoom-control-toolbar input {
        accent-color: #4AAEE1;
    }

@keyframes slideDown {
    0% {
        transform: translateY(-100%);
    }

    100% {
        transform: translateY(0%);
    }
}

.SCIN-letter-wrapper {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-color: rgba(0, 0, 0, 0.5);
    display: flex;
    justify-content: center;
    align-items: center;
    z-index: 1001;
}

    .SCIN-letter-wrapper .SCIN-letter-popout {
        background-color: white;
        padding: 2rem;
        border-radius: 4px;
        width: 90%;
        max-width: 600px;
        max-height: 90%;
        overflow-y: auto;
    }

    .SCIN-letter-wrapper .SCIN-letter-button {
        min-width: 100px;
        margin: 0 10px;
    }

    .SCIN-letter-wrapper .button-wrapper {
        display: flex;
        justify-content: center;
        margin-top: 15px;
    }

    .SCIN-letter-wrapper .form-group {
        margin-bottom: 1rem;
    }

    .SCIN-letter-wrapper .form-check {
        margin-bottom: 0.5rem;
    }

/* LargeGift Calculator */

/* LargeGiftView styles */
.LargeGift-main {
    display: flex;
    flex-direction: column;
}

.LargeGiftView {
    display: flex;
    flex-direction: row;
    font-size: 16px;
    line-height: 1.5;
    height: calc(100vh - 5rem);
}

    .LargeGiftView .h-resizer {
        height: 8px;
        font-size: 16px;
        border-bottom: none;
        border-top: none;
    }

    .LargeGiftView .resizer {
        width: 8px;
        min-width: 8px;
        max-width: 8px;
        writing-mode: vertical-lr;
        font-size: 16px;
        border-left: 1px solid #a9a9a9;
        border-right: none;
        background: none;
    }

    .LargeGiftView .LargeGift-side-panel {
        flex: 1;
        display: flex;
        flex-direction: column;
        overflow: auto;
        width: 340px;
        padding: 3px 5px;
        margin: 10px;
        border: 1px solid #F0F0F0;
        box-shadow: 0px 2px 16px #F4FAFD;
        border-radius: 20px;
    }

        .LargeGiftView .LargeGift-side-panel tbody tr td:first-child {
            max-width: 12em;
        }

        .LargeGiftView .LargeGift-side-panel.fullscreen {
            width: 100vw !important;
            padding: 1vh 20vw;
            margin-right: 5%;
            margin-left: 5%;
        }

    .LargeGiftView .LargeGift-results-wrapper {
        display: flex;
        flex-direction: column;
        width: 100%;
        overflow: auto;
        margin-left: 5px;
        margin-right: 5px;
        border: 1px solid #F4F4F4;
        border-radius: 20px;
    }

    .LargeGiftView .LargeGift-results {
        display: flex;
        flex-direction: column;
        overflow: auto;
        margin-left: 6px;
        height: 100%;
    }

    .LargeGiftView .LargeGiftDetailsView {
        padding-left: 0px;
        padding-right: 0px;
        position: absolute;
        width: unset;
    }

    .LargeGiftView .LargeGift-details-tables ul li:not(:last-child) {
        margin-bottom: 0.75rem;
    }

    .LargeGiftView .LargeGiftDetailsView table thead tr th {
        border-top: 0px;
        text-align: center;
        background-color: #E8F3F9;
    }

    .LargeGiftView .LargeGiftDetailsView table thead tr:first-child th:first-child {
        border-top-left-radius: 20px;
    }

    .LargeGiftView .LargeGiftDetailsView table thead tr:first-child th:last-child {
        border-top-right-radius: 20px;
    }

    .LargeGiftView .LargeGiftDetailsView table tbody tr td {
        border-top: 0px;
        text-align: center;
        padding: 0px 6px;
        white-space: nowrap;
    }

    .LargeGiftView .LargeGift-details-tables {
        display: flex;
        flex-direction: column;
        flex: 1;
        z-index: 2;
        background-color: white;
    }

    .LargeGiftView .LargeGift-details-header {
        cursor: pointer;
        background-color: #007BFF;
        color: white;
        padding: 8px 12px;
        font-weight: bold;
        font-size: 16px;
        border-radius: 4px;
    }

        .LargeGiftView .LargeGift-details-header:hover {
            background-color: #0056B3;
            text-decoration: none;
            color: black;
        }

    .LargeGiftView .details-tab-content {
        display: flex;
        position: relative;
        overflow: auto;
        flex-direction: column;
        scrollbar-width: thin;
        scrollbar-color: #29ABE2 #B7E5FC;
        scrollbar-arrow-color: #B7E5FC;
        flex-grow: 1;
    }

    .LargeGiftView .LargeGift-summaries-table-parent {
        display: flex;
        position: relative;
        overflow: auto;
        scrollbar-width: thin;
        scrollbar-color: #29ABE2 #B7E5FC;
        scrollbar-arrow-color: #B7E5FC;
    }

    .LargeGiftView .LargeGift-summaries-tables {
        display: flex;
        flex-direction: column;
    }

        .LargeGiftView .LargeGift-summaries-tables table thead tr th {
            text-align: center;
            background-color: #E8F3F9;
        }

        .LargeGiftView .LargeGift-summaries-tables table thead tr:first-child th:first-child {
            border-top-left-radius: 20px;
        }

        .LargeGiftView .LargeGift-summaries-tables table thead tr:first-child th:last-child {
            border-top-right-radius: 20px;
        }

        .LargeGiftView .LargeGift-summaries-tables table tbody tr td {
            text-align: center;
            padding: 0px 6px;
            white-space: nowrap;
        }

    .LargeGiftView .summary-options {
        justify-content: space-between;
        margin-bottom: 2px;
    }

    .LargeGiftView .LargeGift-options-header {
        cursor: pointer;
        background-color: #F4F4F4;
        color: #000000;
        font-weight: bold;
        font-size: 16px;
        border-radius: 10px;
        position: sticky;
        top: 0;
        z-index: 1;
    }

    .LargeGiftView .customized-input-number .input {
        text-align: center;
    }

    .LargeGiftView .customized-input-number .spinner.decrement {
        padding: 0px 0px 0px 0px;
        margin: 0px 2px 0px 2px;
        height: auto;
        background-color: #4AAEE1;
        border: none;
    }

    .LargeGiftView .customized-input-number .spinner.increment {
        padding: 0px 0px 0px 0px;
        margin: 0px 2px 0px 2px;
        height: auto;
        background-color: #4AAEE1;
        border: none;
    }

    .LargeGiftView .option-input-group {
        border-bottom: 2px solid #F4F4F4;
        padding-bottom: 3px;
        margin-top: 3px;
        border-radius: 10px;
        border-bottom-left-radius: 0px;
        border-bottom-right-radius: 0px;
        padding-left: 5px;
        padding-right: 5px;
    }

        .LargeGiftView .option-input-group div:not(.option-input-title) {
            padding: 3px;
        }

        .LargeGiftView .option-input-group div {
            border-radius: 10px;
        }

        .LargeGiftView .option-input-group > div:first-child {
            border-radius: 10px 10px 0px 0px;
        }

        .LargeGiftView .option-input-group > div:nth-child(2) {
            border-radius: 0px 0px 10px 10px;
        }

    .LargeGiftView .option-input-title {
        font-weight: 500;
        padding-bottom: 3px;
        padding-left: 2px;
    }

    .LargeGiftView .no-hover {
        position: relative;
        top: -10px;
        border: 1px solid #F4F4F4;
        border-top: none;
        padding: 10px 0px;
        border-radius: 0px 0px 10px 10px;
    }

    .LargeGiftView .collapse {
        display: none;
    }

    /* Button styles */
    .LargeGiftView button {
        background-color: #4AAEE1;
        border: none;
        color: white;
        text-align: center;
        text-decoration: none;
        display: inline-block;
        font-size: 14px;
        margin: 4px 2px;
        cursor: pointer;
        padding: 10px 24px;
        border-radius: 4px;
        transition: background-color 0.3s;
    }

        .LargeGiftView button:hover {
            background-color: #0056B3;
            text-decoration: none;
            color: white;
        }

    .LargeGiftView .customized-input-number button {
        width: 24px;
        height: 100%;
        margin: 2px
    }

    .LargeGiftView .advanced-option .customized-input-number button {
        background-color: purple !important;
    }

    .LargeGiftView td button {
        padding: 0px;
        width: 25px;
        height: 100%;
    }

    /* Table styles */
    .LargeGiftView table {
        width: 100%;
        border-collapse: collapse;
        font-size: 14px;
    }

    .LargeGiftView th, .LargeGiftView td {
        text-align: left;
        border-bottom: 1px solid #ddd;
        padding: 4px;
    }

    .LargeGiftView th {
        background-color: #f2f2f2;
        font-weight: bold;
    }

    .LargeGiftView tr:not(.no-hover):hover {
        background-color: #f5f5f5;
    }

    /* Input styles */
    .LargeGiftView input[type="date"],
    .LargeGiftView input[type="text"],
    .LargeGiftView select,
    .LargeGiftView .form-control,
    .LargeGiftView .customized-input-number input {
        width: 100%;
        padding: 0px 6px;
        border: 1px solid #ccc;
        border-radius: 4px;
        font-size: 14px;
    }

    .LargeGiftView .arrow {
        display: inline-block;
        width: 0;
        height: 0;
        border-style: solid;
        margin-left: 5px;
    }

        .LargeGiftView .arrow.right {
            border-width: 5px 0 5px 5px;
            border-color: transparent transparent transparent #000;
        }

        .LargeGiftView .arrow.down {
            border-width: 5px 5px 0px 5px;
            border-color: #000 transparent transparent transparent;
        }

    /* Toggle Switch */
    .LargeGiftView .options-toggle {
        display: flex;
        flex-direction: row;
        justify-content: flex-end;
    }

    .LargeGiftView .toggle-switch {
        position: relative;
        display: inline-block;
        width: 40px;
        height: 20px;
    }

        .LargeGiftView .toggle-switch input {
            opacity: 0;
            width: 0;
            height: 0;
        }

    .LargeGiftView .toggle-slider {
        position: absolute;
        cursor: pointer;
        top: 0;
        left: 0;
        right: 0;
        bottom: 0;
        background-color: #ccc;
        transition: 0.4s;
        border-radius: 34px;
    }

        .LargeGiftView .toggle-slider:before {
            position: absolute;
            content: "";
            height: 16px;
            width: 16px;
            left: 4px;
            bottom: 2px;
            background-color: white;
            transition: 0.4s;
            border-radius: 50%;
        }

    .LargeGiftView input:checked + .toggle-slider {
        background-color: #007BFF;
    }

    .LargeGiftView input:focus + .toggle-slider {
        box-shadow: 0 0 1px #007BFF;
    }

    .LargeGiftView input:checked + .toggle-slider:before {
        transform: translateX(16px);
    }

    /* Multi-Option Switch with Timeline */
    .LargeGiftView .multi-option-switch {
        display: flex;
        position: relative;
        justify-content: space-between;
        padding: 5px 7px;
        background-color: #f0f0f0;
        border-radius: 6px;
        margin-left: 4px;
        margin-right: 4px;
    }

        .LargeGiftView .multi-option-switch input[type="radio"] {
            display: none;
        }

        .LargeGiftView .multi-option-switch label {
            display: flex;
            flex: 1;
            justify-content: center;
            white-space: nowrap;
            cursor: pointer;
            text-align: center;
            color: #999;
            transition: background-color 0.4s, transform 0.4s;
            position: relative;
            z-index: 1;
            font-weight: 600;
            border-radius: 6px;
            padding: 2px 8px;
            transform: scale(0.9);
        }

        .LargeGiftView .multi-option-switch input[type="radio"]:checked + label {
            color: #fff;
            transform: scale(1);
            font-weight: 600;
            background: linear-gradient(99.02deg, rgb(0, 113, 188) 95.38%, rgb(0, 113, 188) 95.38%);
            padding: 2px 8px;
        }

        .LargeGiftView .multi-option-switch input[type="radio"]:first-child:checked + label {
            background: linear-gradient(99.02deg, rgb(41, 171, 226) -19.8%, rgb(0, 113, 188) 95.38%);
        }

        .LargeGiftView .multi-option-switch input[type="radio"]:last-child:checked + label {
            background: linear-gradient(99.02deg, #0071BC -19.8%, #29ABE2 95.38%);
        }

    .LargeGiftView .tabs-container {
        margin-top: 7px;
        margin-bottom: 7px;
        margin-right: 5px;
        display: flex;
        flex-direction: column;
        flex-grow: 100;
    }

    .LargeGiftView .nav-item button {
        padding-top: 6px;
        padding-bottom: 6px;
        font-size: 12pt;
    }

    .LargeGiftView .nav.nav-tabs {
        border-bottom: none;
    }

    .LargeGiftView .nav-tabs .nav-link {
        color: #087DC4;
        font-weight: 600;
        background: linear-gradient(99.02deg, #E8F3F9 95.38%, #E8F3F9 95.38%);
        margin: 0px;
        border-radius: 0px;
    }

    .LargeGiftView .nav-tabs .nav-item:first-child .nav-link {
        border-top-left-radius: 10px;
        border-bottom-left-radius: 10px;
    }

    .LargeGiftView .nav-tabs .nav-item:last-child .nav-link {
        border-top-right-radius: 10px;
        border-bottom-right-radius: 10px;
    }

    .LargeGiftView .nav-tabs .nav-link.active {
        background: linear-gradient(99.02deg, #0071BC 95.38%, #0071BC 95.38%);
        color: #FFFFFF;
    }

    .LargeGiftView .nav-tabs .nav-item:first-child .nav-link.active {
        background: linear-gradient(99.02deg, #29ABE2 -19.8%, #0071BC 95.38%);
        color: #FFFFFF;
    }

    .LargeGiftView .nav-tabs .nav-item:last-child .nav-link.active {
        background: linear-gradient(99.02deg, #0071BC -19.8%, #29ABE2 95.38%);
        color: #FFFFFF;
    }

    .LargeGiftView .tab-content {
        border-top: none;
        padding: 6px 0px 0px 0px;
        background-color: #fff;
        display: flex;
        flex-grow: 100;
        justify-content: center;
        align-items: center;
        flex-direction: column;
    }

    .LargeGiftView .tab-pane {
        height: 100%;
        width: 100%;
    }

    .LargeGiftView .tab-content > .active {
        display: flex;
        flex-direction: column;
    }

    /* Scroll to Top Button */
    .LargeGiftView .scroll-to-top-btn {
        display: none;
        position: fixed;
        bottom: 20px;
        right: 40px;
        z-index: 99;
        font-size: 14px;
        width: 40px;
        height: 40px;
        color: white;
        background-color: #007BFF;
        border: none;
        cursor: pointer;
        border-radius: 50%;
        transition: background-color 0.3s;
        text-align: center;
        padding: 0px;
        margin: 2px;
    }

        .LargeGiftView.scroll-to-top-btn:hover {
            background-color: #0056B3;
        }

    .LargeGiftView .progress-circle {
        position: absolute;
        top: 0;
        left: 0;
    }

    .LargeGiftView .progress-bg {
        stroke: #ccc;
    }

    .LargeGiftView .progress-bar {
        stroke: white;
        stroke-linecap: round;
        transform-origin: center;
        transform: rotate(-90deg);
    }

    /* More Details Below indicator */
    .LargeGiftView .scroll-indicator {
        display: none;
        position: sticky;
        width: 200px;
        bottom: 20px;
        left: 50%;
        transform: translateX(-50%);
        background-color: rgba(0, 0, 0, 0.4);
        border-radius: 4px;
        padding: 6px 12px;
        text-align: center;
        color: rgb(255, 255, 255, 1);
        font-weight: bold;
        animation: pulsate 2s infinite;
        cursor: pointer;
    }

@keyframes pulsate {
    0% {
        transform: translateX(-50%) scale(1);
        opacity: 1;
    }

    50% {
        transform: translateX(-50%) scale(1.1);
        opacity: 0.5;
    }

    100% {
        transform: translateX(-50%) scale(1);
        opacity: 1;
    }
}

.LargeGiftView .zoom-control-toolbar {
    position: sticky;
    bottom: 0px;
    left: 0px;
    right: 0px;
    background: #F5F5F5;
    width: 100%;
    display: flex;
    justify-content: flex-end;
    align-items: center;
    padding-top: 5px;
    padding-bottom: 5px;
    padding-right: 10px;
    border-bottom-left-radius: 20px;
    border-bottom-right-radius: 20px;
}

    .LargeGiftView .zoom-control-toolbar .btn {
        font-size: 14px;
        border-radius: 6px;
        padding: 3px 5px;
        margin-right: 5px;
        background: #4AAEE1;
        color: white;
        font-weight: 500;
    }

    .LargeGiftView .zoom-control-toolbar .slider {
        margin-left: 5px;
        margin-right: 10px;
    }

    .LargeGiftView .zoom-control-toolbar .percent-label {
        margin-bottom: 0px;
        margin-right: 10px;
        font-size: 14px;
    }

    .LargeGiftView .zoom-control-toolbar input {
        accent-color: #4AAEE1;
    }

@keyframes slideDown {
    0% {
        transform: translateY(-100%);
    }

    100% {
        transform: translateY(0%);
    }
}

.LargeGift-letter-wrapper {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-color: rgba(0, 0, 0, 0.5);
    display: flex;
    justify-content: center;
    align-items: center;
    z-index: 1001;
}

    .LargeGift-letter-wrapper .LargeGift-letter-popout {
        background-color: white;
        padding: 2rem;
        border-radius: 4px;
        width: 90%;
        max-width: 600px;
        max-height: 90%;
        overflow-y: auto;
    }

    .LargeGift-letter-wrapper .LargeGift-letter-button {
        min-width: 100px;
        margin: 0 10px;
    }

    .LargeGift-letter-wrapper .button-wrapper {
        display: flex;
        justify-content: center;
        margin-top: 15px;
    }

    .LargeGift-letter-wrapper .form-group {
        margin-bottom: 1rem;
    }

    .LargeGift-letter-wrapper .form-check {
        margin-bottom: 0.5rem;
    }

/* GRAT Calculator */

/* GRATView styles */
.GRAT-main {
    display: flex;
    flex-direction: column;
}

.GRATView {
    display: flex;
    flex-direction: row;
    font-size: 16px;
    line-height: 1.5;
    height: calc(100vh - 5rem);
}

    .GRATView .h-resizer {
        height: 8px;
        font-size: 16px;
        border-bottom: none;
        border-top: none;
    }

    .GRATView .resizer {
        width: 8px;
        min-width: 8px;
        max-width: 8px;
        writing-mode: vertical-lr;
        font-size: 16px;
        border-left: 1px solid #a9a9a9;
        border-right: none;
        background: none;
    }

    .GRATView .GRAT-side-panel {
        flex: 1;
        display: flex;
        flex-direction: column;
        overflow: auto;
        width: 340px;
        padding: 3px 5px;
        margin: 10px;
        border: 1px solid #F0F0F0;
        box-shadow: 0px 2px 16px #F4FAFD;
        border-radius: 20px;
    }

        .GRATView .GRAT-side-panel tbody tr td:first-child {
            max-width: 12em;
        }

        .GRATView .GRAT-side-panel.fullscreen {
            width: 100vw !important;
            padding: 1vh 20vw;
            margin-right: 5%;
            margin-left: 5%;
        }

    .GRATView .GRAT-results-wrapper {
        display: flex;
        flex-direction: column;
        width: 100%;
        overflow: auto;
        margin-left: 5px;
        margin-right: 5px;
        border: 1px solid #F4F4F4;
        border-radius: 20px;
    }

    .GRATView .GRAT-results {
        display: flex;
        flex-direction: column;
        overflow: auto;
        margin-left: 6px;
        height: 100%;
    }

    .GRATView .GRATDetailsView {
        padding-left: 0px;
        padding-right: 0px;
        position: absolute;
        width: unset;
    }

    .GRATView .GRAT-details-tables ul li:not(:last-child) {
        margin-bottom: 0.75rem;
    }

    .GRATView .GRATDetailsView table thead tr th {
        border-top: 0px;
        text-align: center;
        background-color: #E8F3F9;
    }

    .GRATView .GRATDetailsView table thead tr:first-child th:first-child {
        border-top-left-radius: 20px;
    }

    .GRATView .GRATDetailsView table thead tr:first-child th:last-child {
        border-top-right-radius: 20px;
    }

    .GRATView .GRATDetailsView table tbody tr td {
        border-top: 0px;
        text-align: center;
        padding: 0px 6px;
        white-space: nowrap;
    }

    .GRATView .GRAT-details-tables {
        display: flex;
        flex-direction: column;
        flex: 1;
        z-index: 2;
        background-color: white;
    }

    .GRATView .GRAT-details-header {
        cursor: pointer;
        background-color: #007BFF;
        color: white;
        padding: 8px 12px;
        font-weight: bold;
        font-size: 16px;
        border-radius: 4px;
    }

        .GRATView .GRAT-details-header:hover {
            background-color: #0056B3;
            text-decoration: none;
            color: black;
        }

    .GRATView .details-tab-content {
        display: flex;
        position: relative;
        overflow: auto;
        flex-direction: column;
        scrollbar-width: thin;
        scrollbar-color: #29ABE2 #B7E5FC;
        scrollbar-arrow-color: #B7E5FC;
        flex-grow: 1;
    }

    .GRATView .GRAT-summaries-table-parent {
        display: flex;
        position: relative;
        overflow: auto;
        scrollbar-width: thin;
        scrollbar-color: #29ABE2 #B7E5FC;
        scrollbar-arrow-color: #B7E5FC;
    }

    .GRATView .GRAT-summaries-tables {
        display: flex;
        flex-direction: column;
    }

        .GRATView .GRAT-summaries-tables table thead tr th {
            text-align: center;
            background-color: #E8F3F9;
        }

        .GRATView .GRAT-summaries-tables table thead tr:first-child th:first-child {
            border-top-left-radius: 20px;
        }

        .GRATView .GRAT-summaries-tables table thead tr:first-child th:last-child {
            border-top-right-radius: 20px;
        }

        .GRATView .GRAT-summaries-tables table tbody tr td {
            text-align: center;
            padding: 0px 6px;
            white-space: nowrap;
        }

    .GRATView .summary-options {
        justify-content: space-between;
        margin-bottom: 2px;
    }

    .GRATView .GRAT-options-header {
        cursor: pointer;
        background-color: #F4F4F4;
        color: #000000;
        font-weight: bold;
        font-size: 16px;
        border-radius: 10px;
        position: sticky;
        top: 0;
        z-index: 1;
    }

    .GRATView .customized-input-number .input {
        text-align: center;
    }

    .GRATView .customized-input-number .spinner.decrement {
        padding: 0px 0px 0px 0px;
        margin: 0px 2px 0px 2px;
        height: auto;
        background-color: #4AAEE1;
        border: none;
    }

    .GRATView .customized-input-number .spinner.increment {
        padding: 0px 0px 0px 0px;
        margin: 0px 2px 0px 2px;
        height: auto;
        background-color: #4AAEE1;
        border: none;
    }

    .GRATView .option-input-group {
        border-bottom: 2px solid #F4F4F4;
        padding-bottom: 3px;
        margin-top: 3px;
        border-radius: 10px;
        border-bottom-left-radius: 0px;
        border-bottom-right-radius: 0px;
        padding-left: 5px;
        padding-right: 5px;
    }

        .GRATView .option-input-group div:not(.option-input-title) {
            padding: 3px;
        }

        .GRATView .option-input-group div {
            border-radius: 10px;
        }

        .GRATView .option-input-group > div:first-child {
            border-radius: 10px 10px 0px 0px;
        }

        .GRATView .option-input-group > div:nth-child(2) {
            border-radius: 0px 0px 10px 10px;
        }

    .GRATView .option-input-title {
        font-weight: 500;
        padding-bottom: 3px;
        padding-left: 2px;
    }

    .GRATView .no-hover {
        position: relative;
        top: -10px;
        border: 1px solid #F4F4F4;
        border-top: none;
        padding: 10px 0px;
        border-radius: 0px 0px 10px 10px;
    }

    .GRATView .collapse {
        display: none;
    }

    /* Button styles */
    .GRATView button {
        background-color: #4AAEE1;
        border: none;
        color: white;
        text-align: center;
        text-decoration: none;
        display: inline-block;
        font-size: 14px;
        margin: 4px 2px;
        cursor: pointer;
        padding: 10px 24px;
        border-radius: 4px;
        transition: background-color 0.3s;
    }

        .GRATView button:hover {
            background-color: #0056B3;
            text-decoration: none;
            color: white;
        }

    .GRATView .customized-input-number button {
        width: 24px;
        height: 100%;
        margin: 2px
    }

    .GRATView .advanced-option .customized-input-number button {
        background-color: purple !important;
    }

    .GRATView td button {
        padding: 0px;
        width: 25px;
        height: 100%;
    }

    /* Table styles */
    .GRATView table {
        width: 100%;
        border-collapse: collapse;
        font-size: 14px;
    }

    .GRATView th, .GRATView td {
        text-align: left;
        border-bottom: 1px solid #ddd;
        padding: 4px;
    }

    .GRATView th {
        background-color: #f2f2f2;
        font-weight: bold;
    }

    .GRATView tr:not(.no-hover):hover {
        background-color: #f5f5f5;
    }

    /* Input styles */
    .GRATView input[type="date"],
    .GRATView input[type="text"],
    .GRATView select,
    .GRATView .form-control,
    .GRATView .customized-input-number input {
        width: 100%;
        padding: 0px 6px;
        border: 1px solid #ccc;
        border-radius: 4px;
        font-size: 14px;
    }

    .GRATView .arrow {
        display: inline-block;
        width: 0;
        height: 0;
        border-style: solid;
        margin-left: 5px;
    }

        .GRATView .arrow.right {
            border-width: 5px 0 5px 5px;
            border-color: transparent transparent transparent #000;
        }

        .GRATView .arrow.down {
            border-width: 5px 5px 0px 5px;
            border-color: #000 transparent transparent transparent;
        }

    /* Toggle Switch */
    .GRATView .options-toggle {
        display: flex;
        flex-direction: row;
        justify-content: flex-end;
    }

    .GRATView .toggle-switch {
        position: relative;
        display: inline-block;
        width: 40px;
        height: 20px;
    }

        .GRATView .toggle-switch input {
            opacity: 0;
            width: 0;
            height: 0;
        }

    .GRATView .toggle-slider {
        position: absolute;
        cursor: pointer;
        top: 0;
        left: 0;
        right: 0;
        bottom: 0;
        background-color: #ccc;
        transition: 0.4s;
        border-radius: 34px;
    }

        .GRATView .toggle-slider:before {
            position: absolute;
            content: "";
            height: 16px;
            width: 16px;
            left: 4px;
            bottom: 2px;
            background-color: white;
            transition: 0.4s;
            border-radius: 50%;
        }

    .GRATView input:checked + .toggle-slider {
        background-color: #007BFF;
    }

    .GRATView input:focus + .toggle-slider {
        box-shadow: 0 0 1px #007BFF;
    }

    .GRATView input:checked + .toggle-slider:before {
        transform: translateX(16px);
    }

    /* Multi-Option Switch with Timeline */
    .GRATView .multi-option-switch {
        display: flex;
        position: relative;
        justify-content: space-between;
        padding: 5px 7px;
        background-color: #f0f0f0;
        border-radius: 6px;
        margin-left: 4px;
        margin-right: 4px;
    }

        .GRATView .multi-option-switch input[type="radio"] {
            display: none;
        }

        .GRATView .multi-option-switch label {
            display: flex;
            flex: 1;
            justify-content: center;
            white-space: nowrap;
            cursor: pointer;
            text-align: center;
            color: #999;
            transition: background-color 0.4s, transform 0.4s;
            position: relative;
            z-index: 1;
            font-weight: 600;
            border-radius: 6px;
            padding: 2px 8px;
            transform: scale(0.9);
        }

        .GRATView .multi-option-switch input[type="radio"]:checked + label {
            color: #fff;
            transform: scale(1);
            font-weight: 600;
            background: linear-gradient(99.02deg, rgb(0, 113, 188) 95.38%, rgb(0, 113, 188) 95.38%);
            padding: 2px 8px;
        }

        .GRATView .multi-option-switch input[type="radio"]:first-child:checked + label {
            background: linear-gradient(99.02deg, rgb(41, 171, 226) -19.8%, rgb(0, 113, 188) 95.38%);
        }

        .GRATView .multi-option-switch input[type="radio"]:last-child:checked + label {
            background: linear-gradient(99.02deg, #0071BC -19.8%, #29ABE2 95.38%);
        }

    .GRATView .tabs-container {
        margin-top: 7px;
        margin-bottom: 7px;
        margin-right: 5px;
        display: flex;
        flex-direction: column;
        flex-grow: 100;
    }

    .GRATView .nav-item button {
        padding-top: 6px;
        padding-bottom: 6px;
        font-size: 12pt;
    }

    .GRATView .nav.nav-tabs {
        border-bottom: none;
    }

    .GRATView .nav-tabs .nav-link {
        color: #087DC4;
        font-weight: 600;
        background: linear-gradient(99.02deg, #E8F3F9 95.38%, #E8F3F9 95.38%);
        margin: 0px;
        border-radius: 0px;
    }

    .GRATView .nav-tabs .nav-item:first-child .nav-link {
        border-top-left-radius: 10px;
        border-bottom-left-radius: 10px;
    }

    .GRATView .nav-tabs .nav-item:last-child .nav-link {
        border-top-right-radius: 10px;
        border-bottom-right-radius: 10px;
    }

    .GRATView .nav-tabs .nav-link.active {
        background: linear-gradient(99.02deg, #0071BC 95.38%, #0071BC 95.38%);
        color: #FFFFFF;
    }

    .GRATView .nav-tabs .nav-item:first-child .nav-link.active {
        background: linear-gradient(99.02deg, #29ABE2 -19.8%, #0071BC 95.38%);
        color: #FFFFFF;
    }

    .GRATView .nav-tabs .nav-item:last-child .nav-link.active {
        background: linear-gradient(99.02deg, #0071BC -19.8%, #29ABE2 95.38%);
        color: #FFFFFF;
    }

    .GRATView .tab-content {
        border-top: none;
        padding: 6px 0px 0px 0px;
        background-color: #fff;
        display: flex;
        flex-grow: 100;
        justify-content: center;
        align-items: center;
        flex-direction: column;
    }

    .GRATView .tab-pane {
        height: 100%;
        width: 100%;
    }

    .GRATView .tab-content > .active {
        display: flex;
        flex-direction: column;
    }

    /* Scroll to Top Button */
    .GRATView .scroll-to-top-btn {
        display: none;
        position: fixed;
        bottom: 20px;
        right: 40px;
        z-index: 99;
        font-size: 14px;
        width: 40px;
        height: 40px;
        color: white;
        background-color: #007BFF;
        border: none;
        cursor: pointer;
        border-radius: 50%;
        transition: background-color 0.3s;
        text-align: center;
        padding: 0px;
        margin: 2px;
    }

        .GRATView.scroll-to-top-btn:hover {
            background-color: #0056B3;
        }

    .GRATView .progress-circle {
        position: absolute;
        top: 0;
        left: 0;
    }

    .GRATView .progress-bg {
        stroke: #ccc;
    }

    .GRATView .progress-bar {
        stroke: white;
        stroke-linecap: round;
        transform-origin: center;
        transform: rotate(-90deg);
    }

    /* More Details Below indicator */
    .GRATView .scroll-indicator {
        display: none;
        position: sticky;
        width: 200px;
        bottom: 20px;
        left: 50%;
        transform: translateX(-50%);
        background-color: rgba(0, 0, 0, 0.4);
        border-radius: 4px;
        padding: 6px 12px;
        text-align: center;
        color: rgb(255, 255, 255, 1);
        font-weight: bold;
        animation: pulsate 2s infinite;
        cursor: pointer;
    }

@keyframes pulsate {
    0% {
        transform: translateX(-50%) scale(1);
        opacity: 1;
    }

    50% {
        transform: translateX(-50%) scale(1.1);
        opacity: 0.5;
    }

    100% {
        transform: translateX(-50%) scale(1);
        opacity: 1;
    }
}

.GRATView .zoom-control-toolbar {
    position: sticky;
    bottom: 0px;
    left: 0px;
    right: 0px;
    background: #F5F5F5;
    width: 100%;
    display: flex;
    justify-content: flex-end;
    align-items: center;
    padding-top: 5px;
    padding-bottom: 5px;
    padding-right: 10px;
    border-bottom-left-radius: 20px;
    border-bottom-right-radius: 20px;
}

    .GRATView .zoom-control-toolbar .btn {
        font-size: 14px;
        border-radius: 6px;
        padding: 3px 5px;
        margin-right: 5px;
        background: #4AAEE1;
        color: white;
        font-weight: 500;
    }

    .GRATView .zoom-control-toolbar .slider {
        margin-left: 5px;
        margin-right: 10px;
    }

    .GRATView .zoom-control-toolbar .percent-label {
        margin-bottom: 0px;
        margin-right: 10px;
        font-size: 14px;
    }

    .GRATView .zoom-control-toolbar input {
        accent-color: #4AAEE1;
    }

@keyframes slideDown {
    0% {
        transform: translateY(-100%);
    }

    100% {
        transform: translateY(0%);
    }
}

.GRAT-letter-wrapper {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-color: rgba(0, 0, 0, 0.5);
    display: flex;
    justify-content: center;
    align-items: center;
    z-index: 1001;
}

    .GRAT-letter-wrapper .GRAT-letter-popout {
        background-color: white;
        padding: 2rem;
        border-radius: 4px;
        width: 90%;
        max-width: 600px;
        max-height: 90%;
        overflow-y: auto;
    }

    .GRAT-letter-wrapper .GRAT-letter-button {
        min-width: 100px;
        margin: 0 10px;
    }

    .GRAT-letter-wrapper .button-wrapper {
        display: flex;
        justify-content: center;
        margin-top: 15px;
    }

    .GRAT-letter-wrapper .form-group {
        margin-bottom: 1rem;
    }

    .GRAT-letter-wrapper .form-check {
        margin-bottom: 0.5rem;
    }

/* QPRT Calculator */

/* QPRTView styles */
.QPRT-main {
    display: flex;
    flex-direction: column;
}

.QPRTView {
    display: flex;
    flex-direction: row;
    font-size: 16px;
    line-height: 1.5;
    height: calc(100vh - 5rem);
}

    .QPRTView .h-resizer {
        height: 8px;
        font-size: 16px;
        border-bottom: none;
        border-top: none;
    }

    .QPRTView .resizer {
        width: 8px;
        min-width: 8px;
        max-width: 8px;
        writing-mode: vertical-lr;
        font-size: 16px;
        border-left: 1px solid #a9a9a9;
        border-right: none;
        background: none;
    }

    .QPRTView .QPRT-side-panel {
        flex: 1;
        display: flex;
        flex-direction: column;
        overflow: auto;
        width: 340px;
        padding: 3px 5px;
        margin: 10px;
        border: 1px solid #F0F0F0;
        box-shadow: 0px 2px 16px #F4FAFD;
        border-radius: 20px;
    }

        .QPRTView .QPRT-side-panel tbody tr td:first-child {
            max-width: 12em;
        }

        .QPRTView .QPRT-side-panel.fullscreen {
            width: 100vw !important;
            padding: 1vh 20vw;
            margin-right: 5%;
            margin-left: 5%;
        }

    .QPRTView .QPRT-results-wrapper {
        display: flex;
        flex-direction: column;
        width: 100%;
        overflow: auto;
        margin-left: 5px;
        margin-right: 5px;
        border: 1px solid #F4F4F4;
        border-radius: 20px;
    }

    .QPRTView .QPRT-results {
        display: flex;
        flex-direction: column;
        overflow: auto;
        margin-left: 6px;
        height: 100%;
    }

    .QPRTView .QPRTDetailsView {
        padding-left: 0px;
        padding-right: 0px;
        position: absolute;
        width: unset;
    }

    .QPRTView .QPRT-details-tables ul li:not(:last-child) {
        margin-bottom: 0.75rem;
    }

    .QPRTView .QPRTDetailsView table thead tr th {
        border-top: 0px;
        text-align: center;
        background-color: #E8F3F9;
    }

    .QPRTView .QPRTDetailsView table thead tr:first-child th:first-child {
        border-top-left-radius: 20px;
    }

    .QPRTView .QPRTDetailsView table thead tr:first-child th:last-child {
        border-top-right-radius: 20px;
    }

    .QPRTView .QPRTDetailsView table tbody tr td {
        border-top: 0px;
        text-align: center;
        padding: 0px 6px;
        white-space: nowrap;
    }

    .QPRTView .QPRT-details-tables {
        display: flex;
        flex-direction: column;
        flex: 1;
        z-index: 2;
        background-color: white;
    }

    .QPRTView .QPRT-details-header {
        cursor: pointer;
        background-color: #007BFF;
        color: white;
        padding: 8px 12px;
        font-weight: bold;
        font-size: 16px;
        border-radius: 4px;
    }

        .QPRTView .QPRT-details-header:hover {
            background-color: #0056B3;
            text-decoration: none;
            color: black;
        }

    .QPRTView .details-tab-content {
        display: flex;
        position: relative;
        overflow: auto;
        flex-direction: column;
        scrollbar-width: thin;
        scrollbar-color: #29ABE2 #B7E5FC;
        scrollbar-arrow-color: #B7E5FC;
        flex-grow: 1;
    }

    .QPRTView .QPRT-summaries-table-parent {
        display: flex;
        position: relative;
        overflow: auto;
        scrollbar-width: thin;
        scrollbar-color: #29ABE2 #B7E5FC;
        scrollbar-arrow-color: #B7E5FC;
    }

    .QPRTView .QPRT-summaries-tables {
        display: flex;
        flex-direction: column;
    }

        .QPRTView .QPRT-summaries-tables table thead tr th {
            text-align: center;
            background-color: #E8F3F9;
        }

        .QPRTView .QPRT-summaries-tables table thead tr:first-child th:first-child {
            border-top-left-radius: 20px;
        }

        .QPRTView .QPRT-summaries-tables table thead tr:first-child th:last-child {
            border-top-right-radius: 20px;
        }

        .QPRTView .QPRT-summaries-tables table tbody tr td {
            text-align: center;
            padding: 0px 6px;
            white-space: nowrap;
        }

    .QPRTView .summary-options {
        justify-content: space-between;
        margin-bottom: 2px;
    }

    .QPRTView .QPRT-options-header {
        cursor: pointer;
        background-color: #F4F4F4;
        color: #000000;
        font-weight: bold;
        font-size: 16px;
        border-radius: 10px;
        position: sticky;
        top: 0;
        z-index: 1;
    }

    .QPRTView .customized-input-number .input {
        text-align: center;
    }

    .QPRTView .customized-input-number .spinner.decrement {
        padding: 0px 0px 0px 0px;
        margin: 0px 2px 0px 2px;
        height: auto;
        background-color: #4AAEE1;
        border: none;
    }

    .QPRTView .customized-input-number .spinner.increment {
        padding: 0px 0px 0px 0px;
        margin: 0px 2px 0px 2px;
        height: auto;
        background-color: #4AAEE1;
        border: none;
    }

    .QPRTView .option-input-group {
        border-bottom: 2px solid #F4F4F4;
        padding-bottom: 3px;
        margin-top: 3px;
        border-radius: 10px;
        border-bottom-left-radius: 0px;
        border-bottom-right-radius: 0px;
        padding-left: 5px;
        padding-right: 5px;
    }

        .QPRTView .option-input-group div:not(.option-input-title) {
            padding: 3px;
        }

        .QPRTView .option-input-group div {
            border-radius: 0px 0px 10px 10px;
        }

        .QPRTView .option-input-group > div:first-child {
            border-radius: 10px 10px 0px 0px;
        }

    .QPRTView .option-input-title {
        font-weight: 500;
        padding-bottom: 3px;
        padding-left: 2px;
    }

    .QPRTView .no-hover {
        position: relative;
        top: -10px;
        border: 1px solid #F4F4F4;
        border-top: none;
        padding: 10px 0px;
        border-radius: 0px 0px 10px 10px;
    }

    .QPRTView .collapse {
        display: none;
    }

    /* Button styles */
    .QPRTView button {
        background-color: #4AAEE1;
        border: none;
        color: white;
        text-align: center;
        text-decoration: none;
        display: inline-block;
        font-size: 14px;
        margin: 4px 2px;
        cursor: pointer;
        padding: 10px 24px;
        border-radius: 4px;
        transition: background-color 0.3s;
    }

        .QPRTView button:hover {
            background-color: #0056B3;
            text-decoration: none;
            color: white;
        }

    .QPRTView .customized-input-number button {
        width: 24px;
        height: 100%;
        margin: 2px
    }

    .QPRTView .advanced-option .customized-input-number button {
        background-color: purple !important;
    }

    .QPRTView td button {
        padding: 0px;
        width: 25px;
        height: 100%;
    }

    /* Table styles */
    .QPRTView table {
        width: 100%;
        border-collapse: collapse;
        font-size: 14px;
    }

    .QPRTView th, .QPRTView td {
        text-align: left;
        border-bottom: 1px solid #ddd;
        padding: 4px;
    }

    .QPRTView th {
        background-color: #f2f2f2;
        font-weight: bold;
    }

    .QPRTView tr:not(.no-hover):hover {
        background-color: #f5f5f5;
    }

    /* Input styles */
    .QPRTView input[type="date"],
    .QPRTView input[type="text"],
    .QPRTView select,
    .QPRTView .form-control,
    .QPRTView .customized-input-number input {
        width: 100%;
        padding: 0px 6px;
        border: 1px solid #ccc;
        border-radius: 4px;
        font-size: 14px;
    }

    .QPRTView .arrow {
        display: inline-block;
        width: 0;
        height: 0;
        border-style: solid;
        margin-left: 5px;
    }

        .QPRTView .arrow.right {
            border-width: 5px 0 5px 5px;
            border-color: transparent transparent transparent #000;
        }

        .QPRTView .arrow.down {
            border-width: 5px 5px 0px 5px;
            border-color: #000 transparent transparent transparent;
        }

    /* Toggle Switch */
    .QPRTView .options-toggle {
        display: flex;
        flex-direction: row;
        justify-content: flex-end;
    }

    .QPRTView .toggle-switch {
        position: relative;
        display: inline-block;
        width: 40px;
        height: 20px;
    }

        .QPRTView .toggle-switch input {
            opacity: 0;
            width: 0;
            height: 0;
        }

    .QPRTView .toggle-slider {
        position: absolute;
        cursor: pointer;
        top: 0;
        left: 0;
        right: 0;
        bottom: 0;
        background-color: #ccc;
        transition: 0.4s;
        border-radius: 34px;
    }

        .QPRTView .toggle-slider:before {
            position: absolute;
            content: "";
            height: 16px;
            width: 16px;
            left: 4px;
            bottom: 2px;
            background-color: white;
            transition: 0.4s;
            border-radius: 50%;
        }

    .QPRTView input:checked + .toggle-slider {
        background-color: #007BFF;
    }

    .QPRTView input:focus + .toggle-slider {
        box-shadow: 0 0 1px #007BFF;
    }

    .QPRTView input:checked + .toggle-slider:before {
        transform: translateX(16px);
    }

    /* Multi-Option Switch with Timeline */
    .QPRTView .multi-option-switch {
        display: flex;
        position: relative;
        justify-content: space-between;
        padding: 5px 7px;
        background-color: #f0f0f0;
        border-radius: 6px;
        margin-left: 4px;
        margin-right: 4px;
    }

        .QPRTView .multi-option-switch input[type="radio"] {
            display: none;
        }

        .QPRTView .multi-option-switch label {
            display: flex;
            flex: 1;
            justify-content: center;
            white-space: nowrap;
            cursor: pointer;
            text-align: center;
            color: #999;
            transition: background-color 0.4s, transform 0.4s;
            position: relative;
            z-index: 1;
            font-weight: 600;
            border-radius: 6px;
            padding: 2px 8px;
            transform: scale(0.9);
        }

        .QPRTView .multi-option-switch input[type="radio"]:checked + label {
            color: #fff;
            transform: scale(1);
            font-weight: 600;
            background: linear-gradient(99.02deg, rgb(0, 113, 188) 95.38%, rgb(0, 113, 188) 95.38%);
            padding: 2px 8px;
        }

        .QPRTView .multi-option-switch input[type="radio"]:first-child:checked + label {
            background: linear-gradient(99.02deg, rgb(41, 171, 226) -19.8%, rgb(0, 113, 188) 95.38%);
        }

        .QPRTView .multi-option-switch input[type="radio"]:last-child:checked + label {
            background: linear-gradient(99.02deg, #0071BC -19.8%, #29ABE2 95.38%);
        }

    .QPRTView .tabs-container {
        margin-top: 7px;
        margin-bottom: 7px;
        margin-right: 5px;
        display: flex;
        flex-direction: column;
        flex-grow: 100;
    }

    .QPRTView .nav-item button {
        padding-top: 6px;
        padding-bottom: 6px;
        font-size: 12pt;
    }

    .QPRTView .nav.nav-tabs {
        border-bottom: none;
    }

    .QPRTView .nav-tabs .nav-link {
        color: #087DC4;
        font-weight: 600;
        background: linear-gradient(99.02deg, #E8F3F9 95.38%, #E8F3F9 95.38%);
        margin: 0px;
        border-radius: 0px;
    }

    .QPRTView .nav-tabs .nav-item:first-child .nav-link {
        border-top-left-radius: 10px;
        border-bottom-left-radius: 10px;
    }

    .QPRTView .nav-tabs .nav-item:last-child .nav-link {
        border-top-right-radius: 10px;
        border-bottom-right-radius: 10px;
    }

    .QPRTView .nav-tabs .nav-link.active {
        background: linear-gradient(99.02deg, #0071BC 95.38%, #0071BC 95.38%);
        color: #FFFFFF;
    }

    .QPRTView .nav-tabs .nav-item:first-child .nav-link.active {
        background: linear-gradient(99.02deg, #29ABE2 -19.8%, #0071BC 95.38%);
        color: #FFFFFF;
    }

    .QPRTView .nav-tabs .nav-item:last-child .nav-link.active {
        background: linear-gradient(99.02deg, #0071BC -19.8%, #29ABE2 95.38%);
        color: #FFFFFF;
    }

    .QPRTView .tab-content {
        border-top: none;
        padding: 6px 0px 0px 0px;
        background-color: #fff;
        display: flex;
        flex-grow: 100;
        justify-content: center;
        align-items: center;
        flex-direction: column;
    }

    .QPRTView .tab-pane {
        height: 100%;
        width: 100%;
    }

    .QPRTView .tab-content > .active {
        display: flex;
        flex-direction: column;
    }

    /* Scroll to Top Button */
    .QPRTView .scroll-to-top-btn {
        display: none;
        position: fixed;
        bottom: 20px;
        right: 40px;
        z-index: 99;
        font-size: 14px;
        width: 40px;
        height: 40px;
        color: white;
        background-color: #007BFF;
        border: none;
        cursor: pointer;
        border-radius: 50%;
        transition: background-color 0.3s;
        text-align: center;
        padding: 0px;
        margin: 2px;
    }

        .QPRTView.scroll-to-top-btn:hover {
            background-color: #0056B3;
        }

    .QPRTView .progress-circle {
        position: absolute;
        top: 0;
        left: 0;
    }

    .QPRTView .progress-bg {
        stroke: #ccc;
    }

    .QPRTView .progress-bar {
        stroke: white;
        stroke-linecap: round;
        transform-origin: center;
        transform: rotate(-90deg);
    }

    /* More Details Below indicator */
    .QPRTView .scroll-indicator {
        display: none;
        position: sticky;
        width: 200px;
        bottom: 20px;
        left: 50%;
        transform: translateX(-50%);
        background-color: rgba(0, 0, 0, 0.4);
        border-radius: 4px;
        padding: 6px 12px;
        text-align: center;
        color: rgb(255, 255, 255, 1);
        font-weight: bold;
        animation: pulsate 2s infinite;
        cursor: pointer;
    }

@keyframes pulsate {
    0% {
        transform: translateX(-50%) scale(1);
        opacity: 1;
    }

    50% {
        transform: translateX(-50%) scale(1.1);
        opacity: 0.5;
    }

    100% {
        transform: translateX(-50%) scale(1);
        opacity: 1;
    }
}

.QPRTView .zoom-control-toolbar {
    position: sticky;
    bottom: 0px;
    left: 0px;
    right: 0px;
    background: #F5F5F5;
    width: 100%;
    display: flex;
    justify-content: flex-end;
    align-items: center;
    padding-top: 5px;
    padding-bottom: 5px;
    padding-right: 10px;
    border-bottom-left-radius: 20px;
    border-bottom-right-radius: 20px;
}

    .QPRTView .zoom-control-toolbar .btn {
        font-size: 14px;
        border-radius: 6px;
        padding: 3px 5px;
        margin-right: 5px;
        background: #4AAEE1;
        color: white;
        font-weight: 500;
    }

    .QPRTView .zoom-control-toolbar .slider {
        margin-left: 5px;
        margin-right: 10px;
    }

    .QPRTView .zoom-control-toolbar .percent-label {
        margin-bottom: 0px;
        margin-right: 10px;
        font-size: 14px;
    }

    .QPRTView .zoom-control-toolbar input {
        accent-color: #4AAEE1;
    }

@keyframes slideDown {
    0% {
        transform: translateY(-100%);
    }

    100% {
        transform: translateY(0%);
    }
}

.QPRT-letter-wrapper {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-color: rgba(0, 0, 0, 0.5);
    display: flex;
    justify-content: center;
    align-items: center;
    z-index: 1001;
}

    .QPRT-letter-wrapper .QPRT-letter-popout {
        background-color: white;
        padding: 2rem;
        border-radius: 4px;
        width: 90%;
        max-width: 600px;
        max-height: 90%;
        overflow-y: auto;
    }

    .QPRT-letter-wrapper .QPRT-letter-button {
        min-width: 100px;
        margin: 0 10px;
    }

    .QPRT-letter-wrapper .button-wrapper {
        display: flex;
        justify-content: center;
        margin-top: 15px;
    }

    .QPRT-letter-wrapper .form-group {
        margin-bottom: 1rem;
    }

    .QPRT-letter-wrapper .form-check {
        margin-bottom: 0.5rem;
    }


/* CLAT Calculator */

/* CLATView styles */
.CLAT-main {
    display: flex;
    flex-direction: column;
}

.CLATView {
    display: flex;
    flex-direction: row;
    font-size: 16px;
    line-height: 1.5;
    height: calc(100vh - 5rem);
}

    .CLATView .h-resizer {
        height: 8px;
        font-size: 16px;
        border-bottom: none;
        border-top: none;
    }

    .CLATView .resizer {
        width: 8px;
        min-width: 8px;
        max-width: 8px;
        writing-mode: vertical-lr;
        font-size: 16px;
        border-left: 1px solid #a9a9a9;
        border-right: none;
        background: none;
    }

    .CLATView .CLAT-side-panel {
        flex: 1;
        display: flex;
        flex-direction: column;
        overflow: auto;
        width: 340px;
        padding: 3px 5px;
        margin: 10px;
        border: 1px solid #F0F0F0;
        box-shadow: 0px 2px 16px #F4FAFD;
        border-radius: 20px;
    }

        .CLATView .CLAT-side-panel tbody tr td:first-child {
            max-width: 12em;
        }

        .CLATView .CLAT-side-panel.fullscreen {
            width: 100vw !important;
            padding: 1vh 20vw;
            margin-right: 5%;
            margin-left: 5%;
        }

    .CLATView .CLAT-results-wrapper {
        display: flex;
        flex-direction: column;
        width: 100%;
        overflow: auto;
        margin-left: 5px;
        margin-right: 5px;
        border: 1px solid #F4F4F4;
        border-radius: 20px;
    }

    .CLATView .CLAT-results {
        display: flex;
        flex-direction: column;
        overflow: auto;
        margin-left: 6px;
        height: 100%;
    }

    .CLATView .CLATDetailsView {
        padding-left: 0px;
        padding-right: 0px;
        position: absolute;
        width: unset;
    }

    .CLATView .CLAT-details-tables ul li:not(:last-child) {
        margin-bottom: 0.75rem;
    }

    .CLATView .CLATDetailsView table thead tr th {
        border-top: 0px;
        text-align: center;
        background-color: #E8F3F9;
    }

    .CLATView .CLATDetailsView table thead tr:first-child th:first-child {
        border-top-left-radius: 20px;
    }

    .CLATView .CLATDetailsView table thead tr:first-child th:last-child {
        border-top-right-radius: 20px;
    }

    .CLATView .CLATDetailsView table tbody tr td {
        border-top: 0px;
        text-align: center;
        padding: 0px 6px;
        white-space: nowrap;
    }

    .CLATView .CLAT-details-tables {
        display: flex;
        flex-direction: column;
        flex: 1;
        z-index: 2;
        background-color: white;
    }

    .CLATView .CLAT-details-header {
        cursor: pointer;
        background-color: #007BFF;
        color: white;
        padding: 8px 12px;
        font-weight: bold;
        font-size: 16px;
        border-radius: 4px;
    }

        .CLATView .CLAT-details-header:hover {
            background-color: #0056B3;
            text-decoration: none;
            color: black;
        }

    .CLATView .details-tab-content {
        display: flex;
        position: relative;
        overflow: auto;
        flex-direction: column;
        scrollbar-width: thin;
        scrollbar-color: #29ABE2 #B7E5FC;
        scrollbar-arrow-color: #B7E5FC;
        flex-grow: 1;
    }

    .CLATView .CLAT-summaries-table-parent {
        display: flex;
        position: relative;
        overflow: auto;
        scrollbar-width: thin;
        scrollbar-color: #29ABE2 #B7E5FC;
        scrollbar-arrow-color: #B7E5FC;
    }

    .CLATView .CLAT-summaries-tables {
        display: flex;
        flex-direction: column;
    }

        .CLATView .CLAT-summaries-tables table thead tr th {
            text-align: center;
            background-color: #E8F3F9;
        }

        .CLATView .CLAT-summaries-tables table thead tr:first-child th:first-child {
            border-top-left-radius: 20px;
        }

        .CLATView .CLAT-summaries-tables table thead tr:first-child th:last-child {
            border-top-right-radius: 20px;
        }

        .CLATView .CLAT-summaries-tables table tbody tr td {
            text-align: center;
            padding: 0px 6px;
            white-space: nowrap;
        }

    .CLATView .summary-options {
        justify-content: space-between;
        margin-bottom: 2px;
    }

    .CLATView .CLAT-options-header {
        cursor: pointer;
        background-color: #F4F4F4;
        color: #000000;
        font-weight: bold;
        font-size: 16px;
        border-radius: 10px;
        position: sticky;
        top: 0;
        z-index: 1;
    }

    .CLATView .customized-input-number .input {
        text-align: center;
    }

    .CLATView .customized-input-number .spinner.decrement {
        padding: 0px 0px 0px 0px;
        margin: 0px 2px 0px 2px;
        height: auto;
        background-color: #4AAEE1;
        border: none;
    }

    .CLATView .customized-input-number .spinner.increment {
        padding: 0px 0px 0px 0px;
        margin: 0px 2px 0px 2px;
        height: auto;
        background-color: #4AAEE1;
        border: none;
    }

    .CLATView .option-input-group {
        border-bottom: 2px solid #F4F4F4;
        padding-bottom: 3px;
        margin-top: 3px;
        border-radius: 10px;
        border-bottom-left-radius: 0px;
        border-bottom-right-radius: 0px;
        padding-left: 5px;
        padding-right: 5px;
    }

        .CLATView .option-input-group div:not(.option-input-title) {
            padding: 3px;
        }

        .CLATView .option-input-group div {
            border-radius: 10px;
        }

        .CLATView .option-input-group > div:first-child {
            border-radius: 10px 10px 0px 0px;
        }

        .CLATView .option-input-group > div:nth-child(2) {
            border-radius: 0px 0px 10px 10px;
        }

    .CLATView .option-input-title {
        font-weight: 500;
        padding-bottom: 3px;
        padding-left: 2px;
    }

    .CLATView .no-hover {
        position: relative;
        top: -10px;
        border: 1px solid #F4F4F4;
        border-top: none;
        padding: 10px 0px;
        border-radius: 0px 0px 10px 10px;
    }

    .CLATView .collapse {
        display: none;
    }

    /* Button styles */
    .CLATView button {
        background-color: #4AAEE1;
        border: none;
        color: white;
        text-align: center;
        text-decoration: none;
        display: inline-block;
        font-size: 14px;
        margin: 4px 2px;
        cursor: pointer;
        padding: 10px 24px;
        border-radius: 4px;
        transition: background-color 0.3s;
    }

        .CLATView button:hover {
            background-color: #0056B3;
            text-decoration: none;
            color: white;
        }

    .CLATView .customized-input-number button {
        width: 24px;
        height: 100%;
        margin: 2px
    }

    .CLATView .advanced-option .customized-input-number button {
        background-color: purple !important;
    }

    .CLATView td button {
        padding: 0px;
        width: 25px;
        height: 100%;
    }

    /* Table styles */
    .CLATView table {
        width: 100%;
        border-collapse: collapse;
        font-size: 14px;
    }

    .CLATView th, .CLATView td {
        text-align: left;
        border-bottom: 1px solid #ddd;
        padding: 4px;
    }

    .CLATView th {
        background-color: #f2f2f2;
        font-weight: bold;
    }

    .CLATView tr:not(.no-hover):hover {
        background-color: #f5f5f5;
    }

    /* Input styles */
    .CLATView input[type="date"],
    .CLATView input[type="text"],
    .CLATView select,
    .CLATView .form-control,
    .CLATView .customized-input-number input {
        width: 100%;
        padding: 0px 6px;
        border: 1px solid #ccc;
        border-radius: 4px;
        font-size: 14px;
    }

    .CLATView .arrow {
        display: inline-block;
        width: 0;
        height: 0;
        border-style: solid;
        margin-left: 5px;
    }

        .CLATView .arrow.right {
            border-width: 5px 0 5px 5px;
            border-color: transparent transparent transparent #000;
        }

        .CLATView .arrow.down {
            border-width: 5px 5px 0px 5px;
            border-color: #000 transparent transparent transparent;
        }

    /* Toggle Switch */
    .CLATView .options-toggle {
        display: flex;
        flex-direction: row;
        justify-content: flex-end;
    }

    .CLATView .toggle-switch {
        position: relative;
        display: inline-block;
        width: 40px;
        height: 20px;
    }

        .CLATView .toggle-switch input {
            opacity: 0;
            width: 0;
            height: 0;
        }

    .CLATView .toggle-slider {
        position: absolute;
        cursor: pointer;
        top: 0;
        left: 0;
        right: 0;
        bottom: 0;
        background-color: #ccc;
        transition: 0.4s;
        border-radius: 34px;
    }

        .CLATView .toggle-slider:before {
            position: absolute;
            content: "";
            height: 16px;
            width: 16px;
            left: 4px;
            bottom: 2px;
            background-color: white;
            transition: 0.4s;
            border-radius: 50%;
        }

    .CLATView input:checked + .toggle-slider {
        background-color: #007BFF;
    }

    .CLATView input:focus + .toggle-slider {
        box-shadow: 0 0 1px #007BFF;
    }

    .CLATView input:checked + .toggle-slider:before {
        transform: translateX(16px);
    }

    /* Multi-Option Switch with Timeline */
    .CLATView .multi-option-switch {
        display: flex;
        position: relative;
        justify-content: space-between;
        padding: 5px 7px;
        background-color: #f0f0f0;
        border-radius: 6px;
        margin-left: 4px;
        margin-right: 4px;
    }

        .CLATView .multi-option-switch input[type="radio"] {
            display: none;
        }

        .CLATView .multi-option-switch label {
            display: flex;
            flex: 1;
            justify-content: center;
            white-space: nowrap;
            cursor: pointer;
            text-align: center;
            color: #999;
            transition: background-color 0.4s, transform 0.4s;
            position: relative;
            z-index: 1;
            font-weight: 600;
            border-radius: 6px;
            padding: 2px 8px;
            transform: scale(0.9);
        }

        .CLATView .multi-option-switch input[type="radio"]:checked + label {
            color: #fff;
            transform: scale(1);
            font-weight: 600;
            background: linear-gradient(99.02deg, rgb(0, 113, 188) 95.38%, rgb(0, 113, 188) 95.38%);
            padding: 2px 8px;
        }

        .CLATView .multi-option-switch input[type="radio"]:first-child:checked + label {
            background: linear-gradient(99.02deg, rgb(41, 171, 226) -19.8%, rgb(0, 113, 188) 95.38%);
        }

        .CLATView .multi-option-switch input[type="radio"]:last-child:checked + label {
            background: linear-gradient(99.02deg, #0071BC -19.8%, #29ABE2 95.38%);
        }

    .CLATView .tabs-container {
        margin-top: 7px;
        margin-bottom: 7px;
        margin-right: 5px;
        display: flex;
        flex-direction: column;
        flex-grow: 100;
    }

    .CLATView .nav-item button {
        padding-top: 6px;
        padding-bottom: 6px;
        font-size: 12pt;
    }

    .CLATView .nav.nav-tabs {
        border-bottom: none;
    }

    .CLATView .nav-tabs .nav-link {
        color: #087DC4;
        font-weight: 600;
        background: linear-gradient(99.02deg, #E8F3F9 95.38%, #E8F3F9 95.38%);
        margin: 0px;
        border-radius: 0px;
    }

    .CLATView .nav-tabs .nav-item:first-child .nav-link {
        border-top-left-radius: 10px;
        border-bottom-left-radius: 10px;
    }

    .CLATView .nav-tabs .nav-item:last-child .nav-link {
        border-top-right-radius: 10px;
        border-bottom-right-radius: 10px;
    }

    .CLATView .nav-tabs .nav-link.active {
        background: linear-gradient(99.02deg, #0071BC 95.38%, #0071BC 95.38%);
        color: #FFFFFF;
    }

    .CLATView .nav-tabs .nav-item:first-child .nav-link.active {
        background: linear-gradient(99.02deg, #29ABE2 -19.8%, #0071BC 95.38%);
        color: #FFFFFF;
    }

    .CLATView .nav-tabs .nav-item:last-child .nav-link.active {
        background: linear-gradient(99.02deg, #0071BC -19.8%, #29ABE2 95.38%);
        color: #FFFFFF;
    }

    .CLATView .tab-content {
        border-top: none;
        padding: 6px 0px 0px 0px;
        background-color: #fff;
        display: flex;
        flex-grow: 100;
        justify-content: center;
        align-items: center;
        flex-direction: column;
    }

    .CLATView .tab-pane {
        height: 100%;
        width: 100%;
    }

    .CLATView .tab-content > .active {
        display: flex;
        flex-direction: column;
    }

    /* Scroll to Top Button */
    .CLATView .scroll-to-top-btn {
        display: none;
        position: fixed;
        bottom: 20px;
        right: 40px;
        z-index: 99;
        font-size: 14px;
        width: 40px;
        height: 40px;
        color: white;
        background-color: #007BFF;
        border: none;
        cursor: pointer;
        border-radius: 50%;
        transition: background-color 0.3s;
        text-align: center;
        padding: 0px;
        margin: 2px;
    }

        .CLATView.scroll-to-top-btn:hover {
            background-color: #0056B3;
        }

    .CLATView .progress-circle {
        position: absolute;
        top: 0;
        left: 0;
    }

    .CLATView .progress-bg {
        stroke: #ccc;
    }

    .CLATView .progress-bar {
        stroke: white;
        stroke-linecap: round;
        transform-origin: center;
        transform: rotate(-90deg);
    }

    /* More Details Below indicator */
    .CLATView .scroll-indicator {
        display: none;
        position: sticky;
        width: 200px;
        bottom: 20px;
        left: 50%;
        transform: translateX(-50%);
        background-color: rgba(0, 0, 0, 0.4);
        border-radius: 4px;
        padding: 6px 12px;
        text-align: center;
        color: rgb(255, 255, 255, 1);
        font-weight: bold;
        animation: pulsate 2s infinite;
        cursor: pointer;
    }

@keyframes pulsate {
    0% {
        transform: translateX(-50%) scale(1);
        opacity: 1;
    }

    50% {
        transform: translateX(-50%) scale(1.1);
        opacity: 0.5;
    }

    100% {
        transform: translateX(-50%) scale(1);
        opacity: 1;
    }
}

.CLATView .zoom-control-toolbar {
    position: sticky;
    bottom: 0px;
    left: 0px;
    right: 0px;
    background: #F5F5F5;
    width: 100%;
    display: flex;
    justify-content: flex-end;
    align-items: center;
    padding-top: 5px;
    padding-bottom: 5px;
    padding-right: 10px;
    border-bottom-left-radius: 20px;
    border-bottom-right-radius: 20px;
}

    .CLATView .zoom-control-toolbar .btn {
        font-size: 14px;
        border-radius: 6px;
        padding: 3px 5px;
        margin-right: 5px;
        background: #4AAEE1;
        color: white;
        font-weight: 500;
    }

    .CLATView .zoom-control-toolbar .slider {
        margin-left: 5px;
        margin-right: 10px;
    }

    .CLATView .zoom-control-toolbar .percent-label {
        margin-bottom: 0px;
        margin-right: 10px;
        font-size: 14px;
    }

    .CLATView .zoom-control-toolbar input {
        accent-color: #4AAEE1;
    }

@keyframes slideDown {
    0% {
        transform: translateY(-100%);
    }

    100% {
        transform: translateY(0%);
    }
}

.CLAT-letter-wrapper {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-color: rgba(0, 0, 0, 0.5);
    display: flex;
    justify-content: center;
    align-items: center;
    z-index: 1001;
}

    .CLAT-letter-wrapper .CLAT-letter-popout {
        background-color: white;
        padding: 2rem;
        border-radius: 4px;
        width: 90%;
        max-width: 600px;
        max-height: 90%;
        overflow-y: auto;
    }

    .CLAT-letter-wrapper .CLAT-letter-button {
        min-width: 100px;
        margin: 0 10px;
    }

    .CLAT-letter-wrapper .button-wrapper {
        display: flex;
        justify-content: center;
        margin-top: 15px;
    }

    .CLAT-letter-wrapper .form-group {
        margin-bottom: 1rem;
    }

    .CLAT-letter-wrapper .form-check {
        margin-bottom: 0.5rem;
    }

.shark-fin {
    display: none;
    position: fixed;
    top: 50%;
    z-index: 999999;
}

@keyframes moveFin {
    0% {
        transform: translateX(0vw) translateY(0);
    }

    50% {
        transform: translateX(50vw) translateY(-100px);
    }

    100% {
        transform: translateX(100vw) translateY(0);
    }
}

.shark-fin-animation {
    animation: moveFin 3s cubic-bezier(.2, .2, .2, .2) forwards;
}

.orange-bg {
    background-color: rgb(255, 165, 0, 0.6);
}

/* LifeExpectancy Calculator */

/* LifeExpectancyView styles */
.LifeExpectancy-main {
    display: flex;
    flex-direction: column;
}

.LifeExpectancyView {
    display: flex;
    flex-direction: row;
    font-size: 16px;
    line-height: 1.5;
    height: calc(100vh - 5rem);
}

    .LifeExpectancyView .h-resizer {
        height: 8px;
        font-size: 16px;
        border-bottom: none;
        border-top: none;
    }

    .LifeExpectancyView .resizer {
        width: 8px;
        min-width: 8px;
        max-width: 8px;
        writing-mode: vertical-lr;
        font-size: 16px;
        border-left: 1px solid #a9a9a9;
        border-right: none;
        background: none;
    }

    .LifeExpectancyView .LifeExpectancy-side-panel {
        flex: 1;
        display: flex;
        flex-direction: column;
        overflow: auto;
        width: 340px;
        padding: 3px 5px;
        margin: 10px;
        border: 1px solid #F0F0F0;
        box-shadow: 0px 2px 16px #F4FAFD;
        border-radius: 20px;
    }

        .LifeExpectancyView .LifeExpectancy-side-panel tbody tr td:first-child {
            max-width: 12em;
        }

        .LifeExpectancyView .LifeExpectancy-side-panel.fullscreen {
            width: 100vw !important;
            padding: 1vh 20vw;
            margin-right: 5%;
            margin-left: 5%;
        }

    .LifeExpectancyView .LifeExpectancy-results-wrapper {
        display: flex;
        flex-direction: column;
        width: 100%;
        overflow: auto;
        margin-left: 5px;
        margin-right: 5px;
        border: 1px solid #F4F4F4;
        border-radius: 20px;
    }

    .LifeExpectancyView .LifeExpectancy-results {
        display: flex;
        flex-direction: column;
        overflow: auto;
        margin-left: 6px;
        height: 100%;
    }

    .LifeExpectancyView .LifeExpectancyDetailsView {
        padding-left: 0px;
        padding-right: 0px;
        position: absolute;
        width: unset;
    }

    .LifeExpectancyView .LifeExpectancy-details-tables ul li:not(:last-child) {
        margin-bottom: 0.75rem;
    }

    .LifeExpectancyView .LifeExpectancyDetailsView table thead tr th {
        border-top: 0px;
        text-align: center;
        background-color: #E8F3F9;
    }

    .LifeExpectancyView .LifeExpectancyDetailsView table thead tr:first-child th:first-child {
        border-top-left-radius: 20px;
    }

    .LifeExpectancyView .LifeExpectancyDetailsView table thead tr:first-child th:last-child {
        border-top-right-radius: 20px;
    }

    .LifeExpectancyView .LifeExpectancyDetailsView table tbody tr td {
        border-top: 0px;
        text-align: center;
        padding: 0px 6px;
        white-space: nowrap;
    }

    .LifeExpectancyView .LifeExpectancy-details-tables {
        display: flex;
        flex-direction: column;
        flex: 1;
        z-index: 2;
        background-color: white;
    }

    .LifeExpectancyView .LifeExpectancy-details-header {
        cursor: pointer;
        background-color: #007BFF;
        color: white;
        padding: 8px 12px;
        font-weight: bold;
        font-size: 16px;
        border-radius: 4px;
    }

        .LifeExpectancyView .LifeExpectancy-details-header:hover {
            background-color: #0056B3;
            text-decoration: none;
            color: black;
        }

    .LifeExpectancyView .details-tab-content {
        display: flex;
        position: relative;
        overflow: auto;
        flex-direction: column;
        scrollbar-width: thin;
        scrollbar-color: #29ABE2 #B7E5FC;
        scrollbar-arrow-color: #B7E5FC;
        flex-grow: 1;
    }

    .LifeExpectancyView .LifeExpectancy-summaries-table-parent {
        display: flex;
        position: relative;
        overflow: auto;
        scrollbar-width: thin;
        scrollbar-color: #29ABE2 #B7E5FC;
        scrollbar-arrow-color: #B7E5FC;
    }

    .LifeExpectancyView .LifeExpectancy-summaries-tables {
        display: flex;
        flex-direction: column;
    }

        .LifeExpectancyView .LifeExpectancy-summaries-tables table thead tr th {
            text-align: center;
            background-color: #E8F3F9;
        }

        .LifeExpectancyView .LifeExpectancy-summaries-tables table thead tr:first-child th:first-child {
            border-top-left-radius: 20px;
        }

        .LifeExpectancyView .LifeExpectancy-summaries-tables table thead tr:first-child th:last-child {
            border-top-right-radius: 20px;
        }

        .LifeExpectancyView .LifeExpectancy-summaries-tables table tbody tr td {
            text-align: center;
            padding: 0px 6px;
            white-space: nowrap;
        }

    .LifeExpectancyView .summary-options {
        justify-content: space-between;
        margin-bottom: 2px;
    }

    .LifeExpectancyView .LifeExpectancy-options-header {
        cursor: pointer;
        background-color: #F4F4F4;
        color: #000000;
        font-weight: bold;
        font-size: 16px;
        border-radius: 10px;
        position: sticky;
        top: 0;
        z-index: 1;
    }

    .LifeExpectancyView .customized-input-number .input {
        text-align: center;
    }

    .LifeExpectancyView .customized-input-number .spinner.decrement {
        padding: 0px 0px 0px 0px;
        margin: 0px 2px 0px 2px;
        height: auto;
        background-color: #4AAEE1;
        border: none;
    }

    .LifeExpectancyView .customized-input-number .spinner.increment {
        padding: 0px 0px 0px 0px;
        margin: 0px 2px 0px 2px;
        height: auto;
        background-color: #4AAEE1;
        border: none;
    }

    .LifeExpectancyView .option-input-group {
        border-bottom: 2px solid #F4F4F4;
        padding-bottom: 3px;
        margin-top: 3px;
        border-radius: 10px;
        border-bottom-left-radius: 0px;
        border-bottom-right-radius: 0px;
        padding-left: 5px;
        padding-right: 5px;
    }

        .LifeExpectancyView .option-input-group div:not(.option-input-title) {
            padding: 3px;
        }

        .LifeExpectancyView .option-input-group div {
            border-radius: 10px;
        }

        .LifeExpectancyView .option-input-group > div:first-child {
            border-radius: 10px 10px 0px 0px;
        }

        .LifeExpectancyView .option-input-group > div:nth-child(2) {
            border-radius: 0px 0px 10px 10px;
        }

    .LifeExpectancyView .option-input-title {
        font-weight: 500;
        padding-bottom: 3px;
        padding-left: 2px;
    }

    .LifeExpectancyView .no-hover {
        position: relative;
        top: -10px;
        border: 1px solid #F4F4F4;
        border-top: none;
        padding: 10px 0px;
        border-radius: 0px 0px 10px 10px;
    }

    .LifeExpectancyView .collapse {
        display: none;
    }

    /* Button styles */
    .LifeExpectancyView button {
        background-color: #4AAEE1;
        border: none;
        color: white;
        text-align: center;
        text-decoration: none;
        display: inline-block;
        font-size: 14px;
        margin: 4px 2px;
        cursor: pointer;
        padding: 10px 24px;
        border-radius: 4px;
        transition: background-color 0.3s;
    }

        .LifeExpectancyView button:hover {
            background-color: #0056B3;
            text-decoration: none;
            color: white;
        }

    .LifeExpectancyView .customized-input-number button {
        width: 24px;
        height: 100%;
        margin: 2px
    }

    .LifeExpectancyView .advanced-option .customized-input-number button {
        background-color: purple !important;
    }

    .LifeExpectancyView td button {
        padding: 0px;
        width: 25px;
        height: 100%;
    }

    /* Table styles */
    .LifeExpectancyView table {
        width: 100%;
        border-collapse: collapse;
        font-size: 14px;
    }

    .LifeExpectancyView th, .LifeExpectancyView td {
        text-align: left;
        border-bottom: 1px solid #ddd;
        padding: 4px;
    }

    .LifeExpectancyView th {
        background-color: #f2f2f2;
        font-weight: bold;
    }

    .LifeExpectancyView tr:not(.no-hover):hover {
        background-color: #f5f5f5;
    }

    /* Input styles */
    .LifeExpectancyView input[type="date"],
    .LifeExpectancyView input[type="text"],
    .LifeExpectancyView select,
    .LifeExpectancyView .form-control,
    .LifeExpectancyView .customized-input-number input {
        width: 100%;
        padding: 0px 6px;
        border: 1px solid #ccc;
        border-radius: 4px;
        font-size: 14px;
    }

    .LifeExpectancyView .arrow {
        display: inline-block;
        width: 0;
        height: 0;
        border-style: solid;
        margin-left: 5px;
    }

        .LifeExpectancyView .arrow.right {
            border-width: 5px 0 5px 5px;
            border-color: transparent transparent transparent #000;
        }

        .LifeExpectancyView .arrow.down {
            border-width: 5px 5px 0px 5px;
            border-color: #000 transparent transparent transparent;
        }

    /* Toggle Switch */
    .LifeExpectancyView .options-toggle {
        display: flex;
        flex-direction: row;
        justify-content: flex-end;
    }

    .LifeExpectancyView .toggle-switch {
        position: relative;
        display: inline-block;
        width: 40px;
        height: 20px;
    }

        .LifeExpectancyView .toggle-switch input {
            opacity: 0;
            width: 0;
            height: 0;
        }

    .LifeExpectancyView .toggle-slider {
        position: absolute;
        cursor: pointer;
        top: 0;
        left: 0;
        right: 0;
        bottom: 0;
        background-color: #ccc;
        transition: 0.4s;
        border-radius: 34px;
    }

        .LifeExpectancyView .toggle-slider:before {
            position: absolute;
            content: "";
            height: 16px;
            width: 16px;
            left: 4px;
            bottom: 2px;
            background-color: white;
            transition: 0.4s;
            border-radius: 50%;
        }

    .LifeExpectancyView input:checked + .toggle-slider {
        background-color: #007BFF;
    }

    .LifeExpectancyView input:focus + .toggle-slider {
        box-shadow: 0 0 1px #007BFF;
    }

    .LifeExpectancyView input:checked + .toggle-slider:before {
        transform: translateX(16px);
    }

    /* Multi-Option Switch with Timeline */
    .LifeExpectancyView .multi-option-switch {
        display: flex;
        position: relative;
        justify-content: space-between;
        padding: 5px 7px;
        background-color: #f0f0f0;
        border-radius: 6px;
        margin-left: 4px;
        margin-right: 4px;
    }

        .LifeExpectancyView .multi-option-switch input[type="radio"] {
            display: none;
        }

        .LifeExpectancyView .multi-option-switch label {
            display: flex;
            flex: 1;
            justify-content: center;
            white-space: nowrap;
            cursor: pointer;
            text-align: center;
            color: #999;
            transition: background-color 0.4s, transform 0.4s;
            position: relative;
            z-index: 1;
            font-weight: 600;
            border-radius: 6px;
            padding: 2px 8px;
            transform: scale(0.9);
        }

        .LifeExpectancyView .multi-option-switch input[type="radio"]:checked + label {
            color: #fff;
            transform: scale(1);
            font-weight: 600;
            background: linear-gradient(99.02deg, rgb(0, 113, 188) 95.38%, rgb(0, 113, 188) 95.38%);
            padding: 2px 8px;
        }

        .LifeExpectancyView .multi-option-switch input[type="radio"]:first-child:checked + label {
            background: linear-gradient(99.02deg, rgb(41, 171, 226) -19.8%, rgb(0, 113, 188) 95.38%);
        }

        .LifeExpectancyView .multi-option-switch input[type="radio"]:last-child:checked + label {
            background: linear-gradient(99.02deg, #0071BC -19.8%, #29ABE2 95.38%);
        }

    .LifeExpectancyView .tabs-container {
        margin-top: 7px;
        margin-bottom: 7px;
        margin-right: 5px;
        display: flex;
        flex-direction: column;
        flex-grow: 100;
    }

    .LifeExpectancyView .nav-item button {
        padding-top: 6px;
        padding-bottom: 6px;
        font-size: 12pt;
    }

    .LifeExpectancyView .nav.nav-tabs {
        border-bottom: none;
    }

    .LifeExpectancyView .nav-tabs .nav-link {
        color: #087DC4;
        font-weight: 600;
        background: linear-gradient(99.02deg, #E8F3F9 95.38%, #E8F3F9 95.38%);
        margin: 0px;
        border-radius: 0px;
    }

    .LifeExpectancyView .nav-tabs .nav-item:first-child .nav-link {
        border-top-left-radius: 10px;
        border-bottom-left-radius: 10px;
    }

    .LifeExpectancyView .nav-tabs .nav-item:last-child .nav-link {
        border-top-right-radius: 10px;
        border-bottom-right-radius: 10px;
    }

    .LifeExpectancyView .nav-tabs .nav-link.active {
        background: linear-gradient(99.02deg, #0071BC 95.38%, #0071BC 95.38%);
        color: #FFFFFF;
    }

    .LifeExpectancyView .nav-tabs .nav-item:first-child .nav-link.active {
        background: linear-gradient(99.02deg, #29ABE2 -19.8%, #0071BC 95.38%);
        color: #FFFFFF;
    }

    .LifeExpectancyView .nav-tabs .nav-item:last-child .nav-link.active {
        background: linear-gradient(99.02deg, #0071BC -19.8%, #29ABE2 95.38%);
        color: #FFFFFF;
    }

    .LifeExpectancyView .tab-content {
        border-top: none;
        padding: 6px 0px 0px 0px;
        background-color: #fff;
        display: flex;
        flex-grow: 100;
        justify-content: center;
        align-items: center;
        flex-direction: column;
    }

    .LifeExpectancyView .tab-pane {
        height: 100%;
        width: 100%;
    }

    .LifeExpectancyView .tab-content > .active {
        display: flex;
        flex-direction: column;
    }

    /* Scroll to Top Button */
    .LifeExpectancyView .scroll-to-top-btn {
        display: none;
        position: fixed;
        bottom: 20px;
        right: 40px;
        z-index: 99;
        font-size: 14px;
        width: 40px;
        height: 40px;
        color: white;
        background-color: #007BFF;
        border: none;
        cursor: pointer;
        border-radius: 50%;
        transition: background-color 0.3s;
        text-align: center;
        padding: 0px;
        margin: 2px;
    }

        .LifeExpectancyView.scroll-to-top-btn:hover {
            background-color: #0056B3;
        }

    .LifeExpectancyView .progress-circle {
        position: absolute;
        top: 0;
        left: 0;
    }

    .LifeExpectancyView .progress-bg {
        stroke: #ccc;
    }

    .LifeExpectancyView .progress-bar {
        stroke: white;
        stroke-linecap: round;
        transform-origin: center;
        transform: rotate(-90deg);
    }

    /* More Details Below indicator */
    .LifeExpectancyView .scroll-indicator {
        display: none;
        position: sticky;
        width: 200px;
        bottom: 20px;
        left: 50%;
        transform: translateX(-50%);
        background-color: rgba(0, 0, 0, 0.4);
        border-radius: 4px;
        padding: 6px 12px;
        text-align: center;
        color: rgb(255, 255, 255, 1);
        font-weight: bold;
        animation: pulsate 2s infinite;
        cursor: pointer;
    }

@keyframes pulsate {
    0% {
        transform: translateX(-50%) scale(1);
        opacity: 1;
    }

    50% {
        transform: translateX(-50%) scale(1.1);
        opacity: 0.5;
    }

    100% {
        transform: translateX(-50%) scale(1);
        opacity: 1;
    }
}

.LifeExpectancyView .zoom-control-toolbar {
    position: sticky;
    bottom: 0px;
    left: 0px;
    right: 0px;
    background: #F5F5F5;
    width: 100%;
    display: flex;
    justify-content: flex-end;
    align-items: center;
    padding-top: 5px;
    padding-bottom: 5px;
    padding-right: 10px;
    border-bottom-left-radius: 20px;
    border-bottom-right-radius: 20px;
}

    .LifeExpectancyView .zoom-control-toolbar .btn {
        font-size: 14px;
        border-radius: 6px;
        padding: 3px 5px;
        margin-right: 5px;
        background: #4AAEE1;
        color: white;
        font-weight: 500;
    }

    .LifeExpectancyView .zoom-control-toolbar .slider {
        margin-left: 5px;
        margin-right: 10px;
    }

    .LifeExpectancyView .zoom-control-toolbar .percent-label {
        margin-bottom: 0px;
        margin-right: 10px;
        font-size: 14px;
    }

    .LifeExpectancyView .zoom-control-toolbar input {
        accent-color: #4AAEE1;
    }

@keyframes slideDown {
    0% {
        transform: translateY(-100%);
    }

    100% {
        transform: translateY(0%);
    }
}

.LifeExpectancy-letter-wrapper {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-color: rgba(0, 0, 0, 0.5);
    display: flex;
    justify-content: center;
    align-items: center;
    z-index: 1001;
}

    .LifeExpectancy-letter-wrapper .LifeExpectancy-letter-popout {
        background-color: white;
        padding: 2rem;
        border-radius: 4px;
        width: 90%;
        max-width: 600px;
        max-height: 90%;
        overflow-y: auto;
    }

    .LifeExpectancy-letter-wrapper .LifeExpectancy-letter-button {
        min-width: 100px;
        margin: 0 10px;
    }

    .LifeExpectancy-letter-wrapper .button-wrapper {
        display: flex;
        justify-content: center;
        margin-top: 15px;
    }

    .LifeExpectancy-letter-wrapper .form-group {
        margin-bottom: 1rem;
    }

    .LifeExpectancy-letter-wrapper .form-check {
        margin-bottom: 0.5rem;
    }

/* NEST Calculator */

/* NESTView styles */
.NEST-main {
    display: flex;
    flex-direction: column;
}

.NESTView {
    display: flex;
    flex-direction: row;
    font-size: 16px;
    line-height: 1.5;
    height: calc(100vh - 5rem);
}

    .NESTView .h-resizer {
        height: 8px;
        font-size: 16px;
        border-bottom: none;
        border-top: none;
    }

    .NESTView .resizer {
        width: 8px;
        min-width: 8px;
        max-width: 8px;
        writing-mode: vertical-lr;
        font-size: 16px;
        border-left: 1px solid #a9a9a9;
        border-right: none;
        background: none;
    }

    .NESTView .NEST-side-panel {
        flex: 1;
        display: flex;
        flex-direction: column;
        overflow: auto;
        width: 340px;
        padding: 3px 5px;
        margin: 10px;
        border: 1px solid #F0F0F0;
        box-shadow: 0px 2px 16px #F4FAFD;
        border-radius: 20px;
    }

        .NESTView .NEST-side-panel tbody tr td:first-child {
            max-width: 12em;
        }

        .NESTView .NEST-side-panel.fullscreen {
            width: 100vw !important;
            padding: 1vh 20vw;
            margin-right: 5%;
            margin-left: 5%;
        }

    .NESTView .NEST-results-wrapper {
        display: flex;
        flex-direction: column;
        width: 100%;
        overflow: auto;
        margin-left: 5px;
        margin-right: 5px;
        border: 1px solid #F4F4F4;
        border-radius: 20px;
    }

    .NESTView .NEST-results {
        display: flex;
        flex-direction: column;
        overflow: auto;
        margin-left: 6px;
        height: 100%;
    }

    .NESTView .NESTDetailsView {
        padding-left: 0px;
        padding-right: 0px;
        position: absolute;
        width: unset;
    }

    .NESTView .NEST-details-tables ul li:not(:last-child) {
        margin-bottom: 0.75rem;
    }

    .NESTView .NESTDetailsView table thead tr th {
        border-top: 0px;
        text-align: center;
        background-color: #E8F3F9;
    }

    .NESTView .NESTDetailsView table thead tr:first-child th:first-child {
        border-top-left-radius: 20px;
    }

    .NESTView .NESTDetailsView table thead tr:first-child th:last-child {
        border-top-right-radius: 20px;
    }

    .NESTView .NESTDetailsView table tbody tr td {
        border-top: 0px;
        text-align: center;
        padding: 0px 6px;
        white-space: nowrap;
    }

    .NESTView .NEST-details-tables {
        display: flex;
        flex-direction: column;
        flex: 1;
        z-index: 2;
        background-color: white;
    }

    .NESTView .NEST-details-header {
        cursor: pointer;
        background-color: #007BFF;
        color: white;
        padding: 8px 12px;
        font-weight: bold;
        font-size: 16px;
        border-radius: 4px;
    }

        .NESTView .NEST-details-header:hover {
            background-color: #0056B3;
            text-decoration: none;
            color: black;
        }

    .NESTView .details-tab-content {
        display: flex;
        position: relative;
        overflow: auto;
        flex-direction: column;
        scrollbar-width: thin;
        scrollbar-color: #29ABE2 #B7E5FC;
        scrollbar-arrow-color: #B7E5FC;
        flex-grow: 1;
    }

    .NESTView .NEST-summaries-table-parent {
        display: flex;
        position: relative;
        overflow: auto;
        scrollbar-width: thin;
        scrollbar-color: #29ABE2 #B7E5FC;
        scrollbar-arrow-color: #B7E5FC;
    }

    .NESTView .NEST-summaries-tables {
        display: flex;
        flex-direction: column;
    }

        .NESTView .NEST-summaries-tables table thead tr th {
            text-align: center;
            background-color: #E8F3F9;
        }

        .NESTView .NEST-summaries-tables table thead tr:first-child th:first-child {
            border-top-left-radius: 20px;
        }

        .NESTView .NEST-summaries-tables table thead tr:first-child th:last-child {
            border-top-right-radius: 20px;
        }

        .NESTView .NEST-summaries-tables table tbody tr td {
            text-align: center;
            padding: 0px 6px;
            white-space: nowrap;
        }

    .NESTView .summary-options {
        justify-content: space-between;
        margin-bottom: 2px;
    }

    .NESTView .NEST-options-header {
        cursor: pointer;
        background-color: #F4F4F4;
        color: #000000;
        font-weight: bold;
        font-size: 16px;
        border-radius: 10px;
        position: sticky;
        top: 0;
        z-index: 1;
    }

    .NESTView .customized-input-number .input {
        text-align: center;
    }

    .NESTView .customized-input-number .spinner.decrement {
        padding: 0px 0px 0px 0px;
        margin: 0px 2px 0px 2px;
        height: auto;
        background-color: #4AAEE1;
        border: none;
    }

    .NESTView .customized-input-number .spinner.increment {
        padding: 0px 0px 0px 0px;
        margin: 0px 2px 0px 2px;
        height: auto;
        background-color: #4AAEE1;
        border: none;
    }

    .NESTView .option-input-group {
        border-bottom: 2px solid #F4F4F4;
        padding-bottom: 3px;
        margin-top: 3px;
        border-radius: 10px;
        border-bottom-left-radius: 0px;
        border-bottom-right-radius: 0px;
        padding-left: 5px;
        padding-right: 5px;
    }

        .NESTView .option-input-group div:not(.option-input-title) {
            padding: 3px;
        }

        .NESTView .option-input-group div {
            border-radius: 10px;
        }

        .NESTView .option-input-group > div:first-child {
            border-radius: 10px 10px 0px 0px;
        }

        .NESTView .option-input-group > div:nth-child(2) {
            border-radius: 0px 0px 10px 10px;
        }

    .NESTView .option-input-title {
        font-weight: 500;
        padding-bottom: 3px;
        padding-left: 2px;
    }

    .NESTView .no-hover {
        position: relative;
        top: -10px;
        border: 1px solid #F4F4F4;
        border-top: none;
        padding: 10px 0px;
        border-radius: 0px 0px 10px 10px;
    }

    .NESTView .collapse {
        display: none;
    }

    /* Button styles */
    .NESTView button {
        background-color: #4AAEE1;
        border: none;
        color: white;
        text-align: center;
        text-decoration: none;
        display: inline-block;
        font-size: 14px;
        margin: 4px 2px;
        cursor: pointer;
        padding: 10px 24px;
        border-radius: 4px;
        transition: background-color 0.3s;
    }

        .NESTView button:hover {
            background-color: #0056B3;
            text-decoration: none;
            color: white;
        }

    .NESTView .customized-input-number button {
        width: 24px;
        height: 100%;
        margin: 2px
    }

    .NESTView .advanced-option .customized-input-number button {
        background-color: purple !important;
    }

    .NESTView td button {
        padding: 0px;
        width: 25px;
        height: 100%;
    }

    /* Table styles */
    .NESTView table {
        width: 100%;
        border-collapse: collapse;
        font-size: 14px;
    }

    .NESTView th, .NESTView td {
        text-align: left;
        border-bottom: 1px solid #ddd;
        padding: 4px;
    }

    .NESTView th {
        background-color: #f2f2f2;
        font-weight: bold;
    }

    .NESTView tr:not(.no-hover):hover {
        background-color: #f5f5f5;
    }

    /* Input styles */
    .NESTView input[type="date"],
    .NESTView input[type="text"],
    .NESTView select,
    .NESTView .form-control,
    .NESTView .customized-input-number input {
        width: 100%;
        padding: 0px 6px;
        border: 1px solid #ccc;
        border-radius: 4px;
        font-size: 14px;
    }

    .NESTView .arrow {
        display: inline-block;
        width: 0;
        height: 0;
        border-style: solid;
        margin-left: 5px;
    }

        .NESTView .arrow.right {
            border-width: 5px 0 5px 5px;
            border-color: transparent transparent transparent #000;
        }

        .NESTView .arrow.down {
            border-width: 5px 5px 0px 5px;
            border-color: #000 transparent transparent transparent;
        }

    /* Toggle Switch */
    .NESTView .options-toggle {
        display: flex;
        flex-direction: row;
        justify-content: flex-end;
    }

    .NESTView .toggle-switch {
        position: relative;
        display: inline-block;
        width: 40px;
        height: 20px;
    }

        .NESTView .toggle-switch input {
            opacity: 0;
            width: 0;
            height: 0;
        }

    .NESTView .toggle-slider {
        position: absolute;
        cursor: pointer;
        top: 0;
        left: 0;
        right: 0;
        bottom: 0;
        background-color: #ccc;
        transition: 0.4s;
        border-radius: 34px;
    }

        .NESTView .toggle-slider:before {
            position: absolute;
            content: "";
            height: 16px;
            width: 16px;
            left: 4px;
            bottom: 2px;
            background-color: white;
            transition: 0.4s;
            border-radius: 50%;
        }

    .NESTView input:checked + .toggle-slider {
        background-color: #007BFF;
    }

    .NESTView input:focus + .toggle-slider {
        box-shadow: 0 0 1px #007BFF;
    }

    .NESTView input:checked + .toggle-slider:before {
        transform: translateX(16px);
    }

    /* Multi-Option Switch with Timeline */
    .NESTView .multi-option-switch {
        display: flex;
        position: relative;
        justify-content: space-between;
        padding: 5px 7px;
        background-color: #f0f0f0;
        border-radius: 6px;
        margin-left: 4px;
        margin-right: 4px;
    }

        .NESTView .multi-option-switch input[type="radio"] {
            display: none;
        }

        .NESTView .multi-option-switch label {
            display: flex;
            flex: 1;
            justify-content: center;
            white-space: nowrap;
            cursor: pointer;
            text-align: center;
            color: #999;
            transition: background-color 0.4s, transform 0.4s;
            position: relative;
            z-index: 1;
            font-weight: 600;
            border-radius: 6px;
            padding: 2px 8px;
            transform: scale(0.9);
        }

        .NESTView .multi-option-switch input[type="radio"]:checked + label {
            color: #fff;
            transform: scale(1);
            font-weight: 600;
            background: linear-gradient(99.02deg, rgb(0, 113, 188) 95.38%, rgb(0, 113, 188) 95.38%);
            padding: 2px 8px;
        }

        .NESTView .multi-option-switch input[type="radio"]:first-child:checked + label {
            background: linear-gradient(99.02deg, rgb(41, 171, 226) -19.8%, rgb(0, 113, 188) 95.38%);
        }

        .NESTView .multi-option-switch input[type="radio"]:last-child:checked + label {
            background: linear-gradient(99.02deg, #0071BC -19.8%, #29ABE2 95.38%);
        }

    .NESTView .tabs-container {
        margin-top: 7px;
        margin-bottom: 7px;
        margin-right: 5px;
        display: flex;
        flex-direction: column;
        flex-grow: 100;
    }

    .NESTView .nav-item button {
        padding-top: 6px;
        padding-bottom: 6px;
        font-size: 12pt;
    }

    .NESTView .nav.nav-tabs {
        border-bottom: none;
    }

    .NESTView .nav-tabs .nav-link {
        color: #087DC4;
        font-weight: 600;
        background: linear-gradient(99.02deg, #E8F3F9 95.38%, #E8F3F9 95.38%);
        margin: 0px;
        border-radius: 0px;
    }

    .NESTView .nav-tabs .nav-item:first-child .nav-link {
        border-top-left-radius: 10px;
        border-bottom-left-radius: 10px;
    }

    .NESTView .nav-tabs .nav-item:last-child .nav-link {
        border-top-right-radius: 10px;
        border-bottom-right-radius: 10px;
    }

    .NESTView .nav-tabs .nav-link.active {
        background: linear-gradient(99.02deg, #0071BC 95.38%, #0071BC 95.38%);
        color: #FFFFFF;
    }

    .NESTView .nav-tabs .nav-item:first-child .nav-link.active {
        background: linear-gradient(99.02deg, #29ABE2 -19.8%, #0071BC 95.38%);
        color: #FFFFFF;
    }

    .NESTView .nav-tabs .nav-item:last-child .nav-link.active {
        background: linear-gradient(99.02deg, #0071BC -19.8%, #29ABE2 95.38%);
        color: #FFFFFF;
    }

    .NESTView .tab-content {
        border-top: none;
        padding: 6px 0px 0px 0px;
        background-color: #fff;
        display: flex;
        flex-grow: 100;
        justify-content: center;
        align-items: center;
        flex-direction: column;
    }

    .NESTView .tab-pane {
        height: 100%;
        width: 100%;
    }

    .NESTView .tab-content > .active {
        display: flex;
        flex-direction: column;
    }

    /* Scroll to Top Button */
    .NESTView .scroll-to-top-btn {
        display: none;
        position: fixed;
        bottom: 20px;
        right: 40px;
        z-index: 99;
        font-size: 14px;
        width: 40px;
        height: 40px;
        color: white;
        background-color: #007BFF;
        border: none;
        cursor: pointer;
        border-radius: 50%;
        transition: background-color 0.3s;
        text-align: center;
        padding: 0px;
        margin: 2px;
    }

        .NESTView.scroll-to-top-btn:hover {
            background-color: #0056B3;
        }

    .NESTView .progress-circle {
        position: absolute;
        top: 0;
        left: 0;
    }

    .NESTView .progress-bg {
        stroke: #ccc;
    }

    .NESTView .progress-bar {
        stroke: white;
        stroke-linecap: round;
        transform-origin: center;
        transform: rotate(-90deg);
    }

    /* More Details Below indicator */
    .NESTView .scroll-indicator {
        display: none;
        position: sticky;
        width: 200px;
        bottom: 20px;
        left: 50%;
        transform: translateX(-50%);
        background-color: rgba(0, 0, 0, 0.4);
        border-radius: 4px;
        padding: 6px 12px;
        text-align: center;
        color: rgb(255, 255, 255, 1);
        font-weight: bold;
        animation: pulsate 2s infinite;
        cursor: pointer;
    }

@keyframes pulsate {
    0% {
        transform: translateX(-50%) scale(1);
        opacity: 1;
    }

    50% {
        transform: translateX(-50%) scale(1.1);
        opacity: 0.5;
    }

    100% {
        transform: translateX(-50%) scale(1);
        opacity: 1;
    }
}

.NESTView .zoom-control-toolbar {
    position: sticky;
    bottom: 0px;
    left: 0px;
    right: 0px;
    background: #F5F5F5;
    width: 100%;
    display: flex;
    justify-content: flex-end;
    align-items: center;
    padding-top: 5px;
    padding-bottom: 5px;
    padding-right: 10px;
    border-bottom-left-radius: 20px;
    border-bottom-right-radius: 20px;
}

    .NESTView .zoom-control-toolbar .btn {
        font-size: 14px;
        border-radius: 6px;
        padding: 3px 5px;
        margin-right: 5px;
        background: #4AAEE1;
        color: white;
        font-weight: 500;
    }

    .NESTView .zoom-control-toolbar .slider {
        margin-left: 5px;
        margin-right: 10px;
    }

    .NESTView .zoom-control-toolbar .percent-label {
        margin-bottom: 0px;
        margin-right: 10px;
        font-size: 14px;
    }

    .NESTView .zoom-control-toolbar input {
        accent-color: #4AAEE1;
    }

@keyframes slideDown {
    0% {
        transform: translateY(-100%);
    }

    100% {
        transform: translateY(0%);
    }
}

.NEST-letter-wrapper {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-color: rgba(0, 0, 0, 0.5);
    display: flex;
    justify-content: center;
    align-items: center;
    z-index: 1001;
}

    .NEST-letter-wrapper .NEST-letter-popout {
        background-color: white;
        padding: 2rem;
        border-radius: 4px;
        width: 90%;
        max-width: 600px;
        max-height: 90%;
        overflow-y: auto;
    }

    .NEST-letter-wrapper .NEST-letter-button {
        min-width: 100px;
        margin: 0 10px;
    }

    .NEST-letter-wrapper .button-wrapper {
        display: flex;
        justify-content: center;
        margin-top: 15px;
    }

    .NEST-letter-wrapper .form-group {
        margin-bottom: 1rem;
    }

    .NEST-letter-wrapper .form-check {
        margin-bottom: 0.5rem;
    }

/* CurrentInvestments View */
.CurrentInvestmentsView {
    border: 1px solid #e1e1e1;
    border-radius: 5px;
    background-color: #f9f9f9;
    margin-top: 5px;
}

    .CurrentInvestmentsView h3 {
        text-align: center;
    }

/* Targets View */
.TargetsView {
    border: 1px solid #e1e1e1;
    border-radius: 5px;
    background-color: #f9f9f9;
    margin-top: 5px;
}

    .TargetsView h3 {
        text-align: center;
    }

/* One Time Expenses View */
.OneTimeExpensesView {
    border: 1px solid #e1e1e1;
    border-radius: 5px;
    background-color: #f9f9f9;
    display: flex;
    flex-direction: column;
    margin-top: 5px;
    padding: 5px;
}

    .OneTimeExpensesView h3 {
        text-align: center;
    }

    /* Table styling */
    .OneTimeExpensesView table {
        width: 100%;
        border-collapse: collapse;
    }

    .OneTimeExpensesView th, .OneTimeExpensesView td {
        border-bottom: 1px solid #e1e1e1;
        min-width: unset !important;
        padding: 1px 3px;
        text-align: center;
    }

        .OneTimeExpensesView td span {
            display: block;
            margin: 2px;
            padding: 2px;
            border: 1px solid lightgray;
            border-radius: 5px;
            background-color: white;
        }

    .OneTimeExpensesView th {
        background-color: #e0e0e0;
        font-weight: 600;
    }

    .OneTimeExpensesView tr:hover {
        background-color: #f5f5f5;
    }

    .OneTimeExpensesView tr:nth-child(even) {
        background-color: #f2f2f2;
    }

    .OneTimeExpensesView button {
        padding: 6px 12px;
        background-color: red;
        color: white;
        border: none;
        border-radius: 4px;
        cursor: pointer;
        transition: background-color 0.2s;
    }

        .OneTimeExpensesView button:hover {
            background-color: darkred;
        }

    .OneTimeExpensesView .showAddOptionsButton {
        width: auto;
        padding: 2px;
        align-self: center;
        background-color: gray;
    }

        .OneTimeExpensesView .showAddOptionsButton:hover {
            background-color: darkgray;
        }

    .OneTimeExpensesView .add-expense {
        border: 1px solid #e1e1e1;
        padding: 10px;
        border-radius: 5px;
    }

        .OneTimeExpensesView .add-expense fieldset {
            border: none;
            padding: 0;
        }

        .OneTimeExpensesView .add-expense legend {
            font-weight: bold;
            margin-bottom: 10px;
        }

    .OneTimeExpensesView .input-row {
        display: flex;
        align-items: center;
        margin-bottom: 10px;
        justify-content: center;
    }

        .OneTimeExpensesView .input-row label {
            flex: 2;
            margin-right: 10px;
        }

        .OneTimeExpensesView .input-row input {
            flex: 3;
            padding: 5px 10px;
            border: 1px solid #ccc;
            border-radius: 4px;
        }

    .OneTimeExpensesView .add-expense button {
        padding: 0px;
        background-color: #007BFF;
        color: white;
        border: none;
        border-radius: 4px;
        cursor: pointer;
        transition: background-color 0.2s;
        white-space: nowrap;
        height: 24px;
        width: 24px;
        margin: 2px;
    }

        .OneTimeExpensesView .add-expense button:hover {
            background-color: #0056b3;
        }

    .OneTimeExpensesView .add-expense .control-buttons button {
        width: auto;
        padding: 2px 4px;
    }

.NESTLogisticsView-parent {
    display: flex;
    flex-grow: 100;
    flex-shrink: 0;
    position: relative;
    overflow: auto;
}

.NESTLogisticsView {
    width: fit-content;
}

    .NESTLogisticsView table {
        width: unset;
    }

    .NESTLogisticsView td {
        border: solid 1px black;
        vertical-align: top;
        white-space: nowrap;
        padding: 1px 2px;
    }

        .NESTLogisticsView td.no-borders {
            border: none;
        }

/* EstatePlanningManagement Calculator */

/* EstatePlanningManagementView styles */
.EstatePlanningManagement-main {
    display: flex;
    flex-direction: column;
}

.EstatePlanningManagementView {
    display: flex;
    flex-direction: row;
    font-size: 16px;
    line-height: 1.5;
    height: calc(100vh - 10rem);
}

    .EstatePlanningManagementView .EstatePlanningManagement-side-panel {
        flex: 1;
        display: flex;
        flex-direction: column;
        border-right: 1px solid #ccc;
        overflow: auto;
        width: 340px;
        padding: 0px 3px;
    }

        .EstatePlanningManagementView .EstatePlanningManagement-side-panel tbody tr td:first-child {
            max-width: 12em;
        }

        .EstatePlanningManagementView .EstatePlanningManagement-side-panel .alert {
            bottom: 0;
            position: sticky;
        }

    .EstatePlanningManagementView .EstatePlanningManagement-results-wrapper {
        display: flex;
        flex-direction: column;
        width: 100%;
        overflow: auto;
    }

    .EstatePlanningManagementView .EstatePlanningManagement-results {
        display: flex;
        flex-direction: column;
        overflow: auto;
        margin-left: 6px;
        height: 100%;
    }

    .EstatePlanningManagementView .EstatePlanningManagementDetailsView {
        display: flex;
        flex-direction: column;
        padding-left: 0px;
        padding-right: 0px;
        position: absolute;
        width: unset;
    }

        .EstatePlanningManagementView .EstatePlanningManagementDetailsView table thead tr th {
            border: 1px solid rgb(221, 221, 221);
            border-top: 0px;
            text-align: center;
        }

        .EstatePlanningManagementView .EstatePlanningManagementDetailsView table tbody tr td {
            border: 1px solid rgb(221, 221, 221);
            border-top: 0px;
            text-align: center;
            padding: 0px 6px;
            white-space: nowrap;
        }

    .EstatePlanningManagementView .EstatePlanningManagement-details-tables {
        display: flex;
        flex-direction: column;
        flex: 1;
        z-index: 2;
        background-color: white;
    }

    .EstatePlanningManagementView .EstatePlanningManagement-details-header {
        cursor: pointer;
        background-color: #007BFF;
        color: white;
        padding: 8px 12px;
        font-weight: bold;
        font-size: 16px;
        border-radius: 4px;
    }

        .EstatePlanningManagementView .EstatePlanningManagement-details-header:hover {
            background-color: #0056B3;
            text-decoration: none;
            color: black;
        }

    .EstatePlanningManagementView .EstatePlanningManagement-summaries-tables {
        display: flex;
        flex-direction: column;
    }

        .EstatePlanningManagementView .EstatePlanningManagement-summaries-tables table {
            width: min-content;
        }

            .EstatePlanningManagementView .EstatePlanningManagement-summaries-tables table thead tr th {
                border: 1px solid rgb(221, 221, 221);
                border-top: 0px;
                text-align: center;
            }

            .EstatePlanningManagementView .EstatePlanningManagement-summaries-tables table tbody tr td {
                border: 1px solid rgb(221, 221, 221);
                border-top: 0px;
                text-align: center;
                padding: 0px 6px;
                white-space: nowrap;
            }

    .EstatePlanningManagementView .EstatePlanningManagement-summaries-table-parent {
        display: flex;
        flex-grow: 100;
        flex-shrink: 0;
        position: relative;
        overflow: auto;
    }

    .EstatePlanningManagementView .EstatePlanningManagement-summaries-header {
        cursor: pointer;
        background-color: #007BFF;
        color: white;
        padding: 8px 12px;
        font-weight: bold;
        font-size: 16px;
        border-radius: 4px;
    }

        .EstatePlanningManagementView .EstatePlanningManagement-summaries-header:hover {
            background-color: #0056B3;
            text-decoration: none;
            color: black;
        }

    .EstatePlanningManagementView .EstatePlanningManagement-options-header {
        cursor: pointer;
        background-color: #007BFF;
        color: white;
        padding: 8px 12px;
        font-weight: bold;
        font-size: 16px;
        border-radius: 4px;
    }

        .EstatePlanningManagementView .EstatePlanningManagement-options-header:hover {
            background-color: #0056B3;
            text-decoration: none;
            color: black;
        }

    .EstatePlanningManagementView .collapse {
        display: none;
    }


    /* Button styles */
    .EstatePlanningManagementView button {
        background-color: #007BFF;
        border: none;
        color: white;
        text-align: center;
        text-decoration: none;
        display: inline-block;
        font-size: 14px;
        margin: 4px 2px;
        cursor: pointer;
        padding: 10px 24px;
        border-radius: 4px;
        transition: background-color 0.3s;
    }

        .EstatePlanningManagementView button:hover {
            background-color: #0056B3;
            text-decoration: none;
            color: white;
        }

    .EstatePlanningManagementView .customized-input-number button {
        width: 24px;
        height: 100%;
        margin: 2px
    }

    .EstatePlanningManagementView .advanced-option .customized-input-number button {
        background-color: purple !important;
    }

    .EstatePlanningManagementView td button {
        padding: 0px;
        width: 25px;
        height: 100%;
    }

    /* Table styles */
    .EstatePlanningManagementView table {
        width: 100%;
        border-collapse: collapse;
        font-size: 14px;
    }

    .EstatePlanningManagementView th, .EstatePlanningManagementView td {
        text-align: left;
        border-bottom: 1px solid #ddd;
        padding: 4px;
    }

    .EstatePlanningManagementView th {
        background-color: #f2f2f2;
        font-weight: bold;
    }

    .EstatePlanningManagementView tr:not(.no-hover):hover {
        background-color: #f5f5f5;
    }

    /* Input styles */
    .EstatePlanningManagementView input[type="date"],
    .EstatePlanningManagementView input[type="text"],
    .EstatePlanningManagementView select,
    .EstatePlanningManagementView .form-control,
    .EstatePlanningManagementView .customized-input-number input {
        width: 100%;
        padding: 0px 6px;
        border: 1px solid #ccc;
        border-radius: 4px;
        font-size: 14px;
    }

    .EstatePlanningManagementView .arrow {
        display: inline-block;
        width: 0;
        height: 0;
        border-style: solid;
        margin-left: 5px;
    }

        .EstatePlanningManagementView .arrow.right {
            border-width: 5px 0 5px 5px;
            border-color: transparent transparent transparent #000;
        }

        .EstatePlanningManagementView .arrow.down {
            border-width: 5px 5px 0px 5px;
            border-color: #000 transparent transparent transparent;
        }

    /* Toggle Switch */
    .EstatePlanningManagementView .options-toggle {
        display: flex;
        flex-direction: row;
        justify-content: flex-end;
    }

    .EstatePlanningManagementView .toggle-switch {
        position: relative;
        display: inline-block;
        width: 40px;
        height: 20px;
    }

        .EstatePlanningManagementView .toggle-switch input {
            opacity: 0;
            width: 0;
            height: 0;
        }

    .EstatePlanningManagementView .toggle-slider {
        position: absolute;
        cursor: pointer;
        top: 0;
        left: 0;
        right: 0;
        bottom: 0;
        background-color: #ccc;
        transition: 0.4s;
        border-radius: 34px;
    }

        .EstatePlanningManagementView .toggle-slider:before {
            position: absolute;
            content: "";
            height: 16px;
            width: 16px;
            left: 4px;
            bottom: 2px;
            background-color: white;
            transition: 0.4s;
            border-radius: 50%;
        }

    .EstatePlanningManagementView input:checked + .toggle-slider {
        background-color: #007BFF;
    }

    .EstatePlanningManagementView input:focus + .toggle-slider {
        box-shadow: 0 0 1px #007BFF;
    }

    .EstatePlanningManagementView input:checked + .toggle-slider:before {
        transform: translateX(16px);
    }

    .EstatePlanningManagementView .tabs-container {
        margin-top: 2px;
        display: flex;
        flex-direction: column;
        flex-grow: 100;
    }

    .EstatePlanningManagementView .nav-tabs .nav-link {
        border-top-left-radius: 4px;
        border-top-right-radius: 4px;
        border-bottom-color: transparent;
        color: #333;
    }

        .EstatePlanningManagementView .nav-tabs .nav-link.active {
            background-color: rgba(30, 144, 255, 0.4);
            border-color: #dee2e6 #dee2e6 transparent;
            color: #333;
            font-weight: bold;
        }

    .EstatePlanningManagementView .tab-content {
        border: 1px solid #dee2e6;
        border-top: none;
        padding: 16px;
        background-color: #fff;
        overflow: auto;
        display: flex;
        flex-grow: 100;
        flex-shrink: 0;
        justify-content: center;
        align-items: center;
        position: relative;
        flex-direction: column;
    }

    .EstatePlanningManagementView .tab-pane {
        height: 100%;
        width: 100%;
    }

    /* Scroll to Top Button */
    .EstatePlanningManagementView .scroll-to-top-btn {
        display: none;
        position: fixed;
        bottom: 20px;
        right: 40px;
        z-index: 99;
        font-size: 14px;
        width: 40px;
        height: 40px;
        color: white;
        background-color: #007BFF;
        border: none;
        cursor: pointer;
        border-radius: 50%;
        transition: background-color 0.3s;
        text-align: center;
        padding: 0px;
        margin: 2px;
    }

        .EstatePlanningManagementView.scroll-to-top-btn:hover {
            background-color: #0056B3;
        }

    .EstatePlanningManagementView .progress-circle {
        position: absolute;
        top: 0;
        left: 0;
    }

    .EstatePlanningManagementView .progress-bg {
        stroke: #ccc;
    }

    .EstatePlanningManagementView .progress-bar {
        stroke: white;
        stroke-linecap: round;
        transform-origin: center;
        transform: rotate(-90deg);
    }

    .EstatePlanningManagementView .zoom-control-toolbar {
        position: sticky;
        bottom: 0px;
        left: 0px;
        right: 0px;
        background: #D2E6FA;
        width: 100%;
        display: flex;
        justify-content: flex-end;
        align-items: center;
        padding-top: 5px;
        padding-bottom: 5px;
        padding-right: 10px;
    }

        .EstatePlanningManagementView .zoom-control-toolbar .btn {
            font-size: 14px;
            border: 1px solid #666;
            border-radius: 0px;
            padding: 3px;
            margin-right: 5px;
            background: #DDDDDD;
            color: black;
        }

        .EstatePlanningManagementView .zoom-control-toolbar .slider {
            margin-left: 5px;
            margin-right: 10px;
        }

        .EstatePlanningManagementView .zoom-control-toolbar .percent-label {
            margin-bottom: 0px;
            margin-right: 10px;
            font-size: 14px;
        }

.EstatePlanningManagement-letter-wrapper {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-color: rgba(0, 0, 0, 0.5);
    display: flex;
    justify-content: center;
    align-items: center;
    z-index: 1000;
}

    .EstatePlanningManagement-letter-wrapper .EstatePlanningManagement-letter-popout {
        background-color: white;
        padding: 2rem;
        border-radius: 4px;
        width: 90%;
        max-width: 600px;
        max-height: 90%;
        overflow-y: auto;
    }

    .EstatePlanningManagement-letter-wrapper .EstatePlanningManagement-letter-button {
        min-width: 100px;
        margin: 0 10px;
    }

    .EstatePlanningManagement-letter-wrapper .button-wrapper {
        display: flex;
        justify-content: center;
        margin-top: 15px;
    }

    .EstatePlanningManagement-letter-wrapper .form-group {
        margin-bottom: 1rem;
    }

    .EstatePlanningManagement-letter-wrapper .form-check {
        margin-bottom: 0.5rem;
    }

/* LifeInsuranceTotals Calculator */

/* LifeInsuranceTotalsView styles */
.LifeInsuranceTotals-main {
    display: flex;
    flex-direction: column;
}

.LifeInsuranceTotalsView {
    display: flex;
    flex-direction: row;
    font-size: 16px;
    line-height: 1.5;
    height: calc(100vh - 5rem);
}

    /*    .LifeInsuranceTotalsView .LifeInsuranceTotals-side-panel {
        flex: 1;
        display: flex;
        flex-direction: column;
        border-right: 1px solid #ccc;
        height: calc(100vh - 2.6rem - 2.2rem);
        overflow: auto;
        width: 340px;
        padding: 0px 3px;
    }

        .LifeInsuranceTotalsView .LifeInsuranceTotals-side-panel tbody tr td:first-child {
            max-width: 12em;
        }

        .LifeInsuranceTotalsView .LifeInsuranceTotals-side-panel .alert {
            bottom: 0;
            position: sticky;
        }*/

    .LifeInsuranceTotalsView .LifeInsuranceTotals-side-panel {
        flex: 1;
        display: flex;
        flex-direction: column;
        overflow: auto;
        width: 340px;
        padding: 3px 5px;
        margin: 10px;
        border: 1px solid #F0F0F0;
        box-shadow: 0px 2px 16px #F4FAFD;
        border-radius: 20px;
    }

        .LifeInsuranceTotalsView .LifeInsuranceTotals-side-panel tbody tr td:first-child {
            max-width: 12em;
        }

        .LifeInsuranceTotalsView .LifeInsuranceTotals-side-panel.fullscreen {
            width: 100vw !important;
            padding: 1vh 20vw;
            margin-right: 5%;
            margin-left: 5%;
        }

    .LifeInsuranceTotalsView .LifeInsuranceTotals-results-wrapper {
        display: flex;
        flex-direction: column;
        width: 100%;
        overflow: auto;
        margin-left: 5px;
        margin-right: 5px;
        border: 1px solid #F4F4F4;
        border-radius: 20px;
    }

    .LifeInsuranceTotalsView .LifeInsuranceTotals-results {
        display: flex;
        flex-direction: column;
        overflow: auto;
        margin-left: 6px;
        height: 100%;
    }

    .LifeInsuranceTotalsView .LifeInsuranceTotalsDetailsView {
        display: flex;
        flex-direction: column;
        padding-left: 0px;
        padding-right: 0px;
        position: absolute;
        width: unset;
    }

        .LifeInsuranceTotalsView .LifeInsuranceTotalsDetailsView table thead tr th {
            border: 1px solid rgb(221, 221, 221);
            border-top: 0px;
            text-align: center;
        }

        .LifeInsuranceTotalsView .LifeInsuranceTotalsDetailsView table tbody tr td {
            border: 1px solid rgb(221, 221, 221);
            border-top: 0px;
            text-align: center;
            padding: 0px 6px;
            white-space: nowrap;
        }

    .LifeInsuranceTotalsView .LifeInsuranceTotals-details-tables {
        display: flex;
        flex-direction: column;
        flex: 1;
        z-index: 2;
        background-color: white;
    }

        .LifeInsuranceTotalsView .LifeInsuranceTotals-details-tables ul li:not(:last-child) {
            margin-bottom: 0.75rem;
        }

    .LifeInsuranceTotalsView .LifeInsuranceTotals-details-header {
        cursor: pointer;
        background-color: #007BFF;
        color: white;
        padding: 8px 12px;
        font-weight: bold;
        font-size: 16px;
        border-radius: 4px;
    }

        .LifeInsuranceTotalsView .LifeInsuranceTotals-details-header:hover {
            background-color: #0056B3;
            text-decoration: none;
            color: black;
        }

    .LifeInsuranceTotalsView .LifeInsuranceTotals-summaries-tables {
        display: flex;
        flex-direction: column;
    }

        .LifeInsuranceTotalsView .LifeInsuranceTotals-summaries-tables table thead tr th {
            text-align: center;
            background-color: #E8F3F9;
        }

        .LifeInsuranceTotalsView .LifeInsuranceTotals-summaries-tables table thead tr:first-child th:first-child {
            border-top-left-radius: 20px;
        }

        .LifeInsuranceTotalsView .LifeInsuranceTotals-summaries-tables table thead tr:first-child th:last-child {
            border-top-right-radius: 20px;
        }

        .LifeInsuranceTotalsView .LifeInsuranceTotals-summaries-tables table tbody tr td {
            text-align: center;
            padding: 0px 6px;
            white-space: nowrap;
        }

    .LifeInsuranceTotalsView .LifeInsuranceTotals-summaries-table-parent {
        display: flex;
        position: relative;
        overflow: auto;
        scrollbar-width: thin;
        scrollbar-color: #29ABE2 #B7E5FC;
        scrollbar-arrow-color: #B7E5FC;
    }

    .LifeInsuranceTotalsView .LifeInsuranceTotals-side-panel.fullscreen {
        width: 100vw !important;
        padding: 1vh 20vw;
        margin-right: 5%;
        margin-left: 5%;
    }

    .LifeInsuranceTotalsView .LifeInsuranceTotals-summaries-header {
        cursor: pointer;
        background-color: #007BFF;
        color: white;
        padding: 8px 12px;
        font-weight: bold;
        font-size: 16px;
        border-radius: 4px;
    }

        .LifeInsuranceTotalsView .LifeInsuranceTotals-summaries-header:hover {
            background-color: #0056B3;
            text-decoration: none;
            color: black;
        }

    .LifeInsuranceTotalsView .LifeInsuranceTotals-options-header {
        cursor: pointer;
        background-color: #F4F4F4;
        color: #000000;
        font-weight: bold;
        font-size: 16px;
        border-radius: 10px;
        position: sticky;
        top: 0;
        z-index: 1;
    }

    .LifeInsuranceTotalsView .collapse {
        display: none;
    }


    .LifeInsuranceTotalsView .no-hover {
        position: relative;
        top: -10px;
        border: 1px solid #F4F4F4;
        border-top: none;
        padding: 10px 0px;
        border-radius: 0px 0px 10px 10px;
    }

    /* Button styles */
    .LifeInsuranceTotalsView button {
        background-color: #4AAEE1;
        border: none;
        color: white;
        text-align: center;
        text-decoration: none;
        display: inline-block;
        font-size: 14px;
        margin: 4px 2px;
        cursor: pointer;
        padding: 10px 24px;
        border-radius: 4px;
        transition: background-color 0.3s;
    }

        .LifeInsuranceTotalsView button:hover {
            background-color: #0056B3;
            text-decoration: none;
            color: white;
        }

    .LifeInsuranceTotalsView .customized-input-number button {
        width: 24px;
        height: 100%;
        margin: 2px
    }

    .LifeInsuranceTotalsView .advanced-option .customized-input-number button {
        background-color: purple !important;
    }

    .LifeInsuranceTotalsView td button {
        padding: 0px;
        width: 25px;
        height: 100%;
    }

    /* Table styles */
    .LifeInsuranceTotalsView table {
        width: 100%;
        border-collapse: collapse;
        font-size: 14px;
    }

    .LifeInsuranceTotalsView th, .LifeInsuranceTotalsView td {
        text-align: left;
        border-bottom: 1px solid #ddd;
        padding: 4px;
    }

    .LifeInsuranceTotalsView th {
        background-color: #f2f2f2;
        font-weight: bold;
    }

    .LifeInsuranceTotalsView tr:not(.no-hover):hover {
        background-color: #f5f5f5;
    }

    /* Input styles */
    .LifeInsuranceTotalsView input[type="date"],
    .LifeInsuranceTotalsView input[type="text"],
    .LifeInsuranceTotalsView select,
    .LifeInsuranceTotalsView .form-control,
    .LifeInsuranceTotalsView .customized-input-number input {
        width: 100%;
        padding: 0px 6px;
        border: 1px solid #ccc;
        border-radius: 4px;
        font-size: 14px;
    }

    .LifeInsuranceTotalsView .customized-input-number .input {
        text-align: center;
    }

    .LifeInsuranceTotalsView .arrow {
        display: inline-block;
        width: 0;
        height: 0;
        border-style: solid;
        margin-left: 5px;
    }

        .LifeInsuranceTotalsView .arrow.right {
            border-width: 5px 0 5px 5px;
            border-color: transparent transparent transparent #000;
        }

        .LifeInsuranceTotalsView .arrow.down {
            border-width: 5px 5px 0px 5px;
            border-color: #000 transparent transparent transparent;
        }

    /* Toggle Switch */
    .LifeInsuranceTotalsView .options-toggle {
        display: flex;
        flex-direction: row;
        justify-content: flex-end;
    }

    .LifeInsuranceTotalsView .toggle-switch {
        position: relative;
        display: inline-block;
        width: 40px;
        height: 20px;
    }

        .LifeInsuranceTotalsView .toggle-switch input {
            opacity: 0;
            width: 0;
            height: 0;
        }

    .LifeInsuranceTotalsView .toggle-slider {
        position: absolute;
        cursor: pointer;
        top: 0;
        left: 0;
        right: 0;
        bottom: 0;
        background-color: #ccc;
        transition: 0.4s;
        border-radius: 34px;
    }

        .LifeInsuranceTotalsView .toggle-slider:before {
            position: absolute;
            content: "";
            height: 16px;
            width: 16px;
            left: 4px;
            bottom: 2px;
            background-color: white;
            transition: 0.4s;
            border-radius: 50%;
        }

    .LifeInsuranceTotalsView input:checked + .toggle-slider {
        background-color: #007BFF;
    }

    .LifeInsuranceTotalsView input:focus + .toggle-slider {
        box-shadow: 0 0 1px #007BFF;
    }

    .LifeInsuranceTotalsView input:checked + .toggle-slider:before {
        transform: translateX(16px);
    }

    .LifeInsuranceTotalsView .tabs-container {
        margin-top: 2px;
        display: flex;
        flex-direction: column;
        flex-grow: 100;
    }

    .LifeInsuranceTotalsView .nav-tabs .nav-link {
        border-top-left-radius: 4px;
        border-top-right-radius: 4px;
        border-bottom-color: transparent;
        color: #333;
    }

        .LifeInsuranceTotalsView .nav-tabs .nav-link.active {
            background-color: rgba(30, 144, 255, 0.4);
            border-color: #dee2e6 #dee2e6 transparent;
            color: #333;
            font-weight: bold;
        }

    .LifeInsuranceTotalsView .tab-content {
        border: 1px solid #dee2e6;
        border-top: none;
        padding: 16px;
        background-color: #fff;
        overflow: auto;
        display: flex;
        flex-grow: 100;
        flex-shrink: 0;
        justify-content: center;
        align-items: center;
        position: relative;
        flex-direction: column;
    }

    .LifeInsuranceTotalsView .tab-pane {
        height: 100%;
        width: 100%;
    }

    /* Scroll to Top Button */
    .LifeInsuranceTotalsView .scroll-to-top-btn {
        display: none;
        position: fixed;
        bottom: 20px;
        right: 40px;
        z-index: 99;
        font-size: 14px;
        width: 40px;
        height: 40px;
        color: white;
        background-color: #007BFF;
        border: none;
        cursor: pointer;
        border-radius: 50%;
        transition: background-color 0.3s;
        text-align: center;
        padding: 0px;
        margin: 2px;
    }

        .LifeInsuranceTotalsView.scroll-to-top-btn:hover {
            background-color: #0056B3;
        }

    .LifeInsuranceTotalsView .progress-circle {
        position: absolute;
        top: 0;
        left: 0;
    }

    .LifeInsuranceTotalsView .progress-bg {
        stroke: #ccc;
    }

    .LifeInsuranceTotalsView .progress-bar {
        stroke: white;
        stroke-linecap: round;
        transform-origin: center;
        transform: rotate(-90deg);
    }

    .LifeInsuranceTotalsView .zoom-control-toolbar {
        position: sticky;
        bottom: 0px;
        left: 0px;
        right: 0px;
        background: #F5F5F5;
        width: 100%;
        display: flex;
        justify-content: flex-end;
        align-items: center;
        padding-top: 5px;
        padding-bottom: 5px;
        padding-right: 10px;
        border-bottom-left-radius: 20px;
        border-bottom-right-radius: 20px;
    }

        .LifeInsuranceTotalsView .zoom-control-toolbar .btn {
            font-size: 14px;
            border-radius: 6px;
            padding: 3px 5px;
            margin-right: 5px;
            background: #4AAEE1;
            color: white;
            font-weight: 500;
        }

        .LifeInsuranceTotalsView .zoom-control-toolbar .slider {
            margin-left: 5px;
            margin-right: 10px;
        }

        .LifeInsuranceTotalsView .zoom-control-toolbar .percent-label {
            margin-bottom: 0px;
            margin-right: 10px;
            font-size: 14px;
        }

        .LifeInsuranceTotalsView .zoom-control-toolbar input {
            accent-color: #4AAEE1;
        }

.LifeInsuranceTotals-letter-wrapper {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-color: rgba(0, 0, 0, 0.5);
    display: flex;
    justify-content: center;
    align-items: center;
    z-index: 1000;
}

    .LifeInsuranceTotals-letter-wrapper .LifeInsuranceTotals-letter-popout {
        background-color: white;
        padding: 2rem;
        border-radius: 4px;
        width: 90%;
        max-width: 600px;
        max-height: 90%;
        overflow-y: auto;
    }

    .LifeInsuranceTotals-letter-wrapper .LifeInsuranceTotals-letter-button {
        min-width: 100px;
        margin: 0 10px;
    }

    .LifeInsuranceTotals-letter-wrapper .button-wrapper {
        display: flex;
        justify-content: center;
        margin-top: 15px;
    }

    .LifeInsuranceTotals-letter-wrapper .form-group {
        margin-bottom: 1rem;
    }

    .LifeInsuranceTotals-letter-wrapper .form-check {
        margin-bottom: 0.5rem;
    }

/* LetterWriter Calculator */

/* LetterWriterView styles */
.LetterWriter-main {
    display: flex;
    flex-direction: column;
}

.LetterWriterView {
    display: flex;
    flex-direction: row;
    font-size: 16px;
    line-height: 1.5;
    height: calc(100vh - 10rem);
}

    .LetterWriterView .LetterWriter-side-panel {
        flex: 1;
        display: flex;
        flex-direction: column;
        border-right: 1px solid #ccc;
        overflow: auto;
        width: 340px;
        padding: 0px 3px;
    }

        .LetterWriterView .LetterWriter-side-panel tbody tr td:first-child {
            max-width: 12em;
        }

        .LetterWriterView .LetterWriter-side-panel .alert {
            bottom: 0;
            position: sticky;
        }

    .LetterWriterView .LetterWriter-results-wrapper {
        display: flex;
        flex-direction: column;
        width: 100%;
        overflow: auto;
    }

    .LetterWriterView .LetterWriter-results {
        display: flex;
        flex-direction: column;
        overflow: auto;
        margin-left: 6px;
        height: 100%;
    }

    .LetterWriterView .LetterWriterDetailsView {
        display: flex;
        flex-direction: column;
        padding-left: 0px;
        padding-right: 0px;
        position: absolute;
        width: 100%;
    }

        .LetterWriterView .LetterWriterDetailsView .LetterContainer {
            margin: 40px auto;
            padding: 40px;
            background-color: #fff;
            color: #000;
            border: 1px solid #ddd;
            box-shadow: none;
            font-family: 'Times New Roman';
        }

            .LetterWriterView .LetterWriterDetailsView .LetterContainer p {
                font-size: 12pt;
                line-height: 1;
                margin-bottom: 12pt;
                text-align: justify;
                word-spacing: normal;
                letter-spacing: normal;
                text-indent: 40px;
            }

            .LetterWriterView .LetterWriterDetailsView .LetterContainer span {
                font-size: 12pt;
                text-align: justify;
                word-spacing: normal;
                letter-spacing: normal;
            }

        .LetterWriterView .LetterWriterDetailsView table thead tr th {
            border: 1px solid rgb(221, 221, 221);
            border-top: 0px;
            text-align: center;
        }

        .LetterWriterView .LetterWriterDetailsView table tbody tr td {
            border: 1px solid rgb(221, 221, 221);
            border-top: 0px;
            text-align: center;
            padding: 0px 6px;
            white-space: nowrap;
        }

    .LetterWriterView .LetterWriter-details-tables {
        display: flex;
        flex-direction: column;
        flex: 1;
        z-index: 2;
        background-color: white;
    }

    .LetterWriterView .LetterWriter-details-header {
        cursor: pointer;
        background-color: #007BFF;
        color: white;
        padding: 8px 12px;
        font-weight: bold;
        font-size: 16px;
        border-radius: 4px;
    }

        .LetterWriterView .LetterWriter-details-header:hover {
            background-color: #0056B3;
            text-decoration: none;
            color: black;
        }

    .LetterWriterView .LetterWriter-summaries-tables {
        display: flex;
        flex-direction: column;
    }

        .LetterWriterView .LetterWriter-summaries-tables table {
            width: min-content;
        }

            .LetterWriterView .LetterWriter-summaries-tables table thead tr th {
                border: 1px solid rgb(221, 221, 221);
                border-top: 0px;
                text-align: center;
            }

            .LetterWriterView .LetterWriter-summaries-tables table tbody tr td {
                border: 1px solid rgb(221, 221, 221);
                border-top: 0px;
                text-align: center;
                padding: 0px 6px;
                white-space: nowrap;
            }

    .LetterWriterView .LetterWriter-summaries-table-parent {
        display: flex;
        flex-grow: 100;
        flex-shrink: 0;
        position: relative;
        overflow: auto;
    }

    .LetterWriterView .LetterWriter-summaries-header {
        cursor: pointer;
        background-color: #007BFF;
        color: white;
        padding: 8px 12px;
        font-weight: bold;
        font-size: 16px;
        border-radius: 4px;
    }

        .LetterWriterView .LetterWriter-summaries-header:hover {
            background-color: #0056B3;
            text-decoration: none;
            color: black;
        }

    .LetterWriterView .LetterWriter-options-header {
        cursor: pointer;
        background-color: #007BFF;
        color: white;
        padding: 8px 12px;
        font-weight: bold;
        font-size: 16px;
        border-radius: 4px;
    }

        .LetterWriterView .LetterWriter-options-header:hover {
            background-color: #0056B3;
            text-decoration: none;
            color: black;
        }

    .LetterWriterView .collapse {
        display: none;
    }


    /* Button styles */
    .LetterWriterView button {
        background-color: #007BFF;
        border: none;
        color: white;
        text-align: center;
        text-decoration: none;
        display: inline-block;
        font-size: 14px;
        margin: 4px 2px;
        cursor: pointer;
        padding: 10px 24px;
        border-radius: 4px;
        transition: background-color 0.3s;
    }

        .LetterWriterView button:hover {
            background-color: #0056B3;
            text-decoration: none;
            color: white;
        }

    .LetterWriterView .customized-input-number button {
        width: 24px;
        height: 100%;
        margin: 2px
    }

    .LetterWriterView .advanced-option .customized-input-number button {
        background-color: purple !important;
    }

    .LetterWriterView td button {
        padding: 0px;
        width: 25px;
        height: 100%;
    }

    /* Table styles */
    .LetterWriterView table {
        width: 100%;
        border-collapse: collapse;
        font-size: 14px;
    }

    .LetterWriterView th, .LetterWriterView td {
        text-align: left;
        border-bottom: 1px solid #ddd;
        padding: 4px;
    }

    .LetterWriterView th {
        background-color: #f2f2f2;
        font-weight: bold;
    }

    .LetterWriterView tr:not(.no-hover):hover {
        background-color: #f5f5f5;
    }

    /* Input styles */
    .LetterWriterView input[type="date"],
    .LetterWriterView input[type="text"],
    .LetterWriterView select,
    .LetterWriterView .form-control,
    .LetterWriterView .customized-input-number input {
        width: 100%;
        padding: 0px 6px;
        border: 1px solid #ccc;
        border-radius: 4px;
        font-size: 14px;
    }

    .LetterWriterView .arrow {
        display: inline-block;
        width: 0;
        height: 0;
        border-style: solid;
        margin-left: 5px;
    }

        .LetterWriterView .arrow.right {
            border-width: 5px 0 5px 5px;
            border-color: transparent transparent transparent #000;
        }

        .LetterWriterView .arrow.down {
            border-width: 5px 5px 0px 5px;
            border-color: #000 transparent transparent transparent;
        }

    /* Toggle Switch */
    .LetterWriterView .options-toggle {
        display: flex;
        flex-direction: row;
        justify-content: flex-end;
    }

    .LetterWriterView .toggle-switch {
        position: relative;
        display: inline-block;
        width: 40px;
        height: 20px;
    }

        .LetterWriterView .toggle-switch input {
            opacity: 0;
            width: 0;
            height: 0;
        }

    .LetterWriterView .toggle-slider {
        position: absolute;
        cursor: pointer;
        top: 0;
        left: 0;
        right: 0;
        bottom: 0;
        background-color: #ccc;
        transition: 0.4s;
        border-radius: 34px;
    }

        .LetterWriterView .toggle-slider:before {
            position: absolute;
            content: "";
            height: 16px;
            width: 16px;
            left: 4px;
            bottom: 2px;
            background-color: white;
            transition: 0.4s;
            border-radius: 50%;
        }

    .LetterWriterView input:checked + .toggle-slider {
        background-color: #007BFF;
    }

    .LetterWriterView input:focus + .toggle-slider {
        box-shadow: 0 0 1px #007BFF;
    }

    .LetterWriterView input:checked + .toggle-slider:before {
        transform: translateX(16px);
    }

    .LetterWriterView .tabs-container {
        margin-top: 2px;
        display: flex;
        flex-direction: column;
        flex-grow: 100;
    }

    .LetterWriterView .nav-tabs .nav-link {
        border-top-left-radius: 4px;
        border-top-right-radius: 4px;
        border-bottom-color: transparent;
        color: #333;
    }

        .LetterWriterView .nav-tabs .nav-link.active {
            background-color: rgba(30, 144, 255, 0.4);
            border-color: #dee2e6 #dee2e6 transparent;
            color: #333;
            font-weight: bold;
        }

    .LetterWriterView .tab-content {
        border: 1px solid #dee2e6;
        border-top: none;
        padding: 16px;
        background-color: #fff;
        overflow: auto;
        display: flex;
        flex-grow: 100;
        flex-shrink: 0;
        justify-content: center;
        align-items: center;
        position: relative;
        flex-direction: column;
    }

    .LetterWriterView .tab-pane {
        height: 100%;
        width: 100%;
    }

    /* Scroll to Top Button */
    .LetterWriterView .scroll-to-top-btn {
        display: none;
        position: fixed;
        bottom: 20px;
        right: 40px;
        z-index: 99;
        font-size: 14px;
        width: 40px;
        height: 40px;
        color: white;
        background-color: #007BFF;
        border: none;
        cursor: pointer;
        border-radius: 50%;
        transition: background-color 0.3s;
        text-align: center;
        padding: 0px;
        margin: 2px;
    }

        .LetterWriterView.scroll-to-top-btn:hover {
            background-color: #0056B3;
        }

    .LetterWriterView .progress-circle {
        position: absolute;
        top: 0;
        left: 0;
    }

    .LetterWriterView .progress-bg {
        stroke: #ccc;
    }

    .LetterWriterView .progress-bar {
        stroke: white;
        stroke-linecap: round;
        transform-origin: center;
        transform: rotate(-90deg);
    }

    .LetterWriterView .zoom-control-toolbar {
        position: sticky;
        bottom: 0px;
        left: 0px;
        right: 0px;
        background: #D2E6FA;
        width: 100%;
        display: flex;
        justify-content: flex-end;
        align-items: center;
        padding-top: 5px;
        padding-bottom: 5px;
        padding-right: 10px;
    }

        .LetterWriterView .zoom-control-toolbar .btn {
            font-size: 14px;
            border: 1px solid #666;
            border-radius: 0px;
            padding: 3px;
            margin-right: 5px;
            background: #DDDDDD;
            color: black;
        }

        .LetterWriterView .zoom-control-toolbar .slider {
            margin-left: 5px;
            margin-right: 10px;
        }

        .LetterWriterView .zoom-control-toolbar .percent-label {
            margin-bottom: 0px;
            margin-right: 10px;
            font-size: 14px;
        }

.LetterWriter-letter-wrapper {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-color: rgba(0, 0, 0, 0.5);
    display: flex;
    justify-content: center;
    align-items: center;
    z-index: 1000;
}

    .LetterWriter-letter-wrapper .LetterWriter-letter-popout {
        background-color: white;
        padding: 2rem;
        border-radius: 4px;
        width: 90%;
        max-width: 600px;
        max-height: 90%;
        overflow-y: auto;
    }

    .LetterWriter-letter-wrapper .LetterWriter-letter-button {
        min-width: 100px;
        margin: 0 10px;
    }

    .LetterWriter-letter-wrapper .button-wrapper {
        display: flex;
        justify-content: center;
        margin-top: 15px;
    }

    .LetterWriter-letter-wrapper .form-group {
        margin-bottom: 1rem;
    }

    .LetterWriter-letter-wrapper .form-check {
        margin-bottom: 0.5rem;
    }

/* MonteCarlo Calculator */

/* MonteCarloView styles */
.MonteCarlo-main {
    display: flex;
    flex-direction: column;
}

.MonteCarloView {
    display: flex;
    flex-direction: row;
    font-size: 16px;
    line-height: 1.5;
    height: calc(100vh - 5rem);
}

    .MonteCarloView .h-resizer {
        height: 8px;
        font-size: 16px;
        border-bottom: none;
        border-top: none;
    }

    .MonteCarloView .resizer {
        width: 8px;
        min-width: 8px;
        max-width: 8px;
        writing-mode: vertical-lr;
        font-size: 16px;
        border-left: 1px solid #a9a9a9;
        border-right: none;
        background: none;
    }

    .MonteCarloView .MonteCarlo-side-panel {
        flex: 1;
        display: flex;
        flex-direction: column;
        overflow: auto;
        width: 340px;
        padding: 3px 5px;
        margin: 10px;
        border: 1px solid #F0F0F0;
        box-shadow: 0px 2px 16px #F4FAFD;
        border-radius: 20px;
    }

        .MonteCarloView .MonteCarlo-side-panel tbody tr td:first-child {
            max-width: 12em;
        }

        .MonteCarloView .MonteCarlo-side-panel.fullscreen {
            width: 100vw !important;
            padding: 1vh 20vw;
            margin-right: 5%;
            margin-left: 5%;
        }

    .MonteCarloView .MonteCarlo-results-wrapper {
        display: flex;
        flex-direction: column;
        width: 100%;
        overflow: auto;
        margin-left: 5px;
        margin-right: 5px;
        border: 1px solid #F4F4F4;
        border-radius: 20px;
    }

    .MonteCarloView .MonteCarlo-results {
        display: flex;
        flex-direction: column;
        overflow: auto;
        margin-left: 6px;
        height: 100%;
    }

    .MonteCarloView .MonteCarloDetailsView {
        padding-left: 0px;
        padding-right: 0px;
        position: absolute;
        width: unset;
    }

    .MonteCarloView .MonteCarlo-details-tables ul li:not(:last-child) {
        margin-bottom: 0.75rem;
    }

    .MonteCarloView .MonteCarloDetailsView table thead tr th {
        border-top: 0px;
        text-align: center;
        background-color: #E8F3F9;
    }

    .MonteCarloView .MonteCarloDetailsView table thead tr:first-child th:first-child {
        border-top-left-radius: 20px;
    }

    .MonteCarloView .MonteCarloDetailsView table thead tr:first-child th:last-child {
        border-top-right-radius: 20px;
    }

    .MonteCarloView .MonteCarloDetailsView table tbody tr td {
        border-top: 0px;
        text-align: center;
        padding: 0px 6px;
        white-space: nowrap;
    }

    .MonteCarloView .MonteCarlo-details-tables {
        display: flex;
        flex-direction: column;
        flex: 1;
        z-index: 2;
        background-color: white;
    }

    .MonteCarloView .MonteCarlo-details-header {
        cursor: pointer;
        background-color: #007BFF;
        color: white;
        padding: 8px 12px;
        font-weight: bold;
        font-size: 16px;
        border-radius: 4px;
    }

        .MonteCarloView .MonteCarlo-details-header:hover {
            background-color: #0056B3;
            text-decoration: none;
            color: black;
        }

    .MonteCarloView .details-tab-content {
        display: flex;
        position: relative;
        overflow: auto;
        flex-direction: column;
        scrollbar-width: thin;
        scrollbar-color: #29ABE2 #B7E5FC;
        scrollbar-arrow-color: #B7E5FC;
        flex-grow: 1;
    }

    .MonteCarloView .MonteCarlo-summaries-table-parent {
        display: flex;
        position: relative;
        overflow: auto;
        scrollbar-width: thin;
        scrollbar-color: #29ABE2 #B7E5FC;
        scrollbar-arrow-color: #B7E5FC;
    }

    .MonteCarloView .MonteCarlo-summaries-tables {
        display: flex;
        flex-direction: column;
    }

        .MonteCarloView .MonteCarlo-summaries-tables table thead tr th {
            text-align: center;
            background-color: #E8F3F9;
        }

        .MonteCarloView .MonteCarlo-summaries-tables table thead tr:first-child th:first-child {
            border-top-left-radius: 20px;
        }

        .MonteCarloView .MonteCarlo-summaries-tables table thead tr:first-child th:last-child {
            border-top-right-radius: 20px;
        }

        .MonteCarloView .MonteCarlo-summaries-tables table tbody tr td {
            text-align: center;
            padding: 0px 6px;
            white-space: nowrap;
        }

    .MonteCarloView .summary-options {
        justify-content: space-between;
        margin-bottom: 2px;
    }

    .MonteCarloView .MonteCarlo-options-header {
        cursor: pointer;
        background-color: #F4F4F4;
        color: #000000;
        font-weight: bold;
        font-size: 16px;
        border-radius: 10px;
        position: sticky;
        top: 0;
        z-index: 1;
    }

    .MonteCarloView .customized-input-number .input {
        text-align: center;
    }

    .MonteCarloView .customized-input-number .spinner.decrement {
        padding: 0px 0px 0px 0px;
        margin: 0px 2px 0px 2px;
        height: auto;
        background-color: #4AAEE1;
        border: none;
    }

    .MonteCarloView .customized-input-number .spinner.increment {
        padding: 0px 0px 0px 0px;
        margin: 0px 2px 0px 2px;
        height: auto;
        background-color: #4AAEE1;
        border: none;
    }

    .MonteCarloView .option-input-group {
        border-bottom: 2px solid #F4F4F4;
        padding-bottom: 3px;
        margin-top: 3px;
        border-radius: 10px;
        border-bottom-left-radius: 0px;
        border-bottom-right-radius: 0px;
        padding-left: 5px;
        padding-right: 5px;
    }

        .MonteCarloView .option-input-group div:not(.option-input-title) {
            padding: 3px;
        }

        .MonteCarloView .option-input-group div {
            border-radius: 10px;
        }

        .MonteCarloView .option-input-group > div:first-child {
            border-radius: 10px 10px 0px 0px;
        }

        .MonteCarloView .option-input-group > div:nth-child(2) {
            border-radius: 0px 0px 10px 10px;
        }

    .MonteCarloView .option-input-title {
        font-weight: 500;
        padding-bottom: 3px;
        padding-left: 2px;
    }

    .MonteCarloView .no-hover {
        position: relative;
        top: -10px;
        border: 1px solid #F4F4F4;
        border-top: none;
        padding: 10px 0px;
        border-radius: 0px 0px 10px 10px;
    }

    .MonteCarloView .collapse {
        display: none;
    }

    /* Button styles */
    .MonteCarloView button {
        background-color: #4AAEE1;
        border: none;
        color: white;
        text-align: center;
        text-decoration: none;
        display: inline-block;
        font-size: 14px;
        margin: 4px 2px;
        cursor: pointer;
        padding: 10px 24px;
        border-radius: 4px;
        transition: background-color 0.3s;
    }

        .MonteCarloView button:hover {
            background-color: #0056B3;
            text-decoration: none;
            color: white;
        }

    .MonteCarloView .customized-input-number button {
        width: 24px;
        height: 100%;
        margin: 2px
    }

    .MonteCarloView .advanced-option .customized-input-number button {
        background-color: purple !important;
    }

    .MonteCarloView td button {
        padding: 0px;
        width: 25px;
        height: 100%;
    }

    /* Table styles */
    .MonteCarloView table {
        width: 100%;
        border-collapse: collapse;
        font-size: 14px;
    }

    .MonteCarloView th, .MonteCarloView td {
        text-align: left;
        border-bottom: 1px solid #ddd;
        padding: 4px;
    }

    .MonteCarloView th {
        background-color: #f2f2f2;
        font-weight: bold;
    }

    .MonteCarloView tr:not(.no-hover):hover {
        background-color: #f5f5f5;
    }

    /* Input styles */
    .MonteCarloView input[type="date"],
    .MonteCarloView input[type="text"],
    .MonteCarloView select,
    .MonteCarloView .form-control,
    .MonteCarloView .customized-input-number input {
        width: 100%;
        padding: 0px 6px;
        border: 1px solid #ccc;
        border-radius: 4px;
        font-size: 14px;
    }

    .MonteCarloView .arrow {
        display: inline-block;
        width: 0;
        height: 0;
        border-style: solid;
        margin-left: 5px;
    }

        .MonteCarloView .arrow.right {
            border-width: 5px 0 5px 5px;
            border-color: transparent transparent transparent #000;
        }

        .MonteCarloView .arrow.down {
            border-width: 5px 5px 0px 5px;
            border-color: #000 transparent transparent transparent;
        }

    /* Toggle Switch */
    .MonteCarloView .options-toggle {
        display: flex;
        flex-direction: row;
        justify-content: flex-end;
    }

    .MonteCarloView .toggle-switch {
        position: relative;
        display: inline-block;
        width: 40px;
        height: 20px;
    }

        .MonteCarloView .toggle-switch input {
            opacity: 0;
            width: 0;
            height: 0;
        }

    .MonteCarloView .toggle-slider {
        position: absolute;
        cursor: pointer;
        top: 0;
        left: 0;
        right: 0;
        bottom: 0;
        background-color: #ccc;
        transition: 0.4s;
        border-radius: 34px;
    }

        .MonteCarloView .toggle-slider:before {
            position: absolute;
            content: "";
            height: 16px;
            width: 16px;
            left: 4px;
            bottom: 2px;
            background-color: white;
            transition: 0.4s;
            border-radius: 50%;
        }

    .MonteCarloView input:checked + .toggle-slider {
        background-color: #007BFF;
    }

    .MonteCarloView input:focus + .toggle-slider {
        box-shadow: 0 0 1px #007BFF;
    }

    .MonteCarloView input:checked + .toggle-slider:before {
        transform: translateX(16px);
    }

    /* Multi-Option Switch with Timeline */
    .MonteCarloView .multi-option-switch {
        display: flex;
        position: relative;
        justify-content: space-between;
        padding: 5px 7px;
        background-color: #f0f0f0;
        border-radius: 6px;
        margin-left: 4px;
        margin-right: 4px;
    }

        .MonteCarloView .multi-option-switch input[type="radio"] {
            display: none;
        }

        .MonteCarloView .multi-option-switch label {
            display: flex;
            flex: 1;
            justify-content: center;
            white-space: nowrap;
            cursor: pointer;
            text-align: center;
            color: #999;
            transition: background-color 0.4s, transform 0.4s;
            position: relative;
            z-index: 1;
            font-weight: 600;
            border-radius: 6px;
            padding: 2px 8px;
            transform: scale(0.9);
        }

        .MonteCarloView .multi-option-switch input[type="radio"]:checked + label {
            color: #fff;
            transform: scale(1);
            font-weight: 600;
            background: linear-gradient(99.02deg, rgb(0, 113, 188) 95.38%, rgb(0, 113, 188) 95.38%);
            padding: 2px 8px;
        }

        .MonteCarloView .multi-option-switch input[type="radio"]:first-child:checked + label {
            background: linear-gradient(99.02deg, rgb(41, 171, 226) -19.8%, rgb(0, 113, 188) 95.38%);
        }

        .MonteCarloView .multi-option-switch input[type="radio"]:last-child:checked + label {
            background: linear-gradient(99.02deg, #0071BC -19.8%, #29ABE2 95.38%);
        }

    .MonteCarloView .tabs-container {
        margin-top: 7px;
        margin-bottom: 7px;
        margin-right: 5px;
        display: flex;
        flex-direction: column;
        flex-grow: 100;
    }

    .MonteCarloView .nav-item button {
        padding-top: 6px;
        padding-bottom: 6px;
        font-size: 12pt;
    }

    .MonteCarloView .nav.nav-tabs {
        border-bottom: none;
    }

    .MonteCarloView .nav-tabs .nav-link {
        color: #087DC4;
        font-weight: 600;
        background: linear-gradient(99.02deg, #E8F3F9 95.38%, #E8F3F9 95.38%);
        margin: 0px;
        border-radius: 0px;
    }

    .MonteCarloView .nav-tabs .nav-item:first-child .nav-link {
        border-top-left-radius: 10px;
        border-bottom-left-radius: 10px;
    }

    .MonteCarloView .nav-tabs .nav-item:last-child .nav-link {
        border-top-right-radius: 10px;
        border-bottom-right-radius: 10px;
    }

    .MonteCarloView .nav-tabs .nav-link.active {
        background: linear-gradient(99.02deg, #0071BC 95.38%, #0071BC 95.38%);
        color: #FFFFFF;
    }

    .MonteCarloView .nav-tabs .nav-item:first-child .nav-link.active {
        background: linear-gradient(99.02deg, #29ABE2 -19.8%, #0071BC 95.38%);
        color: #FFFFFF;
    }

    .MonteCarloView .nav-tabs .nav-item:last-child .nav-link.active {
        background: linear-gradient(99.02deg, #0071BC -19.8%, #29ABE2 95.38%);
        color: #FFFFFF;
    }

    .MonteCarloView .tab-content {
        border-top: none;
        padding: 6px 0px 0px 0px;
        background-color: #fff;
        display: flex;
        flex-grow: 100;
        justify-content: center;
        align-items: center;
        flex-direction: column;
    }

    .MonteCarloView .tab-pane {
        height: 100%;
        width: 100%;
    }

    .MonteCarloView .tab-content > .active {
        display: flex;
        flex-direction: column;
    }

    /* Scroll to Top Button */
    .MonteCarloView .scroll-to-top-btn {
        display: none;
        position: fixed;
        bottom: 20px;
        right: 40px;
        z-index: 99;
        font-size: 14px;
        width: 40px;
        height: 40px;
        color: white;
        background-color: #007BFF;
        border: none;
        cursor: pointer;
        border-radius: 50%;
        transition: background-color 0.3s;
        text-align: center;
        padding: 0px;
        margin: 2px;
    }

        .MonteCarloView.scroll-to-top-btn:hover {
            background-color: #0056B3;
        }

    .MonteCarloView .progress-circle {
        position: absolute;
        top: 0;
        left: 0;
    }

    .MonteCarloView .progress-bg {
        stroke: #ccc;
    }

    .MonteCarloView .progress-bar {
        stroke: white;
        stroke-linecap: round;
        transform-origin: center;
        transform: rotate(-90deg);
    }

    /* More Details Below indicator */
    .MonteCarloView .scroll-indicator {
        display: none;
        position: sticky;
        width: 200px;
        bottom: 20px;
        left: 50%;
        transform: translateX(-50%);
        background-color: rgba(0, 0, 0, 0.4);
        border-radius: 4px;
        padding: 6px 12px;
        text-align: center;
        color: rgb(255, 255, 255, 1);
        font-weight: bold;
        animation: pulsate 2s infinite;
        cursor: pointer;
    }

@keyframes pulsate {
    0% {
        transform: translateX(-50%) scale(1);
        opacity: 1;
    }

    50% {
        transform: translateX(-50%) scale(1.1);
        opacity: 0.5;
    }

    100% {
        transform: translateX(-50%) scale(1);
        opacity: 1;
    }
}

.MonteCarloView .zoom-control-toolbar {
    position: sticky;
    bottom: 0px;
    left: 0px;
    right: 0px;
    background: #F5F5F5;
    width: 100%;
    display: flex;
    justify-content: flex-end;
    align-items: center;
    padding-top: 5px;
    padding-bottom: 5px;
    padding-right: 10px;
    border-bottom-left-radius: 20px;
    border-bottom-right-radius: 20px;
}

    .MonteCarloView .zoom-control-toolbar .btn {
        font-size: 14px;
        border-radius: 6px;
        padding: 3px 5px;
        margin-right: 5px;
        background: #4AAEE1;
        color: white;
        font-weight: 500;
    }

    .MonteCarloView .zoom-control-toolbar .slider {
        margin-left: 5px;
        margin-right: 10px;
    }

    .MonteCarloView .zoom-control-toolbar .percent-label {
        margin-bottom: 0px;
        margin-right: 10px;
        font-size: 14px;
    }

    .MonteCarloView .zoom-control-toolbar input {
        accent-color: #4AAEE1;
    }

@keyframes slideDown {
    0% {
        transform: translateY(-100%);
    }

    100% {
        transform: translateY(0%);
    }
}

.MonteCarlo-letter-wrapper {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-color: rgba(0, 0, 0, 0.5);
    display: flex;
    justify-content: center;
    align-items: center;
    z-index: 1001;
}

    .MonteCarlo-letter-wrapper .MonteCarlo-letter-popout {
        background-color: white;
        padding: 2rem;
        border-radius: 4px;
        width: 90%;
        max-width: 600px;
        max-height: 90%;
        overflow-y: auto;
    }

    .MonteCarlo-letter-wrapper .MonteCarlo-letter-button {
        min-width: 100px;
        margin: 0 10px;
    }

    .MonteCarlo-letter-wrapper .button-wrapper {
        display: flex;
        justify-content: center;
        margin-top: 15px;
    }

    .MonteCarlo-letter-wrapper .form-group {
        margin-bottom: 1rem;
    }

    .MonteCarlo-letter-wrapper .form-check {
        margin-bottom: 0.5rem;
    }

/* ValuationDiscountCalculator Calculator */

/* ValuationDiscountCalculatorView styles */
.ValuationDiscountCalculator-main {
    display: flex;
    flex-direction: column;
}

.ValuationDiscountCalculatorView {
    display: flex;
    flex-direction: row;
    font-size: 16px;
    line-height: 1.5;
    height: calc(100vh - 5rem);
}

    .ValuationDiscountCalculatorView .h-resizer {
        height: 8px;
        font-size: 16px;
        border-bottom: none;
        border-top: none;
    }

    .ValuationDiscountCalculatorView .resizer {
        width: 8px;
        min-width: 8px;
        max-width: 8px;
        writing-mode: vertical-lr;
        font-size: 16px;
        border-left: 1px solid #a9a9a9;
        border-right: none;
        background: none;
    }

    .ValuationDiscountCalculatorView .ValuationDiscountCalculator-side-panel {
        flex: 1;
        display: flex;
        flex-direction: column;
        overflow: auto;
        width: 340px;
        padding: 3px 5px;
        margin: 10px;
        border: 1px solid #F0F0F0;
        box-shadow: 0px 2px 16px #F4FAFD;
        border-radius: 20px;
    }

        .ValuationDiscountCalculatorView .ValuationDiscountCalculator-side-panel tbody tr td:first-child {
            max-width: 12em;
        }

        .ValuationDiscountCalculatorView .ValuationDiscountCalculator-side-panel.fullscreen {
            width: 100vw !important;
            padding: 1vh 20vw;
            margin-right: 5%;
            margin-left: 5%;
        }

    .ValuationDiscountCalculatorView .ValuationDiscountCalculator-results-wrapper {
        display: flex;
        flex-direction: column;
        width: 100%;
        overflow: auto;
        margin-left: 5px;
        margin-right: 5px;
        border: 1px solid #F4F4F4;
        border-radius: 20px;
    }

    .ValuationDiscountCalculatorView .ValuationDiscountCalculator-results {
        display: flex;
        flex-direction: column;
        overflow: auto;
        margin-left: 6px;
        height: 100%;
    }

    .ValuationDiscountCalculatorView .ValuationDiscountCalculatorDetailsView {
        padding-left: 0px;
        padding-right: 0px;
        position: absolute;
        width: unset;
    }

    .ValuationDiscountCalculatorView .ValuationDiscountCalculator-details-tables ul li:not(:last-child) {
        margin-bottom: 0.75rem;
    }

    .ValuationDiscountCalculatorView .ValuationDiscountCalculatorDetailsView table thead tr th {
        border-top: 0px;
        text-align: center;
        background-color: #E8F3F9;
    }

    .ValuationDiscountCalculatorView .ValuationDiscountCalculatorDetailsView table thead tr:first-child th:first-child {
        border-top-left-radius: 20px;
    }

    .ValuationDiscountCalculatorView .ValuationDiscountCalculatorDetailsView table thead tr:first-child th:last-child {
        border-top-right-radius: 20px;
    }

    .ValuationDiscountCalculatorView .ValuationDiscountCalculatorDetailsView table tbody tr td {
        border-top: 0px;
        text-align: center;
        padding: 0px 6px;
        white-space: nowrap;
    }

    .ValuationDiscountCalculatorView .ValuationDiscountCalculator-details-tables {
        display: flex;
        flex-direction: column;
        flex: 1;
        z-index: 2;
        background-color: white;
    }

    .ValuationDiscountCalculatorView .ValuationDiscountCalculator-details-header {
        cursor: pointer;
        background-color: #007BFF;
        color: white;
        padding: 8px 12px;
        font-weight: bold;
        font-size: 16px;
        border-radius: 4px;
    }

        .ValuationDiscountCalculatorView .ValuationDiscountCalculator-details-header:hover {
            background-color: #0056B3;
            text-decoration: none;
            color: black;
        }

    .ValuationDiscountCalculatorView .details-tab-content {
        display: flex;
        position: relative;
        overflow: auto;
        flex-direction: column;
        scrollbar-width: thin;
        scrollbar-color: #29ABE2 #B7E5FC;
        scrollbar-arrow-color: #B7E5FC;
        flex-grow: 1;
    }

    .ValuationDiscountCalculatorView .ValuationDiscountCalculator-summaries-table-parent {
        display: flex;
        position: relative;
        overflow: auto;
        scrollbar-width: thin;
        scrollbar-color: #29ABE2 #B7E5FC;
        scrollbar-arrow-color: #B7E5FC;
    }

    .ValuationDiscountCalculatorView .ValuationDiscountCalculator-summaries-tables {
        display: flex;
        flex-direction: column;
    }

        .ValuationDiscountCalculatorView .ValuationDiscountCalculator-summaries-tables table thead tr th {
            text-align: center;
            background-color: #E8F3F9;
        }

        .ValuationDiscountCalculatorView .ValuationDiscountCalculator-summaries-tables table thead tr:first-child th:first-child {
            border-top-left-radius: 20px;
        }

        .ValuationDiscountCalculatorView .ValuationDiscountCalculator-summaries-tables table thead tr:first-child th:last-child {
            border-top-right-radius: 20px;
        }

        .ValuationDiscountCalculatorView .ValuationDiscountCalculator-summaries-tables table tbody tr td {
            text-align: center;
            padding: 0px 6px;
            white-space: nowrap;
        }

    .ValuationDiscountCalculatorView .summary-options {
        justify-content: space-between;
        margin-bottom: 2px;
    }

    .ValuationDiscountCalculatorView .ValuationDiscountCalculator-options-header {
        cursor: pointer;
        background-color: #F4F4F4;
        color: #000000;
        font-weight: bold;
        font-size: 16px;
        border-radius: 10px;
        position: sticky;
        top: 0;
        z-index: 1;
    }

    .ValuationDiscountCalculatorView .customized-input-number .input {
        text-align: center;
    }

    .ValuationDiscountCalculatorView .customized-input-number .spinner.decrement {
        padding: 0px 0px 0px 0px;
        margin: 0px 2px 0px 2px;
        height: auto;
        background-color: #4AAEE1;
        border: none;
    }

    .ValuationDiscountCalculatorView .customized-input-number .spinner.increment {
        padding: 0px 0px 0px 0px;
        margin: 0px 2px 0px 2px;
        height: auto;
        background-color: #4AAEE1;
        border: none;
    }

    .ValuationDiscountCalculatorView .option-input-group {
        border-bottom: 2px solid #F4F4F4;
        padding-bottom: 3px;
        margin-top: 3px;
        border-radius: 10px;
        border-bottom-left-radius: 0px;
        border-bottom-right-radius: 0px;
        padding-left: 5px;
        padding-right: 5px;
    }

        .ValuationDiscountCalculatorView .option-input-group div:not(.option-input-title) {
            padding: 3px;
        }

        .ValuationDiscountCalculatorView .option-input-group div {
            border-radius: 10px;
        }

        .ValuationDiscountCalculatorView .option-input-group > div:first-child {
            border-radius: 10px 10px 0px 0px;
        }

        .ValuationDiscountCalculatorView .option-input-group > div:nth-child(2) {
            border-radius: 0px 0px 10px 10px;
        }

    .ValuationDiscountCalculatorView .option-input-title {
        font-weight: 500;
        padding-bottom: 3px;
        padding-left: 2px;
    }

    .ValuationDiscountCalculatorView .no-hover {
        position: relative;
        top: -10px;
        border: 1px solid #F4F4F4;
        border-top: none;
        padding: 10px 0px;
        border-radius: 0px 0px 10px 10px;
    }

    .ValuationDiscountCalculatorView .collapse {
        display: none;
    }

    /* Button styles */
    .ValuationDiscountCalculatorView button {
        background-color: #4AAEE1;
        border: none;
        color: white;
        text-align: center;
        text-decoration: none;
        display: inline-block;
        font-size: 14px;
        margin: 4px 2px;
        cursor: pointer;
        padding: 10px 24px;
        border-radius: 4px;
        transition: background-color 0.3s;
    }

        .ValuationDiscountCalculatorView button:hover {
            background-color: #0056B3;
            text-decoration: none;
            color: white;
        }

    .ValuationDiscountCalculatorView .customized-input-number button {
        width: 24px;
        height: 100%;
        margin: 2px
    }

    .ValuationDiscountCalculatorView .advanced-option .customized-input-number button {
        background-color: purple !important;
    }

    .ValuationDiscountCalculatorView td button {
        padding: 0px;
        width: 25px;
        height: 100%;
    }

    /* Table styles */
    .ValuationDiscountCalculatorView table {
        width: 100%;
        border-collapse: collapse;
        font-size: 14px;
    }

    .ValuationDiscountCalculatorView th, .ValuationDiscountCalculatorView td {
        text-align: left;
        border-bottom: 1px solid #ddd;
        padding: 4px;
    }

    .ValuationDiscountCalculatorView th {
        background-color: #f2f2f2;
        font-weight: bold;
    }

    .ValuationDiscountCalculatorView tr:not(.no-hover):hover {
        background-color: #f5f5f5;
    }

    /* Input styles */
    .ValuationDiscountCalculatorView input[type="date"],
    .ValuationDiscountCalculatorView input[type="text"],
    .ValuationDiscountCalculatorView select,
    .ValuationDiscountCalculatorView .form-control,
    .ValuationDiscountCalculatorView .customized-input-number input {
        width: 100%;
        padding: 0px 6px;
        border: 1px solid #ccc;
        border-radius: 4px;
        font-size: 14px;
    }

    .ValuationDiscountCalculatorView .arrow {
        display: inline-block;
        width: 0;
        height: 0;
        border-style: solid;
        margin-left: 5px;
    }

        .ValuationDiscountCalculatorView .arrow.right {
            border-width: 5px 0 5px 5px;
            border-color: transparent transparent transparent #000;
        }

        .ValuationDiscountCalculatorView .arrow.down {
            border-width: 5px 5px 0px 5px;
            border-color: #000 transparent transparent transparent;
        }

    /* Toggle Switch */
    .ValuationDiscountCalculatorView .options-toggle {
        display: flex;
        flex-direction: row;
        justify-content: flex-end;
    }

    .ValuationDiscountCalculatorView .toggle-switch {
        position: relative;
        display: inline-block;
        width: 40px;
        height: 20px;
    }

        .ValuationDiscountCalculatorView .toggle-switch input {
            opacity: 0;
            width: 0;
            height: 0;
        }

    .ValuationDiscountCalculatorView .toggle-slider {
        position: absolute;
        cursor: pointer;
        top: 0;
        left: 0;
        right: 0;
        bottom: 0;
        background-color: #ccc;
        transition: 0.4s;
        border-radius: 34px;
    }

        .ValuationDiscountCalculatorView .toggle-slider:before {
            position: absolute;
            content: "";
            height: 16px;
            width: 16px;
            left: 4px;
            bottom: 2px;
            background-color: white;
            transition: 0.4s;
            border-radius: 50%;
        }

    .ValuationDiscountCalculatorView input:checked + .toggle-slider {
        background-color: #007BFF;
    }

    .ValuationDiscountCalculatorView input:focus + .toggle-slider {
        box-shadow: 0 0 1px #007BFF;
    }

    .ValuationDiscountCalculatorView input:checked + .toggle-slider:before {
        transform: translateX(16px);
    }

    /* Multi-Option Switch with Timeline */
    .ValuationDiscountCalculatorView .multi-option-switch {
        display: flex;
        position: relative;
        justify-content: space-between;
        padding: 5px 7px;
        background-color: #f0f0f0;
        border-radius: 6px;
        margin-left: 4px;
        margin-right: 4px;
    }

        .ValuationDiscountCalculatorView .multi-option-switch input[type="radio"] {
            display: none;
        }

        .ValuationDiscountCalculatorView .multi-option-switch label {
            display: flex;
            flex: 1;
            justify-content: center;
            white-space: nowrap;
            cursor: pointer;
            text-align: center;
            color: #999;
            transition: background-color 0.4s, transform 0.4s;
            position: relative;
            z-index: 1;
            font-weight: 600;
            border-radius: 6px;
            padding: 2px 8px;
            transform: scale(0.9);
        }

        .ValuationDiscountCalculatorView .multi-option-switch input[type="radio"]:checked + label {
            color: #fff;
            transform: scale(1);
            font-weight: 600;
            background: linear-gradient(99.02deg, rgb(0, 113, 188) 95.38%, rgb(0, 113, 188) 95.38%);
            padding: 2px 8px;
        }

        .ValuationDiscountCalculatorView .multi-option-switch input[type="radio"]:first-child:checked + label {
            background: linear-gradient(99.02deg, rgb(41, 171, 226) -19.8%, rgb(0, 113, 188) 95.38%);
        }

        .ValuationDiscountCalculatorView .multi-option-switch input[type="radio"]:last-child:checked + label {
            background: linear-gradient(99.02deg, #0071BC -19.8%, #29ABE2 95.38%);
        }

    .ValuationDiscountCalculatorView .tabs-container {
        margin-top: 7px;
        margin-bottom: 7px;
        margin-right: 5px;
        display: flex;
        flex-direction: column;
        flex-grow: 100;
    }

    .ValuationDiscountCalculatorView .nav-item button {
        padding-top: 6px;
        padding-bottom: 6px;
        font-size: 12pt;
    }

    .ValuationDiscountCalculatorView .nav.nav-tabs {
        border-bottom: none;
    }

    .ValuationDiscountCalculatorView .nav-tabs .nav-link {
        color: #087DC4;
        font-weight: 600;
        background: linear-gradient(99.02deg, #E8F3F9 95.38%, #E8F3F9 95.38%);
        margin: 0px;
        border-radius: 0px;
    }

    .ValuationDiscountCalculatorView .nav-tabs .nav-item:first-child .nav-link {
        border-top-left-radius: 10px;
        border-bottom-left-radius: 10px;
    }

    .ValuationDiscountCalculatorView .nav-tabs .nav-item:last-child .nav-link {
        border-top-right-radius: 10px;
        border-bottom-right-radius: 10px;
    }

    .ValuationDiscountCalculatorView .nav-tabs .nav-link.active {
        background: linear-gradient(99.02deg, #0071BC 95.38%, #0071BC 95.38%);
        color: #FFFFFF;
    }

    .ValuationDiscountCalculatorView .nav-tabs .nav-item:first-child .nav-link.active {
        background: linear-gradient(99.02deg, #29ABE2 -19.8%, #0071BC 95.38%);
        color: #FFFFFF;
    }

    .ValuationDiscountCalculatorView .nav-tabs .nav-item:last-child .nav-link.active {
        background: linear-gradient(99.02deg, #0071BC -19.8%, #29ABE2 95.38%);
        color: #FFFFFF;
    }

    .ValuationDiscountCalculatorView .tab-content {
        border-top: none;
        padding: 6px 0px 0px 0px;
        background-color: #fff;
        display: flex;
        flex-grow: 100;
        justify-content: center;
        align-items: center;
        flex-direction: column;
    }

    .ValuationDiscountCalculatorView .tab-pane {
        height: 100%;
        width: 100%;
    }

    .ValuationDiscountCalculatorView .tab-content > .active {
        display: flex;
        flex-direction: column;
    }

    /* Scroll to Top Button */
    .ValuationDiscountCalculatorView .scroll-to-top-btn {
        display: none;
        position: fixed;
        bottom: 20px;
        right: 40px;
        z-index: 99;
        font-size: 14px;
        width: 40px;
        height: 40px;
        color: white;
        background-color: #007BFF;
        border: none;
        cursor: pointer;
        border-radius: 50%;
        transition: background-color 0.3s;
        text-align: center;
        padding: 0px;
        margin: 2px;
    }

        .ValuationDiscountCalculatorView.scroll-to-top-btn:hover {
            background-color: #0056B3;
        }

    .ValuationDiscountCalculatorView .progress-circle {
        position: absolute;
        top: 0;
        left: 0;
    }

    .ValuationDiscountCalculatorView .progress-bg {
        stroke: #ccc;
    }

    .ValuationDiscountCalculatorView .progress-bar {
        stroke: white;
        stroke-linecap: round;
        transform-origin: center;
        transform: rotate(-90deg);
    }

    /* More Details Below indicator */
    .ValuationDiscountCalculatorView .scroll-indicator {
        display: none;
        position: sticky;
        width: 200px;
        bottom: 20px;
        left: 50%;
        transform: translateX(-50%);
        background-color: rgba(0, 0, 0, 0.4);
        border-radius: 4px;
        padding: 6px 12px;
        text-align: center;
        color: rgb(255, 255, 255, 1);
        font-weight: bold;
        animation: pulsate 2s infinite;
        cursor: pointer;
    }

@keyframes pulsate {
    0% {
        transform: translateX(-50%) scale(1);
        opacity: 1;
    }

    50% {
        transform: translateX(-50%) scale(1.1);
        opacity: 0.5;
    }

    100% {
        transform: translateX(-50%) scale(1);
        opacity: 1;
    }
}

.ValuationDiscountCalculatorView .zoom-control-toolbar {
    position: sticky;
    bottom: 0px;
    left: 0px;
    right: 0px;
    background: #F5F5F5;
    width: 100%;
    display: flex;
    justify-content: flex-end;
    align-items: center;
    padding-top: 5px;
    padding-bottom: 5px;
    padding-right: 10px;
    border-bottom-left-radius: 20px;
    border-bottom-right-radius: 20px;
}

    .ValuationDiscountCalculatorView .zoom-control-toolbar .btn {
        font-size: 14px;
        border-radius: 6px;
        padding: 3px 5px;
        margin-right: 5px;
        background: #4AAEE1;
        color: white;
        font-weight: 500;
    }

    .ValuationDiscountCalculatorView .zoom-control-toolbar .slider {
        margin-left: 5px;
        margin-right: 10px;
    }

    .ValuationDiscountCalculatorView .zoom-control-toolbar .percent-label {
        margin-bottom: 0px;
        margin-right: 10px;
        font-size: 14px;
    }

    .ValuationDiscountCalculatorView .zoom-control-toolbar input {
        accent-color: #4AAEE1;
    }

@keyframes slideDown {
    0% {
        transform: translateY(-100%);
    }

    100% {
        transform: translateY(0%);
    }
}

.ValuationDiscountCalculator-letter-wrapper {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-color: rgba(0, 0, 0, 0.5);
    display: flex;
    justify-content: center;
    align-items: center;
    z-index: 1001;
}

    .ValuationDiscountCalculator-letter-wrapper .ValuationDiscountCalculator-letter-popout {
        background-color: white;
        padding: 2rem;
        border-radius: 4px;
        width: 90%;
        max-width: 600px;
        max-height: 90%;
        overflow-y: auto;
    }

    .ValuationDiscountCalculator-letter-wrapper .ValuationDiscountCalculator-letter-button {
        min-width: 100px;
        margin: 0 10px;
    }

    .ValuationDiscountCalculator-letter-wrapper .button-wrapper {
        display: flex;
        justify-content: center;
        margin-top: 15px;
    }

    .ValuationDiscountCalculator-letter-wrapper .form-group {
        margin-bottom: 1rem;
    }

    .ValuationDiscountCalculator-letter-wrapper .form-check {
        margin-bottom: 0.5rem;
    }

/* ValuationDiscountBusinessCalculator Calculator */

/* ValuationDiscountBusinessCalculatorView styles */
.ValuationDiscountBusinessCalculator-main {
    display: flex;
    flex-direction: column;
}

.ValuationDiscountBusinessCalculatorView {
    display: flex;
    flex-direction: row;
    font-size: 16px;
    line-height: 1.5;
    height: calc(100vh - 5rem);
}

    .ValuationDiscountBusinessCalculatorView .h-resizer {
        height: 8px;
        font-size: 16px;
        border-bottom: none;
        border-top: none;
    }

    .ValuationDiscountBusinessCalculatorView .resizer {
        width: 8px;
        min-width: 8px;
        max-width: 8px;
        writing-mode: vertical-lr;
        font-size: 16px;
        border-left: 1px solid #a9a9a9;
        border-right: none;
        background: none;
    }

    .ValuationDiscountBusinessCalculatorView .ValuationDiscountBusinessCalculator-side-panel {
        flex: 1;
        display: flex;
        flex-direction: column;
        overflow: auto;
        width: 340px;
        padding: 3px 5px;
        margin: 10px;
        border: 1px solid #F0F0F0;
        box-shadow: 0px 2px 16px #F4FAFD;
        border-radius: 20px;
    }

        .ValuationDiscountBusinessCalculatorView .ValuationDiscountBusinessCalculator-side-panel tbody tr td:first-child {
            max-width: 12em;
        }

        .ValuationDiscountBusinessCalculatorView .ValuationDiscountBusinessCalculator-side-panel.fullscreen {
            width: 100vw !important;
            padding: 1vh 20vw;
            margin-right: 5%;
            margin-left: 5%;
        }

    .ValuationDiscountBusinessCalculatorView .ValuationDiscountBusinessCalculator-results-wrapper {
        display: flex;
        flex-direction: column;
        width: 100%;
        overflow: auto;
        margin-left: 5px;
        margin-right: 5px;
        border: 1px solid #F4F4F4;
        border-radius: 20px;
    }

    .ValuationDiscountBusinessCalculatorView .ValuationDiscountBusinessCalculator-results {
        display: flex;
        flex-direction: column;
        overflow: auto;
        margin-left: 6px;
        height: 100%;
    }

    .ValuationDiscountBusinessCalculatorView .ValuationDiscountBusinessCalculatorDetailsView {
        padding-left: 0px;
        padding-right: 0px;
        position: absolute;
        width: unset;
    }

    .ValuationDiscountBusinessCalculatorView .ValuationDiscountBusinessCalculator-details-tables ul li:not(:last-child) {
        margin-bottom: 0.75rem;
    }

    .ValuationDiscountBusinessCalculatorView .ValuationDiscountBusinessCalculatorDetailsView table thead tr th {
        border-top: 0px;
        text-align: center;
        background-color: #E8F3F9;
    }

    .ValuationDiscountBusinessCalculatorView .ValuationDiscountBusinessCalculatorDetailsView table thead tr:first-child th:first-child {
        border-top-left-radius: 20px;
    }

    .ValuationDiscountBusinessCalculatorView .ValuationDiscountBusinessCalculatorDetailsView table thead tr:first-child th:last-child {
        border-top-right-radius: 20px;
    }

    .ValuationDiscountBusinessCalculatorView .ValuationDiscountBusinessCalculatorDetailsView table tbody tr td {
        border-top: 0px;
        text-align: center;
        padding: 0px 6px;
        white-space: nowrap;
    }

    .ValuationDiscountBusinessCalculatorView .ValuationDiscountBusinessCalculator-details-tables {
        display: flex;
        flex-direction: column;
        flex: 1;
        z-index: 2;
        background-color: white;
    }

    .ValuationDiscountBusinessCalculatorView .ValuationDiscountBusinessCalculator-details-header {
        cursor: pointer;
        background-color: #007BFF;
        color: white;
        padding: 8px 12px;
        font-weight: bold;
        font-size: 16px;
        border-radius: 4px;
    }

        .ValuationDiscountBusinessCalculatorView .ValuationDiscountBusinessCalculator-details-header:hover {
            background-color: #0056B3;
            text-decoration: none;
            color: black;
        }

    .ValuationDiscountBusinessCalculatorView .details-tab-content {
        display: flex;
        position: relative;
        overflow: auto;
        flex-direction: column;
        scrollbar-width: thin;
        scrollbar-color: #29ABE2 #B7E5FC;
        scrollbar-arrow-color: #B7E5FC;
        flex-grow: 1;
    }

    .ValuationDiscountBusinessCalculatorView .ValuationDiscountBusinessCalculator-summaries-table-parent {
        display: flex;
        position: relative;
        overflow: auto;
        scrollbar-width: thin;
        scrollbar-color: #29ABE2 #B7E5FC;
        scrollbar-arrow-color: #B7E5FC;
    }

    .ValuationDiscountBusinessCalculatorView .ValuationDiscountBusinessCalculator-summaries-tables {
        display: flex;
        flex-direction: column;
    }

        .ValuationDiscountBusinessCalculatorView .ValuationDiscountBusinessCalculator-summaries-tables table thead tr th {
            text-align: center;
            background-color: #E8F3F9;
        }

        .ValuationDiscountBusinessCalculatorView .ValuationDiscountBusinessCalculator-summaries-tables table thead tr:first-child th:first-child {
            border-top-left-radius: 20px;
        }

        .ValuationDiscountBusinessCalculatorView .ValuationDiscountBusinessCalculator-summaries-tables table thead tr:first-child th:last-child {
            border-top-right-radius: 20px;
        }

        .ValuationDiscountBusinessCalculatorView .ValuationDiscountBusinessCalculator-summaries-tables table tbody tr td {
            text-align: center;
            padding: 0px 6px;
            white-space: nowrap;
        }

    .ValuationDiscountBusinessCalculatorView .summary-options {
        justify-content: space-between;
        margin-bottom: 2px;
    }

    .ValuationDiscountBusinessCalculatorView .ValuationDiscountBusinessCalculator-options-header {
        cursor: pointer;
        background-color: #F4F4F4;
        color: #000000;
        font-weight: bold;
        font-size: 16px;
        border-radius: 10px;
        position: sticky;
        top: 0;
        z-index: 1;
    }

    .ValuationDiscountBusinessCalculatorView .customized-input-number .input {
        text-align: center;
    }

    .ValuationDiscountBusinessCalculatorView .customized-input-number .spinner.decrement {
        padding: 0px 0px 0px 0px;
        margin: 0px 2px 0px 2px;
        height: auto;
        background-color: #4AAEE1;
        border: none;
    }

    .ValuationDiscountBusinessCalculatorView .customized-input-number .spinner.increment {
        padding: 0px 0px 0px 0px;
        margin: 0px 2px 0px 2px;
        height: auto;
        background-color: #4AAEE1;
        border: none;
    }

    .ValuationDiscountBusinessCalculatorView .option-input-group {
        border-bottom: 2px solid #F4F4F4;
        padding-bottom: 3px;
        margin-top: 3px;
        border-radius: 10px;
        border-bottom-left-radius: 0px;
        border-bottom-right-radius: 0px;
        padding-left: 5px;
        padding-right: 5px;
    }

        .ValuationDiscountBusinessCalculatorView .option-input-group div:not(.option-input-title) {
            padding: 3px;
        }

        .ValuationDiscountBusinessCalculatorView .option-input-group div {
            border-radius: 10px;
        }

        .ValuationDiscountBusinessCalculatorView .option-input-group > div:first-child {
            border-radius: 10px 10px 0px 0px;
        }

        .ValuationDiscountBusinessCalculatorView .option-input-group > div:nth-child(2) {
            border-radius: 0px 0px 10px 10px;
        }

    .ValuationDiscountBusinessCalculatorView .option-input-title {
        font-weight: 500;
        padding-bottom: 3px;
        padding-left: 2px;
    }

    .ValuationDiscountBusinessCalculatorView .no-hover {
        position: relative;
        top: -10px;
        border: 1px solid #F4F4F4;
        border-top: none;
        padding: 10px 0px;
        border-radius: 0px 0px 10px 10px;
    }

    .ValuationDiscountBusinessCalculatorView .collapse {
        display: none;
    }

    /* Button styles */
    .ValuationDiscountBusinessCalculatorView button {
        background-color: #4AAEE1;
        border: none;
        color: white;
        text-align: center;
        text-decoration: none;
        display: inline-block;
        font-size: 14px;
        margin: 4px 2px;
        cursor: pointer;
        padding: 10px 24px;
        border-radius: 4px;
        transition: background-color 0.3s;
    }

        .ValuationDiscountBusinessCalculatorView button:hover {
            background-color: #0056B3;
            text-decoration: none;
            color: white;
        }

    .ValuationDiscountBusinessCalculatorView .customized-input-number button {
        width: 24px;
        height: 100%;
        margin: 2px
    }

    .ValuationDiscountBusinessCalculatorView .advanced-option .customized-input-number button {
        background-color: purple !important;
    }

    .ValuationDiscountBusinessCalculatorView td button {
        padding: 0px;
        width: 25px;
        height: 100%;
    }

    /* Table styles */
    .ValuationDiscountBusinessCalculatorView table {
        width: 100%;
        border-collapse: collapse;
        font-size: 14px;
    }

    .ValuationDiscountBusinessCalculatorView th, .ValuationDiscountBusinessCalculatorView td {
        text-align: left;
        border-bottom: 1px solid #ddd;
        padding: 4px;
    }

    .ValuationDiscountBusinessCalculatorView th {
        background-color: #f2f2f2;
        font-weight: bold;
    }

    .ValuationDiscountBusinessCalculatorView tr:not(.no-hover):hover {
        background-color: #f5f5f5;
    }

    /* Input styles */
    .ValuationDiscountBusinessCalculatorView input[type="date"],
    .ValuationDiscountBusinessCalculatorView input[type="text"],
    .ValuationDiscountBusinessCalculatorView select,
    .ValuationDiscountBusinessCalculatorView .form-control,
    .ValuationDiscountBusinessCalculatorView .customized-input-number input {
        width: 100%;
        padding: 0px 6px;
        border: 1px solid #ccc;
        border-radius: 4px;
        font-size: 14px;
    }

    .ValuationDiscountBusinessCalculatorView .arrow {
        display: inline-block;
        width: 0;
        height: 0;
        border-style: solid;
        margin-left: 5px;
    }

        .ValuationDiscountBusinessCalculatorView .arrow.right {
            border-width: 5px 0 5px 5px;
            border-color: transparent transparent transparent #000;
        }

        .ValuationDiscountBusinessCalculatorView .arrow.down {
            border-width: 5px 5px 0px 5px;
            border-color: #000 transparent transparent transparent;
        }

    /* Toggle Switch */
    .ValuationDiscountBusinessCalculatorView .options-toggle {
        display: flex;
        flex-direction: row;
        justify-content: flex-end;
    }

    .ValuationDiscountBusinessCalculatorView .toggle-switch {
        position: relative;
        display: inline-block;
        width: 40px;
        height: 20px;
    }

        .ValuationDiscountBusinessCalculatorView .toggle-switch input {
            opacity: 0;
            width: 0;
            height: 0;
        }

    .ValuationDiscountBusinessCalculatorView .toggle-slider {
        position: absolute;
        cursor: pointer;
        top: 0;
        left: 0;
        right: 0;
        bottom: 0;
        background-color: #ccc;
        transition: 0.4s;
        border-radius: 34px;
    }

        .ValuationDiscountBusinessCalculatorView .toggle-slider:before {
            position: absolute;
            content: "";
            height: 16px;
            width: 16px;
            left: 4px;
            bottom: 2px;
            background-color: white;
            transition: 0.4s;
            border-radius: 50%;
        }

    .ValuationDiscountBusinessCalculatorView input:checked + .toggle-slider {
        background-color: #007BFF;
    }

    .ValuationDiscountBusinessCalculatorView input:focus + .toggle-slider {
        box-shadow: 0 0 1px #007BFF;
    }

    .ValuationDiscountBusinessCalculatorView input:checked + .toggle-slider:before {
        transform: translateX(16px);
    }

    /* Multi-Option Switch with Timeline */
    .ValuationDiscountBusinessCalculatorView .multi-option-switch {
        display: flex;
        position: relative;
        justify-content: space-between;
        padding: 5px 7px;
        background-color: #f0f0f0;
        border-radius: 6px;
        margin-left: 4px;
        margin-right: 4px;
    }

        .ValuationDiscountBusinessCalculatorView .multi-option-switch input[type="radio"] {
            display: none;
        }

        .ValuationDiscountBusinessCalculatorView .multi-option-switch label {
            display: flex;
            flex: 1;
            justify-content: center;
            white-space: nowrap;
            cursor: pointer;
            text-align: center;
            color: #999;
            transition: background-color 0.4s, transform 0.4s;
            position: relative;
            z-index: 1;
            font-weight: 600;
            border-radius: 6px;
            padding: 2px 8px;
            transform: scale(0.9);
        }

        .ValuationDiscountBusinessCalculatorView .multi-option-switch input[type="radio"]:checked + label {
            color: #fff;
            transform: scale(1);
            font-weight: 600;
            background: linear-gradient(99.02deg, rgb(0, 113, 188) 95.38%, rgb(0, 113, 188) 95.38%);
            padding: 2px 8px;
        }

        .ValuationDiscountBusinessCalculatorView .multi-option-switch input[type="radio"]:first-child:checked + label {
            background: linear-gradient(99.02deg, rgb(41, 171, 226) -19.8%, rgb(0, 113, 188) 95.38%);
        }

        .ValuationDiscountBusinessCalculatorView .multi-option-switch input[type="radio"]:last-child:checked + label {
            background: linear-gradient(99.02deg, #0071BC -19.8%, #29ABE2 95.38%);
        }

    .ValuationDiscountBusinessCalculatorView .tabs-container {
        margin-top: 7px;
        margin-bottom: 7px;
        margin-right: 5px;
        display: flex;
        flex-direction: column;
        flex-grow: 100;
    }

    .ValuationDiscountBusinessCalculatorView .nav-item button {
        padding-top: 6px;
        padding-bottom: 6px;
        font-size: 12pt;
    }

    .ValuationDiscountBusinessCalculatorView .nav.nav-tabs {
        border-bottom: none;
    }

    .ValuationDiscountBusinessCalculatorView .nav-tabs .nav-link {
        color: #087DC4;
        font-weight: 600;
        background: linear-gradient(99.02deg, #E8F3F9 95.38%, #E8F3F9 95.38%);
        margin: 0px;
        border-radius: 0px;
    }

    .ValuationDiscountBusinessCalculatorView .nav-tabs .nav-item:first-child .nav-link {
        border-top-left-radius: 10px;
        border-bottom-left-radius: 10px;
    }

    .ValuationDiscountBusinessCalculatorView .nav-tabs .nav-item:last-child .nav-link {
        border-top-right-radius: 10px;
        border-bottom-right-radius: 10px;
    }

    .ValuationDiscountBusinessCalculatorView .nav-tabs .nav-link.active {
        background: linear-gradient(99.02deg, #0071BC 95.38%, #0071BC 95.38%);
        color: #FFFFFF;
    }

    .ValuationDiscountBusinessCalculatorView .nav-tabs .nav-item:first-child .nav-link.active {
        background: linear-gradient(99.02deg, #29ABE2 -19.8%, #0071BC 95.38%);
        color: #FFFFFF;
    }

    .ValuationDiscountBusinessCalculatorView .nav-tabs .nav-item:last-child .nav-link.active {
        background: linear-gradient(99.02deg, #0071BC -19.8%, #29ABE2 95.38%);
        color: #FFFFFF;
    }

    .ValuationDiscountBusinessCalculatorView .tab-content {
        border-top: none;
        padding: 6px 0px 0px 0px;
        background-color: #fff;
        display: flex;
        flex-grow: 100;
        justify-content: center;
        align-items: center;
        flex-direction: column;
    }

    .ValuationDiscountBusinessCalculatorView .tab-pane {
        height: 100%;
        width: 100%;
    }

    .ValuationDiscountBusinessCalculatorView .tab-content > .active {
        display: flex;
        flex-direction: column;
    }

    /* Scroll to Top Button */
    .ValuationDiscountBusinessCalculatorView .scroll-to-top-btn {
        display: none;
        position: fixed;
        bottom: 20px;
        right: 40px;
        z-index: 99;
        font-size: 14px;
        width: 40px;
        height: 40px;
        color: white;
        background-color: #007BFF;
        border: none;
        cursor: pointer;
        border-radius: 50%;
        transition: background-color 0.3s;
        text-align: center;
        padding: 0px;
        margin: 2px;
    }

        .ValuationDiscountBusinessCalculatorView.scroll-to-top-btn:hover {
            background-color: #0056B3;
        }

    .ValuationDiscountBusinessCalculatorView .progress-circle {
        position: absolute;
        top: 0;
        left: 0;
    }

    .ValuationDiscountBusinessCalculatorView .progress-bg {
        stroke: #ccc;
    }

    .ValuationDiscountBusinessCalculatorView .progress-bar {
        stroke: white;
        stroke-linecap: round;
        transform-origin: center;
        transform: rotate(-90deg);
    }

    /* More Details Below indicator */
    .ValuationDiscountBusinessCalculatorView .scroll-indicator {
        display: none;
        position: sticky;
        width: 200px;
        bottom: 20px;
        left: 50%;
        transform: translateX(-50%);
        background-color: rgba(0, 0, 0, 0.4);
        border-radius: 4px;
        padding: 6px 12px;
        text-align: center;
        color: rgb(255, 255, 255, 1);
        font-weight: bold;
        animation: pulsate 2s infinite;
        cursor: pointer;
    }

@keyframes pulsate {
    0% {
        transform: translateX(-50%) scale(1);
        opacity: 1;
    }

    50% {
        transform: translateX(-50%) scale(1.1);
        opacity: 0.5;
    }

    100% {
        transform: translateX(-50%) scale(1);
        opacity: 1;
    }
}

.ValuationDiscountBusinessCalculatorView .zoom-control-toolbar {
    position: sticky;
    bottom: 0px;
    left: 0px;
    right: 0px;
    background: #F5F5F5;
    width: 100%;
    display: flex;
    justify-content: flex-end;
    align-items: center;
    padding-top: 5px;
    padding-bottom: 5px;
    padding-right: 10px;
    border-bottom-left-radius: 20px;
    border-bottom-right-radius: 20px;
}

    .ValuationDiscountBusinessCalculatorView .zoom-control-toolbar .btn {
        font-size: 14px;
        border-radius: 6px;
        padding: 3px 5px;
        margin-right: 5px;
        background: #4AAEE1;
        color: white;
        font-weight: 500;
    }

    .ValuationDiscountBusinessCalculatorView .zoom-control-toolbar .slider {
        margin-left: 5px;
        margin-right: 10px;
    }

    .ValuationDiscountBusinessCalculatorView .zoom-control-toolbar .percent-label {
        margin-bottom: 0px;
        margin-right: 10px;
        font-size: 14px;
    }

    .ValuationDiscountBusinessCalculatorView .zoom-control-toolbar input {
        accent-color: #4AAEE1;
    }

@keyframes slideDown {
    0% {
        transform: translateY(-100%);
    }

    100% {
        transform: translateY(0%);
    }
}

.ValuationDiscountBusinessCalculator-letter-wrapper {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-color: rgba(0, 0, 0, 0.5);
    display: flex;
    justify-content: center;
    align-items: center;
    z-index: 1001;
}

    .ValuationDiscountBusinessCalculator-letter-wrapper .ValuationDiscountBusinessCalculator-letter-popout {
        background-color: white;
        padding: 2rem;
        border-radius: 4px;
        width: 90%;
        max-width: 600px;
        max-height: 90%;
        overflow-y: auto;
    }

    .ValuationDiscountBusinessCalculator-letter-wrapper .ValuationDiscountBusinessCalculator-letter-button {
        min-width: 100px;
        margin: 0 10px;
    }

    .ValuationDiscountBusinessCalculator-letter-wrapper .button-wrapper {
        display: flex;
        justify-content: center;
        margin-top: 15px;
    }

    .ValuationDiscountBusinessCalculator-letter-wrapper .form-group {
        margin-bottom: 1rem;
    }

    .ValuationDiscountBusinessCalculator-letter-wrapper .form-check {
        margin-bottom: 0.5rem;
    }

/* LeveragedGRAT Calculator */

/* LeveragedGRATView styles */
.LeveragedGRAT-main {
    display: flex;
    flex-direction: column;
}

.LeveragedGRATView {
    display: flex;
    flex-direction: row;
    font-size: 16px;
    line-height: 1.5;
    height: calc(100vh - 10rem);
}

    .LeveragedGRATView .LeveragedGRAT-side-panel {
        flex: 1;
        display: flex;
        flex-direction: column;
        border-right: 1px solid #ccc;
        overflow: auto;
        width: 340px;
        padding: 0px 3px;
    }

        .LeveragedGRATView .LeveragedGRAT-side-panel tbody tr td:first-child {
            max-width: 12em;
        }

        .LeveragedGRATView .LeveragedGRAT-side-panel .alert {
            bottom: 0;
            position: sticky;
        }

    .LeveragedGRATView .LeveragedGRAT-results-wrapper {
        display: flex;
        flex-direction: column;
        width: 100%;
        overflow: auto;
    }

    .LeveragedGRATView .LeveragedGRAT-results {
        display: flex;
        flex-direction: column;
        overflow: auto;
        margin-left: 6px;
        height: 100%;
    }

    .LeveragedGRATView .LeveragedGRATDetailsView {
        display: flex;
        flex-direction: column;
        padding-left: 0px;
        padding-right: 0px;
        position: absolute;
        width: unset;
    }

        .LeveragedGRATView .LeveragedGRATDetailsView table thead tr th {
            border: 1px solid rgb(221, 221, 221);
            border-top: 0px;
            text-align: center;
        }

        .LeveragedGRATView .LeveragedGRATDetailsView table tbody tr td {
            border: 1px solid rgb(221, 221, 221);
            border-top: 0px;
            text-align: center;
            padding: 0px 6px;
            white-space: nowrap;
        }

    .LeveragedGRATView .LeveragedGRAT-details-tables {
        display: flex;
        flex-direction: column;
        flex: 1;
        z-index: 2;
        background-color: white;
    }

    .LeveragedGRATView .LeveragedGRAT-details-header {
        cursor: pointer;
        background-color: #007BFF;
        color: white;
        padding: 8px 12px;
        font-weight: bold;
        font-size: 16px;
        border-radius: 4px;
    }

        .LeveragedGRATView .LeveragedGRAT-details-header:hover {
            background-color: #0056B3;
            text-decoration: none;
            color: black;
        }

    .LeveragedGRATView .LeveragedGRAT-summaries-tables {
        display: flex;
        flex-direction: column;
    }

        .LeveragedGRATView .LeveragedGRAT-summaries-tables table {
            width: min-content;
        }

            .LeveragedGRATView .LeveragedGRAT-summaries-tables table thead tr th {
                border: 1px solid rgb(221, 221, 221);
                border-top: 0px;
                text-align: center;
            }

            .LeveragedGRATView .LeveragedGRAT-summaries-tables table tbody tr td {
                border: 1px solid rgb(221, 221, 221);
                border-top: 0px;
                text-align: center;
                padding: 0px 6px;
                white-space: nowrap;
            }

    .LeveragedGRATView .LeveragedGRAT-summaries-table-parent {
        display: flex;
        flex-grow: 100;
        flex-shrink: 0;
        position: relative;
        overflow: auto;
    }

    .LeveragedGRATView .LeveragedGRAT-summaries-header {
        cursor: pointer;
        background-color: #007BFF;
        color: white;
        padding: 8px 12px;
        font-weight: bold;
        font-size: 16px;
        border-radius: 4px;
    }

        .LeveragedGRATView .LeveragedGRAT-summaries-header:hover {
            background-color: #0056B3;
            text-decoration: none;
            color: black;
        }

    .LeveragedGRATView .LeveragedGRAT-options-header {
        cursor: pointer;
        background-color: #007BFF;
        color: white;
        padding: 8px 12px;
        font-weight: bold;
        font-size: 16px;
        border-radius: 4px;
    }

        .LeveragedGRATView .LeveragedGRAT-options-header:hover {
            background-color: #0056B3;
            text-decoration: none;
            color: black;
        }

    .LeveragedGRATView .collapse {
        display: none;
    }


    /* Button styles */
    .LeveragedGRATView button {
        background-color: #007BFF;
        border: none;
        color: white;
        text-align: center;
        text-decoration: none;
        display: inline-block;
        font-size: 14px;
        margin: 4px 2px;
        cursor: pointer;
        padding: 10px 24px;
        border-radius: 4px;
        transition: background-color 0.3s;
    }

        .LeveragedGRATView button:hover {
            background-color: #0056B3;
            text-decoration: none;
            color: white;
        }

    .LeveragedGRATView .customized-input-number button {
        width: 24px;
        height: 100%;
        margin: 2px
    }

    .LeveragedGRATView .advanced-option .customized-input-number button {
        background-color: purple !important;
    }

    .LeveragedGRATView td button {
        padding: 0px;
        width: 25px;
        height: 100%;
    }

    /* Table styles */
    .LeveragedGRATView table {
        width: 100%;
        border-collapse: collapse;
        font-size: 14px;
    }

    .LeveragedGRATView th, .LeveragedGRATView td {
        text-align: left;
        border-bottom: 1px solid #ddd;
        padding: 4px;
    }

    .LeveragedGRATView th {
        background-color: #f2f2f2;
        font-weight: bold;
    }

    .LeveragedGRATView tr:not(.no-hover):hover {
        background-color: #f5f5f5;
    }

    /* Input styles */
    .LeveragedGRATView input[type="date"],
    .LeveragedGRATView input[type="text"],
    .LeveragedGRATView select,
    .LeveragedGRATView .form-control,
    .LeveragedGRATView .customized-input-number input {
        width: 100%;
        padding: 0px 6px;
        border: 1px solid #ccc;
        border-radius: 4px;
        font-size: 14px;
    }

    .LeveragedGRATView .arrow {
        display: inline-block;
        width: 0;
        height: 0;
        border-style: solid;
        margin-left: 5px;
    }

        .LeveragedGRATView .arrow.right {
            border-width: 5px 0 5px 5px;
            border-color: transparent transparent transparent #000;
        }

        .LeveragedGRATView .arrow.down {
            border-width: 5px 5px 0px 5px;
            border-color: #000 transparent transparent transparent;
        }

    /* Toggle Switch */
    .LeveragedGRATView .options-toggle {
        display: flex;
        flex-direction: row;
        justify-content: flex-end;
    }

    .LeveragedGRATView .toggle-switch {
        position: relative;
        display: inline-block;
        width: 40px;
        height: 20px;
    }

        .LeveragedGRATView .toggle-switch input {
            opacity: 0;
            width: 0;
            height: 0;
        }

    .LeveragedGRATView .toggle-slider {
        position: absolute;
        cursor: pointer;
        top: 0;
        left: 0;
        right: 0;
        bottom: 0;
        background-color: #ccc;
        transition: 0.4s;
        border-radius: 34px;
    }

        .LeveragedGRATView .toggle-slider:before {
            position: absolute;
            content: "";
            height: 16px;
            width: 16px;
            left: 4px;
            bottom: 2px;
            background-color: white;
            transition: 0.4s;
            border-radius: 50%;
        }

    .LeveragedGRATView input:checked + .toggle-slider {
        background-color: #007BFF;
    }

    .LeveragedGRATView input:focus + .toggle-slider {
        box-shadow: 0 0 1px #007BFF;
    }

    .LeveragedGRATView input:checked + .toggle-slider:before {
        transform: translateX(16px);
    }

    .LeveragedGRATView .tabs-container {
        margin-top: 2px;
        display: flex;
        flex-direction: column;
        flex-grow: 100;
    }

    .LeveragedGRATView .nav-tabs .nav-link {
        border-top-left-radius: 4px;
        border-top-right-radius: 4px;
        border-bottom-color: transparent;
        color: #333;
    }

        .LeveragedGRATView .nav-tabs .nav-link.active {
            background-color: rgba(30, 144, 255, 0.4);
            border-color: #dee2e6 #dee2e6 transparent;
            color: #333;
            font-weight: bold;
        }

    .LeveragedGRATView .tab-content {
        border: 1px solid #dee2e6;
        border-top: none;
        padding: 16px;
        background-color: #fff;
        overflow: auto;
        display: flex;
        flex-grow: 100;
        flex-shrink: 0;
        justify-content: center;
        align-items: center;
        position: relative;
        flex-direction: column;
    }

    .LeveragedGRATView .tab-pane {
        height: 100%;
        width: 100%;
    }

    /* Scroll to Top Button */
    .LeveragedGRATView .scroll-to-top-btn {
        display: none;
        position: fixed;
        bottom: 20px;
        right: 40px;
        z-index: 99;
        font-size: 14px;
        width: 40px;
        height: 40px;
        color: white;
        background-color: #007BFF;
        border: none;
        cursor: pointer;
        border-radius: 50%;
        transition: background-color 0.3s;
        text-align: center;
        padding: 0px;
        margin: 2px;
    }

        .LeveragedGRATView.scroll-to-top-btn:hover {
            background-color: #0056B3;
        }

    .LeveragedGRATView .progress-circle {
        position: absolute;
        top: 0;
        left: 0;
    }

    .LeveragedGRATView .progress-bg {
        stroke: #ccc;
    }

    .LeveragedGRATView .progress-bar {
        stroke: white;
        stroke-linecap: round;
        transform-origin: center;
        transform: rotate(-90deg);
    }

    .LeveragedGRATView .zoom-control-toolbar {
        position: sticky;
        bottom: 0px;
        left: 0px;
        right: 0px;
        background: #D2E6FA;
        width: 100%;
        display: flex;
        justify-content: flex-end;
        align-items: center;
        padding-top: 5px;
        padding-bottom: 5px;
        padding-right: 10px;
    }

        .LeveragedGRATView .zoom-control-toolbar .btn {
            font-size: 14px;
            border: 1px solid #666;
            border-radius: 0px;
            padding: 3px;
            margin-right: 5px;
            background: #DDDDDD;
            color: black;
        }

        .LeveragedGRATView .zoom-control-toolbar .slider {
            margin-left: 5px;
            margin-right: 10px;
        }

        .LeveragedGRATView .zoom-control-toolbar .percent-label {
            margin-bottom: 0px;
            margin-right: 10px;
            font-size: 14px;
        }

.LeveragedGRAT-letter-wrapper {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-color: rgba(0, 0, 0, 0.5);
    display: flex;
    justify-content: center;
    align-items: center;
    z-index: 1000;
}

    .LeveragedGRAT-letter-wrapper .LeveragedGRAT-letter-popout {
        background-color: white;
        padding: 2rem;
        border-radius: 4px;
        width: 90%;
        max-width: 600px;
        max-height: 90%;
        overflow-y: auto;
    }

    .LeveragedGRAT-letter-wrapper .LeveragedGRAT-letter-button {
        min-width: 100px;
        margin: 0 10px;
    }

    .LeveragedGRAT-letter-wrapper .button-wrapper {
        display: flex;
        justify-content: center;
        margin-top: 15px;
    }

    .LeveragedGRAT-letter-wrapper .form-group {
        margin-bottom: 1rem;
    }

    .LeveragedGRAT-letter-wrapper .form-check {
        margin-bottom: 0.5rem;
    }

/* RollingGRAT Calculator */

/* RollingGRATView styles */
.RollingGRAT-main {
    display: flex;
    flex-direction: column;
}

.RollingGRATView {
    display: flex;
    flex-direction: row;
    font-size: 16px;
    line-height: 1.5;
    height: calc(100vh - 5rem);
}

    .RollingGRATView .h-resizer {
        height: 8px;
        font-size: 16px;
        border-bottom: none;
        border-top: none;
    }

    .RollingGRATView .resizer {
        width: 8px;
        min-width: 8px;
        max-width: 8px;
        writing-mode: vertical-lr;
        font-size: 16px;
        border-left: 1px solid #a9a9a9;
        border-right: none;
        background: none;
    }

    .RollingGRATView .RollingGRAT-side-panel {
        flex: 1;
        display: flex;
        flex-direction: column;
        overflow: auto;
        width: 340px;
        padding: 3px 5px;
        margin: 10px;
        border: 1px solid #F0F0F0;
        box-shadow: 0px 2px 16px #F4FAFD;
        border-radius: 20px;
    }

        .RollingGRATView .RollingGRAT-side-panel tbody tr td:first-child {
            max-width: 12em;
        }

        .RollingGRATView .RollingGRAT-side-panel.fullscreen {
            width: 100vw !important;
            padding: 1vh 20vw;
            margin-right: 5%;
            margin-left: 5%;
        }

    .RollingGRATView .RollingGRAT-results-wrapper {
        display: flex;
        flex-direction: column;
        width: 100%;
        overflow: auto;
        margin-left: 5px;
        margin-right: 5px;
        border: 1px solid #F4F4F4;
        border-radius: 20px;
    }

    .RollingGRATView .RollingGRAT-results {
        display: flex;
        flex-direction: column;
        overflow: auto;
        margin-left: 6px;
        height: 100%;
    }

    .RollingGRATView .RollingGRATDetailsView {
        padding-left: 0px;
        padding-right: 0px;
        position: absolute;
        width: unset;
    }

    .RollingGRATView .RollingGRAT-details-tables ul li:not(:last-child) {
        margin-bottom: 0.75rem;
    }

    .RollingGRATView .RollingGRATDetailsView table thead tr th {
        border-top: 0px;
        text-align: center;
        background-color: #E8F3F9;
    }

    .RollingGRATView .RollingGRATDetailsView table thead tr:first-child th:first-child {
        border-top-left-radius: 20px;
    }

    .RollingGRATView .RollingGRATDetailsView table thead tr:first-child th:last-child {
        border-top-right-radius: 20px;
    }

    .RollingGRATView .RollingGRATDetailsView table tbody tr td {
        border-top: 0px;
        text-align: center;
        padding: 0px 6px;
        white-space: nowrap;
    }

    .RollingGRATView .RollingGRAT-details-tables {
        display: flex;
        flex-direction: column;
        flex: 1;
        z-index: 2;
        background-color: white;
    }

    .RollingGRATView .RollingGRAT-details-header {
        cursor: pointer;
        background-color: #007BFF;
        color: white;
        padding: 8px 12px;
        font-weight: bold;
        font-size: 16px;
        border-radius: 4px;
    }

        .RollingGRATView .RollingGRAT-details-header:hover {
            background-color: #0056B3;
            text-decoration: none;
            color: black;
        }

    .RollingGRATView .details-tab-content {
        display: flex;
        position: relative;
        overflow: auto;
        flex-direction: column;
        scrollbar-width: thin;
        scrollbar-color: #29ABE2 #B7E5FC;
        scrollbar-arrow-color: #B7E5FC;
        flex-grow: 1;
    }

    .RollingGRATView .RollingGRAT-summaries-table-parent {
        display: flex;
        position: relative;
        overflow: auto;
        scrollbar-width: thin;
        scrollbar-color: #29ABE2 #B7E5FC;
        scrollbar-arrow-color: #B7E5FC;
    }

    .RollingGRATView .RollingGRAT-summaries-tables {
        display: flex;
        flex-direction: column;
    }

        .RollingGRATView .RollingGRAT-summaries-tables table thead tr th {
            text-align: center;
            background-color: #E8F3F9;
        }

        .RollingGRATView .RollingGRAT-summaries-tables table thead tr:first-child th:first-child {
            border-top-left-radius: 20px;
        }

        .RollingGRATView .RollingGRAT-summaries-tables table thead tr:first-child th:last-child {
            border-top-right-radius: 20px;
        }

        .RollingGRATView .RollingGRAT-summaries-tables table tbody tr td {
            text-align: center;
            padding: 0px 6px;
            white-space: nowrap;
        }

    .RollingGRATView .summary-options {
        justify-content: space-between;
        margin-bottom: 2px;
    }

    .RollingGRATView .RollingGRAT-options-header {
        cursor: pointer;
        background-color: #F4F4F4;
        color: #000000;
        font-weight: bold;
        font-size: 16px;
        border-radius: 10px;
        position: sticky;
        top: 0;
        z-index: 1;
    }

    .RollingGRATView .customized-input-number .input {
        text-align: center;
    }

    .RollingGRATView .customized-input-number .spinner.decrement {
        padding: 0px 0px 0px 0px;
        margin: 0px 2px 0px 2px;
        height: auto;
        background-color: #4AAEE1;
        border: none;
    }

    .RollingGRATView .customized-input-number .spinner.increment {
        padding: 0px 0px 0px 0px;
        margin: 0px 2px 0px 2px;
        height: auto;
        background-color: #4AAEE1;
        border: none;
    }

    .RollingGRATView .option-input-group {
        border-bottom: 2px solid #F4F4F4;
        padding-bottom: 3px;
        margin-top: 3px;
        border-radius: 10px;
        border-bottom-left-radius: 0px;
        border-bottom-right-radius: 0px;
        padding-left: 5px;
        padding-right: 5px;
    }

        .RollingGRATView .option-input-group div:not(.option-input-title) {
            padding: 3px;
        }

        .RollingGRATView .option-input-group div {
            border-radius: 10px;
        }

        .RollingGRATView .option-input-group > div:first-child {
            border-radius: 10px 10px 0px 0px;
        }

        .RollingGRATView .option-input-group > div:nth-child(2) {
            border-radius: 0px 0px 10px 10px;
        }

    .RollingGRATView .option-input-title {
        font-weight: 500;
        padding-bottom: 3px;
        padding-left: 2px;
    }

    .RollingGRATView .no-hover {
        position: relative;
        top: -10px;
        border: 1px solid #F4F4F4;
        border-top: none;
        padding: 10px 0px;
        border-radius: 0px 0px 10px 10px;
    }

    .RollingGRATView .collapse {
        display: none;
    }

    /* Button styles */
    .RollingGRATView button {
        background-color: #4AAEE1;
        border: none;
        color: white;
        text-align: center;
        text-decoration: none;
        display: inline-block;
        font-size: 14px;
        margin: 4px 2px;
        cursor: pointer;
        padding: 10px 24px;
        border-radius: 4px;
        transition: background-color 0.3s;
    }

        .RollingGRATView button:hover {
            background-color: #0056B3;
            text-decoration: none;
            color: white;
        }

    .RollingGRATView .customized-input-number button {
        width: 24px;
        height: 100%;
        margin: 2px
    }

    .RollingGRATView .advanced-option .customized-input-number button {
        background-color: purple !important;
    }

    .RollingGRATView td button {
        padding: 0px;
        width: 25px;
        height: 100%;
    }

    /* Table styles */
    .RollingGRATView table {
        width: 100%;
        border-collapse: collapse;
        font-size: 14px;
    }

    .RollingGRATView th, .RollingGRATView td {
        text-align: left;
        border-bottom: 1px solid #ddd;
        padding: 4px;
    }

    .RollingGRATView th {
        background-color: #f2f2f2;
        font-weight: bold;
    }

    .RollingGRATView tr:not(.no-hover):hover {
        background-color: #f5f5f5;
    }

    /* Input styles */
    .RollingGRATView input[type="date"],
    .RollingGRATView input[type="text"],
    .RollingGRATView select,
    .RollingGRATView .form-control,
    .RollingGRATView .customized-input-number input {
        width: 100%;
        padding: 0px 6px;
        border: 1px solid #ccc;
        border-radius: 4px;
        font-size: 14px;
    }

    .RollingGRATView .arrow {
        display: inline-block;
        width: 0;
        height: 0;
        border-style: solid;
        margin-left: 5px;
    }

        .RollingGRATView .arrow.right {
            border-width: 5px 0 5px 5px;
            border-color: transparent transparent transparent #000;
        }

        .RollingGRATView .arrow.down {
            border-width: 5px 5px 0px 5px;
            border-color: #000 transparent transparent transparent;
        }

    /* Toggle Switch */
    .RollingGRATView .options-toggle {
        display: flex;
        flex-direction: row;
        justify-content: flex-end;
    }

    .RollingGRATView .toggle-switch {
        position: relative;
        display: inline-block;
        width: 40px;
        height: 20px;
    }

        .RollingGRATView .toggle-switch input {
            opacity: 0;
            width: 0;
            height: 0;
        }

    .RollingGRATView .toggle-slider {
        position: absolute;
        cursor: pointer;
        top: 0;
        left: 0;
        right: 0;
        bottom: 0;
        background-color: #ccc;
        transition: 0.4s;
        border-radius: 34px;
    }

        .RollingGRATView .toggle-slider:before {
            position: absolute;
            content: "";
            height: 16px;
            width: 16px;
            left: 4px;
            bottom: 2px;
            background-color: white;
            transition: 0.4s;
            border-radius: 50%;
        }

    .RollingGRATView input:checked + .toggle-slider {
        background-color: #007BFF;
    }

    .RollingGRATView input:focus + .toggle-slider {
        box-shadow: 0 0 1px #007BFF;
    }

    .RollingGRATView input:checked + .toggle-slider:before {
        transform: translateX(16px);
    }

    /* Multi-Option Switch with Timeline */
    .RollingGRATView .multi-option-switch {
        display: flex;
        position: relative;
        justify-content: space-between;
        padding: 5px 7px;
        background-color: #f0f0f0;
        border-radius: 6px;
        margin-left: 4px;
        margin-right: 4px;
    }

        .RollingGRATView .multi-option-switch input[type="radio"] {
            display: none;
        }

        .RollingGRATView .multi-option-switch label {
            display: flex;
            flex: 1;
            justify-content: center;
            white-space: nowrap;
            cursor: pointer;
            text-align: center;
            color: #999;
            transition: background-color 0.4s, transform 0.4s;
            position: relative;
            z-index: 1;
            font-weight: 600;
            border-radius: 6px;
            padding: 2px 8px;
            transform: scale(0.9);
        }

        .RollingGRATView .multi-option-switch input[type="radio"]:checked + label {
            color: #fff;
            transform: scale(1);
            font-weight: 600;
            background: linear-gradient(99.02deg, rgb(0, 113, 188) 95.38%, rgb(0, 113, 188) 95.38%);
            padding: 2px 8px;
        }

        .RollingGRATView .multi-option-switch input[type="radio"]:first-child:checked + label {
            background: linear-gradient(99.02deg, rgb(41, 171, 226) -19.8%, rgb(0, 113, 188) 95.38%);
        }

        .RollingGRATView .multi-option-switch input[type="radio"]:last-child:checked + label {
            background: linear-gradient(99.02deg, #0071BC -19.8%, #29ABE2 95.38%);
        }

    .RollingGRATView .tabs-container {
        margin-top: 7px;
        margin-bottom: 7px;
        margin-right: 5px;
        display: flex;
        flex-direction: column;
        flex-grow: 100;
    }

    .RollingGRATView .nav-item button {
        padding-top: 6px;
        padding-bottom: 6px;
        font-size: 12pt;
    }

    .RollingGRATView .nav.nav-tabs {
        border-bottom: none;
    }

    .RollingGRATView .nav-tabs .nav-link {
        color: #087DC4;
        font-weight: 600;
        background: linear-gradient(99.02deg, #E8F3F9 95.38%, #E8F3F9 95.38%);
        margin: 0px;
        border-radius: 0px;
    }

    .RollingGRATView .nav-tabs .nav-item:first-child .nav-link {
        border-top-left-radius: 10px;
        border-bottom-left-radius: 10px;
    }

    .RollingGRATView .nav-tabs .nav-item:last-child .nav-link {
        border-top-right-radius: 10px;
        border-bottom-right-radius: 10px;
    }

    .RollingGRATView .nav-tabs .nav-link.active {
        background: linear-gradient(99.02deg, #0071BC 95.38%, #0071BC 95.38%);
        color: #FFFFFF;
    }

    .RollingGRATView .nav-tabs .nav-item:first-child .nav-link.active {
        background: linear-gradient(99.02deg, #29ABE2 -19.8%, #0071BC 95.38%);
        color: #FFFFFF;
    }

    .RollingGRATView .nav-tabs .nav-item:last-child .nav-link.active {
        background: linear-gradient(99.02deg, #0071BC -19.8%, #29ABE2 95.38%);
        color: #FFFFFF;
    }

    .RollingGRATView .tab-content {
        border-top: none;
        padding: 6px 0px 0px 0px;
        background-color: #fff;
        display: flex;
        flex-grow: 100;
        justify-content: center;
        align-items: center;
        flex-direction: column;
    }

    .RollingGRATView .tab-pane {
        height: 100%;
        width: 100%;
    }

    .RollingGRATView .tab-content > .active {
        display: flex;
        flex-direction: column;
    }

    /* Scroll to Top Button */
    .RollingGRATView .scroll-to-top-btn {
        display: none;
        position: fixed;
        bottom: 20px;
        right: 40px;
        z-index: 99;
        font-size: 14px;
        width: 40px;
        height: 40px;
        color: white;
        background-color: #007BFF;
        border: none;
        cursor: pointer;
        border-radius: 50%;
        transition: background-color 0.3s;
        text-align: center;
        padding: 0px;
        margin: 2px;
    }

        .RollingGRATView.scroll-to-top-btn:hover {
            background-color: #0056B3;
        }

    .RollingGRATView .progress-circle {
        position: absolute;
        top: 0;
        left: 0;
    }

    .RollingGRATView .progress-bg {
        stroke: #ccc;
    }

    .RollingGRATView .progress-bar {
        stroke: white;
        stroke-linecap: round;
        transform-origin: center;
        transform: rotate(-90deg);
    }

    /* More Details Below indicator */
    .RollingGRATView .scroll-indicator {
        display: none;
        position: sticky;
        width: 200px;
        bottom: 20px;
        left: 50%;
        transform: translateX(-50%);
        background-color: rgba(0, 0, 0, 0.4);
        border-radius: 4px;
        padding: 6px 12px;
        text-align: center;
        color: rgb(255, 255, 255, 1);
        font-weight: bold;
        animation: pulsate 2s infinite;
        cursor: pointer;
    }

@keyframes pulsate {
    0% {
        transform: translateX(-50%) scale(1);
        opacity: 1;
    }

    50% {
        transform: translateX(-50%) scale(1.1);
        opacity: 0.5;
    }

    100% {
        transform: translateX(-50%) scale(1);
        opacity: 1;
    }
}

.RollingGRATView .zoom-control-toolbar {
    position: sticky;
    bottom: 0px;
    left: 0px;
    right: 0px;
    background: #F5F5F5;
    width: 100%;
    display: flex;
    justify-content: flex-end;
    align-items: center;
    padding-top: 5px;
    padding-bottom: 5px;
    padding-right: 10px;
    border-bottom-left-radius: 20px;
    border-bottom-right-radius: 20px;
}

    .RollingGRATView .zoom-control-toolbar .btn {
        font-size: 14px;
        border-radius: 6px;
        padding: 3px 5px;
        margin-right: 5px;
        background: #4AAEE1;
        color: white;
        font-weight: 500;
    }

    .RollingGRATView .zoom-control-toolbar .slider {
        margin-left: 5px;
        margin-right: 10px;
    }

    .RollingGRATView .zoom-control-toolbar .percent-label {
        margin-bottom: 0px;
        margin-right: 10px;
        font-size: 14px;
    }

    .RollingGRATView .zoom-control-toolbar input {
        accent-color: #4AAEE1;
    }

@keyframes slideDown {
    0% {
        transform: translateY(-100%);
    }

    100% {
        transform: translateY(0%);
    }
}

.RollingGRAT-letter-wrapper {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-color: rgba(0, 0, 0, 0.5);
    display: flex;
    justify-content: center;
    align-items: center;
    z-index: 1001;
}

    .RollingGRAT-letter-wrapper .RollingGRAT-letter-popout {
        background-color: white;
        padding: 2rem;
        border-radius: 4px;
        width: 90%;
        max-width: 600px;
        max-height: 90%;
        overflow-y: auto;
    }

    .RollingGRAT-letter-wrapper .RollingGRAT-letter-button {
        min-width: 100px;
        margin: 0 10px;
    }

    .RollingGRAT-letter-wrapper .button-wrapper {
        display: flex;
        justify-content: center;
        margin-top: 15px;
    }

    .RollingGRAT-letter-wrapper .form-group {
        margin-bottom: 1rem;
    }

    .RollingGRAT-letter-wrapper .form-check {
        margin-bottom: 0.5rem;
    }

/* HRPension Calculator */

/* HRPensionView styles */
.HRPension-main {
    display: flex;
    flex-direction: column;
}

.HRPensionView {
    display: flex;
    flex-direction: row;
    font-size: 16px;
    line-height: 1.5;
    height: calc(100vh - 5rem);
}

    .HRPensionView .HRPension-side-panel {
        flex: 1;
        display: flex;
        flex-direction: column;
        overflow: auto;
        width: 340px;
        padding: 3px 5px;
        margin: 10px;
        border: 1px solid #F0F0F0;
        box-shadow: 0px 2px 16px #F4FAFD;
        border-radius: 20px;
    }

        .HRPensionView .HRPension-side-panel tbody tr td:first-child {
            max-width: 12em;
        }

        .HRPensionView .HRPension-side-panel.fullscreen {
            width: 100vw !important;
            padding: 1vh 20vw;
            margin-right: 5%;
            margin-left: 5%;
        }

    .HRPensionView .HRPension-results-wrapper {
        display: flex;
        flex-direction: column;
        width: 100%;
        overflow: auto;
        margin-left: 5px;
        margin-right: 5px;
        border: 1px solid #F4F4F4;
        border-radius: 20px;
    }

    .HRPensionView .HRPension-results {
        display: flex;
        flex-direction: column;
        overflow: auto;
        margin-left: 6px;
        height: 100%;
    }

    .HRPensionView .HRPensionDetailsView {
        display: flex;
        flex-direction: column;
        padding-left: 0px;
        padding-right: 0px;
        position: absolute;
        width: unset;
    }

        .HRPensionView .HRPensionDetailsView table thead tr th {
            border: 1px solid rgb(221, 221, 221);
            border-top: 0px;
            text-align: center;
        }

        .HRPensionView .HRPensionDetailsView table tbody tr td {
            border: 1px solid rgb(221, 221, 221);
            border-top: 0px;
            text-align: center;
            padding: 0px 6px;
            white-space: nowrap;
        }

    .HRPensionView .HRPension-details-tables {
        display: flex;
        flex-direction: column;
        flex: 1;
        z-index: 2;
        background-color: white;
    }

    .HRPensionView .HRPension-details-header {
        cursor: pointer;
        background-color: #007BFF;
        color: white;
        padding: 8px 12px;
        font-weight: bold;
        font-size: 16px;
        border-radius: 4px;
    }

        .HRPensionView .HRPension-details-header:hover {
            background-color: #0056B3;
            text-decoration: none;
            color: black;
        }

    .HRPensionView .HRPension-summaries-tables {
        display: flex;
        flex-direction: column;
    }

        .HRPensionView .HRPension-summaries-tables table {
            width: min-content;
        }

            .HRPensionView .HRPension-summaries-tables table thead tr th {
                border: 1px solid rgb(221, 221, 221);
                border-top: 0px;
                text-align: center;
            }

            .HRPensionView .HRPension-summaries-tables table tbody tr td {
                border: 1px solid rgb(221, 221, 221);
                border-top: 0px;
                text-align: center;
                padding: 0px 6px;
                white-space: nowrap;
            }

    .HRPensionView .HRPension-summaries-table-parent {
        display: flex;
        flex-grow: 100;
        flex-shrink: 0;
        position: relative;
        overflow: auto;
    }

    .HRPensionView .HRPension-summaries-header {
        cursor: pointer;
        background-color: #007BFF;
        color: white;
        padding: 8px 12px;
        font-weight: bold;
        font-size: 16px;
        border-radius: 4px;
    }

        .HRPensionView .HRPension-summaries-header:hover {
            background-color: #0056B3;
            text-decoration: none;
            color: black;
        }

    .HRPensionView .HRPension-options-header {
        cursor: pointer;
        background-color: #F4F4F4;
        color: #000000;
        font-weight: bold;
        font-size: 16px;
        border-radius: 10px;
        position: sticky;
        top: 0;
        z-index: 1;
    }

        .HRPensionView .HRPension-options-header:hover {
            background-color: #0056B3;
            text-decoration: none;
            color: black;
        }

    .HRPensionView .collapse {
        display: none;
    }


    /* Button styles */
    .HRPensionView button {
        background-color: #4AAEE1;
        border: none;
        color: white;
        text-align: center;
        text-decoration: none;
        display: inline-block;
        font-size: 14px;
        margin: 4px 2px;
        cursor: pointer;
        padding: 10px 24px;
        border-radius: 4px;
        transition: background-color 0.3s;
    }

        .HRPensionView button:hover {
            background-color: #0056B3;
            text-decoration: none;
            color: white;
        }

    .HRPensionView .customized-input-number button {
        width: 24px;
        height: 100%;
        margin: 2px
    }

    .HRPensionView .advanced-option .customized-input-number button {
        background-color: purple !important;
    }

    .HRPensionView td button {
        padding: 0px;
        width: 25px;
        height: 100%;
    }

    /* Table styles */
    .HRPensionView table {
        width: 100%;
        border-collapse: collapse;
        font-size: 14px;
    }

    .HRPensionView th, .HRPensionView td {
        text-align: left;
        border-bottom: 1px solid #ddd;
        padding: 4px;
    }

    .HRPensionView th {
        background-color: #f2f2f2;
        font-weight: bold;
    }

    .HRPensionView tr:not(.no-hover):hover {
        background-color: #f5f5f5;
    }

    /* Input styles */
    .HRPensionView input[type="date"],
    .HRPensionView input[type="text"],
    .HRPensionView select,
    .HRPensionView .form-control,
    .HRPensionView .customized-input-number input {
        width: 100%;
        padding: 0px 6px;
        border: 1px solid #ccc;
        border-radius: 4px;
        font-size: 14px;
        text-align: center;
    }

    .HRPensionView .arrow {
        display: inline-block;
        width: 0;
        height: 0;
        border-style: solid;
        margin-left: 5px;
    }

        .HRPensionView .arrow.right {
            border-width: 5px 0 5px 5px;
            border-color: transparent transparent transparent #000;
        }

        .HRPensionView .arrow.down {
            border-width: 5px 5px 0px 5px;
            border-color: #000 transparent transparent transparent;
        }

    /* Toggle Switch */
    .HRPensionView .options-toggle {
        display: flex;
        flex-direction: row;
        justify-content: flex-end;
    }

    .HRPensionView .toggle-switch {
        position: relative;
        display: inline-block;
        width: 40px;
        height: 20px;
    }

        .HRPensionView .toggle-switch input {
            opacity: 0;
            width: 0;
            height: 0;
        }

    .HRPensionView .toggle-slider {
        position: absolute;
        cursor: pointer;
        top: 0;
        left: 0;
        right: 0;
        bottom: 0;
        background-color: #ccc;
        transition: 0.4s;
        border-radius: 34px;
    }

        .HRPensionView .toggle-slider:before {
            position: absolute;
            content: "";
            height: 16px;
            width: 16px;
            left: 4px;
            bottom: 2px;
            background-color: white;
            transition: 0.4s;
            border-radius: 50%;
        }

    .HRPensionView input:checked + .toggle-slider {
        background-color: #007BFF;
    }

    .HRPensionView input:focus + .toggle-slider {
        box-shadow: 0 0 1px #007BFF;
    }

    .HRPensionView input:checked + .toggle-slider:before {
        transform: translateX(16px);
    }

    .HRPensionView .tabs-container {
        margin-top: 2px;
        display: flex;
        flex-direction: column;
        flex-grow: 100;
    }

    .HRPensionView .nav-tabs .nav-link {
        border-top-left-radius: 4px;
        border-top-right-radius: 4px;
        border-bottom-color: transparent;
        color: #333;
    }

        .HRPensionView .nav-tabs .nav-link.active {
            background-color: rgba(30, 144, 255, 0.4);
            border-color: #dee2e6 #dee2e6 transparent;
            color: #333;
            font-weight: bold;
        }

    .HRPensionView .tab-content {
        border: 1px solid #dee2e6;
        border-top: none;
        padding: 16px;
        background-color: #fff;
        overflow: auto;
        display: flex;
        flex-grow: 100;
        flex-shrink: 0;
        justify-content: center;
        align-items: center;
        position: relative;
        flex-direction: column;
    }

    .HRPensionView .tab-pane {
        height: 100%;
        width: 100%;
    }

    /* Scroll to Top Button */
    .HRPensionView .scroll-to-top-btn {
        display: none;
        position: fixed;
        bottom: 20px;
        right: 40px;
        z-index: 99;
        font-size: 14px;
        width: 40px;
        height: 40px;
        color: white;
        background-color: #007BFF;
        border: none;
        cursor: pointer;
        border-radius: 50%;
        transition: background-color 0.3s;
        text-align: center;
        padding: 0px;
        margin: 2px;
    }

        .HRPensionView.scroll-to-top-btn:hover {
            background-color: #0056B3;
        }

    .HRPensionView .progress-circle {
        position: absolute;
        top: 0;
        left: 0;
    }

    .HRPensionView .progress-bg {
        stroke: #ccc;
    }

    .HRPensionView .progress-bar {
        stroke: white;
        stroke-linecap: round;
        transform-origin: center;
        transform: rotate(-90deg);
    }

    .HRPensionView .zoom-control-toolbar {
        position: sticky;
        bottom: 0px;
        left: 0px;
        right: 0px;
        background: #D2E6FA;
        width: 100%;
        display: flex;
        justify-content: flex-end;
        align-items: center;
        padding-top: 5px;
        padding-bottom: 5px;
        padding-right: 10px;
    }

        .HRPensionView .zoom-control-toolbar .btn {
            font-size: 14px;
            border: 1px solid #666;
            border-radius: 0px;
            padding: 3px;
            margin-right: 5px;
            background: #DDDDDD;
            color: black;
        }

        .HRPensionView .zoom-control-toolbar .slider {
            margin-left: 5px;
            margin-right: 10px;
        }

        .HRPensionView .zoom-control-toolbar .percent-label {
            margin-bottom: 0px;
            margin-right: 10px;
            font-size: 14px;
        }

.HRPension-letter-wrapper {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-color: rgba(0, 0, 0, 0.5);
    display: flex;
    justify-content: center;
    align-items: center;
    z-index: 1000;
}

    .HRPension-letter-wrapper .HRPension-letter-popout {
        background-color: white;
        padding: 2rem;
        border-radius: 4px;
        width: 90%;
        max-width: 600px;
        max-height: 90%;
        overflow-y: auto;
    }

    .HRPension-letter-wrapper .HRPension-letter-button {
        min-width: 100px;
        margin: 0 10px;
    }

    .HRPension-letter-wrapper .button-wrapper {
        display: flex;
        justify-content: center;
        margin-top: 15px;
    }

    .HRPension-letter-wrapper .form-group {
        margin-bottom: 1rem;
    }

    .HRPension-letter-wrapper .form-check {
        margin-bottom: 0.5rem;
    }

.dashboard-wrapper {
    display: flex;
    min-height: calc(100vh - 2.5rem);
    max-height: calc(100vh - 2.5rem);
    min-width: 100vw;
    max-width: 100vw;
    background-color: #F1F6FA;
}


.dashboard-sidebar {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    height: calc(100vh - 2.5rem) !important;
    /*        z-index: 2;*/
    z-index: 1000;
    background-color: #181C32 !important;
    /*        position: relative;*/
    overflow-y: auto;
    flex-shrink: 0;
    width: 75vw !important;
}

@media (min-width: 768px) {
    .dashboard-sidebar {
        position: relative !important;
        transform: none !important;
        visibility: visible !important;
        width: 22vw !important;
    }
}

.dashboard-sidebar-tab {
    margin-top: 25px;
    display: flex;
    flex-direction: row;
    flex-wrap: nowrap;
    white-space: nowrap;
    align-items: center;
    width: 100%;
    color: #828282;
    cursor: pointer;
}

    .dashboard-sidebar-tab.active {
        color: white;
    }

    .dashboard-sidebar-tab::before {
        content: '';
        width: 5px;
    }

    .dashboard-sidebar-tab:hover, .dashboard-sidebar-tab-label:hover {
        color: white;
    }

    .dashboard-sidebar-tab.active::before {
        content: '';
        width: 0px;
        height: 100%;
        border-left: 5px solid #29ABE2;
        border-radius: 0px 4px 4px 0px;
    }

    .dashboard-sidebar-tab.active .dashboard-sidebar-tab-arrow svg {
        transform: rotate(180deg);
    }

    .dashboard-sidebar-tab.active .dashboard-sidebar-tab-arrow path, .dashboard-sidebar-tab:hover .dashboard-sidebar-tab-arrow path {
        fill: white !important;
    }

.dashboard-sidebar-tab-dropdown {
    margin-left: 65px;
    margin-top: 5px;
    color: #828282;
}

.dashboard-sidebar-tab-arrow {
    margin-right: 8px;
    margin-left: 10px;
}

.dashboard-sidebar-tab-label {
    margin-left: 9px;
    font-size: 14pt;
    font-weight: 500;
    cursor: pointer;
    user-select: none;
}

.dashboard-sidebar-tab-dropdown .dashboard-sidebar-tab-label {
    margin-left: 9px;
    font-size: 14pt;
    font-weight: 500;
    cursor: pointer;
    user-select: none;
    line-height: 1;
    margin-top: 10px
}

.dashboard-main {
    display: flex;
    flex-direction: column;
    overflow: auto;
    flex-grow: 100;
}

.dashboard-top-toolbar {
    display: flex;
    flex-direction: column;
    justify-content: space-around;
    align-items: center;
    color: darkslategrey;
    padding-top: 10px;
    min-width: fit-content;
}

@media (min-width: 768px) {
    .dashboard-top-toolbar {
        flex-direction: row;
    }
}

.dashboard-top-toolbar .dashboard-welcome {
    display: flex;
    white-space: nowrap;
    align-items: center;
}

.dashboard-top-toolbar .search-input-container {
    position: relative;
}

    .dashboard-top-toolbar .search-input-container input {
        color: lightgrey;
    }

    .dashboard-top-toolbar .search-input-container .search-icon {
        position: absolute;
        right: 10px;
        top: 50%;
        transform: translateY(-50%);
        pointer-events: none;
    }


.dashboard-button-wrapper {
    display: flex;
    justify-content: center;
    margin-top: 3rem;
    flex-wrap: wrap;
}

.dashboard-button-group {
    display: flex;
    flex-direction: column;
    padding: 10px;
}

.dashboard-button-group__calculators-group {
    display: flex;
    flex-direction: row;
    flex-wrap: wrap;
    justify-content: center;
}

.dashboard-button-group__calculators {
    display: flex;
    flex-direction: column;
    padding: 0px 5px;
}

.dashboard-button-group button {
    border-radius: 15px;
    height: 65px;
    width: 290px;
    margin-bottom: 10px;
    background-color: #0071BC;
    color: white;
    font-weight: 600;
    border: none;
    z-index: 1;
    font-size: 1.4rem;
    align-self: center;
    position: relative;
}

    .dashboard-button-group button:disabled {
        background-color: #29AAE3;
        border: solid 2px;
        border-color: #0071BC;
        /*width: 100%;*/
    }

@media (min-width: 768px) {
    .dashboard-button-group button:disabled {
        width: 100%;
    }
}

.dashboard-button-group button:hover {
    transform: scale(1.05);
}

.dashboard-button-group button:disabled:hover {
    transform: scale(1);
}

@media (min-width: 2px) {
    .customized-input-number {
        display: flex;
        justify-content: space-between;
    }

        .customized-input-number .spinner {
            display: block;
            border: solid 1px lightgrey;
        }

            .customized-input-number .spinner:hover {
                background: lightgrey;
            }

    .disabled-target-input .customized-input-number .spinner {
        background: lightgrey;
        border: none;
    }

    .scenarioView {
        position: absolute;
        right: 0px;
        visibility: hidden;
        opacity: 0;
        transition: visibility 0s, opacity 0.5s linear;
    }

        .scenarioView.active {
            visibility: visible;
            opacity: 1;
            position: relative;
        }
}

.checkout-view {
    display: flex;
    flex-direction: column;
    width: 100%;
    height: 100%;
    max-height: 100vh;
    max-width: 100vw;
}

    .checkout-view .checkout-view__icon {
        height: 50px;
        width: auto;
        object-fit: scale-down;
        margin-top: 1rem;
    }

    .checkout-view .checkout-view__title {
        font-weight: 700;
        font-size: 24pt;
        align-self: center;
        margin-top: 30px;
        margin-bottom: 0px;
        color: #111111;
    }

    .checkout-view .checkout-view__payment_switch {
        position: relative;
        width: 200px;
        height: 34px;
        display: flex;
        align-items: center;
        justify-content: center;
        align-self: center;
        margin-top: 30px;
    }

    .checkout-view .payment-toggle-checkbox {
        display: none;
    }

.payment-toggle-checkbox:checked ~ label span {
    transform: translateX(100%);
    margin-left: -2px;
}

.checkout-view .payment-toggle-label {
    width: 40px;
    height: 25px;
    background: #999999;
    border-radius: 50px;
    cursor: pointer;
    transition: background-color 0.2s;
    display: flex;
    align-items: center;
}


.checkout-view .toggle-option {
    flex: 1;
    text-align: center;
    color: #999999;
    z-index: 2;
}

.payment-toggle-checkbox:checked ~ .payment-toggle-label {
    background-color: #29ABE2;
}

.checkout-view .toggle-switch {
    width: 20px;
    height: 20px;
    background: #FFFFFF;
    box-shadow: 2px 2px 10px rgba(0, 0, 0, 0.28);
    border-radius: 50px;
    transition: transform 0.5s ease, margin-left 0.4s ease;
    z-index: 1;
    margin-left: 2px;
}


.pricing-plans {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    padding-left: 100px;
    padding-right: 100px;
    margin-top: 30px;
    overflow-y: auto;
}

    .pricing-plans .signout {
        color: white;
        border-radius: 20px;
    }

        .pricing-plans .signout:hover {
            color: black;
        }

.pricing-plan {
    border-radius: 30px;
    box-shadow: 0px 2px 19px rgba(0, 0, 0, 0.06);
    padding: 20px 30px;
    position: relative;
    margin: 20px;
    flex: 1;
    transition: box-shadow 0.3s ease;
    background-color: #fff;
}

    .pricing-plan:hover {
        box-shadow: 0 6px 8px rgba(0, 0, 0, 0.2);
    }

.recommended-ribbon {
    background-color: #f44336;
    color: white;
    font-size: 14px;
    font-weight: bold;
    text-transform: uppercase;
    border-radius: 5px;
    position: absolute;
    top: -0.5rem;
    left: -0.5rem;
    padding: 0.5rem 1rem;
}

.pricing-plan__title {
    font-size: 24pt;
    margin-top: 0px;
    margin-bottom: 0px;
    color: #29ABE2;
}

.pricing-plan__price {
    font-size: 32pt;
    margin-top: 15px;
    font-weight: 700;
    margin-bottom: 0px;
    color: #111111;
}

.pricing-plan__description {
    margin-top: 15px;
    margin-bottom: 0px;
    font-size: 16pt;
    color: black;
}

.checkout-btn {
    background-color: #29ABE2;
    border-color: #29ABE2;
    width: 100%;
    color: white;
    padding: 5px 5px;
    font-weight: 600;
    border-radius: 12px;
    transition: background-color 0.3s ease, border-color 0.3s ease;
    margin-top: 15px;
    margin-bottom: 0px;
    font-size: 16pt;
}

    .checkout-btn:hover {
        background-color: #0056b3;
        border-color: #0056b3;
        color: white;
    }

    .checkout-btn:disabled {
        background-color: gray;
        border-color: gray;
        width: 100%;
        color: white;
        padding: 5px 5px;
        font-weight: 600;
        border-radius: 12px;
        transition: background-color 0.3s ease, border-color 0.3s ease;
        margin-top: 15px;
        margin-bottom: 0px;
        font-size: 16pt;
    }

        .checkout-btn:disabled:hover {
            background-color: gray;
            border-color: gray;
            color: white;
        }

.pricing-plan ul {
    margin-top: 15px;
    margin-bottom: 0px;
    list-style-type: none;
    padding-left: 0px;
}

.pricing-plan li::before {
    content: "";
    position: absolute;
    left: 0;
    top: 7px;
    width: 18px;
    height: 18px;
    background-image: url('data:image/svg+xml;utf8,%3Csvg%20width%3D%2228%22%20height%3D%2228%22%20viewBox%3D%220%200%2028%2028%22%20fill%3D%22none%22%20xmlns%3D%22http%3A//www.w3.org/2000/svg%22%3E%0A%3Cpath%20d%3D%22M14%201.1665C6.92885%201.1665%201.16669%206.92867%201.16669%2013.9998C1.16669%2021.071%206.92885%2026.8332%2014%2026.8332C21.0712%2026.8332%2026.8334%2021.071%2026.8334%2013.9998C26.8334%206.92867%2021.0712%201.1665%2014%201.1665ZM20.1344%2011.0482L12.8579%2018.3247C12.6782%2018.5043%2012.4344%2018.607%2012.1777%2018.607C11.921%2018.607%2011.6772%2018.5043%2011.4975%2018.3247L7.86569%2014.6928C7.49352%2014.3207%207.49352%2013.7047%207.86569%2013.3325C8.23785%2012.9603%208.85385%2012.9603%209.22602%2013.3325L12.1777%2016.2842L18.774%209.68784C19.1462%209.31567%2019.7622%209.31567%2020.1344%209.68784C20.5065%2010.06%2020.5065%2010.676%2020.1344%2011.0482Z%22%20fill%3D%22%2329ABE2%22/%3E%0A%3C/svg%3E');
    background-size: contain;
    background-repeat: no-repeat;
}

.pricing-plan ul li {
    font-size: 16pt;
    position: relative;
    color: #111111;
    padding-left: 24px;
}

.success-view {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: flex-start;
    text-align: center;
    min-height: 100vh;
    height: 100%;
    padding: 2rem;
    flex-grow: 100;
    background-color: #FFFFFF;
    overflow: auto;
}

.success-view__background {
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background-color: rgb(12, 12, 12, 0.3);
    filter: blur(2px);
    z-index: 1;
}

.success-view__icon {
    height: 80px;
    margin-top: 1rem;
    object-fit: scale-down;
    z-index: 0;
    filter: blur(2px);
}

.success-view .success-box {
    border: none;
    background-color: #fff;
    padding: 20px;
    width: 35%;
    min-width: 300px;
    margin-top: 4.5rem;
    border-radius: 30px;
    z-index: 2;
    display: flex;
    flex-direction: column;
    justify-items: center;
    align-items: center;
}

.success-view__title {
    font-size: 18pt;
    color: #111111;
}

.success-view__message {
    font-size: 12pt;
    color: #111111;
}

.success-view__button {
    background-color: #29ABE2;
    border: 1px solid #29ABE2;
    color: white;
    padding: 0.625rem 1.875rem;
    text-transform: uppercase;
    font-weight: 600;
    border-radius: 12px;
    transition: background-color 0.3s ease, border-color 0.3s ease;
    margin-top: 2rem;
}

    .success-view__button:hover {
        background-color: #0056b3;
        border-color: #0056b3;
        color: white;
    }

.success-view__billing_button {
    background-color: white;
    border: none;
    color: #6900ff;
    text-transform: uppercase;
    font-weight: 600;
    padding: 0px;
    margin-top: 2rem;
    text-decoration: underline;
}

    .success-view__billing_button:hover {
        text-decoration: none;
        background: #cdfeaa;
    }

.h-80 {
    height: 80vh !important;
}

.html2canvas-container {
    height: 10000px !important;
}

.ageBackground {
    background-color: #FCC4AB !important;
}

.yearOfDeathBackground {
    background-color: #E1E1E1 !important;
}

.termBackground {
    background-color: #CCDEF9 !important;
}

.discountBackground {
    background-color: lightgoldenrodyellow !important;
}

.valueBackground {
    background-color: #FDD48B !important;
}

.discountedValueBackground {
    background-color: #DBF4D8 !important;
}

.growthRateBackground {
    background-image: linear-gradient(-45deg, #DBF4D8 25%, lightblue 25%, lightblue 50%, #DBF4D8 50%, #DBF4D8 75%, lightblue 75%, lightblue) !important;
    background-size: 21px 21px !important;
}

#superSimpleButton {
    width: 80%;
    max-height: 20px;
    align-self: center;
    padding: 22px 15px;
    text-align: center;
    border: none;
    border-radius: 5px;
    font-size: 16px;
    cursor: pointer;
    position: relative;
    overflow: hidden;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1);
    transition: background-color 0.3s ease, box-shadow 0.3s ease;
}

    #superSimpleButton:hover {
        box-shadow: 0 4px 8px rgba(0, 0, 0, 0.2);
    }

    #superSimpleButton:focus {
        outline: none;
        box-shadow: 0 0 0 3px rgba(0, 255, 255, 0.5);
    }

    #superSimpleButton:active {
        box-shadow: 0 1px 2px rgba(0, 0, 0, 0.2);
    }

.button-text {
    z-index: 1;
    transition: opacity 0.3s ease;
}

.stars {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    width: 100%;
    height: 100%;
    background-repeat: no-repeat;
    background-position: center;
    opacity: 0;
    transition: opacity 0.3s ease-in-out;
}

/* Deactivated state */
#superSimpleButton {
    background-color: rgb(105, 105, 105);
}

    /* Activated state */
    #superSimpleButton.activated {
        background-color: rgba(0, 0, 255);
        animation: none; /*bgAnimation 3s infinite;*/
    }

    #superSimpleButton:not(.activated):hover {
        background-color: rgb(135, 135, 135);
    }

    #superSimpleButton.activated:hover {
        background-color: rgba(50, 50, 255);
    }

@keyframes bgAnimation {
    0% {
        background-color: rgba(0, 0, 255);
    }

    50% {
        background-color: rgba(0, 0, 255, 0.6);
    }

    100% {
        background-color: rgba(0, 0, 255);
    }
}

@keyframes shootingStar {
    0%, 100% {
        transform: translate(-100%, -50%) scale(0.5);
        opacity: 1;
    }

    25% {
        transform: translate(50%, -50%) scale(1);
        opacity: 1;
    }

    50%, 75% {
        transform: translate(150%, 50%) scale(1.5);
        opacity: 1;
    }
}

#superSimpleButton.activated .stars {
    display: none;
    background-image: url('data:image/svg+xml,%3Csvg xmlns="http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg" width="24" height="24" viewBox="0 0 16 16"%3E%3Cpath fill="yellow" d="M3.612 15.443c-.386.198-.824-.149-.746-.592l.83-4.73L.173 6.765c-.329-.314-.158-.888.283-.95l4.898-.696L7.538.792c.197-.39.73-.39.927 0l2.184 4.327l4.898.696c.441.062.612.636.282.95l-3.522 3.356l.83 4.73c.078.443-.36.79-.746.592L8 13.187l-4.389 2.256z"%2F%3E%3C%2Fsvg%3E');
    animation: shootingStar 6s infinite;
    opacity: 1;
}

.star {
    display: none;
    position: absolute;
    bottom: 0;
    left: calc(50% - 12px);
    width: 24px;
    height: 24px;
    background-image: url('data:image/svg+xml,%3Csvg xmlns="http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg" width="24" height="24" viewBox="0 0 16 16"%3E%3Cpath fill="yellow" d="M3.612 15.443c-.386.198-.824-.149-.746-.592l.83-4.73L.173 6.765c-.329-.314-.158-.888.283-.95l4.898-.696L7.538.792c.197-.39.73-.39.927 0l2.184 4.327l4.898.696c.441.062.612.636.282.95l-3.522 3.356l.83 4.73c.078.443-.36.79-.746.592L8 13.187l-4.389 2.256z"%2F%3E%3C%2Fsvg%3E');
    animation: shootUp 2s infinite alternate;
    opacity: 0;
}


    .star:nth-child(1) {
        animation-delay: 0.3s;
        left: 10%;
    }

    .star:nth-child(2) {
        animation-delay: 0.5s;
        left: 20%;
    }

    .star:nth-child(3) {
        animation-delay: 0.2s;
        left: 30%;
    }

    .star:nth-child(4) {
        animation-delay: 0.6s;
        left: 40%;
    }

    .star:nth-child(5) {
        animation-delay: 0.4s;
        left: 50%;
    }

    .star:nth-child(6) {
        animation-delay: 0.7s;
        left: 60%;
    }

    .star:nth-child(7) {
        animation-delay: 0.2s;
        left: 70%;
    }

    .star:nth-child(8) {
        animation-delay: 0.5s;
        left: 80%;
    }

    .star:nth-child(9) {
        animation-delay: 0.4s;
        left: 90%;
    }

@keyframes shootUp {
    0%, 100% {
        transform: translateY(0) scale(0.5);
        opacity: .5;
    }

    50% {
        transform: translateY(-100%) scale(1);
        opacity: 1;
    }
}

.rss-container {
    position: fixed;
    bottom: 10px;
    width: 100%;
    height: auto;
    overflow: hidden;
    white-space: nowrap;
    z-index: 5;
    font-size: small;
}

.rss-items {
    display: flex;
    will-change: transform;
    transition: transform linear;
}

.rss-item {
    display: block;
    margin-right: 10px;
    padding: 3px;
    background-color: rgb(240, 240, 240);
    border: 1px solid #e0e0e0;
    border-radius: 10px;
    width: fit-content;
}

    .rss-item p {
        white-space: pre-line;
        overflow: clip;
        line-height: 1.25em;
        max-height: 2.5em;
        font-size: smaller;
    }

.rss-window-container {
    display: flex;
    flex-direction: column;
    height: calc(100vh - 5rem);
}

    .rss-window-container .sticky-header {
        text-align: center;
    }

        .rss-window-container .sticky-header h3 {
            padding-top: 10px;
        }

        .rss-window-container .sticky-header h4 {
            text-decoration: underline;
        }

        .rss-window-container .sticky-header .rss-select-container {
            position: relative;
            margin: 0px;
            width: fit-content;
            max-width: 90%;
        }

        .rss-window-container .sticky-header .rss-select {
            appearance: none;
            -webkit-appearance: none;
            -moz-appearance: none;
            border: 2px solid rgb(0,142,142);
            padding: 1px 6px;
            border-radius: 5px;
            outline: none;
            width: 100%;
        }

        .rss-window-container .sticky-header .rss-select-container::after {
            content: '';
            position: absolute;
            right: 10px;
            top: 30%;
            transform: translateY(-50%);
            pointer-events: none;
            border: solid black;
            border-width: 0 3px 3px 0;
            display: inline-block;
            padding: 3px;
            transform: rotate(45deg);
            -webkit-transform: rotate(45deg);
        }

        .rss-window-container .sticky-header .rss-select:hover, .rss-select:focus {
            border-color: #357ab8;
        }

        .rss-window-container .sticky-header .rss-select:focus {
            box-shadow: 0 0 5px rgba(58, 144, 226, 0.5);
        }

    .rss-window-container .rss-window-items {
        display: block;
        padding: 2px;
        overflow-y: scroll;
        border-radius: 5px;
        height: 30px;
    }

    .rss-window-container .rss-window-item {
        display: block;
        margin: 0px;
        padding: 5px 10px;
        border-bottom: 1px solid grey;
    }

        .rss-window-container .rss-window-item:nth-child(even) {
            background-color: rgb(235, 235, 235);
        }

        .rss-window-container .rss-window-item:hover {
            background-color: rgb(225, 225, 225);
        }


        .rss-window-container .rss-window-item p {
            display: -webkit-box;
            text-overflow: ellipsis;
            line-height: 1.25em;
            margin-bottom: 0px;
            margin-top: 3px;
        }

        .rss-window-container .rss-window-item:last-child {
            border-bottom: none;
        }

        .rss-window-container .rss-window-item h6 {
            margin: 0;
        }

            .rss-window-container .rss-window-item h6 a {
                color: blue;
            }

.rss-toggle-button {
    position: absolute;
    top: 50%;
    left: -60px;
    transform: translateY(-50%);
    color: white;
    font-size: 24px;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    z-index: 250;
    user-select: none;
}

.rss-button {
    display: flex;
    background-color: rgb(0,142,142);
    border-top-left-radius: 15px;
    border-bottom-left-radius: 15px;
}

.chat-button {
    margin-top: 10px;
    display: flex;
    background-color: orange;
    color: white;
    border-top-left-radius: 15px;
    border-bottom-left-radius: 15px;
}

.chat-container {
    display: flex;
    flex-direction: column;
    height: calc(100vh - 5rem);
}

.chat-top-toolbar {
    margin: 20px;
    display: flex;
    justify-content: space-between;
    align-items: center;
    height: 40px;
}

.chat-container .list-group {
    padding: 0;
    margin: 0;
    list-style: none;
    padding: 15px;
}

.chat-container .list-group-item {
    position: relative;
    display: block;
    background: none;
    background-color: none;
    margin-bottom: 10px;
    border-width: 0px;
    padding-top: 0px;
    z-index: 1;
}

    .chat-container .list-group-item:hover {
        position: relative;
        display: block;
        background: none;
        background-color: none;
        margin-bottom: 10px;
    }

.chat-container .messages-list {
    overflow-y: auto;
    margin-bottom: 20px;
    flex-grow: 1;
}

.chat-container .message-bubble {
    background: #E5EAFF;
    background-color: #E5EAFF;
    width: 80%;
    padding: 10px 15px;
    border-top-left-radius: 0px !important;
    border-top-right-radius: 12px !important;
    border-bottom-right-radius: 12px !important;
    border-bottom-left-radius: 12px !important;
    display: flex;
    flex-direction: row;
    justify-content: space-between;
}

.chat-container .sender {
    font-weight: 500;
    margin-right: 10px;
    font-size: 12pt;
    color: #0A2689;
}

.chat-container .timestamp {
    font-size: 0.75rem;
    color: #6c757d;
    position: absolute;
    right: 15px;
    top: 50%;
}

.timestamp-secondary {
    font-size: 0.75rem;
    color: #AAAAAA;
}

.chat-container .message-content {
    color: #1B1B1B;
}

.chat-container .chat-input-form {
    display: flex;
    margin: 15px;
    z-index: 1;
}

/* Status Indicators */
.status-pending {
    padding: 1px 8px;
    border-radius: 5px;
    color: white;
    background-color: #FED233;
}

.status-approved {
    padding: 1px 2px;
    border-radius: 5px;
    color: white;
    background-color: #2ED06E;
}

.status-rejected {
    padding: 1px 8px;
    border-radius: 5px;
    color: white;
    background-color: #FF8B92;
}

.rss-toggle-button span {
    writing-mode: vertical-lr;
    text-orientation: upright;
    font-family: monospace;
}

.rss-quad-view {
    display: grid;
    grid-template-columns: 1fr 1fr 1fr 1fr;
    grid-template-rows: 1fr;
    height: calc(100% - 60px);
}

.rss-feed-section {
    display: flex;
    flex-direction: column;
    overflow: hidden;
    height: calc(100% - 60px);
    border: 1px solid rgb(0,142,142);
}

    .rss-feed-section .sticky-header {
        text-align: center;
        background-color: #f5f5f5;
        padding: 10px;
        border-bottom: 1px solid #ccc;
    }

    .rss-feed-section .rss-window-items {
        flex: 1;
        overflow-y: auto;
    }

.rss-window-container .global-header {
    margin: 20px;
    display: flex;
    justify-content: space-between;
    align-items: center;
    height: 40px;
}

    .rss-window-container .global-header .container {
        width: auto;
        height: auto;
        margin: 9px 6px 0px;
        align-self: flex-end;
    }

    .rss-window-container .global-header h3 {
        margin-bottom: 0px;
        transform: translate(-40%, 0);
    }

    .rss-window-container .global-header .close-button {
        cursor: pointer;
        background-color: #ff3333;
        color: #ffffff;
        padding: 5px 10px;
        border-radius: 50%;
        font-weight: bold;
        transition: background-color 0.2s ease;
        user-select: none;
    }

        .rss-window-container .global-header .close-button:hover {
            background-color: #e60000;
        }

.rss-window-container.dark-mode {
    background-color: #1f1f1f;
    border-color: #555;
    color: #444;
    color-scheme: dark;
}

    .rss-window-container.dark-mode .rss-container .rss-items .rss-item {
        background-color: #444;
        border-color: #555;
    }

        .rss-window-container.dark-mode .rss-container .rss-items .rss-item a {
            color: #1E90FF;
            opacity: 87%;
        }

        .rss-window-container.dark-mode .rss-container .rss-items .rss-item span {
            color: rgb(255, 255, 255, .87);
        }

    .rss-window-container.dark-mode p, .rss-window-container.dark-mode small {
        color: rgb(255, 255, 255, 0.5);
    }

    .rss-window-container.dark-mode .rss-window-item:nth-child(even) {
        background-color: #2a2a2a;
    }

    .rss-window-container.dark-mode .rss-window-item:hover {
        background-color: #333;
    }

    .rss-window-container.dark-mode .rss-window-item {
        border-bottom-color: #444;
    }

    .rss-window-container.dark-mode .rss-toggle-button {
        background-color: #555;
    }

    .rss-window-container.dark-mode .rss-feed-section .sticky-header {
        background-color: #2a2a2a;
        border-bottom-color: #444;
    }

    .rss-window-container.dark-mode .rss-feed-section {
        border-color: #555;
    }

    .rss-window-container.dark-mode h4 {
        color: rgb(255, 255, 255, .87);
    }

    .rss-window-container.dark-mode h5 {
        color: rgb(255, 255, 255, .87);
    }

    .rss-window-container.dark-mode .rss-window-item h6 a {
        color: #1E90FF;
        opacity: 87%;
    }

    .rss-window-container.dark-mode .global-header {
        border-bottom-color: #444;
        color: rgb(255, 255, 255, .87);
    }

        .rss-window-container.dark-mode .global-header .close-button {
            background-color: #b71c1c;
            user-select: none;
        }

            .rss-window-container.dark-mode .global-header .close-button:hover {
                background-color: #990000;
            }

    .rss-window-container.dark-mode .sticky-header .rss-select {
        background-color: #2a2a2a;
        color: #e0e0e0;
        border-color: #444;
    }

        .rss-window-container.dark-mode .sticky-header .rss-select:hover,
        .rss-window-container.dark-mode .sticky-header .rss-select:focus {
            border-color: #555;
            box-shadow: 0 0 5px rgba(255, 255, 255, 0.2);
        }

    .rss-window-container.dark-mode .sticky-header .rss-select-container::after {
        border-color: #e0e0e0;
    }

.quick-actions-container {
    position: absolute;
    top: 50%;
    left: calc(100%);
    transform: translateY(-50%);
    width: auto;
    height: auto;
    border: 2px solid rgb(65, 65, 65);
    padding-top: 0px;
    font-size: 16px;
    z-index: 1;
    background-color: white;
    display: flex;
    flex-direction: column;
    transition: all 0.75s;
    white-space: nowrap;
}

    .quick-actions-container .customized-input-number input {
        width: auto;
    }

    .quick-actions-container [data-tooltip]:before {
        white-space: normal;
        width: 200px;
    }

    .quick-actions-container.closed {
        left: 0px;
        width: 100%;
        visibility: hidden;
    }

        .quick-actions-container.closed .customized-input-number input {
            left: 0px;
            width: 100%;
            white-space: normal;
        }

    .quick-actions-container .quick-actions {
        z-index: 1;
        text-align: center;
    }

    .quick-actions-container .quick-actions-button {
        position: absolute;
        top: 50%;
        right: -48px;
        transform: translateY(-50%);
        background-color: rgb(65, 65, 65);
        color: white;
        display: flex;
        align-items: center;
        justify-content: center;
        cursor: pointer;
        border-top-right-radius: 15px;
        border-bottom-right-radius: 15px;
        z-index: 250;
        user-select: none;
        padding-top: 5px;
        padding-bottom: 5px;
        visibility: visible;
    }


    .quick-actions-container .exemptionBackground label {
        display: block;
        padding: 2px 0;
    }

    .quick-actions-container .exemptionBackground input[type="radio"] {
        width: auto;
    }

    .quick-actions-container .exemptionBackground {
        background-color: #E6E6FA !important;
    }

.youtube-backdrop {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-color: rgba(0, 0, 0, 0.7);
    display: flex;
    align-items: center;
    justify-content: center;
    z-index: 10000;
}

.youtube-container {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    width: calc(min(90vw / 16, 90vh / 9) * 16);
    height: calc(min(90vw / 16, 90vh / 9) * 9);
    overflow: hidden;
    background-color: #fff;
    box-shadow: 0 0 20px rgba(0, 0, 0, 0.5);
    border-radius: 10px;
    display: flex;
    justify-content: center;
    align-items: center;
    background-color: #ddd;
}

    .youtube-container iframe {
        position: absolute;
        top: 50%;
        left: 50%;
        transform: translate(-50%, -50%);
        width: 90%;
        height: 90%;
        border: none;
        border-radius: 10px;
    }

.youtube-modal-header .close-button {
    display: flex;
    position: fixed;
    top: 0;
    right: 0;
    cursor: pointer;
    background-color: #ff3333;
    color: #ffffff;
    font-weight: bold;
    transition: background-color 0.2s ease;
    user-select: none;
    margin: 4px 4px 0px 0px;
    border-radius: 50%;
}

    .youtube-modal-header .close-button:hover {
        background-color: #e60000;
        border-radius: 50%;
    }


.PDF-reader-backdrop {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-color: rgba(0, 0, 0, 0.7);
    display: flex;
    align-items: center;
    justify-content: center;
    z-index: 10000;
}

.PDF-reader-container {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    width: calc(min(90vw / 16, 90vh / 9) * 16);
    height: calc(min(90vw / 16, 90vh / 9) * 9);
    overflow: hidden;
    background-color: #fff;
    box-shadow: 0 0 20px rgba(0, 0, 0, 0.5);
    border-radius: 10px;
    display: flex;
    justify-content: center;
    align-items: center;
    background-color: #ddd;
}

    .PDF-reader-container .close-button {
        display: flex;
        position: fixed;
        top: 0;
        right: 0;
        cursor: pointer;
        background-color: #ff3333;
        color: #ffffff;
        font-weight: bold;
        transition: background-color 0.2s ease;
        user-select: none;
        margin: 4px 4px 0px 0px;
        border-radius: 50%;
    }

        .PDF-reader-container .close-button:hover {
            background-color: #e60000;
            border-radius: 50%;
        }

.feedback-popout.chained-cpi-modal {
    width: 70%;
    height: 80%;
}

/* PrivateAnnuity Calculator */

/* PrivateAnnuityView styles */
.PrivateAnnuity-main {
    display: flex;
    flex-direction: column;
}

.PrivateAnnuityView {
    display: flex;
    flex-direction: row;
    font-size: 16px;
    line-height: 1.5;
    height: calc(100vh - 5rem);
}

    .PrivateAnnuityView .h-resizer {
        height: 8px;
        font-size: 16px;
        border-bottom: none;
        border-top: none;
    }

    .PrivateAnnuityView .resizer {
        width: 8px;
        min-width: 8px;
        max-width: 8px;
        writing-mode: vertical-lr;
        font-size: 16px;
        border-left: 1px solid #a9a9a9;
        border-right: none;
        background: none;
    }

    .PrivateAnnuityView .PrivateAnnuity-side-panel {
        flex: 1;
        display: flex;
        flex-direction: column;
        overflow: auto;
        width: 340px;
        padding: 3px 5px;
        margin: 10px;
        border: 1px solid #F0F0F0;
        box-shadow: 0px 2px 16px #F4FAFD;
        border-radius: 20px;
    }

        .PrivateAnnuityView .PrivateAnnuity-side-panel tbody tr td:first-child {
            max-width: 12em;
        }

        .PrivateAnnuityView .PrivateAnnuity-side-panel.fullscreen {
            width: 100vw !important;
            padding: 1vh 20vw;
            margin-right: 5%;
            margin-left: 5%;
        }

    .PrivateAnnuityView .PrivateAnnuity-results-wrapper {
        display: flex;
        flex-direction: column;
        width: 100%;
        overflow: auto;
        margin-left: 5px;
        margin-right: 5px;
        border: 1px solid #F4F4F4;
        border-radius: 20px;
    }

    .PrivateAnnuityView .PrivateAnnuity-results {
        display: flex;
        flex-direction: column;
        overflow: auto;
        margin-left: 6px;
        height: 100%;
    }

    .PrivateAnnuityView .PrivateAnnuityDetailsView {
        padding-left: 0px;
        padding-right: 0px;
        position: absolute;
        width: unset;
    }

    .PrivateAnnuityView .PrivateAnnuity-details-tables ul li:not(:last-child) {
        margin-bottom: 0.75rem;
    }

    .PrivateAnnuityView .PrivateAnnuityDetailsView table thead tr th {
        border-top: 0px;
        text-align: center;
        background-color: #E8F3F9;
    }

    .PrivateAnnuityView .PrivateAnnuityDetailsView table thead tr:first-child th:first-child {
        border-top-left-radius: 20px;
    }

    .PrivateAnnuityView .PrivateAnnuityDetailsView table thead tr:first-child th:last-child {
        border-top-right-radius: 20px;
    }

    .PrivateAnnuityView .PrivateAnnuityDetailsView table tbody tr td {
        border-top: 0px;
        text-align: center;
        padding: 0px 6px;
        white-space: nowrap;
    }

    .PrivateAnnuityView .PrivateAnnuity-details-tables {
        display: flex;
        flex-direction: column;
        flex: 1;
        z-index: 2;
        background-color: white;
    }

    .PrivateAnnuityView .PrivateAnnuity-details-header {
        cursor: pointer;
        background-color: #007BFF;
        color: white;
        padding: 8px 12px;
        font-weight: bold;
        font-size: 16px;
        border-radius: 4px;
    }

        .PrivateAnnuityView .PrivateAnnuity-details-header:hover {
            background-color: #0056B3;
            text-decoration: none;
            color: black;
        }

    .PrivateAnnuityView .details-tab-content {
        display: flex;
        position: relative;
        overflow: auto;
        flex-direction: column;
        scrollbar-width: thin;
        scrollbar-color: #29ABE2 #B7E5FC;
        scrollbar-arrow-color: #B7E5FC;
        flex-grow: 1;
    }

    .PrivateAnnuityView .PrivateAnnuity-summaries-table-parent {
        display: flex;
        position: relative;
        overflow: auto;
        scrollbar-width: thin;
        scrollbar-color: #29ABE2 #B7E5FC;
        scrollbar-arrow-color: #B7E5FC;
    }

    .PrivateAnnuityView .PrivateAnnuity-summaries-tables {
        display: flex;
        flex-direction: column;
    }

        .PrivateAnnuityView .PrivateAnnuity-summaries-tables table thead tr th {
            text-align: center;
            background-color: #E8F3F9;
        }

        .PrivateAnnuityView .PrivateAnnuity-summaries-tables table thead tr:first-child th:first-child {
            border-top-left-radius: 20px;
        }

        .PrivateAnnuityView .PrivateAnnuity-summaries-tables table thead tr:first-child th:last-child {
            border-top-right-radius: 20px;
        }

        .PrivateAnnuityView .PrivateAnnuity-summaries-tables table tbody tr td {
            text-align: center;
            padding: 0px 6px;
            white-space: nowrap;
        }

    .PrivateAnnuityView .summary-options {
        justify-content: space-between;
        margin-bottom: 2px;
    }

    .PrivateAnnuityView .PrivateAnnuity-options-header {
        cursor: pointer;
        background-color: #F4F4F4;
        color: #000000;
        font-weight: bold;
        font-size: 16px;
        border-radius: 10px;
        position: sticky;
        top: 0;
        z-index: 1;
    }

    .PrivateAnnuityView .customized-input-number .input {
        text-align: center;
    }

    .PrivateAnnuityView .customized-input-number .spinner.decrement {
        padding: 0px 0px 0px 0px;
        margin: 0px 2px 0px 2px;
        height: auto;
        background-color: #4AAEE1;
        border: none;
    }

    .PrivateAnnuityView .customized-input-number .spinner.increment {
        padding: 0px 0px 0px 0px;
        margin: 0px 2px 0px 2px;
        height: auto;
        background-color: #4AAEE1;
        border: none;
    }

    .PrivateAnnuityView .option-input-group {
        border-bottom: 2px solid #F4F4F4;
        padding-bottom: 3px;
        margin-top: 3px;
        border-radius: 10px;
        border-bottom-left-radius: 0px;
        border-bottom-right-radius: 0px;
        padding-left: 5px;
        padding-right: 5px;
    }

        .PrivateAnnuityView .option-input-group div:not(.option-input-title) {
            padding: 3px;
        }

        .PrivateAnnuityView .option-input-group div {
            border-radius: 10px;
        }

        .PrivateAnnuityView .option-input-group > div:first-child {
            border-radius: 10px 10px 0px 0px;
        }

        .PrivateAnnuityView .option-input-group > div:nth-child(2) {
            border-radius: 0px 0px 10px 10px;
        }

    .PrivateAnnuityView .option-input-title {
        font-weight: 500;
        padding-bottom: 3px;
        padding-left: 2px;
    }

    .PrivateAnnuityView .no-hover {
        position: relative;
        top: -10px;
        border: 1px solid #F4F4F4;
        border-top: none;
        padding: 10px 0px;
        border-radius: 0px 0px 10px 10px;
    }

    .PrivateAnnuityView .collapse {
        display: none;
    }

    /* Button styles */
    .PrivateAnnuityView button {
        background-color: #4AAEE1;
        border: none;
        color: white;
        text-align: center;
        text-decoration: none;
        display: inline-block;
        font-size: 14px;
        margin: 4px 2px;
        cursor: pointer;
        padding: 10px 24px;
        border-radius: 4px;
        transition: background-color 0.3s;
    }

        .PrivateAnnuityView button:hover {
            background-color: #0056B3;
            text-decoration: none;
            color: white;
        }

    .PrivateAnnuityView .customized-input-number button {
        width: 24px;
        height: 100%;
        margin: 2px
    }

    .PrivateAnnuityView .advanced-option .customized-input-number button {
        background-color: purple !important;
    }

    .PrivateAnnuityView td button {
        padding: 0px;
        width: 25px;
        height: 100%;
    }

    /* Table styles */
    .PrivateAnnuityView table {
        width: 100%;
        border-collapse: collapse;
        font-size: 14px;
    }

    .PrivateAnnuityView th, .PrivateAnnuityView td {
        text-align: left;
        border-bottom: 1px solid #ddd;
        padding: 4px;
    }

    .PrivateAnnuityView th {
        background-color: #f2f2f2;
        font-weight: bold;
    }

    .PrivateAnnuityView tr:not(.no-hover):hover {
        background-color: #f5f5f5;
    }

    /* Input styles */
    .PrivateAnnuityView input[type="date"],
    .PrivateAnnuityView input[type="text"],
    .PrivateAnnuityView select,
    .PrivateAnnuityView .form-control,
    .PrivateAnnuityView .customized-input-number input {
        width: 100%;
        padding: 0px 6px;
        border: 1px solid #ccc;
        border-radius: 4px;
        font-size: 14px;
    }

    .PrivateAnnuityView .arrow {
        display: inline-block;
        width: 0;
        height: 0;
        border-style: solid;
        margin-left: 5px;
    }

        .PrivateAnnuityView .arrow.right {
            border-width: 5px 0 5px 5px;
            border-color: transparent transparent transparent #000;
        }

        .PrivateAnnuityView .arrow.down {
            border-width: 5px 5px 0px 5px;
            border-color: #000 transparent transparent transparent;
        }

    /* Toggle Switch */
    .PrivateAnnuityView .options-toggle {
        display: flex;
        flex-direction: row;
        justify-content: flex-end;
    }

    .PrivateAnnuityView .toggle-switch {
        position: relative;
        display: inline-block;
        width: 40px;
        height: 20px;
    }

        .PrivateAnnuityView .toggle-switch input {
            opacity: 0;
            width: 0;
            height: 0;
        }

    .PrivateAnnuityView .toggle-slider {
        position: absolute;
        cursor: pointer;
        top: 0;
        left: 0;
        right: 0;
        bottom: 0;
        background-color: #ccc;
        transition: 0.4s;
        border-radius: 34px;
    }

        .PrivateAnnuityView .toggle-slider:before {
            position: absolute;
            content: "";
            height: 16px;
            width: 16px;
            left: 4px;
            bottom: 2px;
            background-color: white;
            transition: 0.4s;
            border-radius: 50%;
        }

    .PrivateAnnuityView input:checked + .toggle-slider {
        background-color: #007BFF;
    }

    .PrivateAnnuityView input:focus + .toggle-slider {
        box-shadow: 0 0 1px #007BFF;
    }

    .PrivateAnnuityView input:checked + .toggle-slider:before {
        transform: translateX(16px);
    }

    /* Multi-Option Switch with Timeline */
    .PrivateAnnuityView .multi-option-switch {
        display: flex;
        position: relative;
        justify-content: space-between;
        padding: 5px 7px;
        background-color: #f0f0f0;
        border-radius: 6px;
        margin-left: 4px;
        margin-right: 4px;
    }

        .PrivateAnnuityView .multi-option-switch input[type="radio"] {
            display: none;
        }

        .PrivateAnnuityView .multi-option-switch label {
            display: flex;
            flex: 1;
            justify-content: center;
            white-space: nowrap;
            cursor: pointer;
            text-align: center;
            color: #999;
            transition: background-color 0.4s, transform 0.4s;
            position: relative;
            z-index: 1;
            font-weight: 600;
            border-radius: 6px;
            padding: 2px 8px;
            transform: scale(0.9);
        }

        .PrivateAnnuityView .multi-option-switch input[type="radio"]:checked + label {
            color: #fff;
            transform: scale(1);
            font-weight: 600;
            background: linear-gradient(99.02deg, rgb(0, 113, 188) 95.38%, rgb(0, 113, 188) 95.38%);
            padding: 2px 8px;
        }

        .PrivateAnnuityView .multi-option-switch input[type="radio"]:first-child:checked + label {
            background: linear-gradient(99.02deg, rgb(41, 171, 226) -19.8%, rgb(0, 113, 188) 95.38%);
        }

        .PrivateAnnuityView .multi-option-switch input[type="radio"]:last-child:checked + label {
            background: linear-gradient(99.02deg, #0071BC -19.8%, #29ABE2 95.38%);
        }

    .PrivateAnnuityView .tabs-container {
        margin-top: 7px;
        margin-bottom: 7px;
        margin-right: 5px;
        display: flex;
        flex-direction: column;
        flex-grow: 100;
    }

    .PrivateAnnuityView .nav-item button {
        padding-top: 6px;
        padding-bottom: 6px;
        font-size: 12pt;
    }

    .PrivateAnnuityView .nav.nav-tabs {
        border-bottom: none;
    }

    .PrivateAnnuityView .nav-tabs .nav-link {
        color: #087DC4;
        font-weight: 600;
        background: linear-gradient(99.02deg, #E8F3F9 95.38%, #E8F3F9 95.38%);
        margin: 0px;
        border-radius: 0px;
    }

    .PrivateAnnuityView .nav-tabs .nav-item:first-child .nav-link {
        border-top-left-radius: 10px;
        border-bottom-left-radius: 10px;
    }

    .PrivateAnnuityView .nav-tabs .nav-item:last-child .nav-link {
        border-top-right-radius: 10px;
        border-bottom-right-radius: 10px;
    }

    .PrivateAnnuityView .nav-tabs .nav-link.active {
        background: linear-gradient(99.02deg, #0071BC 95.38%, #0071BC 95.38%);
        color: #FFFFFF;
    }

    .PrivateAnnuityView .nav-tabs .nav-item:first-child .nav-link.active {
        background: linear-gradient(99.02deg, #29ABE2 -19.8%, #0071BC 95.38%);
        color: #FFFFFF;
    }

    .PrivateAnnuityView .nav-tabs .nav-item:last-child .nav-link.active {
        background: linear-gradient(99.02deg, #0071BC -19.8%, #29ABE2 95.38%);
        color: #FFFFFF;
    }

    .PrivateAnnuityView .tab-content {
        border-top: none;
        padding: 6px 0px 0px 0px;
        background-color: #fff;
        display: flex;
        flex-grow: 100;
        justify-content: center;
        align-items: center;
        flex-direction: column;
    }

    .PrivateAnnuityView .tab-pane {
        height: 100%;
        width: 100%;
    }

    .PrivateAnnuityView .tab-content > .active {
        display: flex;
        flex-direction: column;
    }

    /* Scroll to Top Button */
    .PrivateAnnuityView .scroll-to-top-btn {
        display: none;
        position: fixed;
        bottom: 20px;
        right: 40px;
        z-index: 99;
        font-size: 14px;
        width: 40px;
        height: 40px;
        color: white;
        background-color: #007BFF;
        border: none;
        cursor: pointer;
        border-radius: 50%;
        transition: background-color 0.3s;
        text-align: center;
        padding: 0px;
        margin: 2px;
    }

        .PrivateAnnuityView.scroll-to-top-btn:hover {
            background-color: #0056B3;
        }

    .PrivateAnnuityView .progress-circle {
        position: absolute;
        top: 0;
        left: 0;
    }

    .PrivateAnnuityView .progress-bg {
        stroke: #ccc;
    }

    .PrivateAnnuityView .progress-bar {
        stroke: white;
        stroke-linecap: round;
        transform-origin: center;
        transform: rotate(-90deg);
    }

    /* More Details Below indicator */
    .PrivateAnnuityView .scroll-indicator {
        display: none;
        position: sticky;
        width: 200px;
        bottom: 20px;
        left: 50%;
        transform: translateX(-50%);
        background-color: rgba(0, 0, 0, 0.4);
        border-radius: 4px;
        padding: 6px 12px;
        text-align: center;
        color: rgb(255, 255, 255, 1);
        font-weight: bold;
        animation: pulsate 2s infinite;
        cursor: pointer;
    }

@keyframes pulsate {
    0% {
        transform: translateX(-50%) scale(1);
        opacity: 1;
    }

    50% {
        transform: translateX(-50%) scale(1.1);
        opacity: 0.5;
    }

    100% {
        transform: translateX(-50%) scale(1);
        opacity: 1;
    }
}

.PrivateAnnuityView .zoom-control-toolbar {
    position: sticky;
    bottom: 0px;
    left: 0px;
    right: 0px;
    background: #F5F5F5;
    width: 100%;
    display: flex;
    justify-content: flex-end;
    align-items: center;
    padding-top: 5px;
    padding-bottom: 5px;
    padding-right: 10px;
    border-bottom-left-radius: 20px;
    border-bottom-right-radius: 20px;
}

    .PrivateAnnuityView .zoom-control-toolbar .btn {
        font-size: 14px;
        border-radius: 6px;
        padding: 3px 5px;
        margin-right: 5px;
        background: #4AAEE1;
        color: white;
        font-weight: 500;
    }

    .PrivateAnnuityView .zoom-control-toolbar .slider {
        margin-left: 5px;
        margin-right: 10px;
    }

    .PrivateAnnuityView .zoom-control-toolbar .percent-label {
        margin-bottom: 0px;
        margin-right: 10px;
        font-size: 14px;
    }

    .PrivateAnnuityView .zoom-control-toolbar input {
        accent-color: #4AAEE1;
    }

@keyframes slideDown {
    0% {
        transform: translateY(-100%);
    }

    100% {
        transform: translateY(0%);
    }
}

.PrivateAnnuity-letter-wrapper {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-color: rgba(0, 0, 0, 0.5);
    display: flex;
    justify-content: center;
    align-items: center;
    z-index: 1001;
}

    .PrivateAnnuity-letter-wrapper .PrivateAnnuity-letter-popout {
        background-color: white;
        padding: 2rem;
        border-radius: 4px;
        width: 90%;
        max-width: 600px;
        max-height: 90%;
        overflow-y: auto;
    }

    .PrivateAnnuity-letter-wrapper .PrivateAnnuity-letter-button {
        min-width: 100px;
        margin: 0 10px;
    }

    .PrivateAnnuity-letter-wrapper .button-wrapper {
        display: flex;
        justify-content: center;
        margin-top: 15px;
    }

    .PrivateAnnuity-letter-wrapper .form-group {
        margin-bottom: 1rem;
    }

    .PrivateAnnuity-letter-wrapper .form-check {
        margin-bottom: 0.5rem;
    }

/* LifeEstate Calculator */

/* LifeEstateView styles */
.LifeEstate-main {
    display: flex;
    flex-direction: column;
}

.LifeEstateView {
    display: flex;
    flex-direction: row;
    font-size: 16px;
    line-height: 1.5;
    height: calc(100vh - 5rem);
}

    .LifeEstateView .h-resizer {
        height: 8px;
        font-size: 16px;
        border-bottom: none;
        border-top: none;
    }

    .LifeEstateView .resizer {
        width: 8px;
        min-width: 8px;
        max-width: 8px;
        writing-mode: vertical-lr;
        font-size: 16px;
        border-left: 1px solid #a9a9a9;
        border-right: none;
        background: none;
    }

    .LifeEstateView .LifeEstate-side-panel {
        flex: 1;
        display: flex;
        flex-direction: column;
        overflow: auto;
        width: 340px;
        padding: 3px 5px;
        margin: 10px;
        border: 1px solid #F0F0F0;
        box-shadow: 0px 2px 16px #F4FAFD;
        border-radius: 20px;
    }

        .LifeEstateView .LifeEstate-side-panel tbody tr td:first-child {
            max-width: 12em;
        }

        .LifeEstateView .LifeEstate-side-panel.fullscreen {
            width: 100vw !important;
            padding: 1vh 20vw;
            margin-right: 5%;
            margin-left: 5%;
        }

    .LifeEstateView .LifeEstate-results-wrapper {
        display: flex;
        flex-direction: column;
        width: 100%;
        overflow: auto;
        margin-left: 5px;
        margin-right: 5px;
        border: 1px solid #F4F4F4;
        border-radius: 20px;
    }

    .LifeEstateView .LifeEstate-results {
        display: flex;
        flex-direction: column;
        overflow: auto;
        margin-left: 6px;
        height: 100%;
    }

    .LifeEstateView .LifeEstateDetailsView {
        padding-left: 0px;
        padding-right: 0px;
        position: absolute;
        width: unset;
    }

    .LifeEstateView .LifeEstate-details-tables ul li:not(:last-child) {
        margin-bottom: 0.75rem;
    }

    .LifeEstateView .LifeEstateDetailsView table thead tr th {
        border-top: 0px;
        text-align: center;
        background-color: #E8F3F9;
    }

    .LifeEstateView .LifeEstateDetailsView table thead tr:first-child th:first-child {
        border-top-left-radius: 20px;
    }

    .LifeEstateView .LifeEstateDetailsView table thead tr:first-child th:last-child {
        border-top-right-radius: 20px;
    }

    .LifeEstateView .LifeEstateDetailsView table tbody tr td {
        border-top: 0px;
        text-align: center;
        padding: 0px 6px;
        white-space: nowrap;
    }

    .LifeEstateView .LifeEstate-details-tables {
        display: flex;
        flex-direction: column;
        flex: 1;
        z-index: 2;
        background-color: white;
    }

    .LifeEstateView .LifeEstate-details-header {
        cursor: pointer;
        background-color: #007BFF;
        color: white;
        padding: 8px 12px;
        font-weight: bold;
        font-size: 16px;
        border-radius: 4px;
    }

        .LifeEstateView .LifeEstate-details-header:hover {
            background-color: #0056B3;
            text-decoration: none;
            color: black;
        }

    .LifeEstateView .details-tab-content {
        display: flex;
        position: relative;
        overflow: auto;
        flex-direction: column;
        scrollbar-width: thin;
        scrollbar-color: #29ABE2 #B7E5FC;
        scrollbar-arrow-color: #B7E5FC;
        flex-grow: 1;
    }

    .LifeEstateView .LifeEstate-summaries-table-parent {
        display: flex;
        position: relative;
        overflow: auto;
        scrollbar-width: thin;
        scrollbar-color: #29ABE2 #B7E5FC;
        scrollbar-arrow-color: #B7E5FC;
    }

    .LifeEstateView .LifeEstate-summaries-tables {
        display: flex;
        flex-direction: column;
    }

        .LifeEstateView .LifeEstate-summaries-tables table thead tr th {
            text-align: center;
            background-color: #E8F3F9;
        }

        .LifeEstateView .LifeEstate-summaries-tables table thead tr:first-child th:first-child {
            border-top-left-radius: 20px;
        }

        .LifeEstateView .LifeEstate-summaries-tables table thead tr:first-child th:last-child {
            border-top-right-radius: 20px;
        }

        .LifeEstateView .LifeEstate-summaries-tables table tbody tr td {
            text-align: center;
            padding: 0px 6px;
            white-space: nowrap;
        }

    .LifeEstateView .summary-options {
        justify-content: space-between;
        margin-bottom: 2px;
    }

    .LifeEstateView .LifeEstate-options-header {
        cursor: pointer;
        background-color: #F4F4F4;
        color: #000000;
        font-weight: bold;
        font-size: 16px;
        border-radius: 10px;
        position: sticky;
        top: 0;
        z-index: 1;
    }

    .LifeEstateView .customized-input-number .input {
        text-align: center;
    }

    .LifeEstateView .customized-input-number .spinner.decrement {
        padding: 0px 0px 0px 0px;
        margin: 0px 2px 0px 2px;
        height: auto;
        background-color: #4AAEE1;
        border: none;
    }

    .LifeEstateView .customized-input-number .spinner.increment {
        padding: 0px 0px 0px 0px;
        margin: 0px 2px 0px 2px;
        height: auto;
        background-color: #4AAEE1;
        border: none;
    }

    .LifeEstateView .option-input-group {
        border-bottom: 2px solid #F4F4F4;
        padding-bottom: 3px;
        margin-top: 3px;
        border-radius: 10px;
        border-bottom-left-radius: 0px;
        border-bottom-right-radius: 0px;
        padding-left: 5px;
        padding-right: 5px;
    }

        .LifeEstateView .option-input-group div:not(.option-input-title) {
            padding: 3px;
        }

        .LifeEstateView .option-input-group div {
            border-radius: 10px;
        }

        .LifeEstateView .option-input-group > div:first-child {
            border-radius: 10px 10px 0px 0px;
        }

        .LifeEstateView .option-input-group > div:nth-child(2) {
            border-radius: 0px 0px 10px 10px;
        }

    .LifeEstateView .option-input-title {
        font-weight: 500;
        padding-bottom: 3px;
        padding-left: 2px;
    }

    .LifeEstateView .no-hover {
        position: relative;
        top: -10px;
        border: 1px solid #F4F4F4;
        border-top: none;
        padding: 10px 0px;
        border-radius: 0px 0px 10px 10px;
    }

    .LifeEstateView .collapse {
        display: none;
    }

    /* Button styles */
    .LifeEstateView button {
        background-color: #4AAEE1;
        border: none;
        color: white;
        text-align: center;
        text-decoration: none;
        display: inline-block;
        font-size: 14px;
        margin: 4px 2px;
        cursor: pointer;
        padding: 10px 24px;
        border-radius: 4px;
        transition: background-color 0.3s;
    }

        .LifeEstateView button:hover {
            background-color: #0056B3;
            text-decoration: none;
            color: white;
        }

    .LifeEstateView .customized-input-number button {
        width: 24px;
        height: 100%;
        margin: 2px
    }

    .LifeEstateView .advanced-option .customized-input-number button {
        background-color: purple !important;
    }

    .LifeEstateView td button {
        padding: 0px;
        width: 25px;
        height: 100%;
    }

    /* Table styles */
    .LifeEstateView table {
        width: 100%;
        border-collapse: collapse;
        font-size: 14px;
    }

    .LifeEstateView th, .LifeEstateView td {
        text-align: left;
        border-bottom: 1px solid #ddd;
        padding: 4px;
    }

    .LifeEstateView th {
        background-color: #f2f2f2;
        font-weight: bold;
    }

    .LifeEstateView tr:not(.no-hover):hover {
        background-color: #f5f5f5;
    }

    /* Input styles */
    .LifeEstateView input[type="date"],
    .LifeEstateView input[type="text"],
    .LifeEstateView select,
    .LifeEstateView .form-control,
    .LifeEstateView .customized-input-number input {
        width: 100%;
        padding: 0px 6px;
        border: 1px solid #ccc;
        border-radius: 4px;
        font-size: 14px;
    }

    .LifeEstateView .arrow {
        display: inline-block;
        width: 0;
        height: 0;
        border-style: solid;
        margin-left: 5px;
    }

        .LifeEstateView .arrow.right {
            border-width: 5px 0 5px 5px;
            border-color: transparent transparent transparent #000;
        }

        .LifeEstateView .arrow.down {
            border-width: 5px 5px 0px 5px;
            border-color: #000 transparent transparent transparent;
        }

    /* Toggle Switch */
    .LifeEstateView .options-toggle {
        display: flex;
        flex-direction: row;
        justify-content: flex-end;
    }

    .LifeEstateView .toggle-switch {
        position: relative;
        display: inline-block;
        width: 40px;
        height: 20px;
    }

        .LifeEstateView .toggle-switch input {
            opacity: 0;
            width: 0;
            height: 0;
        }

    .LifeEstateView .toggle-slider {
        position: absolute;
        cursor: pointer;
        top: 0;
        left: 0;
        right: 0;
        bottom: 0;
        background-color: #ccc;
        transition: 0.4s;
        border-radius: 34px;
    }

        .LifeEstateView .toggle-slider:before {
            position: absolute;
            content: "";
            height: 16px;
            width: 16px;
            left: 4px;
            bottom: 2px;
            background-color: white;
            transition: 0.4s;
            border-radius: 50%;
        }

    .LifeEstateView input:checked + .toggle-slider {
        background-color: #007BFF;
    }

    .LifeEstateView input:focus + .toggle-slider {
        box-shadow: 0 0 1px #007BFF;
    }

    .LifeEstateView input:checked + .toggle-slider:before {
        transform: translateX(16px);
    }

    /* Multi-Option Switch with Timeline */
    .LifeEstateView .multi-option-switch {
        display: flex;
        position: relative;
        justify-content: space-between;
        padding: 5px 7px;
        background-color: #f0f0f0;
        border-radius: 6px;
        margin-left: 4px;
        margin-right: 4px;
    }

        .LifeEstateView .multi-option-switch input[type="radio"] {
            display: none;
        }

        .LifeEstateView .multi-option-switch label {
            display: flex;
            flex: 1;
            justify-content: center;
            white-space: nowrap;
            cursor: pointer;
            text-align: center;
            color: #999;
            transition: background-color 0.4s, transform 0.4s;
            position: relative;
            z-index: 1;
            font-weight: 600;
            border-radius: 6px;
            padding: 2px 8px;
            transform: scale(0.9);
        }

        .LifeEstateView .multi-option-switch input[type="radio"]:checked + label {
            color: #fff;
            transform: scale(1);
            font-weight: 600;
            background: linear-gradient(99.02deg, rgb(0, 113, 188) 95.38%, rgb(0, 113, 188) 95.38%);
            padding: 2px 8px;
        }

        .LifeEstateView .multi-option-switch input[type="radio"]:first-child:checked + label {
            background: linear-gradient(99.02deg, rgb(41, 171, 226) -19.8%, rgb(0, 113, 188) 95.38%);
        }

        .LifeEstateView .multi-option-switch input[type="radio"]:last-child:checked + label {
            background: linear-gradient(99.02deg, #0071BC -19.8%, #29ABE2 95.38%);
        }

    .LifeEstateView .tabs-container {
        margin-top: 7px;
        margin-bottom: 7px;
        margin-right: 5px;
        display: flex;
        flex-direction: column;
        flex-grow: 100;
    }

    .LifeEstateView .nav-item button {
        padding-top: 6px;
        padding-bottom: 6px;
        font-size: 12pt;
    }

    .LifeEstateView .nav.nav-tabs {
        border-bottom: none;
    }

    .LifeEstateView .nav-tabs .nav-link {
        color: #087DC4;
        font-weight: 600;
        background: linear-gradient(99.02deg, #E8F3F9 95.38%, #E8F3F9 95.38%);
        margin: 0px;
        border-radius: 0px;
    }

    .LifeEstateView .nav-tabs .nav-item:first-child .nav-link {
        border-top-left-radius: 10px;
        border-bottom-left-radius: 10px;
    }

    .LifeEstateView .nav-tabs .nav-item:last-child .nav-link {
        border-top-right-radius: 10px;
        border-bottom-right-radius: 10px;
    }

    .LifeEstateView .nav-tabs .nav-link.active {
        background: linear-gradient(99.02deg, #0071BC 95.38%, #0071BC 95.38%);
        color: #FFFFFF;
    }

    .LifeEstateView .nav-tabs .nav-item:first-child .nav-link.active {
        background: linear-gradient(99.02deg, #29ABE2 -19.8%, #0071BC 95.38%);
        color: #FFFFFF;
    }

    .LifeEstateView .nav-tabs .nav-item:last-child .nav-link.active {
        background: linear-gradient(99.02deg, #0071BC -19.8%, #29ABE2 95.38%);
        color: #FFFFFF;
    }

    .LifeEstateView .tab-content {
        border-top: none;
        padding: 6px 0px 0px 0px;
        background-color: #fff;
        display: flex;
        flex-grow: 100;
        justify-content: center;
        align-items: center;
        flex-direction: column;
    }

    .LifeEstateView .tab-pane {
        height: 100%;
        width: 100%;
    }

    .LifeEstateView .tab-content > .active {
        display: flex;
        flex-direction: column;
    }

    /* Scroll to Top Button */
    .LifeEstateView .scroll-to-top-btn {
        display: none;
        position: fixed;
        bottom: 20px;
        right: 40px;
        z-index: 99;
        font-size: 14px;
        width: 40px;
        height: 40px;
        color: white;
        background-color: #007BFF;
        border: none;
        cursor: pointer;
        border-radius: 50%;
        transition: background-color 0.3s;
        text-align: center;
        padding: 0px;
        margin: 2px;
    }

        .LifeEstateView.scroll-to-top-btn:hover {
            background-color: #0056B3;
        }

    .LifeEstateView .progress-circle {
        position: absolute;
        top: 0;
        left: 0;
    }

    .LifeEstateView .progress-bg {
        stroke: #ccc;
    }

    .LifeEstateView .progress-bar {
        stroke: white;
        stroke-linecap: round;
        transform-origin: center;
        transform: rotate(-90deg);
    }

    /* More Details Below indicator */
    .LifeEstateView .scroll-indicator {
        display: none;
        position: sticky;
        width: 200px;
        bottom: 20px;
        left: 50%;
        transform: translateX(-50%);
        background-color: rgba(0, 0, 0, 0.4);
        border-radius: 4px;
        padding: 6px 12px;
        text-align: center;
        color: rgb(255, 255, 255, 1);
        font-weight: bold;
        animation: pulsate 2s infinite;
        cursor: pointer;
    }

@keyframes pulsate {
    0% {
        transform: translateX(-50%) scale(1);
        opacity: 1;
    }

    50% {
        transform: translateX(-50%) scale(1.1);
        opacity: 0.5;
    }

    100% {
        transform: translateX(-50%) scale(1);
        opacity: 1;
    }
}

.LifeEstateView .zoom-control-toolbar {
    position: sticky;
    bottom: 0px;
    left: 0px;
    right: 0px;
    background: #F5F5F5;
    width: 100%;
    display: flex;
    justify-content: flex-end;
    align-items: center;
    padding-top: 5px;
    padding-bottom: 5px;
    padding-right: 10px;
    border-bottom-left-radius: 20px;
    border-bottom-right-radius: 20px;
}

    .LifeEstateView .zoom-control-toolbar .btn {
        font-size: 14px;
        border-radius: 6px;
        padding: 3px 5px;
        margin-right: 5px;
        background: #4AAEE1;
        color: white;
        font-weight: 500;
    }

    .LifeEstateView .zoom-control-toolbar .slider {
        margin-left: 5px;
        margin-right: 10px;
    }

    .LifeEstateView .zoom-control-toolbar .percent-label {
        margin-bottom: 0px;
        margin-right: 10px;
        font-size: 14px;
    }

    .LifeEstateView .zoom-control-toolbar input {
        accent-color: #4AAEE1;
    }

@keyframes slideDown {
    0% {
        transform: translateY(-100%);
    }

    100% {
        transform: translateY(0%);
    }
}

.LifeEstate-letter-wrapper {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-color: rgba(0, 0, 0, 0.5);
    display: flex;
    justify-content: center;
    align-items: center;
    z-index: 1001;
}

    .LifeEstate-letter-wrapper .LifeEstate-letter-popout {
        background-color: white;
        padding: 2rem;
        border-radius: 4px;
        width: 90%;
        max-width: 600px;
        max-height: 90%;
        overflow-y: auto;
    }

    .LifeEstate-letter-wrapper .LifeEstate-letter-button {
        min-width: 100px;
        margin: 0 10px;
    }

    .LifeEstate-letter-wrapper .button-wrapper {
        display: flex;
        justify-content: center;
        margin-top: 15px;
    }

    .LifeEstate-letter-wrapper .form-group {
        margin-bottom: 1rem;
    }

    .LifeEstate-letter-wrapper .form-check {
        margin-bottom: 0.5rem;
    }

/* CRAT Calculator */

/* CRATView styles */
.CRAT-main {
    display: flex;
    flex-direction: column;
}

.CRATView {
    display: flex;
    flex-direction: row;
    font-size: 16px;
    line-height: 1.5;
    height: calc(100vh - 5rem);
}

    .CRATView .h-resizer {
        height: 8px;
        font-size: 16px;
        border-bottom: none;
        border-top: none;
    }

    .CRATView .resizer {
        width: 8px;
        min-width: 8px;
        max-width: 8px;
        writing-mode: vertical-lr;
        font-size: 16px;
        border-left: 1px solid #a9a9a9;
        border-right: none;
        background: none;
    }

    .CRATView .CRAT-side-panel {
        flex: 1;
        display: flex;
        flex-direction: column;
        overflow: auto;
        width: 340px;
        padding: 3px 5px;
        margin: 10px;
        border: 1px solid #F0F0F0;
        box-shadow: 0px 2px 16px #F4FAFD;
        border-radius: 20px;
    }

        .CRATView .CRAT-side-panel tbody tr td:first-child {
            max-width: 12em;
        }

        .CRATView .CRAT-side-panel.fullscreen {
            width: 100vw !important;
            padding: 1vh 20vw;
            margin-right: 5%;
            margin-left: 5%;
        }

    .CRATView .CRAT-results-wrapper {
        display: flex;
        flex-direction: column;
        width: 100%;
        overflow: auto;
        margin-left: 5px;
        margin-right: 5px;
        border: 1px solid #F4F4F4;
        border-radius: 20px;
    }

    .CRATView .CRAT-results {
        display: flex;
        flex-direction: column;
        overflow: auto;
        margin-left: 6px;
        height: 100%;
    }

    .CRATView .CRATDetailsView {
        padding-left: 0px;
        padding-right: 0px;
        position: absolute;
        width: unset;
    }

    .CRATView .CRAT-details-tables ul li:not(:last-child) {
        margin-bottom: 0.75rem;
    }

    .CRATView .CRATDetailsView table thead tr th {
        border-top: 0px;
        text-align: center;
        background-color: #E8F3F9;
    }

    .CRATView .CRATDetailsView table thead tr:first-child th:first-child {
        border-top-left-radius: 20px;
    }

    .CRATView .CRATDetailsView table thead tr:first-child th:last-child {
        border-top-right-radius: 20px;
    }

    .CRATView .CRATDetailsView table tbody tr td {
        border-top: 0px;
        text-align: center;
        padding: 0px 6px;
        white-space: nowrap;
    }

    .CRATView .CRAT-details-tables {
        display: flex;
        flex-direction: column;
        flex: 1;
        z-index: 2;
        background-color: white;
    }

    .CRATView .CRAT-details-header {
        cursor: pointer;
        background-color: #007BFF;
        color: white;
        padding: 8px 12px;
        font-weight: bold;
        font-size: 16px;
        border-radius: 4px;
    }

        .CRATView .CRAT-details-header:hover {
            background-color: #0056B3;
            text-decoration: none;
            color: black;
        }

    .CRATView .details-tab-content {
        display: flex;
        position: relative;
        overflow: auto;
        flex-direction: column;
        scrollbar-width: thin;
        scrollbar-color: #29ABE2 #B7E5FC;
        scrollbar-arrow-color: #B7E5FC;
        flex-grow: 1;
    }

    .CRATView .CRAT-summaries-table-parent {
        display: flex;
        position: relative;
        overflow: auto;
        scrollbar-width: thin;
        scrollbar-color: #29ABE2 #B7E5FC;
        scrollbar-arrow-color: #B7E5FC;
    }

    .CRATView .CRAT-summaries-tables {
        display: flex;
        flex-direction: column;
    }

        .CRATView .CRAT-summaries-tables table thead tr th {
            text-align: center;
            background-color: #E8F3F9;
        }

        .CRATView .CRAT-summaries-tables table thead tr:first-child th:first-child {
            border-top-left-radius: 20px;
        }

        .CRATView .CRAT-summaries-tables table thead tr:first-child th:last-child {
            border-top-right-radius: 20px;
        }

        .CRATView .CRAT-summaries-tables table tbody tr td {
            text-align: center;
            padding: 0px 6px;
            white-space: nowrap;
        }

    .CRATView .summary-options {
        justify-content: space-between;
        margin-bottom: 2px;
    }

    .CRATView .CRAT-options-header {
        cursor: pointer;
        background-color: #F4F4F4;
        color: #000000;
        font-weight: bold;
        font-size: 16px;
        border-radius: 10px;
        position: sticky;
        top: 0;
        z-index: 1;
    }

    .CRATView .customized-input-number .input {
        text-align: center;
    }

    .CRATView .customized-input-number .spinner.decrement {
        padding: 0px 0px 0px 0px;
        margin: 0px 2px 0px 2px;
        height: auto;
        background-color: #4AAEE1;
        border: none;
    }

    .CRATView .customized-input-number .spinner.increment {
        padding: 0px 0px 0px 0px;
        margin: 0px 2px 0px 2px;
        height: auto;
        background-color: #4AAEE1;
        border: none;
    }

    .CRATView .option-input-group {
        border-bottom: 2px solid #F4F4F4;
        padding-bottom: 3px;
        margin-top: 3px;
        border-radius: 10px;
        border-bottom-left-radius: 0px;
        border-bottom-right-radius: 0px;
        padding-left: 5px;
        padding-right: 5px;
    }

        .CRATView .option-input-group div:not(.option-input-title) {
            padding: 3px;
        }

        .CRATView .option-input-group div {
            border-radius: 10px;
        }

        .CRATView .option-input-group > div:first-child {
            border-radius: 10px 10px 0px 0px;
        }

        .CRATView .option-input-group > div:nth-child(2) {
            border-radius: 0px 0px 10px 10px;
        }

    .CRATView .option-input-title {
        font-weight: 500;
        padding-bottom: 3px;
        padding-left: 2px;
    }

    .CRATView .no-hover {
        position: relative;
        top: -10px;
        border: 1px solid #F4F4F4;
        border-top: none;
        padding: 10px 0px;
        border-radius: 0px 0px 10px 10px;
    }

    .CRATView .collapse {
        display: none;
    }

    /* Button styles */
    .CRATView button {
        background-color: #4AAEE1;
        border: none;
        color: white;
        text-align: center;
        text-decoration: none;
        display: inline-block;
        font-size: 14px;
        margin: 4px 2px;
        cursor: pointer;
        padding: 10px 24px;
        border-radius: 4px;
        transition: background-color 0.3s;
    }

        .CRATView button:hover {
            background-color: #0056B3;
            text-decoration: none;
            color: white;
        }

    .CRATView .customized-input-number button {
        width: 24px;
        height: 100%;
        margin: 2px
    }

    .CRATView .advanced-option .customized-input-number button {
        background-color: purple !important;
    }

    .CRATView td button {
        padding: 0px;
        width: 25px;
        height: 100%;
    }

    /* Table styles */
    .CRATView table {
        width: 100%;
        border-collapse: collapse;
        font-size: 14px;
    }

    .CRATView th, .CRATView td {
        text-align: left;
        border-bottom: 1px solid #ddd;
        padding: 4px;
    }

    .CRATView th {
        background-color: #f2f2f2;
        font-weight: bold;
    }

    .CRATView tr:not(.no-hover):hover {
        background-color: #f5f5f5;
    }

    /* Input styles */
    .CRATView input[type="date"],
    .CRATView input[type="text"],
    .CRATView select,
    .CRATView .form-control,
    .CRATView .customized-input-number input {
        width: 100%;
        padding: 0px 6px;
        border: 1px solid #ccc;
        border-radius: 4px;
        font-size: 14px;
    }

    .CRATView .arrow {
        display: inline-block;
        width: 0;
        height: 0;
        border-style: solid;
        margin-left: 5px;
    }

        .CRATView .arrow.right {
            border-width: 5px 0 5px 5px;
            border-color: transparent transparent transparent #000;
        }

        .CRATView .arrow.down {
            border-width: 5px 5px 0px 5px;
            border-color: #000 transparent transparent transparent;
        }

    /* Toggle Switch */
    .CRATView .options-toggle {
        display: flex;
        flex-direction: row;
        justify-content: flex-end;
    }

    .CRATView .toggle-switch {
        position: relative;
        display: inline-block;
        width: 40px;
        height: 20px;
    }

        .CRATView .toggle-switch input {
            opacity: 0;
            width: 0;
            height: 0;
        }

    .CRATView .toggle-slider {
        position: absolute;
        cursor: pointer;
        top: 0;
        left: 0;
        right: 0;
        bottom: 0;
        background-color: #ccc;
        transition: 0.4s;
        border-radius: 34px;
    }

        .CRATView .toggle-slider:before {
            position: absolute;
            content: "";
            height: 16px;
            width: 16px;
            left: 4px;
            bottom: 2px;
            background-color: white;
            transition: 0.4s;
            border-radius: 50%;
        }

    .CRATView input:checked + .toggle-slider {
        background-color: #007BFF;
    }

    .CRATView input:focus + .toggle-slider {
        box-shadow: 0 0 1px #007BFF;
    }

    .CRATView input:checked + .toggle-slider:before {
        transform: translateX(16px);
    }

    /* Multi-Option Switch with Timeline */
    .CRATView .multi-option-switch {
        display: flex;
        position: relative;
        justify-content: space-between;
        padding: 5px 7px;
        background-color: #f0f0f0;
        border-radius: 6px;
        margin-left: 4px;
        margin-right: 4px;
    }

        .CRATView .multi-option-switch input[type="radio"] {
            display: none;
        }

        .CRATView .multi-option-switch label {
            display: flex;
            flex: 1;
            justify-content: center;
            white-space: nowrap;
            cursor: pointer;
            text-align: center;
            color: #999;
            transition: background-color 0.4s, transform 0.4s;
            position: relative;
            z-index: 1;
            font-weight: 600;
            border-radius: 6px;
            padding: 2px 8px;
            transform: scale(0.9);
        }

        .CRATView .multi-option-switch input[type="radio"]:checked + label {
            color: #fff;
            transform: scale(1);
            font-weight: 600;
            background: linear-gradient(99.02deg, rgb(0, 113, 188) 95.38%, rgb(0, 113, 188) 95.38%);
            padding: 2px 8px;
        }

        .CRATView .multi-option-switch input[type="radio"]:first-child:checked + label {
            background: linear-gradient(99.02deg, rgb(41, 171, 226) -19.8%, rgb(0, 113, 188) 95.38%);
        }

        .CRATView .multi-option-switch input[type="radio"]:last-child:checked + label {
            background: linear-gradient(99.02deg, #0071BC -19.8%, #29ABE2 95.38%);
        }

    .CRATView .tabs-container {
        margin-top: 7px;
        margin-bottom: 7px;
        margin-right: 5px;
        display: flex;
        flex-direction: column;
        flex-grow: 100;
    }

    .CRATView .nav-item button {
        padding-top: 6px;
        padding-bottom: 6px;
        font-size: 12pt;
    }

    .CRATView .nav.nav-tabs {
        border-bottom: none;
    }

    .CRATView .nav-tabs .nav-link {
        color: #087DC4;
        font-weight: 600;
        background: linear-gradient(99.02deg, #E8F3F9 95.38%, #E8F3F9 95.38%);
        margin: 0px;
        border-radius: 0px;
    }

    .CRATView .nav-tabs .nav-item:first-child .nav-link {
        border-top-left-radius: 10px;
        border-bottom-left-radius: 10px;
    }

    .CRATView .nav-tabs .nav-item:last-child .nav-link {
        border-top-right-radius: 10px;
        border-bottom-right-radius: 10px;
    }

    .CRATView .nav-tabs .nav-link.active {
        background: linear-gradient(99.02deg, #0071BC 95.38%, #0071BC 95.38%);
        color: #FFFFFF;
    }

    .CRATView .nav-tabs .nav-item:first-child .nav-link.active {
        background: linear-gradient(99.02deg, #29ABE2 -19.8%, #0071BC 95.38%);
        color: #FFFFFF;
    }

    .CRATView .nav-tabs .nav-item:last-child .nav-link.active {
        background: linear-gradient(99.02deg, #0071BC -19.8%, #29ABE2 95.38%);
        color: #FFFFFF;
    }

    .CRATView .tab-content {
        border-top: none;
        padding: 6px 0px 0px 0px;
        background-color: #fff;
        display: flex;
        flex-grow: 100;
        justify-content: center;
        align-items: center;
        flex-direction: column;
    }

    .CRATView .tab-pane {
        height: 100%;
        width: 100%;
    }

    .CRATView .tab-content > .active {
        display: flex;
        flex-direction: column;
    }

    /* Scroll to Top Button */
    .CRATView .scroll-to-top-btn {
        display: none;
        position: fixed;
        bottom: 20px;
        right: 40px;
        z-index: 99;
        font-size: 14px;
        width: 40px;
        height: 40px;
        color: white;
        background-color: #007BFF;
        border: none;
        cursor: pointer;
        border-radius: 50%;
        transition: background-color 0.3s;
        text-align: center;
        padding: 0px;
        margin: 2px;
    }

        .CRATView.scroll-to-top-btn:hover {
            background-color: #0056B3;
        }

    .CRATView .progress-circle {
        position: absolute;
        top: 0;
        left: 0;
    }

    .CRATView .progress-bg {
        stroke: #ccc;
    }

    .CRATView .progress-bar {
        stroke: white;
        stroke-linecap: round;
        transform-origin: center;
        transform: rotate(-90deg);
    }

    /* More Details Below indicator */
    .CRATView .scroll-indicator {
        display: none;
        position: sticky;
        width: 200px;
        bottom: 20px;
        left: 50%;
        transform: translateX(-50%);
        background-color: rgba(0, 0, 0, 0.4);
        border-radius: 4px;
        padding: 6px 12px;
        text-align: center;
        color: rgb(255, 255, 255, 1);
        font-weight: bold;
        animation: pulsate 2s infinite;
        cursor: pointer;
    }

@keyframes pulsate {
    0% {
        transform: translateX(-50%) scale(1);
        opacity: 1;
    }

    50% {
        transform: translateX(-50%) scale(1.1);
        opacity: 0.5;
    }

    100% {
        transform: translateX(-50%) scale(1);
        opacity: 1;
    }
}

.CRATView .zoom-control-toolbar {
    position: sticky;
    bottom: 0px;
    left: 0px;
    right: 0px;
    background: #F5F5F5;
    width: 100%;
    display: flex;
    justify-content: flex-end;
    align-items: center;
    padding-top: 5px;
    padding-bottom: 5px;
    padding-right: 10px;
    border-bottom-left-radius: 20px;
    border-bottom-right-radius: 20px;
}

    .CRATView .zoom-control-toolbar .btn {
        font-size: 14px;
        border-radius: 6px;
        padding: 3px 5px;
        margin-right: 5px;
        background: #4AAEE1;
        color: white;
        font-weight: 500;
    }

    .CRATView .zoom-control-toolbar .slider {
        margin-left: 5px;
        margin-right: 10px;
    }

    .CRATView .zoom-control-toolbar .percent-label {
        margin-bottom: 0px;
        margin-right: 10px;
        font-size: 14px;
    }

    .CRATView .zoom-control-toolbar input {
        accent-color: #4AAEE1;
    }

@keyframes slideDown {
    0% {
        transform: translateY(-100%);
    }

    100% {
        transform: translateY(0%);
    }
}

.CRAT-letter-wrapper {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-color: rgba(0, 0, 0, 0.5);
    display: flex;
    justify-content: center;
    align-items: center;
    z-index: 1001;
}

    .CRAT-letter-wrapper .CRAT-letter-popout {
        background-color: white;
        padding: 2rem;
        border-radius: 4px;
        width: 90%;
        max-width: 600px;
        max-height: 90%;
        overflow-y: auto;
    }

    .CRAT-letter-wrapper .CRAT-letter-button {
        min-width: 100px;
        margin: 0 10px;
    }

    .CRAT-letter-wrapper .button-wrapper {
        display: flex;
        justify-content: center;
        margin-top: 15px;
    }

    .CRAT-letter-wrapper .form-group {
        margin-bottom: 1rem;
    }

    .CRAT-letter-wrapper .form-check {
        margin-bottom: 0.5rem;
    }

/* RMD Calculator */

/* RMDView styles */
.RMD-main {
    display: flex;
    flex-direction: column;
}

.RMDView {
    display: flex;
    flex-direction: row;
    font-size: 16px;
    line-height: 1.5;
    height: calc(100vh - 5rem);
}

    .RMDView .h-resizer {
        height: 8px;
        font-size: 16px;
        border-bottom: none;
        border-top: none;
    }

    .RMDView .resizer {
        width: 8px;
        min-width: 8px;
        max-width: 8px;
        writing-mode: vertical-lr;
        font-size: 16px;
        border-left: 1px solid #a9a9a9;
        border-right: none;
        background: none;
    }

    .RMDView .RMD-side-panel {
        flex: 1;
        display: flex;
        flex-direction: column;
        overflow: auto;
        width: 340px;
        padding: 3px 5px;
        margin: 10px;
        border: 1px solid #F0F0F0;
        box-shadow: 0px 2px 16px #F4FAFD;
        border-radius: 20px;
    }

        .RMDView .RMD-side-panel tbody tr td:first-child {
            max-width: 12em;
        }

        .RMDView .RMD-side-panel.fullscreen {
            width: 100vw !important;
            padding: 1vh 20vw;
            margin-right: 5%;
            margin-left: 5%;
        }

    .RMDView .RMD-results-wrapper {
        display: flex;
        flex-direction: column;
        width: 100%;
        overflow: auto;
        margin-left: 5px;
        margin-right: 5px;
        border: 1px solid #F4F4F4;
        border-radius: 20px;
    }

    .RMDView .RMD-results {
        display: flex;
        flex-direction: column;
        overflow: auto;
        margin-left: 6px;
        height: 100%;
    }

    .RMDView .RMDDetailsView {
        padding-left: 0px;
        padding-right: 0px;
        position: absolute;
        width: unset;
    }

    .RMDView .RMD-details-tables ul li:not(:last-child) {
        margin-bottom: 0.75rem;
    }

    .RMDView .RMDDetailsView table thead tr th {
        border-top: 0px;
        text-align: center;
        background-color: #E8F3F9;
    }

    .RMDView .RMDDetailsView table thead tr:first-child th:first-child {
        border-top-left-radius: 20px;
    }

    .RMDView .RMDDetailsView table thead tr:first-child th:last-child {
        border-top-right-radius: 20px;
    }

    .RMDView .RMDDetailsView table tbody tr td {
        border-top: 0px;
        text-align: center;
        padding: 0px 6px;
        white-space: nowrap;
    }

    .RMDView .RMD-details-tables {
        display: flex;
        flex-direction: column;
        flex: 1;
        z-index: 2;
        background-color: white;
    }

    .RMDView .RMD-details-header {
        cursor: pointer;
        background-color: #007BFF;
        color: white;
        padding: 8px 12px;
        font-weight: bold;
        font-size: 16px;
        border-radius: 4px;
    }

        .RMDView .RMD-details-header:hover {
            background-color: #0056B3;
            text-decoration: none;
            color: black;
        }

    .RMDView .details-tab-content {
        display: flex;
        position: relative;
        overflow: auto;
        flex-direction: column;
        scrollbar-width: thin;
        scrollbar-color: #29ABE2 #B7E5FC;
        scrollbar-arrow-color: #B7E5FC;
        flex-grow: 1;
    }

    .RMDView .RMD-summaries-table-parent {
        display: flex;
        position: relative;
        overflow: auto;
        scrollbar-width: thin;
        scrollbar-color: #29ABE2 #B7E5FC;
        scrollbar-arrow-color: #B7E5FC;
    }

    .RMDView .RMD-summaries-tables {
        display: flex;
        flex-direction: column;
    }

        .RMDView .RMD-summaries-tables table thead tr th {
            text-align: center;
            background-color: #E8F3F9;
        }

        .RMDView .RMD-summaries-tables table thead tr:first-child th:first-child {
            border-top-left-radius: 20px;
        }

        .RMDView .RMD-summaries-tables table thead tr:first-child th:last-child {
            border-top-right-radius: 20px;
        }

        .RMDView .RMD-summaries-tables table tbody tr td {
            text-align: center;
            padding: 0px 6px;
            white-space: nowrap;
        }

    .RMDView .summary-options {
        justify-content: space-between;
        margin-bottom: 2px;
    }

    .RMDView .RMD-options-header {
        cursor: pointer;
        background-color: #F4F4F4;
        color: #000000;
        font-weight: bold;
        font-size: 16px;
        border-radius: 10px;
        position: sticky;
        top: 0;
        z-index: 1;
    }

    .RMDView .customized-input-number .input {
        text-align: center;
    }

    .RMDView .customized-input-number .spinner.decrement {
        padding: 0px 0px 0px 0px;
        margin: 0px 2px 0px 2px;
        height: auto;
        background-color: #4AAEE1;
        border: none;
    }

    .RMDView .customized-input-number .spinner.increment {
        padding: 0px 0px 0px 0px;
        margin: 0px 2px 0px 2px;
        height: auto;
        background-color: #4AAEE1;
        border: none;
    }

    .RMDView .option-input-group {
        border-bottom: 2px solid #F4F4F4;
        padding-bottom: 3px;
        margin-top: 3px;
        border-radius: 10px;
        border-bottom-left-radius: 0px;
        border-bottom-right-radius: 0px;
        padding-left: 5px;
        padding-right: 5px;
    }

        .RMDView .option-input-group div:not(.option-input-title) {
            padding: 3px;
        }

        .RMDView .option-input-group div {
            border-radius: 10px;
        }

        .RMDView .option-input-group > div:first-child {
            border-radius: 10px 10px 0px 0px;
        }

        .RMDView .option-input-group > div:nth-child(2) {
            border-radius: 0px 0px 10px 10px;
        }

    .RMDView .option-input-title {
        font-weight: 500;
        padding-bottom: 3px;
        padding-left: 2px;
    }

    .RMDView .no-hover {
        position: relative;
        top: -10px;
        border: 1px solid #F4F4F4;
        border-top: none;
        padding: 10px 0px;
        border-radius: 0px 0px 10px 10px;
    }

    .RMDView .collapse {
        display: none;
    }

    /* Button styles */
    .RMDView button {
        background-color: #4AAEE1;
        border: none;
        color: white;
        text-align: center;
        text-decoration: none;
        display: inline-block;
        font-size: 14px;
        margin: 4px 2px;
        cursor: pointer;
        padding: 10px 24px;
        border-radius: 4px;
        transition: background-color 0.3s;
    }

        .RMDView button:hover {
            background-color: #0056B3;
            text-decoration: none;
            color: white;
        }

    .RMDView .customized-input-number button {
        width: 24px;
        height: 100%;
        margin: 2px
    }

    .RMDView .advanced-option .customized-input-number button {
        background-color: purple !important;
    }

    .RMDView td button {
        padding: 0px;
        width: 25px;
        height: 100%;
    }

    /* Table styles */
    .RMDView table {
        width: 100%;
        border-collapse: collapse;
        font-size: 14px;
    }

    .RMDView th, .RMDView td {
        text-align: left;
        border-bottom: 1px solid #ddd;
        padding: 4px;
    }

    .RMDView th {
        background-color: #f2f2f2;
        font-weight: bold;
    }

    .RMDView tr:not(.no-hover):hover {
        background-color: #f5f5f5;
    }

    /* Input styles */
    .RMDView input[type="date"],
    .RMDView input[type="text"],
    .RMDView select,
    .RMDView .form-control,
    .RMDView .customized-input-number input {
        width: 100%;
        padding: 0px 6px;
        border: 1px solid #ccc;
        border-radius: 4px;
        font-size: 14px;
    }

    .RMDView .arrow {
        display: inline-block;
        width: 0;
        height: 0;
        border-style: solid;
        margin-left: 5px;
    }

        .RMDView .arrow.right {
            border-width: 5px 0 5px 5px;
            border-color: transparent transparent transparent #000;
        }

        .RMDView .arrow.down {
            border-width: 5px 5px 0px 5px;
            border-color: #000 transparent transparent transparent;
        }

    /* Toggle Switch */
    .RMDView .options-toggle {
        display: flex;
        flex-direction: row;
        justify-content: flex-end;
    }

    .RMDView .toggle-switch {
        position: relative;
        display: inline-block;
        width: 40px;
        height: 20px;
    }

        .RMDView .toggle-switch input {
            opacity: 0;
            width: 0;
            height: 0;
        }

    .RMDView .toggle-slider {
        position: absolute;
        cursor: pointer;
        top: 0;
        left: 0;
        right: 0;
        bottom: 0;
        background-color: #ccc;
        transition: 0.4s;
        border-radius: 34px;
    }

        .RMDView .toggle-slider:before {
            position: absolute;
            content: "";
            height: 16px;
            width: 16px;
            left: 4px;
            bottom: 2px;
            background-color: white;
            transition: 0.4s;
            border-radius: 50%;
        }

    .RMDView input:checked + .toggle-slider {
        background-color: #007BFF;
    }

    .RMDView input:focus + .toggle-slider {
        box-shadow: 0 0 1px #007BFF;
    }

    .RMDView input:checked + .toggle-slider:before {
        transform: translateX(16px);
    }

    /* Multi-Option Switch with Timeline */
    .RMDView .multi-option-switch {
        display: flex;
        position: relative;
        justify-content: space-between;
        padding: 5px 7px;
        background-color: #f0f0f0;
        border-radius: 6px;
        margin-left: 4px;
        margin-right: 4px;
    }

        .RMDView .multi-option-switch input[type="radio"] {
            display: none;
        }

        .RMDView .multi-option-switch label {
            display: flex;
            flex: 1;
            justify-content: center;
            white-space: nowrap;
            cursor: pointer;
            text-align: center;
            color: #999;
            transition: background-color 0.4s, transform 0.4s;
            position: relative;
            z-index: 1;
            font-weight: 600;
            border-radius: 6px;
            padding: 2px 8px;
            transform: scale(0.9);
        }

        .RMDView .multi-option-switch input[type="radio"]:checked + label {
            color: #fff;
            transform: scale(1);
            font-weight: 600;
            background: linear-gradient(99.02deg, rgb(0, 113, 188) 95.38%, rgb(0, 113, 188) 95.38%);
            padding: 2px 8px;
        }

        .RMDView .multi-option-switch input[type="radio"]:first-child:checked + label {
            background: linear-gradient(99.02deg, rgb(41, 171, 226) -19.8%, rgb(0, 113, 188) 95.38%);
        }

        .RMDView .multi-option-switch input[type="radio"]:last-child:checked + label {
            background: linear-gradient(99.02deg, #0071BC -19.8%, #29ABE2 95.38%);
        }

    .RMDView .tabs-container {
        margin-top: 7px;
        margin-bottom: 7px;
        margin-right: 5px;
        display: flex;
        flex-direction: column;
        flex-grow: 100;
    }

    .RMDView .nav-item button {
        padding-top: 6px;
        padding-bottom: 6px;
        font-size: 12pt;
    }

    .RMDView .nav.nav-tabs {
        border-bottom: none;
    }

    .RMDView .nav-tabs .nav-link {
        color: #087DC4;
        font-weight: 600;
        background: linear-gradient(99.02deg, #E8F3F9 95.38%, #E8F3F9 95.38%);
        margin: 0px;
        border-radius: 0px;
    }

    .RMDView .nav-tabs .nav-item:first-child .nav-link {
        border-top-left-radius: 10px;
        border-bottom-left-radius: 10px;
    }

    .RMDView .nav-tabs .nav-item:last-child .nav-link {
        border-top-right-radius: 10px;
        border-bottom-right-radius: 10px;
    }

    .RMDView .nav-tabs .nav-link.active {
        background: linear-gradient(99.02deg, #0071BC 95.38%, #0071BC 95.38%);
        color: #FFFFFF;
    }

    .RMDView .nav-tabs .nav-item:first-child .nav-link.active {
        background: linear-gradient(99.02deg, #29ABE2 -19.8%, #0071BC 95.38%);
        color: #FFFFFF;
    }

    .RMDView .nav-tabs .nav-item:last-child .nav-link.active {
        background: linear-gradient(99.02deg, #0071BC -19.8%, #29ABE2 95.38%);
        color: #FFFFFF;
    }

    .RMDView .tab-content {
        border-top: none;
        padding: 6px 0px 0px 0px;
        background-color: #fff;
        display: flex;
        flex-grow: 100;
        justify-content: center;
        align-items: center;
        flex-direction: column;
    }

    .RMDView .tab-pane {
        height: 100%;
        width: 100%;
    }

    .RMDView .tab-content > .active {
        display: flex;
        flex-direction: column;
    }

    /* Scroll to Top Button */
    .RMDView .scroll-to-top-btn {
        display: none;
        position: fixed;
        bottom: 20px;
        right: 40px;
        z-index: 99;
        font-size: 14px;
        width: 40px;
        height: 40px;
        color: white;
        background-color: #007BFF;
        border: none;
        cursor: pointer;
        border-radius: 50%;
        transition: background-color 0.3s;
        text-align: center;
        padding: 0px;
        margin: 2px;
    }

        .RMDView.scroll-to-top-btn:hover {
            background-color: #0056B3;
        }

    .RMDView .progress-circle {
        position: absolute;
        top: 0;
        left: 0;
    }

    .RMDView .progress-bg {
        stroke: #ccc;
    }

    .RMDView .progress-bar {
        stroke: white;
        stroke-linecap: round;
        transform-origin: center;
        transform: rotate(-90deg);
    }

    /* More Details Below indicator */
    .RMDView .scroll-indicator {
        display: none;
        position: sticky;
        width: 200px;
        bottom: 20px;
        left: 50%;
        transform: translateX(-50%);
        background-color: rgba(0, 0, 0, 0.4);
        border-radius: 4px;
        padding: 6px 12px;
        text-align: center;
        color: rgb(255, 255, 255, 1);
        font-weight: bold;
        animation: pulsate 2s infinite;
        cursor: pointer;
    }

@keyframes pulsate {
    0% {
        transform: translateX(-50%) scale(1);
        opacity: 1;
    }

    50% {
        transform: translateX(-50%) scale(1.1);
        opacity: 0.5;
    }

    100% {
        transform: translateX(-50%) scale(1);
        opacity: 1;
    }
}

.RMDView .zoom-control-toolbar {
    position: sticky;
    bottom: 0px;
    left: 0px;
    right: 0px;
    background: #F5F5F5;
    width: 100%;
    display: flex;
    justify-content: flex-end;
    align-items: center;
    padding-top: 5px;
    padding-bottom: 5px;
    padding-right: 10px;
    border-bottom-left-radius: 20px;
    border-bottom-right-radius: 20px;
}

    .RMDView .zoom-control-toolbar .btn {
        font-size: 14px;
        border-radius: 6px;
        padding: 3px 5px;
        margin-right: 5px;
        background: #4AAEE1;
        color: white;
        font-weight: 500;
    }

    .RMDView .zoom-control-toolbar .slider {
        margin-left: 5px;
        margin-right: 10px;
    }

    .RMDView .zoom-control-toolbar .percent-label {
        margin-bottom: 0px;
        margin-right: 10px;
        font-size: 14px;
    }

    .RMDView .zoom-control-toolbar input {
        accent-color: #4AAEE1;
    }

@keyframes slideDown {
    0% {
        transform: translateY(-100%);
    }

    100% {
        transform: translateY(0%);
    }
}

.RMD-letter-wrapper {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-color: rgba(0, 0, 0, 0.5);
    display: flex;
    justify-content: center;
    align-items: center;
    z-index: 1001;
}

    .RMD-letter-wrapper .RMD-letter-popout {
        background-color: white;
        padding: 2rem;
        border-radius: 4px;
        width: 90%;
        max-width: 600px;
        max-height: 90%;
        overflow-y: auto;
    }

    .RMD-letter-wrapper .RMD-letter-button {
        min-width: 100px;
        margin: 0 10px;
    }

    .RMD-letter-wrapper .button-wrapper {
        display: flex;
        justify-content: center;
        margin-top: 15px;
    }

    .RMD-letter-wrapper .form-group {
        margin-bottom: 1rem;
    }

    .RMD-letter-wrapper .form-check {
        margin-bottom: 0.5rem;
    }




/* InheritedIRARMDView styles */
.InheritedIRARMD-main {
    display: flex;
    flex-direction: column;
}

.InheritedIRARMDView {
    display: flex;
    flex-direction: row;
    font-size: 16px;
    line-height: 1.5;
    height: calc(100vh - 5rem);
}

    .InheritedIRARMDView .h-resizer {
        height: 8px;
        font-size: 16px;
        border-bottom: none;
        border-top: none;
    }

    .InheritedIRARMDView .resizer {
        width: 8px;
        min-width: 8px;
        max-width: 8px;
        writing-mode: vertical-lr;
        font-size: 16px;
        border-left: 1px solid #a9a9a9;
        border-right: none;
        background: none;
    }

    .InheritedIRARMDView .InheritedIRARMD-side-panel {
        flex: 1;
        display: flex;
        flex-direction: column;
        overflow: auto;
        width: 340px;
        padding: 3px 5px;
        margin: 10px;
        border: 1px solid #F0F0F0;
        box-shadow: 0px 2px 16px #F4FAFD;
        border-radius: 20px;
    }

        .InheritedIRARMDView .InheritedIRARMD-side-panel tbody tr td:first-child {
            max-width: 12em;
        }

        .InheritedIRARMDView .InheritedIRARMD-side-panel.fullscreen {
            width: 100vw !important;
            padding: 1vh 20vw;
            margin-right: 5%;
            margin-left: 5%;
        }

    .InheritedIRARMDView .InheritedIRARMD-results-wrapper {
        display: flex;
        flex-direction: column;
        width: 100%;
        overflow: auto;
        margin-left: 5px;
        margin-right: 5px;
        border: 1px solid #F4F4F4;
        border-radius: 20px;
    }

    .InheritedIRARMDView .InheritedIRARMD-results {
        display: flex;
        flex-direction: column;
        overflow: auto;
        margin-left: 6px;
        height: 100%;
    }

    .InheritedIRARMDView .InheritedIRARMDDetailsView {
        padding-left: 0px;
        padding-right: 0px;
        position: absolute;
        width: unset;
    }

    .InheritedIRARMDView .InheritedIRARMD-details-tables ul li:not(:last-child) {
        margin-bottom: 0.75rem;
    }

    .InheritedIRARMDView .InheritedIRARMDDetailsView table thead tr th {
        border-top: 0px;
        text-align: center;
        background-color: #E8F3F9;
    }

    .InheritedIRARMDView .InheritedIRARMDDetailsView table thead tr:first-child th:first-child {
        border-top-left-radius: 20px;
    }

    .InheritedIRARMDView .InheritedIRARMDDetailsView table thead tr:first-child th:last-child {
        border-top-right-radius: 20px;
    }

    .InheritedIRARMDView .InheritedIRARMDDetailsView table tbody tr td {
        border-top: 0px;
        text-align: center;
        padding: 0px 6px;
        white-space: nowrap;
    }

    .InheritedIRARMDView .InheritedIRARMD-details-tables {
        display: flex;
        flex-direction: column;
        flex: 1;
        z-index: 2;
        background-color: white;
    }

    .InheritedIRARMDView .InheritedIRARMD-details-header {
        cursor: pointer;
        background-color: #007BFF;
        color: white;
        padding: 8px 12px;
        font-weight: bold;
        font-size: 16px;
        border-radius: 4px;
    }

        .InheritedIRARMDView .InheritedIRARMD-details-header:hover {
            background-color: #0056B3;
            text-decoration: none;
            color: black;
        }

    .InheritedIRARMDView .details-tab-content {
        display: flex;
        position: relative;
        overflow: auto;
        flex-direction: column;
        scrollbar-width: thin;
        scrollbar-color: #29ABE2 #B7E5FC;
        scrollbar-arrow-color: #B7E5FC;
        flex-grow: 1;
    }

    .InheritedIRARMDView .InheritedIRARMD-summaries-table-parent {
        display: flex;
        position: relative;
        overflow: auto;
        scrollbar-width: thin;
        scrollbar-color: #29ABE2 #B7E5FC;
        scrollbar-arrow-color: #B7E5FC;
    }

    .InheritedIRARMDView .InheritedIRARMD-summaries-tables {
        display: flex;
        flex-direction: column;
    }

        .InheritedIRARMDView .InheritedIRARMD-summaries-tables table thead tr th {
            text-align: center;
            background-color: #E8F3F9;
        }

        .InheritedIRARMDView .InheritedIRARMD-summaries-tables table thead tr:first-child th:first-child {
            border-top-left-radius: 20px;
        }

        .InheritedIRARMDView .InheritedIRARMD-summaries-tables table thead tr:first-child th:last-child {
            border-top-right-radius: 20px;
        }

        .InheritedIRARMDView .InheritedIRARMD-summaries-tables table tbody tr td {
            text-align: center;
            padding: 0px 6px;
            white-space: nowrap;
        }

    .InheritedIRARMDView .summary-options {
        justify-content: space-between;
        margin-bottom: 2px;
    }

    .InheritedIRARMDView .InheritedIRARMD-options-header {
        cursor: pointer;
        background-color: #F4F4F4;
        color: #000000;
        font-weight: bold;
        font-size: 16px;
        border-radius: 10px;
        position: sticky;
        top: 0;
        z-index: 1;
    }

    .InheritedIRARMDView .customized-input-number .input {
        text-align: center;
    }

    .InheritedIRARMDView .customized-input-number .spinner.decrement {
        padding: 0px 0px 0px 0px;
        margin: 0px 2px 0px 2px;
        height: auto;
        background-color: #4AAEE1;
        border: none;
    }

    .InheritedIRARMDView .customized-input-number .spinner.increment {
        padding: 0px 0px 0px 0px;
        margin: 0px 2px 0px 2px;
        height: auto;
        background-color: #4AAEE1;
        border: none;
    }

    .InheritedIRARMDView .option-input-group {
        border-bottom: 2px solid #F4F4F4;
        padding-bottom: 3px;
        margin-top: 3px;
        border-radius: 10px;
        border-bottom-left-radius: 0px;
        border-bottom-right-radius: 0px;
        padding-left: 5px;
        padding-right: 5px;
    }

        .InheritedIRARMDView .option-input-group div:not(.option-input-title) {
            padding: 3px;
        }

        .InheritedIRARMDView .option-input-group div {
            border-radius: 10px;
        }

        .InheritedIRARMDView .option-input-group > div:first-child {
            border-radius: 10px 10px 0px 0px;
        }

        .InheritedIRARMDView .option-input-group > div:nth-child(2) {
            border-radius: 0px 0px 10px 10px;
        }

    .InheritedIRARMDView .option-input-title {
        font-weight: 500;
        padding-bottom: 3px;
        padding-left: 2px;
    }

    .InheritedIRARMDView .no-hover {
        position: relative;
        top: -10px;
        border: 1px solid #F4F4F4;
        border-top: none;
        padding: 10px 0px;
        border-radius: 0px 0px 10px 10px;
    }

    .InheritedIRARMDView .collapse {
        display: none;
    }

    /* Button styles */
    .InheritedIRARMDView button {
        background-color: #4AAEE1;
        border: none;
        color: white;
        text-align: center;
        text-decoration: none;
        display: inline-block;
        font-size: 14px;
        margin: 4px 2px;
        cursor: pointer;
        padding: 10px 24px;
        border-radius: 4px;
        transition: background-color 0.3s;
    }

        .InheritedIRARMDView button:hover {
            background-color: #0056B3;
            text-decoration: none;
            color: white;
        }

    .InheritedIRARMDView .customized-input-number button {
        width: 24px;
        height: 100%;
        margin: 2px
    }

    .InheritedIRARMDView .advanced-option .customized-input-number button {
        background-color: purple !important;
    }

    .InheritedIRARMDView td button {
        padding: 0px;
        width: 25px;
        height: 100%;
    }

    /* Table styles */
    .InheritedIRARMDView table {
        width: 100%;
        border-collapse: collapse;
        font-size: 14px;
    }

    .InheritedIRARMDView th, .InheritedIRARMDView td {
        text-align: left;
        border-bottom: 1px solid #ddd;
        padding: 4px;
    }

    .InheritedIRARMDView th {
        background-color: #f2f2f2;
        font-weight: bold;
    }

    .InheritedIRARMDView tr:not(.no-hover):hover {
        background-color: #f5f5f5;
    }

    /* Input styles */
    .InheritedIRARMDView input[type="date"],
    .InheritedIRARMDView input[type="text"],
    .InheritedIRARMDView select,
    .InheritedIRARMDView .form-control,
    .InheritedIRARMDView .customized-input-number input {
        width: 100%;
        padding: 0px 6px;
        border: 1px solid #ccc;
        border-radius: 4px;
        font-size: 14px;
    }

    .InheritedIRARMDView .arrow {
        display: inline-block;
        width: 0;
        height: 0;
        border-style: solid;
        margin-left: 5px;
    }

        .InheritedIRARMDView .arrow.right {
            border-width: 5px 0 5px 5px;
            border-color: transparent transparent transparent #000;
        }

        .InheritedIRARMDView .arrow.down {
            border-width: 5px 5px 0px 5px;
            border-color: #000 transparent transparent transparent;
        }

    /* Toggle Switch */
    .InheritedIRARMDView .options-toggle {
        display: flex;
        flex-direction: row;
        justify-content: flex-end;
    }

    .InheritedIRARMDView .toggle-switch {
        position: relative;
        display: inline-block;
        width: 40px;
        height: 20px;
    }

        .InheritedIRARMDView .toggle-switch input {
            opacity: 0;
            width: 0;
            height: 0;
        }

    .InheritedIRARMDView .toggle-slider {
        position: absolute;
        cursor: pointer;
        top: 0;
        left: 0;
        right: 0;
        bottom: 0;
        background-color: #ccc;
        transition: 0.4s;
        border-radius: 34px;
    }

        .InheritedIRARMDView .toggle-slider:before {
            position: absolute;
            content: "";
            height: 16px;
            width: 16px;
            left: 4px;
            bottom: 2px;
            background-color: white;
            transition: 0.4s;
            border-radius: 50%;
        }

    .InheritedIRARMDView input:checked + .toggle-slider {
        background-color: #007BFF;
    }

    .InheritedIRARMDView input:focus + .toggle-slider {
        box-shadow: 0 0 1px #007BFF;
    }

    .InheritedIRARMDView input:checked + .toggle-slider:before {
        transform: translateX(16px);
    }

    /* Multi-Option Switch with Timeline */
    .InheritedIRARMDView .multi-option-switch {
        display: flex;
        position: relative;
        justify-content: space-between;
        padding: 5px 7px;
        background-color: #f0f0f0;
        border-radius: 6px;
        margin-left: 4px;
        margin-right: 4px;
    }

        .InheritedIRARMDView .multi-option-switch input[type="radio"] {
            display: none;
        }

        .InheritedIRARMDView .multi-option-switch label {
            display: flex;
            flex: 1;
            justify-content: center;
            white-space: nowrap;
            cursor: pointer;
            text-align: center;
            color: #999;
            transition: background-color 0.4s, transform 0.4s;
            position: relative;
            z-index: 1;
            font-weight: 600;
            border-radius: 6px;
            padding: 2px 8px;
            transform: scale(0.9);
        }

        .InheritedIRARMDView .multi-option-switch input[type="radio"]:checked + label {
            color: #fff;
            transform: scale(1);
            font-weight: 600;
            background: linear-gradient(99.02deg, rgb(0, 113, 188) 95.38%, rgb(0, 113, 188) 95.38%);
            padding: 2px 8px;
        }

        .InheritedIRARMDView .multi-option-switch input[type="radio"]:first-child:checked + label {
            background: linear-gradient(99.02deg, rgb(41, 171, 226) -19.8%, rgb(0, 113, 188) 95.38%);
        }

        .InheritedIRARMDView .multi-option-switch input[type="radio"]:last-child:checked + label {
            background: linear-gradient(99.02deg, #0071BC -19.8%, #29ABE2 95.38%);
        }

    .InheritedIRARMDView .tabs-container {
        margin-top: 7px;
        margin-bottom: 7px;
        margin-right: 5px;
        display: flex;
        flex-direction: column;
        flex-grow: 100;
    }

    .InheritedIRARMDView .nav-item button {
        padding-top: 6px;
        padding-bottom: 6px;
        font-size: 12pt;
    }

    .InheritedIRARMDView .nav.nav-tabs {
        border-bottom: none;
    }

    .InheritedIRARMDView .nav-tabs .nav-link {
        color: #087DC4;
        font-weight: 600;
        background: linear-gradient(99.02deg, #E8F3F9 95.38%, #E8F3F9 95.38%);
        margin: 0px;
        border-radius: 0px;
    }

    .InheritedIRARMDView .nav-tabs .nav-item:first-child .nav-link {
        border-top-left-radius: 10px;
        border-bottom-left-radius: 10px;
    }

    .InheritedIRARMDView .nav-tabs .nav-item:last-child .nav-link {
        border-top-right-radius: 10px;
        border-bottom-right-radius: 10px;
    }

    .InheritedIRARMDView .nav-tabs .nav-link.active {
        background: linear-gradient(99.02deg, #0071BC 95.38%, #0071BC 95.38%);
        color: #FFFFFF;
    }

    .InheritedIRARMDView .nav-tabs .nav-item:first-child .nav-link.active {
        background: linear-gradient(99.02deg, #29ABE2 -19.8%, #0071BC 95.38%);
        color: #FFFFFF;
    }

    .InheritedIRARMDView .nav-tabs .nav-item:last-child .nav-link.active {
        background: linear-gradient(99.02deg, #0071BC -19.8%, #29ABE2 95.38%);
        color: #FFFFFF;
    }

    .InheritedIRARMDView .tab-content {
        border-top: none;
        padding: 6px 0px 0px 0px;
        background-color: #fff;
        display: flex;
        flex-grow: 100;
        justify-content: center;
        align-items: center;
        flex-direction: column;
    }

    .InheritedIRARMDView .tab-pane {
        height: 100%;
        width: 100%;
    }

    .InheritedIRARMDView .tab-content > .active {
        display: flex;
        flex-direction: column;
    }

    /* Scroll to Top Button */
    .InheritedIRARMDView .scroll-to-top-btn {
        display: none;
        position: fixed;
        bottom: 20px;
        right: 40px;
        z-index: 99;
        font-size: 14px;
        width: 40px;
        height: 40px;
        color: white;
        background-color: #007BFF;
        border: none;
        cursor: pointer;
        border-radius: 50%;
        transition: background-color 0.3s;
        text-align: center;
        padding: 0px;
        margin: 2px;
    }

        .InheritedIRARMDView.scroll-to-top-btn:hover {
            background-color: #0056B3;
        }

    .InheritedIRARMDView .progress-circle {
        position: absolute;
        top: 0;
        left: 0;
    }

    .InheritedIRARMDView .progress-bg {
        stroke: #ccc;
    }

    .InheritedIRARMDView .progress-bar {
        stroke: white;
        stroke-linecap: round;
        transform-origin: center;
        transform: rotate(-90deg);
    }

    /* More Details Below indicator */
    .InheritedIRARMDView .scroll-indicator {
        display: none;
        position: sticky;
        width: 200px;
        bottom: 20px;
        left: 50%;
        transform: translateX(-50%);
        background-color: rgba(0, 0, 0, 0.4);
        border-radius: 4px;
        padding: 6px 12px;
        text-align: center;
        color: rgb(255, 255, 255, 1);
        font-weight: bold;
        animation: pulsate 2s infinite;
        cursor: pointer;
    }

@keyframes pulsate {
    0% {
        transform: translateX(-50%) scale(1);
        opacity: 1;
    }

    50% {
        transform: translateX(-50%) scale(1.1);
        opacity: 0.5;
    }

    100% {
        transform: translateX(-50%) scale(1);
        opacity: 1;
    }
}

.InheritedIRARMDView .zoom-control-toolbar {
    position: sticky;
    bottom: 0px;
    left: 0px;
    right: 0px;
    background: #F5F5F5;
    width: 100%;
    display: flex;
    justify-content: flex-end;
    align-items: center;
    padding-top: 5px;
    padding-bottom: 5px;
    padding-right: 10px;
    border-bottom-left-radius: 20px;
    border-bottom-right-radius: 20px;
}

    .InheritedIRARMDView .zoom-control-toolbar .btn {
        font-size: 14px;
        border-radius: 6px;
        padding: 3px 5px;
        margin-right: 5px;
        background: #4AAEE1;
        color: white;
        font-weight: 500;
    }

    .InheritedIRARMDView .zoom-control-toolbar .slider {
        margin-left: 5px;
        margin-right: 10px;
    }

    .InheritedIRARMDView .zoom-control-toolbar .percent-label {
        margin-bottom: 0px;
        margin-right: 10px;
        font-size: 14px;
    }

    .InheritedIRARMDView .zoom-control-toolbar input {
        accent-color: #4AAEE1;
    }

@keyframes slideDown {
    0% {
        transform: translateY(-100%);
    }

    100% {
        transform: translateY(0%);
    }
}

.InheritedIRARMD-letter-wrapper {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-color: rgba(0, 0, 0, 0.5);
    display: flex;
    justify-content: center;
    align-items: center;
    z-index: 1001;
}

    .InheritedIRARMD-letter-wrapper .InheritedIRARMD-letter-popout {
        background-color: white;
        padding: 2rem;
        border-radius: 4px;
        width: 90%;
        max-width: 600px;
        max-height: 90%;
        overflow-y: auto;
    }

    .InheritedIRARMD-letter-wrapper .InheritedIRARMD-letter-button {
        min-width: 100px;
        margin: 0 10px;
    }

    .InheritedIRARMD-letter-wrapper .button-wrapper {
        display: flex;
        justify-content: center;
        margin-top: 15px;
    }

    .InheritedIRARMD-letter-wrapper .form-group {
        margin-bottom: 1rem;
    }

    .InheritedIRARMD-letter-wrapper .form-check {
        margin-bottom: 0.5rem;
    }






/* CRUT Calculator */

/* CRUTView styles */
.CRUT-main {
    display: flex;
    flex-direction: column;
}

.CRUTView {
    display: flex;
    flex-direction: row;
    font-size: 16px;
    line-height: 1.5;
    height: calc(100vh - 5rem);
}

    .CRUTView .h-resizer {
        height: 8px;
        font-size: 16px;
        border-bottom: none;
        border-top: none;
    }

    .CRUTView .resizer {
        width: 8px;
        min-width: 8px;
        max-width: 8px;
        writing-mode: vertical-lr;
        font-size: 16px;
        border-left: 1px solid #a9a9a9;
        border-right: none;
        background: none;
    }

    .CRUTView .CRUT-side-panel {
        flex: 1;
        display: flex;
        flex-direction: column;
        overflow: auto;
        width: 340px;
        padding: 3px 5px;
        margin: 10px;
        border: 1px solid #F0F0F0;
        box-shadow: 0px 2px 16px #F4FAFD;
        border-radius: 20px;
    }

        .CRUTView .CRUT-side-panel tbody tr td:first-child {
            max-width: 12em;
        }

        .CRUTView .CRUT-side-panel.fullscreen {
            width: 100vw !important;
            padding: 1vh 20vw;
            margin-right: 5%;
            margin-left: 5%;
        }

    .CRUTView .CRUT-results-wrapper {
        display: flex;
        flex-direction: column;
        width: 100%;
        overflow: auto;
        margin-left: 5px;
        margin-right: 5px;
        border: 1px solid #F4F4F4;
        border-radius: 20px;
    }

    .CRUTView .CRUT-results {
        display: flex;
        flex-direction: column;
        overflow: auto;
        margin-left: 6px;
        height: 100%;
    }

    .CRUTView .CRUTDetailsView {
        padding-left: 0px;
        padding-right: 0px;
        position: absolute;
        width: unset;
    }

    .CRUTView .CRUT-details-tables ul li:not(:last-child) {
        margin-bottom: 0.75rem;
    }

    .CRUTView .CRUTDetailsView table thead tr th {
        border-top: 0px;
        text-align: center;
        background-color: #E8F3F9;
    }

    .CRUTView .CRUTDetailsView table thead tr:first-child th:first-child {
        border-top-left-radius: 20px;
    }

    .CRUTView .CRUTDetailsView table thead tr:first-child th:last-child {
        border-top-right-radius: 20px;
    }

    .CRUTView .CRUTDetailsView table tbody tr td {
        border-top: 0px;
        text-align: center;
        padding: 0px 6px;
        white-space: nowrap;
    }

    .CRUTView .CRUT-details-tables {
        display: flex;
        flex-direction: column;
        flex: 1;
        z-index: 2;
        background-color: white;
    }

    .CRUTView .CRUT-details-header {
        cursor: pointer;
        background-color: #007BFF;
        color: white;
        padding: 8px 12px;
        font-weight: bold;
        font-size: 16px;
        border-radius: 4px;
    }

        .CRUTView .CRUT-details-header:hover {
            background-color: #0056B3;
            text-decoration: none;
            color: black;
        }

    .CRUTView .details-tab-content {
        display: flex;
        position: relative;
        overflow: auto;
        flex-direction: column;
        scrollbar-width: thin;
        scrollbar-color: #29ABE2 #B7E5FC;
        scrollbar-arrow-color: #B7E5FC;
        flex-grow: 1;
    }

    .CRUTView .CRUT-summaries-table-parent {
        display: flex;
        position: relative;
        overflow: auto;
        scrollbar-width: thin;
        scrollbar-color: #29ABE2 #B7E5FC;
        scrollbar-arrow-color: #B7E5FC;
    }

    .CRUTView .CRUT-summaries-tables {
        display: flex;
        flex-direction: column;
    }

        .CRUTView .CRUT-summaries-tables table thead tr th {
            text-align: center;
            background-color: #E8F3F9;
        }

        .CRUTView .CRUT-summaries-tables table thead tr:first-child th:first-child {
            border-top-left-radius: 20px;
        }

        .CRUTView .CRUT-summaries-tables table thead tr:first-child th:last-child {
            border-top-right-radius: 20px;
        }

        .CRUTView .CRUT-summaries-tables table tbody tr td {
            text-align: center;
            padding: 0px 6px;
            white-space: nowrap;
        }

    .CRUTView .summary-options {
        justify-content: space-between;
        margin-bottom: 2px;
    }

    .CRUTView .CRUT-options-header {
        cursor: pointer;
        background-color: #F4F4F4;
        color: #000000;
        font-weight: bold;
        font-size: 16px;
        border-radius: 10px;
        position: sticky;
        top: 0;
        z-index: 1;
    }

    .CRUTView .customized-input-number .input {
        text-align: center;
    }

    .CRUTView .customized-input-number .spinner.decrement {
        padding: 0px 0px 0px 0px;
        margin: 0px 2px 0px 2px;
        height: auto;
        background-color: #4AAEE1;
        border: none;
    }

    .CRUTView .customized-input-number .spinner.increment {
        padding: 0px 0px 0px 0px;
        margin: 0px 2px 0px 2px;
        height: auto;
        background-color: #4AAEE1;
        border: none;
    }

    .CRUTView .option-input-group {
        border-bottom: 2px solid #F4F4F4;
        padding-bottom: 3px;
        margin-top: 3px;
        border-radius: 10px;
        border-bottom-left-radius: 0px;
        border-bottom-right-radius: 0px;
        padding-left: 5px;
        padding-right: 5px;
    }

        .CRUTView .option-input-group div:not(.option-input-title) {
            padding: 3px;
        }

        .CRUTView .option-input-group div {
            border-radius: 10px;
        }

        .CRUTView .option-input-group > div:first-child {
            border-radius: 10px 10px 0px 0px;
        }

        .CRUTView .option-input-group > div:nth-child(2) {
            border-radius: 0px 0px 10px 10px;
        }

    .CRUTView .option-input-title {
        font-weight: 500;
        padding-bottom: 3px;
        padding-left: 2px;
    }

    .CRUTView .no-hover {
        position: relative;
        top: -10px;
        border: 1px solid #F4F4F4;
        border-top: none;
        padding: 10px 0px;
        border-radius: 0px 0px 10px 10px;
    }

    .CRUTView .collapse {
        display: none;
    }

    /* Button styles */
    .CRUTView button {
        background-color: #4AAEE1;
        border: none;
        color: white;
        text-align: center;
        text-decoration: none;
        display: inline-block;
        font-size: 14px;
        margin: 4px 2px;
        cursor: pointer;
        padding: 10px 24px;
        border-radius: 4px;
        transition: background-color 0.3s;
    }

        .CRUTView button:hover {
            background-color: #0056B3;
            text-decoration: none;
            color: white;
        }

    .CRUTView .customized-input-number button {
        width: 24px;
        height: 100%;
        margin: 2px
    }

    .CRUTView .advanced-option .customized-input-number button {
        background-color: purple !important;
    }

    .CRUTView td button {
        padding: 0px;
        width: 25px;
        height: 100%;
    }

    /* Table styles */
    .CRUTView table {
        width: 100%;
        border-collapse: collapse;
        font-size: 14px;
    }

    .CRUTView th, .CRUTView td {
        text-align: left;
        border-bottom: 1px solid #ddd;
        padding: 4px;
    }

    .CRUTView th {
        background-color: #f2f2f2;
        font-weight: bold;
    }

    .CRUTView tr:not(.no-hover):hover {
        background-color: #f5f5f5;
    }

    /* Input styles */
    .CRUTView input[type="date"],
    .CRUTView input[type="text"],
    .CRUTView select,
    .CRUTView .form-control,
    .CRUTView .customized-input-number input {
        width: 100%;
        padding: 0px 6px;
        border: 1px solid #ccc;
        border-radius: 4px;
        font-size: 14px;
    }

    .CRUTView .arrow {
        display: inline-block;
        width: 0;
        height: 0;
        border-style: solid;
        margin-left: 5px;
    }

        .CRUTView .arrow.right {
            border-width: 5px 0 5px 5px;
            border-color: transparent transparent transparent #000;
        }

        .CRUTView .arrow.down {
            border-width: 5px 5px 0px 5px;
            border-color: #000 transparent transparent transparent;
        }

    /* Toggle Switch */
    .CRUTView .options-toggle {
        display: flex;
        flex-direction: row;
        justify-content: flex-end;
    }

    .CRUTView .toggle-switch {
        position: relative;
        display: inline-block;
        width: 40px;
        height: 20px;
    }

        .CRUTView .toggle-switch input {
            opacity: 0;
            width: 0;
            height: 0;
        }

    .CRUTView .toggle-slider {
        position: absolute;
        cursor: pointer;
        top: 0;
        left: 0;
        right: 0;
        bottom: 0;
        background-color: #ccc;
        transition: 0.4s;
        border-radius: 34px;
    }

        .CRUTView .toggle-slider:before {
            position: absolute;
            content: "";
            height: 16px;
            width: 16px;
            left: 4px;
            bottom: 2px;
            background-color: white;
            transition: 0.4s;
            border-radius: 50%;
        }

    .CRUTView input:checked + .toggle-slider {
        background-color: #007BFF;
    }

    .CRUTView input:focus + .toggle-slider {
        box-shadow: 0 0 1px #007BFF;
    }

    .CRUTView input:checked + .toggle-slider:before {
        transform: translateX(16px);
    }

    /* Multi-Option Switch with Timeline */
    .CRUTView .multi-option-switch {
        display: flex;
        position: relative;
        justify-content: space-between;
        padding: 5px 7px;
        background-color: #f0f0f0;
        border-radius: 6px;
        margin-left: 4px;
        margin-right: 4px;
    }

        .CRUTView .multi-option-switch input[type="radio"] {
            display: none;
        }

        .CRUTView .multi-option-switch label {
            display: flex;
            flex: 1;
            justify-content: center;
            white-space: nowrap;
            cursor: pointer;
            text-align: center;
            color: #999;
            transition: background-color 0.4s, transform 0.4s;
            position: relative;
            z-index: 1;
            font-weight: 600;
            border-radius: 6px;
            padding: 2px 8px;
            transform: scale(0.9);
        }

        .CRUTView .multi-option-switch input[type="radio"]:checked + label {
            color: #fff;
            transform: scale(1);
            font-weight: 600;
            background: linear-gradient(99.02deg, rgb(0, 113, 188) 95.38%, rgb(0, 113, 188) 95.38%);
            padding: 2px 8px;
        }

        .CRUTView .multi-option-switch input[type="radio"]:first-child:checked + label {
            background: linear-gradient(99.02deg, rgb(41, 171, 226) -19.8%, rgb(0, 113, 188) 95.38%);
        }

        .CRUTView .multi-option-switch input[type="radio"]:last-child:checked + label {
            background: linear-gradient(99.02deg, #0071BC -19.8%, #29ABE2 95.38%);
        }

    .CRUTView .tabs-container {
        margin-top: 7px;
        margin-bottom: 7px;
        margin-right: 5px;
        display: flex;
        flex-direction: column;
        flex-grow: 100;
    }

    .CRUTView .nav-item button {
        padding-top: 6px;
        padding-bottom: 6px;
        font-size: 12pt;
    }

    .CRUTView .nav.nav-tabs {
        border-bottom: none;
    }

    .CRUTView .nav-tabs .nav-link {
        color: #087DC4;
        font-weight: 600;
        background: linear-gradient(99.02deg, #E8F3F9 95.38%, #E8F3F9 95.38%);
        margin: 0px;
        border-radius: 0px;
    }

    .CRUTView .nav-tabs .nav-item:first-child .nav-link {
        border-top-left-radius: 10px;
        border-bottom-left-radius: 10px;
    }

    .CRUTView .nav-tabs .nav-item:last-child .nav-link {
        border-top-right-radius: 10px;
        border-bottom-right-radius: 10px;
    }

    .CRUTView .nav-tabs .nav-link.active {
        background: linear-gradient(99.02deg, #0071BC 95.38%, #0071BC 95.38%);
        color: #FFFFFF;
    }

    .CRUTView .nav-tabs .nav-item:first-child .nav-link.active {
        background: linear-gradient(99.02deg, #29ABE2 -19.8%, #0071BC 95.38%);
        color: #FFFFFF;
    }

    .CRUTView .nav-tabs .nav-item:last-child .nav-link.active {
        background: linear-gradient(99.02deg, #0071BC -19.8%, #29ABE2 95.38%);
        color: #FFFFFF;
    }

    .CRUTView .tab-content {
        border-top: none;
        padding: 6px 0px 0px 0px;
        background-color: #fff;
        display: flex;
        flex-grow: 100;
        justify-content: center;
        align-items: center;
        flex-direction: column;
    }

    .CRUTView .tab-pane {
        height: 100%;
        width: 100%;
    }

    .CRUTView .tab-content > .active {
        display: flex;
        flex-direction: column;
    }

    /* Scroll to Top Button */
    .CRUTView .scroll-to-top-btn {
        display: none;
        position: fixed;
        bottom: 20px;
        right: 40px;
        z-index: 99;
        font-size: 14px;
        width: 40px;
        height: 40px;
        color: white;
        background-color: #007BFF;
        border: none;
        cursor: pointer;
        border-radius: 50%;
        transition: background-color 0.3s;
        text-align: center;
        padding: 0px;
        margin: 2px;
    }

        .CRUTView.scroll-to-top-btn:hover {
            background-color: #0056B3;
        }

    .CRUTView .progress-circle {
        position: absolute;
        top: 0;
        left: 0;
    }

    .CRUTView .progress-bg {
        stroke: #ccc;
    }

    .CRUTView .progress-bar {
        stroke: white;
        stroke-linecap: round;
        transform-origin: center;
        transform: rotate(-90deg);
    }

    /* More Details Below indicator */
    .CRUTView .scroll-indicator {
        display: none;
        position: sticky;
        width: 200px;
        bottom: 20px;
        left: 50%;
        transform: translateX(-50%);
        background-color: rgba(0, 0, 0, 0.4);
        border-radius: 4px;
        padding: 6px 12px;
        text-align: center;
        color: rgb(255, 255, 255, 1);
        font-weight: bold;
        animation: pulsate 2s infinite;
        cursor: pointer;
    }

@keyframes pulsate {
    0% {
        transform: translateX(-50%) scale(1);
        opacity: 1;
    }

    50% {
        transform: translateX(-50%) scale(1.1);
        opacity: 0.5;
    }

    100% {
        transform: translateX(-50%) scale(1);
        opacity: 1;
    }
}

.CRUTView .zoom-control-toolbar {
    position: sticky;
    bottom: 0px;
    left: 0px;
    right: 0px;
    background: #F5F5F5;
    width: 100%;
    display: flex;
    justify-content: flex-end;
    align-items: center;
    padding-top: 5px;
    padding-bottom: 5px;
    padding-right: 10px;
    border-bottom-left-radius: 20px;
    border-bottom-right-radius: 20px;
}

    .CRUTView .zoom-control-toolbar .btn {
        font-size: 14px;
        border-radius: 6px;
        padding: 3px 5px;
        margin-right: 5px;
        background: #4AAEE1;
        color: white;
        font-weight: 500;
    }

    .CRUTView .zoom-control-toolbar .slider {
        margin-left: 5px;
        margin-right: 10px;
    }

    .CRUTView .zoom-control-toolbar .percent-label {
        margin-bottom: 0px;
        margin-right: 10px;
        font-size: 14px;
    }

    .CRUTView .zoom-control-toolbar input {
        accent-color: #4AAEE1;
    }

@keyframes slideDown {
    0% {
        transform: translateY(-100%);
    }

    100% {
        transform: translateY(0%);
    }
}

.CRUT-letter-wrapper {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-color: rgba(0, 0, 0, 0.5);
    display: flex;
    justify-content: center;
    align-items: center;
    z-index: 1001;
}

    .CRUT-letter-wrapper .CRUT-letter-popout {
        background-color: white;
        padding: 2rem;
        border-radius: 4px;
        width: 90%;
        max-width: 600px;
        max-height: 90%;
        overflow-y: auto;
    }

    .CRUT-letter-wrapper .CRUT-letter-button {
        min-width: 100px;
        margin: 0 10px;
    }

    .CRUT-letter-wrapper .button-wrapper {
        display: flex;
        justify-content: center;
        margin-top: 15px;
    }

    .CRUT-letter-wrapper .form-group {
        margin-bottom: 1rem;
    }

    .CRUT-letter-wrapper .form-check {
        margin-bottom: 0.5rem;
    }

.summary-options {
    display: flex;
    height: 35px;
    align-items: center;
    justify-content: flex-start;
    align-content: center;
}

    .summary-options .customized-input-number button {
        height: 25px;
        padding: 0px;
    }

    .summary-options .customized-input-number input {
        height: 26px;
        width: 100px;
    }

.inflation-adjusted-label {
    position: fixed;
    top: 0;
    left: 0;
    padding: 1px 15px;
    background-color: #e74c3c;
    border-bottom-right-radius: 5px;
    font-weight: bold;
    z-index: 1000;
    font-size: 16px;
    box-shadow: 0 2px 5px rgba(0, 0, 0, 0.25);
    animation: slideDown 0.5s ease-out forwards;
    opacity: 0.95;
}

/* boxes view */
.boxes-view {
    display: flex;
    flex-wrap: wrap;
    flex-direction: column;
    margin-top: 4px;
    margin-left: auto;
    margin-right: auto;
    margin-bottom: 4px;
}

    .boxes-view .scenario-title {
        margin-bottom: 20px;
    }

    .boxes-view .scenario-view {
        background: #ffffff;
        padding: 20px;
    }

    .boxes-view .scenario-box-view {
        background: #ffffff;
    }

        .boxes-view .scenario-box-view tr {
        }

        .boxes-view .scenario-box-view td {
            height: inherit;
            white-space: nowrap;
        }

    .boxes-view .content-control {
        display: flex;
        flex-direction: column;
        justify-content: space-between;
        width: 100%;
        height: 100%;
    }

        .boxes-view .content-control td {
            border: 1px solid #000000;
        }

        .boxes-view .content-control p {
            width: max-content;
            min-width: 100%;
        }

    .boxes-view .content-sub-control {
        margin-right: 10px;
    }

        .boxes-view .content-sub-control:last-child {
            margin-right: 0px;
        }

        .boxes-view .content-sub-control td {
            border: 1px solid #000000;
        }

    .boxes-view p {
        font-size: 14px;
        margin-bottom: 0px;
    }

        .boxes-view p.amount-style {
            font-size: 16px;
        }

    .boxes-view .scenario-title p {
        text-align: center;
        font-size: 16px;
        margin-bottom: 0px;
    }

    .boxes-view .content-control p {
        padding-left: 5px;
    }

    .boxes-view .content-control .flex-1 {
        flex: 1;
    }

    .boxes-view .content-control .flex-2 {
        flex: 2;
    }

    .boxes-view .content-control .flex-grow-100 {
        flex-grow: 100;
    }

    .boxes-view .content-control .border-1 {
        border: 1px solid #000000;
        border-top: none;
    }

    .boxes-view .content-control .border-left-1 {
        border-left: 1px solid #000000;
    }

    .boxes-view .content-control .border-right-1 {
        border-left: 1px solid #000000;
    }

    .boxes-view .content-control div.estate-title-text-style {
        text-align: center;
        border: 1px solid rgb(255,0,0,0.4);
        border-bottom: 1px solid #000000;
        width: max-content;
        min-width: 100%;
    }

    .boxes-view .estate-title-text-style {
        font-weight: bold;
        background: rgb(255,0,0,0.4);
        font-size: 14px;
        color: black;
    }

    .boxes-view .content-control div.bypass-title-text-style {
        text-align: center;
        border: 1px solid rgb(200,141,0, 0.4);
        border-bottom: 1px solid #000000;
        width: max-content;
        min-width: 100%;
    }

    .boxes-view .bypass-title-text-style {
        font-weight: bold;
        background: rgb(200,141,0, 0.4);
        font-size: 14px;
        color: black;
    }

    .boxes-view .content-control div.gifting-title-text-style {
        text-align: center;
        border: 1px solid rgb(32,74,135,0.4);
        border-bottom: 1px solid #000000;
        width: max-content;
        min-width: 100%;
    }

    .boxes-view .gifting-title-text-style {
        font-weight: bold;
        background: rgb(32,74,135,0.4);
        font-size: 14px;
        color: black;
    }

    .boxes-view .content-control div.installment-title-text-style {
        text-align: center;
        border: 1px solid rgb(0,0,255,0.4);
        border-bottom: 1px solid #000000;
        width: max-content;
        min-width: 100%;
    }

    .boxes-view .installment-title-text-style {
        font-weight: bold;
        background: rgb(0,0,255,0.4);
        font-size: 14px;
        color: black;
    }

    .boxes-view .content-control div.title-text-style.not-trust {
        background: yellow;
        border: 1px solid yellow;
        border-bottom: 1px solid #000000;
        color: black;
    }

    .boxes-view .title-text-style.not-trust {
        font-weight: bold;
        background: yellow;
        border: 1px solid yellow;
        border-bottom: 1px solid #000000;
        font-size: 14px;
        color: black;
    }

    .boxes-view .title-text-style.trust {
        font-weight: bold;
        font-size: 14px;
        text-align: center;
        background: rgb(100,45,100,0.4);
        border: 1px solid rgb(100,45,100,0.4);
        border-bottom: 1px solid #000000;
        color: black;
    }

    .boxes-view .ilitdata-template {
    }

        .boxes-view .ilitdata-template .ilitdata-template-box {
            display: flex;
            width: 100%;
            height: 100%;
        }

        .boxes-view .ilitdata-template .content-sub-control {
            display: flex;
            flex-direction: column;
            justify-content: space-between;
            flex: 1;
        }


            .boxes-view .ilitdata-template .content-sub-control div {
                border: 1px solid #000000;
                border-top: none;
            }

                .boxes-view .ilitdata-template .content-sub-control div.title-text-style {
                    border: 1px solid rgb(100,45,100,0.4);
                    border-bottom: 1px solid #000000;
                    width: max-content;
                    text-align: center;
                    min-width: 100%;
                }

                .boxes-view .ilitdata-template .content-sub-control div.not-trust {
                    border: 1px solid yellow;
                    border-bottom: 1px solid #000000;
                }

                .boxes-view .ilitdata-template .content-sub-control div.border-0 div {
                    border: none;
                }

                .boxes-view .ilitdata-template .content-sub-control div p {
                    width: max-content;
                    padding-left: 5px;
                }

    .boxes-view .qprtdata-template {
    }

        .boxes-view .qprtdata-template .qprtdata-template-box {
            display: flex;
            width: 100%;
            height: 100%;
        }

        .boxes-view .qprtdata-template .content-sub-control {
            display: flex;
            flex-direction: column;
            justify-content: space-between;
            flex: 1;
        }

            .boxes-view .qprtdata-template .content-sub-control div {
                border: 1px solid #000000;
                border-top: none;
            }

                .boxes-view .qprtdata-template .content-sub-control div.title-text-style {
                    font-size: 14px;
                    font-weight: bold;
                    border: 1px solid rgb(155, 38, 182, 0.6);
                    border-bottom: 1px solid #000000;
                    width: max-content;
                    text-align: center;
                    min-width: 100%;
                    background: rgb(155, 38, 182, 0.4);
                }

                .boxes-view .qprtdata-template .content-sub-control div.border-0 div {
                    border: none;
                }

                .boxes-view .qprtdata-template .content-sub-control div p {
                    width: max-content;
                    padding-left: 5px;
                }

.boxes-hidden-view {
    z-index: -99;
    position: absolute;
    pointer-events: none;
    display: none;
}

/* timeline */
.chart-view {
    background: #ffffff;
    padding: 20px;
    margin-top: 20px;
    margin-left: 10px;
    margin-right: 10px;
    width: 100%;
}

.chart-hidden-view {
    z-index: -99;
    position: relative;
    pointer-events: none;
    width: 1500px;
    height: 800px;
    display: none;
}

/* details */
.projections-view {
    display: flex;
    flex-wrap: wrap;
    flex-direction: column;
    margin-top: 20px;
    margin-left: auto;
    margin-right: auto;
    margin-bottom: 10px;
}

    .projections-view > div {
        background: #ffffff;
        padding: 20px;
    }

    .projections-view .scenario-name {
        font-size: 16px;
        font-weight: bold;
    }

    .projections-view .options-in-header-template .spouse1 {
        font-size: 14px;
        font-weight: bold;
        margin-bottom: 0px;
    }

    .projections-view .options-in-header-template .spouse2 {
        font-size: 14px;
        font-weight: bold;
    }

    .projections-view .stack {
        margin-bottom: 20px;
        display: flex;
        flex-direction: column;
        align-items: center;
    }

        .projections-view .stack .stack-title {
            text-align: center;
            font-weight: bold;
            margin-bottom: 0px;
            font-size: 14px;
        }

        .projections-view .stack table th {
            font-size: 14px;
            font-weight: inherit;
            border: 1px solid #dddddd;
            padding-left: 5px;
            padding-right: 5px;
        }

        .projections-view .stack table td {
            font-size: 14px;
            font-weight: inherit;
            border: 1px solid #dddddd;
            padding-left: 5px;
            padding-right: 5px;
        }

            .projections-view .stack table td p {
                margin-bottom: 0px;
            }

            .projections-view .stack table td .foreground-red {
                color: red;
            }

.projections-hidden-view {
    z-index: -99;
    position: absolute;
    pointer-events: none;
    display: none;
}

/* Annual Amts*/
.diagnostics-view {
    display: table;
    margin-top: 20px;
    margin-left: 10px;
    margin-right: 10px;
    margin-bottom: 10px;
    background: #ffffff;
    padding: 20px;
    width: 100%;
}

    .diagnostics-view .account-select-box {
        display: flex;
        align-items: center;
        margin-bottom: 5px;
    }

        .diagnostics-view .account-select-box p {
            margin-bottom: 0px;
            margin-right: 10px;
            font-size: 14px;
        }

        .diagnostics-view .account-select-box select {
            width: 100%;
            font-size: 14px;
        }

    .diagnostics-view table td {
        font-size: 14px;
        font-weight: inherit;
        border: 1px solid #000;
        padding-left: 5px;
        padding-right: 5px;
        white-space: nowrap;
    }

    .diagnostics-view table th {
        font-size: 14px;
        font-weight: inherit;
        border: 1px solid #000;
        padding-left: 5px;
        padding-right: 5px;
        text-align: center;
    }

        .diagnostics-view table th:last-child {
            width: 100%;
        }

.customized-input-number {
    position: relative;
    align-items: center;
}

.OneTimeExpensesView table td .customized-input-number button {
    background-color: #007BFF;
}

.lightGray {
    background: #D3D3D3;
}

.content {
    padding-top: 1.1rem;
}

.navbar-toggler {
    background-color: rgba(255, 255, 255, 0.1);
}

.truncate {
    width: 250px;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.vertical-align-top {
    vertical-align: top;
}

.vertical-align-bottom {
    vertical-align: bottom;
}

.valid.modified:not([type=checkbox]) {
    outline: 1px solid #26b050;
}

.invalid {
    outline: 1px solid red;
}

.validation-message {
    color: red;
}

#blazor-error-ui {
    background: lightyellow;
    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;
    font-size: xx-large;
    height: 80%;
    width: 100%;
    z-index: 999999;
}

    #blazor-error-ui .dismiss {
        cursor: pointer;
        position: absolute;
        right: 0.75rem;
        top: 0.5rem;
    }

.assumptionsPage {
    display: flex;
    flex: 1;
    position: absolute;
    background-color: #f0f0f0;
    z-index: 999;
    visibility: hidden;
    opacity: 0;
    transition: visibility 0s, opacity 0.5s linear;
}

    .assumptionsPage .navbar {
        overflow-x: clip;
        z-index: 2;
    }

        .assumptionsPage .navbar .nav-item .nav-link {
            white-space: nowrap;
        }

    .assumptionsPage.active {
        visibility: visible;
        opacity: 1;
        position: relative;
    }

    .assumptionsPage #actuarialYearOfDeath {
        text-align: center;
    }

    .assumptionsPage .nav-link {
        font-size: 9pt;
    }

    .assumptionsPage .assumptions-header {
        display: flex;
        width: 100%;
        justify-content: space-between;
    }

    .assumptionsPage .navbar li {
        width: fit-content;
    }

.resizer {
    background-color: #f0f0f0 !important;
    cursor: ew-resize;
    height: 100%;
    width: 16px;
    min-width: 16px;
    max-width: 16px;
    display: flex;
    justify-content: center;
    align-items: center;
    font-size: 20px;
    border-right: 1px dotted #a9a9a9;
    border-left: 1px dotted #a9a9a9;
    background: linear-gradient(#a9a9a9, #a9a9a9) center 0/1px 2px repeat-y;
    user-select: none;
    touch-action: none;
    z-index: 2;
}

.resizer-vertical {
    background-color: #f0f0f0 !important;
    cursor: ew-resize;
    height: 16px;
    width: 100%;
    display: flex;
    justify-content: center;
    align-items: center;
    font-size: 20px;
    border-right: 1px dotted #a9a9a9;
    border-left: 1px dotted #a9a9a9;
    background: linear-gradient(#a9a9a9, #a9a9a9) center 0/1px 1px repeat-x;
    user-select: none;
    touch-action: none;
}

.h-resizer {
    background-color: #f0f0f0 !important;
    cursor: ns-resize;
    height: 16px;
    flex-shrink: 0;
    z-index: 999;
    width: 100%;
    display: flex;
    justify-content: center;
    align-items: center;
    font-size: 20px;
    border-top: 1px dotted #a9a9a9;
    border-bottom: 1px dotted #a9a9a9;
    background: linear-gradient(90deg, #a9a9a9, #a9a9a9) center 0/2px 1px repeat-x;
    user-select: none;
    touch-action: none;
}

.assumptions {
    overflow: scroll;
    overflow-x: auto;
    width: 100%;
    position: relative;
    z-index: 2;
    background-color: white;
}

.assumptionsPage table {
    border-collapse: collapse;
    width: 100%;
}

.assumptionsPage .expanded table {
    width: 80%;
}

.second-column {
    width: 40%;
}

.expanded .second-column {
    width: 45%;
}

.assumptionsPage th {
    font-size: 12px;
    padding-left: 10px;
}

.assumptionsPage .expanded table th {
    font-size: x-large;
}

.assumptionsPage td {
    border: 1px solid #dddddd;
    background-color: #ffffff;
    font-size: 12px;
}

.assumptionsPage .expanded table td {
    font-size: x-large;
}

.assumptionsPage td input {
    width: 100%;
    outline: none;
    border: none;
    text-align: center;
}

.assumptionsPage td .checkbox {
    width: auto;
    display: flex;
    margin-left: 5px;
    align-self: center;
}

.assumptionsPage .expanded td .checkbox {
    width: auto;
    display: flex;
    margin-left: 15px;
    transform: scale(1.5);
}

.assumptionsPage .expanded th .checkbox {
    width: auto;
    display: flex;
    margin-left: 15px;
    margin-right: 15px;
    transform: scale(1.5);
}

.assumptionsPage nav {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    padding-top: 0px;
    padding-bottom: 4px;
}

.navbar {
    padding-top: 0px !important;
}

.assumptionsPage nav .navbar-brand {
    padding-top: 0px;
    padding-bottom: 0px;
}

.assumptionsPage nav ul {
    display: block;
    columns: 3;
    column-width: 80px;
    column-gap: 0px;
}

    .assumptionsPage nav ul li a {
        padding: 0.25rem 0.5rem;
    }

.assumptionsPage th .oi {
    white-space: nowrap;
}

.assumptionsPage td select {
    width: 100%;
    outline: none;
    border: none;
    text-align: center;
}

.assumptionsPage td .customized-input-number input {
    text-align: center;
}

.assumptionsPage .options-afr-lookup-btn {
    font-size: 12px;
    padding: 0px 2px 0px 2px;
    background-color: aqua;
    margin-right: 2px;
}

.options-afr-lookup-btn img {
    height: 15px;
}

.planner-header {
    background-color: rgb(185,240,170,0.4);
}

.client-header {
    background-color: rgb(255,0,0,0.4);
}

.spouse1-header {
    background-color: rgb(255,0,0,0.2);
}

.spouse2-header {
    background-color: rgb(255,0,0,0.2);
}

.portability-header {
    background-color: rgb(255,255,0,0.4);
}

.exemption-header {
    background-color: rgb(255,255,0,0.4);
}

.strategies-header {
    background-color: gold;
}

.residence-header {
    background-color: rgb(78,154,6,0.4);
}

.investments-header {
    background-color: rgb(50,205,50,0.4);
}

.bypass-header {
    background-color: rgb(200,141,0, 0.4);
}

.gifting-header {
    background-color: rgb(32,74,135,0.4);
}

.life-insurance-header {
    background-color: rgb(100,45,100,0.4)
}

.spouse1-insurance-header {
    background-color: rgb(255,165,0,0.4);
}

.spouse2-insurance-header {
    background-color: rgb(255,255,0,0.4);
}

.survivorship-insurance-header {
    background-color: rgb(0,128,0,0.4);
}

.installment-header {
    background-color: rgb(0,0,255,0.4);
}

.misc-header {
    background-color: rgb(0,0,255,0.4);
}

.charity-header {
    background-color: cyan;
}

.no-bottom-border {
    border-bottom: none !important;
}

.no-top-border {
    border-top: none !important;
}

.form-range {
    height: 1rem !important;
}

.workspaceView {
    display: flex;
    flex-direction: column;
    align-items: center;
    flex-grow: 100;
    background: #A9A9A9;
    overflow: auto;
    position: relative;
}

.boxes-view button {
    display: none;
}

.hidden-views .boxes-view button {
    display: none !important;
}

.workspaceView .boxes-view button {
    display: block;
}

.workspaceView .summary-options .customized-input-number button {
    width: 25px;
}

.workspaceView .zoom-control-toolbar {
    position: fixed;
    bottom: 2.2rem;
    left: 0px;
    right: 0px;
    background: #D2E6FA;
    width: 100%;
    display: flex;
    justify-content: flex-end;
    align-items: center;
    padding-top: 5px;
    padding-bottom: 5px;
    padding-right: 205px;
}

    .workspaceView .zoom-control-toolbar .btn {
        font-size: 14px;
        border: 1px solid #666;
        border-radius: 0px;
        padding: 3px;
        margin-right: 5px;
        background: #DDDDDD;
    }

    .workspaceView .zoom-control-toolbar .slider {
        margin-left: 5px;
        margin-right: 10px;
    }

    .workspaceView .zoom-control-toolbar .percent-label {
        margin-bottom: 0px;
        margin-right: 10px;
        font-size: 14px;
    }

.workspaceView .zoom-control-toolbar-after {
    position: fixed;
    bottom: 2.2rem;
    left: 0px;
    right: 0px;
    background: #D2E6FA;
    width: 100%;
    display: flex;
    justify-content: center;
    align-items: center;
    padding-top: 5px;
    padding-bottom: 5px;
}

    .workspaceView .zoom-control-toolbar-after .btn {
        font-size: 14px;
        border: 1px solid #666;
        border-radius: 0px;
        padding: 3px;
        margin-right: 5px;
        background: #DDDDDD;
    }

    .workspaceView .zoom-control-toolbar-after .slider {
        margin-left: 5px;
        margin-right: 10px;
    }

    .workspaceView .zoom-control-toolbar-after .percent-label {
        margin-bottom: 0px;
        margin-right: 10px;
        font-size: 14px;
    }

.workspaceView .btn-group {
    display: flex;
    align-self: center;
    width: 99%;
}


.scenario-list-view {
    flex-shrink: 0;
    overflow-y: scroll;
    overflow-x: hidden;
    width: 178px;
    min-width: fit-content;
}

.scenarios-header {
    display: flex;
    width: 100%;
    justify-content: space-between;
    flex-wrap: nowrap;
    padding-top: 0px;
}

.scenario-list-view .list-group-item .scenario-name {
    display: block;
    width: 100%;
    font-weight: bold;
    font-size: 12px;
}

li .list-group-item {
    height: 40px;
    border: none !important;
    padding-left: 30px;
    background-color: #EEF5FD !important;
}

.scenarioView.active {
    display: flex;
    background-color: #eee;
}

.scenario-list-view .list-group-item.active {
    background: #CBE8F6;
    color: #000000;
    margin-top: 2px !important;
}

.scenario-list-view .list-group-item {
    border: 1px solid black !important;
    margin: 2px;
    width: auto;
    height: fit-content;
    border-radius: 5px;
    display: flex;
}

.scenario-list-view .set-height {
    min-height: 72px;
}

.scenario-list-view .list-group-item-action:focus, .list-group-item-action:hover {
    border-color: #70C0E7;
}

.scenario-list-view .boxes-view {
    display: flex;
    transform: scale(0.1);
    max-width: 50px;
    max-height: 190px;
    margin-top: -70px;
    margin-left: -30px !important;
    margin-bottom: 5px;
    margin-right: initial !important;
    align-items: flex-start;
    transform-origin: center !important;
    pointer-events: none;
}

    .scenario-list-view .boxes-view .content-control td {
        border: 1px solid #ddd;
    }

        .scenario-list-view .boxes-view .content-control td.title-text-style {
            border: 1px solid #ddd;
        }

    .scenario-list-view .boxes-view .content-sub-control td {
        border: 1px solid #ddd;
    }

        .scenario-list-view .boxes-view .content-sub-control td.title-text-style.not-trust {
            border: 1px solid #ddd;
        }

.progress {
    position: absolute;
    z-index: 999;
    width: 100%;
    bottom: 0px;
    background: transparent;
}

.menu-items-group:hover {
    cursor: pointer;
}


button.alter-summary-columns-button {
    all: unset;
    width: fit-content;
    cursor: pointer;
    margin-left: 1em;
    margin-right: 1em;
    font-weight: 500;
    color: #0172bd;
    font-size: 12pt;
    text-decoration: underline;
}

    button.alter-summary-columns-button:hover {
        all: unset;
        width: fit-content;
        cursor: pointer;
        margin-left: 1em;
        margin-right: 1em;
        font-weight: 500;
        color: #0150bd;
        font-size: 12pt;
        text-decoration: underline;
        background-color: beige;
    }


button.tab-button:not(.active) {
    color: #087DC4;
}

.tab-button {
    display: flex;
    flex-grow: 1;
    justify-content: center;
    align-content: center;
    background: linear-gradient(99.02deg, #E8F3F9 95.38%, #E8F3F9 95.38%);
    color: #087DC4;
    font-weight: 600;
    padding: 4px;
    border: none;
    margin: 4px 2px;
    font-size: 14px;
}

    .tab-button:first-child {
        border-top-left-radius: 20px;
    }

    .tab-button:last-child {
        border-top-right-radius: 20px;
    }

.active.tab-button {
    background: linear-gradient(99.02deg, #0071BC 95.38%, #0071BC 95.38%);
    color: white;
}

    .active.tab-button:first-child {
        background: linear-gradient(99.02deg, #29ABE2 -19.8%, #0071BC 95.38%);
    }

    .active.tab-button:last-child {
        background: linear-gradient(99.02deg, #0071BC -19.8%, #29ABE2 95.38%);
    }

        .active.tab-button:last-child:first-child {
            background: linear-gradient(99.02deg, #0071BC -19.8%, #0071BC 95.38%);
        }

svg.down {
    transform: rotate(180deg);
}

.blue-border-right {
    border-right: 5px solid rgba(0, 0, 255, 1);
}

.purple-border-right {
    border-right: 5px solid purple;
}

.lightGrey-background {
    background-color: lightgrey;
}

.lightBlue-background {
    background-color: rgba(0, 0, 255, 0.3);
}

/* Intake Form Styles */
.intake-form {
    background-color: #f9f9f9;
    height: calc(100% - 49px);
}

    .intake-form .scroll-margin {
        scroll-margin-top: 100px;
    }

    .intake-form .highlight {
        background-color: #ffebbd !important;
        border: 1.5px solid #ffab00 !important;
        box-shadow: 0px 0px 1px 1px #ffab00 !important;
    }

        .intake-form .highlight:not(input):not(.card) {
            border-radius: calc(var(--bs-border-radius) + 1px);
        }

        .intake-form .highlight:hover {
            box-shadow: 0px 0px 1px 1px #ffab00, 0px 0px 0px 1px #555 !important;
        }

        .intake-form .highlight:focus, .intake-form .highlight:focus-within {
            box-shadow: 0px 0px 2px 1px #ffab00, 0 0 0 0.25rem rgb(13 110 253 / 25%) !important;
        }

    .intake-form .scroll-margin:focus {
        animation: focusPulse 1s linear;
        animation-delay: 0.5s;
    }

@keyframes focusPulse {
    0% {
        background-color: initial;
        box-shadow: rgba(0, 0, 0, 0) 0px 0px 0px 0px;
    }

    10% {
        background-color: rgba(11, 94, 215, 0.5);
        box-shadow: rgba(11, 94, 215, 0.5) 0px 0px 10px 10px;
    }

    100% {
        background-color: initial;
        box-shadow: rgba(0, 0, 0, 0) 0px 0px 10px 100px;
    }
}

.btn:hover .settings-gear {
    animation: turnGear 0.5s ease;
}

@keyframes turnGear {
    0% {
        transform: rotate(0deg)
    }

    100% {
        transform: rotate(90deg)
    }
}

.intake-form .portal-button:hover {
    color: #fff !important;
    background-color: #039db8 !important;
    border-color: #039db8 !important;
}

.intake-form .customized-input-number input {
    text-align: left;
    width: 100%;
    margin-left: 2px;
    margin-right: 2px;
    border-radius: 0.25rem;
    border: 1px solid #ced4da;
}

.intake-form .sidebar {
    background-color: #181C32;
    color: #fff;
    height: 100%;
    overflow-y: auto;
    padding: 20px;
    font-weight: bold;
    scrollbar-color: lightgray #181C32;
}

    .intake-form .sidebar h5 {
        color: #fff;
        font-weight: bold;
    }

    .intake-form .sidebar .nav-item {
        border-radius: 6px;
    }

    .intake-form .sidebar .nav-link {
        color: #adb5bd;
        border-radius: 6px;
        padding: 0;
        transition: none;
        cursor: pointer;
        align-items: center;
        transition: all 0.1s linear;
    }

        .intake-form .sidebar .nav-link.sub {
            border-radius: 0px;
            padding: 0.5em 1em;
        }

        .intake-form .sidebar .nav-link .item-text {
            padding: .5rem 0 .5rem 1rem;
            flex: 1 1 100%;
        }

        .intake-form .sidebar .nav-link.calc .item-text {
            box-shadow: inset 8px 0 0 #ffebbd;
            border-radius: 6px;
        }

.intake-form .nav-link:hover .item-text {
    transform: scaleX(1.05) translate(1.25%);
}

.intake-form .sidebar .nav-item.review .nav-link, .intake-form .sidebar .nav-item.results .nav-link {
    color: #d5d9de;
}

.intake-form .sidebar .nav-item.review {
    background-color: rgba(133, 174, 235, 0.2);
}

.intake-form .sidebar .nav-item.results {
    background-color: rgba(133, 174, 235, 0.4);
}

.intake-form .sidebar .nav-link:hover {
    color: #fff !important;
    background-color: rgba(11, 94, 215, 0.2);
}

.intake-form .sidebar .nav-link.active {
    color: #fff !important;
    background-color: rgba(11, 94, 215, 0.5);
}

    .intake-form .sidebar .nav-link.active .item-text {
        transform: none;
        transform: scaleX(1.05);
    }

    .intake-form .sidebar .nav-link.active.calc .item-text {
        box-shadow: inset 8px 0 0 #ffebbd;
        background-image: linear-gradient(to right, #113d85, rgba(17, 61, 133, 0))
    }

.intake-form .change-step-btn:hover {
    background-color: #0851bb;
}

.intake-form .nav-link.sub:hover {
    transform: scale(1);
    background-color: rgba(11, 94, 215, 0.5);
    box-shadow: none;
}

.intake-form .sidebar .collapse-toggle {
    border-color: #797E84 !important;
    background-color: rgba(255, 255, 255, 0.05) !important;
    border-radius: 15px !important;
    height: 90%;
}

.intake-form .sidebar .nav-link.active .collapse-toggle {
    border-color: #AEB1B5 !important;
    color: #AEB1B5 !important;
    background-color: rgba(255, 255, 255, 0.075) !important;
}

.intake-form .sidebar .nav-item.review .nav-link .collapse-toggle, .intake-form .sidebar .nav-item.results .nav-link .collapse-toggle {
    border-color: #AEB1B5 !important;
    color: #AEB1B5 !important;
    background-color: rgba(255, 255, 255, 0.075) !important;
}

    .intake-form .sidebar .nav-item.review .nav-link .collapse-toggle:hover, .intake-form .sidebar .nav-item.results .nav-link .collapse-toggle:hover {
        border-color: #fff !important;
        color: #fff !important;
        background-color: rgba(255, 255, 255, 0.15) !important;
    }

.intake-form .sidebar .nav-link.active .collapse-toggle:hover {
    border-color: #fff !important;
    color: #fff !important;
    background-color: rgba(255, 255, 255, 0.15) !important;
}

.intake-form .sidebar .collapse-toggle:hover {
    border-color: #fff !important;
    background-color: rgba(255, 255, 255, 0.15) !important;
}

.intake-form .sidebar .collapse-toggle.collapsed {
    content: "\F279";
    font-family: bootstrap-icons !important;
    font-size: 1.25rem;
    line-height: 1;
}

.intake-form .sidebar .collapse-toggle::after {
    content: "\F27C";
    font-family: bootstrap-icons !important;
    font-size: 1.25rem;
    line-height: 1;
}

.intake-form .sidebar .collapse-toggle.collapsed::after {
    content: "\F279";
    font-family: bootstrap-icons !important;
    font-size: 1.25rem;
    line-height: 1;
}

.intake-form .card {
    border-radius: 10px;
    margin-bottom: 20px;
}

.intake-form h4 {
    margin-top: 10px;
    font-weight: bold;
}

.intake-form h5 {
    font-weight: bold;
}

.intake-form label {
    font-weight: 500;
}

.intake-form .btn {
    min-width: 100px;
}

.intake-form input,
.intake-form select,
.intake-form textarea {
    text-align: left;
}

    .intake-form input:hover:not(:focus),
    .intake-form select:hover:not(:focus),
    .intake-form textarea:hover:not(:focus) {
        box-shadow: 0px 0px 0px 1px #aaa;
    }

.intake-form .list-group-item {
    background-color: #f9f9f9;
}

/*@media (max-width: 767px) {
    .intake-form .sidebar {
        display: none;
    }
}*/

.intake-form .multi-person-check {
    margin-right: 5px;
    width: fit-content;
    border: 1px solid #ced4da;
    border-radius: 4px
}

/* Style for the chart containers */
.intake-form .chart-container {
    position: relative;
    width: 100%;
}

/* Style for the progress bars in the charts */
.intake-form .chart-bars .progress {
    height: 24px;
}

.intake-form .chart-bars .progress-bar {
    line-height: 24px;
}

.intake-form .estimated-policy {
    background-color: #fff3cd !important;
}

.intake-form .existing-policy {
    background-color: #e3f2fd !important;
}

.intake-form .btn-estimated {
    background-color: #ffc107 !important;
    border-color: #ffc107 !important;
    color: #000 !important;
}

/* Base multi-option-switch styles - add these before any scoped styles */
.intake-form .multi-option-switch {
    display: flex;
    position: relative;
    justify-content: space-between;
    padding: 5px 7px;
    background-color: #f0f0f0;
    border-radius: 6px;
    margin: 10px 0;
}

    .intake-form .multi-option-switch input[type="radio"] {
        display: none;
    }

    .intake-form .multi-option-switch label {
        display: flex;
        flex: 1;
        justify-content: center;
        white-space: nowrap;
        cursor: pointer;
        text-align: center;
        color: #999;
        transition: background-color 0.4s, transform 0.4s;
        position: relative;
        z-index: 1;
        font-weight: 600;
        border-radius: 6px;
        padding: 2px 8px;
        transform: scale(0.9);
    }

    .intake-form .multi-option-switch input[type="radio"]:checked + label {
        color: #fff;
        transform: scale(1);
        font-weight: 600;
        background: linear-gradient(99.02deg, rgb(0, 113, 188) 95.38%, rgb(0, 113, 188) 95.38%);
        padding: 2px 8px;
    }

    .intake-form .multi-option-switch input[type="radio"]:first-child:checked + label {
        background: linear-gradient(99.02deg, rgb(41, 171, 226) -19.8%, rgb(0, 113, 188) 95.38%);
    }

.intake-form .options-toggle .multi-option-switch input[type="radio"]:last-child:checked + label {
    background: linear-gradient(99.02deg, #0071BC -19.8%, #29ABE2 95.38%) !important;
}

/* Intake Form specific overrides */
.intake-form .multi-option-switch {
    width: 100%;
    max-width: max-content;
}

    .intake-form .multi-option-switch label {
        padding: 4px 12px;
        font-size: 0.9rem;
    }

.intake-form [input] {
    text-align: left !important;
}

.intake-form .save-as-wrapper {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-color: rgba(0, 0, 0, 0.5);
    display: flex;
    justify-content: center;
    align-items: center;
    z-index: 1000;
}

.intake-form .save-as-popout {
    background-color: white;
    padding: 20px;
    border-radius: 5px;
    width: 300px;
}

.intake-form .save-as-button {
    margin: 5px;
}


/* Document Query Styles */
.document-query-container {
    height: 100vh;
    background: #f8f9fa;
    padding: 0;
}

    .document-query-container .chat-interface {
        display: flex;
        flex-direction: column;
        height: 100%;
        max-width: 1400px;
        margin: 0 auto;
        background: white;
        box-shadow: 0 0 20px rgba(0,0,0,0.1);
        transition: margin-right 0.3s ease;
    }

        .document-query-container .chat-interface.with-panel {
            margin-right: 400px;
        }

    .document-query-container .chat-header {
        padding: 1.5rem;
        border-bottom: 1px solid #e9ecef;
        background: white;
    }

    .document-query-container .upload-container {
        display: flex;
        padding: 2rem;
        flex-direction: column;
        align-items: center;
    }

    .document-query-container .upload-box {
        text-align: center;
        padding: 2rem;
        border: 2px dashed #dee2e6;
        border-radius: 8px;
        background: #f8f9fa;
        max-width: 500px;
        width: 100%;
    }

        .document-query-container .upload-box i {
            font-size: 2rem;
            color: #6c757d;
        }

    .document-query-container .chat-messages {
        flex: 1;
        overflow-y: auto;
        padding: 1.5rem;
        background: #f8f9fa;
    }

    .document-query-container .message {
        max-width: 850px;
        margin: 0 auto 1.5rem auto;
    }

    .document-query-container .message-question {
        background: white;
        padding: 1rem;
        border-radius: 8px;
        box-shadow: 0 2px 4px rgba(0,0,0,0.05);
        margin-bottom: 0.5rem;
    }

    .document-query-container .message-answer {
        background: white;
        padding: 1rem;
        border-radius: 8px;
        box-shadow: 0 2px 4px rgba(0,0,0,0.05);
    }

    .document-query-container .answer-content {
        width: 100%;
    }

    .document-query-container .sources-section {
        margin-top: 1rem;
        padding-top: 1rem;
        border-top: 1px solid #e9ecef;
    }

    .document-query-container .source-item {
        font-size: 0.875rem;
        color: #6c757d;
        padding: 0.5rem;
        background: #f8f9fa;
        border-radius: 4px;
        margin-bottom: 0.5rem;
    }

    .document-query-container .chat-input {
        padding: 1.5rem;
        background: white;
        border-top: 1px solid #e9ecef;
    }

    .document-query-container .analysis-panel {
        position: fixed;
        right: -400px;
        top: 0;
        bottom: 0;
        width: 400px;
        background: white;
        border-left: 1px solid #e9ecef;
        padding: 1.5rem;
        overflow-y: auto;
        z-index: 1000;
        box-shadow: -5px 0 15px rgba(0,0,0,0.1);
        transition: right 0.3s ease;
    }

        .document-query-container .analysis-panel.show {
            right: 0;
        }

@media (max-width: 768px) {
    .document-query-container .chat-interface.with-panel {
        margin-right: 0;
    }

    .document-query-container .analysis-panel {
        width: 100%;
        right: -100%;
    }

        .document-query-container .analysis-panel.show {
            right: 0;
        }
}

.document-query-container .analysis-question-btn {
    width: 100%;
    text-align: left;
    padding: 0.75rem;
    border: none;
    background: none;
    color: #2c5282;
    transition: all 0.2s;
}

    .document-query-container .analysis-question-btn:hover {
        background: #f0f7ff;
        color: #1a365d;
    }

.document-query-container .empty-state {
    text-align: center;
    padding: 4rem 2rem;
    color: #6c757d;
}

    .document-query-container .empty-state i {
        font-size: 3rem;
        margin-bottom: 1rem;
    }

.document-query-container .upload-progress {
    position: fixed;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background: rgba(255, 255, 255, 0.95);
    display: flex;
    justify-content: center;
    align-items: center;
    z-index: 1050;
}

.document-query-container .progress-container {
    background: white;
    padding: 2rem;
    border-radius: 8px;
    box-shadow: 0 4px 12px rgba(0,0,0,0.1);
    width: 90%;
    max-width: 500px;
    text-align: center;
}

.document-query-container .progress-animation {
    margin-bottom: 1.5rem;
}

    .document-query-container .progress-animation .spinner-border {
        width: 3rem;
        height: 3rem;
    }

.document-query-container .progress {
    height: 8px;
    border-radius: 4px;
    background-color: #e9ecef;
}

.document-query-container .progress-bar {
    background-color: #2c5282;
}

.document-query-container .progress-text {
    margin-bottom: 1rem;
}

    .document-query-container .progress-text h5 {
        color: #2c5282;
    }

.document-query-container .processing-overlay {
    position: fixed;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background: rgba(255, 255, 255, 0.9);
    display: flex;
    justify-content: center;
    align-items: center;
    z-index: 1000;
}

.document-query-container .processing-content {
    background: white;
    padding: 2rem;
    border-radius: 8px;
    box-shadow: 0 2px 15px rgba(0,0,0,0.1);
    text-align: center;
}

    .document-query-container .processing-content h5 {
        margin: 0;
        color: #2c5282;
    }

.document-query-container .message-pending {
    background: #f8f9fa;
    padding: 1rem;
    border-radius: 8px;
    margin-top: 0.5rem;
}

.premium-hero-section {
    background: #fafafa;
    border-bottom: 1px solid #dee2e6;
}

.logo-section {
    margin-bottom: 15px; /* Space below the logo section */
}

.logo-container {
    display: flex; /* Align logo and button horizontally */
    align-items: center; /* Center the button with the logo vertically */
}

    .logo-container img {
        margin-right: 10px; /* Space between the logo and the button */
        max-height: 100px; /* Optional: Set a max height to prevent very tall logos */
        object-fit: contain; /* Ensure the image scales properly without distortion */
    }

.file-input-container {
    clear: both; /* Ensure the file input starts on a new line */
}

.status-message--success {
    background-color: #e0ffe0; /* Light green for success */
    padding: 10px;
    border-radius: 5px;
    display: inline-block;
}

.status-message--pending {
    background-color: #fff5e0; /* Light yellow for pending */
    padding: 10px;
    border-radius: 5px;
    display: inline-block;
}

.status-message--failed {
    background-color: #ffe0e0; /* Light red for failed */
    padding: 10px;
    border-radius: 5px;
    display: inline-block;
}

.family-tree-horizontal {
    display: flex;
    flex-direction: column;
    align-items: center;
}

.tree-node {
    display: flex;
    flex-direction: column;
    align-items: center;
    margin: 20px 0;
    position: relative;
}

.node-content {
    padding: 10px;
    border: 1px solid #ccc;
    border-radius: 5px;
    background-color: #f9f9f9;
    text-align: center;
    min-width: 150px;
    box-shadow: 0 2px 5px rgba(0, 0, 0, 0.1);
    margin: 10px;
}

.tree-children {
    display: flex;
    flex-direction: column;
    align-items: center;
    margin-top: 20px;
}

.tree-label {
    font-weight: bold;
    margin-bottom: 10px;
    text-align: center;
    margin: auto;
}

.tree-children-list {
    display: flex;
    justify-content: center;
    margin-top: 3px;
}

.tree-grandchildren,
.tree-other-members {
    /*margin-top: 30px;*/
}

.tree-children-list:before,
.tree-children-list .node-content:not(:first-child):before,
.tree-children-list .node-content:not(:last-child):after {
    content: '';
    position: absolute;
    background-color: #ccc;
}

.tree-children-list:before {
    top: -20px;
    left: 50%;
    height: 20px;
}

.tree-children-list .node-content:not(:first-child):before {
    top: -20px;
    left: -50%;
    height: 2px;
}

.tree-children-list .node-content:not(:last-child):after {
    top: -20px;
    right: -50%;
    height: 2px;
}

.tree-parents {
    margin-bottom: 20px;
}

.tree-label {
    font-weight: bold;
    margin-bottom: 10px;
}

.tree-parents-list {
    display: flex;
    gap: 10px;
}

.node-content i {
    font-size: 20px;
}

.aboutus-wrapper {
    position: fixed;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    background-color: rgba(0, 0, 0, 0.5);
    z-index: 10001;
    display: flex;
    justify-content: center;
    align-items: center;
}

    .aboutus-wrapper .aboutus-popout {
        background-color: #fff;
        padding: 20px;
        border-radius: 5px;
        width: 80%;
        max-height: 80%;
        max-width: 970px;
        overflow: scroll;
    }

        .aboutus-wrapper .aboutus-popout .aboutus-button {
            background-color: #007BFF;
            color: #FFFFFF;
            border: none;
            padding: 10px 20px;
            text-align: center;
            cursor: pointer;
            text-decoration: none;
            display: inline-block;
            font-size: 14px;
            border-radius: 5px;
            transition: background-color 0.3s ease;
        }

.family-tree-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
}

.tree-column {
    /*display: flex;*/
    flex-direction: column;
    align-items: flex-start;
}

.tree-label {
    font-weight: bold;
    margin-bottom: 10px;
    font-size: 12px;
}

/* Modal Background */
.modal-calendar {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-color: rgba(0, 0, 0, 0.5);
    display: flex;
    justify-content: center;
    align-items: center;
    z-index: 1000;
}

/* Modal Content */
.modal-content-calendar {
    background: #fff;
    padding: 20px;
    border-radius: 10px;
    width: 90%;
    max-width: 1200px;
    max-height: 90%;
    overflow-y: auto;
    position: relative;
    box-shadow: 0 4px 8px rgba(0, 0, 0, 0.2);
}

/* Close Button */
.close-button {
    position: absolute;
    top: 10px;
    right: 10px;
    background: #ff4d4d;
    color: #fff;
    border: none;
    border-radius: 50%;
    width: 30px;
    height: 30px;
    text-align: center;
    cursor: pointer;
    font-size: 16px;
    font-weight: bold;
}

/* Calendar Container */
.calendar-container {
    display: flex;
    flex-direction: column;
    gap: 20px;
}

/* Row of 3 Months */
.row-calendar {
    display: flex;
    justify-content: space-between;
    gap: 20px;
}

/* Single Month */
.month-calendar {
    flex: 1;
    background: #f9f9f9;
    border-radius: 8px;
    padding: 10px;
    box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1);
    text-align: center;
}

    /* Month Title */
    .month-calendar h4 {
        font-size: 18px;
        margin-bottom: 10px;
    }

/* Calendar Table */
.table-calendar {
    width: 100%;
    border-collapse: collapse;
    text-align: center;
}

.th-calendar {
    background-color: #ddd;
    padding: 5px;
    font-weight: bold;
    border: 1px solid #ccc;
}

.table-calendar td {
    width: 14%;
    height: 50px;
    border: 1px solid #ccc;
    vertical-align: top;
    position: relative;
    padding: 5px;
}

/* Event Highlight */
.event-calendar {
    position: relative;
    padding: 5px;
    margin-top: 5px;
    background-color: #ffcccb; /* Example background color */
    border-radius: 5px;
}

    .event-calendar p {
        font-size: 0.55vw;
        margin: 0 0 0;
    }

.node-content {
    cursor: pointer;
    transition: transform 0.2s ease, box-shadow 0.2s ease;
}

    .node-content:hover {
        transform: translateY(-2px);
        box-shadow: 0 2px 6px rgba(0, 0, 0, 0.08);
    }

.card {
    border: 1px solid #e3e3e3;
    border-radius: 8px;
}

.icon-section {
    font-size: 1.2rem;
    color: #007bff;
}

.name-section {
    color: #007bff;
    font-weight: bold;
}

.additional-info {
    font-size: 0.8rem;
    color: #6c757d;
}

.additional-info {
    font-size: 0.8rem;
    color: #6c757d;
}

.blurred-background {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: rgba(0, 0, 0, 0.5); /* Semi-transparent */
    backdrop-filter: blur(10px);
    display: flex;
    align-items: center; /* Centers modal vertically */
    justify-content: center; /* Centers modal horizontally */
    z-index: 1500;
    transition: backdrop-filter 0.1s linear;
}

.modal-box {
    background: white;
    padding: 20px;
    border-radius: 12px;
    box-shadow: 0px 0px 15px rgba(0, 0, 0, 0.3);
    max-width: 30vw;
    width: 90%;
    text-align: center;
    position: relative;
    border: 3px solid lightgray;
    display: flex;
    flex-direction: column;
    align-items: center;
}

    .modal-box.wide {
        max-width: 60vw;
    }

.close-btn {
    position: absolute;
    top: 10px;
    right: 15px;
    background: transparent;
    border: none;
    font-size: 20px;
    cursor: pointer;
    color: gray;
}

.custom-tooltip {
    position: absolute;
    display: none;
    background-color: #e9ecef;
    color: #000;
    padding: 8px 10px;
    border-radius: 5px;
    border: 1px solid #d1d1d1;
    text-wrap: wrap;
    width: 300px;
    transform: translateX(-50%);
    text-align: left;
    z-index: 10;
}

.position-relative:hover .custom-tooltip {
    display: block;
}
