.skr-simple-checkout { width: 100%; max-width: 350px; margin: 50px auto; .section { margin-top: 2rem; padding-top: 2rem; border-top: 2px solid grey; } form { } input { font-size: 18px; padding: 5px; } .errors { color: #D8000C; background-color: #FFBABA; border: 1px solid darken(#FFBABA, 50%); } .address { label { display: flex; justify-content: flex-end; span { margin-right: 1rem; } input { width: 200px; } } } .cart { width: 100%; td, th { &:last-child { text-align: right; } } input { width: 4rem; text-align: center; } } .credit-card { .row { display: flex; align-items: stretch; height: 30px; margin: 10px auto; } input { flex: 1; width: 100%; &[name='expiry'], &[name='cvc'] { flex: 0.5; } &.jp-card-invalid { border: 1px solid red; } } } button { border: 0; background: #3498db; background-image: -webkit-linear-gradient(top, #3498db, #2980b9); background-image: -moz-linear-gradient(top, #3498db, #2980b9); background-image: -ms-linear-gradient(top, #3498db, #2980b9); background-image: -o-linear-gradient(top, #3498db, #2980b9); background-image: linear-gradient(to bottom, #3498db, #2980b9); font-family: Arial; color: #f0edf0; font-size: 22px; padding: 10px 20px 10px 20px; text-decoration: none; &:hover { background: #3cb0fd; background-image: -webkit-linear-gradient(top, #3cb0fd, #3498db); background-image: -moz-linear-gradient(top, #3cb0fd, #3498db); background-image: -ms-linear-gradient(top, #3cb0fd, #3498db); background-image: -o-linear-gradient(top, #3cb0fd, #3498db); background-image: linear-gradient(to bottom, #3cb0fd, #3498db); text-decoration: none; } } @mixin spinner($opacity, $size){ box-shadow: rgba(0, 0, 0, $opacity) $size*1.5 0 0 0, rgba(0, 0, 0, $opacity) ($size*1.1) ($size*1.1) 0 0, rgba(0, 0, 0, $opacity) 0 ($size*1.5) 0 0, rgba(0, 0, 0, $opacity) (-$size*1.1) ($size*1.1) 0 0, rgba(0, 0, 0, $opacity) (-$size*1.5) 0 0 0, rgba(0, 0, 0, $opacity) (-$size*1.1) (-$size*1.1) 0 0, rgba(0, 0, 0, $opacity) 0 (-$size*1.5) 0 0, rgba(0, 0, 0, $opacity) $size*1.1 (-$size*1.1) 0 0; } $spinner-size: 10px; .mask { background-color: transparent; display: none; } .order { &.is-saving { position: relative; .mask { position: absolute; display: flex; justify-content: center; align-items: center; top: 0; left: 0; bottom: 0; right: 0; font-size: 2.8rem; text-shadow: none; border: 0; transition: all 0.8s ease-in-out; background-color: rgba(221, 221, 221, 0.7); z-index: 2; .msg { transition: all 1s ease-in-out; color: rgba(0, 0, 0, 0.8); span { margin-left: $spinner-size*4; } i { transition: all 1s ease-in-out; display: block; position: relative; width: $spinner-size; height: $spinner-size; top: $spinner-size*4; left: $spinner-size*1.5; animation: spinner 3000ms infinite linear; border-radius: $spinner-size / 2; @include spinner(0.75, $spinner-size); } } } &.is-complete { .mask { background-color: rgba(221, 221, 221, 0); .msg { color: rgba(0, 0, 0, 0); i { @include spinner(0.0, $spinner-size); } } } } } @keyframes spinner { 0% { transform: rotate(0deg); } 100% { transform: rotate(360deg); } } } }