.facetwp-template { display: none; }
.facetwp-template.visible { display: block; }

.rs_bookshelf_outer {
    --bs-yellow: #ffb230;
    --bs-purple: #7e3f98;
    --bs-black: #000000;
    --bs-white: #ffffff;
    --bs-shade: rgba(255, 255, 255, .15);
    --bs-darkgray: #202020;
    --bs-gray: #4D5C6D;
    --bs-lightgray: #E7E9EC;
    --bs-light-yellow: #FFF4DF;
    --bs-light-purple: #dfc9e8;

    max-width: 1180px;
    margin: 10px auto;
    padding: 10px 15px;
    border-color: var(--bs-purple);
    border-radius: 10px;
    border-style: solid;
    background-color: var(--bs-white);
    color: var(--bs-purple);
    vertical-align: top;
}

.rs_bookshelf_header_image {
    max-width: 80%;
}

.rs_bookshelf_grid {

}

.rs_facet_wrapper {
    display: flex;
    flex-direction: row;
    align-content: flex-start;
    flex-wrap: wrap;
    justify-content: flex-start;
    align-items: flex-start;
    column-gap: 10px;
    row-gap: 0;
    margin: 0 0 5px 0;
    padding: 5px 10px;
    border-color: var(--bs-purple);
    border-radius: 10px;
    border-style: solid;
    border-width: 2px;
}

.rs_facet {
    align-self: flex-start;
    flex-grow: 1;
    margin: 0;
    padding: 2px 5px;
    xcolor: #ffb230;
    color: var(--bs-purple);
    xbackground-color: var(--bs-purple);
    border-color: var(--bs-purple);
    border-radius: 10px;
    border-style: none;
    display: inline-block;
    position: relative;
}

.rs_facet .rs_label {
    font-weight: 600;
    margin: 0 5px 0 0;
}

.rs_facet .fs-label-wrap, .rs_facet input {
    background-color: var(--bs-lightgray);
    color: var(--bs-purple);
}

.rs_facet > .facetwp-facet, .facetwp-selections ul {
    margin-bottom: 0px;
}

.rs_facet > .facetwp-facet-search {
    margin-bottom: 6px;
}

.fs-wrap, .rs_facet > .facetwp-facet, .facetwp-input-wrap, .rs_facet > .facetwp-selections {
    width: 100% !important;
}

#rs_fs_gl {
    order: 10;
}

#rs_fs_pl {
    order: 20;
}

#rs_fs_pc {
    order: 30;
}

#rs_fs_search {
    order: 40;
}

#rs_fs_dg {
    order: 50;
}

#rs_fs_sel {
    order: 60;
}

@media screen and (min-width: 700px) {
    .rs_facet_wide {
        flex-basis: 400px;
        min-width: 400px;
    }

    .rs_facet_mid {
        flex-basis: 250px;
        min-width: 250px;
    }

    .rs_facet_narrow {
        flex-basis: 200px;
        min-width: 200px;
    }
}

@media screen and (max-width: 700px) {
    .rs_facet_wide {
        flex-basis: 100%;
        min-width: 450px;
    }

    .rs_facet_mid {
        flex-basis: 45%;
        min-width: 250px;
    }

    .rs_facet_narrow {
        flex-basis: 45%;
        min-width: 200px;
    }

}

@media screen and (max-width: 500px) {
    .rs_facet_wide {
        width: 100%;
        min-width: auto;
    }

    .rs_facet_mid {
        flex-basis: 100%;
        min-width: auto;
    }

    .rs_facet_narrow {
        width: 100%
        min-width: auto;
    }

}

.rs_facet .facetwp-search {
    height: 30px;
    width: 100%;
    vertical-align: top;
    margin-bottom: 10px;
    padding: 5px 10px;
}

.rs_facet_reset {
    color: var(--bs-yellow);
    position: absolute;
    bottom: 5px;
    right: 5px;
    font-weight: bold;
}

.rs_facet_reset button {
    color: var(--bs-purple);
    background-color: var(--bs-yellow);
    padding: 5px 10px;
    border-radius: 10px;
    border-style: none;
}


.rs_b_gl, .rs_b_gl h2 {
    background-color: var(--bs-purple);
    color: var(--bs-white);
    border-color: var(--bs-purple);
    border-radius: 10px;
    border-style: none;
    margin: 10px 0;
    padding: 5px;
}

.rs_b_dg, .rs_b_dg h3 {
    background-color: var(--bs-white);
    color: var(--bs-black);
    xborder-color: var(--bs-white);
    border-radius: 10px;
    border-style: none;
    border-width: 2px;
    margin: 5px;
    padding: 2px;
}

.rs_b_pl, .rs_b_pl h4 {
    background-color: var(--bs-white);
    color: black;
    border-color: black;
    border-radius: 5px;
    border-style: solid;
    border-width: 2px;
    margin: 5px;
    padding: 2px 10px;
    vertical-align: top;
}

.rs_b_pl h4 {
    font-weight: bolder;
}

.xrs_b_i_wrap {
    display: flex;
    flex-direction: row;
    align-content: flex-start;
    flex-wrap: wrap;
    justify-content: flex-start;
    align-items: flex-start;
    column-gap: 10px;
    row-gap: 5px;
    margin: 10px 0 10px 5px;
    padding: 5px;
    border-color: black;
    border-radius: 5px;
    border-style: none;
    border-width: 2px;
    background-color: rgba(255, 255, 255, .15);
    color: black;
}

.xrs_b_i {
    display: flex;
    flex: 1;
    background-color: var(--bs-light-yellow);
    color: var(--bs-purple);
    border-color: var(--bs-yellow);
    border-radius: 5px;
    border-style: none;
    border-width: 1px;
    margin: 0;
    padding: 2px 5px;
    position: relative;
    min-width: 350px;
}

.rs_b_i_content {
    width: 100%;
    height: 100%;
}


.rs_b_i_wrap {
    display: grid;
    overflow: hidden;
    grid-template-columns: repeat(4, 1fr);
    grid-auto-rows: 1fr;
    grid-column-gap: 5px;
    grid-row-gap: 5px;
    max-width: 100%;
    flex-direction: row;
    column-gap: 10px;
    row-gap: 5px;
    margin: 10px 0 10px 5px;
    padding: 5px;
    border-color: black;
    border-radius: 5px;
    border-style: none;
    border-width: 2px;
    background-color: rgba(255, 255, 255, .15);
    color: black;
}
.rs_b_i {
    xbackground-color: #ccc;
    display: flex;
    width: 100%;
    background-color: var(--bs-light-yellow);
    color: var(--bs-purple);
    border-color: var(--bs-yellow);
    border-radius: 5px;
    border-style: none;
    border-width: 1px;
    margin: 0;
    padding: 2px 30px 2px 5px;
    position: relative;
}

.rs_b_i_content {
    width: 100%;
    display: inline-block;
    vertical-align: top;
}

@media screen and (min-width: 900px) {
    .rs_b_i_wrap {
        grid-template-columns: repeat(3, 1fr);
    }
}
@media screen and (max-width: 899px) {
    .rs_b_i_wrap {
        grid-template-columns: repeat(2, 1fr);
    }
}
@media screen and (max-width: 500px) {
    .rs_b_i_wrap {
        grid-template-columns: repeat(1, 1fr);
    }
}

.eb_bi_actions_tr {
    xwidth: 30px;
    position: absolute;
    top: 0;
    right: 0;
    padding: 5px;
}

.eb_bi_actions_tl {
    xwidth: 30px;
    position: absolute;
    top: 0;
    left: 0;
    padding: 5px;
}

.eb_bi_actions_br {
    xwidth: 30px;
    position: absolute;
    bottom: 0;
    right: 0;
    padding: 5px;
}

.eb_bi_actions_bl {
    xwidth: 30px;
    position: absolute;
    bottom: 0;
    left: 0;
    padding: 5px;
}

.eb_bi_actions_tr:hover, .eb_bi_actions_br:hover, .eb_bi_actions_tl:hover, .eb_bi_actions_bl:hover {
    background-color: var(--bs-purple);
    color: var(--bs-light-yellow);
}

[class^="icon-"], [class*=" icon-"] {
    display: inline-block;
    width: 100%;
}

.eb_bi_actions_tr i, .eb_bi_actions_br i, .eb_bi_actions_tl i, .eb_bi_actions_bl i {
    width: 30px;
    padding: 0;
    margin: 0;
    text-align: center;
}

.rs_bi_locked {
    content: url("/wp-content/uploads/2023/01/Locked_purple.png");
    width: 20px;
    position: absolute;
    bottom: 2px;
    right: 2px;
}

.rs_bi_unlock {
    content: url("/wp-content/uploads/2023/01/Unlocked_purple.png");
    width: 20px;
    position: absolute;
    bottom: 2px;
    right: 2px;
}

.rs_b_pl p {
    margin-bottom: 0;
}

.eb_pl_lvl {
    width: 90px;
    display: inline-block;
    vertical-align: top;
    padding: 0 5px 0 10px;
    margin: 5px 10px 0 0;
    border-radius: 5px;
    border-width: 2px;
    border-style: solid;
}

.eb_pl_pc {
    width: calc(50% - 100px);
    display: inline-block;
    vertical-align: top;
    color: var(--bs-darkgray);
    background-color: var(--bs-shade);
    padding: 0 10px;
    margin: 5px 10px 0 0;
    border-radius: 5px;
    border-style: solid;
    border-width: 2px;
}

.eb_bp_hfw {
    width: calc(50% - 10px);
    display: inline-block;
    vertical-align: top;
    color: var(--bs-darkgray);
    background-color: var(--bs-shade);
    padding: 0 10px;
    margin: 5px 0 0 0;
    border-radius: 5px;
    border-style: solid;
    border-width: 2px;
}


@media screen and (max-width: 899px) {
    .eb_pl_lvl {
    }
    .eb_pl_pc {
        width: calc(100% - 95px);
        flex: 1;
        margin-right: 0;
    }
    .eb_bp_hfw {
        width: 100%;
    }
}

.rs_b_i_image {
    float: left;
    display: flex;
    margin-right: 5px;
    height: 100%;
}

.rs_b_i_info {
    display: inline;
    float: left;
    line-height: 1.4;
}

.rs_b_i_info img {
    vertical-align: top;
    border-color: var(--bs-purple);
    border-style: solid;
    border-width: 1px;
}

.rs_b_i_iformat {
    vertical-align: top;
    margin: 5px 2px;
    max-width: 50px !important;
}



/* Tooltip container */
.tooltip {
    position: relative;
    display: inline-block;
    /*border-bottom: 1px dotted black; !* If you want dots under the hoverable text *!*/
}

/* Tooltip text */
.tooltip .tooltiptext {
    visibility: hidden;
    width: 120px;
    background-color: var(--bs-purple);
    color: #fff;
    text-align: center;
    padding: 2px 10px;
    border-radius: 6px;

    /* Position the tooltip text - see examples below! */
    position: absolute;
    z-index: 1;

    top: -5px;
    right: 42px;
}

.tooltip.tooltiplocked .tooltiptext {
    width: 221px;
    top: -25px;
    right: 42px;
    font-size: smaller;
    line-height: 1.3;
    vertical-align: middle;
    padding: 5px 10px;
}

/* Show the tooltip text when you mouse over the tooltip container */
.tooltip:hover .tooltiptext {
    visibility: visible;
}

.tooltip .tooltiptext {
}

.tooltip .tooltiptext::after {
    content: " ";
    position: absolute;
    top: 50%;
    left: 100%; /* To the right of the tooltip */
    margin-top: -5px;
    border-width: 5px;
    border-style: solid;
    border-color: transparent transparent transparent var(--bs-purple);
}


/* Tooltip container */
.tooltip-rt {
    position: relative;
    display: inline-block;
    /*border-bottom: 1px dotted black; !* If you want dots under the hoverable text *!*/
}

/* Tooltip text */
.tooltip-rt .tooltiptext {
    visibility: hidden;
    width: auto;
    background-color: var(--bs-purple);
    color: #fff;
    text-align: center;
    padding: 2px 10px;
    border-radius: 6px;

    /* Position the tooltip text - see examples below! */
    position: absolute;
    z-index: 1;
}

/* Show the tooltip text when you mouse over the tooltip container */
.tooltip-rt:hover .tooltiptext {
    visibility: visible;
}

.tooltip-rt .tooltiptext {
    top: -5px;
    left: 42px;
}

.tooltip-rt .tooltiptext::after {
    content: " ";
    position: absolute;
    top: 50%;
    right: 100%; /* To the right of the tooltip */
    margin-top: -5px;
    border-width: 5px;
    border-style: solid;
    border-color: transparent var(--bs-purple) transparent transparent;
}