/****************************
 * Sticky Buttons
****************************/
.bb-sticky-buttons {
    --size:58px; --font-size:24px;
    bottom:30px; right:30px; gap:15px;
}
.bb-sticky-buttons__item {width:var(--size);}

/* button */
.bb-sticky-buttons a {text-decoration:none; border-radius:var(--size); background:#fff;}

/* icon */
.bb-sticky-buttons__item-icon {
    width:var(--size); background-color:var(--bb-color-primary);
    color:#fff; font-size:var(--font-size); border:1px solid rgba(255, 255, 255, .5);
}
.bb-sticky-buttons__item-icon i {line-height:1;}

/* text */
.bb-sticky-buttons__item-text {padding:5px 25px 5px 0; color:#fff;}

/* hover */
@media (hover:hover) {
    .bb-sticky-buttons__item:not(:hover) a {pointer-events:none; background:rgba(0, 0, 0, 0);}
    .bb-sticky-buttons a:hover {
        background:var(--bb-color-primary);
        transform:translateX(calc(-100% + var(--size)));
    }
    .bb-sticky-buttons a:hover .bb-sticky-buttons__item-icon {border:none;}
    .bb-sticky-buttons a:not(:hover) .bb-sticky-buttons__item-text {opacity:0; visibility:hidden;}
}
@media (hover:none) {
    .bb-sticky-buttons__item-text {display:none;}
}

/* a11y */
.bb-sticky-buttons a:focus-visible {outline:0; border-radius:0; transition:var(--bb-transition);}
.bb-sticky-buttons a:focus-visible .bb-sticky-buttons__item-icon {
    outline:2px solid var(--bb-color-dark); border-radius:50%;
}

/* Hide on open mobile menu */
html.menu-open .bb-sticky-buttons {opacity:0; pointer-events:none;}


/****************************
 * Sticky Buttons Responsive
****************************/
@media only screen and (max-width:480px) {
    .bb-sticky-buttons {
        --size:50px; --font-size:20px;
        right:15px; bottom:15px;
    }
}