.toolbar { margin: 0 0 1rem 1rem; /* on icons are hidden by default */ .icon { position: relative; font-size: 24px; color: #fff; width: 48px; height: 48px; border-radius: 48px; box-shadow: 2px 2px 24px #444; transition: all .1s; transition-timing-function: ease-in-out; &::before { position: absolute; left: 1px; right: 0; text-align: center; top: 12px; } &.on { display: none; } } .tooltip { margin-left: 0.5rem; opacity: 0; visibility: hidden; color: white; text-shadow: 0 0 5px black; transition: opacity 200ms ease-in 25ms, transform 100ms ease-in; transform: translateX(-100%); z-index: 0; } .button { text-decoration: none; display: flex; flex-direction: row; align-items: center; cursor: pointer; &:hover { .icon { box-shadow: 4px 4px 48px #666; cursor: pointer; background-color: #407cf7; } .icon.icon-call_end { background-color: #dd2c00; } .tooltip { opacity: 1; visibility: visible; transform: translateX(0); } } &.on .icon { background: lighten(#407cf7, 10%); &.on { display: inherit; } &.off { display: none; } } } .button + .button { margin-top: 1rem; } .chat { &[data-blink="true"] .icon { -webkit-animation: bg-blink 1s infinite; -moz-animation: bg-blink 1s infinite; animation: bg-blink 1s infinite; } } } @-webkit-keyframes bg_blink { 50% { background-color: #407cf7; } 99% { background-color: #407cf7; } } @-moz-keyframes bg-blink { 50% { background-color: #407cf7; } 99% { background-color: #407cf7; } } @keyframes bg-blink { 50% { background-color: #407cf7; } 99% { background-color: #407cf7; } }