Vivaldi Logo CSS

HTML
<div class="logo"> <i class="h-light"></i> <span class="mask"></span> <div class="v"></div> <div class="longshadow"></div> </div>
SCSS
// Variables $global-bg: #313131; $global-theme: #ee3d41; $global-wht: #fff; $global-shadow: #f8d9d9; $global-br: 7px; // Mixins @mixin trans($rotZ) { transform: rotateZ(#{$rotZ}deg); } // Placeholders %abs { position: absolute; } %rel { position: relative; } %p-el { &::before, &::after { content: ""; display: block; @extend %abs; } } %v { @extend %abs; @extend %p-el; width: 36px; height: 146px; background: $global-wht; border-radius: 42px; @include trans(-30); z-index: 10; } %bg { background: $global-theme; width: 100%; height: 100%; left: 0; border-radius: inherit; z-index: -1; } // Main Styles * { margin: 0; padding: 0; box-sizing: border-box; } body { background: $global-bg; } .logo { @extend %rel; @extend %p-el; margin: 100px auto 0; width: 193.5px; height: 194px; background: $global-theme; box-shadow: inset 0 -4px rgba(0,0,0, .13); border-radius: $global-br; &::before { @extend %bg; @include trans(-6); opacity: .5; } &::after { @extend %bg; @include trans(-12); opacity: .3; } } .v { @extend %v; top: 12.5%; left: 25.8%; box-shadow: inset -3px 0 0 0 $global-shadow; &::before { @extend %v; @include trans(60); top: 18.9%; left: 134%; } &::after { width: 80px; height: 58px; background: $global-theme; @include trans(90); border-radius: 20px 38px 34px 0; box-shadow: 0 7px 0 -4px $global-shadow, 10px 20px 0 0 white; top: 20.5%; left: 68.5%; z-index: 20; } } .h-light { @extend %v; @include trans(30); box-shadow: inset -1px 0 0 -1px $global-wht, inset -3px 0 0 0 $global-shadow; top: 12.8%; background: transparent; right: 26.8%; z-index: 200; } .mask { @extend %abs; @extend %p-el; top: 16.5%; right: 32.2%; &::before { display: block; width: 37px; height: 37px; background: $global-wht; border-radius: 50%; z-index: 40; } &::after { width: 10px; height: 10px; background: $global-theme; z-index: 35; top: 14px; left: -5px; } } .longshadow { @extend %abs; @extend %p-el; width: 74px; height: 145px; background: linear-gradient(to right, rgba(0,0,0, .3), transparent); bottom: 4.5%; right: 3%; @include trans(30); &::before { width: 30px; height: 25px; top: 55%; left: -48%; background: $global-wht; } &::after { width: 40px; height: 35px; @include trans(150); top: -9%; right: -22.5%; background: $global-bg; } }
JAVASCRIPT
Expand for more options Login