/****************************
 * Sticky Buttons
****************************/
.vii-sticky-buttons {
    --size:48px; --font-size:32px;
    --shadow:0 0 30px 0 rgba(0, 0, 0, .2);
    --shadow-darker:0 0 30px 0 rgba(0, 0, 0, .4);
    bottom:28px; right:27px; gap:8px;
}
.vii-sticky-buttons__item {width:var(--size);box-shadow:var(--shadow);}

/* icon */
.vii-sticky-buttons__item.type-image .vii-sticky-buttons__item-icon {width:var(--font-size);}
.vii-sticky-buttons__item.type-icomoon .vii-sticky-buttons__item-icon {font-size:calc(var(--font-size) - 10px);}

/* text */
.vii-sticky-buttons__item-text {
    padding:5px calc(var(--size) + 4px) 7px calc(var(--size) / 2);
    border-radius:var(--size);box-shadow:var(--shadow);
}

/* hover */
@media (hover:hover) {
    .vii-sticky-buttons__item:not(:hover) a {pointer-events:none;}
    .vii-sticky-buttons__item:hover {box-shadow:none;}
    .vii-sticky-buttons__item.no-text:hover {box-shadow:var(--shadow-darker);}
    .vii-sticky-buttons a:not(:hover) .vii-sticky-buttons__item-text {
        padding:5px 0;opacity:0; visibility:hidden;z-index:-1;
    }
}
@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,
.vii-sticky-buttons.hidden-buttons {opacity:0; visibility:hidden;pointer-events:none;}


/****************************
 * Sticky Buttons Responsive
****************************/
@media only screen and (max-width:768px) {
    .vii-sticky-buttons {
        right:16px;
    }
}
@media only screen and (max-width:480px) {
    .vii-sticky-buttons {
        --size:40px; --font-size:24px;
        right:12px; bottom:12px;
    }
}