:root { --button-size: 36px; --icon-size: 20px; --padding-ver: calc(0.3 * var(--icon-size)); --padding-hor: calc(var(--icon-size) / 2); --padding-icon: calc((var(--button-size) - var(--icon-size)) / 2); --height: calc(var(--button-size) - 2 * var(--padding-ver)); --width: calc(var(--button-size) - 2 * var(--padding-hor)); } .shareon { font-size: 0 !important; } .shareon > * { display: inline-block; position: relative; height: var(--height); min-width: var(--width); margin: calc(var(--padding-ver) / 2); padding: var(--padding-ver) var(--padding-hor); background-color: #ccc; border-radius: calc(var(--icon-size) / 6); border: none; box-sizing: content-box; color: white; line-height: 1.5; transition: opacity 300ms ease; vertical-align: middle; } .shareon > *:hover { border: none; cursor: pointer; opacity: 0.7; } .shareon > *:not(:empty) { font-size: calc(0.8 * var(--icon-size)); text-decoration: none; } .shareon > *:not(:empty)::before { position: relative; height: 100%; width: calc(var(--icon-size) + var(--padding-icon)); top: 0; left: 0; background-position: 0 50%; } .shareon > *::before { display: inline-block; position: absolute; height: var(--icon-size); width: var(--icon-size); top: var(--padding-icon); left: var(--padding-icon); background-repeat: no-repeat; background-size: var(--icon-size) var(--icon-size); content: ""; vertical-align: bottom; } @mixin networks;