
* {
    -webkit-box-sizing: border-box;
    -moz-box-sizing: border-box;
    box-sizing: border-box;
}

html,
body {
    background-color: #eee;
    margin: 0;
    padding: 0;
    font-family: Bitstream Vera Sans, Arial, sans-serif;
    font-size: 10px;
}

.GenericSiteLayout a img {
    border: none;
}

.GenericSiteLayout h1 a {
    color: inherit;
    text-decoration: none;
}

/* Header
-----------------------------------------------------------------------------*/
.GenericSiteLayout {
    width: 100em;
    margin: auto;
    box-shadow: 0 0 6px #333;
    background-color: white;
}

.GenericSiteLayout .header {
    position: relative;
    padding: 1.2em 2em;
    background-color: #3e4351;
    margin-bottom: 1em;
}

.GenericSiteLayout .header h1 {
    font-size: 1.8em;
    padding: 0;
    margin: 0;
    text-shadow: 0 0 6px black;
    color: white;
}

.GenericSiteLayout .header h1 a {
    color: inherit;
}

/* Language selector
-----------------------------------------------------------------------------*/
.GenericSiteLayout .header .LanguageSelector {
    position: absolute;
    right: 2em;
    top: 1.5em;
    list-style-type: none;
    padding: 0;
    margin: 0;
}

.GenericSiteLayout .header .LanguageSelector li {
    display: inline;
    padding: 0;
    margin: 0;
}

.GenericSiteLayout .header .LanguageSelector li + li {
    border-left: 1px solid #666;
    margin-left: 1em;
    padding-left: 1em;
}

.GenericSiteLayout .header .LanguageSelector a {
    text-decoration: none;
    font-size: 1.2em;
}

.GenericSiteLayout .header .LanguageSelector strong a {
    color: white;
}

/* Active user session
-----------------------------------------------------------------------------*/
.GenericSiteLayout .header .identity {
    position: absolute;
    right: 30em;
    top: 1.5em;
    color: white;
}

.GenericSiteLayout .header .identity * {
    display: inline-block;
}

.GenericSiteLayout .header .identity form {
    margin: 0;
    padding: 0;
}

.GenericSiteLayout .header a,
.GenericSiteLayout .header .identity button {
    display: inline;
    font-size: inherit;
    background: none;
    border: none;
    color: #ccc;
    margin: 0;
    padding: 0;
    cursor: pointer;
}

.GenericSiteLayout .header .identity strong {
    font-size: 1.2em;
}

.GenericSiteLayout .header .identity button {
    font-size: 1.2em;
    margin-left: 0.7em;
    color: white;
    text-decoration: underline;
}

/* Site menu
-----------------------------------------------------------------------------*/
.GenericSiteLayout .navigation {
    float: left;
    width: 20em;
}

.GenericSiteLayout .menu {
    padding-left: 2em;
    padding-right: 2em;
    padding-top: 1.4em;
    margin: 0;
    border-top: none;
    border-right: 1px solid rgb(230,230,230);
}

.GenericSiteLayout .menu, .menu ul {
    list-style-type: none;
}

.GenericSiteLayout .menu ul {
    padding: 0;
    padding-left: 1.2em;
    padding-top: 1em;
    margin-bottom: 1.5em;
}

.GenericSiteLayout .menu li {
    margin-bottom: 1em;
}

.GenericSiteLayout .menu a {
    font-size: 1.3em;
    text-decoration: none;
    color: #333;
}

.GenericSiteLayout .menu .active {
    font-weight: bold;
}

.GenericSiteLayout .navigation + .main {
    border-left: 1px solid #ddd;
    margin-left: -1px;
}

/* Content
-----------------------------------------------------------------------------*/
.GenericSiteLayout .main {
    float: left;
    width: 80em;
    padding-right: 1.5em;
    padding-left: 6em;
    padding-bottom: 1.5em;
}

.GenericSiteLayout .main .content_title_label {
    font-size: 2em;
}

.GenericSiteLayout .main .content {
    clear: both;
}

.GenericSiteLayout .main .content p {
    font-size: 1.3em;
    color: #333;
}

.GenericSiteLayout .footer {
    clear: left;
}

.GenericSiteLayout .Form .field_instance {
    clear: left;
    overflow: auto;
    margin-bottom: 0.3em;
}

.GenericSiteLayout .Form .field_instance > label {
    width: 10em;
    display: block;
    float: left;
    padding-top: 0.3em;
    font-size: 1.3em;
}

.GenericSiteLayout .Form .required_mark {
    font-weight: bold;
    color: #6478AA;
}

.GenericSiteLayout .Form .buttons {
    margin-top: 0.7em;
}

/* Errors
-----------------------------------------------------------------------------*/
.GenericSiteLayout .ErrorBox {
    color: black;
    border: 1px dotted rgb(200,160,120);
    background-color: rgb(245,230,215);
    padding: 0.5em;
    margin: 0;
    margin-bottom: 1em;
}

.GenericSiteLayout .ErrorBox li {
    list-style-type: none;
}

.GenericSiteLayout .ErrorBox li + li {
    margin-top: 0.2em;
}

.GenericSiteLayout .ErrorBox li em {
    font-style: normal;
    font-weight: bold;
    color: rgb(135,35,10);
}

/* Login form
-----------------------------------------------------------------------------*/
.GenericSiteLayout .LoginBlockView {
    display: inline-block;
    background-color: #f5f5f5;
    border: 1px solid #ddd;
    padding: 1em;
}

.GenericSiteLayout .LoginBlockView .field input {
    width: 15em;
}

.GenericSiteLayout .LoginBlockView .buttons {
    margin-top: 0.4em;
    text-align: right;
}

.GenericSiteLayout .LoginBlockView a.forgot_password_link {
    float: left;
    margin-top: 0.8em;
}

