/**
 * CSS for login form
 *
 * This file is in version control:
 * https://github.com/uofa/global-environment
 *
 * Created 22 Feb 2019
 * Updated 16 May 2019
 *
 * Last update: consistent focus styles.
 *
 * @author Allan A Beattie
 */


/* normalise
------------------------------------------------------------ */

/*! normalize.css v3.0.1 | MIT License | git.io/normalize */html{font-family:sans-serif;-ms-text-size-adjust:100%;-webkit-text-size-adjust:100%}body{margin:0}article,aside,details,figcaption,figure,footer,header,hgroup,main,nav,section,summary{display:block}audio,canvas,progress,video{display:inline-block;vertical-align:baseline}audio:not([controls]){display:none;height:0}[hidden],template{display:none}a{background:0 0}a:active,a:hover{outline:0}abbr[title]{border-bottom:1px dotted}b,strong{font-weight:700}dfn{font-style:italic}h1{font-size:2em;margin:.67em 0}mark{background:#ff0;color:#000}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sup{top:-.5em}sub{bottom:-.25em}img{border:0}svg:not(:root){overflow:hidden}figure{margin:1em 40px}hr{-moz-box-sizing:content-box;box-sizing:content-box;height:0}pre{overflow:auto}code,kbd,pre,samp{font-family:monospace,monospace;font-size:1em}button,input,optgroup,select,textarea{color:inherit;font:inherit;margin:0}button{overflow:visible}button,select{text-transform:none}button,html input[type=button],input[type=reset],input[type=submit]{-webkit-appearance:button;cursor:pointer}button[disabled],html input[disabled]{cursor:default}button::-moz-focus-inner,input::-moz-focus-inner{border:0;padding:0}input{line-height:normal}input[type=checkbox],input[type=radio]{box-sizing:border-box;padding:0}input[type=number]::-webkit-inner-spin-button,input[type=number]::-webkit-outer-spin-button{height:auto}input[type=search]{-webkit-appearance:textfield;-moz-box-sizing:content-box;-webkit-box-sizing:content-box;box-sizing:content-box}input[type=search]::-webkit-search-cancel-button,input[type=search]::-webkit-search-decoration{-webkit-appearance:none}fieldset{border:1px solid silver;margin:0;padding:0.35em 0.625em 0.75em}legend{border:0;padding:0}textarea{overflow:auto}optgroup{font-weight:700}table{border-collapse:collapse}

* {
    box-sizing: border-box;
}

body {
    display: grid;
    grid-template-rows: 0.75fr max-content max-content 1.25fr;
    column-gap: 0;
    justify-items: center;
    height: 100vh;
    margin: 0;
    padding: 2em 5%;
    background: #fefefe;
    font-family: 'Source Sans Pro', sans-serif;
    font-size: 15px;
    color: #444;
}

a {
    border-bottom: 1px dotted #0673ac;
    text-decoration: none;
    color: #0673ac;
}

a:hover,
a:focus {
    border-bottom: 1px solid #0673ac;
    text-decoration: none;
}

a:focus {
    outline: 3px solid #9263de;
    outline-offset: 2px;
}

a[target $="_blank"]::after,
a[href^="mailto:"]::after {
    display: inline-block;
    margin-left: 0.3em;
    font-family: 'Font Awesome 5 Pro';
    font-size: 0.9em;
    text-decoration: none;
    color: #777;
}

a[target $="_blank"]::after {
    content: '\f08e';
}

a[href^="mailto:"]::after {
    content: '\f0e0';
}

header,
main {
    width: 100%;
}

header {
    grid-row: 2;
    text-align: center;
}

.uni_logo {
    margin: 0 auto 1.6em;
    max-width: 200px;
}

.uni_logo a {
    display: block;
    border-bottom: 0;
}

.uni_logo img {
    display: block;
    width: 100%;
    height: auto;
}

h1 {
    margin: 0 auto 1.3em;
    font-size: 1.5em;
    font-weight: 400;
}

main {
    grid-row: 3;
}

.warning,
.advisory,
.information,
.confirmation {
    position: relative;
    max-width: 26em;
    margin: 0 auto 2em;
    padding: 1.15em;
    border: 1px solid #fcdfa9;
    border-radius: 0.5em;
    background: #fef8eb;
}

.warning > *,
.advisory > *,
.information > *,
.confirmation > * {
    margin: 0 0 0 3em;
}

.warning::before,
.information::before,
.confirmation::before {
    position: absolute;
    display: inline-block;
    top: 0.4em;
    top: calc(50% - 0.5em);
    left: 0.5em;
    font-family: 'Font Awesome 5 Pro';
    font-size: 2em;
    font-weight: bold;
    line-height: 1;
}

.warning::before {
    content: '\f071';
    color: #ff6820;
    color: rgba(255, 0, 0, 0.4);
}

.warning {
    border: 1px dotted rgba(255, 0, 0, 0.6);
    background-color: rgba(255, 0, 0, 0.1);
    color: #900;
}

.information::before {
    content: '\f05a';
    color: #9dbff2;
}

.information {
    border-color: #9dbff2;
    background-color: #e2edfc;
}

.confirmation::before {
    content: '\f058';
    color: #98c653;
}

.confirmation {
    border-color: #98c653;
    background-color: #cdf196;
    color: #456d07;
}

.warning:focus,
.advisory:focus,
.information:focus,
.confirmation:focus {
    outline: 3px solid #9263de;
    outline-offset: 2px;
}

form {
    width: 100%;
    margin: 0 auto 2em;
    padding: 2em 6.5%;
    background: #f3f3f3;
    border-radius: 0.3em;
    box-shadow: 0 0 0.6em -0.1em rgba(0, 0, 0, 0.3);
}

fieldset {
    margin: 0;
    padding: 0;
    border: 0;
}

legend {
    position: absolute;
    overflow: hidden;
    width: 1px;
    height: 1px;
    clip-path: inset(100%);
    clip: rect(1px 1px 1px 1px);
    clip: rect(1px, 1px, 1px, 1px);
    white-space: nowrap;
}

label,
input {
    display: block;
}

label {
    margin: 0 0 0.3em;
    font-weight: 700;
}

input {
    width: 100%;
    margin: 0 0 1.6em;
    padding: 0.6em;
    border: 1px solid #aaa;
    border-radius: 0.3em;
}

input:focus {
    background: #fdffce;
    outline: 3px solid #9263de;
    outline-offset: 2px;
}

button {
    display: block;
    margin: 0 auto;
    padding: 0.3em 2em;
    border: 0;
    border-radius: 0.3em;
    background: #1f3165;
    font-size: 1.1em;
    font-weight: 700;
    cursor: pointer;
    color: #eee;
}

button:hover,
button:focus {
    background: #354b8c;
}

button:focus {
    outline: 3px solid #9263de;
    outline-offset: 2px;
}

main > p {
    text-align: center;
}

.hidden {
    display: none;
}

@media screen and (min-width: 24.6em) {
    form {
        width: 20em;
        padding: 2em;
    }
}
