/****************************
 * Sticky Buttons
****************************/
.vii-sticky-buttons {
    --size:52px; --font-size:25px;
    --shadow:0 0 10px 5px rgba(0, 0, 0, .05);
    bottom:40px; right:24px; gap:15px;
}
.vii-sticky-buttons__item {width:var(--size);}

/* button */
.vii-sticky-buttons a {text-decoration:none; border-radius:var(--size); background-color:var(--vii-color-primary);}

/* icon */
.vii-sticky-buttons__item-icon {
    width:var(--size); background-color:var(--vii-color-primary);
    color:var(--vii-color-on-primary); font-size:var(--font-size);
    box-shadow:var(--shadow);
}
.vii-sticky-buttons__item-icon i {line-height:1;}

/* text */
.vii-sticky-buttons__item-text {padding:5px 25px 5px 0;}

/* hover */
@media (hover:hover) {
    .vii-sticky-buttons__item:not(:hover) a {pointer-events:none; background:rgba(0, 0, 0, 0); color:var(--vii-color-on-primary);}
    .vii-sticky-buttons a:hover {
        box-shadow:var(--shadow); background-color:var(--vii-color-primary);
        color:var(--vii-color-on-primary);
        transform:translateX(calc(-100% + var(--size)));
    }
    .vii-sticky-buttons a:hover .vii-sticky-buttons__item-icon {box-shadow:none;}
    .vii-sticky-buttons a:not(:hover) .vii-sticky-buttons__item-text {opacity:0; visibility:hidden;}
}
@media (hover:none) {
    .vii-sticky-buttons__item-text {display:none;}
}

/* Hide on scroll top and open mobile menu */
body:not(.scroll-middle) .vii-sticky-buttons,
html.menu-open .vii-sticky-buttons {opacity:0; pointer-events:none;}


/****************************
 * Sticky Buttons Responsive
****************************/
@media only screen and (max-width:480px) {
    .vii-sticky-buttons {
        --size:45px; --font-size:20px;
        right:15px; bottom:15px;
    }
}