html, body, div, span, applet, object, iframe,
h1, h2, h3, h4, h5, h6, p, blockquote, pre,
h1, h2, h3, h4, h5, h6, p, blockquote, pre,
a, abbr, acronym, address, big, cite, code,
del, dfn, em, img, ins, kbd, q, s, samp,
small, strike, strong, sub, sup, tt, var,
b, u, i, center,
dl, dt, dd, ol, ul, li,
fieldset, form, label, legend,
table, caption, tbody, tfoot, thead, tr, th, td,
article, aside, canvas, details, embed,
figure, figcaption, footer, header, hgroup,
menu, nav, output, ruby, section, summary,
time, mark, audio, video {
    margin: 0;
    padding: 0;
    border: 0;
    font-size: 100%;
    font: inherit;
    vertical-align: baseline
}

html {
    height: 100%;
}

article, aside, details, figcaption, figure,
footer, header, hgroup, menu, nav, section {
    display: block
}

abbr[title] {
    border-bottom: 1px dotted;
    cursor: help
}

/* 1.ROOT */
body {
    margin: 0 auto;
    width: 100%;
    min-height: 100%;
    font-family: "museo-sans", sans-serif;
}

.clearfix {
    display: grid;
    grid-template-rows: 1fr auto;
}

.clearfixLogin {
    background: #1A4073;
    display: grid;
    grid-template-rows: 1fr auto;
}

.wrap {
    width: 100%;
    display: grid;
    min-height: 100%;
    grid-template-rows: auto 1fr;
    grid-template-columns: 100%;
}

.wrapLogin {
    width: 100%;
    display: grid;
    min-height: 100%;
}

small {
    display: block;
    font-size: .8em
}

li p {
    font-size: 1em
}

i, em {
    font-style: italic
}

.mainTheme {
    background: #1A4073;
    color: #ffffff;
    font-size: 1.2rem;
}

/* 3.LINKS */
a {
    outline: none;
    color: #E0E8FF;
    text-decoration: underline;
}

h1 {
    font-size: 2.4em
}

h2 {
    font-size: 2.1em
}

h3 {
    font-size: 1.8em
}

h4 {
    font-size: 1.5em;
    margin-bottom: 1.4em
}

h5 {
    font-size: 1.1em
}

h6 {
    font-size: .9em
}
@media screen and (max-width: 599px) {
  h1 {
      font-size: 2em;
  }
  h2 {
      font-size: 1.8em;
  }
}

.mt-2 {
    margin-top: 0.5rem;
}

.content--sso {
    position: relative;
    margin: auto;
}

.waves {
    background: url(../images/longwaves.png) no-repeat bottom;
    min-height: 130px;
    grid-row-start: 2;
    grid-row-end: 3;
    background-size: 150%;
}

@media screen and (max-width: 767px) {
    .waves {
        background-size: auto;
    }
}

@media screen and (min-width: 768px) and (max-width: 991px){
    .waves {
        min-height: 70px;
    }
}

.layout-content {
    display: -ms-grid;
    display: grid;
    grid-template-columns: repeat(12, 1fr);
    -ms-grid-rows: auto 1.25rem auto 1.25rem auto;
    grid-template-rows: repeat(1, auto);
    -ms-grid-column-span: 12;
    grid-column: 1/-1;
    max-width: 1400px;
    margin-left: auto;
    margin-right: auto;
}
@media screen and (max-width: 767px) {
    .layout-content {
        padding: 0 1.25rem;
        margin-top: clamp(1em, 3vh, 3em);
    }
}
@media screen and (min-width: 768px) and (max-width: 991px) {
    .layout-content {
        padding: 0 1.25rem;
    }
}

.loginPage {
    color: #ffffff;
    max-width: 1400px;
}

form {
    -ms-grid-column-span: 12;
    grid-column: span 12;
    display: inline;
    display: -ms-grid;
    display: grid;
    grid-template-columns: repeat(12, 1fr);
    -ms-grid-rows: auto;
    grid-template-rows: repeat(1, auto);
    padding-top: 1em;
}

/* Login */

.loginHeader {
    text-align: center;
    display: grid;
    grid-column: 1/-1;
}

.loginMessage {
    text-align: center;
    padding: 1rem;
    display: grid;
    grid-column: 1/-1;
    line-height: 1.5rem;
}

.loginContainer {
    padding: 10px 0;
    display: grid;
    grid-column: 1/-1;
}

.loginLbl {
    color: #ffffff
}

.loginInput {
    width: 100%;
    border-radius: 7px;
    border: 1px #1a4073;
    padding: 10px 0 10px 5px;
    box-sizing: border-box;
    margin-top: 0.5ex;
}

.loginUserControls {
    display: grid;
    grid-column: 1/-1;
    grid-template-rows: repeat(1, auto);
    margin: 15px 0;
}

.forgotPassword {
    text-align: center;
    grid-column: 1/-1;
}

.forgotPasswordLink {
    color: #ffffff;
    text-decoration: none;
}

.forgotPasswordLink:hover {
    color: #aaaaaa;
}

.loginCtrls {
    display: grid;
    grid-column: 1/-1;
    width: 100%;
    margin: 20px 0;
    border-radius: 7px;
    box-shadow: 4px 4px 10px #000000;
}

.loginBtn {
    font-size: 1.5em;
    color: #fff;
    border: none;
    padding: 10px;
    border-radius: 7px;
    background: #265DA6;
}

.loginBtn:visited {
    color: #fff;
}

.loginBtn:hover {
    position: relative;
    background: #155a8e;
    background: linear-gradient(#1f5883, #155a8e);
    background: -moz-linear-gradient(#1f5883, #155a8e);
    background: -o-linear-gradient(#1f5883, #155a8e);
    -pie-background: linear-gradient(#1f5883, #155a8e)
}

.mainContent {
    grid-column: span 12;
    display: grid;
    grid-template-columns: repeat(12, 1fr);
}

.mainContent > h4 {
    width: 178px;
    background-color: whitesmoke;
    padding: 6px;
    -moz-border-radius: 3px;
    -webkit-border-radius: 3px;
    border-radius: 3px
}

.blueWaves {
    background: url(../images/blueWaves.svg) no-repeat bottom;
    min-height: 140px;
    grid-row-start: 2;
    grid-row-end: 3;
    background-size: 100%;
    margin-top: 20px;
}
@media screen and (max-width: 767px) {
    .blueWaves {
        background-size: auto;
    }
}

@media screen and (min-width: 768px) and (max-width: 991px) {
    .blueWaves {
        min-height: 0;
    }
}

.site-footer .footer-menu {
    display: -ms-grid;
    display: grid;
    grid-column: span 12;
    max-width: 1400px;
    margin-left: auto;
    margin-right: auto;
    margin-bottom: 10px;
    color: #ffffff;
}

@media screen and (max-width: 768px) {
    .site-footer .footer-menu {
        display: -ms-grid;
        display: grid;
        grid-template-columns: none;
    }
}

.site-footer ul {
    grid-column: 2/13;
    padding-left: 0;
}

@media screen and (max-width: 767px) {
    .site-footer ul {
        text-align: center;
        margin-bottom: 0.3125rem;
        grid-column: 1/-1;
    }
}

@media screen and (min-width: 768px) and (max-width: 991px) {
    .site-footer ul {
        text-align: center;
        margin-bottom: 0.3125rem;
        grid-column: 1/-1;
    }
}

.site-footer ul li {
    display: inline-block;
    margin-right: 20px;
    color: #ffffff;
}

@media screen and (max-width: 767px) {
    .site-footer ul li {
        margin-top: 0.625rem;
    }

    .site-footer ul li:first-child {
        width: 100%;
    }
}

@media screen and (min-width: 768px) and (max-width: 991px) {
    .site-footer ul li {
        margin-top: 0.625rem;
    }

    .site-footer ul li:first-child {
        width: 100%;
    }
}

@media screen and (max-width: 767px) {
    .site-footer ul li {
        grid-column: 1/-1;
    }
}

.site-footer ul li a {
    color: #ffffff;
    margin: 0 0.3125rem;
}

@media screen and (max-width: 767px) {
    .site-footer ul li a {
        margin-left: 0;
        margin-right: 0.625rem;
    }
}

@media screen and (min-width: 768px) and (max-width: 991px) {
    .site-footer ul li a {
        margin-left: 0;
        margin-right: 0.625rem;
    }
}

.errorMessage {
    color: #FF8AA6;
    display: block;
    margin: 5px 0;
    line-height: 1.5rem;
    font-weight: bold;
}

.underlineLink a:visited {
    color: #001970;
}

.coLogoWrap {
    display: grid;
    grid-column: 1/-1;
    width: 100%;
}
.coLogo {
    margin: auto;
    background: white;
    border-radius: 50%;
    height: 150px;
    width: 150px;
    text-align: center;
    display: grid;
    align-items: center;
    justify-content: center;
    grid-column: 1/-1;
}
.admin .coLogo {
    height: auto;
    width: auto;
    background: none;
}

.underlineLink {
    text-decoration: underline;
}

.unlockingForm {
  border-bottom: 1px solid gray;
}

.backToLoginCrtls {
    display: grid;
    grid-column: 1/-1;
    width: 30%;
    margin: auto;
    border-radius: 7px;
    box-shadow: 4px 4px 10px #000000;
}

.backToLoginLink {
    text-align: center;
    line-height: 1.75em;
    font-size: 2rem;
    text-decoration: none;
    background: #265DA6;
    border-radius: 7px;
}
