
@import url("common.css");


@media screen and (min-width: 800px) {

    /*#region LAYOUT */

    html, body {
        width: 100%;
        height: 100%;
        margin: 0;
        padding: 0;
        background-color: #fff;
        font-family: OpenSans-SemiBold, sans-serif;
        position: relative;
    }

    .page-wrapper {
        display: block;
        position: relative;
        box-sizing: border-box;
        overflow: auto;
        width: 100%;
    }

    .page-wrapper > div {
        display: block;
        position: relative;
        box-sizing: border-box;
        padding: 1em;
        margin: 0 auto;
    }

    /*#region Header */

    .page-header .logo {
        display: block;
        position: relative;
        box-sizing: border-box;
        padding: 1em .5em;
        max-width: 300px;
        margin: 0 auto;
    }

    .page-header .logo a {
        text-decoration: none;
        outline: 0;
        text-align: center;
    }

    .page-header .logo img {
        width: 100%;
        height: auto;
    }

    /*#endregion */

    /*#region Portal Form */

    .portal-form {
        display: block;
        box-sizing: border-box;
        height: auto;
        overflow: hidden;
        text-align: left;
        vertical-align: middle;
    }

    .portal-form > div {
        margin-top: 2em;
    }

    .portal-form .ctrlbox {
        margin-bottom: 2em;
        display: block;
        overflow: visible;
        padding: 0;
    }

    .portal-form input[type=text], .portal-form input[type=email], .portal-form input[type=password] {
        display: inline-block;
        border: 0;
        border-bottom: 1px solid #444;
        width: 95%;
        outline: 0;
        background-color: transparent;
    }

    .portal-form .input-wrapper {
        display: block;
        box-sizing: border-box;
        color: #666;
    }

    .portal-form .input-wrapper > input {
        display: inline-block;
        margin-left: 1em;
        width: 85%;
    }

    .portal-form .marketing-wrapper label {
        background-image: none;
        background-color: transparent;
        color: #666;
        font-size: small;
        padding: .15em;
        margin: .25em 0em;
    }

    .portal-form .portal-form-submit-button {
        display: block;
        padding: .5em 1em;
        margin-top: 1.5em;
        border: 1px solid transparent;
        color: #fff;
        background-color: #be2438;
        width: 100%;
        outline: 0;
        cursor: pointer;
        text-align: center;
    }

    .portal-form .form-links {
        display: block;
        position: relative;
        overflow: hidden;
        text-align: center;
    }

    .portal-form .form-links a {
        display: block;
        text-decoration: none;
        font-size: 12pt;
        vertical-align: middle;
        padding: .5em 0em;
    }

    .portal-form .validation-summary {
        padding: 1em;
    }

    .portal-form .validation-summary-errors ul {
        padding: 0;
        margin: 0;
        font-size: .9em;
    }

    .portal-form .validation-summary-errors ul li {
        padding: .25em 0em;
        color: #be2438;
        font-weight: bold;
        text-align: center;
    }

    .portal-form .field-validation-error {
        display: block;
        font-size: .75em;
        color: #be2438;
        padding-top: .25em;
    }

    .portal-form-close {
        display: none;
    }

    /*#endregion */

    /*#region Tiny Form - a form with only a input and button */

    .tiny-form .input-wrapper {
        display: inline-block;
        position: relative;
        box-sizing: border-box;
        text-align: left;
        width: 300px;
        margin: .5em 0em;
        padding: 0;
        border: 1px solid silver;
    }

    .tiny-form .input-wrapper input[type=text],
    .tiny-form .input-wrapper input[type=email],
    .tiny-form .input-wrapper input[type=password] {
        display: inline-block;
        padding: .25em;
        outline: 0;
        border: 1px solid #fff;
        vertical-align: middle;
        width: 75%;
    }

    .tiny-form .input-wrapper > .captcha-img,
    .tiny-form .input-wrapper > button {
        display: inline-block;
        padding: .4em .5em;
        text-align: center;
        background-color: #000;
        color: #fff;
        border: 1px solid #000;
        cursor: pointer;
        vertical-align: middle;
        max-width: 25%;
        float: right;
    }

    .tiny-form .input-wrapper input.captcha-input {
        width: 50%;
    }

    .tiny-form .input-wrapper > .captcha-img {
        padding: 0;
        max-width: 50%;
        max-height: 24px;
    }


    /*#endregion */

    .header-image {
        text-align: center;
        padding: .5em;
    }

    .header-image span {
        font-size: 60pt;
        color: #000;
    }

    .portal-wrapper {
        margin: 0 auto;
        width: 300px;
        padding: 1em .5em;
    }

    /*#endregion */

    /*#region  REGISTRATION WIDGET */

    #registration-widget {
        display: block;
        margin: 0 auto;
        box-sizing: border-box;
        overflow: hidden;
        max-width: 300px;
        min-width: 300px;
        padding: .5em;
        background-color: #fff;
        border: 1px solid transparent;
        border-radius: 5px;
    }

    #registration-widget > h1 {
        text-align: center;
    }

    #registration-widget .widget-links {
        display: block;
        text-align: center;
        margin-top: 1.5em;
    }

    #registration-widget .widget-links a {
        display: inline-block;
        text-decoration: none;
        outline: 0;
        font-size: 12pt;
    }

    /*#endregion */

    /*#region LOG IN WIDGET */

    #login-widget {
        display: block;
        margin: 0 auto;
        box-sizing: border-box;
        overflow: hidden;
        width: 300px;
        padding: .5em;
        background-color: #fff;
        border: 1px solid transparent;
        border-radius: 5px;
    }

    /*#endregion */

    /*#region REGISTRATION - Response Page */

    #registration-response h1 {
        padding: 0;
        margin: 0em;
        text-align: left;
    }

    #registration-response h3 {
        padding: 0;
        margin: 0em;
        text-align: left;
    }

    #registration-response p {
        font-family: OpenSans-Regular, sans-serif;
        margin: 0;
        padding: .25em 0em;
    }

    #registration-response a {
        text-decoration: none;
        outline: 0;
    }

    /* flex container*/

    #registration-response {
        display: flex;
        position: relative;
        flex-flow: row nowrap;
        justify-content: space-between;
        align-items: stretch;
        max-width: 1024px;
        margin: 0 auto;
        text-align: center;
        padding: 1em;
    }

    #registration-response > div:first-child {
        display: block;
        position: relative;
        box-sizing: border-box;
        flex: 0 1 auto;
    }

    #registration-response > .image-wrapper img {
        width: 100%;
        height: auto;
    }

    #registration-response > .content-wrapper {
        display: block;
        position: relative;
        box-sizing: border-box;
        padding: 1em;
        flex: 0 1 auto;
    }

    #registration-response > .content-wrapper .newsletter-wrapper {
        padding: 1em;
        margin: 1em 0;
    }

    #registration-response > .content-wrapper .newsletter-wrapper h3 {
        text-align: left;
    }

    #registration-response > .content-wrapper .newsletter-wrapper p {
        text-align: left;
        font-size: 11pt;
    }

    #registration-response > .content-wrapper .newsletter-wrapper form {
        display: block;
        position: relative;
        box-sizing: border-box;
        padding: 1em 0em;
        text-align: left;
    }

    #registration-response > .content-wrapper .newsletter-wrapper form input[type=email] {
        padding: .25em;
        outline: 0;
        width: 250px;
        border: 1px solid silver;
    }

    #registration-response > .content-wrapper .newsletter-wrapper form .reg-small-button {
        border: 0;
        outline: 0;
        background-color: #000;
        color: #fff;
        padding: .35em;
        cursor: pointer;
    }

    #registration-response > .content-wrapper .marketing-wrapper .marketing-reminder > div:first-child {
        float: left;
        font-size: 25pt;
        padding: .25em;
    }

    #registration-response > .content-wrapper .marketing-wrapper .marketing-reminder p {
        text-align: left;
        font-family: OpenSans-Regular, sans-serif;
        margin: 0;
        padding: .25em 0em;
        font-size: 11pt;
    }

    #registration-response > .content-wrapper .marketing-wrapper .marketing-reminder p a {
        text-align: left;
        font-family: OpenSans-Regular, sans-serif;
        margin: 0;
        padding: .25em 0em;
        font-size: 11pt;
        color: #0078d7;
    }

    #registration-response > .content-wrapper .marketing-wrapper .marketing-reminder p a:hover {
        text-align: left;
        font-family: OpenSans-Regular, sans-serif;
        margin: 0;
        padding: .25em 0em;
        font-size: 11pt;
        color: #a6111f;
    }

    #registration-response > .content-wrapper .cs-wrapper {
        margin: 2em 0em;
    }

    #registration-response > .content-wrapper .cs-wrapper p {
        text-align: center;
        font-family: OpenSans-Regular, sans-serif;
        margin: 0;
        padding: .25em 0em;
        font-size: 11pt;
    }

    #registration-response > .content-wrapper .cs-wrapper p a {
        font-family: OpenSans-Regular, sans-serif;
        margin: 0;
        padding: .25em 0em;
        font-size: 11pt;
        color: #0078d7;
    }

    #registration-response > .content-wrapper .cs-wrapper p a:hover {
        font-family: OpenSans-Regular, sans-serif;
        margin: 0;
        padding: .25em 0em;
        font-size: 11pt;
        color: #a6111f;
    }

    #registration-response #reg-error-reason {
        font-family: OpenSans-SemiBold, sans-serif;
        font-style: italic;
        color: #a6111f;
        margin: 1em 0em;
    }

    /*#endregion */

    /*#region VERIFICATION */

    #verification-response {
        display: block;
        position: relative;
        box-sizing: border-box;
        max-width: 500px;
        margin: 0 auto;
        padding: 1em;
    }

    #verification-response > .content-wrapper h1 {
        text-align: center;
    }

    #verification-response > .content-wrapper h3 {
        text-align: center;
    }

    #verification-response > .content-wrapper > p {
        text-align: center;
        font-family: OpenSans-Regular, sans-serif;
        font-size: 12pt;
    }

    #verification-response > .content-wrapper > p > a {
        display: inline-block;
        text-decoration: none;
        outline: 0;
        padding: 1em;
        border: 1px solid transparent;
        border-radius: 10px;
        font-family: OpenSans-SemiBold;
        font-size: 14pt;
    }

    #verification-response > .content-wrapper > p > a:hover {
        color: #fff;
    }

    #verification-response > .content-wrapper > .cs-wrapper p {
        font-family: OpenSans-Regular, sans-serif;
        font-size: 12pt;
        text-align: center;
    }

    #verification-response > .content-wrapper > .cs-wrapper p > a {
        font-family: OpenSans-SemiBold, sans-serif;
        font-size: 11pt;
        text-decoration: none;
        text-align: center;
        outline: 0;
        color: #0078d7;
    }

    #verification-response > .content-wrapper > .cs-wrapper p > a:hover {
        font-family: OpenSans-SemiBold, sans-serif;
        font-size: 11pt;
        text-decoration: none;
        text-align: center;
        outline: 0;
        color: #0078d7;
    }

    /*#endregion */

    /*#region RECOVER PASSWORD */

    .recover-password-header h1 {
        text-align: left;
        padding-bottom: .5em;
    }

    .recover-password-header p {
        font-family: OpenSans-Light, sans-serif;
        padding: .25em 0;
        margin: 0;
        text-align: left;
        font-size: 11pt;
    }

    #recovery-container a {
        text-decoration: none;
    }

    .recovery-email-response-header h1 {
        text-align: center;
    }

    #home-link-button {
        text-decoration: none;
        outline: 0;
        text-align: center;
    }

    /*#endregion */

    /*#region  RESET PASSWORD */

    #reset-container {
        display: block;
        overflow: hidden;
        margin: 0 auto;
        max-width: 500px;
        min-width: 300px;
        text-align: center;
        padding: 2em .5em;
        background-color: #fff;
        border: 1px solid transparent;
        border-radius: 5px;
    }

    #reset-container > form {
        margin: 0 auto;
        width: 300px;
    }

    #reset-container .reset-pass-error {
        color: #be2438;
    }

    #reset-container .image-wrapper {
        max-width: 150px;
        margin: 0 auto;
    }

    #reset-container .image-wrapper > img {
        width: 100%;
        height: auto;
    }

    /*#endregion */

}

@media screen and (max-width: 799px) {

    /*#region LAYOUT */

    html, body {
        width: 100%;
        height: 100%;
        margin: 0;
        padding: 0;
        background-color: #fff;
        font-family: OpenSans-SemiBold, sans-serif;
        position: relative;
    }

    .page-wrapper {
        display: block;
        position: relative;
        box-sizing: border-box;
        overflow: auto;
        width: 100%;
    }

    .page-wrapper > div {
        display: block;
        position: relative;
        box-sizing: border-box;
        margin: 0 auto;
    }

    /*#region Header */

    .page-header .logo {
        display: block;
        position: relative;
        box-sizing: border-box;
        padding: 1em .5em;
        max-width: 300px;
        margin: 0 auto;
    }

    .page-header .logo a {
        text-decoration: none;
        outline: 0;
        text-align: center;
    }

    .page-header .logo img {
        width: 100%;
        height: auto;
    }

    /*#endregion */

    /*#region Portal Form */

    .portal-form {
        display: block;
        box-sizing: border-box;
        height: auto;
        overflow: hidden;
        text-align: left;
        vertical-align: middle;
    }

    .portal-form > div {
        margin-top: 2em;
    }

    .portal-form .ctrlbox {
        margin-bottom: 2em;
        display: block;
        overflow: visible;
        padding: 0;
    }

    .portal-form input[type=text], .portal-form input[type=email], .portal-form input[type=password] {
        display: inline-block;
        border: 0;
        border-bottom: 1px solid #444;
        width: 95%;
        outline: 0;
        background-color: transparent;
    }

    .portal-form .input-wrapper {
        display: block;
        box-sizing: border-box;
        color: #666;
    }

    .portal-form .input-wrapper > input {
        display: inline-block;
        margin-left: 1em;
        width: 85%;
    }

    .portal-form .marketing-wrapper label {
        background-image: none;
        background-color: transparent;
        color: #666;
        font-size: small;
        padding: .15em;
        margin: .25em 0em;
    }

    .portal-form .portal-form-submit-button {
        display: block;
        padding: .5em 1em;
        margin-top: 1.5em;
        border: 1px solid transparent;
        color: #fff;
        background-color: #be2438;
        width: 100%;
        outline: 0;
        cursor: pointer;
        text-align: center;
    }

    .portal-form .form-links {
        display: block;
        position: relative;
        overflow: hidden;
        text-align: center;
    }

    .portal-form .form-links a {
        display: block;
        text-decoration: none;
        font-size: 12pt;
        vertical-align: middle;
        padding: .5em 0em;
    }

    .portal-form .validation-summary {
        padding: 1em;
    }

    .portal-form .validation-summary-errors ul {
        padding: 0;
        margin: 0;
        font-size: .9em;
    }

    .portal-form .validation-summary-errors ul li {
        padding: .25em 0em;
        color: #be2438;
        font-weight: bold;
        text-align: center;
    }

    .portal-form .field-validation-error {
        display: block;
        font-size: .75em;
        color: #be2438;
        padding-top: .25em;
    }

    .portal-form-close {
        display: none;
    }

    /*#endregion */

    /*#region Tiny Form - a form with only a input and button */

    .tiny-form .input-wrapper {
        display: inline-block;
        position: relative;
        box-sizing: border-box;
        text-align: left;
        width: 275px;
        margin: .5em 0em;
        padding: 0;
        border: 1px solid silver;
    }

    .tiny-form .input-wrapper input[type=text],
    .tiny-form .input-wrapper input[type=email],
    .tiny-form .input-wrapper input[type=password] {
        display: inline-block;
        padding: .25em;
        outline: 0;
        border: 1px solid #fff;
        vertical-align: middle;
        width: 65%;
    }

    .tiny-form .input-wrapper > button {
        display: inline-block;
        padding: .27em .5em;
        text-align: center;
        background-color: #000;
        color: #fff;
        border: 1px solid #000;
        cursor: pointer;
        vertical-align: middle;
        max-width: 25%;
        float: right;
    }


    /*#endregion */

    .header-image {
        text-align: center;
        padding: .5em;
    }

    .header-image span {
        font-size: 60pt;
        color: #000;
    }

    .portal-wrapper {
        display:block;
        position:relative;
        box-sizing:border-box;
        margin: 0 auto;
        width:100%;
        padding:1em;

    }

    /*#endregion */

    /*#region  REGISTRATION WIDGET */

    #registration-widget {
        display: block;
        margin: 0 auto;
        box-sizing: border-box;
        overflow: hidden;
        max-width: 300px;
        min-width: 300px;
        padding: .5em;
        background-color: #fff;
        border: 1px solid transparent;
        border-radius: 5px;
    }

    #registration-widget > h1 {
        text-align: center;
    }

    #registration-widget .widget-links {
        display: block;
        text-align: center;
        margin-top: 1.5em;
    }

    #registration-widget .widget-links a {
        display: inline-block;
        text-decoration: none;
        outline: 0;
        font-size: 12pt;
    }

    /*#endregion */

    /*#region LOG IN WIDGET */

    #login-widget {
        display: block;
        margin: 0 auto;
        box-sizing: border-box;
        overflow: hidden;
        width: 300px;
        padding: .5em;
        background-color: #fff;
        border: 1px solid transparent;
        border-radius: 5px;
    }

    /*#endregion */

    /*#region REGISTRATION - Response Page */

    #registration-response h1 {
        padding: 0;
        margin: 0em;
        text-align: left;
        font-size:large;
    }

    #registration-response h3 {
        padding: 0;
        margin: 0em;
        text-align: left;
        font-size:medium;
    }

    #registration-response p {
        font-family: OpenSans-Regular, sans-serif;
        margin: 0;
        padding: .25em 0em;
    }

    #registration-response a {
        text-decoration: none;
        outline: 0;
    }

    /* flex container*/

    #registration-response {
        display: flex;
        position: relative;
        flex-flow: row nowrap;
        justify-content: space-between;
        align-items: stretch;
        width: 100%;
        margin: 0 auto;
        text-align: center;
    }

    #registration-response > div:first-child {
        display: none;
        position: relative;
        box-sizing: border-box;
        flex: 0 1 auto;
    }

    #registration-response > .image-wrapper img {
        width: 100%;
        height: auto;
    }

    #registration-response > .content-wrapper {
        display: block;
        position: relative;
        box-sizing: border-box;
        padding: 1em;
        flex: 1 1 100%;
        width:100%;
    }

    #registration-response > .content-wrapper .newsletter-wrapper {
        padding: 1em;
        margin: 1em 0;
    }

    #registration-response > .content-wrapper .newsletter-wrapper h3 {
        text-align: left;
    }

    #registration-response > .content-wrapper .newsletter-wrapper p {
        text-align: left;
        font-size: 11pt;
    }

    #registration-response > .content-wrapper .newsletter-wrapper form {
        display: block;
        position: relative;
        box-sizing: border-box;
        padding: 1em 0em;
        text-align: left;
    }

    #registration-response > .content-wrapper .newsletter-wrapper form input[type=email] {
        display:inline-block;
        padding: .25em;
        outline: 0;
        width: 180px;
        border: 1px solid silver;
    }

    #registration-response > .content-wrapper .newsletter-wrapper form .reg-small-button {
        border: 0;
        outline: 0;
        background-color: #000;
        color: #fff;
        text-align:center;
        padding: .35em;
        cursor: pointer;
    }

    #registration-response > .content-wrapper .marketing-wrapper .marketing-reminder > div:first-child {
        float: left;
        font-size: 25pt;
        padding: .25em;
    }

    #registration-response > .content-wrapper .marketing-wrapper .marketing-reminder p {
        text-align: left;
        font-family: OpenSans-Regular, sans-serif;
        margin: 0;
        padding: .25em 0em;
        font-size: 11pt;
    }

    #registration-response > .content-wrapper .marketing-wrapper .marketing-reminder p a {
        text-align: left;
        font-family: OpenSans-Regular, sans-serif;
        margin: 0;
        padding: .25em 0em;
        font-size: 11pt;
        color: #0078d7;
    }

    #registration-response > .content-wrapper .marketing-wrapper .marketing-reminder p a:hover {
        text-align: left;
        font-family: OpenSans-Regular, sans-serif;
        margin: 0;
        padding: .25em 0em;
        font-size: 11pt;
        color: #a6111f;
    }

    #registration-response > .content-wrapper .cs-wrapper {
        margin: 2em 0em;
    }

    #registration-response > .content-wrapper .cs-wrapper p {
        text-align: center;
        font-family: OpenSans-Regular, sans-serif;
        margin: 0;
        padding: .25em 0em;
        font-size: 11pt;
    }

    #registration-response > .content-wrapper .cs-wrapper p a {
        font-family: OpenSans-Regular, sans-serif;
        margin: 0;
        padding: .25em 0em;
        font-size: 11pt;
        color: #0078d7;
    }

    #registration-response > .content-wrapper .cs-wrapper p a:hover {
        font-family: OpenSans-Regular, sans-serif;
        margin: 0;
        padding: .25em 0em;
        font-size: 11pt;
        color: #a6111f;
    }

    #registration-response #reg-error-reason {
        font-family: OpenSans-SemiBold, sans-serif;
        font-style: italic;
        color: #a6111f;
        margin: 1em 0em;
    }

    /*#endregion */

    /*#region VERIFICATION */

    #verification-response {
        display: block;
        position: relative;
        box-sizing: border-box;
        max-width: 500px;
        margin: 0 auto;
        padding: 1em;
    }

    #verification-response > .content-wrapper h1 {
        text-align: center;
    }

    #verification-response > .content-wrapper h3 {
        text-align: center;
    }

    #verification-response > .content-wrapper > p {
        text-align: center;
        font-family: OpenSans-Regular, sans-serif;
        font-size: 12pt;
    }

    #verification-response > .content-wrapper > p > a {
        display: inline-block;
        text-decoration: none;
        outline: 0;
        padding: 1em;
        border: 1px solid transparent;
        border-radius: 10px;
        font-family: OpenSans-SemiBold;
        font-size: 14pt;
    }

    #verification-response > .content-wrapper > p > a:hover {
        color: #fff;
    }

    #verification-response > .content-wrapper > .cs-wrapper p {
        font-family: OpenSans-Regular, sans-serif;
        font-size: 12pt;
        text-align: center;
    }

    #verification-response > .content-wrapper > .cs-wrapper p > a {
        font-family: OpenSans-SemiBold, sans-serif;
        font-size: 11pt;
        text-decoration: none;
        text-align: center;
        outline: 0;
        color: #0078d7;
    }

    #verification-response > .content-wrapper > .cs-wrapper p > a:hover {
        font-family: OpenSans-SemiBold, sans-serif;
        font-size: 11pt;
        text-decoration: none;
        text-align: center;
        outline: 0;
        color: #0078d7;
    }

    /*#endregion */

    /*#region RECOVER PASSWORD */

    .recover-password-header h1 {
        font-size:18pt;
        text-align: center;
        padding-bottom: .5em;
    }

    .recover-password-header p {
        font-family: OpenSans-Light, sans-serif;
        padding: .25em 0;
        margin: 0;
        text-align: left;
        font-size: 11pt;
    }

    #recovery-container a {
        text-decoration: none;
    }

    .recovery-email-response-header h1 {
        font-size:18pt;
        text-align: center;
    }

    #home-link-button {
        text-decoration: none;
        outline: 0;
        text-align: center;
    }

    /*#endregion */

    /*#region  RESET PASSWORD */

    #reset-container {
        display: block;
        overflow: hidden;
        margin: 0 auto;
        max-width: 500px;
        min-width: 300px;
        text-align: center;
        padding: 2em .5em;
        background-color: #fff;
        border: 1px solid transparent;
        border-radius: 5px;
    }

    #reset-container > form {
        margin: 0 auto;
        width: 300px;
    }

    #reset-container .reset-pass-error {
        color: #be2438;
    }

    #reset-container .image-wrapper {
        max-width: 150px;
        margin: 0 auto;
    }

    #reset-container .image-wrapper > img {
        width: 100%;
        height: auto;
    }

    /*#endregion */



}