.cmn-toggle+label::after{
    background:linear-gradient(to bottom, #f5f5f5 0%, #ededed 100%);
    text-shadow:0 1px 0 #fff
}
.cmn-toggle:hover:not(:disabled)+label::after{
    background:linear-gradient(to bottom, #fafafa 0%, #f2f2f2 100%);
    text-shadow:0 1px 0 #fff
}
.cmn-toggle:focus:not(:disabled)+label,.cmn-toggle:hover:not(:disabled)+label{
    box-shadow:0 0 12px #787878
}
.cmn-toggle+label::before,.flash__content::before,.flash-warning .flash__content::before,.flash-failure .flash__content::before{
    font-size:1.2em;
    vertical-align:middle;
    font-family:'lichess';
    font-style:normal;
    font-weight:normal;
    text-transform:none;
    speak:none;
    content:attr(data-icon);
    opacity:0.9
}
.cmn-toggle{
    touch-action:manipulation
}
.form3 .captcha{
    display:flex;
    flex-flow:row wrap
}
.form-split,.form-actions,.auth .alternative{
    display:flex;
    flex-flow:row wrap;
    align-items:center;
    justify-content:space-between
}
.form-check{
    display:flex;
    flex-flow:column
}
.flash__content,.form3 .captcha.is-invalid:not(.success){
    border-radius:3px
}
.cmn-toggle{
    position:absolute;
    margin-left:-99999px
}
.cmn-toggle+label{
    display:block;
    position:relative;
    cursor:pointer;
    outline:none;
    -webkit-user-select:none;
    -moz-user-select:none;
    padding:1px;
    width:40px;
    height:24px;
    border:1px solid #d9d9d9;
    border-radius:24px
}
.cmn-toggle+label::before,.cmn-toggle+label::after{
    display:block;
    position:absolute;
    content:'';
    width:22px;
    height:22px;
    bottom:0;
    left:0
}
.cmn-toggle+label::before{
    font-size:1em;
    z-index:1;
    text-align:center;
    line-height:22px
}
.cmn-toggle+label::after{
    border-radius:100%;
    box-shadow:0 1px 2.5px rgba(0,0,0,0.3)
}
.cmn-toggle:not(:checked)+label{
    background-color:#c33
}
.cmn-toggle--subtle:not(:checked)+label{
    background-color:#b3b3b3
}
.cmn-toggle:checked+label{
    background-color:#629924
}
.cmn-toggle:disabled+label{
    opacity:60%;
    cursor:not-allowed !important
}
.cmn-toggle:hover:not(:disabled)+label{
    transition:background 150ms
}
.cmn-toggle:hover:not(:disabled)+label::before{
    transition:margin 150ms,color 150ms
}
.cmn-toggle:hover:not(:disabled)+label::after{
    transition:margin 150ms
}
.cmn-toggle:not(:checked)+label::before{
    content:'';
    color:#c33
}
.cmn-toggle--subtle:not(:checked)+label::before{
    color:#b3b3b3
}
.cmn-toggle:checked+label::before,.cmn-toggle:checked+label::after{
    margin-left:16px
}
.cmn-toggle:checked+label::before{
    content:'';
    color:#629924
}
.flash{
    margin:1em 0 2em 0
}
.flash__content{
    padding:1em 2em;
    background:#629924;
    color:#fff
}
.flash__content::before{
    content:'';
    margin-right:1em;
    font-size:1.5em
}
.flash__content a{
    color:#fff
}
.flash-warning .flash__content{
    background:#d59020;
    color:#fff
}
.flash-warning .flash__content::before{
    content:''
}
.flash-failure .flash__content{
    background:#c33;
    color:#fff
}
.flash-failure .flash__content::before{
    content:''
}
.form-group{
    margin-bottom:3rem
}
.form-split{
    align-items:inherit
}
.form-half{
    flex:1 1 48%;
    min-width:200px
}
.form-third{
    flex:1 1 31%
}
@media (min-width: 500px){
    .form-half,.form-third{
        flex-grow:0
    }
}
.form-label{
    font-weight:bold;
    display:inline-block;
    margin-bottom:0.5rem;
    cursor:text
}
.form-control{
    display:block;
    width:100%;
    height:calc(2.7em + 2px);
    background-clip:padding-box
}
textarea.form-control{
    height:auto
}
.form-control:invalid,.form-group.is-invalid .form-control{
    border-color:#c33
}
.form3 .error,.form-help,.password-complexity-label{
    font-size:90%;
    margin-top:0.25rem
}
.form3 .error{
    color:#c33
}
.form-help,.password-complexity-label{
    color:#787878
}
.form-check{
    justify-content:center
}
.form-check div{
    display:flex
}
.form-check-input{
    margin-right:0.5rem
}
.form-check .form-label{
    margin-bottom:0;
    cursor:pointer
}
.form-actions{
    margin-top:1.5rem;
    padding-top:1.5rem;
    border-top:1px solid #d9d9d9
}
.form-actions.single{
    justify-content:flex-end
}
.form3 hr{
    margin-top:1rem;
    margin-bottom:1rem;
    border:0;
    border-top:1px solid #d9d9d9
}
.password-complexity{
    margin-top:-2rem;
    margin-bottom:3rem
}
.password-complexity-meter{
    display:flex;
    grid-gap:0.25rem;
    height:0.4rem;
    margin-top:1rem
}
.password-complexity-meter>*{
    background-color:gray;
    width:25%
}
.form3 .captcha{
    margin:1em 0 0 -1em
}
@media (min-width: 500px){
    .form3 .captcha{
        flex-wrap:nowrap
    }
}
.form3 .captcha.is-invalid:not(.success){
    border:1px solid #c33;
    background:#faebeb
}
.form3 .captcha .challenge{
    flex:0 0 250px;
    margin:0 0 1em 1em
}
.form3 .captcha .captcha-explanation{
    flex:1 1 auto;
    overflow:hidden;
    margin:0 0 1em 1em
}
.form3 .captcha.is-invalid .captcha-explanation{
    padding:1em
}
.form3 .captcha .captcha-explanation .result{
    display:none;
    margin-top:1rem;
    font-weight:bold
}
.form3 .captcha .success{
    color:#629924
}
.form3 .captcha .failure{
    color:#c33
}
.form3 .captcha.success .success,.form3 .captcha.failure .failure{
    display:block
}
#main-wrap{
    min-height:calc(95vh - calc(var(--site-header-height) + var(--site-header-margin)) - 4em)
}
.auth{
    width:100%;
    margin:auto
}
@media (min-width: 650px){
    .auth{
        width:40em
    }
}
.auth .button{
    width:100%;
    padding:1rem
}
.auth .alternative{
    margin-top:2rem;
    font-size:0.9em
}
@media (min-width: 500px){
    .auth-login{
        width:30em
    }
}
.auth .agreement label{
    font-weight:normal
}
@media (max-height: 399px){
    #top{
        display:none
    }
    .form-group{
        margin-bottom:1rem
    }
}
