html {
    background: #def;
    height: 100%;
    width: 100%;
    padding: 0;
}

body {
    padding: 0;
    margin: 0;
}

#frame {
    right: 50%;
    bottom: 50%;
    transform: translate(50%,50%);
    position: absolute;
    width: 500px;
    padding: 20px;
    border: #acb solid 2px;
    border-radius: 20px;
    background: #dfe;
    box-shadow: 0px 0px 10px #bbb;
}

#title {
    display: grid;
    grid-template-columns: auto auto;
}

h1 {
    font-size: 20pt;
}

h2 {
    font-size: 12pt;
}

#credentials {
    display: table;
    width: 100%;
    margin-bottom: 5px;
}

#credentials>div {
    display: table-row;
}

#credentials>div>* {
    display: table-cell;
    margin: 5px 0px;
}

#credentials label {
    width: 200px;
    text-align: right;
    padding-right: 10px;
}

#credentials input {
    width: 260px;
}

.error, .error-full {
    background: red;
    font-weight: bold;
    text-align: center;
    padding: 5px;
    margin: 5px 0px;
    border: solid 1px #700;
    border-radius: 5px;
}

.error-full {
    margin: 30px 0px;
}

.info {
    text-align: center;
    padding: 20px;
}

#action {
    text-align: right;
}

#action>a {
    font-size: small;
    padding-right: 15px;
}


#logo {
    margin: -5px -5px;
    height: 138px;
    width: 138px;
}

img {
    margin: 5px 5px;
    height: 128px;
    transition: height 0.3s, margin 0.3s;
}

img:hover {
    margin: 0px 0px;
    height: 138px;
}


@media screen and (max-width: 420px) {
    
    #logo {
        margin: 0;
        height: 64px;
        width: 64px;
    }

    img {
        margin: 0;
        height: 64px;
        transition: none;
    }

    img:hover {
        margin: 0;
        height: 64px;
    }
    
    #frame {
        position: relative;
        right: auto;
        bottom: auto;
        margin: 0;
        transform: none;
        width: inherit;
        display: block;
        border: none;
        border-radius: 0;
        box-shadow: none;
        background: #def;
    }
    
    #title {
        margin: -20px -20px 20px -20px;
        padding: 10px;
        background: #dfe;
        box-shadow: 0px 0px 10px #bbb;
    }
    
    h1 {
        font-size: 12pt;
    }
    
    h2 {
        font-size: 9pt;
    }
    
    #credentials {
        display: block;
    }

    #credentials>div {
        display: block;
    }

    #credentials>div>* {
        display: block;
    }
    
    #credentials input {
        width: calc(100% - 20px);
        margin: 0px;
        margin-top: 5px;
        margin-bottom: 15px;
    }
        
    #credentials label {
        width: 100%;
        margin: 0px;
        padding: 0px;
        text-align: left;
    }
    
    #action {
        margin-top: 20px;
        padding-right: 5px;
    }
    
    #action a {
        position: relative;
        float: right;
        width: 80%;
        height: 0px;
        right: -10px;
        top: 50px;
    }
    
    body {
        height: 100%;
    }
    
    #frame {
        height: 80%;
    }
    
}
