$border: 3px; $color: #1d1d46; $gradient-1: #15CFE8; $gradient-2: #031A34; html { background-image: linear-gradient(135deg, $gradient-1, $gradient-2); text-align: center; height: 100%; font-family: 'Open Sans Condensed', sans-serif; } body { background: transparent; } .wrapper { width: 300px; background: #F5F5F5; margin: 35px auto; box-shadow: 0 10px 40px rgba(0,0,0,.4); overflow: hidden; border-radius: 5px; padding: 25px; } figure { margin: 0; padding: 0; overflow: hidden; & img { margin: -95px 0 -60px; width: 100%; } } .title { font-weight: 900; text-transform: uppercase; font-size: 30px; color: #2A292F; } .desc { font-size: 18x; opacity: .8; } .cta { padding: 28px 30px 10px; &:after { content: ''; display: table; clear: both; } } .price { float: left; color: #FF3100; font-size: 22px; font-weight: 900; padding-top: 2px; } .btn { position: relative; z-index: 1; float: right; display: inline-block; font-size: 15px; font-weight: 900; letter-spacing: .5px; text-transform: uppercase; color: $color; padding: 9px 18px; cursor: pointer; transition: all .1s ease-in-out; line-height: .95; &:before, &:after { content: ''; background-image: linear-gradient(135deg, $gradient-1, $gradient-2); position: absolute; width: calc(100% + #{$border*2}); height: calc(100% + #{$border*2}); left: -$border; top: -$border; border-radius: $border * 2; z-index: -2; transition: all .2s ease-in-out; } &:after { background: #fff; width: 100%; height: 100%; z-index: -1; top: 50%; left: 50%; transform: translate(-50%, -50%); border-radius: $border; } &:hover { color: #fff; text-shadow: 0 1px 3px rgba(0,0,0,.4); transform: scale(1.05); &:before { background-image: linear-gradient(200deg, $gradient-1, $gradient-2); } &:after { width: 0; height: 0; opacity: 0; } } &:active { text-shadow: 0 3px 6px rgba(0,0,0,.7); &:before { background-image: linear-gradient(225deg, $gradient-1, $gradient-2); box-shadow: inset 0 3px 8px rgba(0,0,0,.5); } } }