﻿html, body {
    line-height: 1.6;
    font-weight: 300;
    color: #444;
    padding: 0;
    margin: 0;
    font-family: 'Lato', serif;
}

html {
    height: 100%;
}

body {
    min-height: 100%;
    display: -ms-flexbox;
    display: -webkit-flex;
    display: flex;
    -webkit-flex-direction: column;
    -ms-flex-direction: column;
    flex-direction: column;
}

.body-content {
    -moz-box-sizing: border-box;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    padding: 2rem 1rem 2rem 1rem;
    color: white;
    background-color: #002d62;
    min-height: 63vh;
}

    .body-content > div, .body-content > p, .body-content .form-inline {
        padding: 0;
        max-width: 16rem;
        margin: 2rem auto 0 auto;
    }

    .body-content > p {
        max-width: 24rem;
        font-size: 0.9rem;
    }

    .body-content > ol {
        max-width: 37rem;
        margin: 2rem auto;
    }

        .body-content > ol > li {
            padding: 0 1rem;
        }

.page-content {
    margin: 0px auto;
    max-width: 86rem;
}

h1 {
    font-weight: 900;
    font-size: 2.25rem;
    line-height: 2.7rem;
    font-family: 'Lato', sans-serif;
    text-align: center;
    margin: 0;
}

h2, h3 {
    margin: 0;
    text-align: center;
    line-height: 1.6rem;
}

h1 + h2 {
    margin: 0 auto;
}

h2 {
    max-width: 24rem;
    font-size: 1.2rem;
    font-weight: 300;
    text-align: center;
    margin: 2rem auto 0 auto;
}

h3 {
    font-size: 0.9rem;
    font-weight: 400;
}

ul.form-inline {
    list-style-type: none;
    font-family: 'Lato', sans-serif;
    padding: 0;
}

    ul.form-inline li {
        margin-bottom: 1.25rem;
        padding: 0;
    }

    ul.form-inline label {
        display: block;
        color: #51626f;
        font-size: 0.6rem;
        line-height: 0.75rem;
        font-weight: lighter;
        padding: 0.45rem 0.5rem 0rem 0.5rem;
        background-color: white;
        -moz-box-sizing: border-box;
        -webkit-box-sizing: border-box;
        box-sizing: border-box;
    }

    ul.form-inline input[type=text], ul.form-inline input[type=email], ul.form-inline input[type=password] {
        -webkit-appearance: none;
        -moz-appearance: none;
        appearance: none;
        display: block;
        margin: 0;
        border: 0;
        border-radius: 0;
        font-size: 1rem;
        line-height: 1.3rem;
        font-weight: bold;
        -moz-box-sizing: border-box;
        -webkit-box-sizing: border-box;
        box-sizing: border-box;
        padding: 0rem 0.5rem 0.5rem 0.5rem;
        color: black;
        width: 100%;
        font-family: 'Lato', serif;
        font-weight: 400;
    }

    ul.form-inline input.disabled {
        background-color: #f7f7f7;
    }

    ul.form-inline li .recaptcha-container {
        margin: 0 auto;
        width: 304px;
    }

::-webkit-input-placeholder {
    font-weight: normal;
    color: #51626f;
}

::-moz-placeholder {
    font-weight: normal;
    color: #51626f;
}

:-ms-input-placeholder {
    font-weight: normal;
    color: #51626f;
}

.boldify {
    font-weight: 400;
}

.errorPage {
    max-width: 30rem !important;
}

    .errorPage > h1 {
        margin-left: auto;
        margin-right: auto;
        margin-bottom: 2rem;
        max-width: 24rem;
    }

ul.form-inline li.button-input {
    margin-top: 20px;
}

ul.form-inline input[type=submit] {
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
    background-color: #002d62;
    border: solid 0.1rem white;
    color: white;
    border-radius: 0.375rem;
    padding: 1rem;
    display: block;
    width: 100%;
    text-transform: uppercase;
    font-size: 0.9rem;
    font-weight: normal;
    line-height: 1.05rem;
    font-family: 'Lato', sans-serif;
    height: 3rem;
}

    ul.form-inline input[type=submit]:hover, ul.form-inline input[type=submit]:active {
        background-color: rgba(255, 255, 255, 0.1);
    }

ul.form-inline a, ul.form-inline a:visited {
    font-size: 0.7rem;
    line-height: 0.95rem;
    text-align: center;
    display: block;
    text-decoration: none;
    opacity: 0.6;
}

    ul.form-inline a:hover, ul.form-inline a:active {
        text-decoration: underline;
        font-style: inherit;
    }


a, a:visited {
    color: white;
    text-decoration: underline;
    font-family: 'Lato', serif;
    font-weight: 300;
}

    a:hover, a:active {
        text-decoration: none;
        font-family: 'Lato', serif;
    }

.field-validation-error {
    display: block;
    background-color: darkred;
    padding: 0.5rem;
    color: white;
    font-size: smaller;
}

img.logo {
    width: 8rem;
    height: 3.61rem;
}

.termsHeader {
    max-width: 37rem;
    margin: 2rem auto;
    padding-left: 3.4rem;
    text-align: left;
}

.disclaimer {
    font-weight: 400;
    font-size: 0.75rem;
    font-family: Lato;
    color: #51626f;
    vertical-align: top;
    margin-left: auto;
    padding-top: 1rem;
    padding-bottom: 2rem;
    width: calc(100% - 9rem);
    float: right;
}

    .disclaimer em {
        font-weight: 400;
        font-style: normal;
    }

    .disclaimer p {
        margin: 0;
        margin-bottom: 0.5rem;
    }

    .disclaimer > div {
        vertical-align: top;
    }

    .disclaimer > .terms {
        overflow: hidden;
    }

        .disclaimer > .terms input {
            font-size: 0.9rem;
            font-weight: 400;
            font-family: lato;
            text-align: left;
            background: none;
            text-decoration: none;
            border: none;
            color: #51626f;
            padding: 0;
            line-height: 1.6rem;
            width: 100%;
            cursor: pointer;
            text-decoration: underline;
        }

    .disclaimer > div:not(.logo-container) {
        margin: 0 0.75rem;
    }

    .disclaimer > div > * {
        text-align: left;
    }



footer {
    -webkit-flex: 1 1 auto;
    -ms-flex: 1 1 auto;
    flex: 1 1 auto;
    background-color: white;
    position: relative;
    min-height: 28vh;
}

.footer-content {
    margin-left: calc(85px + 3.5%);
    margin-right: calc(85px + 3.5%);
    background-color: white;
    border-top: solid 2px #f1f1f1;
    margin-top: 3.5rem;
}

.logo-container {
    margin-top: 1.25rem;
    margin-right: 1rem;
}

.footer-content .logo-container, .footer-content .copyright {
    font-weight: 300;
    font-size: 0.65rem;
    font-family: Lato;
    color: #51626f;
    display: inline-block;
}

#rc-imageselect {
    -moz-transform: scale(0.75);
    -ms-transform: scale(0.75);
    -o-transform: scale(0.75);
    transform: scale(0.75);
    -webkit-transform: scale(0.75);
    -moz-transform-origin: 0 0;
    -ms-transform-origin: 0 0;
    -o-transform-origin: 0 0;
    transform-origin: 0 0;
    -webkit-transform-origin: 0 0;
}

.help-block {
    margin-top: 0.8rem;
    font-size: 0.8rem;
}

    .help-block ul li {
        margin-bottom: 0.4rem;
    }


.body-content .termParagraph {
    padding-left: 2.5rem;
    max-width: 36rem;
}

.disclaimerList {
    font-size: 0.8rem;
    padding-left: 1.5rem;
}

.body-content .termsButtons {
    max-width: 33rem;
    height: 2.5rem;
    display: -ms-flexbox;
    display: -webkit-flex;
    display: flex;
    -webkit-justify-content: space-around;
    -ms-flex-pack: distribute;
    justify-content: space-around;
}

    .body-content .termsButtons form {
        display: inline-block;
    }

    .body-content .termsButtons input[type=submit]:not(.goBackPrevious):not(:first-child) {
        margin-left: 1rem;
    }

    .body-content .termsButtons input[type=submit].goBackPrevious {
        width: 60%;
        margin: auto;
    }

    .body-content .termsButtons input[type=submit] {
        -webkit-appearance: none;
        -moz-appearance: none;
        appearance: none;
        background-color: #002d62;
        border: solid 0.125rem white;
        color: white;
        border-radius: 0.375rem;
        padding: 1rem;
        display: block;
        width: 40%;
        text-transform: uppercase;
        font-size: 0.9rem;
        font-weight: normal;
        line-height: 0.05rem;
        font-family: 'Lato', sans-serif;
        height: 2rem;
    }

        .body-content .termsButtons input[type=submit]:hover, .termsButtons input[type=submit]:active {
            background-color: rgba(255, 255, 255, 0.1);
        }


.forgotten_password {
    font-size: 0.75rem !important;
}

.Popup {
    position: absolute;
    max-width: none !important;
    max-height: none !important;
    padding: 0 !important;
    right: 0;
    left: 0;
}

.PopupOverlay {
    width: 100%;
    height: 100%;
    margin: 0 !important;
    z-index: 990;
    top: 0;
    bottom: 0;
}

.PopupBackground {
    width: 40%;
    margin: auto !important;
    background-color: white;
    border-radius: 0.5rem;
    color: black;
    top: 50%;
    transform: translateY(-50%);
}

.PopupContent {
    padding: 2rem;
    font-family: lato;
    font-weight: 300;
    text-align: center;
}

    .PopupContent p {
        margin: 1rem 0 0 0;
    }

    .PopupContent > p {
        font-size: 1.875rem;
        line-height: 2.4rem;
        margin-top: 0rem;
        margin-bottom: 1rem;
    }

.Application {
    display: inline-block;
    margin: 1rem 3rem 0.5rem 3rem;
    cursor: pointer;
}

.ApplicationIcon {
    width: 7.5rem;
    height: 7.5rem;
    margin: 0 auto;
    border-radius: 50%;
}

    .ApplicationIcon img, .ApplicationIcon .ApplicationIconPlacerHolder {
        margin-top: 0.4rem;
        width: 45%;
    }

    .ApplicationIcon + p {
        color: #808080;
        font-size: 1.125rem;
    }

.Application table {
    background-color: #68b0ab;
}

.Application:hover table {
    opacity: 0.5
}

.DarkOverlay {
    background-color: rgba(0,0,0,0.4);
}

.boldLiner {
    font-weight: bold;
}

/*12px; - Smaller than Tablet(64rem / 64rem)  1024*/
@media only screen and (max-width: 1024px), only screen and (max-device-width: 1024px) {
    .footer-content {
        margin-top: 2rem;
    }

    .PopupBackground {
        width: 85%;
    }

    .PopupContent > p {
        font-size: 2rem;
    }

    .ApplicationIcon + p {
        font-size: 1.5rem;
    }
}

@media only screen and (min-width : 481px) {
    .copyright {
        position: absolute;
        left: 50%;
        -moz-transform: translateX(-50%);
        -ms-transform: translateX(-50%);
        -o-transform: translateX(-50%);
        -webkit-transform: translateX(-50%);
        transform: translateX(-50%);
        bottom: 2%;
    }
}

@media screen and (max-device-width: 740px), (max-width: 740px) {
    .forgotten_password {
        font-size: 1rem !important;
        font-family: 'Lato' !important;
    }
        .forgotten_password:hover, .forgotten_password:active {
            font-family: 'Lato' !important;
        }

    .termsHeader {
        padding-left: 2.4rem;
    }

    .body-content > p {
        font-size: 1.2rem;
    }

    .disclaimerList {
        font-size: 1rem;
    }
}

@media only screen and (orientation: portrait) and (max-width : 480px), only screen and (orientation: portrait) and (max-device-width: 480px) {
    h1 {
        font-size: 2.33rem;
        line-height: 2.84rem;
    }

    h2, h3 {
        font-size: 1.17rem;
        line-height: 1.67rem;
    }

    .body-content > form {
        margin-top: 3.33rem;
    }

    ul.form-inline li {
        margin-bottom: 1.67rem;
    }

        ul.form-inline li.button-input {
            margin-bottom: 2.083rem;
        }



    ul.form-inline label {
        font-size: 1rem;
        line-height: 1.25rem;
    }

    ul.form-inline input[type=text],
    ul.form-inline input[type=email],
    ul.form-inline input[type=password] {
        font-size: 1.67rem;
        line-height: 2rem;
    }

    ul.form-inline input[type=submit] {
        height: 5rem;
        font-size: 1.5rem;
        line-height: 1.83rem;
    }

    ul.form-inline a, ul.form-inline a:visited {
        font-size: 1.17rem;
        line-height: 1.417rem;
    }

    .body-content {
        min-height: 63vh;
        padding: 3.33rem 2.5rem 1.25rem 2.5rem;
        -webkit-flex: 1 0 auto;
        -ms-flex: 1 0 auto;
        flex: 1 0 auto;
    }

        .body-content > div, .body-content > p, .body-content .form-inline {
            margin-top: 2.6rem;
            max-width: none;
        }

    .footer-content {
        margin: 1.67rem 2.5rem 0.25rem 2.5rem;
        display: block;
        position: relative;
    }

    footer {
        height: 10.5rem;
        -webkit-flex: 0 1 auto;
        -ms-flex: 0 1 auto;
        flex: 0 1 auto;
    }

    .footer-content .disclaimer {
        width: 100%;
        padding-top: 1.67rem;
        padding-bottom: 1.67rem;
    }

    .disclaimer {
        font-size: 0.917rem;
        line-height: 1.67rem;
    }

        .disclaimer > .terms input {
            font-size: 1.17rem;
            line-height: 1.67rem;
        }

    .footer-content .logo-container {
        margin: 0 auto;
    }

    .footer-content .logo-container,
    .footer-content {
        display: block;
        text-align: center;
        font-family: "Lato";
        color: #ccc;
    }

    .copyright {
        position: static;
    }

    .footer-content > .logo-container > img.logo {
        width: 12rem;
        height: 5.42rem;
        padding-top: 1.67rem;
    }
}

.body-content .error-body {
    max-width: 24rem;
    font-size: 1.2rem;
    text-align: center;
}

    .body-content .error-body em, .body-content .error-body a {
        font-weight: bold;
        font-style: normal;
    }

.body-content .error-timestamp {
    font-size: 0.8rem;
}