*
{
    box-sizing: border-box;
}

html,
body
{
    color: #888;
    font-family: "source-sans-pro", sans-serif;
    font-size: 16px;
    font-weight: 300;
    line-height: 24px;
    margin: 0;
    padding: 0;
}

h1,
h2,
h3,
h4,
h5,
h6,
p,
ol,
ul,
table
{
    margin: 24px 0;
    padding: 0;
}

h1,
h2,
h3,
h4,
h5,
h6
{
    color: #444;
    font-size: 28px;
    font-weight: 100;
    line-height: 36px;
}

h4,
h5,
h6
{
    font-size: 18px;
    font-weight: 500;
    line-height: 24px;
}

ol,
ul
{
    padding-left: 20px;
}

a
{
    color: #7B4;
}

a:hover
{
    color: #592;
}

a img
{
    border: none;
    outline: none;
}

img
{
    -ms-interpolation-mode: bicubic;
}

/** forms */

.field
{
    margin: 24px 0;
}

.field-label,
.field-input
{
    margin: 4px 0;
}

button, .button,
input,
textarea,
{
    font-family: "source-sans-pro", sans-serif;
    font-size: 16px;
    font-weight: 300;
    line-height: 24px;
    outline: none;
}

button, .button
{
    background: #888;
    border: none;
    border-radius: 2px;
    color: white;
    font-weight: normal;
    margin: 0;
    padding: 6px 20px;
}

button:hover, .button:hover
{
    background: #666;
}

input[type="email"],
input[type="text"],
select
{
    border: 1px solid #DDD;
    border-radius: 2px;
    font-weight: normal;
    margin: 0;
    padding: 5px 8px;
    width: 100%;
}

textarea
{
    border: 1px solid #DDD;
    border-radius: 2px;
    font-weight: normal;
    margin: 0;
    padding: 5px 8px;
    resize: none;
    width: 100%;
}

/** regions */

/** header */

#header
{
    padding: 20px 50px;
    padding-top: 30px;
}

#header:after
{
    clear: both;
    content: "";
    display: table;
}

#header-logo
{
    float: left;
}

#header img
{
    width: 205px;
}

#header-navigation
{
    float: right;
    margin: 0 -20px;
    margin-top: 55px;
}

#header-navigation:after
{
    clear: both;
    content: "";
    display: table;
}

#header-navigation .header-navigation-item
{
    float: left;
    margin: 0 20px;
}

#header-navigation .header-navigation-separator
{
    float: left;
    border-left: 1px solid #EEE;
}

#header-navigation .header-navigation-separator:after
{
    content: "";
    display: inline-block;
}

#header-navigation a
{
    color: #888;
    display: inline-block;
    margin: -10px 0;
    padding: 10px 0;
    text-decoration: none;
}

#header-navigation a:hover
{
    color: #592;
}

#header-navigation .login-link
{
    color: #7B4;
}

/** masthead */

#masthead
{
    background: url(mastheads/homepage.jpg) no-repeat center center;
    background-size: cover;
    color: white;
    padding: 60px 100px;
}

#masthead.masthead-about
{
    background: url(mastheads/about.jpg) no-repeat center center;
    background-size: cover;
    padding: 100px 100px;
}

#masthead.masthead-contact
{
    background: url(mastheads/contact.jpg) no-repeat center center;
    background-size: cover;
    padding: 80px 100px;
}

#masthead h1,
#masthead h2
{
    color: white;
}

#masthead h1
{
    font-size: 50px;
    font-weight: 100;
    line-height: 72px;
}

#masthead h2
{
    font-style: oblique;
}

.signup
{
    margin: 20px 0;
    text-align: center;
}

.signup a
{
    display: inline-block;
    margin: 0 20px;
}

#footer-social
{
    float: right;
    height: 32px;
    margin: 0 20px;
    margin-top: 16px;
}

#footer-social a
{
    margin-right: 10px;
}

#footer-social img
{
    height: 32px;
    width: 32px;
}

#footer-social .social-group
{
    display: inline-block;
    vertical-align: middle;
    margin: 0 5%;
}

/** introduction */

#introduction
{
    padding: 20px 200px;
}

/** partners */

#partners .logo
{
    margin-right: 70px;
    vertical-align: middle;
    width: 200px;
}

#partners .logo-height
{
    width: inherit;
    height: 150px;
}

/** endnote */

#endnote
{
    background: #444;
    color: white;
}

#endnote h2
{
    color: white;
    margin-top: 0;
}

#endnote .terms
{
    color: #888;
}

/** footer */

#footer:after
{
    clear: both;
    content: "";
    display: table;
}

#footer-navigation
{
    float: left;
    margin: 20px -20px;
}

#footer-navigation:after
{
    clear: both;
    content: "";
    display: table;
}

#footer-navigation .footer-navigation-title
{
    color: #444;
    font-size: 16px;
    font-weight: 300;
    margin: 0;
}

#footer-navigation .footer-navigation-item
{
    float: left;
    margin: 0 20px;
}

#footer-navigation a,
#footer-legal a
{
    color: #888;
    display: inline-block;
    margin: -10px 0;
    padding: 10px 0;
    text-decoration: none;
}

#footer-navigation a:hover,
#footer-legal a:hover
{
    color: #592;
}

#footer-legal
{
    float: right;
    margin: 20px 0;
}

#footer-legal a
{
    margin-left: 15px;
}

/** classes */

/** buttons */

.button
{
    background: #7B4 !important;
    border-radius: 2px !important;
    color: white !important;
    display: inline-block !important;
    margin: -10px 0 !important;
    padding: 10px 20px !important;
    text-decoration: none !important;
}

.button:hover
{
    background: #592 !important;
}

.large-button
{
    border-radius: 36px !important;
    font-size: 32px !important;
    line-height: 32px !important;
    margin: 10px 10px !important;
    padding: 20px 30px !important;
}

/** callouts */

.callout
{
    font-size: 18px;
    font-style: oblique;
    line-height: 24px;
    margin: 0;
    padding: 0 100px;
}

.callout-text
{
    color: #444;
    font-style: oblique;
    text-align: left;
}

.callout-author
{
    color: #888;
    font-style: oblique;
    margin-top: 6px;
    text-align: right;
}

/** groups */

.group
{
    border-bottom: 1px solid #EEE;
    margin: 0;
    padding: 20px 100px;
    width: 100%;
}

.group:after
{
    clear: both;
    content: "";
    display: table;
}

.group .group-image
{
    margin: 24px 0;
}

.group .group-image img
{
    border: 20px solid #444;
    border-radius: 4px;
    max-width: 100%;
    width: 800px;
}

.group .team-photo
{
    float: left;
    margin: 10px 0;
    text-align: center;
    width: 210px;
}

.group .team-photo img
{
    border-radius: 75px;
    height: 150px;
    width: 150px;
}

.group .team-photo .team-member
{
    font-weight: 500;
}

.group .team-photo .team-position
{
    font-size: 14px;
}

/** hidden */

.hidden
{
    display: none;
}

/** margins */

.margin-s
{
    margin: 10px 0;
}

/** tables */

.table
{
    border: 1px solid #888;
    border-radius: 2px;
    margin: 24px 0;
    padding: 0;
    width: 100%;
}

.table:after
{
    clear: both;
    content: "";
    display: table;
}

.table-group
{
    border-bottom: 1px solid #888;
    width: 100%;
}

.table-group:after
{
    clear: both;
    content: "";
    display: table;
}

.table-group:last-child
{
    border-bottom: none;
}

.table-data
{
    margin: 0;
    padding: 10px 20px;
}

.table-data.table-head
{
    font-weight: 300;
}

.table-data-1-1
{
    float: left;
    width: 100%;
}

.table-data-1-2
{
    float: left;
    width: 50%;
}

.table-data-1-3
{
    float: left;
    width: 33%;
}

/** text styles */

.text-align-center
{
    text-align: center !important;
}

.no-wrap
{
    white-space: nowrap;
}

/** forms */

.form-m input[type="email"]
{
    font-size: 18px;
}

.form-m button,
.form-m .button
{
    font-size: 18px;
}

.form-l input[type="email"]
{
    font-size: 32px;
}

/** forms input */

.input-size-auto
{
    width: auto !important;
}

@media only screen and (-moz-min-device-pixel-ratio: 2),
       only screen and (-o-min-device-pixel-ratio: 2/1),
       only screen and (-webkit-min-device-pixel-ratio: 2),
       only screen and (min-device-pixel-ratio: 2),
       only screen and (min-resolution: 192dpi) {

    #masthead
    {
        background: url(mastheads/homepage-2x.jpg) no-repeat center center;
        background-size: cover;
    }

    #masthead.masthead-about
    {
        background: url(mastheads/about-2x.jpg) no-repeat center center;
        background-size: cover;
    }

    #masthead.masthead-contact
    {
        background: url(mastheads/contact-2x.jpg) no-repeat center center;
        background-size: cover;
    }

}
.error-message
{
    margin:0px;
    color: red;
}