
    /* EAGNA SPECIFIC STYLES */


    &.dark{
        .flex-header li:last-child .p-menuitem-link-active{
            .p-menuitem-icon,.p-menuitem-text{
                color: var(--primary) !important;
            }
        }
    }

    /* GRID */
    .grid-error-icon.pi{
        color: var(--danger) !important;
    }
    .grid-cell-error{
        border-color: var(--danger) !important;
    }
    .grid-warning-icon.pi{
        color: var(--warn) !important;
    }
    .grid-cell-warning{
        border-color:  var(--warn) !important;
    }
    .grid-cell-changed{
        background-color: var(--success-faded) !important;
    }

    .dark{
        .grid-error-icon.pi{
            color: var(--danger-faded) !important;
        }
        .grid-cell-error{
            border-color: var(--danger-faded) !important;
        }
        .grid-warning-icon.pi{
            color: var(--danger-faded) !important;
        }
        .grid-cell-warning{
            border-color:  var(--danger-faded) !important;
        }
        .grid-cell-changed{
            background-color: var(--warn) !important;
        }
    }

    .ag-cell-editor-autocomplete-wrapper{
        height: 100% !important;
    }

    .ag-cell-editor-autocomplete-input{
        height: 100% !important;
    }

    .spacer{
        flex: 1 1 auto;
    }
    /* Eagna Sidebar Overlay */
    .sidebarOverlayMenu{
      &.p-overlaypanel {
        background: var(--sidebar);
        --overlayArrowLeft: unset !important;
        color: var(--sidebar-contrast);
        border: 0 none;
        left : var(--sidebar-width) !important;
        border-radius: var(--eg-border-radius); //: 2px;
        width: 18rem;
        transform: unset !important;
        transition: all .3s ease-in-out !important;

       .p-overlaypanel-content {
          padding: 0.25rem;

        }

        &.p-overlaypanel-flipped {
            &:after {

                bottom : unset !important;
                top: unset !important;
            }

            &:before {

                bottom : unset !important;
                top: unset !important;
            }
        }
      }
    }
    .overlay-listmenu-panelmenu {
      &.p-panelmenu{
        width:calc(18rem - 1rem);
      }
    }
    .overlay-listmenu-divider{
      &.p-divider.p-divider-horizontal{
        margin-top: 1rem;
        margin-bottom: 0rem;
        &::before{
          border-top: 1px solid var(--sidebar-tint);
        }
      }
    }

    /* PRIME NG STYLES */
    .p-component {
        font-size: 1rem;
        font-weight: normal;

        &:disabled {
            opacity: .6;
            cursor: not-allowed;
        }

        .p-menu-separator {
            border-color: var(--border-color)
        }
    }

    .p-component-overlay {
        background-color: var(--overlay-bg)  !important;

        transition-duration: .2s;
    }

    .p-disabled,
    .p-disabled * {
        opacity: .6;
        cursor: not-allowed !important;
    }

    .p-error {
        color: var(--danger);
    }

    .p-text-secondary {
        color: var(--secondary);
    }

    .pi {
        font-size: 1rem;
    }

    .p-link {
        font-size: 1rem;

        border-radius: var(--eg-border-radius); //: 2px;

        &:focus {
            outline: 0 none;
            outline-offset: 0;

        }
    }

    .p-component-overlay-enter {
        animation: p-component-overlay-enter-animation 150ms forwards;
    }

    .p-component-overlay-leave {
        animation: p-component-overlay-leave-animation 150ms forwards;
    }

    @keyframes p-component-overlay-enter-animation {
        from {
            background-color: transparent;
        }

        to {
            background-color: var(--maskbg);
        }
    }

    @keyframes p-component-overlay-leave-animation {
        from {
            background-color: var(--maskbg);
        }

        to {
            background-color: transparent;
        }
    }

    .p-autocomplete {
        .p-autocomplete-loader {
            right: .5rem;
        }

        .p-autocomplete-multiple-container {
            padding: .25rem .5rem;

            .p-autocomplete-input-token {
                padding: .25rem 0;

                input {
                    font-size: 1rem;
                    color: contrast-color($theme-color, $contrast-threshold);
                    padding: 0;
                    margin: 0;
                }
            }

            .p-autocomplete-token {
                padding: .25rem .5rem;
                margin-right: .5rem;
                background: var(--default-grey);
                color: contrast-color($theme-color, $contrast-threshold);
                border-radius: var(--eg-border-radius); //: 2px;

                .p-autocomplete-token-icon {
                    margin-left: .5rem;
                }
            }

            &:not(.p-disabled) {
                &:hover {
                    background-color: var(--default-grey);
                }

                &.p-focus {
                    outline: 0 none;
                    outline-offset: 0;
                    background-color: var(--default-grey);
                }
            }
        }

        &.p-autocomplete-dd .p-autocomplete-loader {
            right: 2.857rem;
        }

        &.p-autocomplete-multiple .p-autocomplete-multiple-container {
            &.p-disabled {
                background-color: var(--default-grey);
                border-color: var(--disabled-color);
                color: var(--border-color);
                opacity: 1;
                cursor: not-allowed;
            }

            &:not(.p-disabled) {
                &:hover {
                    border: 1px solid var(--primary);
                }

                &.p-focus {
                    outline: 0 none;
                    outline-offset: 0;
                    border: 1px solid var(--primary);
                }
            }
        }
    }

    p-autocomplete {
        &.p-autocomplete-clearable {
            .p-inputtext {
                padding-right: 2rem;
            }

            .p-autocomplete-clear-icon {
                color: contrast-color($theme-color, $contrast-threshold);
                right: .5rem;
            }

            &.p-autocomplete-dd .p-autocomplete-clear-icon {
                color: contrast-color($theme-color, $contrast-threshold);
                right: 2.857rem;
            }
        }

        .ng-dirty.ng-invalid>.p-autocomplete>.p-inputtext {
            border-color: var(--danger);
        }
    }

    .p-autocomplete-panel {
        background: var(--form-color);
        color: contrast-color($theme-color, $contrast-threshold);
        border: 0 none;
        border-radius: var(--eg-border-radius); //: 2px;
        box-shadow: var(--box-shadow-one) 0 3.2px 7.2px 0, var(--box-shadow-two) 0 .6px 1.8px 0;

        .p-autocomplete-items {
            .p-autocomplete-item {
                margin: 5px;
                padding: .5rem .25rem;
                border: 1px solid transparent;
                color: contrast-color($theme-color, $contrast-threshold);
                background: transparent;

                transition: box-shadow .2s;

                border-radius: var(--eg-border-radius); //: 0;

                &:hover {
                    color: var(--primary);
                    background: var(--primary-faded);
                }

                &.p-highlight {
                  color: var(--primary);
                  background: var(--primary-faded);
                }
            }

            .p-autocomplete-empty-message {
                padding: .75rem .5rem;

                color: contrast-color($theme-color, $contrast-threshold);
                background: transparent;
            }

            .p-autocomplete-item-group {
                margin: 0;
                padding: .75rem .5rem;
                color: contrast-color($theme-color, $contrast-threshold);
                background: var(--form-color);
                font-weight: 600;
            }

            &:not(.p-autocomplete-virtualscroll) {
                padding: 0;
            }

            &.p-autocomplete-virtualscroll .cdk-virtual-scroll-content-wrapper {
                padding: 0;
            }
        }
    }

    p-calendar {
        &.p-calendar-clearable {
            .p-inputtext {
                padding-right: 2rem;
            }

            .p-calendar-clear-icon {
                color: contrast-color($theme-color, $contrast-threshold);
                right: .5rem;
            }

            &.p-calendar-w-btn .p-calendar-clear-icon {
                color: contrast-color($theme-color, $contrast-threshold);
                right: 2.857rem;
            }
        }

        .ng-dirty.ng-invalid>.p-calendar>.p-inputtext {
            border-color: var(--danger);
        }
    }

    .p-datepicker {
        padding: .75rem;
        background: var(--form-color);
        color: contrast-color($theme-color, $contrast-threshold);
        box-shadow: 0 2px 1px -1px var(--box-shadow-one), 0 1px 1px 0 var(--box-shadow-two), 0 1px 3px 0 var(--box-shadow-three);
        border-radius: var(--eg-border-radius); //: 2px;

        &.p-datepicker-inline {
            background: var(--form-color);
            border: 0 none;
            box-shadow: var(--box-shadow-one) 0 3.2px 7.2px 0, var(--box-shadow-two) 0 .6px 1.8px 0;
            .p-datepicker-header {
                background: var(--form-color);
            }
        }

        &.p-disabled {
            table td span:not(.p-highlight):not(.p-disabled) {
                &:hover {
                  color: var(--primary);
                  background: var(--primary-faded);
                    border: 1px solid var(--primary);
                }

                &:focus {
                    outline: 0 none;
                    outline-offset: 0;
                    color: var(--primary);
                    background: var(--primary-faded);
                    border: 1px solid var(--primary);
                }
            }

            .p-monthpicker .p-monthpicker-month:not(.p-disabled) {
                &:focus {
                    outline: 0 none;
                    outline-offset: 0;
                    color: var(--primary);
                    background: var(--primary-faded);

                    border: 1px solid var(--primary);
                }

                &:not(.p-highlight):hover {
                  color: var(--primary);
                  background: var(--primary-faded);
                    border: 1px solid var(--primary);
                    font-weight: var(--active-font-weight);
                }
            }

            .p-yearpicker .p-yearpicker-year:not(.p-disabled) {
                &:focus {
                    outline: 0 none;
                    outline-offset: 0;
                    color: var(--primary);
                    background: var(--primary-faded);
                    border: 1px solid var(--primary);
                }

                &:not(.p-highlight):hover {
                  color: var(--primary);
                  background: var(--primary-faded);
                    border: 1px solid var(--primary);
                }
            }
        }
    }

    .p-datepicker-header {
        padding: 0 .5rem .5rem .5rem;
        color: contrast-color($theme-color, $contrast-threshold);
        background: var(--form-color);
        font-weight: 600;
        margin: 0;
        border-bottom: 0 none;

        border-top-right-radius: 2px;

        border-top-left-radius: 2px;

        .p-datepicker-prev {
            width: 2rem;
            height: 2rem;
            color: contrast-color($theme-color, $contrast-threshold);
            border: 0 none;
            background: transparent;

            border-radius: var(--eg-border-radius); //: 2px;

            transition: background-color .2s, color .2s, box-shadow .2s;

            &:focus {
                border-color: transparent;
                color: var(--primary);
                background: var(--primary-faded);
                font-weight: var(--active-font-weight);
            }

            &:enabled:hover {
                border-color: transparent;
                color: var(--primary);
                background: var(--primary-faded);
                font-weight: var(--active-font-weight);
            }
        }

        .p-datepicker-next {
            width: 2rem;
            height: 2rem;
            color: contrast-color($theme-color, $contrast-threshold);
            border: 0 none;
            background: transparent;

            border-radius: var(--eg-border-radius); //: 2px;

            transition: background-color .2s, color .2s, box-shadow .2s;

            &:focus {
                border-color: transparent;
                color: var(--primary);
                background: var(--primary-faded);
                font-weight: var(--active-font-weight);
            }

            &:enabled:hover {
                border-color: transparent;
                color: var(--primary);
                background: var(--primary-faded);
                font-weight: var(--active-font-weight);
            }
        }

        .p-datepicker-title {
            line-height: 2rem;
            order: 1;
            margin: 0 auto 0 0;

            .p-datepicker-year {
                color: contrast-color($theme-color, $contrast-threshold);

                transition: background-color .2s, color .2s, box-shadow .2s;
                font-weight: 600;
                padding: .5rem;

                &:enabled:hover {
                  color: var(--primary);
                  background: var(--primary-faded);
                    font-weight: var(--active-font-weight);
                }
            }

            .p-datepicker-month {
                color: contrast-color($theme-color, $contrast-threshold);

                transition: background-color .2s, color .2s, box-shadow .2s;
                font-weight: 600;
                padding: .5rem;
                margin-right: .5rem;

                &:enabled:hover {
                  color: var(--primary);
                  background: var(--primary-faded);
                    font-weight: var(--active-font-weight);
                }
            }
        }
    }

    table {
        margin: 0;
        font-size: 90%;

        th {
            padding: .5rem;

            >span {
                width: 2rem;
                height: 2rem;
            }
        }

        td {
            padding: 1px;

            >span {
                width: 2rem;
                height: 2rem;

                border-radius: var(--eg-border-radius); //: 2px;

                transition: box-shadow .2s;
                border: 0 none;

                &.p-highlight {
                    color: var(--primary-contrast);
                    background: var(--primary);
                    font-weight: var(--active-font-weight);
                }

                &:focus {
                    color: var(--primary-contrast);
                    background: var(--primary);
                    font-weight: var(--active-font-weight);
                }
            }

            &.p-datepicker-today>span {
                color: contrast-color($theme-color, $contrast-threshold);
                background: var(--default-grey);
                border-radius: var(--eg-border-radius); //: 50%;

                &.p-highlight {
                    color: var(--primary-contrast);
                    background: var(--primary);
                    font-weight: var(--active-font-weight);
                }
            }
        }
    }

    .p-datepicker-buttonbar {
        padding: 1rem 0;
        border-top: 0 none;

        .p-button {
            width: auto;
            font-size: 90%;
            color: contrast-color($theme-color, $contrast-threshold);

            .p-button-label {
                font-weight: 400;
            }

            &:enabled:hover {
                color: contrast-color($theme-color, $contrast-threshold);
                background-color: var(--default-grey);
            }
        }
    }

    .p-timepicker {
        padding: .5rem;
        border-top: 0 none;

        button {
            width: 2rem;
            height: 2rem;
            color: contrast-color($theme-color, $contrast-threshold);
            border: 0 none;
            background: transparent;

            border-radius: var(--eg-border-radius); //: 2px;

            transition: background-color .2s, color .2s, box-shadow .2s;

            &:focus {
                outline: 0 none;
                outline-offset: 0;
                border: 1px solid var(--primary);
            }

            &:last-child {
                margin-top: .2em;
            }

            &:enabled:hover {
              color: var(--primary);
              background: var(--primary-faded);
                border-color: transparent;

            }
        }

        span {
            font-size: 90%;
        }

        >div {
            padding: 0 .5rem;
        }

        .pi-chevron-up:before {
            content: "";
        }

        .pi-chevron-down:before {
            content: "";
        }
    }

    .p-monthpicker {
        margin: 0;

        .p-monthpicker-month {

            transition: box-shadow .2s;

            border-radius: var(--eg-border-radius); //: 2px;
            padding: .5rem 0;

            &.p-highlight {
                color: var(--primary);
                background: var(--primary-faded);
            }
        }
    }

    .p-yearpicker {
        margin: 0;

        .p-yearpicker-year {
            padding: 1px;

            transition: box-shadow .2s;

            border-radius: var(--eg-border-radius); //: 2px;

            &.p-highlight {
                color: contrast-color($theme-color, $contrast-threshold);
                background: var(--default-grey);
            }
        }
    }

    .p-datepicker-prev {
        order: 2;

        .p-datepicker-prev-icon:before {
            content: "";
        }
    }

    .p-datepicker-next {
        order: 3;
        font-size: 90%;

        .p-datepicker-next-icon:before {
            content: "";
        }
    }

    .p-datepicker-timeonly .p-timepicker {
        border-top: 0 none;
    }

    .p-datepicker-multiple-month .p-datepicker-group {
        border-left: 1px solid var(--default-grey);
        padding-right: .75rem;
        padding-left: .75rem;
        padding-top: 0;
        padding-bottom: 0;

        &:first-child {
            padding-left: 0;
            border-left: 0 none;
        }

        &:last-child {
            padding-right: 0;
        }
    }

    /* RT: @media screen and(max-width: 769px) {
        .p-datepicker table {
            th {
                padding: 0;
            }

            td {
                padding: 0;
            }
        }
    } */

    .p-cascadeselect {
        background: $theme-color;
        border: 1px solid var(--border-color);

        transition: background-color .2s, color .2s, border-color .2s, box-shadow .2s;

        border-radius: var(--eg-border-radius); //: 2px;

        .p-cascadeselect-label {
            background: transparent;
            border: 0 none;
            padding: .5rem .5rem;

            &.p-placeholder {
                color: contrast-color($theme-color, $contrast-threshold);
            }

            &:enabled:focus {
                outline: 0 none;

                box-shadow: none;
            }
        }

        .p-cascadeselect-trigger {
            background: transparent;
            color: contrast-color($theme-color, $contrast-threshold);
            width: 2.357rem;

            border-top-right-radius: 2px;

            border-bottom-right-radius: 2px;
        }

        &:not(.p-disabled) {
            &:hover {
                //border-color: contrast-color($theme-color, $contrast-threshold);
                background-color: var(--default-grey);

            }

            &.p-focus {
                outline: 0 none;
                outline-offset: 0;

                background-color: var(--default-grey);
            }
        }
    }

    .p-cascadeselect-panel {
        background: $theme-color;
        color: contrast-color($theme-color, $contrast-threshold);
        border: 0 none;
        border-radius: var(--eg-border-radius); //: 2px;

        box-shadow: var(--box-shadow-one) 0 3.2px 7.2px 0, var(--box-shadow-two) 0 .6px 1.8px 0;

        .p-cascadeselect-items {
            padding: 0;

            .p-cascadeselect-item {
                margin: 5px;
                border: 1px solid transparent;
                color: contrast-color($theme-color, $contrast-threshold);
                background: transparent;
                transition: box-shadow .2s;
                border-radius: var(--eg-border-radius); //: 0;

                .p-cascadeselect-item-content {
                    padding: .5rem .25rem;

                    &:focus {
                      color: var(--primary);
                      background: var(--primary-faded);
                        font-weight: var(--active-font-weight);
                    }
                }

                &.p-highlight {
                  color: var(--primary);
                  background: var(--primary-faded);
                    font-weight: var(--active-font-weight);

                }

                .p-cascadeselect-group-icon {
                    font-size: .875rem;
                }

                &:not(.p-highlight):not(.p-disabled):hover {
                  color: var(--primary);
                  background: var(--primary-faded);
                }
            }
        }
    }

    p-cascadeselect {
        &.p-cascadeselect-clearable {
            .p-cascadeselect-label {
                padding-right: .5rem;
            }

            .p-cascadeselect-clear-icon {
                color: contrast-color($theme-color, $contrast-threshold);
                right: 2.357rem;
            }
        }

        .ng-dirty.ng-invalid>.p-cascadeselect {
            border-color: var(--danger);
        }
    }

    .p-input-filled {
        .p-cascadeselect {
            background: var(--default-grey);
            border-color: var(--border-color);

            &:not(.p-disabled) {
                &:hover {
                  color: var(--primary);
                  background: var(--primary-faded);
                    border: 1px solid var(--primary);
                }

                &.p-focus {
                  color: var(--primary);
                  background: var(--primary-faded);
                    border: 1px solid var(--primary);
                }
            }
        }

        .p-checkbox {
            .p-checkbox-box {
                background-color: var(--default-grey);
                border-color: var(--border-color);
                color: var(--primary-contrast);

                &.p-highlight {
                  color: var(--primary);
                  background-color: var(--primary-faded);
                    border: 1px solid var(--border-color);
                }
            }

            &:not(.p-checkbox-disabled) .p-checkbox-box {
                &:hover {
                  color: var(--primary);
                  background-color: var(--primary-faded);
                  border: 1px solid var(--border-color);
                }

                &.p-focus {
                  color: var(--primary);
                  background-color: var(--primary-faded);
                  border: 1px solid var(--border-color);
                }
            }
        }

        .p-dropdown {
            background: var(--default-grey);
            border-color: var(--border-color);

            &:not(.p-disabled) {
                &:hover {
                    font-weight: var(--active-font-weight);
                    color: var(--primary);
                    background-color: var(--primary-faded);
                    border: 1px solid var(--border-color);
                }

                &.p-focus {
                  color: var(--primary);
                  background-color: var(--primary-faded);
                  border: 1px solid var(--border-color);

                    .p-inputtext {
                        background-color: transparent;
                        border: 1px solid var(--primary);
                    }
                }
            }
        }

        .p-inputtext {
            background-color: var(--default-grey);
            border-color: var(--border-color);

            &:enabled {
                &:hover {
                  color: var(--primary);
                  background-color: var(--primary-faded);
                    border: 1px solid var(--primary);
                }

                &:focus {
                  color: var(--primary);
                  background-color: var(--primary-faded);
                    border: 1px solid var(--primary);
                }
            }
        }

        .p-multiselect {
            background: var(--default-grey);
            border-color: var(--border-color);

            &:not(.p-disabled) {
                &:hover {
                  color: var(--primary);
                  background-color: var(--primary-faded);
                    border: 1px solid var(--primary);
                }

                &.p-focus {
                  color: var(--primary);
                  background-color: var(--primary-faded);
                    border: 1px solid var(--primary);
                }
            }
        }

        .p-treeselect {
            background: var(--default-grey);
            border-color: var(--border-color);

            &:not(.p-disabled) {
                &:hover {
                  color: var(--primary);
                  background-color: var(--primary-faded);
                  border: 1px solid var(--border-color);
                }

                &.p-focus {
                  color: var(--primary);
                  background-color: var(--primary-faded);
                  border: 1px solid var(--border-color);
                }
            }
        }

        .p-radiobutton .p-radiobutton-box {
            background: var(--form-color);
            border-color: var(--border-color);

            &.p-highlight {
              color: var(--primary);
              background-color: var(--primary-faded);
              border: 1px solid var(--border-color);

                &:not(.p-disabled):hover {
                  color: var(--primary);
                  background-color: var(--primary-faded);
                  border: 1px solid var(--border-color);
                }
            }

            &:not(.p-disabled):hover {
              color: var(--primary);
              background-color: var(--primary-faded);
              border: 1px solid var(--border-color);
            }
        }
    }

    .p-checkbox {
        width: 20px;
        height: 20px;
        border-color: var(--border-color);
        color: var(--primary-contrast);

        .p-checkbox-box {
            border: 1px solid var(--border-color);
            background: var(--form-color);
            width: 20px;
            height: 20px;

            border-radius: var(--eg-border-radius); //: 2px;

            transition: background-color .2s, color .2s, border-color .2s, box-shadow .2s;
            border-color: var(--border-color);

            .p-checkbox-icon {
                transition-duration: .2s;
                filter: invert(0); //revist this one
                font-size: 14px;
            }

            &.p-highlight {
              color: var(--primary);
              background-color: var(--primary-faded);
              border: 1px solid var(--border-color);
            }

            &.p-disabled {
                background-color: var(--default-grey);
                border-color: var(--disabled-color);
                color: var(--border-color);
                opacity: 1;

                user-select: none;
            }

            &:not(.p-disabled).p-focus {
                outline: 0 none;
                outline-offset: 0;
                color: var(--primary);
                background-color: var(--primary-faded);
                border: 1px solid var(--border-color);

            }
        }

        &:not(.p-checkbox-disabled) .p-checkbox-box {
            &:hover {
              color: var(--primary);
              background-color: var(--primary-faded);
              border: 1px solid var(--border-color);
            }

            &.p-focus {
                outline: 0 none;
                outline-offset: 0;
                color: var(--primary);
                background-color: var(--primary-faded);
                border: 1px solid var(--border-color);
            }

            &.p-highlight:hover {
              color: var(--primary);
              background-color: var(--primary-faded);
              border: 1px solid var(--border-color);
            }
        }
    }

    .p-checkbox-label {
        margin-left: .5rem;
    }

    p-chips {
        &.p-chips-clearable {
            .p-inputtext {
                border-color: var(--border-color);
                padding-right: 1.5rem;
            }

            .p-chips-clear-icon {
                color: contrast-color($theme-color, $contrast-threshold);
                right: .5rem;
            }
        }

        .ng-dirty.ng-invalid>.p-chips>.p-inputtext {
            border-color: var(--danger);
        }
    }

    .p-colorpicker-preview {
        width: 2rem;
        height: 2rem;
    }

    .p-fluid {
        .p-button {
            width: 100%;
        }

        .p-button-icon-only {
            width: 2.357rem;
        }

        .p-buttonset {
            display: flex;

            .p-button {
                flex: 1;
            }
        }

        .p-colorpicker-preview.p-inputtext {
            border-color: var(--border-color);
            width: 2rem;
            height: 2rem;
        }

        .p-inputgroup .p-button {
            width: auto;

            &.p-button-icon-only {
                width: 2.357rem;
            }
        }
    }

    .p-colorpicker-panel {
        background: var(--form-color);
        border: 0px solid var(--primary);
        border-radius: var(--eg-border-radius);
        box-shadow: var(--box-shadow-one) 0 3.2px 7.2px 0, var(--box-shadow-two) 0 .6px 1.8px 0;

        .p-colorpicker-color-handle {
            border-color: $theme-color;
        }

        .p-colorpicker-hue-handle {
            border-color: $theme-color;
        }
    }

    .p-colorpicker-overlay-panel {

        box-shadow: var(--box-shadow-one) 0 3.2px 7.2px 0, var(--box-shadow-two) 0 .6px 1.8px 0;
    }

    .p-dropdown {
        background: var(--form-color);
        border: 1px solid var(--border-color);

        transition: background-color .2s, color .2s, border-color .2s, box-shadow .2s;

        border-radius: var(--eg-border-radius); //: 2px;

        .p-dropdown-label {
            background: transparent;
            border: 0 none;

            &.p-placeholder {
                color: contrast-color($theme-color, $contrast-threshold);
            }

            &:enabled:focus {
                border: 1px solid var(--primary);
                outline: 0 none;

                box-shadow: none;
            }
        }

        .p-dropdown-trigger {
            background: transparent;
            color: contrast-color($theme-color, $contrast-threshold);
            width: 2.357rem;
            border-top-right-radius: 2px;
            border-bottom-right-radius: 2px;
        }

        .p-dropdown-clear-icon {
            color: contrast-color($theme-color, $contrast-threshold);
            right: 2.357rem;
        }

        &.p-disabled {
            background-color: var(--default-grey);
            border-color: var(--disabled-color);
            color: var(--default-grey);
            opacity: 1;
            user-select: none;

            .p-dropdown-label {
                color: var(--default-grey);
            }

            .p-dropdown-trigger-icon {
                color: var(--default-grey);
            }
        }

        &:not(.p-disabled) {
            &:hover {
                border-color: contrast-color($theme-color, $contrast-threshold);
            }

            &.p-focus {
                outline: 0 none;
                outline-offset: 0;
                border: 1px solid var(--primary);
                border-color: contrast-color($theme-color, $contrast-threshold);
            }
        }

        &.p-dropdown-clearable .p-dropdown-label {
            padding-right: 1.5rem;
        }
    }

    .p-dropdown-panel {
        background: var(--form-color);
        color: contrast-color($theme-color, $contrast-threshold);
        border: 0 none;

        border-radius: var(--eg-border-radius); //: 2px;

        box-shadow: var(--box-shadow-one) 0 3.2px 7.2px 0, var(--box-shadow-two) 0 .6px 1.8px 0;

        .p-dropdown-header {
            padding: .75rem .5rem;
            margin:0.4rem;
            border-bottom: 1px solid var(--default-grey);
            color: contrast-color($theme-color, $contrast-threshold);
            background: var(--form-color);
            margin: 0;

            border-top-right-radius: 2px;

            border-top-left-radius: 2px;

            .p-dropdown-filter {
                padding-right: 1.5rem;
                margin-right: -1.5rem;
            }

            .p-dropdown-filter-icon {
                right: .5rem;
                color: contrast-color($theme-color, $contrast-threshold);
            }
        }

        .p-dropdown-items {
            .p-dropdown-item {
                margin: 5px;
                padding: .5rem .25rem;
                border: 1px solid transparent;
                color: contrast-color($theme-color, $contrast-threshold);
                background: transparent;

                transition: box-shadow .2s;

                border-radius: var(--eg-border-radius); //: 0;

                &.p-highlight {
                    color: var(--primary);
                    background-color: var(--primary-faded);

                }

                &:not(.p-highlight):not(.p-disabled):hover {
                  color: var(--primary);
                  background-color: var(--primary-faded);
                    font-weight: var(--active-font-weight);

                }
            }

            .p-dropdown-empty-message {
                padding: .75rem .5rem;
                margin:0.4rem;
                color: contrast-color($theme-color, $contrast-threshold);
                background: transparent;
            }

            .p-dropdown-item-group {
                margin: 5px;
                padding: .5rem .25rem;
                color: contrast-color($theme-color, $contrast-threshold);
                background: var(--form-color);
                font-weight: 600;
            }

            &:not(.p-dropdown-virtualscroll) {
                padding: 0;
            }

            &.p-dropdown-virtualscroll .cdk-virtual-scroll-content-wrapper {
                padding: 0;
            }
        }
    }

    .p-editor-container {
        border: 1px solid var(--border-color);
        border-radius: var(--eg-border-radius);

        .p-editor-toolbar {
            background: var(--default-grey);

            border-top-right-radius: var(--eg-border-radius);

            border-top-left-radius: var(--eg-border-radius);

            &.ql-snow {
                border: 1px solid var(--border-color);

                .ql-stroke {
                    stroke: var(--primary);
                }

                .ql-fill {
                    fill: var(--primary);
                }

                .ql-picker {
                    .ql-picker-label {
                        border: 0 none;
                        color: contrast-color($theme-color, $contrast-threshold);

                        &:hover {
                            color: contrast-color($theme-color, $contrast-threshold);

                            .ql-stroke {
                                stroke: var(--primary);
                            }

                            .ql-fill {
                                fill: var(--primary);
                            }
                        }
                    }

                    &.ql-expanded {
                        .ql-picker-label {
                            color: contrast-color($theme-color, $contrast-threshold);

                            .ql-stroke {
                                stroke: var(--primary);
                            }

                            .ql-fill {
                                fill: var(--primary);
                            }
                        }

                        .ql-picker-options {
                            background: var(--form-color);
                            border: 0 none;

                            box-shadow: var(--box-shadow-one) 0 3.2px 7.2px 0, var(--box-shadow-two) 0 .6px 1.8px 0;

                            border-radius: var(--eg-border-radius); //: 2px;
                            padding: 0;

                            .ql-picker-item {
                                color: contrast-color($theme-color, $contrast-threshold);

                                &:hover {
                                    color: contrast-color($theme-color, $contrast-threshold);
                                    background: var(--default-grey);
                                }
                            }
                        }

                        &:not(.ql-icon-picker) .ql-picker-item {
                            padding: .75rem .5rem;
                            margin:0.4rem;
                        }
                    }
                }
            }
        }

        .p-editor-content {
            border-bottom-right-radius: var(--eg-border-radius);
            border-bottom-left-radius: var(--eg-border-radius);

            &.ql-snow {
                border: 1px solid var(--border-color);
            }

            .ql-editor {
                background: var(--form-color);
                color: contrast-color($theme-color, $contrast-threshold);
                border-bottom-right-radius: var(--eg-border-radius);
                border-bottom-left-radius: var(--eg-border-radius);
            }
        }

        .ql-snow.ql-toolbar {
            button {
                &:hover {
                  background-color: var(--primary-faded);
                  color: var(--primary);

                    .ql-stroke {
                        stroke: var(--primary);
                    }

                    .ql-fill {
                        fill: var(--primary);
                    }
                }

                &:focus {
                  background-color: var(--primary-faded);
                  color: var(--primary);

                    .ql-stroke {
                        stroke: var(--primary);
                    }

                    .ql-fill {
                        fill: var(--primary);
                    }
                }

                &.ql-active {
                  background-color: var(--primary-faded);
                  color: var(--primary);

                    .ql-stroke {
                        stroke: var(--primary);
                    }

                    .ql-fill {
                        fill: var(--primary);
                    }

                    .ql-picker-label {
                        color: contrast-color($theme-color, $contrast-threshold);
                    }
                }
            }

            .ql-picker-label.ql-active {
              background-color: var(--primary-faded);
              color: var(--primary);

                .ql-stroke {
                    stroke: var(--primary);
                }

                .ql-fill {
                    fill: var(--primary);
                }

                .ql-picker-label {
                    color: contrast-color($theme-color, $contrast-threshold);
                }
            }

            .ql-picker-item.ql-selected {
              background-color: var(--primary-faded);
              color: var(--primary);

                .ql-stroke {
                    stroke: var(--primary);
                }

                .ql-fill {
                    fill: var(--primary);
                }

                .ql-picker-label {
                    color: contrast-color($theme-color, $contrast-threshold);
                }
            }
        }
    }

    .p-inputgroup-addon {
        background: var(--default-grey);
        color: contrast-color($theme-color, $contrast-threshold);
        border-top: 1px solid var(--border-color);
        border-left: 1px solid var(--border-color);
        border-bottom: 1px solid var(--border-color);

        padding: .5rem .5rem;
        min-width: 2.357rem;

        &:last-child {
            border-right: 1px solid var(--border-color);
            border-radius: 0 var(--eg-border-radius) var(--eg-border-radius) 0;

        }

        &:first-child {
            border-radius: var(--eg-border-radius) 0 0 var(--eg-border-radius);
        }
    }

    .p-inputgroup {
        > {
            .p-component {

                border-radius: var(--eg-border-radius); //: 0;
                margin: 0;

                &:focus {
                    z-index: 1;

                    ~label {
                        z-index: 1;
                    }
                }

                +.p-inputgroup-addon {
                    border-left: 0 none;
                }
            }

            .p-element {

                border-radius: 0;
                margin: 0;

                &:focus {
                    z-index: 1;

                    ~label {
                        z-index: 1;
                    }
                }

                +.p-inputgroup-addon {
                    border-left: 0 none;
                }
            }

            .p-inputwrapper {
                >.p-component>.p-inputtext {


                    border-radius: var(--eg-border-radius); //: 0;
                    margin: 0;

                    &:focus {
                        z-index: 1;

                        ~label {
                            z-index: 1;
                        }
                    }

                    +.p-inputgroup-addon {
                        border-left: 0 none;
                    }
                }

                &:first-child>.p-component {
                    border-radius: var(--eg-border-radius) 0 0 var(--eg-border-radius);

                    >.p-inputtext {
                        border-radius: 0 var(--eg-border-radius) var(--eg-border-radius) 0;
                    }
                }

                &:last-child>.p-component {
                    border-radius: var(--eg-border-radius) 0 0 var(--eg-border-radius);

                    >.p-inputtext {
                        border-radius: 0 var(--eg-border-radius) var(--eg-border-radius) 0;
                    }
                }
            }

            .p-float-label>.p-component {

                border-radius: var(--eg-border-radius); //: 0;
                margin: 0;

                &:focus {
                    z-index: 1;

                    ~label {
                        z-index: 1;
                    }
                }

                +.p-inputgroup-addon {
                    border-left: 0 none;
                }
            }
        }

        button {
            &:first-child {
                border-radius: var(--eg-border-radius) 0 0 var(--eg-border-radius);
            }

            &:last-child {
                border-radius: 0 var(--eg-border-radius) var(--eg-border-radius) 0;
            }
        }

        input {
            &:first-child {
                border-radius: var(--eg-border-radius) 0 0 var(--eg-border-radius);
            }

            &:last-child {
                border-radius: 0 var(--eg-border-radius) var(--eg-border-radius) 0;
            }
        }

        .p-float-label {
            &:first-child input {
                border-radius: var(--eg-border-radius) 0 0 var(--eg-border-radius);
            }

            &:last-child input {
                border-radius: 0 var(--eg-border-radius) var(--eg-border-radius) 0;
            }
        }
    }

    p-inputmask {
        &.p-inputmask-clearable {
            .p-inputtext {
                border-color: var(--border-color);
                padding-right: 2rem;
            }

            .p-inputmask-clear-icon {
                color: contrast-color($theme-color, $contrast-threshold);
                right: .5rem;
            }
        }

        .ng-dirty.ng-invalid>.p-inputtext {
            border-color: var(--danger);
        }
    }

    p-inputnumber {
        &.p-inputnumber-clearable {
            .p-inputnumber-input {
                padding-right: 2rem;
            }

            .p-inputnumber-clear-icon {
                color: contrast-color($theme-color, $contrast-threshold);
                right: .5rem;
            }

            .p-inputnumber-buttons-stacked .p-inputnumber-clear-icon {
                right: 2.857rem;
            }

            .p-inputnumber-buttons-horizontal .p-inputnumber-clear-icon {
                right: 2.857rem;
            }
        }

        .ng-dirty.ng-invalid>.p-inputnumber>.p-inputtext {
            border-color: var(--danger);
        }
    }

    .p-inputswitch {
        width: 40px;
        height: 20px;

        .p-inputswitch-slider {
            background: var(--form-color);

            transition: background-color .2s, color .2s, border-color .2s, box-shadow .2s;

            border-radius: var(--eg-border-radius); //: 30px;
            border: 1px solid var(--primary);

            &:before {
                background: var(--primary);
                left: .25rem;

                border-radius: var(--eg-border-radius); //: 50%;

                transition-duration: .2s;
                width: 12px;
                height: 12px;
                margin-top: -6px;
            }
        }

        &.p-inputswitch-checked {
            .p-inputswitch-slider {
                background: var(--primary);
                border-color: contrast-color($theme-color, $contrast-threshold);

                &:before {

                    transform: translateX(1.25rem);
                    background: var(--form-color);
                }
            }

            &:not(.p-disabled):hover .p-inputswitch-slider {
                background: var(--primary);
                border-color: var(--primary-faded);

                &:before {
                    background-color: $theme-color;
                }
            }
        }

        &.p-focus .p-inputswitch-slider {

            box-shadow: none;
            outline: 1px solid var(--primary);
            outline-offset: 2px;
        }

        &:not(.p-disabled):hover .p-inputswitch-slider {
            background: var(--form-color);
            border-color: contrast-color($theme-color, $contrast-threshold);

            &:before {
                background-color: contrast-color($theme-color, $contrast-threshold);
            }
        }
    }

    .p-inputtext {
        font-size: 1rem;
        color: contrast-color($theme-color, $contrast-threshold);
        background: var(--form-color);
        padding: .5rem .5rem;
        border: 1px solid var(--border-color);
        /* &:not(.inside-grid){
            border: 1px solid var(--border-color);
        }
        &.inside-grid{
            border: 1px solid var(--ag-input-border-color, #95a5a6);
        } */
        transition: background-color .2s, color .2s, border-color .2s, box-shadow .2s;
        appearance: none;

        border-radius: var(--eg-border-radius); //: 2px;

        &:enabled {
            &:hover {
                background: rgba(var(--default-grey), 0.5);
            }

            &:focus {
                outline: 0 none;
                outline-offset: 0;
                background: rgba(var(--default-grey), 0.5);
                border-color: var(--primary);
            }
        }

        &.p-inputtext-sm {
            font-size: .875rem;
            padding: .4375rem .4375rem;
        }

        &.p-inputtext-lg {
            font-size: 1.25rem;
            padding: .625rem .625rem;
        }

        &:disabled {
            background-color: var(--default-grey);
            border-color: var(--disabled-color);
            color: contrast-color($theme-color, $contrast-threshold);
            opacity: 1;
            user-select: none;
            cursor: not-allowed;
        }

        .ng-dirty.ng-invalid {
            border-color: var(--danger);
        }
    }
    .p-invalid {
        border-color: var(--danger);
    }
    .ng-invalid {
        border-color: var(--danger);
    }
    .p-float-label {
        >label {
            left: .5rem;
            color: contrast-color($theme-color, $contrast-threshold);

            transition-duration: .2s;
        }

        >.ng-invalid.ng-dirty+label {
            color: var(--danger);
        }
    }

    .p-input-icon-left {
        >i:first-of-type {
            left: .5rem;
            color: contrast-color($theme-color, $contrast-threshold);
        }

        >.p-inputtext {
            padding-left: 2rem;
        }

        &.p-float-label>label {
            left: 2rem;
        }
    }

    .p-input-icon-right {
        >i:last-of-type {
            right: .5rem;
            color: contrast-color($theme-color, $contrast-threshold);
        }

        >.p-inputtext {
            padding-right: 2rem;
        }
    }

    ::-webkit-input-placeholder {
        color: contrast-color($theme-color, $contrast-threshold);
    }

    :-moz-placeholder {
        color: contrast-color($theme-color, $contrast-threshold);
    }

    ::-moz-placeholder {
        color: contrast-color($theme-color, $contrast-threshold);
    }

    :-ms-input-placeholder {
        color: contrast-color($theme-color, $contrast-threshold);
    }

    .p-listbox {
        background: $theme-color;
        color: contrast-color($theme-color, $contrast-threshold);

        border-radius: var(--eg-border-radius); //: 2px;

        .p-listbox-header {
            padding: .5rem .25rem;
            /* border-bottom: 1px solid var(--border-color); */
            color: contrast-color($theme-color, $contrast-threshold);
            background: $theme-color;
            margin: 0;

            /* border-top-right-radius: 2px;

            border-top-left-radius: 2px; */
            border-radius: 0px !important;
            border: 0px solid !important;

            .p-listbox-filter {
                padding-right: 1.5rem;
            }

            .p-listbox-filter-icon {
                right: .5rem;
                color: contrast-color($theme-color, $contrast-threshold);
            }

            .p-checkbox {
                margin-right: .5rem;
                margin-left: .5rem;
                align-items: center;

                .p-checkbox-box {
                    width: 17px;
                    height: 17px;
                }
            }
        }

        .p-listbox-list {
            padding: 0;

            .p-listbox-item {
                margin: 5px;
                padding: .5rem .25rem;

                color: contrast-color($theme-color, $contrast-threshold);

                transition: box-shadow .2s;

                border-radius: var(--eg-border-radius); //: 0;

                &.p-highlight {
                    color: var(--primary);
                    background: var(--primary-faded);
                    font-weight: var(--active-font-weight);
                }

                &:focus {
                  color: var(--primary);
                  background: var(--primary-faded);
                    font-weight: var(--active-font-weight);

                }

                .p-checkbox {
                    margin-right: .5rem;
                    align-items: center;

                    .p-checkbox-box {
                        width: 17px;
                        height: 17px;
                    }

                }
            }

            .p-listbox-item-group {
                margin: 0;
                padding: .75rem .5rem;
                /* margin:0.4rem; */
                margin: 0px !important;
                color: contrast-color($theme-color, $contrast-threshold);
                background: $theme-color;
                font-weight: 600;
            }

            .p-listbox-empty-message {
                padding: .75rem .5rem;
                margin:0.4rem;
                color: contrast-color($theme-color, $contrast-threshold);
                background: transparent;
            }
        }

        &:not(.p-disabled) .p-listbox-item:not(.p-highlight):not(.p-disabled):hover {
          color: var(--primary);
          background: var(--primary-faded);
        }
    }

    .p-multiselect {
        background: $theme-color;
        border: 1px solid var(--border-color);
        transition: background-color .2s, color .2s, border-color .2s, box-shadow .2s;

        border-radius: var(--eg-border-radius); //: 2px;

        .p-multiselect-label {
            padding: .5rem .5rem;

            transition: background-color .2s, color .2s, border-color .2s, box-shadow .2s;

            &.p-placeholder {
                color: contrast-color($theme-color, $contrast-threshold);
            }
        }

        .p-multiselect-trigger {
            background: transparent;
            color: contrast-color($theme-color, $contrast-threshold);
            width: 2.357rem;

            border-top-right-radius: 2px;

            border-bottom-right-radius: 2px;
        }

        &.p-disabled {
            background-color: var(--default-grey);
            border-color: var(--disabled-color);
            color: var(--border-color);
            opacity: 1;

            user-select: none;

            .p-dropdown-label {
                color: var(--border-color);
            }

            .p-dropdown-trigger-icon {
                color: var(--border-color);
            }
        }

        &:not(.p-disabled) {
            &:hover {
                border: 1px solid var(--primary);
            }

            &.p-focus {
                outline: 0 none;
                outline-offset: 0;
                border: 1px solid var(--primary);
            }
        }

        &.p-multiselect-chip .p-multiselect-token {
            padding: .25rem .5rem;
            margin-right: .5rem;
            background: var(--default-grey);
            color: contrast-color($theme-color, $contrast-threshold);

            border-radius: var(--eg-border-radius); //: 2px;

            .p-multiselect-token-icon {
                margin-left: .5rem;
            }
        }
    }

    .p-inputwrapper-filled {
        .p-multiselect.p-multiselect-chip .p-multiselect-label {
            padding: .25rem .5rem;
        }

        .p-treeselect.p-treeselect-chip .p-treeselect-label {
            padding: .25rem .5rem;
        }
    }

    .p-multiselect-panel {
        background: $theme-color;
        color: contrast-color($theme-color, $contrast-threshold);
        border: 0 none;

        border-radius: var(--eg-border-radius); //: 2px;

        box-shadow: var(--box-shadow-one) 0 3.2px 7.2px 0, var(--box-shadow-two) 0 .6px 1.8px 0;

        .p-multiselect-header {
            padding: .5rem .25rem;
            border-bottom: 1px solid var(--default-grey);
            color: contrast-color($theme-color, $contrast-threshold);
            background: $theme-color;
            margin: 5px;
            border-top-right-radius: var(--eg-border-radius);
            border-top-left-radius: var(--eg-border-radius);

            .p-multiselect-filter-container {
                .p-inputtext {
                    padding-right: 1.5rem;
                }

                .p-multiselect-filter-icon {
                    right: .5rem;
                    color: contrast-color($theme-color, $contrast-threshold);
                }
            }

            .p-checkbox {
                margin-right: .5rem;
                align-items: center;

                .p-checkbox-box {
                    width: 17px;
                    height: 17px;
                }
            }

            .p-multiselect-close {
                margin-left: .5rem;
                width: 2rem;
                height: 2rem;
                color: contrast-color($theme-color, $contrast-threshold);
                border: 0 none;
                background: transparent;

                border-radius: var(--eg-border-radius); //: 2px;

                transition: background-color .2s, color .2s, box-shadow .2s;

                &:focus {
                    outline: 0 none;
                    outline-offset: 0;
                    border: 1px solid var(--primary);
                    color: var(--primary);
                    background: var(--primary-faded);
                }

                &:enabled:hover {
                    border-color: transparent;
                    color: var(--primary);
                    background: var(--primary-faded);
                }
            }
        }

        .p-multiselect-items {
            .p-multiselect-item {
                margin: 5px;
                padding: .5rem .25rem;
                border: 1px solid transparent;
                color: contrast-color($theme-color, $contrast-threshold);
                background: transparent;

                transition: box-shadow .2s;

                border-radius: var(--eg-border-radius); //: 0;

                &.p-highlight {
                  color: var(--primary);
                  background: var(--primary-faded);
                    font-weight: var(--active-font-weight);
                }

                &:focus {
                  color: var(--primary);
                  background: var(--primary-faded);
                    font-weight: var(--active-font-weight);
                }

                .p-checkbox {
                    margin-right: .5rem;
                    align-items: center;

                    .p-checkbox-box {
                        width: 17px;
                        height: 17px;
                    }
                }

                &:not(.p-highlight):not(.p-disabled):hover {
                  color: var(--primary);
                  background: var(--primary-faded);
                }
            }

            .p-multiselect-item-group {
                margin: 0;
                padding: .75rem .5rem;
                margin:0.4rem;
                color: contrast-color($theme-color, $contrast-threshold);
                background: $theme-color;
                font-weight: 600;
            }

            .p-multiselect-empty-message {
                padding: .75rem .5rem;
                margin:0.4rem;
                color: contrast-color($theme-color, $contrast-threshold);
                background: transparent;
            }

            &:not(.p-multiselect-virtualscroll) {
                padding: 0;
            }

            &.p-multiselect-virtualscroll .cdk-virtual-scroll-content-wrapper {
                padding: 0;
            }
        }
    }

    p-multiselect {
        &.p-multiselect-clearable {
            .p-multiselect-label-container {
                padding-right: 1.5rem;
            }

            .p-multiselect-clear-icon {
                color: contrast-color($theme-color, $contrast-threshold);
                right: 2.357rem;
            }
        }

        .ng-dirty.ng-invalid>.p-multiselect {
            border-color: var(--danger);
        }
    }

    p-password {
        &.p-password-clearable {
            .p-password-input {
                padding-right: 2rem;
            }

            .p-password-clear-icon {
                color: contrast-color($theme-color, $contrast-threshold);
                right: .5rem;
            }

            &.p-password-mask {
                .p-password-input {
                    padding-right: 3.5rem;
                }

                .p-password-clear-icon {
                    color: contrast-color($theme-color, $contrast-threshold);
                    right: 2rem;
                }
            }
        }

        .ng-invalid.ng-dirty>.p-password>.p-inputtext {
            border-color: var(--danger);
        }
    }

    .p-password-panel {
        padding: 1rem;
        background: var(--form-color);
        color: contrast-color($theme-color, $contrast-threshold);
        border: 0 none;

        box-shadow: var(--box-shadow-one) 0 3.2px 7.2px 0, var(--box-shadow-two) 0 .6px 1.8px 0;

        border-radius: var(--eg-border-radius); //: 2px;

        .p-password-meter {
            margin-bottom: .5rem;
            background: var(--default-grey);

            .p-password-strength {
                &.weak {
                    background: var(--danger);
                }

                &.medium {
                    background: var(--warn);
                }

                &.strong {
                    background: var(--success);
                }
            }
        }
    }

    .p-radiobutton {
        width: 20px;
        height: 20px;

        .p-radiobutton-box {
            border: 1px solid var(--border-color);
            background: var(--form-color);
            width: 20px;
            height: 20px;
            color: var(--primary);

            border-radius: 50%; //: 50%;

            transition: background-color .2s, color .2s, border-color .2s, box-shadow .2s;

            .p-radiobutton-icon {
                width: 12px;
                height: 12px;

                transition-duration: .2s;
                background-color: var(--primary);
            }

            &.p-highlight {
                border-color: var(--primary);
                background: var(--form-color);

                &:not(.p-disabled):hover {
                    border-color: var(--primary);
                    background: var(--primary);
                    color: var(--primary-contrast);
                }
            }

            &.p-disabled {
                background-color: var(--default-grey);
                border-color: var(--disabled-color);
                color: var(--border-color);
                opacity: 1;

                user-select: none;
            }

            &:not(.p-disabled) {
                &.p-focus {
                    outline: 0 none;
                    outline-offset: 0;
                    border: 1px solid var(--primary);
                    border-color: var(--primary);
                }

                &:not(.p-highlight):hover {
                    border-color: var(--primary);
                }
            }
        }
    }

    .p-radiobutton-label {
        margin-left: .5rem;
    }

    .p-rating {
        .p-rating-icon {
            color: var(--primary);
            margin-left: .5rem;
            transition: background-color .2s, color .2s, border-color .2s, box-shadow .2s;
            font-size: 1.143rem;

            &.p-rating-cancel {
                color: var(--danger);
            }

            &:focus {
                outline: 0 none;
                outline-offset: 0;
            }

            &:first-child {
                margin-left: 0;
            }

            &.pi-star-fill {
                color: var(--primary);
            }
        }

        &:not(.p-disabled):not(.p-readonly) .p-rating-icon {
            &:hover {
                color: var(--primary);
            }

            &.p-rating-cancel:hover {
                color: var(--danger);
            }
        }
    }

    .p-slider {
        background: var(--default-grey);
        border: 0 none;

        border-radius: var(--eg-border-radius);

        &.p-slider-horizontal {
            height: 4px;

            .p-slider-handle {
                margin-top: -8px;
                margin-left: -8px;
            }
        }

        &.p-slider-vertical {
            width: 4px;

            .p-slider-handle {
                margin-left: -8px;
                margin-bottom: -8px;
            }
        }

        .p-slider-handle {
            height: 16px;
            width: 16px;
            background: var(--primary-faded);
            border: 2px solid var(--primary);

            border-radius: 50%;

            transition: background-color .2s, color .2s, border-color .2s, box-shadow .2s;

            &:focus {
                outline: 0 none;
                outline-offset: 0;
                border: 1px solid var(--primary);
            }
        }

        .p-slider-range {
            background: var(--primary);
        }

        &.p-slider-animate {
            &.p-slider-horizontal {
                .p-slider-handle {

                    transition: background-color .2s, color .2s, border-color .2s, box-shadow .2s, left .2s;
                }

                .p-slider-range {

                    transition: width .2s;
                }
            }

            &.p-slider-vertical {
                .p-slider-handle {

                    transition: background-color .2s, color .2s, border-color .2s, box-shadow .2s, bottom .2s;
                }

                .p-slider-range {

                    transition: height .2s;
                }
            }
        }

        &:not(.p-disabled) {
            &:hover {
                background-color: var(--default-grey);

                .p-slider-range {
                    background-color: var(--primary);
                }

                .p-slider-handle {
                    border-color: var(--primary);
                }
            }

            .p-slider-handle:hover {
                border: 1px solid var(--primary);
                background-color: var(--primary);
            }
            .p-slider-handle:active {
                border: 1px solid var(--primary);
                background-color: var(--primary);
            }
        }
    }

    .p-treeselect {
        background: $theme-color;
        border: 1px solid var(--border-color);
        transition: background-color .2s, color .2s, border-color .2s, box-shadow .2s;
        border-radius: var(--eg-border-radius); //: 2px;

        .p-treeselect-label {
            padding: .5rem .5rem;

            transition: background-color .2s, color .2s, border-color .2s, box-shadow .2s;

            &.p-placeholder {
                color: contrast-color($theme-color, $contrast-threshold);
            }
        }

        .p-treeselect-trigger {
            background: transparent;
            color: contrast-color($theme-color, $contrast-threshold);
            width: 2.357rem;

            border-top-right-radius: 2px;

            border-bottom-right-radius: 2px;
        }

        &:not(.p-disabled) {
            &:hover {
                border-color: var(--border-color);
                color: var(--primary);
                background: var(--primary-faded);
            }

            &.p-focus {
                border-color: var(--border-color);
                color: var(--primary);
                background: var(--primary-faded);
                font-weight: var(--active-font-weight);
            }
        }

        &.p-treeselect-chip .p-treeselect-token {
            padding: .25rem .5rem;
            margin-right: .5rem;
            background: var(--default-grey);
            color: contrast-color($theme-color, $contrast-threshold);
            border-radius: var(--eg-border-radius); //: 16px;
        }
    }

    p-treeselect {
        &.p-treeselect-clearable {
            .p-treeselect-label-container {
                padding-right: 1.5rem;
            }

            .p-treeselect-clear-icon {
                color: contrast-color($theme-color, $contrast-threshold);
                right: 2.357rem;
            }
        }

        .ng-invalid.ng-dirty>.p-treeselect {
            border-color: var(--danger);
        }
    }

    .p-treeselect-panel {
        background: $theme-color;
        color: contrast-color($theme-color, $contrast-threshold);
        border: 0 none;

        border-radius: var(--eg-border-radius); //: 2px;

        box-shadow: var(--box-shadow-one) 0 3.2px 7.2px 0, var(--box-shadow-two) 0 .6px 1.8px 0;

        .p-treeselect-items-wrapper {
            .p-tree {
                border: 0 none;
            }

            .p-treeselect-empty-message {
                padding: .75rem .5rem;
                margin:0.4rem;
                color: contrast-color($theme-color, $contrast-threshold);
                background: transparent;
            }
        }
    }

    button {
        border-width: none !important;
    }

    .p-button {
        color: var(--primary-contrast);
        background: var(--primary);
        border: 1px solid var(--primary);
        padding: .5rem 1rem;
        font-size: 1rem;
        transition: background-color .2s, color .2s, border-color .2s, box-shadow .3s;
        border-radius: var(--eg-border-radius); //: 2px;

        &:enabled {
            &:hover {
                box-shadow: 0px 0px 9px 0px var(--primary);
                transition: background-color .2s, color .2s, border-color .2s, box-shadow .3s;
            }

            &:active {
                box-shadow: 0px 0px 20px 0px var(--primary);
                transition: background-color .2s, color .2s, border-color .2s, box-shadow .3s;
            }
            &.selected{
                /* box-shadow: 0px 0px 20px 0px var(--primary);
                transition: background-color .2s, color .2s, border-color .2s, box-shadow .3s; */
                color: var(--primary-contrast);
                background: var(--primary);
            }
        }


        &.p-button-outlined {
            background-color: transparent;
            color: var(--primary);
            border: 1px solid;
            transition: background-color .2s, color .2s, border-color .2s, box-shadow .3s;

            &:enabled {
                &:hover {
                    background: var(--primary-faded);
                    box-shadow: inset 0px 0px 0px 0px var(--primary-faded);
                    transition: background-color .2s, color .2s, border-color .2s, box-shadow .3s;
                }

                &:active {
                    background: var(--primary-faded);
                    box-shadow: inset 0px 0px 20px 0px var(--primary-faded);
                    transition: background-color .2s, color .2s, border-color .2s, box-shadow .3s;
                }
            }

            &.p-button-plain {
                color: var(--plain-contrast);
                border-color: var(--plain);

                &:enabled {
                    &:hover {
                        box-shadow: 0px 0px 20px 0px var(--plain-faded);
                        transition: background-color .2s, color .2s, border-color .2s, box-shadow .3s;
                    }

                    &:active {
                        box-shadow: 0px 0px 20px 0px var(--plain-faded);
                        transition: background-color .2s, color .2s, border-color .2s, box-shadow .3s;
                    }
                }
            }
        }

        &.p-button-text {
            background-color: transparent;
            color: var(--primary);
            border-color: transparent;

            &:enabled {
                &:hover {
                    background-color: var(--primary-faded);

                    box-shadow: none;
                }

                &:active {
                    background-color: var(--primary-faded);
                    box-shadow: none;
                }
            }

            &.p-button-plain {
                color: var(--primary);

                &:enabled {
                    &:hover {
                        background: var(--plain-faded);
                        color: contrast-color($theme-color, $contrast-threshold);
                    }

                    &:active {
                        background: var(--plain-faded);
                        color: contrast-color($theme-color, $contrast-threshold);
                    }
                }
            }
        }

        &:focus {
            outline: 0 none;
            outline-offset: 0;
        }

        .p-button-icon-left {
            margin-right: .5rem;
        }

        .p-button-icon-right {
            margin-left: .5rem;
        }

        .p-button-icon-bottom {
            margin-top: .5rem;
        }

        .p-button-icon-top {
            margin-bottom: .5rem;
        }

        .p-badge {
            margin-left: .5rem;
            min-width: 1rem;
            height: 1rem;
            line-height: 1rem;
            color: var(--primary);
            background-color: $theme-color;
        }

        &.p-button-raised {
            color: var(--primary-contrast);
            box-shadow: 0 3px 1px -2px var(--box-shadow-one), 0 2px 2px 0 var(--box-shadow-two), 0 1px 5px 0 var(--box-shadow-three)  !important;
            transition: background-color .2s, color .2s, border-color .2s, box-shadow .3s;

            &.p-button-text{
              color: var(--primary);
            }
        }

        &.p-button-rounded {
            color: var(--primary-contrast);
            border-radius: 2rem;

            &.p-button-text{
              color: var(--primary);
            }
            &.p-button-outlined{
              color: var(--primary);
            }
        }

        &.p-button-icon-only {
            width: 2.357rem;
            padding: .5rem 0;

            .p-button-icon-left {
                margin: 0;
            }

            .p-button-icon-right {
                margin: 0;
            }

            &.p-button-rounded {

                border-radius: 50%;
                height: 2.357rem;
            }

        }

        &.p-button-sm {
            font-size: .875rem;
            padding: .4375rem .875rem;

            .p-button-icon {
                font-size: .875rem;
            }
        }

        &.p-button-lg {
            font-size: 1.25rem;
            padding: .625rem 1.25rem;

            .p-button-icon {
                font-size: 1.25rem;
            }
        }

        &.p-button-loading-label-only {
            .p-button-label {
                margin-left: .5rem;
            }

            .p-button-loading-icon {
                margin-right: 0;
            }
        }

        &.p-button-secondary {
            color: var(--secondary-contrast);
            background: var(--secondary);
            border: 1px solid var(--secondary);

            &:enabled {
                &:hover {
                    box-shadow: 0px 0px 9px 0px var(--secondary);
                    transition: background-color .2s, color .2s, border-color .2s, box-shadow .3s;
                }

                &:active {
                    box-shadow: 0px 0px 20px 0px var(--secondary);
                    transition: background-color .2s, color .2s, border-color .2s, box-shadow .3s;
                }
            }

            &.p-button-outlined {
                background-color: transparent;
                color: var(--secondary);
                border: 1px solid;

                &:enabled {
                    &:hover {
                        background: var(--secondary-faded);
                        box-shadow: inset 0px 0px 0px 0px var(--success-contrast);
                        transition: background-color .2s, color .2s, border-color .2s, box-shadow .3s;
                    }

                    &:active {
                        background: var(--secondary-faded);
                        box-shadow: inset 0px 0px 2px 0px var(--success-contrast);
                        transition: background-color .2s, color .2s, border-color .2s, box-shadow .3s;
                    }
                }
            }

            &.p-button-text {
                background-color: transparent;
                color: var(--secondary);
                border-color: transparent;

                &:enabled {
                    &:hover {
                        background-color: var(--secondary-faded);

                        box-shadow: none;
                    }

                    &:active {
                        background-color: var(--secondary-faded);
                        box-shadow: none;
                    }
                }

                &.p-button-plain {
                    color: var(--secondary-faded);

                    &:enabled {
                        &:hover {
                            background: var(--secondary-faded);
                            color: var(--secondary-faded);
                        }

                        &:active {
                            background: var(--secondary-faded);
                            color: var(--secondary-faded);
                        }
                    }
                }
            }
        }

        &.p-button-info {
            color: var(--info-contrast);
            background: var(--info);
            border: 1px solid var(--info);

            &:enabled {
                &:hover {
                    box-shadow: 0px 0px 9px 0px var(--info);
                    transition: background-color .2s, color .2s, border-color .2s, box-shadow .3s;
                }

                &:active {
                    box-shadow: 0px 0px 20px 0px var(--info);
                    transition: background-color .2s, color .2s, border-color .2s, box-shadow .3s;
                }
            }

            &.p-button-outlined {
                background-color: transparent;
                color: var(--info);
                border: 1px solid;
                transition: background-color .2s, color .2s, border-color .2s, box-shadow .3s;

                &:enabled {
                    &:hover {
                        background: var(--info-faded);
                        box-shadow: inset 0px 0px 0px 0px var(--info-contrast);
                        transition: background-color .2s, color .2s, border-color .2s, box-shadow .3s;
                    }

                    &:active {
                        background: var(--info-faded);
                        box-shadow: inset 0px 0px 20px 0px var(--info-contrast);
                        transition: background-color .2s, color .2s, border-color .2s, box-shadow .3s;
                    }
                }

                &.p-button-plain {
                    color: var(--info);
                    border-color: var(--info);

                    &:enabled {
                        &:hover {
                            box-shadow: 0px 0px 20px 0px var(--info);
                            transition: background-color .2s, color .2s, border-color .2s, box-shadow .3s;
                        }

                        &:active {
                            box-shadow: 0px 0px 20px 0px var(--info);
                            transition: background-color .2s, color .2s, border-color .2s, box-shadow .3s;
                        }
                    }
                }
            }

            &.p-button-text {
                background-color: transparent;
                color: var(--info);
                border-color: transparent;

                &:enabled {
                    &:hover {
                        background-color: var(--info-faded);
                        box-shadow: none;
                    }

                    &:active {
                        background-color: var(--info-faded);
                        box-shadow: none;
                    }
                }

                &.p-button-plain {
                    color: var(--info);

                    &:enabled {
                        &:hover {
                            background: var(--info-faded);
                            color: var(--info);
                        }

                        &:active {
                            background: var(--info-faded);
                            color: var(--info);
                        }
                    }
                }
            }
        }

        &.p-button-success {
            color: var(--success-contrast);
            background: var(--success);
            border: 1px solid var(--success);

            &:enabled {
                &:hover {
                    box-shadow: 0px 0px 9px 0px var(--success);
                    transition: background-color .2s, color .2s, border-color .2s, box-shadow .3s;
                }

                &:active {
                    box-shadow: 0px 0px 20px 0px var(--success);
                    transition: background-color .2s, color .2s, border-color .2s, box-shadow .3s;
                }
            }

            &.p-button-outlined {
                background-color: transparent;
                color: var(--success);
                border: 1px solid;
                transition: background-color .2s, color .2s, border-color .2s, box-shadow .3s;

                &:enabled {
                    &:hover {
                        background: var(--success-faded);
                        box-shadow: inset 0px 0px 0px 0px var(--success-contrast);
                        transition: background-color .2s, color .2s, border-color .2s, box-shadow .3s;
                    }

                    &:active {
                        background: var(--success-faded);
                        box-shadow: inset 0px 0px 20px 0px var(--success-contrast);
                        transition: background-color .2s, color .2s, border-color .2s, box-shadow .3s;
                    }
                }

                &.p-button-plain {
                    color: var(--success);
                    border-color: var(--success);

                    &:enabled {
                        &:hover {
                            box-shadow: 0px 0px 20px 0px var(--secondary);
                            transition: background-color .2s, color .2s, border-color .2s, box-shadow .3s;
                        }

                        &:active {
                            box-shadow: 0px 0px 20px 0px var(--secondary);
                            transition: background-color .2s, color .2s, border-color .2s, box-shadow .3s;
                        }
                    }
                }
            }

            &.p-button-text {
                background-color: transparent;
                color: var(--success);
                border-color: transparent;

                &:enabled {
                    &:hover {
                        background-color: var(--success-faded);
                        box-shadow: none;
                    }

                    &:active {
                        background-color: var(--success-faded);
                        box-shadow: none;
                    }
                }

                &.p-button-plain {
                    color: var(--success);

                    &:enabled {
                        &:hover {
                            background: var(--success-faded);
                            color: var(--success);
                        }

                        &:active {
                            background: var(--success-faded);
                            color: var(--success);
                        }
                    }
                }
            }
        }

        &.p-button-warning {
            color: var(--warn-contrast);
            background: var(--warn);
            border: 1px solid var(--warn);

            &:enabled {
                &:hover {
                    box-shadow: 0px 0px 9px 0px var(--warn);
                    transition: background-color .2s, color .2s, border-color .2s, box-shadow .3s;
                }

                &:active {
                    box-shadow: 0px 0px 20px 0px var(--warn);
                    transition: background-color .2s, color .2s, border-color .2s, box-shadow .3s;
                }
            }

            &.p-button-outlined {
                background-color: transparent;
                color: var(--warn);
                border: 1px solid;
                transition: background-color .2s, color .2s, border-color .2s, box-shadow .3s;

                &:enabled {
                    &:hover {
                        background: var(--warn-faded);
                        box-shadow: inset 0px 0px 0px 0px var(--warn-faded);
                        transition: background-color .2s, color .2s, border-color .2s, box-shadow .3s;
                    }

                    &:active {
                        background: var(--warn-faded);
                        box-shadow: inset 0px 0px 20px 0px var(--warn-faded);
                        transition: background-color .2s, color .2s, border-color .2s, box-shadow .3s;
                    }
                }

                &.p-button-plain {
                    color: var(--warn);
                    border-color: var(--warn);

                    &:enabled {
                        &:hover {
                            box-shadow: 0px 0px 20px 0px var(--warn);
                            transition: background-color .2s, color .2s, border-color .2s, box-shadow .3s;
                        }

                        &:active {
                            box-shadow: 0px 0px 20px 0px var(--warn);
                            transition: background-color .2s, color .2s, border-color .2s, box-shadow .3s;
                        }
                    }
                }
            }

            &.p-button-text {
                background-color: transparent;
                color: var(--warn);
                border-color: transparent;

                &:enabled {
                    &:hover {
                        background-color: var(--warn-faded);
                        box-shadow: none;
                    }

                    &:active {
                        background-color: var(--warn-faded);
                        box-shadow: none;
                    }
                }

                &.p-button-plain {
                    color: var(--warn);

                    &:enabled {
                        &:hover {
                            background: var(--warn-faded);
                            color: var(--warn);
                        }

                        &:active {
                            background: var(--warn-faded);
                            color: var(--warn);
                        }
                    }
                }
            }
        }

        &.p-button-help {
            color: var(--help-contrast);
            background: var(--help);
            border: 1px solid var(--help);

            &:enabled {
                &:hover {
                    box-shadow: 0px 0px 9px 0px var(--help);
                    transition: background-color .2s, color .2s, border-color .2s, box-shadow .3s;
                }

                &:active {
                    box-shadow: 0px 0px 20px 0px var(--help);
                    transition: background-color .2s, color .2s, border-color .2s, box-shadow .3s;
                }
            }

            &.p-button-outlined {
                background-color: transparent;
                color: var(--help);
                border: 1px solid;
                transition: background-color .2s, color .2s, border-color .2s, box-shadow .3s;

                &:enabled {
                    &:hover {
                        background: var(--help-faded);
                        box-shadow: inset 0px 0px 0px 0px var(--help-contrast);
                        transition: background-color .2s, color .2s, border-color .2s, box-shadow .3s;
                    }

                    &:active {
                        background: var(--help-faded);
                        box-shadow: inset 0px 0px 20px 0px var(--help-contrast);
                        transition: background-color .2s, color .2s, border-color .2s, box-shadow .3s;
                    }
                }

                &.p-button-plain {
                    color: var(--help);
                    border-color: var(--help);

                    &:enabled {
                        &:hover {
                            box-shadow: 0px 0px 20px 0px var(--help);
                            transition: background-color .2s, color .2s, border-color .2s, box-shadow .3s;
                        }

                        &:active {
                            box-shadow: 0px 0px 20px 0px var(--help);
                            transition: background-color .2s, color .2s, border-color .2s, box-shadow .3s;
                        }
                    }
                }
            }

            &.p-button-text {
                background-color: transparent;
                color: var(--help);
                border-color: transparent;

                &:enabled {
                    &:hover {
                        background-color: var(--help-faded);
                        box-shadow: none;
                    }

                    &:active {
                        background-color: var(--help-faded);
                        box-shadow: none;
                    }
                }

                &.p-button-plain {
                    color: var(--help);

                    &:enabled {
                        &:hover {
                            background: var(--help-faded);
                            color: var(--help);
                        }

                        &:active {
                            background: var(--help-faded);
                            color: var(--help);
                        }
                    }
                }
            }
        }

        &.p-button-danger {
            color: var(--danger-contrast);
            background: var(--danger);
            border: 1px solid var(--danger);

            &:enabled {
                &:hover {
                    box-shadow: 0px 0px 9px 0px var(--danger);
                    transition: background-color .2s, color .2s, border-color .2s, box-shadow .3s;
                }

                &:active {
                    box-shadow: 0px 0px 20px 0px var(--danger);
                    transition: background-color .2s, color .2s, border-color .2s, box-shadow .3s;
                }
            }

            &.p-button-outlined {
                background-color: transparent;
                color: var(--danger);
                border: 1px solid;
                transition: background-color .2s, color .2s, border-color .2s, box-shadow .3s;

                &:enabled {
                    &:hover {
                        background: var(--danger-faded);
                        box-shadow: inset 0px 0px 0px 0px var(--danger-contrast);;
                        transition: background-color .2s, color .2s, border-color .2s, box-shadow .3s;
                    }

                    &:active {
                        background: var(--danger-faded);
                        box-shadow: inset 0px 0px 20px 0px var(--danger-contrast);;
                        transition: background-color .2s, color .2s, border-color .2s, box-shadow .3s;
                    }
                }

                &.p-button-plain {
                    color: var(--danger);
                    border-color: var(--danger);

                    &:enabled {
                        &:hover {
                            box-shadow: 0px 0px 20px 0px var(--danger);
                            transition: background-color .2s, color .2s, border-color .2s, box-shadow .3s;
                        }

                        &:active {
                            box-shadow: 0px 0px 20px 0px var(--danger);
                            transition: background-color .2s, color .2s, border-color .2s, box-shadow .3s;
                        }
                    }
                }
            }

            &.p-button-text {
                background-color: transparent;
                color: var(--danger);
                border-color: transparent;

                &:enabled {
                    &:hover {
                        background-color: var(--danger-faded);
                        box-shadow: none;
                    }

                    &:active {
                        background-color: var(--danger-faded);
                        box-shadow: none;
                    }
                }

                &.p-button-plain {
                    color: var(--danger);

                    &:enabled {
                        &:hover {
                            background: var(--danger-faded);
                            color: var(--danger);
                        }

                        &:active {
                            background: var(--danger-faded);
                            color: var(--danger);
                        }
                    }
                }
            }
        }

        &.p-button-plain {
            color: var(--plain-contrast);

            border: 1px solid var(--plain);

            &:enabled {
                &:hover {
                    box-shadow: 0px 0px 9px 0px var(--plain);
                    color: var(--plain-contrast);
                    transition: background-color .2s, color .2s, border-color .2s, box-shadow .3s;
                }

                &:active {
                    box-shadow: 0px 0px 20px 0px var(--plain);
                    color: var(--plain-contrast);
                    transition: background-color .2s, color .2s, border-color .2s, box-shadow .3s;
                }


            }

            &.p-button-outlined {
                background-color: transparent;
                color: var(--plain);
                border: 1px solid;
                transition: background-color .2s, color .2s, border-color .2s, box-shadow .3s;

                &:enabled {
                    &:hover {
                        background: var(--plain-faded);
                        box-shadow: inset 0px 0px 0px 0px var(--plain-contrast);
                        transition: background-color .2s, color .2s, border-color .2s, box-shadow .3s;
                    }

                    &:active {
                        background: var(--plain-faded);
                        box-shadow: inset 0px 0px 20px 0px var(--plain-contrast);
                        transition: background-color .2s, color .2s, border-color .2s, box-shadow .3s;
                    }

                }

                &.p-button-plain {
                    color: var(--plain);
                    border-color: var(--plain);

                    &:enabled {
                        &:hover {
                            box-shadow: 0px 0px 20px 0px var(--plain);
                            transition: background-color .2s, color .2s, border-color .2s, box-shadow .3s;
                        }

                        &:active {
                            box-shadow: 0px 0px 20px 0px var(--plain);
                            transition: background-color .2s, color .2s, border-color .2s, box-shadow .3s;
                        }


                    }
                }
            }

            &.p-button-text {

                color: var(--plain-contrast);
                border-color: transparent;

                &:enabled {
                    &:hover {
                        background-color: var(--plain-faded);
                        box-shadow: none;
                    }

                    &:active {
                        background-color: var(--plain-faded);
                        box-shadow: none;
                    }
                }

                &.p-button-plain {
                    color: var(--plain-contrast);


                    &:enabled {
                        &:hover {
                            background: var(--plain-faded);
                            color: var(--plain-contrast);
                        }

                        &:active {
                            background: var(--plain-faded);
                            color: var(--plain-contrast);
                        }

                    }
                }
            }
        }

        &.p-button-link {
            color: var(--primary);
            background: transparent;
            border: 0px solid transparent;
            box-shadow: none !important;

            &:enabled {
                &:hover {
                    background: transparent;
                    color: var(--primary);
                    border-color: transparent;
                    transition: background-color .2s, color .2s, border-color .2s, box-shadow .3s;

                    .p-button-label {
                        text-decoration: underline;
                    }
                }

                &:focus {
                    background: transparent;

                    border-color: transparent;
                    transition: background-color .2s, color .2s, border-color .2s, box-shadow .3s;
                }

                &:active {
                    background: transparent;
                    color: var(--primary);
                    border-color: transparent;
                    transition: background-color .2s, color .2s, border-color .2s, box-shadow .3s;
                }
            }
        }
    }

    .p-buttonset {
        &.p-button-secondary>.p-button {
            color: var(--success-contrast);
            background: var(--secondary);
            border: 1px solid var(--secondary)  !important;

            &:enabled {
                &:hover {
                    box-shadow: 0px 0px 9px 0px var(--secondary);
                    transition: background-color .2s, color .2s, border-color .2s, box-shadow .3s;
                }

                &:focus {
                    color: var(--secondary);
                    background: var(--secondary-faded);
                }

                &:active {
                    box-shadow: 0px 0px 20px 0px var(--secondary);
                    transition: background-color .2s, color .2s, border-color .2s, box-shadow .3s;
                }
            }

            &.p-button-outlined {
                background-color: transparent;
                color: var(--secondary);
                border: 1px solid;

                &:enabled {
                    &:hover {
                        background: var(--secondary-faded);
                        box-shadow: inset 0px 0px 0px 0px var(--success-contrast);
                        transition: background-color .2s, color .2s, border-color .2s, box-shadow .3s;
                    }

                    &:focus {
                        color: var(--secondary);
                        background: var(--secondary-faded);
                    }

                    &:active {
                        background: var(--secondary-faded);
                        box-shadow: inset 0px 0px 10px 0px var(--success-contrast);
                        transition: background-color .2s, color .2s, border-color .2s, box-shadow .3s;
                    }
                }
            }

            &.p-button-text {
                background-color: transparent;
                color: var(--secondary);
                border-color: transparent;

                &:enabled {
                    &:hover {
                        background-color: var(--secondary-faded);
                        box-shadow: none;
                    }

                    &:focus {
                        color: var(--secondary);
                        background: var(--secondary-faded);
                    }

                    &:active {
                        background-color: var(--secondary-faded);
                        box-shadow: none;
                    }
                }
            }
        }

        &.p-button-success>.p-button {
            color: var(--success-contrast);
            background: var(--success);
            border: 1px solid var(--success)  !important;

            &:enabled {
                &:hover {
                    box-shadow: 0px 0px 9px 0px var(--secondary);
                    transition: background-color .2s, color .2s, border-color .2s, box-shadow .3s;
                }

                &:focus {
                    color: var(--success);
                    background: var(--success-faded);
                }

                &:active {
                    box-shadow: 0px 0px 20px 0px var(--secondary);
                    transition: background-color .2s, color .2s, border-color .2s, box-shadow .3s;
                }
            }

            &.p-button-outlined {
                background-color: transparent;
                color: var(--success);
                border: 1px solid;

                &:enabled {
                    &:hover {
                        background: var(--success-faded);
                        box-shadow: inset 0px 0px 0px 0px var(--success-contrast);
                        transition: background-color .2s, color .2s, border-color .2s, box-shadow .3s;
                    }

                    &:focus {
                        color: var(--success);
                        background: var(--success-faded);
                    }

                    &:active {
                        background: var(--success-faded);
                        box-shadow: inset 0px 0px 10px 0px var(--success-contrast);
                        transition: background-color .2s, color .2s, border-color .2s, box-shadow .3s;
                    }
                }
            }

            &.p-button-text {
                background-color: transparent;
                color: var(--success);
                border-color: transparent;

                &:enabled {
                    &:hover {
                        background-color: var(--success-faded);
                        box-shadow: none;
                    }

                    &:focus {
                        color: var(--success);
                        background: var(--success-faded);
                    }

                    &:active {
                        background-color: var(--success-faded);
                        box-shadow: none;
                    }
                }
            }
        }

        &.p-button-info>.p-button {
            color: var(--info-contrast);
            background: var(--info);
            border: 1px solid var(--info)  !important;

            &:enabled {
                &:hover {
                    box-shadow: 0px 0px 9px 0px var(--info);
                    transition: background-color .2s, color .2s, border-color .2s, box-shadow .3s;
                }

                &:focus {
                    color: var(--info);
                    background: var(--info-faded);
                }

                &:active {
                    box-shadow: 0px 0px 20px 0px var(--info);
                    transition: background-color .2s, color .2s, border-color .2s, box-shadow .3s;
                }
            }

            &.p-button-outlined {
                background-color: transparent;
                color: var(--info);
                border: 1px solid;

                &:enabled {
                    &:hover {
                        background: var(--info-faded);
                        box-shadow: inset 0px 0px 0px 0px var(--info-contrast);
                        transition: background-color .2s, color .2s, border-color .2s, box-shadow .3s;
                    }

                    &:focus {
                        color: var(--info);
                        background: var(--info-faded);
                    }

                    &:active {
                        background: var(--info-faded);
                        box-shadow: inset 0px 0px 10px 0px var(--info-contrast);
                        transition: background-color .2s, color .2s, border-color .2s, box-shadow .3s;
                    }
                }
            }

            &.p-button-text {
                background-color: transparent;
                color: var(--info);
                border-color: transparent;

                &:enabled {
                    &:hover {
                        background-color: var(--info-faded);
                        box-shadow: none;
                    }

                    &:focus {
                        color: var(--info);
                        background: var(--info-faded);
                    }

                    &:active {
                        background-color: var(--info-faded);
                        box-shadow: none;
                    }
                }
            }
        }

        &.p-button-warning>.p-button {
            color: var(--warn-contrast);
            background: var(--warn);
            border: 1px solid var(--warn)  !important;

            &:enabled {
                &:hover {
                    box-shadow: 0px 0px 9px 0px var(--warn);
                    transition: background-color .2s, color .2s, border-color .2s, box-shadow .3s;
                }

                &:focus {
                    color: var(--warn);
                    background: var(--warn-faded);
                }

                &:active {
                    box-shadow: 0px 0px 20px 0px var(--warn);
                    transition: background-color .2s, color .2s, border-color .2s, box-shadow .3s;
                }
            }

            &.p-button-outlined {
                background-color: transparent;
                color: var(--warn);
                border: 1px solid;

                &:enabled {
                    &:hover {
                        background: var(--warn-faded);
                        box-shadow: inset 0px 0px 0px 0px var(--warn-contrast);
                        transition: background-color .2s, color .2s, border-color .2s, box-shadow .3s;
                    }

                    &:focus {
                        color: var(--warn);
                        background: var(--warn-faded);
                    }

                    &:active {
                        background: var(--warn-faded);
                        box-shadow: inset 0px 0px 10px 0px var(--warn-contrast);
                        transition: background-color .2s, color .2s, border-color .2s, box-shadow .3s;
                    }
                }
            }

            &.p-button-text {
                background-color: transparent;
                color: var(--warn);
                border-color: transparent;

                &:enabled {
                    &:hover {
                        background-color: var(--warn-faded);
                        box-shadow: none;
                    }

                    &:focus {
                        color: var(--warn);
                        background: var(--warn-faded);
                    }

                    &:active {
                        background-color: var(--warn-faded);
                        box-shadow: none;
                    }
                }
            }
        }

        &.p-button-help>.p-button {
            color: var(--help-contrast);
            background: var(--help);
            border: 1px solid var(--help)  !important;

            &:enabled {
                &:hover {
                    box-shadow: 0px 0px 9px 0px var(--help);
                    transition: background-color .2s, color .2s, border-color .2s, box-shadow .3s;
                }

                &:focus {
                    color: var(--help);
                    background: var(--help-faded);
                }

                &:active {
                    box-shadow: 0px 0px 20px 0px var(--help);
                    transition: background-color .2s, color .2s, border-color .2s, box-shadow .3s;
                }
            }

            &.p-button-outlined {
                background-color: transparent;
                color: var(--help);
                border: 1px solid;

                &:enabled {
                    &:hover {
                        background: var(--help-faded);
                        box-shadow: inset 0px 0px 0px 0px var(--help-contrast);
                        transition: background-color .2s, color .2s, border-color .2s, box-shadow .3s;
                    }

                    &:focus {
                        color: var(--help);
                        background: var(--help-faded);
                    }

                    &:active {
                        background: var(--help-faded);
                        box-shadow: inset 0px 0px 10px 0px var(--help-contrast);
                        transition: background-color .2s, color .2s, border-color .2s, box-shadow .3s;
                    }
                }
            }

            &.p-button-text {
                background-color: transparent;
                color: var(--help);
                border-color: transparent;

                &:enabled {
                    &:hover {
                        background-color: var(--help-faded);
                        box-shadow: none;
                    }

                    &:focus {
                        color: var(--help);
                        background: var(--help-faded);
                    }

                    &:active {
                        background-color: var(--help-faded);
                        box-shadow: none;
                    }
                }
            }
        }

        &.p-button-danger>.p-button {
            color: var(--danger-contrast);;
            background: var(--danger);
            border: 1px solid var(--danger)  !important;

            &:enabled {
                &:hover {
                    box-shadow: 0px 0px 9px 0px var(--danger);
                    transition: background-color .2s, color .2s, border-color .2s, box-shadow .3s;
                }

                &:focus {
                    color: var(--danger);
                    background: var(--danger-faded);
                }

                &:active {
                    box-shadow: 0px 0px 20px 0px var(--danger);
                    transition: background-color .2s, color .2s, border-color .2s, box-shadow .3s;
                }
            }

            &.p-button-outlined {
                background-color: transparent;
                color: var(--danger);
                border: 1px solid;

                &:enabled {
                    &:hover {
                        background: var(--danger-faded);
                        box-shadow: inset 0px 0px 0px 0px var(--danger-contrast);;
                        transition: background-color .2s, color .2s, border-color .2s, box-shadow .3s;
                    }

                    &:focus {
                        color: var(--danger);
                        background: var(--danger-faded);
                    }

                    &:active {
                        background: var(--danger-faded);
                        box-shadow: inset 0px 0px 10px 0px var(--danger-contrast);;
                        transition: background-color .2s, color .2s, border-color .2s, box-shadow .3s;
                    }
                }
            }

            &.p-button-text {
                background-color: transparent;
                color: var(--danger);
                border-color: transparent;

                &:enabled {
                    &:hover {
                        background-color: var(--danger-faded);
                        box-shadow: none;
                    }

                    &:focus {
                        color: var(--danger);
                        background: var(--danger-faded);
                    }

                    &:active {
                        background-color: var(--danger-faded);
                        box-shadow: none;
                    }
                }
            }
        }
    }

    .p-splitbutton {

        border-radius: var(--eg-border-radius); //: 0px;

        &.p-button-secondary {
            >.p-button {
                color: var(--success-contrast);
                background: var(--secondary);
                border: 1px solid var(--secondary);

                &:enabled {
                    &:hover {
                        box-shadow: 0px 0px 9px 0px var(--secondary);
                        transition: background-color .2s, color .2s, border-color .2s, box-shadow .3s;
                    }

                    &:active {
                        box-shadow: 0px 0px 20px 0px var(--secondary);
                        transition: background-color .2s, color .2s, border-color .2s, box-shadow .3s;
                    }
                }

                &.p-button-outlined {
                    background-color: transparent;
                    color: var(--secondary);
                    border: 1px solid;
                    transition: background-color .2s, color .2s, border-color .2s, box-shadow .3s;

                    &:enabled {
                        &:hover {
                            background: var(--secondary-faded);
                            box-shadow: inset 0px 0px 0px 0px var(--success-contrast);
                            transition: background-color .2s, color .2s, border-color .2s, box-shadow .3s;
                        }

                        &:active {
                            background: var(--secondary-faded);
                            box-shadow: inset 0px 0px 20px 0px var(--success-contrast);
                            transition: background-color .2s, color .2s, border-color .2s, box-shadow .3s;
                        }
                    }
                }

                &.p-button-text {
                    background-color: transparent;
                    color: var(--secondary);
                    border-color: transparent;

                    &:enabled {
                        &:hover {
                            background-color: var(--secondary-faded);
                            box-shadow: none;
                        }

                        &:active {
                            background-color: var(--secondary-faded);
                            box-shadow: none;
                        }
                    }
                }
            }

            &.p-button-outlined>.p-button {
                background-color: transparent;
                color: var(--secondary);
                border: 1px solid;
                transition: background-color .2s, color .2s, border-color .2s, box-shadow .3s;

                &:enabled {
                    &:hover {
                        background: var(--secondary-faded);
                        box-shadow: inset 0px 0px 0px 0px var(--secondary-faded);
                        transition: background-color .2s, color .2s, border-color .2s, box-shadow .3s;
                    }

                    &:active {
                        background: var(--secondary-faded);
                        box-shadow: inset 0px 0px 20px 0px var(--secondary-faded);
                        transition: background-color .2s, color .2s, border-color .2s, box-shadow .3s;
                    }
                }

                &:not(button):not(a):not(.p-disabled) {
                    &:hover {
                        background: var(--secondary-faded);
                        box-shadow: inset 0px 0px 0px 0px var(--secondary-faded);
                        transition: background-color .2s, color .2s, border-color .2s, box-shadow .3s;
                    }

                    &:active {
                        background: var(--secondary-faded);
                        box-shadow: inset 0px 0px 20px 0px var(--secondary-faded);
                        transition: background-color .2s, color .2s, border-color .2s, box-shadow .3s;
                    }
                }
            }

            &.p-button-text>.p-button {
                background-color: transparent;
                color: var(--secondary);
                border-color: transparent;

                &:enabled {
                    &:hover {
                        background-color: var(--secondary-faded);
                        box-shadow: none;
                    }

                    &:active {
                        background-color: var(--secondary-faded);
                        box-shadow: none;
                    }
                }

                &:not(button):not(a):not(.p-disabled) {
                    &:hover {
                        background-color: var(--secondary-faded);
                        box-shadow: none;
                    }

                    &:active {
                        background-color: var(--secondary-faded);
                        box-shadow: none;
                    }
                }
            }
        }

        &.p-button-info {
            >.p-button {
                color: var(--info-contrast);
                background: var(--info);
                border: 0px solid var(--info);

                &:enabled {
                    &:hover {
                        box-shadow: 0px 0px 9px 0px var(--info);
                        transition: background-color .2s, color .2s, border-color .2s, box-shadow .3s;
                    }

                    &:active {
                        box-shadow: 0px 0px 20px 0px var(--info);
                        transition: background-color .2s, color .2s, border-color .2s, box-shadow .3s;
                    }
                }

                &.p-button-outlined {
                    background-color: transparent;
                    color: var(--info);
                    border: 1px solid;
                    transition: background-color .2s, color .2s, border-color .2s, box-shadow .3s;

                    &:enabled {
                        &:hover {
                            background: var(--info-faded);
                            color: var(--info);
                            box-shadow: inset 0px 0px 0px 0px var(--info-contrast);
                            transition: background-color .2s, color .2s, border-color .2s, box-shadow .3s;
                        }

                        &:active {
                            background: var(--info-faded);
                            color: var(--info);
                            box-shadow: inset 0px 0px 20px 0px var(--info-contrast);
                            transition: background-color .2s, color .2s, border-color .2s, box-shadow .3s;
                        }
                    }
                }

                &.p-button-text {
                    background-color: transparent;
                    color: var(--info);
                    border-color: transparent;

                    &:enabled {
                        &:hover {
                            background-color: var(--info-faded);
                            color: var(--info);
                            box-shadow: none;
                        }

                        &:active {
                            background-color: var(--info-faded);
                            color: var(--info);
                            box-shadow: none;
                        }
                    }
                }
            }

            &.p-button-outlined>.p-button {
                background-color: transparent;
                color: var(--info);
                border: 1px solid;
                transition: background-color .2s, color .2s, border-color .2s, box-shadow .3s;

                &:enabled {
                    &:hover {
                        background: var(--info-faded);
                        color: var(--info);
                        box-shadow: inset 0px 0px 0px 0px var(--info-faded);
                        transition: background-color .2s, color .2s, border-color .2s, box-shadow .3s;
                    }

                    &:active {
                        background: var(--info-faded);
                        color: var(--info);
                        box-shadow: inset 0px 0px 20px 0px var(--info-faded);
                        transition: background-color .2s, color .2s, border-color .2s, box-shadow .3s;
                    }
                }

                &:not(button):not(a):not(.p-disabled) {
                    &:hover {
                        background: var(--info-faded);
                        color: var(--info);
                        box-shadow: inset 0px 0px 0px 0px var(--info-faded);
                        transition: background-color .2s, color .2s, border-color .2s, box-shadow .3s;
                    }

                    &:active {
                        background: var(--info-faded);
                        color: var(--info);
                        box-shadow: inset 0px 0px 20px 0px var(--info-faded);
                        transition: background-color .2s, color .2s, border-color .2s, box-shadow .3s;
                    }
                }
            }

            &.p-button-text>.p-button {
                background-color: transparent;
                color: var(--info);
                border-color: transparent;

                &:enabled {
                    &:hover {
                        background-color: var(--info-faded);
                        color: var(--info);
                        box-shadow: none;
                    }

                    &:active {
                        background-color: var(--info-faded);
                        color: var(--info);
                        box-shadow: none;
                    }
                }

                &:not(button):not(a):not(.p-disabled) {
                    &:hover {
                        background-color: var(--info-faded);
                        color: var(--info);
                        box-shadow: none;
                    }

                    &:active {
                        background-color: var(--info-faded);
                        color: var(--info);
                        box-shadow: none;
                    }
                }
            }
        }

        &.p-button-success {
            >.p-button {
                color: var(--success-contrast);
                background: var(--success);
                border: 1px solid var(--success);

                &:enabled {
                    &:hover {
                        box-shadow: 0px 0px 9px 0px var(--secondary);
                        transition: background-color .2s, color .2s, border-color .2s, box-shadow .3s;
                    }

                    &:active {
                        box-shadow: 0px 0px 20px 0px var(--secondary);
                        transition: background-color .2s, color .2s, border-color .2s, box-shadow .3s;
                    }
                }

                &.p-button-outlined {
                    background-color: transparent;
                    color: var(--success);
                    border: 1px solid;
                    transition: background-color .2s, color .2s, border-color .2s, box-shadow .3s;

                    &:enabled {
                        &:hover {
                            background: var(--success-faded);
                            color: var(--success);
                            box-shadow: inset 0px 0px 0px 0px var(--success-contrast);
                            transition: background-color .2s, color .2s, border-color .2s, box-shadow .3s;
                        }

                        &:active {
                            background: var(--success-faded);
                            color: var(--success);
                            box-shadow: inset 0px 0px 20px 0px var(--success-contrast);
                            transition: background-color .2s, color .2s, border-color .2s, box-shadow .3s;
                        }
                    }
                }

                &.p-button-text {
                    background-color: transparent;
                    color: var(--success);
                    border-color: transparent;

                    &:enabled {
                        &:hover {
                            background-color: var(--success-faded);
                            color: var(--success);
                            box-shadow: none;
                        }

                        &:active {
                            background-color: var(--success-faded);
                            color: var(--success);
                            box-shadow: none;
                        }
                    }
                }
            }

            &.p-button-outlined>.p-button {
                background-color: transparent;
                color: var(--success);
                border: 1px solid;
                transition: background-color .2s, color .2s, border-color .2s, box-shadow .3s;

                &:enabled {
                    &:hover {
                        background: var(--success-faded);
                        color: var(--success);
                        box-shadow: inset 0px 0px 0px 0px var(--success-faded);
                        transition: background-color .2s, color .2s, border-color .2s, box-shadow .3s;
                    }

                    &:active {
                        background: var(--success-faded);
                        color: var(--success);
                        box-shadow: inset 0px 0px 20px 0px var(--success-faded);
                        transition: background-color .2s, color .2s, border-color .2s, box-shadow .3s;
                    }
                }

                &:not(button):not(a):not(.p-disabled) {
                    &:hover {
                        background: var(--success-faded);
                        color: var(--success);
                        box-shadow: inset 0px 0px 0px 0px var(--success-faded);
                        transition: background-color .2s, color .2s, border-color .2s, box-shadow .3s;
                    }

                    &:active {
                        background: var(--success-faded);
                        color: var(--success);
                        box-shadow: inset 0px 0px 20px 0px var(--success-faded);
                        transition: background-color .2s, color .2s, border-color .2s, box-shadow .3s;
                    }
                }
            }

            &.p-button-text>.p-button {
                background-color: transparent;
                color: var(--success);
                border-color: transparent;

                &:enabled {
                    &:hover {
                        background-color: var(--success-faded);
                        color: var(--success);
                        box-shadow: none;
                    }

                    &:active {
                        background-color: var(--success-faded);
                        color: var(--success);
                        box-shadow: none;
                    }
                }

                &:not(button):not(a):not(.p-disabled) {
                    &:hover {
                        background-color: var(--success-faded);
                        color: var(--success);
                        box-shadow: none;
                    }

                    &:active {
                        background-color: var(--success-faded);
                        color: var(--success);
                        box-shadow: none;
                    }
                }
            }
        }

        &.p-button-warning {
            >.p-button {
                color: var(--warn-contrast);
                background: var(--warn);
                border: 1px solid var(--warn);

                &:enabled {
                    &:hover {
                        box-shadow: 0px 0px 9px 0px var(--warn);
                        transition: background-color .2s, color .2s, border-color .2s, box-shadow .3s;
                    }

                    &:active {
                        box-shadow: 0px 0px 20px 0px var(--warn);
                        transition: background-color .2s, color .2s, border-color .2s, box-shadow .3s;
                    }
                }

                &.p-button-outlined {
                    background-color: transparent;
                    color: var(--warn);
                    border: 1px solid;
                    transition: background-color .2s, color .2s, border-color .2s, box-shadow .3s;

                    &:enabled {
                        &:hover {
                            background: var(--warn-faded);
                            color: var(--warn);
                            box-shadow: inset 0px 0px 0px 0px var(--warn-contrast);
                            transition: background-color .2s, color .2s, border-color .2s, box-shadow .3s;
                        }

                        &:active {
                            background: var(--warn-faded);
                            color: var(--warn);
                            box-shadow: inset 0px 0px 20px 0px var(--warn-contrast);
                            transition: background-color .2s, color .2s, border-color .2s, box-shadow .3s;
                        }
                    }
                }

                &.p-button-text {
                    background-color: transparent;
                    color: var(--warn);
                    border-color: transparent;

                    &:enabled {
                        &:hover {
                            background-color: var(--warn-faded);
                            color: var(--warn);
                            box-shadow: none;
                        }

                        &:active {
                            background-color: var(--warn-faded);
                            color: var(--warn);
                            box-shadow: none;
                        }
                    }
                }
            }

            &.p-button-outlined>.p-button {
                background-color: transparent;
                color: var(--warn);
                border: 1px solid;
                transition: background-color .2s, color .2s, border-color .2s, box-shadow .3s;

                &:enabled {
                    &:hover {
                        background: var(--warn-faded);
                        color: var(--warn);
                        box-shadow: inset 0px 0px 0px 0px var(--warn-faded);
                        transition: background-color .2s, color .2s, border-color .2s, box-shadow .3s;
                    }

                    &:active {
                        background: var(--warn-faded);
                        color: var(--warn);
                        box-shadow: inset 0px 0px 20px 0px var(--warn-faded);
                        transition: background-color .2s, color .2s, border-color .2s, box-shadow .3s;
                    }
                }

                &:not(button):not(a):not(.p-disabled) {
                    &:hover {
                        background: var(--warn-faded);
                        color: var(--warn);
                        box-shadow: inset 0px 0px 0px 0px var(--warn-faded);
                        transition: background-color .2s, color .2s, border-color .2s, box-shadow .3s;
                    }

                    &:active {
                        background: var(--warn-faded);
                        color: var(--warn);
                        box-shadow: inset 0px 0px 20px 0px var(--warn-faded);
                        transition: background-color .2s, color .2s, border-color .2s, box-shadow .3s;
                    }
                }
            }

            &.p-button-text>.p-button {
                background-color: transparent;
                color: var(--warn);
                border-color: transparent;

                &:enabled {
                    &:hover {
                        background-color: var(--warn-faded);
                        color: var(--warn);
                        box-shadow: none;
                    }

                    &:active {
                        background-color: var(--warn-faded);
                        color: var(--warn);
                        box-shadow: none;
                    }
                }

                &:not(button):not(a):not(.p-disabled) {
                    &:hover {
                        background-color: var(--warn-faded);
                        color: var(--warn);
                        box-shadow: none;
                    }

                    &:active {
                        background-color: var(--warn-faded);
                        color: var(--warn);
                        box-shadow: none;
                    }
                }
            }
        }

        &.p-button-help {
            >.p-button {
                color: var(--help-contrast);
                background: var(--help);
                border: 1px solid var(--help);

                &:enabled {
                    &:hover {
                        box-shadow: 0px 0px 9px 0px var(--help);
                        transition: background-color .2s, color .2s, border-color .2s, box-shadow .3s;
                    }

                    &:active {
                        box-shadow: 0px 0px 20px 0px var(--help);
                        transition: background-color .2s, color .2s, border-color .2s, box-shadow .3s;
                    }
                }

                &.p-button-outlined {
                    background-color: transparent;
                    color: var(--help);
                    border: 1px solid;
                    transition: background-color .2s, color .2s, border-color .2s, box-shadow .3s;

                    &:enabled {
                        &:hover {
                            background: var(--help-faded);
                            color: var(--help);
                            box-shadow: inset 0px 0px 0px 0px var(--help-contrast);
                            transition: background-color .2s, color .2s, border-color .2s, box-shadow .3s;
                        }

                        &:active {
                            background: var(--help-faded);
                            color: var(--help);
                            box-shadow: inset 0px 0px 20px 0px var(--help-contrast);
                            transition: background-color .2s, color .2s, border-color .2s, box-shadow .3s;
                        }
                    }
                }

                &.p-button-text {
                    background-color: transparent;
                    color: var(--help);
                    border-color: transparent;

                    &:enabled {
                        &:hover {
                            background-color: var(--help-faded);
                            color: var(--help);
                            box-shadow: none;
                        }

                        &:active {
                            background-color: var(--help-faded);
                            color: var(--help);
                            box-shadow: none;
                        }
                    }
                }
            }

            &.p-button-outlined>.p-button {
                background-color: transparent;
                color: var(--help);
                border: 1px solid;
                transition: background-color .2s, color .2s, border-color .2s, box-shadow .3s;

                &:enabled {
                    &:hover {
                        background: var(--help-faded);
                        color: var(--help);
                        box-shadow: inset 0px 0px 0px 0px var(--help-faded);
                        transition: background-color .2s, color .2s, border-color .2s, box-shadow .3s;
                    }

                    &:active {
                        background: var(--help-faded);
                        color: var(--help);
                        box-shadow: inset 0px 0px 20px 0px var(--help-faded);
                        transition: background-color .2s, color .2s, border-color .2s, box-shadow .3s;
                    }
                }

                &:not(button):not(a):not(.p-disabled) {
                    &:hover {
                        background: var(--help-faded);
                        color: var(--help);
                        box-shadow: inset 0px 0px 0px 0px var(--help-faded);
                        transition: background-color .2s, color .2s, border-color .2s, box-shadow .3s;
                    }

                    &:active {
                        background: var(--help-faded);
                        color: var(--help);
                        box-shadow: inset 0px 0px 20px 0px var(--help-faded);
                        transition: background-color .2s, color .2s, border-color .2s, box-shadow .3s;
                    }
                }
            }

            &.p-button-text>.p-button {
                background-color: transparent;
                color: var(--help);
                border-color: transparent;

                &:enabled {
                    &:hover {
                        background-color: var(--help-faded);
                        color: var(--help);
                        box-shadow: none;
                    }

                    &:active {
                        background-color: var(--help-faded);
                        color: var(--help);
                        box-shadow: none;
                    }
                }

                &:not(button):not(a):not(.p-disabled) {
                    &:hover {
                        background-color: var(--help-faded);
                        color: var(--help);
                        box-shadow: none;
                    }

                    &:active {
                        background-color: var(--help-faded);
                        color: var(--help);
                        box-shadow: none;
                    }
                }
            }
        }

        &.p-button-danger {
            >.p-button {
                color: var(--danger-contrast);;
                background: var(--danger);
                border: 1px solid var(--danger);

                &:enabled {
                    &:hover {
                        box-shadow: 0px 0px 9px 0px var(--danger);
                        transition: background-color .2s, color .2s, border-color .2s, box-shadow .3s;
                    }

                    &:active {
                        box-shadow: 0px 0px 20px 0px var(--danger);
                        transition: background-color .2s, color .2s, border-color .2s, box-shadow .3s;
                    }
                }

                &.p-button-outlined {
                    background-color: transparent;
                    color: var(--danger);
                    border: 1px solid;
                    transition: background-color .2s, color .2s, border-color .2s, box-shadow .3s;

                    &:enabled {
                        &:hover {
                            background: var(--danger-faded);
                            color: var(--danger);
                            box-shadow: inset 0px 0px 0px 0px var(--danger-contrast);;
                            transition: background-color .2s, color .2s, border-color .2s, box-shadow .3s;
                        }

                        &:active {
                            background: var(--danger-faded);
                            color: var(--danger);
                            box-shadow: inset 0px 0px 20px 0px var(--danger-contrast);;
                            transition: background-color .2s, color .2s, border-color .2s, box-shadow .3s;
                        }
                    }
                }

                &.p-button-text {
                    background-color: transparent;
                    color: var(--danger);
                    border-color: transparent;

                    &:enabled {
                        &:hover {
                            background-color: var(--danger-faded);
                            color: var(--danger);
                            box-shadow: none;
                        }

                        &:active {
                            background-color: var(--danger-faded);
                            color: var(--danger);
                            box-shadow: none;
                        }
                    }
                }
            }

            &.p-button-outlined>.p-button {
                background-color: transparent;
                color: var(--danger);
                border: 1px solid;
                transition: background-color .2s, color .2s, border-color .2s, box-shadow .3s;

                &:enabled {
                    &:hover {
                        background: var(--danger-faded);
                        color: var(--danger);
                        box-shadow: inset 0px 0px 0px 0px var(--danger-faded);
                        transition: background-color .2s, color .2s, border-color .2s, box-shadow .3s;
                    }

                    &:active {
                        background: var(--danger-faded);
                        color: var(--danger);
                        box-shadow: inset 0px 0px 20px 0px var(--danger-faded);
                        transition: background-color .2s, color .2s, border-color .2s, box-shadow .3s;
                    }
                }

                &:not(button):not(a):not(.p-disabled) {
                    &:hover {
                        background: var(--danger-faded);
                        color: var(--danger);
                        box-shadow: inset 0px 0px 0px 0px var(--danger-faded);
                        transition: background-color .2s, color .2s, border-color .2s, box-shadow .3s;
                    }

                    &:active {
                        background: var(--danger-faded);
                        color: var(--danger);
                        box-shadow: inset 0px 0px 20px 0px var(--danger-faded);
                        transition: background-color .2s, color .2s, border-color .2s, box-shadow .3s;
                    }
                }
            }

            &.p-button-text>.p-button {
                background-color: transparent;
                color: var(--danger);
                border-color: transparent;

                &:enabled {
                    &:hover {
                        background-color: var(--danger-faded);
                        color: var(--danger);
                        box-shadow: none;
                    }

                    &:active {
                        background-color: var(--danger-faded);
                        color: var(--danger);
                        box-shadow: none;
                    }
                }

                &:not(button):not(a):not(.p-disabled) {
                    &:hover {
                        background-color: var(--danger-faded);
                        color: var(--danger);
                        box-shadow: none;
                    }

                    &:active {
                        background-color: var(--danger-faded);
                        color: var(--danger);
                        box-shadow: none;
                    }
                }
            }
        }

        &.p-button-outlined {
            >.p-button {
                background-color: transparent;
                color: var(--primary);
                border: 1px solid;
                transition: background-color .2s, color .2s, border-color .2s, box-shadow .3s;

                &:enabled {
                    &:hover {
                        background: var(--primary-faded);
                        box-shadow: inset 0px 0px 0px 0px var(--primary-faded);
                        transition: background-color .2s, color .2s, border-color .2s, box-shadow .3s;
                    }

                    &:active {
                        background: var(--primary-faded);
                        box-shadow: inset 0px 0px 20px 0px var(--primary-faded);
                        transition: background-color .2s, color .2s, border-color .2s, box-shadow .3s;
                    }
                }

                &:not(button):not(a):not(.p-disabled) {
                    &:hover {
                        background: var(--primary-faded);
                        box-shadow: inset 0px 0px 0px 0px var(--primary-faded);
                        transition: background-color .2s, color .2s, border-color .2s, box-shadow .3s;
                    }

                    &:active {
                        background: var(--primary-faded);
                        box-shadow: inset 0px 0px 20px 0px var(--primary-faded);
                        transition: background-color .2s, color .2s, border-color .2s, box-shadow .3s;
                    }
                }
            }

            &.p-button-plain>.p-button {
                color: var(--primary);
                border-color: var(--primary);

                &:enabled {
                    &:hover {
                        box-shadow: 0px 0px 20px 0px var(--primary-faded);
                        transition: background-color .2s, color .2s, border-color .2s, box-shadow .3s;
                    }

                    &:active {
                        box-shadow: 0px 0px 20px 0px var(--primary-faded);
                        transition: background-color .2s, color .2s, border-color .2s, box-shadow .3s;
                    }
                }

                &:not(button):not(a):not(.p-disabled) {
                    &:hover {
                        box-shadow: 0px 0px 20px 0px var(--primary-faded);
                        transition: background-color .2s, color .2s, border-color .2s, box-shadow .3s;
                    }

                    &:active {
                        box-shadow: 0px 0px 20px 0px var(--primary-faded);
                        transition: background-color .2s, color .2s, border-color .2s, box-shadow .3s;
                    }
                }
            }
        }

        &.p-button-text {
            >.p-button {
                background-color: transparent;
                color: var(--primary);
                border-color: transparent;

                &:enabled {
                    &:hover {
                        background-color: var(--primary-faded);

                        box-shadow: none;
                    }

                    &:active {
                        background-color: var(--primary-faded);
                        box-shadow: none;
                    }
                }

                &:not(button):not(a):not(.p-disabled) {
                    &:hover {
                        background-color: var(--primary-faded);

                        box-shadow: none;
                    }

                    &:active {
                        background-color: var(--primary-faded);
                        box-shadow: none;
                    }
                }
            }

            &.p-button-plain>.p-button {
                color: var(--primary);

                &:enabled {
                    &:hover {
                        background: var(--primary-faded);
                        color: var(--primary);
                    }

                    &:active {
                        background: var(--primary-faded);
                        color: var(--primary);
                    }
                }

                &:not(button):not(a):not(.p-disabled) {
                    &:hover {
                        background: var(--primary-faded);
                        color: var(--primary);
                    }

                    &:active {
                        background: var(--primary-faded);
                        color: var(--primary);
                    }
                }
            }
        }

        &.p-button-raised {

            box-shadow: 0 3px 1px -2px var(--box-shadow-one), 0 2px 2px 0 var(--box-shadow-two), 0 1px 5px 0 var(--box-shadow-three);
        }

        &.p-button-rounded {

            border-radius: 2rem;

            >.p-button {

                border-radius: 2rem;
            }
        }

        &.p-button-sm>.p-button {
            font-size: .875rem;
            padding: .4375rem .875rem;

            .p-button-icon {
                font-size: .875rem;
            }
        }

        &.p-button-lg>.p-button {
            font-size: 1.25rem;
            padding: .625rem 1.25rem;

            .p-button-icon {
                font-size: 1.25rem;
            }
        }
    }

    .p-speeddial-action {
        width: 3rem;
        height: 3rem;
        background: var(--primary);
        color: $theme-color;

        &:hover {
            background: var(--primary);
            color: $theme-color;
        }
    }

    .p-speeddial-mask {
        background-color: var(--overlay-bg);
    }

    .p-carousel {
        .p-carousel-content {
            .p-carousel-prev {
                width: 2rem;
                height: 2rem;
                color: contrast-color($theme-color, $contrast-threshold);
                border: 0 none;
                background: transparent;

                border-radius: var(--eg-border-radius); //: 2px;

                transition: background-color .2s, color .2s, box-shadow .2s;
                margin: .5rem;

                &:focus {
                  color: var(--primary);
                  background: var(--primary-faded);
                    font-weight: var(--active-font-weight);
                }

                &:enabled:hover {
                  color: var(--primary);
                  background: var(--primary-faded);
                }
            }

            .p-carousel-next {
                width: 2rem;
                height: 2rem;
                color: contrast-color($theme-color, $contrast-threshold);
                border: 0 none;
                background: transparent;
                border-radius: var(--eg-border-radius); //: 2px;
                transition: background-color .2s, color .2s, box-shadow .2s;
                margin: .5rem;

                &:focus {
                  color: var(--primary);
                  background: var(--primary-faded);
                    font-weight: var(--active-font-weight);
                }

                &:enabled:hover {
                  color: var(--primary);
                  background: var(--primary-faded);
                }
            }
        }

        .p-carousel-indicators {
            padding: 1rem;

            .p-carousel-indicator {
                margin-right: .5rem;
                margin-bottom: .5rem;

                button {
                    color: contrast-color($theme-color, $contrast-threshold);
                    width: 2rem;
                    height: .5rem;
                    transition: background-color .2s, color .2s, box-shadow .2s;
                    border-radius: var(--eg-border-radius); //: 0;

                    &:hover {
                      color: var(--primary);
                      background: var(--primary-faded);
                    }
                }

                &.p-highlight button {
                  color: var(--primary);
                  background: var(--primary-faded);
                    font-weight: var(--active-font-weight);
                }
            }
        }
    }

    .p-datatable {
        font-size: 90%;

        .p-paginator-top {
            border-width: 0 0 1px 0;

            border-radius: var(--eg-border-radius); //: 0;
        }

        .p-paginator-bottom {
            border-width: 0 0 1px 0;

            border-radius: var(--eg-border-radius); //: 0;
        }

        .p-datatable-header {
            background: $theme-color;
            color: contrast-color($theme-color, $contrast-threshold);
            border: 1px solid var(--border-color);
            border-width: 1px 0 1px 0;
            padding: .75rem .75rem;
            font-weight: 600;
        }

        .p-datatable-footer {
            background: $theme-color;
            color: contrast-color($theme-color, $contrast-threshold);
            border: 1px solid var(--border-color);
            border-width: 0 0 1px 0;
            padding: .75rem .75rem;
            font-weight: 600;
        }

        .p-sortable-column {
            .p-sortable-column-icon {
                color: contrast-color($theme-color, $contrast-threshold);
                margin-left: .5rem;
            }

            .p-sortable-column-badge {

                border-radius: var(--eg-border-radius); //: 50%;
                height: 1.143rem;
                min-width: 1.143rem;
                line-height: 1.143rem;
                color: contrast-color($theme-color, $contrast-threshold);
                background: var(--default-grey);
                margin-left: .5rem;
            }

            &.p-highlight {
              color: var(--primary);
              background: var(--primary-faded);

                .p-sortable-column-icon {
                    color: contrast-color($theme-color, $contrast-threshold);
                }

                &:hover {
                  color: var(--primary);
                  background: var(--primary-faded);

                    .p-sortable-column-icon {
                      color: var(--primary);
                    }
                }
            }

            &:focus {
              color: var(--primary);
              background: var(--primary-faded);
                font-weight: var(--active-font-weight);
            }

            &:not(.p-highlight):hover {
              color: var(--primary);
              background: var(--primary-faded);

                .p-sortable-column-icon {
                    color: var(--primary);
                }
            }
        }

        .p-column-resizer-helper {
            background: var(--primary);
        }

        .p-datatable-scrollable-header {
            background: var(--default-grey);
        }

        .p-datatable-scrollable-footer {
            background: var(--default-grey);
        }

        .p-datatable-loading-icon {
            font-size: 2rem;
        }

        &.p-datatable-gridlines {
            .p-datatable-header {
                border-width: 1px 1px 0 1px;
            }

            .p-datatable-footer {
                border-width: 0 1px 1px 1px;
            }

            .p-paginator-top {
                border-width: 0 1px 0 1px;
            }

            .p-paginator-bottom {
                border-width: 0 1px 1px 1px;
            }

            .p-datatable-thead>tr>th {
                border-width: 1px 1px 1px 1px;
            }

            .p-datatable-tbody>tr>td {
                border-width: 1px;
            }

            .p-datatable-tfoot>tr>td {
                border-width: 1px;
            }
        }

        &.p-datatable-sm {
            .p-datatable-header {
                padding: .375rem .375rem;
            }

            .p-datatable-footer {
                padding: .375rem .375rem;
            }

            .p-datatable-thead>tr>th {
                padding: .375rem .375rem;
            }

            .p-datatable-tbody>tr>td {
                padding: .375rem .375rem;
            }

            .p-datatable-tfoot>tr>td {
                padding: .375rem .375rem;
            }
        }

        &.p-datatable-lg {
            .p-datatable-header {
                padding: .9375rem .9375rem;
            }

            .p-datatable-footer {
                padding: .9375rem .9375rem;
            }

            .p-datatable-thead>tr>th {
                padding: .9375rem .9375rem;
            }

            .p-datatable-tbody>tr>td {
                padding: .9375rem .9375rem;
            }

            .p-datatable-tfoot>tr>td {
                padding: .9375rem .9375rem;
            }
        }

        .p-datatable-thead>tr>th {
            text-align: left;
            padding: .75rem .75rem;
            border: 1px solid var(--border-color);
            border-width: 0 0 1px 0;
            font-weight: 600;
            color: contrast-color($theme-color, $contrast-threshold);
            background: $theme-color;

            transition: box-shadow .2s;
        }

        .p-datatable-tfoot>tr>td {
            text-align: left;
            padding: .75rem .75rem;
            border: 1px solid var(--border-color);
            border-width: 0 0 1px 0;
            font-weight: 600;
            color: contrast-color($theme-color, $contrast-threshold);
            background: $theme-color;
        }

        .p-datatable-tbody>tr {
            background: $theme-color;
            color: contrast-color($theme-color, $contrast-threshold);

            transition: box-shadow .2s;

            >td {
                text-align: left;
                border: 1px solid var(--border-color);
                border-width: 0 0 1px 0;
                padding: .75rem .75rem;

                .p-row-toggler {
                    width: 2rem;
                    height: 2rem;
                    color: contrast-color($theme-color, $contrast-threshold);
                    border: 0 none;
                    background: transparent;

                    border-radius: var(--eg-border-radius); //: 2px;

                    transition: background-color .2s, color .2s, box-shadow .2s;

                    &:focus {
                        outline: 0 none;
                        outline-offset: 0;
                        border: 1px solid var(--primary);

                    }

                    &:enabled:hover {

                        border-color: transparent;
                        color: var(--primary);
                        background: var(--primary-faded);
                    }
                }

                .p-row-editor-init {
                    width: 2rem;
                    height: 2rem;
                    color: contrast-color($theme-color, $contrast-threshold);
                    border: 0 none;
                    background: transparent;

                    border-radius: var(--eg-border-radius); //: 2px;

                    transition: background-color .2s, color .2s, box-shadow .2s;

                    &:focus {
                        outline: 0 none;
                        outline-offset: 0;
                        border: 1px solid var(--primary);
                    }

                    &:enabled:hover {
                      color: var(--primary);
                      background: var(--primary-faded);
                        border-color: transparent;

                    }
                }

                .p-row-editor-save {
                    width: 2rem;
                    height: 2rem;
                    color: contrast-color($theme-color, $contrast-threshold);
                    border: 0 none;
                    background: transparent;

                    border-radius: var(--eg-border-radius); //: 2px;

                    transition: background-color .2s, color .2s, box-shadow .2s;
                    margin-right: .5rem;

                    &:focus {
                        outline: 0 none;
                        outline-offset: 0;
                        border: 1px solid var(--primary);
                    }

                    &:enabled:hover {
                      color: var(--primary);
                      background: var(--primary-faded);
                        border-color: transparent;

                    }
                }

                .p-row-editor-cancel {
                    width: 2rem;
                    height: 2rem;
                    color: contrast-color($theme-color, $contrast-threshold);
                    border: 0 none;
                    background: transparent;

                    border-radius: var(--eg-border-radius); //: 2px;

                    transition: background-color .2s, color .2s, box-shadow .2s;

                    &:focus {
                        outline: 0 none;
                        outline-offset: 0;
                        border: 1px solid var(--primary);
                    }

                    &:enabled:hover {

                        border-color: transparent;
                        color: var(--primary);
                        background: var(--primary-faded);
                    }
                }
            }

            &:focus {
                outline: .15rem solid var(--primary);
                outline-offset: .15rem;
            }

            &.p-highlight {
              color: var(--primary);
              background: var(--primary-faded);
            }

            &.p-datatable-dragpoint-top>td {

                box-shadow: inset 0 2px 0 0 var(--primary);
            }

            &.p-datatable-dragpoint-bottom>td {

                box-shadow: inset 0 -2px 0 0 var(--primary);
            }
        }

        &.p-datatable-hoverable-rows .p-datatable-tbody>tr:not(.p-highlight):hover {
          color: var(--primary);
          background: var(--primary-faded);
        }

        &.p-datatable-scrollable>.p-datatable-wrapper>.p-datatable-table> {
            .p-datatable-thead {
                background-color: $theme-color;
            }

            .p-datatable-tfoot {
                background-color: $theme-color;
            }
        }

        &.p-datatable-striped .p-datatable-tbody>tr:nth-child(even) {
            background: var(--default-grey);

            &.p-highlight {
                background: var(--default-grey);
                color: contrast-color($theme-color, $contrast-threshold);

                .p-row-toggler {
                    color: contrast-color($theme-color, $contrast-threshold);

                    &:hover {
                        color: contrast-color($theme-color, $contrast-threshold);
                    }
                }
            }
        }
    }

    .p-dataview {
        .p-paginator-top {
            border-width: 0 0 1px 0;

            border-radius: var(--eg-border-radius); //: 0;
        }

        .p-paginator-bottom {
            border-width: 0 0 1px 0;

            border-radius: var(--eg-border-radius); //: 0;
        }

        .p-dataview-header {
            background: $theme-color;
            color: contrast-color($theme-color, $contrast-threshold);
            border: 1px solid var(--border-color);
            border-width: 1px 0 1px 0;
            padding: .75rem .75rem;
            font-weight: 600;
        }

        .p-dataview-content {
            background: $theme-color;
            color: contrast-color($theme-color, $contrast-threshold);
            border: 0 none;
            padding: 0;
        }

        .p-dataview-footer {
            background: $theme-color;
            color: contrast-color($theme-color, $contrast-threshold);
            border: 1px solid var(--border-color);
            border-width: 0 0 1px 0;
            padding: .75rem .75rem;
            font-weight: 600;

            border-bottom-left-radius: 2px;

            border-bottom-right-radius: 2px;
        }

        .p-dataview-loading-icon {
            font-size: 2rem;
        }

        .p-dataview-emptymessage {
            padding: 1rem;
        }

        &.p-dataview-list .p-dataview-content>.p-grid>div {
            border: solid var(--default-grey);
            border-width: 0 0 1px 0;
        }
    }

    .p-column-filter-row {
        .p-column-filter-menu-button {
            margin-left: .5rem;
        }

        .p-column-filter-clear-button {
            margin-left: .5rem;
        }
    }

    .p-column-filter-menu-button {
        width: 2rem;
        height: 2rem;
        color: contrast-color($theme-color, $contrast-threshold);
        border: 0 none;
        background: transparent;

        border-radius: var(--eg-border-radius); //: 2px;

        transition: background-color .2s, color .2s, box-shadow .2s;

        &:hover {

            border-color: transparent;
            color: var(--primary);
            background: var(--primary-faded);
        }

        &.p-column-filter-menu-button-open {
            background: var(--default-grey);
            color: contrast-color($theme-color, $contrast-threshold);

            &:hover {
              color: var(--primary);
              background: var(--primary-faded);
            }
        }

        &.p-column-filter-menu-button-active {
          color: var(--primary);
          background: var(--primary-faded);

            &:hover {
              color: var(--primary);
              background: var(--primary-faded);
            }
        }

        &:focus {
          color: var(--primary);
          background: var(--primary-faded);
            font-weight: var(--active-font-weight);
        }
    }

    .p-column-filter-clear-button {
        width: 2rem;
        height: 2rem;
        color: contrast-color($theme-color, $contrast-threshold);
        border: 0 none;
        background: transparent;

        border-radius: var(--eg-border-radius); //: 2px;

        transition: background-color .2s, color .2s, box-shadow .2s;

        &:hover {

            border-color: transparent;
            color: var(--primary);
                        background: var(--primary-faded);
        }

        &:focus {
          color: var(--primary);
          background: var(--primary-faded);
            font-weight: var(--active-font-weight);
        }
    }

    .p-column-filter-overlay {
        background: $theme-color;
        color: contrast-color($theme-color, $contrast-threshold);
        border: 0 none;

        border-radius: var(--eg-border-radius); //: 2px;

        box-shadow: var(--box-shadow-one) 0 3.2px 7.2px 0, var(--box-shadow-two) 0 .6px 1.8px 0;
        min-width: 12.5rem;

        .p-column-filter-row-items {
            padding: 0;

            .p-column-filter-row-item {
                margin:0.4rem;
                padding: .75rem .5rem;
                border: 1px solid transparent;
                color: contrast-color($theme-color, $contrast-threshold);
                background: transparent;

                transition: box-shadow .2s;

                border-radius: var(--eg-border-radius); //: 0;

                &.p-highlight {
                  color: var(--primary);
                  background: var(--primary-faded);
                }

                &:focus {
                  color: var(--primary);
                  background: var(--primary-faded);
                    font-weight: var(--active-font-weight);
                }

                &:not(.p-highlight):not(.p-disabled):hover {
                  color: var(--primary);
                  background: var(--primary-faded);
                }
            }

            .p-column-filter-separator {
                border-top: 1px solid var(--default-grey);
                margin: .25rem 0;
            }
        }
    }

    .p-column-filter-overlay-menu {
        .p-column-filter-operator {
            padding: .75rem .5rem;
            margin:0.4rem;
            border-bottom: 1px solid var(--default-grey);
            color: contrast-color($theme-color, $contrast-threshold);
            background: $theme-color;
            margin: 0;

            border-top-right-radius: 2px;

            border-top-left-radius: 2px;
        }

        .p-column-filter-constraint {
            padding: 1rem;
            border-bottom: 1px solid var(--default-grey);

            .p-column-filter-matchmode-dropdown {
                margin-bottom: .5rem;
            }

            .p-column-filter-remove-button {
                margin-top: .5rem;
            }

            &:last-child {
                border-bottom: 0 none;
            }
        }

        .p-column-filter-add-rule {
            padding: .5rem 1rem;
        }

        .p-column-filter-buttonbar {
            padding: 1rem;
        }
    }

    .fc {
        &.fc-unthemed {
            .fc-view-container {
                th {
                    background: var(--default-grey);
                    border: 1px solid var(--border-color);
                    color: contrast-color($theme-color, $contrast-threshold);
                }

                td {
                    &.fc-widget-content {
                        background: var(--form-color);
                        border: 1px solid var(--border-color);
                        color: contrast-color($theme-color, $contrast-threshold);
                    }

                    &.fc-head-container {
                        border: 1px solid var(--border-color);
                    }
                }

                .fc-row {
                    border-right: 1px solid var(--border-color);
                }

                .fc-event {
                    border: 1px solid var(--border-color);
                    color: contrast-color($theme-color, $contrast-threshold);
                }

                .fc-divider {
                    background: var(--default-grey);
                    border: 1px solid var(--border-color);
                    color: contrast-color($theme-color, $contrast-threshold);
                }
            }

            .fc-toolbar {
                .fc-button {
                    border: 1px solid var(--border-color);
                    color: contrast-color($theme-color, $contrast-threshold);
                    font-size: 1rem;

                    transition: background-color .2s, color .2s, border-color .2s, box-shadow .2s;

                    border-radius: var(--eg-border-radius); //: 2px;
                    display: flex;
                    align-items: center;

                    &:enabled {
                        &:hover {

                            border-color: var(--border-color);

                            color: var(--primary);
                            background: var(--primary-faded);
                        }

                        &:active {
                          color: var(--primary);
                          background: var(--primary-faded);
                            border-color: var(--border-color);


                            &:focus {

                                border-color: var(--border-color);

                                font-weight: var(--active-font-weight);
                                color: var(--primary);
                                background: var(--primary-faded);
                            }
                        }
                    }

                    .fc-icon-chevron-left {
                        font-family: var(--eg-icon-font);
                        text-indent: 0;
                        font-size: 1rem;

                        &:before {
                            content: "";
                        }
                    }

                    .fc-icon-chevron-right {
                        font-family: var(--eg-icon-font);
                        text-indent: 0;
                        font-size: 1rem;

                        &:before {
                            content: "";
                        }
                    }

                    &:focus {
                        outline: 0 none;
                        outline-offset: 0;
                        border: 1px solid var(--default-grey);
                    }

                    &.fc-dayGridMonth-button {
                        background: var(--form-color);
                        border: 1px solid var(--default-grey);
                        color: var(--default-grey);

                        transition: background-color .2s, color .2s, border-color .2s, box-shadow .2s;

                        &:hover {

                            border-color: var(--primary);
                            color: var(--primary);
                            background: var(--primary-faded);
                        }

                        &.fc-button-active {

                            border-color: var(--primary);
                            color: var(--primary);
                            background: var(--primary-faded);

                            &:hover {

                                border-color: var(--primary);
                                color: var(--primary);
                                background: var(--primary-faded);
                            }
                        }

                        &:focus {
                            outline: 0 none;
                            outline-offset: 0;
                            border: 1px solid var(--primary);
                            z-index: 1;
                        }
                    }

                    &.fc-timeGridWeek-button {
                        background: var(--form-color);
                        border: 1px solid var(--primary);
                        color: var(--primary);

                        transition: background-color .2s, color .2s, border-color .2s, box-shadow .2s;

                        &:hover {

                            border-color: var(--primary);
                            color: var(--primary);
                            background: var(--primary-faded);
                        }

                        &.fc-button-active {

                            border-color: var(--primary);
                            color: var(--primary);
                            background: var(--primary-faded);

                            &:hover {

                                border-color: var(--primary);
                                color: var(--primary);
                                background: var(--primary-faded);
                            }
                        }

                        &:focus {
                            outline: 0 none;
                            outline-offset: 0;
                            border: 1px solid var(--primary);
                            z-index: 1;
                            color: var(--primary);
                            background: var(--primary-faded);
                        }
                    }

                    &.fc-timeGridDay-button {
                        background: var(--form-color);
                        border: 1px solid var(--primary);
                        color: var(--primary);

                        transition: background-color .2s, color .2s, border-color .2s, box-shadow .2s;

                        &:hover {
                            color: var(--primary);
                            background: var(--primary-faded);
                            border-color: var(--primary);

                        }

                        &.fc-button-active {
                          color: var(--primary);
                          background: var(--primary-faded);
                          border-color: var(--primary);

                            &:hover {
                              color: var(--primary);
                              background: var(--primary-faded);
                              border-color: var(--primary);
                            }
                        }

                        &:focus {
                            outline: 0 none;
                            outline-offset: 0;
                            border: 1px solid var(--primary);
                            z-index: 1;
                            color: var(--primary);
                            background: var(--primary-faded);
                        }
                    }
                }

                .fc-button-group .fc-button {

                    border-radius: var(--eg-border-radius); //: 0;

                    &:first-child {

                        border-top-left-radius: 2px;

                        border-bottom-left-radius: 2px;
                    }

                    &:last-child {

                        border-top-right-radius: 2px;

                        border-bottom-right-radius: 2px;
                    }
                }
            }
        }

        &.fc-theme-standard {
            .fc-view-harness {
                .fc-scrollgrid {
                    border-color: var(--border-color);
                }

                th {
                    background: var(--default-grey);
                    border-color: var(--border-color);
                    color: var(--primary);
                }

                td {
                    color: var(--primary);
                    border-color: var(--border-color);
                }

                .fc-view {
                    background: var(--form-color);
                }

                .fc-popover {
                    background: none;
                    border: 0 none;

                    .fc-popover-header {
                        border: 1px solid var(--border-color);
                        padding: 1rem;
                        background: var(--default-grey);
                        color: var(--primary);

                        .fc-popover-close {
                            opacity: 1;
                            display: flex;
                            align-items: center;
                            justify-content: center;
                            overflow: hidden;
                            font-family: var(--eg-icon-font);
                            font-size: 1rem;
                            width: 2rem;
                            height: 2rem;
                            color: var(--primary);
                            border: 0 none;
                            background: transparent;

                            border-radius: var(--eg-border-radius); //: 2px;

                            transition: background-color .2s, color .2s, box-shadow .2s;

                            &:before {
                                content: "";
                            }

                            &:focus {
                                outline: 0 none;
                                outline-offset: 0;
                                border: 1px solid var(--primary);
                                color: var(--primary);
                              background: var(--primary-faded);
                            }

                            &:enabled:hover {
                              color: var(--primary);
                              background: var(--primary-faded);
                                border-color: transparent;

                            }
                        }
                    }

                    .fc-popover-body {
                        padding: 1rem;
                        border: 1px solid var(--border-color);
                        background: var(--form-color);
                        color: var(--primary);
                        border-top: 0 none;
                    }
                }

                .fc-event {
                    &.fc-daygrid-block-event {
                        color: $theme-color;
                        background: var(--primary);
                        border-color: var(--primary);

                        .fc-event-main {
                            color: $theme-color;
                        }
                    }

                    &.fc-daygrid-dot-event {
                        .fc-daygrid-event-dot {
                            background: var(--primary);
                            border-color: var(--primary);
                        }

                        &:hover {
                          color: var(--primary);
                          background: var(--primary-faded);
                        }
                    }
                }

                .fc-cell-shaded {
                    background: var(--default-grey);
                }
            }

            .fc-toolbar {
                .fc-button {
                    color: $theme-color;
                    background: var(--primary);
                    border: 1px solid var(--border-color);
                    font-size: 1rem;

                    transition: background-color .2s, color .2s, border-color .2s, box-shadow .2s;

                    border-radius: var(--eg-border-radius); //: 2px;

                    &:enabled {
                        &:hover {
                            background: var(--primary) ;
                            color: $theme-color;
                            border-color: var(--primary) ;
                        }

                        &:active {
                            background: var(--primary) ;
                            color: $theme-color;
                            border-color: var(--primary) ;

                            &:focus {
                                outline: 0 none;
                                outline-offset: 0;
                                border: 1px solid var(--primary);
                            }
                        }
                    }

                    &:disabled {
                        opacity: .6;
                        color: $theme-color;
                        background: var(--primary);
                        border: 1px solid var(--border-color);
                        cursor: not-allowed;
                    }

                    .fc-icon-chevron-left {
                        font-family: var(--eg-icon-font);
                        text-indent: 0;
                        font-size: 1rem;

                        &:before {
                            content: "";
                        }
                    }

                    .fc-icon-chevron-right {
                        font-family: var(--eg-icon-font);
                        text-indent: 0;
                        font-size: 1rem;

                        &:before {
                            content: "";
                        }
                    }

                    &:focus {
                        outline: 0 none;
                        outline-offset: 0;
                        border: 1px solid var(--primary);
                    }

                    &.fc-dayGridMonth-button {
                        background: var(--form-color);
                        border: 1px solid var(--border-color);
                        color: var(--primary);

                        transition: background-color .2s, color .2s, border-color .2s, box-shadow .2s;

                        &:hover {
                          color: var(--primary);
                          background: var(--primary-faded);
                            border-color: var(--primary);

                        }

                        &.fc-button-active {
                          color: var(--primary);
                          background: var(--primary-faded);
                            border-color: var(--primary);

                            &:hover {
                              color: var(--primary);
                              background: var(--primary-faded);
                                border-color: var(--primary);
                            }
                        }

                        &:not(:disabled):focus {
                            outline: 0 none;
                            outline-offset: 0;
                            color: var(--primary);
                          background: var(--primary-faded);
                            border-color: var(--primary);
                            z-index: 1;
                        }
                    }

                    &.fc-timeGridWeek-button {
                        background: var(--form-color);
                        border: 1px solid var(--border-color);
                        color: var(--primary);

                        transition: background-color .2s, color .2s, border-color .2s, box-shadow .2s;

                        &:hover {
                          color: var(--primary);
                          background: var(--primary-faded);
                            border-color: var(--primary);
                        }

                        &.fc-button-active {
                          color: var(--primary);
                          background: var(--primary-faded);
                            border-color: var(--primary);

                            &:hover {
                              color: var(--primary);
                              background: var(--primary-faded);
                                border-color: var(--primary);
                            }
                        }

                        &:not(:disabled):focus {
                            outline: 0 none;
                            outline-offset: 0;
                            border: 1px solid var(--primary);
                            z-index: 1;
                        }
                    }

                    &.fc-timeGridDay-button {
                        background: var(--form-color);
                        border: 1px solid var(--border-color);
                        color: var(--primary);

                        transition: background-color .2s, color .2s, border-color .2s, box-shadow .2s;

                        &:hover {
                          color: var(--primary);
                          background: var(--primary-faded);
                            border-color: var(--primary);
                        }

                        &.fc-button-active {
                          color: var(--primary);
                          background: var(--primary-faded);
                            border-color: var(--primary);

                            &:hover {
                              color: var(--primary);
                              background: var(--primary-faded);
                                border-color: var(--primary);
                            }
                        }

                        &:not(:disabled):focus {
                            outline: 0 none;
                            outline-offset: 0;
                            color: var(--primary);
                          background: var(--primary-faded);
                            border-color: var(--primary);
                            z-index: 1;
                        }
                    }
                }

                .fc-button-group .fc-button {

                    border-radius: var(--eg-border-radius); //: 0;

                    &:first-child {

                        border-top-left-radius: 2px;

                        border-bottom-left-radius: 2px;
                    }

                    &:last-child {

                        border-top-right-radius: 2px;

                        border-bottom-right-radius: 2px;
                    }
                }
            }

            a {
                color: var(--primary);
            }

            .fc-highlight {
              color: var(--primary);
              background: var(--primary-faded);
                border-color: var(--primary);
            }
        }
    }

    .p-orderlist {
        .p-orderlist-controls {
            padding: 1rem;

            .p-button {
                margin-bottom: .5rem;
            }
        }

        .p-orderlist-header {
            background: var(--default-grey);
            color: contrast-color($theme-color, $contrast-threshold);
            border: 1px solid var(--border-color);
            padding: 1rem;
            border-bottom: 0 none;

            border-top-right-radius: 2px;

            border-top-left-radius: 2px;

            .p-orderlist-title {
                font-weight: 600;
            }
        }

        .p-orderlist-filter-container {
            padding: 1rem;
            background: $theme-color;
            border: 1px solid var(--border-color);
            border-bottom: 0 none;

            .p-orderlist-filter-input {
                padding-right: 1.5rem;
            }

            .p-orderlist-filter-icon {
                right: .5rem;
                color: contrast-color($theme-color, $contrast-threshold);
            }
        }

        .p-orderlist-list {
            border: 1px solid var(--border-color);
            background: $theme-color;
            color: contrast-color($theme-color, $contrast-threshold);
            padding: 0;

            border-bottom-right-radius: 2px;

            border-bottom-left-radius: 2px;

            .p-orderlist-item {
                padding: .75rem .5rem;
                margin:0.4rem;
                margin: 0;
                border: 1px solid transparent;
                color: contrast-color($theme-color, $contrast-threshold);
                background: transparent;

                transition: box-shadow .2s;

                &:focus {
                    outline: 0 none;
                    outline-offset: 0;
                    box-shadow: inset 0 0 0 .15rem var(--border-color);
                }

                &.p-highlight {
                  color: var(--primary);
                  background: var(--primary-faded);
                    font-weight: var(--active-font-weight);
                }
            }

            .p-orderlist-empty-message {
                padding: .75rem .5rem;
                margin:0.4rem;
                color: contrast-color($theme-color, $contrast-threshold);
            }

            &:not(.cdk-drop-list-dragging) .p-orderlist-item:not(.p-highlight):hover {
              color: var(--primary);
              background: var(--primary-faded);
            }
        }

        &.p-orderlist-striped .p-orderlist-list .p-orderlist-item:nth-child(even) {
            background: var(--default-grey);

            &:hover {
                background: var(--default-grey);
            }
        }
    }

    .p-organizationchart {
        .p-organizationchart-node-content {
            border: 1px solid var(--border-color);
            background: $theme-color;
            color: contrast-color($theme-color, $contrast-threshold);
            padding: 1rem;

            &.p-highlight {
                background: var(--primary-faded);
                color: contrast-color($theme-color, $contrast-threshold);

                .p-node-toggler i {
                    color: var(--primary);
                }
            }

            .p-node-toggler {
                background: inherit;
                color: inherit;

                border-radius: var(--eg-border-radius); //: 50%;

                &:focus {
                    outline: 0 none;
                    outline-offset: 0;
                    border: 1px solid var(--primary);
                }
            }

            &.p-organizationchart-selectable-node:not(.p-highlight):hover {
                color: var(--primary);
                  background: var(--primary-faded);
            }
        }

        .p-organizationchart-line-down {
            background: var(--default-grey);
        }

        .p-organizationchart-line-left {
            border-right: 1px solid var(--default-grey);
            border-color: var(--border-color);
        }

        .p-organizationchart-line-top {
            border-top: 1px solid var(--default-grey);
            border-color: var(--border-color);
        }
    }

    .p-paginator {
        background: $theme-color;
        color: contrast-color($theme-color, $contrast-threshold);
        border: solid var(--default-grey);
        border-width: 0;
        padding: .5rem 1rem;

        border-radius: var(--eg-border-radius); //: 2px;

        .p-paginator-first {
            background-color: transparent;
            border: 0 none;
            color: contrast-color($theme-color, $contrast-threshold);
            min-width: 2.357rem;
            height: 2.357rem;
            margin: .143rem;

            transition: box-shadow .2s;

            border-radius: var(--eg-border-radius); //: 2px;

            border-top-left-radius: 2px;

            border-bottom-left-radius: 2px;

            &:not(.p-disabled):not(.p-highlight):hover {
                border-color: transparent;
                color: var(--primary);
                  background: var(--primary-faded);
            }
        }

        .p-paginator-prev {
            background-color: transparent;
            border: 0 none;
            color: contrast-color($theme-color, $contrast-threshold);
            min-width: 2.357rem;
            height: 2.357rem;
            margin: .143rem;

            transition: box-shadow .2s;

            border-radius: var(--eg-border-radius); //: 2px;

            &:not(.p-disabled):not(.p-highlight):hover {
                border-color: transparent;
                color: var(--primary);
                  background: var(--primary-faded);
            }
        }

        .p-paginator-next {
            background-color: transparent;
            border: 0 none;
            color: contrast-color($theme-color, $contrast-threshold);
            min-width: 2.357rem;
            height: 2.357rem;
            margin: .143rem;

            transition: box-shadow .2s;

            border-radius: var(--eg-border-radius); //: 2px;

            &:not(.p-disabled):not(.p-highlight):hover {
                border-color: transparent;
                color: var(--primary);
                  background: var(--primary-faded);
            }
        }

        .p-paginator-last {
            background-color: transparent;
            border: 0 none;
            color: contrast-color($theme-color, $contrast-threshold);
            min-width: 2.357rem;
            height: 2.357rem;
            margin: .143rem;

            transition: box-shadow .2s;

            border-radius: var(--eg-border-radius); //: 2px;

            border-top-right-radius: 2px;

            border-bottom-right-radius: 2px;

            &:not(.p-disabled):not(.p-highlight):hover {
                border-color: transparent;
                color: var(--primary);
                  background: var(--primary-faded);
            }
        }

        .p-dropdown {
            margin-left: .5rem;
            margin-right: .5rem;
            height: 2.357rem;

            .p-dropdown-label {
                padding-right: 0;
            }
        }

        .p-paginator-page-input {
            margin-left: .5rem;
            margin-right: .5rem;

            .p-inputtext {
                max-width: 2.357rem;
            }
        }

        .p-paginator-current {
            background-color: transparent;
            border: 0 none;
            color: var(--primary);
            min-width: 2.357rem;
            height: 2.357rem;
            margin: .143rem;
            padding: 0 .5rem;
        }

        .p-paginator-pages .p-paginator-page {
            background-color: transparent;
            border: 0 none;
            color: var(--primary);
            min-width: 2.357rem;
            height: 2.357rem;
            margin: .143rem;

            transition: box-shadow .2s;

            border-radius: var(--eg-border-radius); //: 2px;

            &.p-highlight {
                background: var(--primary-faded);
                border-color: transparent;
                color: var(--primary);
            }

            &:not(.p-highlight):hover {
                border-color: transparent;
                color: var(--primary);
                background: var(--primary-faded);
            }
        }
    }

    .p-picklist {
        .p-picklist-buttons {
            padding: 1rem;

            .p-button {
                margin-bottom: .5rem;
            }
        }

        .p-picklist-header {
            color: contrast-color($theme-color, $contrast-threshold);
            background: var(--default-grey);
            border: 1px solid var(--border-color);
            padding: 1rem;
            border-bottom: 0 none;

            border-top-right-radius: 2px;

            border-top-left-radius: 2px;

            .p-picklist-title {
                font-weight: 600;
            }
        }

        .p-picklist-filter-container {
            padding: 1rem;
            background: $theme-color;
            border: 1px solid var(--border-color);
            border-bottom: 0 none;

            .p-picklist-filter-input {
                padding-right: 1.5rem;
            }

            .p-picklist-filter-icon {
                right: .5rem;
                color: contrast-color($theme-color, $contrast-threshold);
            }
        }

        .p-picklist-list {
            border: 1px solid var(--border-color);
            background: $theme-color;
            color: contrast-color($theme-color, $contrast-threshold);
            padding: 0;

            border-bottom-right-radius: 2px;

            border-bottom-left-radius: 2px;

            .p-picklist-item {
                padding: .75rem .5rem;
                margin:0.4rem;
                margin: 0;
                border: 1px solid transparent;
                color: contrast-color($theme-color, $contrast-threshold);
                background: transparent;

                transition: box-shadow .2s;

                &:focus {
                    outline: 0 none;
                    outline-offset: 0;

                    box-shadow: inset 0 0 0 .15rem var(--border-color);
                }

                &.p-highlight {
                  color: var(--primary);
                  background: var(--primary-faded);
                    font-weight: var(--active-font-weight);
                }
            }

            .p-picklist-empty-message {
                padding: .75rem .5rem;
                margin:0.4rem;
                color: contrast-color($theme-color, $contrast-threshold);
            }

            &:not(.cdk-drop-list-dragging) .p-picklist-item:not(.p-highlight):hover {
              color: var(--primary);
              background: var(--primary-faded);
            }
        }

        &.p-picklist-striped .p-picklist-list .p-picklist-item:nth-child(even) {

            &:hover {
              color: var(--primary);
              background: var(--primary-faded);
            }
        }
    }

    .p-timeline {
        .p-timeline-event-marker {
            border: 0 none;

            border-radius: var(--eg-border-radius); //: 50%;
            width: 1rem;
            height: 1rem;
            color: contrast-color($theme-color, $contrast-threshold);
            background: var(--default-grey);
        }

        .p-timeline-event-connector {
            background-color: var(--border-color);
        }

        &.p-timeline-vertical {
            .p-timeline-event-opposite {
                padding: 0 1rem;
            }

            .p-timeline-event-content {
                padding: 0 1rem;
            }

            .p-timeline-event-connector {
                width: 2px;
            }
        }

        &.p-timeline-horizontal {
            .p-timeline-event-opposite {
                padding: 1rem 0;
            }

            .p-timeline-event-content {
                padding: 1rem 0;
            }

            .p-timeline-event-connector {
                height: 2px;
            }
        }
    }

    .p-tree {
        border: 1px solid var(--border-color);
        background: $theme-color;
        color: contrast-color($theme-color, $contrast-threshold);
        padding: 0.25rem;

        border-radius: var(--eg-border-radius); //: 2px;

        .p-tree-filter-container {
            margin-bottom: .5rem;

            .p-tree-filter {
                width: 100%;
                padding-right: 1.5rem;
            }

            .p-tree-filter-icon {
                right: .5rem;
                color: contrast-color($theme-color, $contrast-threshold);
            }
        }

        .p-treenode-children {
            padding: 0 0 0 0.9rem;
        }

        .p-tree-loading-icon {
            font-size: 2rem;
        }

        .p-tree-container .p-treenode {
            padding: .143rem;

            .p-treenode-content {
                border-radius: var(--eg-border-radius); //: 2px;
                transition: box-shadow .2s;
                padding: .25rem;
                margin: 0.1rem;

                .p-tree-toggler {
                    margin-right: .5rem;
                    width: 1.5rem;
                    height: 1.5rem;
                    color: contrast-color($theme-color, $contrast-threshold);
                    border: 0 none;
                    background: transparent;

                    border-radius: var(--eg-border-radius); //: 2px;

                    transition: background-color .2s, color .2s, box-shadow .2s;

                    &:focus {
                      color: var(--primary);
                      background: var(--primary-faded);
                        font-weight: var(--active-font-weight);
                    }

                    &:enabled:hover {
                      color: var(--primary);
                      background: var(--primary-faded);
                        font-weight: var(--active-font-weight);
                    }
                }

                .p-treenode-icon {
                    margin-right: .5rem;
                    color: contrast-color($theme-color, $contrast-threshold);

                    .p-highlight {
                      color: var(--primary);
                      background: var(--primary-faded);
                        font-weight: var(--active-font-weight);
                    }
                }

                .p-checkbox {
                    margin-right: .5rem;
                    align-items: center;

                    .p-checkbox-box {
                        width: 17px;
                        height: 17px;
                    }

                    .p-indeterminate .p-checkbox-icon {
                        color: contrast-color($theme-color, $contrast-threshold);
                    }
                }

                &:focus {
                  color: var(--primary);
                  background: var(--primary-faded);
                    font-weight: var(--active-font-weight);
                }

                &:hover {
                  color: var(--primary);
                  background: var(--primary-faded);
                    font-weight: var(--active-font-weight);
                }

                &.p-highlight {
                  color: var(--primary);
                  background: var(--primary-faded);

                    .p-tree-toggler {
                      color: var(--primary);
                      background: var(--primary-faded);
                        font-weight: var(--active-font-weight);

                        &:hover {
                          color: var(--primary);
                          background: var(--primary-faded);
                            font-weight: var(--active-font-weight);
                        }
                    }

                    .p-treenode-icon {
                      color: var(--primary);


                        &:hover {
                          color: var(--primary);

                            font-weight: var(--active-font-weight)
                        }
                    }
                }

                &.p-treenode-dragover {
                    background: var(--default-grey);
                    color: contrast-color($theme-color, $contrast-threshold);
                }

                &.p-treenode-selectable:not(.p-highlight):hover {
                  background-color: var(--primary-faded);
                    color: var(--primary);
                }
            }
        }

        .p-treenode-droppoint.p-treenode-droppoint-active {
          background-color: var(--primary-faded);
          color: var(--primary);
        }

        &.p-tree-horizontal .p-treenode .p-treenode-content {

            border-radius: var(--eg-border-radius); //: 2px;
            border: 1px solid var(--border-color);
            background-color: $theme-color;
            color: contrast-color($theme-color, $contrast-threshold);
            padding: .5rem;

            transition: box-shadow .2s;

            &.p-highlight {
                background-color: var(--default-grey);
                color: contrast-color($theme-color, $contrast-threshold);

                .p-treenode-icon {
                    color: contrast-color($theme-color, $contrast-threshold);
                }
            }

            .p-tree-toggler {
                margin-right: .5rem;
            }

            .p-treenode-icon {
                color: contrast-color($theme-color, $contrast-threshold);
                margin-right: .5rem;
            }

            .p-checkbox {
                margin-right: .5rem;
            }

            &:focus {
                outline: 0 none;
                outline-offset: 0;

            }

            .p-treenode-label:not(.p-highlight):hover {
              color: var(--primary);
              background: var(--primary-faded);
            }

            &.p-treenode-selectable:not(.p-highlight):hover {
              color: var(--primary);
              background: var(--primary-faded);
                color: contrast-color($theme-color, $contrast-threshold);
            }
        }
    }

    .p-treetable {
        .p-paginator-top {
            border-width: 0 0 1px 0;

            border-radius: var(--eg-border-radius); //: 0;
        }

        .p-paginator-bottom {
            border-width: 0 0 1px 0;

            border-radius: var(--eg-border-radius); //: 0;
        }

        .p-treetable-header {
            background: $theme-color;
            color: contrast-color($theme-color, $contrast-threshold);
            border: 1px solid var(--border-color);
            border-width: 1px 0 1px 0;
            padding: .75rem .75rem;
            font-weight: 600;
        }

        .p-treetable-footer {
            background: $theme-color;
            color: contrast-color($theme-color, $contrast-threshold);
            border: 1px solid var(--border-color);
            border-width: 0 0 1px 0;
            padding: .75rem .75rem;
            font-weight: 600;
        }

        .p-sortable-column {
            outline-color: contrast-color($theme-color, $contrast-threshold);

            .p-sortable-column-icon {
                color: contrast-color($theme-color, $contrast-threshold);
                margin-left: .5rem;
            }

            .p-sortable-column-badge {

                border-radius: var(--eg-border-radius); //: 50%;
                height: 1.143rem;
                min-width: 1.143rem;
                line-height: 1.143rem;
                color: contrast-color($theme-color, $contrast-threshold);
                background: var(--default-grey);
                margin-left: .5rem;
            }

            &.p-highlight {
              color: var(--primary);
              background: var(--primary-faded);

                .p-sortable-column-icon {
                    color: contrast-color($theme-color, $contrast-threshold);
                }
            }

            &:not(.p-highlight):hover {
              color: var(--primary);
              background: var(--primary-faded);

                .p-sortable-column-icon {
                    color: var(--primary);
                }
            }
        }

        .p-column-resizer-helper {
            color: contrast-color($theme-color, $contrast-threshold);
            background: var(--default-grey);
        }

        .p-treetable-scrollable-header {
            background: var(--default-grey);
        }

        .p-treetable-scrollable-footer {
            background: var(--default-grey);
        }

        .p-treetable-loading-icon {
            font-size: 2rem;
        }

        &.p-treetable-gridlines {
            .p-datatable-header {
                border-width: 1px 1px 0 1px;
            }

            .p-treetable-footer {
                border-width: 0 1px 1px 1px;
            }

            .p-treetable-top {
                border-width: 0 1px 0 1px;
            }

            .p-treetable-bottom {
                border-width: 0 1px 1px 1px;
            }

            .p-treetable-thead>tr>th {
                border-width: 1px;
            }

            .p-treetable-tbody>tr>td {
                border-width: 1px;
            }

            .p-treetable-tfoot>tr>td {
                border-width: 1px;
            }
        }

        &.p-treetable-sm {
            .p-treetable-header {
                padding: .65625rem .65625rem;
            }

            .p-treetable-footer {
                padding: .375rem .375rem;
            }

            .p-treetable-thead>tr>th {
                padding: .375rem .375rem;
            }

            .p-treetable-tbody>tr>td {
                padding: .375rem .375rem;
            }

            .p-treetable-tfoot>tr>td {
                padding: .375rem .375rem;
            }
        }

        &.p-treetable-lg {
            .p-treetable-header {
                padding: .9375rem .9375rem;
            }

            .p-treetable-footer {
                padding: .9375rem .9375rem;
            }

            .p-treetable-thead>tr>th {
                padding: .9375rem .9375rem;
            }

            .p-treetable-tbody>tr>td {
                padding: .9375rem .9375rem;
            }

            .p-treetable-tfoot>tr>td {
                padding: .9375rem .9375rem;
            }
        }

        .p-treetable-thead>tr>th {
            text-align: left;
            padding: .75rem .75rem;
            border: 1px solid var(--border-color);
            border-width: 0 0 1px 0;
            font-weight: 600;
            color: contrast-color($theme-color, $contrast-threshold);
            background: $theme-color;

            transition: box-shadow .2s;
        }

        .p-treetable-tfoot>tr>td {
            text-align: left;
            padding: .75rem .75rem;
            border: 1px solid var(--border-color);
            border-width: 0 0 1px 0;
            font-weight: 600;
            color: contrast-color($theme-color, $contrast-threshold);
            background: $theme-color;
        }

        .p-treetable-tbody>tr {
            background: $theme-color;
            color: contrast-color($theme-color, $contrast-threshold);

            transition: box-shadow .2s;

            >td {
                text-align: left;
                border: 1px solid var(--border-color);
                border-width: 0 0 1px 0;
                padding: .75rem .75rem;

                .p-treetable-toggler {
                    width: 2rem;
                    height: 2rem;
                    color: contrast-color($theme-color, $contrast-threshold);
                    border: 0 none;
                    background: transparent;

                    border-radius: var(--eg-border-radius); //: 2px;

                    transition: background-color .2s, color .2s, box-shadow .2s;
                    margin-right: .5rem;

                    &:focus {
                        outline: 0 none;
                        outline-offset: 0;
                        border: 1px solid var(--primary);
                        color: var(--primary);
                        background: var(--primary-faded);
                    }

                    &:enabled:hover {
                      color: var(--primary);
                      background: var(--primary-faded);
                      border-color: transparent;
                    }
                }

                p-treetablecheckbox .p-checkbox {
                    margin-right: .5rem;

                    .p-indeterminate .p-checkbox-icon {
                        color: contrast-color($theme-color, $contrast-threshold);
                    }
                }
            }

            &:focus {
                outline: .15rem solid contrast-color($theme-color, $contrast-threshold);
                outline-offset: -0.15rem;
                color: var(--primary);
                background: var(--primary-faded);
                font-weight: var(--active-font-weight);
            }

            &.p-highlight {
              color: var(--primary);
              background: var(--primary-faded);
                font-weight: var(--active-font-weight);

                .p-treetable-toggler {
                    color: var(--primary);

                    &:hover {
                      color: var(--primary);
                      background: var(--primary-faded);
                    }
                }
            }
        }

        &.p-treetable-hoverable-rows .p-treetable-tbody>tr:not(.p-highlight):hover {
          color: var(--primary);
          background: var(--primary-faded);

            .p-treetable-toggler {
              color: var(--primary);

            }
        }
    }

    .p-virtualscroller {
        .p-virtualscroller-header {
            background: $theme-color;
            color: contrast-color($theme-color, $contrast-threshold);
            border: 1px solid var(--border-color);
            border-width: 1px 0 1px 0;
            padding: .75rem .75rem;
            font-weight: 600;
        }

        .p-virtualscroller-content {
            background: $theme-color;
            color: contrast-color($theme-color, $contrast-threshold);
            border: 0 none;
            padding: 0;
        }

        .p-virtualscroller-footer {
            background: $theme-color;
            color: contrast-color($theme-color, $contrast-threshold);
            border: 1px solid var(--border-color);
            border-width: 0 0 1px 0;
            padding: .75rem .75rem;
            font-weight: 600;

            border-bottom-left-radius: 2px;

            border-bottom-right-radius: 2px;
        }
    }

    .p-accordion {
        .p-accordion-header {
            //border-bottom: 1px solid var(--primary-faded);

            .p-accordion-header-link {
                padding: 1rem;
                border: 0px solid var(--border-color);
                color: contrast-color($theme-color, $contrast-threshold);
                background: $theme-color;
                opacity: 1;
                font-weight: 600;

                border-radius: var(--eg-border-radius); //: 2px;

                transition: box-shadow .2s;

                .p-accordion-toggle-icon {
                    margin-right: .5rem;
                }
            }

            &.p-highlight:not(.p-disabled) .p-accordion-header-link {
                color: var(--primary);
                background: var(--primary-faded);
                border-bottom-right-radius :0rem;
                border-bottom-left-radius :0rem;
            }

            :hover {
                color: var(--primary);
                background: var(--primary-faded);
                transition: background-color .2s, color .2s, border-color .2s, box-shadow .3s;
            }

            :active {
                box-shadow: 0px 0px 20px 0px var(--secondary);
                transition: background-color .2s, color .2s, border-color .2s, box-shadow .3s;
            }

            &.p-disabled {
                cursor: not-allowed;

                &.p-highlight {
                    .p-accordion-header-link {

                        border-color: var(--border-color);
                        color: var(--primary);
                        background: var(--primary-faded);
                        border-bottom-right-radius: 0;
                        border-bottom-left-radius: 0;
                    }

                    &:hover .p-accordion-header-link {
                        border-color: var(--border-color);
                        color: var(--primary);
                        background: var(--primary-faded);
                    }
                }

                .p-accordion-header-link:focus {
                    outline: 0 none;
                    outline-offset: 0;
                    border: 1px solid var(--border-color);

                }
            }

        }
    }

    .p-accordion-content {
        padding: 1rem;
        border: 1px solid var(--border-color);
        background: $theme-color;
        color: contrast-color($theme-color, $contrast-threshold);
        border-top: 0;
        border-top-right-radius: 0;
        border-top-left-radius: 0;
        border-bottom-right-radius: var(--eg-border-radius);
        border-bottom-left-radius: var(--eg-border-radius);
    }

    p-accordiontab .p-accordion-tab {
        margin-bottom: 4px;
    }

    .p-card {
        background: $theme-color;
        color: contrast-color($theme-color, $contrast-threshold);

        box-shadow: 0 2px 1px -1px var(--box-shadow-one), 0 1px 1px 0 var(--box-shadow-two), 0 1px 3px 0 var(--box-shadow-three);
        border-radius: var(--eg-border-radius); //: 2px;

        .p-card-body {
            padding: 1rem;
        }

        .p-card-title {
            font-size: 1.5rem;
            font-weight: var(--active-font-weight);
            margin-bottom: .5rem;
        }

        .p-card-subtitle {
            font-weight: 400;
            margin-bottom: .5rem;
            color: contrast-color($theme-color, $contrast-threshold);
        }

        .p-card-content {
            padding: 1rem 0;
        }

        .p-card-footer {
            padding: 1rem 0 0;
        }
    }

    .p-divider {
        .p-divider-content {
            background-color: $theme-color;
        }

        &.p-divider-horizontal {
            margin: 1rem 0;
            padding: 0 1rem;

            &:before {
                border-top: 1px var(--default-grey);
            }

            .p-divider-content {
                padding: 0 .5rem;
            }
        }

        &.p-divider-vertical {
            margin: 0 1rem;
            padding: 1rem 0;

            &:before {
                border-left: 1px var(--default-grey);
            }

            .p-divider-content {
                padding: .5rem 0;
            }
        }
    }
    .p-divider-solid.p-divider-horizontal:before {
        border-top-style: solid !important;
      }
      .p-divider-dashed.p-divider-horizontal:before {
        border-top-style: dashed !important;
      }
      .p-divider-solid.p-divider-vertical:before {
        border-left-style: solid !important;
      }

    .p-fieldset {
        border: 1px solid var(--border-color);
        background: $theme-color;
        color: contrast-color($theme-color, $contrast-threshold);

        border-radius: var(--eg-border-radius); //: 2px;

        .p-fieldset-legend {
            padding: 1rem;
            border: 1px solid var(--border-color);
            color: contrast-color($theme-color, $contrast-threshold);
            background: var(--default-grey);
            font-weight: 600;

            border-radius: var(--eg-border-radius); //: 2px;
        }

        .p-fieldset-content {
            padding: 1rem;
        }

        &.p-fieldset-toggleable .p-fieldset-legend {
            padding: 0;

            transition: background-color .2s, color .2s, box-shadow .2s;

            a {
                padding: 1rem;
                color: contrast-color($theme-color, $contrast-threshold);

                border-radius: var(--eg-border-radius); //: 2px;

                transition: box-shadow .2s;

                .p-fieldset-toggler {
                    margin-right: .5rem;
                }

                &:focus {
                    outline: 0 none;
                    outline-offset: 0;
                    border: 1px solid var(--border-color);
                }
            }

            &:hover {
              color: var(--primary);
              background: var(--primary-faded);
                font-weight: var(--active-font-weight);
            }
        }
    }

    .p-panel {
        .p-panel-header {
            border: 1px solid var(--border-color);
            padding: 1rem;
            background: var(--default-grey);
            color: contrast-color($theme-color, $contrast-threshold);

            border-top-right-radius: 2px;

            border-top-left-radius: 2px;

            .p-panel-title {
                font-weight: 600;
            }

            .p-panel-header-icon {
                width: 2rem;
                height: 2rem;
                color: contrast-color($theme-color, $contrast-threshold);
                border: 0 none;
                background: transparent;

                border-radius: var(--eg-border-radius); //: 2px;

                transition: background-color .2s, color .2s, box-shadow .2s;

                &:focus {
                    outline: 0 none;
                    outline-offset: 0;
                    border: 1px solid var(--primary);
                }

                &:enabled:hover {
                  color: var(--primary);
                  background: var(--primary-faded);
                    border-color: transparent;

                }
            }
        }

        .p-panel-content {
            padding: 1rem;
            border: 1px solid var(--border-color);
            background: $theme-color;
            color: contrast-color($theme-color, $contrast-threshold);

            border-bottom-right-radius: 2px;

            border-bottom-left-radius: 2px;
            border-top: 0 none;
        }

        .p-panel-footer {
            padding: .5rem 1rem;
            border: 1px solid var(--border-color);
            background: $theme-color;
            color: contrast-color($theme-color, $contrast-threshold);
            border-top: 0 none;
        }

        .p-panel-icons-end {
            order: 2;
            margin-left: auto;
        }

        .p-panel-icons-start {
            order: 0;
            margin-right: .5rem;
        }

        .p-panel-icons-center {
            order: 2;
            width: 100%;
            text-align: center;
        }

        &.p-panel-toggleable .p-panel-header {
            padding: .5rem 1rem;
        }
    }

    .p-splitter {
        /* border: 1px solid var(--border-color); */
        /* background: $theme-color; */
        background-color: transparent !important;
        border-radius: 0px !important;
        border: 0px solid !important;
        color: contrast-color($theme-color, $contrast-threshold);

        .p-splitter-gutter {

            transition: background-color .2s, color .2s, box-shadow .2s;
            background: var(--default-grey);

            .p-splitter-gutter-handle {
                background: var(--default-grey);
            }
        }

        .p-splitter-gutter-resizing {
            background: var(--default-grey);
        }
    }

    .p-tabview {
        .p-tabview-nav {
            background: $theme-color;
            border: 0 none;
            border-width: 0 0 2px 0;

            li {
                margin-right: 0;

                .p-tabview-nav-link {
                    border: solid var(--border-color);
                    border-width: 0 0 2px 0;
                    border-color: transparent transparent transparent transparent;
                    background: $theme-color;
                    color: contrast-color($theme-color, $contrast-threshold);
                    padding: 1rem;
                    font-weight: 600;
                    border-top-right-radius: var(--eg-border-radius);
                    border-top-left-radius: var(--eg-border-radius);

                    transition: box-shadow .2s;
                    margin: 0 .5rem -2px 0;
                    height:100%;
                    box-shadow: 0 2px 1px -1px var(--box-shadow-one), 0 1px 1px 0 var(--box-shadow-two), 0 1px 3px 0 var(--box-shadow-three);

                    &:not(.p-disabled):focus {
                        outline: 0 none;
                        outline-offset: 0;
                        box-shadow: 0 2px 1px -1px var(--box-shadow-one), 0 1px 1px 0 var(--box-shadow-two), 0 1px 3px 0 var(--box-shadow-three);
                    }
                }

                &:not(.p-highlight):not(.p-disabled):hover .p-tabview-nav-link {
                    background: var(--primary-faded);
                    border-color: transparent;
                    color: var(--primary);
                    box-shadow: 0 2px 1px -1px var(--box-shadow-one), 0 1px 1px 0 var(--box-shadow-two), 0 1px 3px 0 var(--box-shadow-three);
                }

                &.p-highlight .p-tabview-nav-link {
                    background: var(--primary-faded);
                    border-color: transparent;
                    color: var(--primary);
                    font-weight: var(--active-font-weight);
                    box-shadow: 0 2px 1px -1px var(--box-shadow-one), 0 1px 1px 0 var(--box-shadow-two), 0 1px 3px 0 var(--box-shadow-three);
                }
            }
        }

        .p-tabview-left-icon {
            margin-right: .5rem;
        }

        .p-tabview-right-icon {
            margin-left: .5rem;
        }

        .p-tabview-close {
            margin-left: .5rem;
        }

        .p-tabview-panels {
            background: $theme-color;
            padding-top: 1rem;
            border: 0 none;
            color: contrast-color($theme-color, $contrast-threshold);
            border-bottom-right-radius: var(--eg-border-radius);
            border-bottom-left-radius: var(--eg-border-radius);
            overflow: hidden;
        }

        .p-tabview-nav-btn.p-link {
            background: $theme-color;
            color: contrast-color($theme-color, $contrast-threshold);
            width: 2.357rem;

            box-shadow: 0 3px 1px -2px var(--box-shadow-one), 0 2px 2px 0 var(--box-shadow-two), 0 1px 5px 0 var(--box-shadow-three);

            border-radius: var(--eg-border-radius); //: 0;

            &:focus {
                outline: 0 none;
                outline-offset: 0;

                box-shadow: inset inset 0 0 0 1px var(--border-color);
            }
        }
    }

    .p-toolbar {
        background: var(--default-grey);
        border: 1px solid var(--border-color);
        padding: 1rem;

        border-radius: var(--eg-border-radius); //: 2px;

        .p-toolbar-separator {
            margin: 0 .5rem;
        }
    }

    .p-confirm-popup {
        background: $theme-color;
        color: contrast-color($theme-color, $contrast-threshold);
        border: 0 none;

        border-radius: var(--eg-border-radius); //: 2px;

        box-shadow: var(--box-shadow-one) 0 6.4px 14.4px 0, var(--box-shadow-two) 0 1.2px 3.6px 0;

        .p-confirm-popup-content {
            padding: 1rem;
        }

        .p-confirm-popup-footer {
            text-align: right;
            padding: .5rem 1rem;

            button {
                margin: 0 .5rem 0 0;
                width: auto;

                &:last-child {
                    margin: 0;
                }
            }
        }

        &:after {
            border: solid transparent;
            border-color: rgba(255, 255, 255, 0);
            border-bottom-color: $theme-color;
        }

        &:before {
            border: solid transparent;
            border-color: rgba(255, 255, 255, 0);
            border-bottom-color: $theme-color;
        }

        &.p-confirm-popup-flipped {
            &:after {
                border-top-color: $theme-color;
            }

            &:before {
                border-top-color: $theme-color;
            }
        }

        .p-confirm-popup-icon {
            font-size: 1.5rem;
        }

        .p-confirm-popup-message {
            margin-left: 1rem;
        }
    }

    .p-dialog {

        border-radius: var(--eg-border-radius); //: 2px;

        box-shadow: var(--box-shadow-one) 0 6.4px 14.4px 0, var(--box-shadow-two) 0 1.2px 3.6px 0;
        border: 0 none;

        .p-dialog-header {
            border-bottom: 0 none;
            background: $theme-color;
            color: contrast-color($theme-color, $contrast-threshold);
            padding: 1.5rem;

            border-top-right-radius: 2px;

            border-top-left-radius: 2px;

            .p-dialog-title {
                font-weight: 600;
                font-size: 1.5rem;
            }

            .p-dialog-header-icon {
                width: 2rem;
                height: 2rem;
                color: contrast-color($theme-color, $contrast-threshold);
                border: 0 none;
                background: transparent;

                border-radius: var(--eg-border-radius); //: 2px;

                transition: background-color .2s, color .2s, box-shadow .2s;
                margin-right: .5rem;

                &:focus {
                    outline: 0 none;
                    outline-offset: 0;
                    border-color: transparent;
                    color: var(--primary);
                  background: var(--primary-faded);
                    font-weight: var(--active-font-weight);

                }

                &:last-child {
                    margin-right: 0;
                }

                &:enabled:hover {
                    border-color: transparent;
                    color: var(--primary);
                  background: var(--primary-faded);
                }
            }
        }

        .p-dialog-content {
            background: $theme-color;
            color: contrast-color($theme-color, $contrast-threshold);
            padding: 0 1.5rem 2rem 1.5rem;
        }

        .p-dialog-footer {
            border-top: 0 none;
            background: $theme-color;
            color: contrast-color($theme-color, $contrast-threshold);
            padding: 0 1.5rem 1.5rem 1.5rem;
            text-align: right;

            border-bottom-right-radius: 2px;

            border-bottom-left-radius: 2px;

            button {
                margin: 0 .5rem 0 0;
                width: auto;
            }
        }

        &.p-confirm-dialog {
            .p-confirm-dialog-icon {
                font-size: 2rem;
            }

            .p-confirm-dialog-message {
                margin-left: 1rem;
            }
        }
    }



    .p-overlaypanel {
        background: $theme-color;
        color: contrast-color($theme-color, $contrast-threshold);
        border: 0 none;

        border-radius: var(--eg-border-radius); //: 2px;

        box-shadow: var(--box-shadow-one) 0 6.4px 14.4px 0, var(--box-shadow-two) 0 1.2px 3.6px 0;

        .p-overlaypanel-content {
            padding: 1rem;
        }

        .p-overlaypanel-close {
            color: contrast-color($theme-color, $contrast-threshold);
            background: var(--default-grey);
            width: 2rem;
            height: 2rem;

            transition: background-color .2s, color .2s, box-shadow .2s;

            border-radius: var(--eg-border-radius); //: 2px;
            position: absolute;
            top: -1rem;
            right: -1rem;

            &:enabled:hover {
              color: var(--primary);
              background: var(--primary-faded);
                font-weight: var(--active-font-weight);
            }
        }

        &:after {
            border: solid transparent;
            border-color: rgba(255, 255, 255, 0);
            border-bottom-color: $theme-color;
        }

        &:before {
            border: solid transparent;
            border-color: rgba(255, 255, 255, 0);
            border-bottom-color: var(--overlay-bg);
        }

        &.p-overlaypanel-flipped {
            &:after {
                border-top-color: $theme-color;
            }

            &:before {
                border-top-color: $theme-color;
            }
        }
    }

    .p-sidebar {
        background: $theme-color;
        color: contrast-color($theme-color, $contrast-threshold);
        border: 0 none;

        box-shadow: var(--box-shadow-one) 0 6.4px 14.4px 0, var(--box-shadow-two) 0 1.2px 3.6px 0;

        .p-sidebar-header {
            padding: 0.3rem;

            .p-sidebar-close {
                width: 2rem;
                height: 2rem;
                color: contrast-color($theme-color, $contrast-threshold);
                border: 0 none;
                background: transparent;

                border-radius: var(--eg-border-radius); //: 2px;

                transition: background-color .2s, color .2s, box-shadow .2s;

                &:focus {
                    outline: 0 none;
                    outline-offset: 0;
                    border: 1px solid var(--default-grey);
                }

                &:enabled:hover {
                  color: var(--primary);
                  background: var(--primary-faded);
                    border-color: transparent;
                    font-weight: var(--active-font-weight);

                }
            }

            .p-sidebar-icon {
                width: 2rem;
                height: 2rem;
                color: contrast-color($theme-color, $contrast-threshold);
                border: 0 none;
                background: transparent;

                border-radius: var(--eg-border-radius); //: 2px;

                transition: background-color .2s, color .2s, box-shadow .2s;

                &:focus {
                    outline: 0 none;
                    outline-offset: 0;
                    border-color: transparent;
                    font-weight: var(--active-font-weight);
                    color: var(--primary);
                  background: var(--primary-faded);
                }

                &:enabled:hover {
                    border-color: transparent;
                    color: var(--primary);
                  background: var(--primary-faded);
                }
            }

            +.p-sidebar-content {
                padding-top: 0;
            }
        }

        .p-sidebar-content {
            padding: 1rem;
        }
    }

    .p-tooltip {
        .p-tooltip-text {
            background: $theme-color;
            color: contrast-color($theme-color, $contrast-threshold);
            padding: .5rem .5rem;

            box-shadow: var(--box-shadow-one) 0 3.2px 7.2px 0, var(--box-shadow-two) 0 .6px 1.8px 0;

            border-radius: var(--eg-border-radius); //: 2px;
            font-size: 90%;
        }

        &.p-tooltip-right .p-tooltip-arrow {
            border-right-color: $theme-color;
        }

        &.p-tooltip-left .p-tooltip-arrow {
            border-left-color: $theme-color;
        }

        &.p-tooltip-top .p-tooltip-arrow {
            border-top-color: $theme-color;
        }

        &.p-tooltip-bottom .p-tooltip-arrow {
            border-bottom-color: $theme-color;
        }
    }

    .p-fileupload {
        .p-fileupload-buttonbar {
            background: var(--default-grey);
            padding: 1rem;
            border: 1px solid var(--border-color);
            color: contrast-color($theme-color, $contrast-threshold);
            border-bottom: 0 none;

            border-top-right-radius: 2px;

            border-top-left-radius: 2px;

            .p-button {
                margin-right: .5rem;

                &.p-fileupload-choose.p-focus {
                    outline: 0 none;
                    outline-offset: 0;
                    border: 1px solid var(--primary);
                }
            }
        }

        .p-fileupload-content {
            background: $theme-color;
            padding: 2rem 1rem;
            border: 1px solid var(--border-color);
            color: contrast-color($theme-color, $contrast-threshold);

            border-bottom-right-radius: 2px;

            border-bottom-left-radius: 2px;
        }

        .p-progressbar {
            height: 2px;
        }

        .p-fileupload-row>div {
            padding: .75rem .75rem;
        }

        &.p-fileupload-advanced .p-message {
            margin-top: 0;
        }
    }

    .p-breadcrumb {
        background: $theme-color;
        border-radius: var(--eg-border-radius); //: 2px;
        padding: 1rem;

        ul li {
            .p-menuitem-link {
                transition: box-shadow .2s;
                border-radius: var(--eg-border-radius); //: 5px;

                &:focus {
                    outline: 0 none;
                    outline-offset: 0;
                }

                .p-menuitem-text {
                    color: contrast-color($theme-color, $contrast-threshold);
                }

                .p-menuitem-icon {
                    color: contrast-color($theme-color, $contrast-threshold);
                }
            }

            &.p-breadcrumb-chevron {
                margin: 0 .5rem 0 .5rem;
                color: contrast-color($theme-color, $contrast-threshold);
            }

            &:last-child {
                .p-menuitem-text {
                    color: contrast-color($theme-color, $contrast-threshold);
                    font-weight: var(--active-font-weight);
                }

                .p-menuitem-icon {
                    color: contrast-color($theme-color, $contrast-threshold);
                    font-weight: var(--active-font-weight);
                }
            }
        }
    }

    .p-contextmenu {
        padding: 0;
        background: $theme-color;
        color: contrast-color($theme-color, $contrast-threshold);
        border: 0 none;

        box-shadow: 0 2px 1px -1px #0003, 0 1px 1px var(--box-shadow-one), 0 1px 3px var(--box-shadow-two); // 0 1px 10px 0 var(--box-shadow-three);

        border-radius: var(--eg-border-radius); //: 2px;
        width: 12.5rem;

        .p-menuitem-link {
            padding: .75rem .5rem;
            margin:0.4rem;
            color: contrast-color($theme-color, $contrast-threshold);
            border-radius: var(--eg-border-radius); //: 5px;

            transition: box-shadow .2s;

            user-select: none;

            .p-menuitem-text {
                color: contrast-color($theme-color, $contrast-threshold);
            }

            .p-menuitem-icon {
                color: contrast-color($theme-color, $contrast-threshold);
                margin-right: .5rem;
            }

            .p-submenu-icon {
                color: contrast-color($theme-color, $contrast-threshold);
            }

            &:focus {
                outline: 0 none;
                outline-offset: 0;
            }

            &:not(.p-disabled):hover {
              color: var(--primary);
              background: var(--primary-faded);

                .p-menuitem-text {
                  color: var(--primary);
                }

                .p-menuitem-icon {
                  color: var(--primary);
                }

                .p-submenu-icon {
                  color: var(--primary);
                }
            }
        }

        .p-submenu-list {
            padding: 0;
            background: $theme-color;
            border: 0 none;

            box-shadow: 0 2px 1px -1px #0003, 0 1px 1px var(--box-shadow-one), 0 1px 3px var(--box-shadow-two); // 0 1px 10px 0 var(--box-shadow-three);

            border-radius: var(--eg-border-radius)  !important; //: 2px;
        }

        .p-menuitem {
            margin: 5px;

            &:last-child {
                margin: 5px;
            }

            &.p-menuitem-active>.p-menuitem-link {
              color: var(--primary);
              background: var(--primary-faded);

                .p-menuitem-text {
                  color: var(--primary);
                }

                .p-menuitem-icon {
                  color: var(--primary);
                }

                .p-submenu-icon {
                  color: var(--primary);
                }
            }
        }

        .p-menu-separator {
            border-top: 1px solid var(--default-grey);
            margin: .25rem 0;
        }

        .p-submenu-icon {
            font-size: .875rem;
        }

        .p-menuitem-badge {
            background: var(--primary);
            color: $theme-color;
            font-size: .75rem;
            font-weight: var(--active-font-weight);
            min-width: 1.5rem;
            height: 1.5rem;
            line-height: 1.5rem;

            border-radius: var(--eg-border-radius); //: 2px;
            margin-left: .5rem;
            padding-left: .5rem;
            padding-right: .5rem;
        }
    }

    .p-dock {
        .p-dock-list {
            background: $theme-color;
            border: 1px solid var(--border-color);
            padding: .5rem .5rem;

            border-radius: var(--eg-border-radius); //: .5rem;
        }

        .p-dock-item {
            padding: .5rem;
        }

        .p-dock-action {
            width: 4rem;
            height: 4rem;
        }

        &.p-dock-top {
            .p-dock-item-second-prev {
                margin: 0 .9rem;
            }

            .p-dock-item-second-next {
                margin: 0 .9rem;
            }

            .p-dock-item-prev {
                margin: 0 1.3rem;
            }

            .p-dock-item-next {
                margin: 0 1.3rem;
            }

            .p-dock-item-current {
                margin: 0 1.5rem;
            }
        }

        &.p-dock-bottom {
            .p-dock-item-second-prev {
                margin: 0 .9rem;
            }

            .p-dock-item-second-next {
                margin: 0 .9rem;
            }

            .p-dock-item-prev {
                margin: 0 1.3rem;
            }

            .p-dock-item-next {
                margin: 0 1.3rem;
            }

            .p-dock-item-current {
                margin: 0 1.5rem;
            }
        }

        &.p-dock-left {
            .p-dock-item-second-prev {
                margin: .9rem 0;
            }

            .p-dock-item-second-next {
                margin: .9rem 0;
            }

            .p-dock-item-prev {
                margin: 1.3rem 0;
            }

            .p-dock-item-next {
                margin: 1.3rem 0;
            }

            .p-dock-item-current {
                margin: 1.5rem 0;
            }
        }

        &.p-dock-right {
            .p-dock-item-second-prev {
                margin: .9rem 0;
            }

            .p-dock-item-second-next {
                margin: .9rem 0;
            }

            .p-dock-item-prev {
                margin: 1.3rem 0;
            }

            .p-dock-item-next {
                margin: 1.3rem 0;
            }

            .p-dock-item-current {
                margin: 1.5rem 0;
            }
        }
    }

    /* RT @media screen and(max-width: 960px) {
        .p-dock {
            &.p-dock-top .p-dock-list-container {
                overflow-x: auto;
                width: 100%;

                .p-dock-list {
                    margin: 0 auto;
                }
            }

            &.p-dock-bottom .p-dock-list-container {
                overflow-x: auto;
                width: 100%;

                .p-dock-list {
                    margin: 0 auto;
                }
            }

            &.p-dock-left .p-dock-list-container {
                overflow-y: auto;
                height: 100%;

                .p-dock-list {
                    margin: auto 0;
                }
            }

            &.p-dock-right .p-dock-list-container {
                overflow-y: auto;
                height: 100%;

                .p-dock-list {
                    margin: auto 0;
                }
            }

            .p-dock-list .p-dock-item {

                transform: none;
                margin: 0;
            }
        }

        .p-menubar {
            position: relative;

            .p-menubar-button {
                display: flex;
                width: 2rem;
                height: 2rem;
                color: contrast-color($theme-color, $contrast-threshold);

                border-radius: var(--eg-border-radius); //: 2px;

                transition: background-color .2s, color .2s, box-shadow .2s;

                &:hover {
                    color: contrast-color($theme-color, $contrast-threshold);
                    background: var(--default-grey);
                }

                &:focus {
                    color: contrast-color($theme-color, $contrast-threshold);
                    background: var(--default-grey);
                    border: 1px solid var(--border-color);
                }
            }

            .p-menubar-root-list {
                position: absolute;
                display: none;
                padding: 0;
                background: $theme-color;
                border: 0 none;

                box-shadow: 0 2px 1px -1px #0003, 0 1px 1px var(--box-shadow-one), 0 1px 3px var(--box-shadow-two); // 0 1px 10px 0 var(--box-shadow-three);
                width: 100%;

                .p-menu-separator {
                    border-top: 1px solid var(--default-grey);
                    margin: .25rem 0;
                }

                .p-submenu-icon {
                    font-size: .875rem;
                }

                .p-submenu-list {
                    width: 100%;
                    position: static;

                    box-shadow: none;
                    border: 0 none;
                    border-radius: var(--eg-border-radius);

                    .p-submenu-icon {

                        transition: transform .2s;

                        transform: rotate(90deg);
                    }

                    .p-menuitem-active>.p-menuitem-link>.p-submenu-icon {

                        transform: rotate(-90deg);
                    }
                }

                .p-menuitem {
                    margin: 5px;
                    width: 100%;
                    position: static;
                }

                >.p-menuitem {
                    width: 100%;
                    position: static;

                    >.p-menuitem-link {
                        padding: .75rem .5rem;
                        color: contrast-color($theme-color, $contrast-threshold);

                        border-radius: var(--eg-border-radius); //: 5px;

                        transition: box-shadow .2s;

                        user-select: none;

                        .p-menuitem-text {
                            color: contrast-color($theme-color, $contrast-threshold);
                        }

                        .p-menuitem-icon {
                            color: contrast-color($theme-color, $contrast-threshold);
                            margin-right: .5rem;
                        }

                        .p-submenu-icon {
                            color: contrast-color($theme-color, $contrast-threshold);
                        }

                        &:focus {
                            outline: 0 none;
                            outline-offset: 0;
                        }

                        &:not(.p-disabled):hover {
                            background: var(--default-grey);

                            .p-menuitem-text {
                                color: contrast-color($theme-color, $contrast-threshold);
                            }

                            .p-menuitem-icon {
                                color: contrast-color($theme-color, $contrast-threshold);
                            }

                            .p-submenu-icon {
                                color: contrast-color($theme-color, $contrast-threshold);
                            }
                        }

                        >.p-submenu-icon {
                            margin-left: auto;

                            transition: transform .2s;
                        }
                    }

                    &.p-menuitem-active>.p-menuitem-link>.p-submenu-icon {

                        transform: rotate(-180deg);
                    }
                }

                ul li {
                    a {
                        padding-left: 2.25rem;
                    }

                    ul li {
                        a {
                            padding-left: 3.75rem;
                        }

                        ul li {
                            a {
                                padding-left: 5.25rem;
                            }

                            ul li {
                                a {
                                    padding-left: 6.75rem;
                                }

                                ul li a {
                                    padding-left: 8.25rem;
                                }
                            }
                        }
                    }
                }
            }

            &.p-menubar-mobile-active .p-menubar-root-list {
                display: flex;
                flex-direction: column;
                top: 100%;
                left: 0;
                z-index: 1;
            }
        }
    } */

    .p-megamenu {
        padding: .5rem;
        background: $theme-color;
        color: contrast-color($theme-color, $contrast-threshold);

        border-radius: var(--eg-border-radius); //: 2px;

        .p-menuitem-link {
            padding: .75rem .5rem;
            color: contrast-color($theme-color, $contrast-threshold);
            border-radius: var(--eg-border-radius); //: 5px;

            transition: box-shadow .2s;

            user-select: none;

            .p-menuitem-text {
                color: contrast-color($theme-color, $contrast-threshold);
            }

            .p-menuitem-icon {
                color: contrast-color($theme-color, $contrast-threshold);
                margin-right: .5rem;
            }

            .p-submenu-icon {
                color: contrast-color($theme-color, $contrast-threshold);
            }

            &:focus {
              color: var(--primary);
              background: var(--primary-faded);
                font-weight: var(--active-font-weight);

            }

            &:not(.p-disabled):hover {
              color: var(--primary);
              background: var(--primary-faded);
                font-weight: var(--active-font-weight);


                .p-menuitem-text {
                  color: inherit;
                  font-weight: inherit;
                }

                .p-menuitem-icon {
                  color: inherit;
                  font-weight: inherit;
                }

                .p-submenu-icon {
                  color: inherit;
                  font-weight: inherit;
                }
            }
        }

        .p-megamenu-panel {
            background: $theme-color;
            color: contrast-color($theme-color, $contrast-threshold);
            border: 0 none;
            border-radius: 5px;

            box-shadow: 0 2px 1px -1px #0003, 0 1px 1px var(--box-shadow-one), 0 1px 3px var(--box-shadow-two); // 0 1px 10px 0 var(--box-shadow-three);
        }

        .p-megamenu-submenu-header {
            margin: 0;
            padding: .75rem .5rem;
            color: contrast-color($theme-color, $contrast-threshold);
            background: $theme-color;
            font-weight: 600;

            border-top-right-radius: 2px;

            border-top-left-radius: 2px;
        }

        .p-megamenu-submenu {
            padding: 0;
            width: 12.5rem;

            .p-menu-separator {
                border-top: 1px solid var(--default-grey);
                margin: .25rem 0;
            }

            .p-menuitem {
                margin: 0;

                &:last-child {
                    margin: 0;
                }
            }
        }

        &.p-megamenu-vertical {
            width: 12.5rem;
            padding: 0;

            .p-menuitem {
                margin: 0;

                &:last-child {
                    margin: 0;
                }
            }
        }

        .p-menuitem-badge {
            background: var(--primary);
            color: $theme-color;
            font-size: .75rem;
            font-weight: var(--active-font-weight);
            min-width: 1.5rem;
            height: 1.5rem;
            line-height: 1.5rem;

            border-radius: var(--eg-border-radius); //: 5px;
            margin-left: .5rem;
            padding-left: .5rem;
            padding-right: .5rem;
        }

        .p-megamenu-root-list>.p-menuitem {
            >.p-menuitem-link {
                padding: .75rem .5rem;
                color: contrast-color($theme-color, $contrast-threshold);

                border-radius: var(--eg-border-radius); //: 5px;

                transition: box-shadow .2s;

                user-select: none;

                .p-menuitem-text {
                    color: contrast-color($theme-color, $contrast-threshold);
                }

                .p-menuitem-icon {
                    color: contrast-color($theme-color, $contrast-threshold);
                    margin-right: .5rem;
                }

                .p-submenu-icon {
                    color: contrast-color($theme-color, $contrast-threshold);
                    margin-left: .5rem;
                }

                &:focus {
                    outline: 0 none;
                    outline-offset: 0;

                }

                &:not(.p-disabled):hover {
                    background: var(--primary-faded);
                    color: var(--primary);

                    .p-menuitem-text {
                      color: var(--primary);
                        font-weight: var(--active-font-weight)
                    }

                    .p-menuitem-icon {
                      color: var(--primary);
                        font-weight: var(--active-font-weight)
                    }

                    .p-submenu-icon {
                      color: var(--primary);
                        font-weight: var(--active-font-weight)
                    }
                }
            }

            &.p-menuitem-active>.p-menuitem-link {
              background: var(--primary-faded);
              color: var(--primary);

                .p-menuitem-text {
                  color: var(--primary);
                    font-weight: var(--active-font-weight)
                }

                .p-menuitem-icon {
                  color: var(--primary);
                    font-weight: var(--active-font-weight)
                }

                .p-submenu-icon {
                  color: var(--primary);
                    font-weight: var(--active-font-weight)
                }

                &:not(.p-disabled):hover {
                  background: var(--primary-faded);
                  color: var(--primary);

                    .p-menuitem-text {
                      color: var(--primary);
                        font-weight: var(--active-font-weight)
                    }

                    .p-menuitem-icon {
                      color: var(--primary);
                        font-weight: var(--active-font-weight)
                    }

                    .p-submenu-icon {
                      color: var(--primary);
                        font-weight: var(--active-font-weight)
                    }
                }

            }
        }

        .p-menuitem.p-menuitem-active>.p-menuitem-link {
          background: var(--primary-faded);
          color: var(--primary);

            .p-menuitem-text {
              color: var(--primary);
            }

            .p-menuitem-icon {
              color: var(--primary);
            }

            .p-submenu-icon {
              color: var(--primary);
            }
        }
    }

    .p-menu {
        padding: 0;
        background: $theme-color;
        color: contrast-color($theme-color, $contrast-threshold);
        border-radius: var(--eg-border-radius); //: 2px;
        width: 12.5rem;

        .p-menuitem-link {
            padding: .75rem .5rem;
            margin:0.4rem;
            color: contrast-color($theme-color, $contrast-threshold);
            border-radius: var(--eg-border-radius); //: 0;
            transition: box-shadow .2s;
            user-select: none;

            .p-menuitem-text {
                color: contrast-color($theme-color, $contrast-threshold);
            }

            .p-menuitem-icon {
                color: contrast-color($theme-color, $contrast-threshold);
                margin-right: .5rem;
            }

            .p-submenu-icon {
                color: contrast-color($theme-color, $contrast-threshold);
            }

            &:focus {
              background: var(--primary-faded);
              color: var(--primary);
            }

            &:not(.p-disabled):hover {
              background: var(--primary-faded);
              color: var(--primary);

                .p-menuitem-text {
                  color: var(--primary);
                }

                .p-menuitem-icon {
                  color: var(--primary);
                }

                .p-submenu-icon {
                  color: var(--primary);
                }
            }
        }

        &.p-menu-overlay {
            background: $theme-color;
            border: 0 none;
            border-radius: var(--eg-border-radius); //: 2px;
            box-shadow: 0 2px 1px -1px #0003, 0 1px 1px var(--box-shadow-one), 0 1px 3px var(--box-shadow-two); // 0 1px 10px 0 var(--box-shadow-three);
        }

        .p-submenu-header {
            margin: 0;
            padding: .75rem .5rem;
            margin:0.4rem;
            color: contrast-color($theme-color, $contrast-threshold);
            background: $theme-color;
            font-weight: 600;
            border-radius: var(--eg-border-radius); //: 2px;
        }

        .p-menu-separator {
            border-top: 1px solid var(--default-grey);
            margin: .25rem 0;
        }

        .p-menuitem {
            margin: 0;

            &:last-child {
                margin: 0;
            }

        }
        .p-menuitem-badge {
            background: var(--primary);
            color: $theme-color;
            font-size: .75rem;
            font-weight: var(--active-font-weight);
            min-width: 1.5rem;
            height: 1.5rem;
            line-height: 1.5rem;

            border-radius: var(--eg-border-radius); //: 2px;
            margin-left: .5rem;
            padding-left: .5rem;
            padding-right: .5rem;
        }
    }

    .p-menubar {
        padding: .5rem;
        background: $theme-color;
        color: contrast-color($theme-color, $contrast-threshold);

        border-radius: var(--eg-border-radius); //: 2px;

        .p-menuitem-link {
            padding: .75rem .5rem;
            margin:0.4rem;
            color: contrast-color($theme-color, $contrast-threshold);

            border-radius: var(--eg-border-radius); //: 5px;

            transition: box-shadow .2s;

            user-select: none;

            .p-menuitem-text {
                color: contrast-color($theme-color, $contrast-threshold);
            }

            .p-menuitem-icon {
                color: contrast-color($theme-color, $contrast-threshold);
                margin-right: .5rem;
            }

            .p-submenu-icon {
                color: contrast-color($theme-color, $contrast-threshold);
            }

            &:focus {
                outline: 0 none;
                outline-offset: 0;

            }

            &:not(.p-disabled):hover {
              background: var(--primary-faded);
              color: var(--primary);

                .p-menuitem-text {
                  color: var(--primary);
                }

                .p-menuitem-icon {
                  color: var(--primary);
                }

                .p-submenu-icon {
                  color: var(--primary);
                }
            }
        }

        .p-submenu-list {
            padding: 0;
            background: $theme-color;
            border: 0 none;
            box-shadow: 0 2px 1px -1px #0003, 0 1px 1px var(--box-shadow-one), 0 1px 3px var(--box-shadow-two); // 0 1px 10px 0 var(--box-shadow-three);
            width: 12.5rem;
            border-radius: var(--eg-border-radius);

            .p-menu-separator {
                border-top: 1px solid var(--default-grey);
                margin: .25rem 0;
            }

            .p-submenu-icon {
                font-size: .875rem;
            }

            .p-menuitem {


                &:last-child {

                }
            }
        }

        .p-menuitem-badge {
            background: var(--primary);
            color: $theme-color;
            font-size: .75rem;
            font-weight: var(--active-font-weight);
            min-width: 1.5rem;
            height: 1.5rem;
            line-height: 1.5rem;
            border-radius: var(--eg-border-radius); //: 2px;
            margin-left: .5rem;
            padding-left: .5rem;
            padding-right: .5rem;
        }

        .p-menubar-root-list>.p-menuitem {
            >.p-menuitem-link {
                padding: .75rem .5rem;
                margin:0.4rem;
                color: contrast-color($theme-color, $contrast-threshold);
                border-radius: var(--eg-border-radius); //: 5px;
                transition: box-shadow .2s;
                user-select: none;

                .p-menuitem-text {
                    color: contrast-color($theme-color, $contrast-threshold);
                }

                .p-menuitem-icon {
                    color: contrast-color($theme-color, $contrast-threshold);
                    margin-right: .5rem;
                }

                .p-submenu-icon {
                    color: contrast-color($theme-color, $contrast-threshold);
                    margin-left: .5rem;
                }

                &:focus {
                    background: var(--primary-faded);
                    color: var(--primary);
                    font-weight: var(--active-font-weight);

                }

                &:not(.p-disabled):hover {
                  background: var(--primary-faded);
                  color: var(--primary);

                    .p-menuitem-text {
                      color: var(--primary);
                    }

                    .p-menuitem-icon {
                      color: var(--primary);
                    }

                    .p-submenu-icon {
                      color: var(--primary);
                    }
                }
            }

            &.p-menuitem-active>.p-menuitem-link {
              background: var(--primary-faded);
              color: var(--primary);
                font-weight: var(--active-font-weight);

                .p-menuitem-text {
                  color: inherit;
                  font-weight: inherit;
                }

                .p-menuitem-icon {
                  color: inherit;
                  font-weight: inherit;
                }

                .p-submenu-icon {
                  color: inherit;
                  font-weight: inherit;
                }

                &:not(.p-disabled):hover {
                  background: var(--primary-faded);
                  color: var(--primary);

                    .p-menuitem-text {
                      color: inherit;
                      font-weight: inherit;

                    }

                    .p-menuitem-icon {
                      color: inherit;
                      font-weight: inherit;
                    }

                    .p-submenu-icon {
                      color: inherit;
                      font-weight: inherit;
                    }
                }

                &.p-menuitem-link-active {
                    background: var(--primary-faded);
                    color: var(--primary);
                    font-weight: bold;
                    .p-menuitem-text {
                        color: var(--primary);
                        font-weight: bold;
                    }

                    .p-menuitem-icon {
                        color: var(--primary);
                        font-weight: bold;
                    }

                    .p-submenu-icon {
                        color: var(--primary);
                        font-weight: bold;
                    }
                }
            }
        }

        .p-menuitem.p-menuitem-active>.p-menuitem-link {
          background: var(--primary-faded);
          color: var(--primary);
          font-weight: var(--active-font-weight);

            .p-menuitem-text {
              color: inherit;
            }

            .p-menuitem-icon {
              color: inherit;
            }

            .p-submenu-icon {
              color: inherit;
            }
        }
    }

    .p-panelmenu {
        .p-panelmenu-header {
            >a {
                padding: 1rem;
                color: contrast-color($theme-color, $contrast-threshold);
                background-color: var(--panel-bg);
                font-weight: 600;
                border-radius: var(--eg-border-radius); //: 2px;
                transition: box-shadow .2s;

                .p-panelmenu-icon {
                    margin-right: .5rem;
                }

                .p-menuitem-icon {
                    margin-right: .5rem;
                }

                &:focus {
                    color: contrast-color($theme-color, $contrast-threshold);
                    font-weight: var(--active-font-weight);
                }
            }

            &.p-highlight {
                margin-bottom: 0;

                >a {
                    background-color: var(--panel-bg);
                    color: contrast-color($theme-color, $contrast-threshold);
                    font-weight: var(--active-font-weight);
                    border-bottom-right-radius: 0;
                    border-bottom-left-radius: 0;
                }

                &:not(.p-disabled)>a:hover {
                    background-color: var(--panel-bg);
                    color: contrast-color($theme-color, $contrast-threshold);
                }
            }

            &:not(.p-highlight):not(.p-disabled)>a:hover {
                background-color: var(--panel-bg);
                color: contrast-color($theme-color, $contrast-threshold);

            }
        }

        .p-panelmenu-content {
            padding: 0;
            /* border: 1px solid var(--border-color); */
            background-color: var(--panel-bg);
            color: contrast-color($theme-color, $contrast-threshold);
            margin-bottom: 4px;
            border-top: 0;
            border-top-right-radius: 0;
            border-top-left-radius: 0;
            border-bottom-right-radius: var(--eg-border-radius);
            border-bottom-left-radius: var(--eg-border-radius);

            .p-menuitem .p-menuitem-link {
                padding: .5rem .25rem;

                color: contrast-color($theme-color, $contrast-threshold);
                border-radius: var(--eg-border-radius); //: 5px;
                transition: box-shadow .2s;
                user-select: none;

                .p-menuitem-text {
                    color: inherit;
                }

                .p-menuitem-icon {
                  color: inherit;
                  margin-right: .5rem;
                }

                .p-submenu-icon {
                  color: inherit;
                }

                &:focus {
                    color: inherit;
                    font-weight: var(--active-font-weight);
                }

                .p-panelmenu-icon {
                    margin-right: .5rem;
                }

                &:not(.p-disabled):hover {
                    background-color: var(--panel-bg);
                    color: inherit;
                    font-weight: var(--active-font-weight);
                    .p-menuitem-text {
                      color: inherit;
                    }

                    .p-menuitem-icon {
                      color: inherit;
                    }

                    .p-submenu-icon {
                      color: inherit;
                    }
                }

                &:not(.p-disabled):focus {
                    background-color: var(--panel-bg);

                    .p-menuitem-text {
                      color: inherit;
                    }

                    .p-menuitem-icon {
                      color: inherit;
                    }

                    .p-submenu-icon {
                      color: inherit;
                    }
                }
            }

            /* RT:  */
            .p-menuitem.active-node{
                .p-menuitem-link{
                    background-color: var(--panel-bg);
                    color: contrast-color($theme-color, $contrast-threshold);
                    font-weight: var(--active-font-weight);
                }
            }

            .p-submenu-list:not(.p-panelmenu-root-submenu) {
                padding: 0 0 0 1rem;
            }
        }

        .p-panelmenu-panel {
            margin-bottom: 4px;
        }

        .p-menuitem-badge {
            background: var(--primary);
            color: $theme-color;
            font-size: .75rem;
            font-weight: var(--active-font-weight);
            min-width: 1.5rem;
            height: 1.5rem;
            line-height: 1.5rem;

            border-radius: var(--eg-border-radius); //: 2px;
            margin-left: .5rem;
            padding-left: .5rem;
            padding-right: .5rem;
        }
    }

    .p-slidemenu {
        padding: 0;
        background: $theme-color;
        color: contrast-color($theme-color, $contrast-threshold);

        border-radius: var(--eg-border-radius); //: 2px;
        width: 13.75rem !important;

        .p-menuitem-link {
            padding: .5rem .25rem;
            margin: 0.4em;
            color: contrast-color($theme-color, $contrast-threshold);

            border-radius: var(--eg-border-radius); //: 5px;

            transition: box-shadow .2s;

            user-select: none;

            .p-menuitem-text {
                color: contrast-color($theme-color, $contrast-threshold);
            }

            .p-menuitem-icon {
                color: contrast-color($theme-color, $contrast-threshold);
                margin-right: .5rem;
            }

            .p-submenu-icon {
                color: contrast-color($theme-color, $contrast-threshold);
            }

            &:focus {
                outline: 0 none;
                outline-offset: 0;
            }

            &:not(.p-disabled):hover {
              background: var(--primary-faded);
              color: var(--primary);

                .p-menuitem-text {
                  color: var(--primary);
                }

                .p-menuitem-icon {
                  color: var(--primary);
                }

                .p-submenu-icon {
                  color: var(--primary);
                }
            }
        }

        &.p-slidemenu-overlay {
            background: $theme-color;
            border: 0 none;

            box-shadow: 0 2px 1px -1px #0003, 0 1px 1px var(--box-shadow-one), 0 1px 3px var(--box-shadow-two); // 0 1px 10px 0 var(--box-shadow-three);
        }

        .p-slidemenu-list {
            padding: 0;
            background: $theme-color;
            border: 0 none;

            box-shadow: 0 2px 1px -1px #0003, 0 1px 1px var(--box-shadow-one), 0 1px 3px var(--box-shadow-two); // 0 1px 10px 0 var(--box-shadow-three);
        }

        .p-slidemenu-separator {
            border-top: 1px solid var(--default-grey);
            margin: .25rem 0;
        }

        .p-slidemenu-icon {
            font-size: .875rem;
        }

        .p-slidemenu-backward {
            padding: .5rem .25rem;
            color: contrast-color($theme-color, $contrast-threshold);
            width: calc(100% - 9.5px);
            //bottom: 0.75rem;
            .p-menuitem-link {

            }
        }

        .p-menuitem-badge {
            background: var(--primary);
            color: $theme-color;
            font-size: .75rem;
            font-weight: var(--active-font-weight);
            min-width: 1.5rem;
            height: 1.5rem;
            line-height: 1.5rem;

            border-radius: var(--eg-border-radius); //: 2px;
            margin-left: .5rem;
            padding-left: .5rem;
            padding-right: .5rem;
        }

        .p-slidemenu.p-slidemenu-active>.p-slidemenu-link {
          background: var(--primary-faded);
          color: var(--primary);

            .p-slidemenu-text {
              color: var(--primary);
            }

            .p-slidemenu-icon {
              color: var(--primary);
            }
        }
    }

    .p-tabmenu {
        .p-tabmenu-nav {
            background: $theme-color;
            border-top-right-radius: var(--eg-border-radius);
            border-top-left-radius: var(--eg-border-radius);

            .p-tabmenuitem {
                margin-right: 0;

                .p-menuitem-link {
                    border: solid var(--border-color);
                    border-width: 0 0 2px 0;
                    border-color: transparent;
                    background: $theme-color;
                    color: contrast-color($theme-color, $contrast-threshold);
                    padding: 1rem;
                    font-weight: normal;
                    border-top-right-radius: var(--eg-border-radius);
                    border-top-left-radius: var(--eg-border-radius);
                    border-bottom: 1px solid var(--default-grey);
                    transition: background-color .3s border-bottom .3s ease-in box-shadow .3s;
                    transform: translateX(0);

                    .p-menuitem-icon {
                        margin-right: .5rem;
                    }

                    &:not(.p-disabled):focus {
                        outline: 0 none;
                        outline-offset: 0;
                    }
                }

                &:not(.p-highlight):not(.p-disabled):hover .p-menuitem-link {
                  background: var(--primary-faded);
                  color: var(--primary);
                    border-bottom: 2px solid var(--primary);
                }

                &.p-highlight .p-menuitem-link {
                  background: var(--primary-faded);
                  color: var(--primary);
                    font-weight: var(--active-font-weight);
                    border-bottom: 2px solid var(--primary);
                }
            }
        }

        .p-tabmenu-left-icon {
            margin-right: .5rem;
        }

        .p-tabmenu-right-icon {
            margin-left: .5rem;
        }

        .p-tabmenu-nav-btn.p-link {
            background: $theme-color;
            color: contrast-color($theme-color, $contrast-threshold);
            width: 2.357rem;

            box-shadow: 0 3px 1px -2px var(--box-shadow-one), 0 2px 2px 0 var(--box-shadow-two), 0 1px 5px 0 var(--box-shadow-three);
            //Instead of the line below you could use @include bo rder-radius : var(--eg-border-radius); //($radius, $vertical-radius)
            border-radius: 0;

            &:focus {
                outline: 0 none;
                outline-offset: 0;

                box-shadow: inset inset 0 0 0 1px var(--primary);
            }

            &:hover {
                background: var(--primary);
                color: var(--primary-contrast);
                outline: 0 none;
                outline-offset: 0;

                box-shadow: inset inset 0 0 0 1px var(--primary);
            }
        }
    }

    .p-tieredmenu {
        padding: 0;
        background: $theme-color;
        color: contrast-color($theme-color, $contrast-threshold);

        border-radius: var(--eg-border-radius); //: 2px;
        width: 12.5rem;

        .p-menuitem-link {
            padding: .75rem .5rem;
            margin:0.4rem;
            color: contrast-color($theme-color, $contrast-threshold);
            border-radius: var(--eg-border-radius); //: 5px;

            transition: box-shadow .2s;

            user-select: none;

            .p-menuitem-text {
                color: contrast-color($theme-color, $contrast-threshold);
            }

            .p-menuitem-icon {
                color: contrast-color($theme-color, $contrast-threshold);
                margin-right: .5rem;
            }

            .p-submenu-icon {
                color: contrast-color($theme-color, $contrast-threshold);
            }

            &:focus {
                outline: 0 none;
                outline-offset: 0;
            }

            &:not(.p-disabled):hover {
                background-color: var(--primary-faded);
                color: var(--primary);
                font-weight: var(--active-font-weight);

                .p-menuitem-text {
                    color:inherit;
                    font-weight: inherit;
                }

                .p-menuitem-icon {
                    color: inherit;
                    font-weight: inherit;
                }

                .p-submenu-icon {
                    color: inherit;
                    font-weight: inherit;
                }
            }
        }

        &.p-tieredmenu-overlay {
            background: $theme-color;
            border: 0 none;

            box-shadow: 0 2px 1px -1px #0003, 0 1px 1px var(--box-shadow-one), 0 1px 3px var(--box-shadow-two); // 0 1px 10px 0 var(--box-shadow-three);
        }

        .p-submenu-list {
            padding: 0;
            background: $theme-color;
            border: 0 none;
            border-radius: var(--eg-border-radius);

            box-shadow: 0 2px 1px -1px #0003, 0 1px 1px var(--box-shadow-one), 0 1px 3px var(--box-shadow-two); // 0 1px 10px 0 var(--box-shadow-three);
        }

        .p-menuitem {


            &:last-child {

            }

            &.p-menuitem-active>.p-menuitem-link {
                background-color: var(--primary-faded);
                color: var(--primary);
                font-weight: var(--active-font-weight);

                .p-menuitem-text {
                  color:inherit;
                  font-weight: inherit;
                }

                .p-menuitem-icon {
                    color: inherit;
                    font-weight: inherit;
                }

                .p-submenu-icon {
                    color: inherit;
                    font-weight: inherit;
                }
            }
        }

        .p-menu-separator {
            border-top: 1px solid var(--default-grey);
            margin: .25rem 0;
        }

        .p-submenu-icon {
            font-size: .875rem;
        }

        .p-menuitem-badge {
            background: var(--primary);
            color: $theme-color;
            font-size: .75rem;
            font-weight: var(--active-font-weight);
            min-width: 1.5rem;
            height: 1.5rem;
            line-height: 1.5rem;

            border-radius: var(--eg-border-radius); //: 2px;
            margin-left: .5rem;
            padding-left: .5rem;
            padding-right: .5rem;
        }
    }

    .p-inline-message {
        padding: .5rem .5rem;
        margin: 0;

        border-radius: var(--eg-border-radius); //: 2px;

        &.p-inline-message-info {
            background: var(--info-faded);
            /* border: 2px solid var(--info); */
            color: var(--info);

            .p-inline-message-icon {
                color: var(--info);
            }
        }

        &.p-inline-message-success {
            background: var(--success-faded);
            /* border: 2px solid var(--success); */
            color: var(--success);

            .p-inline-message-icon {
                color: var(--success)
            }
        }

        &.p-inline-message-warn {
            background: var(--warn-faded);
            /* border: 2px solid var(--warn); */
            color: var(--warn);

            .p-inline-message-icon {
                color: var(--warn)
            }
        }

        &.p-inline-message-error {
            background: var(--danger-faded);
            /* border: 2px solid var(--danger); */
            color: var(--danger);

            .p-inline-message-icon {
                color: var(--danger);
            }
        }

        .p-inline-message-icon {
            font-size: 1rem;
            margin-right: .5rem;
        }

        .p-inline-message-text {
            font-size: 90%;
        }

        &.p-inline-message-icon-only .p-inline-message-icon {
            margin-right: 0;
        }
    }

    .p-message {
        margin: 1rem 0;
        border-radius: var(--eg-border-radius); //: 2px;
        font-size: 90%;

        .p-message-wrapper {
            padding: .5rem;
        }

        .p-message-close {
            width: 2rem;
            height: 2rem;

            border-radius: var(--eg-border-radius);
            background: transparent;

            transition: background-color .2s, color .2s, box-shadow .2s;

            &:hover {
                background: $theme-color;
            }

            &:focus {
                background: $theme-color;
                font-weight: var(--active-font-weight);
            }

            .p-message-close-icon {
                font-size: 1rem;
                vertical-align: top;
            }
        }

        &.p-message-info {
            background: var(--info-faded);
            border: 0 none;
            border-width: 0 0 0 6px;
            color: var(--info);

            .p-message-icon {
                color: var(--info);
                vertical-align: top;
            }

            .p-message-close {
                color: var(--info);
                vertical-align: top;
            }
        }

        &.p-message-success {
            background: var(--success-faded);
            border: 0 none;
            border-width: 0 0 0 6px;
            color: var(--success);

            .p-message-icon {
                color: var(--success);
                vertical-align: top;
            }

            .p-message-close {
                color: var(--success);
                vertical-align: top;
            }
        }

        &.p-message-warn {
            background: var(--warn-faded);
            border: 0 none;
            border-width: 0 0 0 6px;
            color: var(--warn);

            .p-message-icon {
                color: var(--warn);
            }

            .p-message-close {
                color: var(--warn);
            }
        }

        &.p-message-error {
            background: var(--danger-faded);
            border: 0 none;
            border-width: 0 0 0 6px;
            color: var(--danger);

            .p-message-icon {
                color: var(--danger);
            }

            .p-message-close {
                color: var(--danger);
            }
        }

        .p-message-text {
            font-size: 90%;
            font-weight: 500;
        }

        .p-message-icon {
            font-size: 1rem;
            margin-right: .5rem;
        }

        .p-message-summary {
            font-weight: var(--active-font-weight);
        }

        .p-message-detail {
            margin-left: .5rem;
            margin-right: .5rem;
        }
    }

    .p-toast {
        opacity: .9;
        font-size: 90%;

        .p-toast-message {
            margin: 0 0 1rem 0;

            box-shadow: 0 2px 1px -1px #0003, 0 1px 1px var(--box-shadow-one), 0 1px 3px var(--box-shadow-two); // 0 1px 10px 0 var(--box-shadow-three);

            border-radius: var(--eg-border-radius); //: 2px;

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

                .p-toast-message-text {
                    margin: 0 0 0 1rem;
                }

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

                .p-toast-summary {
                    font-weight: 600;
                }

                .p-toast-detail {
                    margin: .5rem 0 0 0;
                }
            }

            .p-toast-icon-close {
                width: 1.25rem;
                height: 1.25rem;

                border-radius: var(--eg-border-radius); //: 2px;
                background: transparent;

                transition: background-color .2s, color .2s, box-shadow .2s;

                &:hover {
                    background: $theme-color;
                }

                &:focus {
                    background: $theme-color;
                    font-weight: var(--active-font-weight);
                }
            }

            &.p-toast-message-info {
                background: var(--info-faded);
                border: 0 none;
                border-width: 0 0 0 6px;
                color: var(--info);

                .p-toast-message-icon {
                    color: var(--info);
                }

                .p-toast-icon-close {
                    color: var(--info);
                }
            }

            &.p-toast-message-success {
                background: var(--success-faded);
                border: 0 none;
                border-width: 0 0 0 6px;
                color: var(--success);

                .p-toast-message-icon {
                    color: var(--success);
                }

                .p-toast-icon-close {
                    color: var(--success);
                }
            }

            &.p-toast-message-warn {
                background: var(--warn-faded);
                border: 0 none;
                border-width: 0 0 0 6px;
                color: var(--warn);

                .p-toast-message-icon {
                    color: var(--warn);
                }

                .p-toast-icon-close {
                    color: var(--warn);
                }
            }

            &.p-toast-message-error {
                background: var(--danger-faded);
                border: 0 none;
                border-width: 0 0 0 6px;
                color: var(--danger);

                .p-toast-message-icon {
                    color: var(--danger);
                }

                .p-toast-icon-close {
                    color: var(--danger);
                }
            }
        }

        .p-toast-icon-close-icon {
            font-size: 90%;
        }
    }

    .p-galleria {
        .p-galleria-close {
            margin: .5rem;
            background: transparent;
            color: var(--default-grey);
            width: 4rem;
            height: 4rem;

            transition: background-color .2s, color .2s, box-shadow .2s;

            border-radius: var(--eg-border-radius); //: 50%;

            .p-galleria-close-icon {
                font-size: 2rem;
            }

            &:hover {
                background: $theme-color;
                color: var(--default-grey);
            }
        }

        .p-galleria-item-nav {
            background: transparent;
            color: var(--default-grey);
            width: 4rem;
            height: 4rem;

            transition: background-color .2s, color .2s, box-shadow .2s;

            border-radius: var(--eg-border-radius); //: 2px;
            margin: 0 .5rem;

            .p-galleria-item-prev-icon {
                font-size: 2rem;
            }

            .p-galleria-item-next-icon {
                font-size: 2rem;
            }

            &:not(.p-disabled):hover {
              background: var(--primary-faded);
              color: var(--primary);
                font-weight: var(--active-font-weight);
            }
        }

        .p-galleria-caption {
            background: var(--default-grey);
            color: contrast-color($theme-color, $contrast-threshold);
            padding: 1rem;
        }

        .p-galleria-indicators {
            padding: 1rem;

            .p-galleria-indicator {
                button {
                    background: var(--default-grey);
                    color: contrast-color($theme-color, $contrast-threshold);
                    width: 1rem;
                    height: 1rem;

                    transition: background-color .2s, color .2s, box-shadow .2s;

                    border-radius: var(--eg-border-radius); //: 50%;

                    &:hover {
                        background: var(--primary-faded);
                    }
                }

                &.p-highlight button {
                  background: var(--primary-faded);
                  color: var(--primary);
                    font-weight: var(--active-font-weight);
                }
            }
        }

        .p-galleria-thumbnail-container {
            background: var(--default-grey);
            padding: 1rem .25rem;

            .p-galleria-thumbnail-prev {
                margin: .5rem;
                background-color: transparent;
                color: var(--default-grey);
                width: 2rem;
                height: 2rem;

                transition: background-color .2s, color .2s, box-shadow .2s;

                border-radius: var(--eg-border-radius); //: 50%;

                &:hover {
                    background: $theme-color;
                    color: var(--default-grey);
                }
            }

            .p-galleria-thumbnail-next {
                margin: .5rem;
                background-color: transparent;
                color: var(--default-grey);
                width: 2rem;
                height: 2rem;

                transition: background-color .2s, color .2s, box-shadow .2s;

                border-radius: var(--eg-border-radius); //: 50%;

                &:hover {
                    background: $theme-color;
                    color: var(--default-grey);
                }
            }

            .p-galleria-thumbnail-item-content:focus {
                outline: 0 none;
                outline-offset: 0;
                border: 1px solid var(--border-color);
            }
        }

        &.p-galleria-indicators-bottom .p-galleria-indicator {
            margin-right: .5rem;
        }

        &.p-galleria-indicators-top .p-galleria-indicator {
            margin-right: .5rem;
        }

        &.p-galleria-indicators-left .p-galleria-indicator {
            margin-bottom: .5rem;
        }

        &.p-galleria-indicators-right .p-galleria-indicator {
            margin-bottom: .5rem;
        }

        &.p-galleria-indicator-onitem .p-galleria-indicators {
            background: $theme-color;

            .p-galleria-indicator {
                button {
                    color: contrast-color($theme-color, $contrast-threshold);
                    background: var(--default-grey);

                    &:hover {
                        color: contrast-color($theme-color, $contrast-threshold);
                        background: var(--default-grey);
                    }
                }

                &.p-highlight button {
                    color: contrast-color($theme-color, $contrast-threshold);
                    background: var(--default-grey);
                    font-weight: var(--active-font-weight);
                }
            }
        }
    }

    .p-galleria-mask {}

    .p-image-mask {}

    .p-image-preview-indicator {
        background-color: transparent;
        color: var(--primary-contrast);

        transition: background-color .2s, color .2s, box-shadow .2s;
    }

    .p-image-toolbar {
        padding: 1rem;
    }

    .p-avatar {
        background-color: var(--default-grey);

        border-radius: 10px; //: 2px;

        &.p-avatar-lg {
            width: 3rem;
            height: 3rem;
            font-size: 1.5rem;

            .p-avatar-icon {
                font-size: 1.5rem;
            }
        }

        &.p-avatar-xl {
            width: 4rem;
            height: 4rem;
            font-size: 2rem;

            .p-avatar-icon {
                font-size: 2rem;
            }
        }

        /* RT: */
        &.p-avatar-xxl {
            width: 8rem !important;
            height: 8rem !important;
            font-size: 4rem !important;

            .p-avatar-icon {
                font-size: 4rem !important;
            }
        }
    }

    .p-badge {
        background: var(--primary);
        color: $theme-color;
        font-size: .75rem;
        font-weight: var(--active-font-weight);
        min-width: 1.5rem;
        height: 1.5rem;
        line-height: 1.5rem;

        &.p-badge-secondary {
            background-color: var(--secondary);
            color: var(--success-contrast);
        }

        &.p-badge-success {
            background-color: var(--success);
            color: var(--success-contrast);
        }

        &.p-badge-info {
            background-color: var(--info);
            color: var(--info-contrast);
        }

        &.p-badge-warning {
            background-color: var(--warn);
            color: var(--warn-contrast);
        }

        &.p-badge-danger {
            background-color: var(--danger);
            color: var(--danger-contrast);;
        }

        &.p-badge-lg {
            font-size: 1.125rem;
            min-width: 2.25rem;
            height: 2.25rem;
            line-height: 2.25rem;
        }

        &.p-badge-xl {
            font-size: 1.5rem;
            min-width: 3rem;
            height: 3rem;
            line-height: 3rem;
        }
    }

    .p-chip {
        background-color: var(--default-grey);
        color: contrast-color($theme-color, $contrast-threshold);

        border-radius: 16px;
        padding: 0 .5rem;

        .p-chip-text {
            line-height: 1.5;
            margin-top: .25rem;
            margin-bottom: .25rem;
        }

        .p-chip-icon {
            margin-right: .5rem;
        }

        .pi-chip-remove-icon {
            margin-left: .5rem;
            border-radius: var(--eg-border-radius); //: 2px;
            transition: background-color .2s, color .2s, box-shadow .2s;

            &:focus {
              background: var(--primary-faded);
              color: var(--primary);
                font-weight: var(--active-font-weight);
            }
        }

        img {
            width: 2rem;
            height: 2rem;
            margin-left: -0.5rem;
            margin-right: .5rem;
        }
    }

    .p-progressbar {
        border: 0 none;
        height: 2px;
        background: var(--default-grey);

        border-radius: var(--eg-border-radius); //: 2px;

        .p-progressbar-value {
            border: 0 none;
            margin: 0;
            background: var(--primary);
        }

        .p-progressbar-label {
            color: $theme-color;
            line-height: 2px;
        }
    }

    .p-scrolltop {
        width: 3rem;
        height: 3rem;

        border-radius: 50%; //: 2px;

        box-shadow: var(--box-shadow-one) 0 3.2px 7.2px 0, var(--box-shadow-two) 0 .6px 1.8px 0;

        transition: background-color .2s, color .2s, box-shadow .2s;

        &.p-link {
            background: var(--primary);
            color: var(--primary-contrast);

            &:hover {
                background: var(--primary-faded);
                color: var(--primary);
            }
        }

        .p-scrolltop-icon {
            font-size: 1.5rem;
        }
    }

    .p-skeleton {
        background-color: var(--default-grey);

        border-radius: var(--eg-border-radius); //: 2px;

        &:after {
            background: linear-gradient(90deg, rgba(255, 255, 255, 0), $theme-color, rgba(255, 255, 255, 0));
        }
    }

    .p-tag {
        background: var(--primary);
        color: $theme-color;
        font-size: .75rem;
        font-weight: var(--active-font-weight);
        padding: .25rem .4rem;

        border-radius: var(--eg-border-radius); //: 2px;

        &.p-tag-success {
            background-color: var(--success);
            color: var(--success-contrast);
        }

        &.p-tag-info {
            background-color: var(--info);
            color: var(--info-contrast);
        }

        &.p-tag-warning {
            background-color: var(--warn);
            color: var(--warn-contrast);
        }

        &.p-tag-danger {
            background-color: var(--danger);
            color: var(--danger-contrast);;
        }

        .p-tag-icon {
            margin-right: .25rem;
            font-size: .75rem;
        }
    }

    .p-terminal {
        background: $theme-color;
        color: contrast-color($theme-color, $contrast-threshold);
        border: 1px solid var(--border-color);
        padding: 1rem;

        .p-terminal-input {
            font-size: 1rem;
        }
    }

    .p-button-label {
        font-weight: 600;
    }

    .p-submenu-icon {
        color: contrast-color($theme-color, $contrast-threshold)  !important;
    }

    .p-progressbar-label {
        display: none !important;
    }

    p-checkbox.ng-dirty.ng-invalid>.p-checkbox>.p-checkbox-box {
        border-color: var(--danger);
    }

    .p-chips .p-chips-multiple-container {
        padding: .25rem .5rem;

        .p-chips-token {
            padding: .25rem .5rem;
            margin-right: .5rem;
            background: var(--default-grey);
            color: contrast-color($theme-color, $contrast-threshold);

            border-radius: var(--eg-border-radius); //: 2px;

            .p-chips-token-icon {
                margin-left: .5rem;
            }
        }

        .p-chips-input-token {
            padding: .25rem 0;

            input {
                font-size: 1rem;
                color: contrast-color($theme-color, $contrast-threshold);
                padding: 0;
                margin: 0;
            }
        }

        &.p-disabled {
            background-color: var(--default-grey);
            border-color: var(--disabled-color);
            color: var(--border-color);
            opacity: 1;

            user-select: none;
        }

        &:not(.p-disabled) {
            &:hover {
                border-color: var(--primary);
            }

            &.p-focus {
                outline: 0 none;
                outline-offset: 0;
                border: 1px solid var(--primary);
            }
        }
    }

    p-dropdown.ng-dirty.ng-invalid>.p-dropdown {
        border-color: var(--danger);
    }

    p-inputswitch.ng-dirty.ng-invalid>.p-inputswitch {
        border-color: var(--danger);
    }

    .p-inputtext-sm .p-inputtext {
        font-size: .875rem;
        padding: .4375rem .4375rem;
    }

    .p-inputtext-lg .p-inputtext {
        font-size: 1.25rem;
        padding: .625rem .625rem;
    }

    p-listbox.ng-dirty.ng-invalid>.p-listbox {
        border-color: var(--danger);
    }

    p-radiobutton.ng-dirty.ng-invalid>.p-radiobutton>.p-radiobutton-box {
        border-color: var(--danger);
    }

    .p-selectbutton .p-button {
        background: $theme-color;
        border: 1px solid var(--border-color);
        color: contrast-color($theme-color, $contrast-threshold);

        transition: background-color .2s, color .2s, border-color .2s, box-shadow .2s;

        .p-button-icon-left {
            color: contrast-color($theme-color, $contrast-threshold);
        }

        .p-button-icon-right {
            color: var(--primary);
        }

        &.p-highlight {
          background: var(--primary-faded);

            border-color: var(--primary);
            color: var(--primary);

            .p-button-icon-left {
                color: var(--primary);
            }

            .p-button-icon-right {
                color: var(--primary);
            }

            &:hover {
              background: var(--primary-faded);

                border-color: var(--primary);
                color: var(--primary);

                .p-button-icon-left {
                    color: var(--primary);
                }

                .p-button-icon-right {
                    color: var(--primary);
                }
            }
        }

        &:not(.p-disabled):not(.p-highlight):hover {
          background: var(--primary-faded);

            border-color: var(--primary);
            color: var(--primary);

            .p-button-icon-left {
                color: var(--primary);
            }

            .p-button-icon-right {
                color: var(--primary);
            }
        }
    }

    p-selectbutton.ng-dirty.ng-invalid>.p-selectbutton>.p-button {
        border-color: var(--danger);
    }

    .p-togglebutton.p-button {
        background: var(--primary);
        color: var(--primary-contrast);

        transition: background-color .2s, color .2s, border-color .2s, box-shadow .2s;

        .p-button-icon-left {
            color: var(--primary-contrast);
        }

        .p-button-icon-right {
            color: var(--primary-contrast);
        }

        &.p-highlight {
            background: var(--primary);
            color: var(--primary-contrast);

            .p-button-icon-left {
                color: var(--primary-contrast);
            }

            .p-button-icon-right {
                color: var(--primary-contrast);
            }

            &:hover {
                background: var(--primary-faded);
                color: var(--primary);

                .p-button-icon-left {
                    color: var(--primary);
                }

                .p-button-icon-right {
                    color: var(--primary);
                }
            }
        }

        &:not(.p-disabled):not(.p-highlight):hover {
            background: var(--primary-faded);
            color: var(--primary);

            .p-button-icon-left {
                color: var(--primary);
            }

            .p-button-icon-right {
                color: var(--primary);
            }
        }
    }

    p-togglebutton.ng-dirty.ng-invalid>.p-togglebutton.p-button {
        border-color: var(--danger);
    }

    .p-speeddial-button.p-button.p-button-icon-only {
        width: 4rem;
        height: 4rem;

        .p-button-icon {
            font-size: 1.3rem;
        }
    }

    .p-speeddial-direction-up .p-speeddial-item {
        margin: .25rem 0;

        &:first-child {
            margin-bottom: .5rem;
        }
    }

    .p-speeddial-direction-down .p-speeddial-item {
        margin: .25rem 0;

        &:first-child {
            margin-top: .5rem;
        }
    }

    .p-speeddial-direction-left .p-speeddial-item {
        margin: 0 .25rem;

        &:first-child {
            margin-right: .5rem;
        }
    }

    .p-speeddial-direction-right .p-speeddial-item {
        margin: 0 .25rem;

        &:first-child {
            margin-left: .5rem;
        }
    }

    .p-speeddial-circle .p-speeddial-item {
        margin: 0;

        &:first-child {
            margin: 0;
        }

        &:last-child {
            margin: 0;
        }
    }

    .p-speeddial-semi-circle .p-speeddial-item {
        margin: 0;

        &:first-child {
            margin: 0;
        }

        &:last-child {
            margin: 0;
        }
    }

    .p-speeddial-quarter-circle .p-speeddial-item {
        margin: 0;

        &:first-child {
            margin: 0;
        }

        &:last-child {
            margin: 0;
        }
    }

    .p-orderlist-item.cdk-drag-preview {
        padding: .75rem .5rem;
        margin:0.4rem;
        box-shadow: var(--box-shadow-one) 0 3.2px 7.2px 0, var(--box-shadow-two) 0 .6px 1.8px 0;
        border: 1px solid transparent;
        color: contrast-color($theme-color, $contrast-threshold);
        background: $theme-color;
        margin: 0;
    }

    .p-picklist-item.cdk-drag-preview {
        padding: .75rem .5rem;
        margin:0.4rem;
        box-shadow: var(--box-shadow-one) 0 3.2px 7.2px 0, var(--box-shadow-two) 0 .6px 1.8px 0;
        border: 1px solid transparent;
        color: contrast-color($theme-color, $contrast-threshold);
        background: $theme-color;
        margin: 0;
    }

    .p-scrollpanel {
        /* RT */
        p {
            padding: .5rem;
            line-height: 1.5;
            margin: 0;
        }

        &.custombar-y {
			.p-scrollpanel-wrapper {
                border-right: 9px solid var(--layer-1);
			}

			.p-scrollpanel-bar {
				background-color: var(--primary-200);
				opacity: 1;
				transition: background-color .2s;
				width: 5px !important;

				&:hover {
                    background-color: var(--primary-300);
				}

				&.p-scrollpanel-bar-y{
					visibility: hidden;
				}
			}

			&:hover {
				.p-scrollpanel-bar-y{
					visibility: visible !important;
				}
		}
	    }

        &.custombar1 {
            .p-scrollpanel-wrapper {
                border-right: 9px solid var(--layer-1);
            }

            .p-scrollpanel-bar {
                background-color: var(--primary-color);
                opacity: 1;
                transition: background-color .2s;

                &:hover {
                    background-color: #007ad9;
                }
            }
        }

        &.custombar2 {
            .p-scrollpanel-wrapper {
                border-right: 9px solid var(--layer-1);
                border-bottom: 9px solid var(--layer-1);
            }

            .p-scrollpanel-bar {
                background-color: var(--layer-2);
                border-radius: 0;
                opacity: 1;
                transition: background-color .2s;
            }
        }
    }
    .p-scrollpanel .p-scrollpanel-bar {
        background: var(--default-grey);
        border: 0 none;
    }

    .p-fileupload-choose:not(.p-disabled) {
        &:hover {
            background: var(--primary) ;
            color: var(--primary-contrast);
            border-color: var(--primary) ;
        }

        &:active {
            background: var(--primary) ;
            color: var(--primary-contrast);
            border-color: var(--primary) ;
        }
    }

    .p-steps .p-steps-item {
        .p-menuitem-link {

            transition: box-shadow .2s;
            border-radius: var(--eg-border-radius); //: 5px;
            background: $theme-color;

            .p-steps-number {
                color: contrast-color($theme-color, $contrast-threshold);
                background: var(--default-grey);
                min-width: 2rem;
                height: 2rem;
                line-height: 2rem;
                font-size: 1.143rem;
                z-index: 1;

                border-radius: 50%;
            }

            .p-steps-title {
                margin-top: .5rem;
                color: contrast-color($theme-color, $contrast-threshold);
            }

            &:not(.p-disabled):hover {
                cursor: pointer;

                .p-steps-number {
                    background: var(--primary-faded);
                    font-weight: var(--active-font-weight);
                    color: var(--primary);
                }

                .p-steps-title {
                    font-weight: var(--active-font-weight);
                    color: var(--primary);
                }
            }

            &:not(.p-disabled):focus {
                outline: 0 none;
                outline-offset: 0;
            }
        }

        &.p-highlight {
            .p-steps-number {
                background: var(--primary-faded);
                font-weight: var(--active-font-weight);
                color: var(--primary);
            }

            .p-steps-title {
                font-weight: var(--active-font-weight);
                color: var(--primary);
            }
        }

        &:before {
            content: " ";
            border-top: 1px solid var(--default-grey);
            width: 100%;
            top: 50%;
            left: 0;
            display: block;
            position: absolute;
            margin-top: -1rem;
        }
    }

    .p-image-preview-container:hover>.p-image-preview-indicator {
        background-color: var(--default-grey)
    }

    .p-image-action.p-link {
        color: var(--primary-contrast);
        background-color: transparent;
        width: 3rem;
        height: 3rem;

        border-radius: 50%;

        transition: background-color .2s, color .2s, box-shadow .2s;
        margin-right: .5rem;

        &:last-child {
            margin-right: 0;
        }

        &:hover {
            color: var(--primary-contrast);
            background-color: $theme-color;
        }

        i {
            font-size: 1.5rem;
        }
    }

    .p-avatar-group .p-avatar {
        border: 2px solid $theme-color;
    }

    .p-inplace .p-inplace-display {
        padding: .5rem .5rem;

        border-radius: var(--eg-border-radius); //: 2px;

        transition: background-color .2s, color .2s, border-color .2s, box-shadow .2s;

        &:focus {
            outline: 0 none;
            outline-offset: 0;
            border: 1px solid var(--primary);
        }

        &:not(.p-disabled):hover {
          background: var(--primary-faded);

            color: var(--primary);
            font-weight: var(--active-font-weight);
        }
    }

    .p-menuitem-active .p-submenu-icon {
      color: var(--primary);
    }
