@import "variables"; vn-radio { position: relative; cursor: pointer; display: inline-block; outline: none; &.disabled { cursor: inherit; } & > .radio { position: relative; box-sizing: border-box; display: inline-block; vertical-align: middle; border-radius: 50%; width: 20px; height: 20px; border: 2px solid #666; margin: 6px 0; margin-right: .4em; & > .mark { transition: background 250ms; } } &.checked > .radio { border-color: $color-main; & > .mark { position: absolute; border-radius: 50%; top: 50%; left: 50%; transform: translate(-50%, -50%); width: 10px; height: 10px; background-color: $color-main; } & > .focus-mark { background-color: rgba($color-main, .15); } } & > .radio > .focus-mark { position: absolute; top: 50%; left: 50%; height: 38px; width: 38px; margin-top: -19px; margin-left: -19px; border-radius: 50%; transform: scale3d(0, 0, 0); transition: background 250ms; transition: transform 250ms; background-color: rgba(0, 0, 0, .1); } &:focus:not(.disabled) > .radio > .focus-mark { transform: scale3d(1, 1, 1); } }