.select_checkbox {
    position: relative;
    height: 3rem;
}
.select_checkbox .select_checkbox_label {
    background-color: #FFFFFF;
    box-shadow: 0 0 0.25rem rgba(0,0,0,0.125);
    border-radius: 3rem;
    padding: 0 2rem 0 1rem;
    height: 3rem;
    line-height: 3rem;
    display: block;
    background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAYCAYAAACbU/80AAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAIpJREFUeNrEkckNgDAMBBfRkEt0ObRBBdsGXUDgmQfK4XhH2m8czQAAy27R3tsw4Qfe2x8uOO6oYLb6GlOor3GF+swURAOmUJ+RwtEJs9WvTGEYxBXqI1MQAZhCfUQKRzDMVj+TwrAIV6jvSUEkYAr1LSkcyTBb/V+KYfX7xAeusq3sLDtGH3kEGACPWIflNZfhRQAAAABJRU5ErkJggg==");
    background-origin: content-box;
    background-position: right -1rem center;
    background-repeat: no-repeat;
    background-size: 9px 6px;
}
.select_checkbox .select_checkbox_overlay {
    position: absolute; top: 100%; left: 0;
    z-index: 9999; /*width: 14rem;*/
    background-color: #FFFFFF;
    box-shadow: 0 0 0.5rem rgba(0,0,0,0.125);
    padding: 1rem;
    border-radius: 1rem;
    opacity: 0; pointer-events: none;
    visibility: hidden;
}
.select_checkbox.opened .select_checkbox_overlay {
    opacity: 1; pointer-events: all;
    visibility: visible;
}
.select_checkbox_item {
    display: flex;
    flex-direction: row;
    flex-wrap: nowrap;
    padding-bottom: 1rem;
}
.select_checkbox_item:last-child {
    padding-bottom: 0;
}
.select_checkbox_item > input {
    margin: 0;
    flex: 0 0 auto;
}
.select_checkbox_item > label {
    flex: 1 1 0;
    margin: 0; padding-left: 0.5rem;
    line-height: 1;
    font-size: 1rem;
}

@media screen and (min-width:64em){
    .select_checkbox.opened .select_checkbox_overlay {
        opacity: 0; pointer-events: none;
        visibility: hidden;
    }
    .wrapper .select_checkbox.opened:hover .select_checkbox_overlay,
    .wrapper .select_checkbox.opened .select_checkbox_overlay:hover,
    .wrapper .select_checkbox:hover .select_checkbox_overlay,
    .wrapper .select_checkbox .select_checkbox_overlay:hover {
        opacity: 1; pointer-events: all;
        visibility: visible;
    }
}


/****************************************************************************
 * Filter
 ****************************************************************************/
.content_section:has(.typo_woocommerce_wrapper) {
    position: relative;
}
.content_section:has(.typo_woocommerce_wrapper.loading):before {
    content: ''; position: fixed;
    top: 0; left: 0; right: 0; bottom: 0;
    width: auto; height: auto; z-index: 20;
    background-color: rgba(255,255,255,0.7);
}

.content_section:has(.typo_woocommerce_wrapper.loading):after {
    content: ''; position: fixed;
    top: 50svh; left: 50%;
    width: 3rem;height: 3rem;
    border: 0.5rem solid #006750;
    border-bottom-color: transparent;
    transform: translate(-50%,-50%);
    border-radius: 50%;
    display: inline-block;
    box-sizing: border-box;
    animation: rotation 1s linear infinite;
}

@keyframes rotation {
    0% {transform: translate(-50%,-50%) rotate(0deg);}
    100% {transform: translate(-50%,-50%) rotate(360deg);}
} 


/****************************************************************************
 * Pagination
 ****************************************************************************/
.typo-pagination {
    display: flex;
    flex-direction: row;
    flex-wrap: wrap;
    justify-content: center;
}
.typo-pagination > * {
    padding: 0.25rem 0.75rem;
    margin: 0.125rem;
    background-color: #E8E7E7;
}
.typo-pagination > .is-active {
    background-color: #006750;
    color: #FFFFFF;
}