body {
    font: 100%/1.5 "proximanova", trebuchet ms, Verdana, Arial, Helvetica, sans-serif;
    font-size: 14px;
    color: #465668;
    margin: 0;
    padding: 0;
    background-color: #f7f7fa;
    transition-delay: 0.2s;
}

main {
    height: 100%;
    width: 60%;
    float: right;
    background-color: #ffffff;
    padding: 30px 0 0 120px;
}

.content {
    width: 100%;
    max-width: 330px;
    margin: auto 0;
}

header span {
    display: block;
    width: 100%;
    padding: 8px 0;
}

header .title {
    font-size: 18px;
    line-height: 1.4;
}

.formgroup input,.formgroup label {
    display: block;
    margin-bottom: 8px;
}

.formgroup input {
    font-size: 18px;
    width: 100%;
    height: 45px;
    line-height: 45px;
    border: 2px solid #e9e9e9;
    border-radius: 3px;
}

.formgroup input:not(.two-factor-input) {
    padding-left: 40px;
}

.formgroup button {
    width: 100%;
    display: block;
    color: #ffffff;
    text-align: center;
    padding: 8px;
    border: 0;
    background-color: #3c6382;
    border-radius: 4px;
    height: 41px;
    font-size: 15px;
    cursor: pointer;
    text-transform: uppercase;
    position: relative;
}

.formgroup button:hover {
    background-color: #0a3d62;
}

.validation {
    border: 1px solid;
    margin: 10px 0;
    padding: 15px 10px 15px 50px;
    background-repeat: no-repeat;
    background-position: 10px center;
    color: #D63301;
    background-color: #FFCCBA;
    border-radius: 4px;
}

.flex {
    display: flex;
}

.formgroup input.two-factor-input {
    padding: 10px;
    text-transform: uppercase;
    text-align: center;
    outline: none;
    transition: border-color 0.3s, opacity 0.2s ease-in-out;
    margin-right: 5px;
    box-sizing: border-box;
}

.formgroup input.two-factor-input:last-child {
  margin-right: 0;
}

.formgroup input.two-factor-input:focus {
    border-color: #007bff;
}

.formgroup input.two-factor-input.hidden {
    visibility: hidden;
    opacity: 0;
}

.formgroup input.two-factor-input:not(.hidden) {
    visibility: visible;
    opacity: 1;
}