/**********************************************************
* General
* NOTE: Currently, many of the rules below are not used,
* but I want to keep them as an illustration to how we can 
* do it if necessary.
* The approach and the stylesheet are borrowed from here:
* https://maintainablecss.com
**********************************************************/

* {
    margin: 0;
    padding: 0;
}

body {
    font-family: 'Open sans', helvetica, arial, sans-serif;
    text-rendering: optimizeLegibility;
    -webkit-font-smoothing: antialiased;
    font-size: 62.5%;
    font-size: 100%;
}

a:link,
a:visited {
    color: #222;
}

a:hover,
a:focus {
    text-decoration: none;
}

/**********************************************************
* Primary button
**********************************************************/

.primaryLinkButton:link,
.primaryLinkButton:visited {
    font-size: 0.94em;
    display: inline-block;
    text-decoration: none;
    margin: 0 auto;
    border-radius: 30px;
    text-transform: uppercase;
    padding: 12px 30px;
    font-weight: bold;
    letter-spacing: 0.04em;
    min-width: 150px;
    text-align: center;
    margin: 0 auto;
    background-color: #8E55A9;
    color: #fff;
}

.primaryLinkButton:hover {
    background-color: #6e4284;
}

/**********************************************************
* Footer
**********************************************************/

.footer {
    padding: 20px;
    overflow: hidden;
}

.footer-inner {
    max-width: 700px;
    margin: 0 auto;
}

.footer p {
    color: #222;
    font-size: 0.94em;
}

.footer a {
    color: #222;
}

/**********************************************************
* Header
**********************************************************/

.header {
    background-color: #fafafa;
}

.header-inner {
    overflow: hidden;
    padding: 20px;
    max-width: 700px;
    margin: 0 auto;
}

/**********************************************************
* Logo
**********************************************************/

.logo {
    font-size: 1.25em;
    text-align: center;
}

@media(min-width: 21.25em) {
    .logo {
        float: left;
        font-size: 0.94em;
    }
}

.logo a {
    text-decoration: none;
    font-weight: bold;
}

/**********************************************************
* Navigation
**********************************************************/

.navigation {
    font-size: 0.94em;
    text-align: center;
    margin-top: 10px;
}

@media(min-width: 21.25em) {
    .navigation {
        float: right;
        margin-top: 0;
    }
}

.navigation li {
    list-style: none;
    display: inline;
}

.navigation a {
    margin-left: 3px;
    margin-right: 3px;
    text-decoration: none;
}

@media(min-width: 21.25em) {
    .navigation a {
        margin-left: 7px;
        margin-right: 7px;
    }
}

.navigation a:hover,
.navigation a:active {
    color: #8E55A9;
}

a.navigation-isActive {
    border-bottom: 1px solid #8E55A9;
}

/**********************************************************
* Recs
**********************************************************/

.recommendations {
    padding: 40px 20px 20px;
}

.recommendations-title {
    text-align: center;
    font-size: 1.75em;
    line-height: 1.2em;
    max-width: 700px;
    margin-left: auto;
    margin-right: auto;
    margin-bottom: 20px;
    color: #222;
}

@media(min-width: 37.5em) {
    .recommendations-title {
        font-size: 2.19em;
    }
}

.recommendations-item {
    font-style: italic;
    margin-left: auto;
    margin-right: auto;
    padding-top: 30px;
    padding-bottom: 30px;
    color: #222;
    padding-left: 20px;
    padding-right: 20px;
    border-bottom: 1px dotted #aaa;
    max-width: 500px;
}

@media(min-width: 37.5em) {
    .recommendations-item {
        padding-left: 40px;
        padding-right: 40px;
    }
}

.recommendations-item:last-child {
    border: none;
    margin-bottom: 0;
}

.recommendations-item p {
    font-size: 1.13em;
    line-height: 1.7em;
    margin-left: auto;
    margin-right: auto;
    max-width: 500px;
    color: #222;
    text-align: center;
    /*font-family: 'PT serif';*/
}

@media(min-width: 37.5em) {
    .recommendations-item p {
        font-size: 1.38em;
    }
}

.recommendations-item cite {
    font-weight: bold;
}

/**********************************************************
* Data Entry Form
**********************************************************/
.enrollAuthForm-inner {
    margin-right: auto;
    margin-left: auto;
    max-width: 700px;
    padding: 40px 20px;
}

.enrollAuthForm-heading {
    font-size: 1.38em;
    line-height: 1.2em;
    margin-bottom: 10px;
}

@media (min-width: 37.5em) {
    .enrollAuthForm-heading {
        font-size: 1.57em;
        margin-bottom: 15px;
    }
}

.enrollAuthForm p {
    font-size: 1.13em;
    line-height: 1.7em;
    margin-bottom: 20px;
    max-width: 620px;
    /*font-family: 'PT serif';*/
}

@media(min-width: 37.5em) {
    .enrollAuthForm p {
        font-size: 1.38em;
        margin-bottom: 30px;
    }
}

.enrollAuthForm-label {
    font-size: 1.13em;
    line-height: 1.5;
    margin-bottom: 5px;
    display: block;
    /*font-family: 'PT serif';*/
}

@media(min-width: 37.5em) {
    .enrollAuthForm-label {
        font-size: 1.38em;
    }
}

.enrollAuthForm-email {
    text-decoration: none;
    padding: 9px 10px;
    font-size: 1.13em;
    color: #222;
    border: 2px solid #222;
    letter-spacing: -0.01em;
    margin: 0 auto;
    -webkit-appearance: none;
    background-color: #fff;
    width: 100%;
    box-sizing: border-box;
    margin-bottom: 15px;
    /*font-family: 'PT serif';*/
}

@media(min-width: 37.5em) {
    .enrollAuthForm-email {
        font-size: 1.38em;
    }
}

@media(min-width: 36em) {
    .enrollAuthForm-email {
        display: inline-block;
        max-width: 330px;
        margin-right: 10px;
    }
}

.enrollAuthForm-email:focus {
    outline: 3px solid #222;
    border: 2px solid #222;
}

.enrollAuthForm-button {
    text-transform: uppercase;
    text-decoration: none;
    padding: 14px 17px;
    font-size: 0.94em;
    color: #222;
    font-weight: bold;
    border: none;
    letter-spacing: 0.04em;
    text-align: center;
    margin: 0 auto;
    -webkit-appearance: none;
    background-color: #00AEEF; /* #8E55A9;*/
    color: #fff;
    width: 100%;
    box-sizing: border-box;
    font-family: 'Open sans';
    /*border-radius: 30px;*/
}

@media(min-width: 36em) {
    .enrollAuthForm-button {
        display: inline-block;
        width: 180px;
    }
}

.enrollAuthForm-button:hover {
    background-color: #505152; /*#6e4284;*/
}

.errorMsg {
    padding: 10px; 
    margin-bottom: 10px;
    background-color: #fef1ec;
    color: #cd0a0a;
    border: 1px solid #cd0a0a;
    border-radius: 5px;
    font-size: 1.13em;
}
