.user-image {
    display: inline-block;
    background-size: cover;
    background-position: center;
    border-radius: 50%;
    width: 2.5rem;
    height: 2.5rem;
    vertical-align: middle
}

.user-image.link {
    cursor: pointer
}

.switch {
    position: relative;
    display: inline-block;
    width: 2.875em;
    height: 1.725em
}

.switch input {
    display: none
}

.slider {
    position: absolute;
    cursor: pointer;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background-color: #ccc;
    -webkit-transition: .4s;
    transition: .4s
}

.slider:before {
    position: absolute;
    content: "";
    height: 1.15em;
    width: 1.15em;
    left: .2875em;
    bottom: .2875em;
    background-color: white;
    -webkit-transition: .4s;
    transition: .4s
}

input:checked+.slider {
    background-color: #00bcd4
}

input:focus+.slider {
    -webkit-box-shadow: 0 0 1px #00bcd4;
    box-shadow: 0 0 1px #00bcd4
}

input:checked+.slider:before {
    -webkit-transform: translateX(1.15em);
    transform: translateX(1.15em)
}

.slider.round {
    border-radius: 1.15em
}

.slider.round:before {
    border-radius: 50%
}

body {
    background-color: #eee
}

.logo {
    display: block;
    text-align: center;
    width: 140px;
    height: 140px;
    line-height: 140px;
    background: white;
    border-radius: 50%;
    margin: 1em auto
}

.logo img {
    max-height: 115px;
    max-width: 115px;
    vertical-align: middle
}

#main {
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 2rem;
    overflow: auto;
    padding-bottom: 1rem
}

@media only screen and (orientation: portrait) and (max-width: 600px), only screen and (orientation: landscape) and (max-width: 935px), only screen and (max-height: 579px) {
    #main {
        bottom:0
    }
}

#main h1 {
    text-align: center
}

#main a {
    text-decoration: underline
}

#main #formPanel {
    margin: auto
}

#main #formPanel .message {
    margin-bottom: 1em
}

#main #formPanel>* {
    max-width: 35rem;
    margin-left: auto;
    margin-right: auto
}

#main #formPanel form {
    max-width: 25rem;
    -webkit-box-shadow: 0 12px 15px 0 rgba(0,0,0,0.24),0 17px 50px 0 rgba(0,0,0,0.19);
    box-shadow: 0 12px 15px 0 rgba(0,0,0,0.24),0 17px 50px 0 rgba(0,0,0,0.19);
    padding: 3rem 3rem 2rem 3rem;
    border-radius: 3px;
    background: white
}

@media print {
    #main #formPanel form {
        -webkit-box-shadow: none;
        box-shadow: none
    }
}

#main #formPanel form button,#main #formPanel form input[type=email],#main #formPanel form input[type=password] {
    display: block;
    height: 2.5rem;
    line-height: 2.5rem
}

#main #formPanel form>p {
    margin-top: 3ex
}

#main #formPanel form>p:first-child {
    margin-top: 0
}

#main #formPanel form>p.err-msg+.err-msg {
    margin-top: 1ex
}

#main #formPanel form input[type=email],#main #formPanel form input[type=password] {
    font-size: 1.2rem;
    width: 100%;
    -webkit-box-shadow: none;
    box-shadow: none
}

#main #formPanel form button {
    min-width: 50%;
    margin-left: auto;
    margin-right: auto
}

#main #formPanel form button>span {
    display: inline
}

#main #formPanel form button+div {
    text-align: right
}

#main #formPanel form button+div a {
    float: left
}

#main #formPanel form label.optional:not(:required) {
    display: none
}

@media only screen and (orientation: portrait) and (min-width: 601px), only screen and (orientation: landscape) and (min-width: 936px) {
    html:not(.mobile) #main #formPanel form {
        width:35rem
    }

    html:not(.mobile) #main #formPanel form button,html:not(.mobile) #main #formPanel form input[type=email],html:not(.mobile) #main #formPanel form input[type=password] {
        height: 3rem;
        line-height: 3rem
    }
}

@media screen and (max-width: 37rem) {
    #main #formPanel form {
        -webkit-box-shadow:none;
        box-shadow: none;
        padding: 10px;
        border-radius: 0;
        background: none
    }
}

@media only screen and (max-height: 619px) {
    #main #formPanel form {
        padding:2rem 2rem 1rem 2rem
    }
}

.err-msg i.icon-help-circled {
    color: #D50000;
    margin-left: 1ex
}

#stayConnectedCb,#stayConnectedCb+label {
    float: right
}

#archaicBrowserWarning {
    display: none
}

html.archaic #archaicBrowserWarning {
    display: block;
    margin: 3em auto;
    background-color: red;
    color: white;
    font-size: 22px;
    max-width: 26em;
    padding: 1em
}

html.archaic #main {
    display: none
}
