p-contextmenusub {
    ul {
        padding-left: 0rem;
    }  
}

.p-breadcrumb {
    background: var(--base-fg-color);
    padding: 0.3rem;
    font-size:small;
    border: 1px solid var(--border-color);
}

.p-breadcrumb-list {
    margin-bottom: 0;
    padding-left: 0.3rem;
}

.p-breadcrumb .p-breadcrumb-list li.p-menuitem-separator {
    color: var(--base-text-color);
}

.p-breadcrumb .p-breadcrumb-list li:last-child .p-menuitem-text {
    color: var(--base-text-color);
}

.p-breadcrumb .p-breadcrumb-list li .p-menuitem-link .p-menuitem-text {
    color: var(--link-color);
}

.p-breadcrumb .p-breadcrumb-list li .p-menuitem-link .p-menuitem-icon {
    color: var(--link-color);
}

.p-datatable .p-datatable-header {
    background: var(--base-fg-color);
    color: var(--base-text-color);
    border-width: 0px 0px 1px 0px;
    border-style: solid;
    border-color: var(--border-color);
}

.p-datatable.p-datatable-scrollable > .p-datatable-wrapper > .p-datatable-table > .p-datatable-thead, 
.p-datatable.p-datatable-scrollable > .p-datatable-wrapper > .p-datatable-table > .p-datatable-tfoot, 
.p-datatable.p-datatable-scrollable > .p-datatable-wrapper > .p-scroller-viewport > .p-scroller > 
.p-datatable-table > .p-datatable-thead, .p-datatable.p-datatable-scrollable > .p-datatable-wrapper > 
.p-scroller-viewport > .p-scroller > .p-datatable-table > .p-datatable-tfoot {
    background-color: var(--base-fg-color);
}

.p-datatable .p-datatable-thead > tr > th {
    border: 0px solid var(--border-color);
    color: var(--base-text-color);
    background: var(--base-fg-color);
}

.p-datatable .p-datatable-tbody > tr {
    background: none;
    color: var(--base-text-color);
    outline: 1px solid var(--border-color-transparent);
    transition: box-shadow 0.15s;
}

.p-datatable .p-datatable-footer {
    background: var(--base-fg-color);
    color: var(--base-text-color);
    border-width: 0px;
    border-style: solid;
    border-color: var(--border-color);
}

.p-datatable.p-datatable-sm .p-datatable-footer {
    padding: 0.3rem 0.3rem;
}

.p-datatable .p-sortable-column:not(.p-highlight):hover {
    background: var(--base-fg-color);
    color: var(--base-text-color);
}

.p-datatable.p-datatable-hoverable-rows .p-datatable-tbody > tr:not(.p-highlight):hover {
    background: var(--base-bg-color);
    color: var(--base-text-color);
}

.p-datatable .p-datatable-tbody > tr.p-highlight {
    background: var(--base-bg-color);
    color: var(--base-text-color);
}

.p-dialog .p-dialog-header {
    border-bottom: 1px solid var(--border-color);
    background: var(--base-bg-color);
    color: var(--base-text-color);
}

.p-dialog .p-dialog-content {
    background: var(--base-bg-color);
    color: var(--base-text-color);
    padding: 1rem;
}

.p-dialog .p-dialog-footer {
    border-top: 1px solid var(--border-color);
    background: var(--base-bg-color);
    color: var(--base-text-color);
}

.p-sidebar {
    background: var(--base-fg-color);
    color: var(--base-text-color);
    border: 1px solid var(--border-color);
}

.p-chip {
    background-color: var(--base-fg-color);
    color: var(--base-text-color);
}

.p-contextmenu {
    background: var(--base-fg-color);
    color: var(--base-text-color);
    border: 1px solid var(--border-color);
}

.p-contextmenu .p-menuitem > .p-menuitem-content .p-menuitem-link {
    color: var(--link-color);
    .p-menuitem-text, .p-menuitem-icon {
        color: var(--link-color);
    }
}

.p-contextmenu .p-menuitem:not(.p-highlight):not(.p-disabled) > .p-menuitem-content:hover {
    color: var(--link-active);
    background: var(--base-bg-color);
}

.p-contextmenu .p-menuitem > .p-menuitem-content {
    color: var(--link-color);
}

.p-contextmenu .p-menuitem:not(.p-highlight):not(.p-disabled) > .p-menuitem-content:hover .p-menuitem-link .p-menuitem-text {
    color: var(--link-active);
}

.p-checkbox .p-checkbox-box {
    border: 2px solid var(--border-color);
    background: var(--base-fg-color);
    color: var(--base-text-color);
}

.p-checkbox .p-checkbox-box.p-highlight {
    border-color: var(--primary-color);
    background: var(--primary-color);
}

.p-checkbox:not(.p-checkbox-disabled) .p-checkbox-box.p-highlight:hover {
    border-color: var(--primary-color);
    background: var(--primary-color);
    color: var(--primary-btn-color);
}

.p-checkbox .p-checkbox-box .p-checkbox-icon {
    color: var(--primary-btn-color);
}

.p-datatable .p-datatable-tbody > tr:focus {
    outline: 0.15rem solid var(--link-color);
    outline-offset: 0.15rem;
}

.p-divider.p-divider-horizontal:before {
    border-top: 1px solid var(--border-color);
}

.p-editor-container .p-editor-toolbar {
    background: var(--base-bg-color);
}

.p-editor-container .p-editor-content .ql-editor {
    background: var(--base-fg-color);
    color: var(--base-text-color);
}

.p-editor-container .p-editor-toolbar.ql-snow, .p-editor-container .p-editor-content.ql-snow {
    border: 1px solid var(--border-color);
}

.p-inputtext {
    color: var(--base-text-color);
    background: var(--base-fg-color);
    border: 1px solid var(--border-color);
}

.p-dropdown .p-dropdown-trigger {
    color: var(--base-text-color);
    background: var(--base-fg-color);
}

.p-dropdown {
    background: var(--base-fg-color);
    border: 1px solid var(--border-color);
    transition: background-color 0.15s, border-color 0.15s, box-shadow 0.15s;
}

.p-dropdown > .p-inputtext {
    border: 0px;
}

.p-dropdown-panel {
    background: var(--base-fg-color);
    color: var(--base-text-color);
    border: 1px solid var(--border-color);
}

.p-dropdown-panel .p-dropdown-items .p-dropdown-item {
    color: var(--base-text-color);
}

.p-dropdown-panel .p-dropdown-items .p-dropdown-item.p-highlight,
.p-dropdown-panel .p-dropdown-items .p-dropdown-item:not(.p-highlight):not(.p-disabled):hover {
    color: var(--base-text-color);
    background: var(--base-bg-color);
}

.p-dropdown:not(.p-disabled):hover {
    border-color: var(--outer-glow);
}

.p-dropdown:not(.p-disabled).p-focus {
    box-shadow: var(--shadow-color-primary);
    border-color: var(--primary-btn-color);
}

.p-dropdown-panel .p-dropdown-header {
    padding: 0.5rem 0.5rem;
    border-bottom: 1px solid var(--border-color);
    color: var(--base-text-color);
    background: var(--base-fg-color);
    border-top-right-radius: 4px;
    border-top-left-radius: 4px;
}

.p-dropdown-panel .p-dropdown-items .p-dropdown-item:not(.p-highlight):not(.p-disabled).p-focus {
    background: var(--base-fg-color);
}

.p-inputtext:enabled:hover {
    border-color: var(--outer-glow);
}

.p-inputtext:enabled:focus {
    box-shadow: var(--shadow-color-primary);
    border-color: var(--primary-btn-color);
}

.p-menubar {
    border: 1px solid var(--border-color);
    padding: 0.4rem 0.5rem;
    background: var(--base-fg-color);
    color: var(--base-text-color);
}

.p-menubar-root-list {
    margin-bottom: 0;
    padding-left: 0;
}

.p-menubar .p-menubar-root-list > .p-menuitem > .p-menuitem-content .p-menuitem-link {
    padding: 0rem 0.5rem;
}
.p-menubar .p-menuitem > .p-menuitem-content .p-menuitem-link {
    color: var(--base-text-color);
    padding: 0.5rem 1rem;
}

.p-menubar .p-menubar-root-list > .p-menuitem > .p-menuitem-content .p-menuitem-link .p-menuitem-text {
    color: var(--base-text-color);
}

.p-menubar .p-menuitem > .p-menuitem-content .p-menuitem-link .p-menuitem-text {
    color: var(--link-color);
}

.p-menu.p-menu-overlay {
    background: var(--base-fg-color);
    border: 1px solid var(--border-color);

    ul {
        padding-left: 0rem;
        margin-bottom: 0rem;
    }
}

.p-menu .p-menuitem > .p-menuitem-content {
    color: var(--base-text-color);
    background: var(--base-fg-color);

    a {
        padding: 0.35rem 1rem;
        text-decoration: none;
        color: var(--link-color);
    }
}

.p-menu .p-menuitem > .p-menuitem-content .p-menuitem-link {
    color: var(--base-text-color);
    padding: 0.2rem 0.25rem;

    .p-menuitem-text, .p-menuitem-icon {
        text-decoration: none;
        color: var(--base-text-color);
    }
}

.p-menu .p-menuitem:not(.p-highlight):not(.p-disabled) > .p-menuitem-content:hover {
    color: var(--base-text-color);
    background: var(--base-bg-color);
}

.p-menu .p-menuitem-separator {
    border-top: 1px solid var(--border-color);
}

.p-menu .p-submenu-header {
    color: var(--base-text-color);
    background: var(--base-fg-color);
    padding: 0.35rem 1rem
}

.p-multiselect {
    background: var(--base-fg-color);
    border: 1px solid var(--border-color);
}

.p-multiselect .p-multiselect-trigger {
    color: var(--base-text-color);
}

.p-multiselect-panel .p-multiselect-header {
    border-bottom: 1px solid var(--border-color);
    color: var(--base-text-color);
    background: var(--base-bg-color);
}

.p-multiselect-panel {
    background: var(--base-fg-color);
    color: var(--base-text-color);
    border: 1px solid var(--border-color);
}

.p-multiselect-panel .p-multiselect-items .p-multiselect-item {
    color: var(--base-text-color);
}

.p-multiselect-panel .p-multiselect-items .p-multiselect-item.p-highlight {
    color: var(--primary-btn-color);
    background: var(--link-color);
}

.p-multiselect-panel .p-multiselect-items .p-multiselect-item:not(.p-highlight):not(.p-disabled):hover {
    color: var(--primary-btn-color);
    background: var(--link-active);
}

.p-multiselect-panel .p-multiselect-items .p-multiselect-item:focus {
    box-shadow: var(--shadow-color-primary);
}

.p-multiselect-panel .p-multiselect-items .p-multiselect-item-group {
    color: var(--base-text-color);
    background: var(--base-bg-color);
}

.p-multiselect-items-wrapper, .p-dropdown-items-wrapper {
    ul {
        padding-left: 0rem;
    }
}

.p-multiselect:not(.p-disabled):hover {
    border-color: var(--outer-glow);
}

.p-multiselect:not(.p-disabled).p-focus {
    box-shadow: var(--shadow-color-primary);
    border-color: var(--primary-btn-color);
}

.p-multiselect-panel .p-multiselect-items .p-multiselect-item:not(.p-highlight):not(.p-disabled).p-focus {
    background: var(--base-fg-color);
}

.p-datatable .p-sortable-column.p-highlight, .p-datatable .p-sortable-column.p-highlight:hover {
    background: var(--base-fg-color);
    color: var(--link-color);
}

.p-datatable .p-sortable-column:focus {
    box-shadow: var(--shadow-color-primary);
}

.p-datatable .p-sortable-column.p-highlight .p-sortable-column-icon {
    color: var(--link-active);
}

.p-tooltip .p-tooltip-text {
    background-color: var(--primary-color) !important;
    color: var(--primary-btn-color) !important;
}

.p-tooltip-top .p-tooltip-arrow {
    border-top-color: var(--primary-color) !important;
}

.p-tooltip-bottom .p-tooltip-arrow {
    border-bottom-color: var(--primary-color) !important;
}

.p-tooltip-left .p-tooltip-arrow {
    border-left-color: var(--primary-color) !important;
}

.p-tooltip-right .p-tooltip-arrow {
    border-right-color: var(--primary-color) !important;
}

.p-splitter {
    border: 0px;
    background: var(--base-fg-color);
    border-radius: 5px;
    color: var(--base-text-color);
}

.p-splitter .p-splitter-gutter {
    transition: box-shadow 0.15s;
    background: var(--base-bg-color);
}
.p-splitter .p-splitter-gutter .p-splitter-gutter-handle {
    background: var(--border-color);
}

.p-virtualscroller .p-virtualscroller-content {
    background: var(--base-fg-color);
    color: var(--base-text-color);
    padding-top: 2px;
    padding-bottom: 2px;
}

.p-tree {
    border: 1px solid var(--border-color);
    background: var(--base-fg-color);
    color: var(--base-text-color);
}

.p-tree .p-tree-container .p-treenode .p-treenode-content .p-tree-toggler {
    color: var(--base-text-color);
}

.p-tree .p-tree-container .p-treenode .p-treenode-content .p-tree-toggler:enabled:hover {
    color: var(--base-text-color);
}

.p-tree .p-tree-container .p-treenode .p-treenode-content:focus {
    box-shadow: inset var(--shadow-color-primary);
}

.p-tree .p-tree-container .p-treenode .p-treenode-content .p-tree-toggler:focus {
    box-shadow: var(--shadow-color-primary);
}

.p-toolbar {
    background: var(--base-fg-color);
    border: 0px;
    padding: 0.4rem 0.4rem;
}

.p-fileupload .p-fileupload-buttonbar {
    background: var(--base-fg-color);
    border: 1px solid var(--border-color);
    color: var(--base-text-color);
    padding: 0.75rem 0.75rem;
}

.p-fileupload .p-fileupload-content {
    background: var(--base-fg-color);
    border: 1px solid var(--border-color);
    color: var(--base-text-color);
    padding: 0.5rem 0.25rem;
}

.p-button {
    padding: 0.3rem 0.5rem;
    color: var(--primary-btn-color);
    background: var(--link-color);
    border: 1px solid var(--link-color);
}

.p-button:focus {
    box-shadow: var(--shadow-color-primary);
}

.p-progressbar {
    background: var(--base-fg-color);
}

.p-button.p-button-icon-only.p-button-rounded {
    border-radius: 50%;
}

.p-panel {
    border: 1px solid var(--border-color);
    border-radius: 6px;
    padding: 1px;
    background-color: var(--base-fg-color);
}

.p-panel .p-panel-header {
    border: none;
    background: var(--base-fg-color);
    color: var(--base-text-color);
    cursor: pointer;
}

.p-panel .p-panel-content {
    padding: 1.25rem;
    border: none;
    background: var(--base-fg-color);
    color: var(--base-text-color);
}

.p-inputgroup-addon {
    background: var(--base-fg-color);
    color: var(--base-text-color);
    border-top: 1px solid var(--border-color);
    border-left: 1px solid var(--border-color);
    border-bottom: 1px solid var(--border-color);
}

.p-inputswitch {
    width: 2.5rem;
    height: 1.5rem;
}

.p-inputswitch .p-inputswitch-slider {
    border-radius: 30px;
}

.p-inputswitch.p-inputswitch-checked:not(.p-disabled):hover .p-inputswitch-slider {
    background: var(--link-active);
}

.p-inputswitch.p-inputswitch-checked .p-inputswitch-slider:before {
    transform: translateX(1rem);
}

.p-inputswitch.p-inputswitch-checked .p-inputswitch-slider {
    background: var(--link-color);
}

.p-inputswitch .p-inputswitch-slider {
    background: var(--base-bg-color);
    border: 1px solid var(--border-color)  ;
}

.p-inputswitch .p-inputswitch-slider:before {
    background: var(--border-color);
    width: 1rem;
    height: 1rem;
    left: 0.25rem;
    margin-top: -0.5rem;
    border-radius: 50%;
    transition-duration: 0.2s;
}

.p-message .p-message-wrapper {
    padding: 0.2rem 0.25rem;
}
.p-message {
    margin: 0.1rem 0;
}

.p-message{
    &.p-message-info {
        background: var(--alert-info-bg);
        border: solid var(--alert-info-border-color);
        border-width: 1px;
        color: var(--alert-info-color);
        .p-message-icon {
            color: var(--alert-info-color);
        }
    }

    &.p-message-info {
        background: var(--alert-info-bg);
        border: solid var(--alert-info-border-color);
        border-width: 1px;
        color: var(--alert-info-color);
        a {
            font-weight: bold;
            text-decoration: underline;
            color: var(--alert-info-link-color);
        }
        .p-toast-message-icon {
            color: var(--alert-info-color);
        }
    }

    &.p-message-error {
        background-color: var(--alert-error-bg);
        color: var(--alert-error-color);
        border-top: 1px solid var(--alert-error-border-color);
        border-bottom: 1px solid var(--alert-error-border-color);
        a {
            font-weight: bold;
            text-decoration: underline;
            color: var(--alert-error-link-color);
        }
        .p-toast-message-icon {
            color: var(--alert-error-color);
        }
    }
    &.p-message-warning {
        background-color: var(--alert-warn-bg);
        color: var(--alert-warn-color);
        border-top: 1px solid var(--alert-warn-border-color);
        border-bottom: 1px solid var(--alert-warn-border-color);
        a {
            font-weight: bold;
            text-decoration: underline;
            color: var(--alert-warn-link-color);
        }
        .p-toast-message-icon {
            color: var(--alert-warn-color);
        }
    }
}

.p-toast .p-toast-message .p-toast-message-content {
    padding: 0.5rem;
    border-width: 0;
}

.p-toast .p-toast-message .p-toast-message-content .p-toast-message-icon {
    font-size: 1.8rem;
}

.p-toast .p-toast-message .p-toast-message-content .p-toast-detail {
    margin: 0.2rem 0 0 0;
}

.p-toast .p-toast-message {
    &.p-toast-message-info {
        background: var(--alert-info-bg);
        border: solid var(--alert-info-border-color);
        border-width: 1px;
        color: var(--alert-info-color);
        a {
            font-weight: bold;
            text-decoration: underline;
            color: var(--alert-info-link-color);
        }
        .p-toast-message-icon, .p-toast-icon-close-icon {
            color: var(--alert-info-color);
        }
    }

    &.p-toast-message-error {
        background-color: var(--alert-error-bg);
        color: var(--alert-error-color);
        border-top: 1px solid var(--alert-error-border-color);
        border-bottom: 1px solid var(--alert-error-border-color);
        a {
            font-weight: bold;
            text-decoration: underline;
            color: var(--alert-error-link-color);
        }
        .p-toast-message-icon, .p-toast-icon-close-icon {
            color: var(--alert-error-color);
        }
    }
    &.p-toast-message-warning {
        background-color: var(--alert-warn-bg);
        color: var(--alert-warn-color);
        border-top: 1px solid var(--alert-warn-border-color);
        border-bottom: 1px solid var(--alert-warn-border-color);
        a {
            font-weight: bold;
            text-decoration: underline;
            color: var(--alert-warn-link-color);
        }
        .p-toast-message-icon, .p-toast-icon-close-icon {
            color: var(--alert-warn-color);
        }
    }
}

.p-tabview .p-tabview-nav {
    border: 1px solid var(--border-color);
    border-width: 0 0 1px 0;
}

.p-tabview .p-tabview-panels {
    background: var(--base-fg-color);
    color: var(--base-text-color);
}

.p-tabview .p-tabview-nav li.p-highlight .p-tabview-nav-link {
    background: var(--base-fg-color);
    border-color: var(--border-color);
    color: var(--primary-color);
}

.p-tabview .p-tabview-nav li:not(.p-highlight):not(.p-disabled):hover .p-tabview-nav-link {
    background: var(--base-fg-color);
    border-color: var(--border-color);
    color: var(--base-text-color);
}

.p-tabview .p-tabview-nav li .p-tabview-nav-link {
    border-width: 1px;
    border-color: var(--border-color);
    background: var(--base-fg-color);
    color: var(--base-text-color);
}

pre code.hljs {
    border-radius: 5px;
}

p-inputswitch .p-hidden-accessible {
    position: static !important;
    height: auto !important;
    width: auto !important;
    overflow: visible !important;
    clip: auto !important;
    margin: 0 !important;
}