.pin-login {
    display: inline-block;
    border-radius: 10px;
    padding: 10px;
    font-size: 28px;
    background: #d9deff;
    border: 1px solid #363b5e;
    user-select: none;
    -moz-user-select: none;
    -ms-user-select: none;
    -webkit-user-select: none;
}

.pin-login__text {
    margin: 10px auto 10px auto;
    padding: 10px;
    display: block;
    width: 50%;
    font-size: 0.5em;
    text-align: center;
    letter-spacing: 0.2em;
    background: rgba(0, 0, 0, 0.15);
    border: none;
    border-radius: 10px;
    outline: none;
    cursor: default;
}

.pin-login__text--error {
    color: #901818;
    background: #ffb3b3;
    animation-name: loginError;
    animation-duration: 0.1s;
    animation-iteration-count: 2;
}

@keyframes loginError {
    25% { transform: translateX(-3px) }    
    75% { transform: translateX(3px) }    
}

@-moz-keyframes loginError {
    25% { transform: translateX(-3px) }    
    75% { transform: translateX(3px) }    
}

.pin-login__key {
    width: 60px;
    height: 60px;
    margin: 10px;
    background: rgba(0, 0, 0, 0.15);
    color: #363b5e;
    border-radius: 50%;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    font-weight: bold;
    cursor: pointer;
}

.pin-login__key:active {
    background: rgba(0, 0, 0, 0.25); 
}