.icon { position: relative; display: inline-block; width: 50px !important; height: 40px !important; } .cloud { position: absolute; top: 50%; left: 50%; z-index: 1; width: 3.6875 * 5px; height: 3.6875 * 5px; margin: -1.84375 * 5px; background: #fff; border-radius: 50%; box-shadow: -2.1875 * 5px 0.6875 * 5px 0 -0.6875 * 5px #fff, 2.0625 * 5px 0.9375 * 5px 0 -0.9375 * 5px #fff, 0 0 0 0.375 * 5px #dddddd, -2.1875 * 5px 0.6875 * 5px 0 -0.3125 * 5px #dddddd, 2.0625 * 5px 0.9375 * 5px 0 -0.5625 * 5px #dddddd; } .cloud:after { position: absolute; bottom: 0; left: -0.5 * 5px; display: block; width: 4.5625 * 5px; height: 1 * 5px; background: #fff; box-shadow: 0 0.375 * 5px #dddddd; content: ''; } .cloud:nth-child(2) { z-index: 0; background: #666666; box-shadow: -2.1875 * 5px 0.6875 * 5px 0 -0.6875 * 5px #666666, 2.0625 * 5px 0.9375 * 5px 0 -0.9375 * 5px #666666, 0 0 0 0.375 * 5px #666666, -2.1875 * 5px 0.6875 * 5px 0 -0.3125 * 5px #666666, 2.0625 * 5px 0.9375 * 5px 0 -0.5625 * 5px #666666; -webkit-transform: scale(0.5) translate(6 * 5px, -3 * 5px); -ms-transform: scale(0.5) translate(6 * 5px, -3 * 5px); transform: scale(0.5) translate(6 * 5px, -3 * 5px); opacity: 0.3; -webkit-animation: cloud 4s linear infinite; animation: cloud 4s linear infinite; &::after { background-color: #666666 !important; box-shadow: 0 1.875px #666666 !important; } } .cloud:nth-child(2):after { background: #dddddd; } .sun { position: absolute; top: 50%; left: 50%; width: 2.5 * 5px; height: 2.5 * 5px; margin: -1.25 * 5px; border-radius: 50%; box-shadow: 0 0 0 0.375 * 5px #ff9100; -webkit-animation: spin 12s infinite linear; animation: spin 12s infinite linear; } .rays { position: absolute; top: -2 * 5px; left: 50%; display: block; width: 0.375 * 5px; height: 1.125 * 5px; margin-left: -0.1875 * 5px; background: #ff9100; border-radius: 0.25 * 5px; box-shadow: 0 5.375 * 5px #ff9100; } .rays:before, .rays:after { position: absolute; top: 0 * 5px; left: 0 * 5px; display: block; width: 0.375 * 5px; height: 1.125 * 5px; background: #ff9100; border-radius: 0.25 * 5px; box-shadow: 0 5.375 * 5px #ff9100; -webkit-transform: rotate(60deg); -ms-transform: rotate(60deg); transform: rotate(60deg); -webkit-transform-origin: 50% 3.25 * 5px; -ms-transform-origin: 50% 3.25 * 5px; transform-origin: 50% 3.25 * 5px; content: ''; } .rays:before { -webkit-transform: rotate(120deg); -ms-transform: rotate(120deg); transform: rotate(120deg); } .cloud + .sun { margin: -2 * 5px 1 * 5px; } .rain, .lightning, .snow { position: absolute; top: 50%; left: 50%; z-index: 2; width: 3.75 * 5px; height: 3.75 * 5px; margin: 0.375 * 5px 0 0 -2 * 5px; } .rain:after { position: absolute; top: 50%; left: 50%; z-index: 2; width: 1.125 * 5px; height: 1.125 * 5px; margin: -1 * 5px 0 0 -0.25 * 5px; background: #0cf; border-radius: 100% 0 60% 50% / 60% 0 100% 50%; box-shadow: 0.625 * 5px 0.875 * 5px 0 -0.125 * 5px rgba(255, 255, 255, 0.2), -0.875 * 5px 1.125 * 5px 0 -0.125 * 5px rgba(255, 255, 255, 0.2), -1.375 * 5px -0.125 * 5px 0 rgba(255, 255, 255, 0.2); -webkit-transform: rotate(-28deg); -ms-transform: rotate(-28deg); transform: rotate(-28deg); -webkit-animation: rain 3s linear infinite; animation: rain 3s linear infinite; content: ''; } .bolt { position: absolute; top: 50%; left: 50%; width: 1 * 5px; height: 0.5 * 5px; margin: -0.875 * 5px 0 0 -0.5 * 5px; color: #dddddd; background: #dddddd; opacity: 0.3; -webkit-animation: lightning 2s linear infinite; animation: lightning 2s linear infinite; } .bolt:nth-child(2) { width: 0.5 * 5px; height: 0.25 * 5px; margin: -1.875 * 5px 0 0 -1.5 * 5px; -webkit-transform: translate(2.5 * 5px, 2.25 * 5px); -ms-transform: translate(2.5 * 5px, 2.25 * 5px); transform: translate(2.5 * 5px, 2.25 * 5px); opacity: 0.2; -webkit-animation: lightning 1.5s linear infinite; animation: lightning 1.5s linear infinite; } .bolt:before, .bolt:after { position: absolute; top: 50%; left: 50%; z-index: 2; margin: -1.75 * 5px 0 0 -1.25 * 5px; border-top: 1.25 * 5px solid transparent; border-right: 0.75 * 5px solid; border-bottom: 0.75 * 5px solid; border-left: 0.5 * 5px solid transparent; -webkit-transform: skewX(-10deg); -ms-transform: skewX(-10deg); transform: skewX(-10deg); content: ''; } .bolt:after { margin: -0.25 * 5px 0 0 -0.0125 * 5px; border-top: 0.75 * 5px solid; border-right: 0.5 * 5px solid transparent; border-bottom: 1.25 * 5px solid transparent; border-left: 0.75 * 5px solid; -webkit-transform: skewX(-10deg); -ms-transform: skewX(-10deg); transform: skewX(-10deg); } .bolt:nth-child(2):before { margin: -0.875 * 5px 0 0 -0.75 * 5px; border-top: 0.625 * 5px solid transparent; border-right: 0.375 * 5px solid; border-bottom: 0.375 * 5px solid; border-left: 0.25 * 5px solid transparent; } .bolt:nth-child(2):after { margin: -0.125 * 5px 0 0 0; border-top: 0.375 * 5px solid; border-right: 0.25 * 5px solid transparent; border-bottom: 0.625 * 5px solid transparent; border-left: 0.375 * 5px solid; } .flake:before, .flake:after { position: absolute; top: 50%; left: 50%; margin: -21.25px 0 0 -21.25px; color: #dddddd; opacity: 0.2; -webkit-animation: spin 8s linear infinite reverse; animation: spin 8s linear infinite reverse; content: '\2744'; zoom: 0.5; } .flake:after { margin: 1.375px 0 0 -13.875px; font-size: 7.5px; opacity: 0.4; -webkit-animation: spin 14s linear infinite; animation: spin 14s linear infinite; zoom: 0.6; } .flake:nth-child(2):before { margin: -9.375px 0 0 -0.75px; font-size: 1.25 * 5px; opacity: 0.2; -webkit-animation: spin 10s linear infinite; animation: spin 10s linear infinite; zoom: 0.8; } .flake:nth-child(2):after { margin: 5px 0 0 1.625px; font-size: 10px; opacity: 0.4; -webkit-animation: spin 16s linear infinite reverse; animation: spin 16s linear infinite reverse; zoom: 0.8; /* Animations */ } @-webkit-keyframes spin { 100% { -webkit-transform: rotate(360deg); transform: rotate(360deg); } } @keyframes spin { 100% { -webkit-transform: rotate(360deg); transform: rotate(360deg); } } @-webkit-keyframes cloud { 0% { opacity: 0; } 50% { opacity: 0.3; } 100% { -webkit-transform: scale(0.5) translate(-6 * 5px, -3 * 5px); transform: scale(0.5) translate(-6 * 5px, -3 * 5px); opacity: 0; } } @keyframes cloud { 0% { opacity: 0; } 50% { opacity: 0.3; } 100% { -webkit-transform: scale(0.5) translate(-6 * 5px, -3 * 5px); transform: scale(0.5) translate(-6 * 5px, -3 * 5px); opacity: 0; } } @-webkit-keyframes rain { 0% { background: #0cf; box-shadow: 0.625 * 5px 0.875 * 5px 0 -0.125 * 5px rgba(255, 255, 255, 0.2), -0.875 * 5px 1.125 * 5px 0 -0.125 * 5px rgba(255, 255, 255, 0.2), -1.375 * 5px -0.125 * 5px 0 #0cf; } 25% { box-shadow: 0.625 * 5px 0.875 * 5px 0 -0.125 * 5px rgba(255, 255, 255, 0.2), -0.875 * 5px 1.125 * 5px 0 -0.125 * 5px #0cf, -1.375 * 5px -0.125 * 5px 0 rgba(255, 255, 255, 0.2); } 50% { background: rgba(255, 255, 255, 0.3); box-shadow: 0.625 * 5px 0.875 * 5px 0 -0.125 * 5px #0cf, -0.875 * 5px 1.125 * 5px 0 -0.125 * 5px rgba(255, 255, 255, 0.2), -1.375 * 5px -0.125 * 5px 0 rgba(255, 255, 255, 0.2); } 100% { box-shadow: 0.625 * 5px 0.875 * 5px 0 -0.125 * 5px rgba(255, 255, 255, 0.2), -0.875 * 5px 1.125 * 5px 0 -0.125 * 5px rgba(255, 255, 255, 0.2), -1.375 * 5px -0.125 * 5px 0 #0cf; } } @keyframes rain { 0% { background: #0cf; box-shadow: 0.625 * 5px 0.875 * 5px 0 -0.125 * 5px rgba(255, 255, 255, 0.2), -0.875 * 5px 1.125 * 5px 0 -0.125 * 5px rgba(255, 255, 255, 0.2), -1.375 * 5px -0.125 * 5px 0 #0cf; } 25% { box-shadow: 0.625 * 5px 0.875 * 5px 0 -0.125 * 5px rgba(255, 255, 255, 0.2), -0.875 * 5px 1.125 * 5px 0 -0.125 * 5px #0cf, -1.375 * 5px -0.125 * 5px 0 rgba(255, 255, 255, 0.2); } 50% { background: rgba(255, 255, 255, 0.3); box-shadow: 0.625 * 5px 0.875 * 5px 0 -0.125 * 5px #0cf, -0.875 * 5px 1.125 * 5px 0 -0.125 * 5px rgba(255, 255, 255, 0.2), -1.375 * 5px -0.125 * 5px 0 rgba(255, 255, 255, 0.2); } 100% { box-shadow: 0.625 * 5px 0.875 * 5px 0 -0.125 * 5px rgba(255, 255, 255, 0.2), -0.875 * 5px 1.125 * 5px 0 -0.125 * 5px rgba(255, 255, 255, 0.2), -1.375 * 5px -0.125 * 5px 0 #0cf; } } @-webkit-keyframes lightning { 45% { color: #dddddd; background: #dddddd; opacity: 0.2; } 50% { color: #0cf; background: #0cf; opacity: 1; } 55% { color: #dddddd; background: #dddddd; opacity: 0.2; } } @keyframes lightning { 45% { color: #dddddd; background: #dddddd; opacity: 0.2; } 50% { color: #0cf; background: #0cf; opacity: 1; } 55% { color: #dddddd; background: #dddddd; opacity: 0.2; } } .hoverablec { display: flex; align-items: center; justify-content: center; transition: all 0.2s; &:hover { opacity: 1 !important; } }