:root {
    --blue: #1e90ff;
    --white: #ffffff;
}


.nuSelect_focus,
tr.nuSelect_focus td {
    background-color: #EFFF82 !important;
}

.nuSelect_item {
    cursor: pointer;

    .nuSelect_checkbox {
        width: 10px;
    }
}

.nuSelect_dropdown {
    overflow: auto;
    min-width: 100px;

    ul {
        margin: 0;
        padding: 0;

        li {
            border-top: 1px solid var(--main-grey);
            line-height: var(--line-height);
            padding: var(--padding-small) var(--padding-medium) var(--padding-small) var(--padding-medium);
            vertical-align: top;

            &:nth-child(odd) {
                background-color: var(--light-grey);
            }

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

.nuSelect2 {
    display: flex;
    flex-wrap: wrap;
    min-height: 18px; /* modified - możliwe że to trzeba tylko dla tabelek */
    margin: 0;
    padding: 1px;
    width: 100%;
    box-sizing: border-box;
    color: var(--text-color);
    border: 1px solid var(--border-color);
    border-radius: var(--border-radius);
    background: #fff;
    cursor: pointer;

    &.nuSelect2_single {
        .nuSelect2_selectedItem {
            width: 100%;
            margin-right: 0;
            padding-right: 2px;

            .nuSelect2_selectedItem_remove {
                margin-left: auto;
            }
        }
    }

    .nuSelect2_selectedItem {
        background: var(--main-grey);
        padding: 1px 2px;
        line-height: 9px; /* modified - możliwe że to trzeba tylko dla tabelek */
        margin-right: 2px;
        border: 1px solid #d9d9d9;
        font-size: var(--font-size-small);
        display: flex;
        position: relative;

        &:hover {
            background: #e2e2e2;
        }

        .nuSelect2_selectedItem_text {
            line-height: 10px;
            font-size: 11px;
        }

        .nuSelect2_selectedItem_remove {
            display: block;
            width: 15px;
            background: var(--main-grey);
            border-radius: var(--border-radius);
            margin-left: 4px;
            border: 1px solid white;
            position: relative;
            cursor: pointer;


            &:before,
            &:after {
                display: block;
                position: absolute;
                left: 6px;
                top: 2px;
                content: ' ';
                height: 9px;
                width: 1px;
                background-color: #707070;
            }

            &:before {
                transform: rotate(45deg);
            }

            &:after {
                transform: rotate(-45deg);
            }

            &:hover {
                background: var(--main-red);

                &:before,
                &:after {
                    background-color: #fff;
                }
            }
        }
    }
}

.nuSelect2_dropdown {
    display: flex;
    border: 1px solid #74b9ef;
    padding: 0;
    box-shadow: 0 3px 15px -5px var(--shadow-color);
    box-sizing: border-box;
    background-color: #fff;
    z-index: 500;
    position: absolute;
    border-radius: var(--border-radius);
    flex-direction: column;

    .nuSelect2_dropdown_input {
        margin: var(--padding-small);
        width: auto;
    }

    .nuSelect2_dropdown_button {
        display: block;
        box-sizing: border-box;
        margin: var(--padding-small);
        padding: 5px;
        text-align: center;
        background: var(--main-grey);
        border: none;
        border-radius: var(--border-radius);
        cursor: pointer;
    }

    .nuSelect2_dropdown_results {
        border-top: 1px solid #74b9ef;

        ul {
            margin: 0;
            padding: 0;

            li {
                display: flex;
                box-sizing: border-box;
                padding: 5px;
                background-color: #fff;
                border-bottom: 1px solid #f4f4f4;

                &:focus {
                    outline: none;
                }

                &:nth-child(odd) {
                    background-color: #fcfcfc;
                }

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

                .nuSelect2_checkbox {
                    width: 16px;
                    height: 16px;
                    margin-right: 5px;
                    cursor: pointer;
                    background: #fff;
                    border-radius: var(--border-radius);

                    &:before {
                        content: "";
                        display: block;
                        border-radius: var(--border-radius);
                        width: 12px;
                        height: 12px;
                        margin: 2px;
                        background: var(--main-grey);
                        opacity: 0.2;
                    }

                    &:hover:before {
                        background: var(--main-green);
                        opacity: 1;
                    }
                }

                .nuSelect2_text {
                    flex-grow: 1;
                }

                .nuSelect2_color {
                    border-radius: 50%;
                    width: 15px;
                    height: 15px;
                    display: block;
                    border: 1px solid var(--main-grey);
                }

                &.checked .nuSelect2_checkbox:before {
                    background: var(--main-green);
                    opacity: 1;
                }

                &.checked-soft .nuSelect2_checkbox:before {
                    background: var(--main-green);
                    opacity: 0.5;
                }

                &.checked-soft.checked .nuSelect2_checkbox:before {
                    background: var(--main-red);
                    opacity: 0.3;
                }
            }
        }
    }
}

table {
    .nuSelect2 {
        &.nuSelect2_single {
            & .nuSelect2_selectedItem {
                .nuSelect2_selectedItem_remove {
                    &:before,
                    &:after {
                        top: 0;
                    }
                }
            }
        }
    }
}


.nuSelect2-mobile {

    .nuSelect2_input_container {
        display: flex;
        align-items: center;
        padding: 10px;
        background: #fff;
        border-bottom: 1px solid #eee;
    }

    .nuSelect2_dropdown_input {
        flex: 1;
    }

    .nuSelect2_mobile_close {
        display: none;
        border: none;
        background: none;
        font-size: 24px;
        padding: 0 10px;
        color: #666;
        cursor: pointer;
    }

    @media (max-width: 768px) {
         .nuSelect2_mobile_close {
            display: block;
        }
    }


}

