﻿
:root {
    --main-background: #ffffff;
    --nav-height: 80px;
    --nav-height-mobile: 40px;
    --normal-text-color: #3C3C3C;
    --primary-text-color: #3AAA35;
    --error-color: #D06565;
    --main-font: normal normal 900 20px/22px londrina_solid;
    --regular-font: normal normal normal 15px/22px open_sans_regular;
    --secondary-font: normal normal normal 12px/17px open_sans_regular;
    --btn-font: normal normal 900 20px/70px londrina_solid;
}

@media only screen and (max-width: 640px) {
    div.body-content {
        margin-top: 20px;
        padding: 12px 20px;
    }

    nav.navbar {
        height: var(--nav-height-mobile);
    }

    a.logo {
        line-height: 1;
        height: 20px;
    }

    a.logo img {
        margin: 0;
        height: 20px;
        vertical-align: baseline;
    }

    a.logged-out {
        padding-right: -webkit-calc(20px + 11px);
        padding-right: -moz-calc(20px + 11px);
        padding-right: calc(20px + 11px);
        margin: 0;
        font-size: 16px;
        height: 20px;
        line-height: 20px;
        width: auto;
        background-size: 400px 20px;
    }

        a.logged-out:after {
            font-size: 20px;
            width: 20px;
            height: 20px;
            line-height: 20px;
        }

    span.first-name {
        font-size: 12px;
    }
}

html {
    height: 100%; /* fallback for IE and older browsers */
    height: 100vh;
}
body {
    height: auto; /* required to allow content to expand vertically without overflow */
    width: auto;
    min-height: 100%; /* fallback for IE and older browsers */
    min-height: 100vh;
    margin: 0;
    padding: 0;
    background: url('../../assets/green-campaign-banner.jpg') no-repeat center center fixed;
    background-size: cover;
}
strong {
    font-family: open_sans_bold!important;
}
.navbar {
    background: var(--main-background);
    height: var(--nav-height);
    padding: 10px 20px;
    -webkit-transition: margin .2s;
    transition: margin .2s;
}
.logo img {
    margin: 5px 0;
    height: 50px;
    width: auto;
    -webkit-transition: all .2s ease;
    transition: all .2s ease;
}
.logged-out {
    -webkit-transition: all .2s ease;
    transition: all .2s ease;
    padding-right: -webkit-calc(30px + 11px);
    padding-right: -moz-calc(30px + 11px);
    padding-right: calc(30px + 11px);
    font-size: 19px;
    font-family: londrina_solid,Arial,Helvetica,sans-serif;
    color: #3c3c3c;
    margin: 15px 0;
    text-decoration: none;
    width: auto;
    height: 30px;
    line-height: 30px;
    display: flex;
    align-content: center;
    position: relative
}
.logged-out:after {
    content: '\e915';
    display: inline-block;
    text-align: center;
    font-family: be-icons !important;
    font-size: 30px;
    width: 30px;
    height: 30px;
    background-color: transparent;
    line-height: 30px;
    -webkit-box-sizing: border-box;
    -moz-box-sizing: border-box;
    box-sizing: border-box;
    right: 0;
    top: 0;
    backface-visibility: hidden;
    -webkit-backface-visibility: hidden;
    overflow: hidden;
    background-clip: content-box;
    padding: 1px;
    position: absolute;
}
.logged-out:hover {
    text-decoration: none;
    color: var(--primary-text-color);
}
.navbar-items-container {
    display: flex;
    flex-direction: row;
    flex-wrap: nowrap;
    justify-content: space-between;
    width: 100%;
    align-items: center;
}

.nav-page {
    position: relative;
}
.navbar-text {
    font: var(--main-font);
    color: var(--normal-text-color);
    letter-spacing: 0;
}
a.no-left-padding {
    padding-left: 0;
}

a.no-right-padding {
    padding-right: 0;
}

.body-container {
    display: flex;
    flex-direction: row;
    flex-wrap: nowrap;
    justify-content: center;
    width: 100%;
    align-items: start;
}

.body-content {
    width: 380px;
    background: var(--main-background) 0% 0% no-repeat padding-box;
    margin-top: 70px;
    margin-bottom: 50px;
    box-shadow: 0px 3px 6px rgba(0, 0, 0, 0.2);
    padding: 28px;
}

.primary-text {
    font: var(--main-font);
    color: var(--primary-text-color);
    text-align: left;
    letter-spacing: 0.12px;
    text-transform: uppercase;
}
.regular-text, label {
    font: var(--regular-font);
    color: var(--normal-text-color);
    text-align: left;
    letter-spacing: 0.09px;
}
.regular-text a, label span {
    color: var(--primary-text-color);
}
.regular-text a {
    text-decoration: underline;
}
.secondary-text {
    font: var(--secondary-font);
    letter-spacing: 0;
    color: #3C3C3C;
}
label.error span {
    color: var(--error-color)
}
.alert-flat {
    margin-bottom: 10px;
}
.form-group span.error, .alert-flat span {
    background: var(--error-color) 0% 0% no-repeat padding-box;
    padding: 8px 15px;
    font: var(--secondary-font);
    line-height: 17px;
    letter-spacing: 0.07px;
    color: #FFFFFF;
    display: inline-block;
    position: relative;
}
.alert-flat span a {
    color: #FFFFFF;
    text-decoration: underline;
}
.form-group span.error {
    margin-top: 10px;
}
.form-group span.error:after {
    bottom: 100%;
    left: 30px;
    top: -7px;
    border: solid transparent;
    content: "";
    height: 0;
    width: 0;
    position: absolute;
    pointer-events: none;
    border-color: rgba(208, 101, 101, 0);
    border-bottom-color: var(--error-color);
    border-width: 0 5px 8px 5px;
}
.first-time-reminder {
    background: #EFEFEF 0% 0% no-repeat padding-box;
    padding: 8px 8px 10px 8px;
}
.change-email-reminder {
    background: #FFD600 0% 0% no-repeat padding-box;
    padding: 8px 8px 10px 8px;
}
.change-email-reminder:before {
    top: 8px;
    left: 0;
    content: '\E91F';
    display: inline-block;
    text-align: center;
    font-family: be-icons !important;
    /*font-size: 17px;
    width: 17px;
    height: 17px;
    line-height: 17px;*/
    background-color: transparent;
}
input.form-input {
    display: block;
    position: relative;
    width: 100%;
    font: var(--regular-font);
    box-sizing: border-box;
    line-height: 38px;
    height: 38px;
    border: 1px solid #D1D1D1;
    background: #ffffff;
    padding: 0 15px;
    -moz-border-radius: 0;
    -webkit-border-radius: 0;
    border-radius: 0;
    -webkit-appearance: none;
    transition: all .2s
}
input.form-input:focus, input.form-input:hover {
    border: 1px solid #3C3C3C;
}
input.form-input.error {
    border-top: 1px solid #F6BEBC;
    border-right: 1px solid #F6BEBC;
    border-left: 1px solid #F6BEBC;
    border-bottom: 2px solid var(--error-color) !important;
    background: #FFE5E5 0% 0% no-repeat padding-box;
    color: var(--error-color);
}
input.form-input.error ~ div {
    color: var(--error-color);
}
input, .blue-button {
    outline-offset: 0px !important;
    outline: none !important;
    outline-color: transparent !important;
    outline-style: none !important;
}
input.form-input.error:focus, input.form-input.error:hover {
    border-top: 1px solid #CE6667;
    border-right: 1px solid #CE6667;
    border-left: 1px solid #CE6667;
    border-bottom: 2px solid var(--error-color) !important;
}
input.form-input.valid {
    border-bottom: 2px solid #3AAA35!important;
    background: url('../../assets/Icon_Checkmark.svg') no-repeat scroll 16px 16px;
    padding-right: 32px;
    background-position: right;
    background-repeat: no-repeat;
    background-origin: border-box;
    background-clip: border-box;
    transition: none;
}

.margin-bottom-20 {
    margin-bottom: 20px;
}
.margin-bottom-15 {
    margin-bottom: 15px;
}
.margin-bottom-5 {
    margin-bottom: 5px;
}
input[type=submit] {
    text-align: center;
    -moz-border-radius: 0;
    -webkit-border-radius: 0;
    -ms-border-radius: 0;
    border-radius: 0;
}
.blue-button, input[type=submit] {
    -webkit-box-sizing: border-box;
    -moz-box-sizing: border-box;
    box-sizing: border-box;
    outline: 0;
    clear: both;
    white-space: normal;
    text-decoration: none;
    -webkit-appearance: none;
    border: 0;
    background-color: #25a2f0;
    color: #fff;
    margin: 15px 0 8px 0;
    padding: 11px 20px 11px 20px;
    -webkit-transition: all .2s;
    transition: all .2s;
    backface-visibility: hidden;
    text-align: center;
    -webkit-transform: translate(0,0);
    transform: translate(0,0);
    -webkit-box-shadow: 0 8px 0 -4px #007db7;
    -moz-box-shadow: 0 8px 0 -4px #007db7;
    box-shadow: 0 8px 0 -4px #007db7;
    font-family: londrina_solid,Arial,Helvetica,sans-serif;
    font-size: 20px;
    line-height: 18px;
    cursor: pointer;
    outline: none;
}
.blue-button:hover, input:hover[type=submit] {
    -webkit-box-shadow: 0 0 transparent;
    -moz-box-shadow: 0 0 transparent;
    box-shadow: 0 0 transparent;
    text-decoration: none!important;
    -webkit-transform: translate(0,4px);
    transform: translate(0,4px);
    color: #ffffff;
}
a.blue-button {
    display: inline-block;
    position: relative;
}

a.link-arrow {
    background-image: url('../../assets/icon_arrow_right_small.svg');
    background-position: left center;
    background-repeat: no-repeat;
    background-size: 7px 10px;
    padding-left: 14px; /* width of the image plus a little extra padding */
    text-decoration: none;
    font-family: open_sans_semi_bold;
    font-size: 15px;
    font-stretch: 100%;
    font-style: normal;
    font-variant-caps: normal;
    font-variant-east-asian: normal;
    font-variant-ligatures: normal;
    font-variant-numeric: normal;
}
a.link-arrow:hover {
    text-decoration: underline;
}
.img-container {
    margin-top: 10px;
    margin-bottom: 30px;
}
.img-laptop {
    width: 198px;
    height: 130px;
}
.img-404 {
    max-width: 100%;
    max-height: 100%;
}
.header-success {
    background-position: left center;
    background-repeat: no-repeat;
    padding-left: 27px;
    background-image: url('../../assets/icon_checkmark.small.svg');
    background-size: 18px 15px;
}

.header-error {
    background-position: left center;
    background-repeat: no-repeat;
    padding-left: 27px;
    background-image: url('../../assets/icon_error_small.svg');
    background-size: 18px 18px;
}

.first-name {
    font-family: open_sans_regular,Arial,Helvetica,sans-serif;
    font-size: 15px;
}