@font-face {
    font-family: 'le_bain';
    src: url('fonts/le_bain_au_soir-webfont.eot');
    src: url('fonts/le_bain_au_soir-webfont.eot?#iefix') format('embedded-opentype'),
         url('fonts/le_bain_au_soir-webfont.woff') format('woff'),
         url('fonts/le_bain_au_soir-webfont.ttf') format('truetype'),
         url('fonts/le_bain_au_soir-webfont.svg#le_bain') format('svg');
    font-weight: normal;
    font-style: normal;
}

/* -------------------------------------------------------------- */
html, body {
    height:100%;
    margin:0;
    padding:0;
    -o-box-sizing: border-box;
    -ms-box-sizing: border-box;
    box-sizing: border-box;
}

html {
    font-size:62.5%;
    font-family: Arial,sans-serif;
    background-color: black;
}

/* -------------------------------------------------------------- */


header {
    border-bottom:4px solid #5e8c00;
}


header div{
    background-image: url(images/header_background.png);
    background-repeat:no-repeat;
    width:100%;
    padding:2rem 0 2rem 0;
}

header p {
    line-height:1;
    font-family: 'le_bain';
    font-size: 700%;
    margin:0 auto;
    text-align:center;
    color:rgba(255, 255, 255, 0.9);
    text-shadow: 1px 1px 1px #000;
}

article {
    -webkit-box-flex:1;
    -webkit-flex:1;
        -ms-flex:1;
            flex:1;
    padding-bottom: 3rem;
}

section {

}

footer {
    padding: 1rem 0;
    text-align:right;
    width:100%;
    height:1rem;
    margin: 0 auto;
    background-color:#5e8c00;
    position:fixed;
    bottom: 0;
}


footer a {
    color: #333333;
    text-decoration: none;
    font-weight: bold;
    margin: 0 2rem;
}
footer a:hover {
    color: #ffffff;
}

/* -------------------------------------------------------------- */
/* MENU */
/* -------------------------------------------------------------- */

#mainmenu {
    list-style: outside none none;
    -webkit-align-content: stretch;
        -ms-flex-line-pack: stretch;
            align-content: stretch;
    -webkit-box-align: stretch;
    -webkit-align-items: stretch;
        -ms-flex-align: stretch;
            align-items: stretch;
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-flex-flow: row wrap;
        -ms-flex-flow: row wrap;
            flex-flow: row wrap;
    -webkit-box-pack: justify;
    -webkit-justify-content: space-between;
        -ms-flex-pack: justify;
            justify-content: space-between;
    padding: 0;
    margin: 0;
}

#mainmenu li {
    margin: 0;
    -webkit-box-flex:1;
    -ms-flex:1;
    -webkit-flex:1;
    flex:1 1 auto;
    border-left: 1px solid #5e8c00;
    
}

#mainmenu li a {
    display: block;
    color: #5e8c00;
    text-decoration: none;
    font-family: 'le_bain';
    font-size: 400%;
    margin:0;
    padding:.1rem 1rem;
    text-align:center;
}


#mainmenu li:first-child {
    border-left:0;
}
#mainmenu li a:hover {
    color:rgba(255, 255, 255, 0.3);
}
#mainmenu li.active a {
    color: #ffffff;
    text-shadow: 1px 1px 1px #000;
}

/* -------------------------------------------------------------- */

#maincontainer {
  position:absolute;
  background:black;
  height:100%;

  display: -webkit-box;

  display: -webkit-flex;

  display: -ms-flexbox;

  display: flex;
  -webkit-box-orient:vertical;
  -webkit-box-direction:normal;
  -webkit-flex-direction:column;
      -ms-flex-direction:column;
          flex-direction:column;
}

#maincontainer {
  width:100%;
}
.centerbox{
  width:100%;
}

#data {
    color: #000;
    max-width: 960px;
}


/* -------------------------------------------------------------- */

.pagewidth {
    min-width:250px;
    max-width: 1108px;
}

.startbg {
    background-color:#99a2b9;
}
.charsbg {
    background-color:#596b93;
}
.storiesbg {
    background-color:#aea7ad;
}
.booksbg {
    background-color:#fdeea3;
}

#startquote {
    font-size: 1.5rem;
    margin-left: 2rem;
}

#contentpic {
    text-align:right;
    max-height: 348px;
}

#contentpic  img {
    width: 100%;
    min-width: 250px;
    max-width: 477px;
}

.quote {
    padding: 2rem;
    word-wrap: break-word;
    background: url("images/quotes_half.png") no-repeat scroll 5px -2px transparent;
    color: #fff;
    text-shadow: 2px 2px 2px rgba(0, 0, 0, 1);
}


/* -------------------------------------------------------------- */
/* FORMAT SHORTCUTS  */
/* -------------------------------------------------------------- */

.centered {
    margin: 0 auto;
}

.b {
    font-weight: bold;
}
.i {
    font-style: italic;
}
.u {
    text-decoration: underline;
}

.center {
    text-align: center;
}
.justify {
    text-align: justify;
}
.left {
    text-align: left;
}
.right {
    text-align: right;
}

/* -------------------------------------------------------------- */
/* JSON ERZEUGUNG FORMULARE */
/* -------------------------------------------------------------- */

#result {
    text-align: right;
}

#result h2 {
    margin:0;
    padding: 0.5rem;
}

#result, #messages {
    max-width: 960px;
}
#result textarea {
    width: 99.4%;
    height: 10rem;
}

#form_char char {
    width: 100%;
}

/* -------------------------------------------------------------- */
/* CHARS  */
/* -------------------------------------------------------------- */


#char {
    background-color: rgba(255,255,255,0.5);
    
}

#char #inner {
    background: -webkit-linear-gradient(90deg, rgba(89,107,147, 0.7) 5%, rgba(89,107,147, 0) 95%); /* Chrome 10+, Saf5.1+ */ /* FF3.6+ */ /* IE10 */ /* Opera 11.10+ */
    background:         -webkit-linear-gradient(0deg, rgba(89,107,147, 0.7) 5%, rgba(89,107,147, 0) 95%);
    background:         linear-gradient(90deg, rgba(89,107,147, 0.7) 5%, rgba(89,107,147, 0) 95%); /* W3C */
    padding-bottom: 2rem;
}


#char .spacer {
    height: 3rem;
}

#char .flexinonerow {
    padding: 0 1rem;
}

#char ul {
    line-height: 1.1;
    list-style-type: square;
    text-align: left !important;
}

#char .section {
    -webkit-box-flex: 1;
    -webkit-flex: 1 1 0;
        -ms-flex: 1 1 0;
            flex: 1 1 0;
    background: rgba(89,107,147, 0.6);
    font-family: "Pompiere",cursive;
    font-size: 36px !important;
    font-variant: small-caps;
    text-align: center;
    margin: 0.5rem 0;
}

#char .content {
    background: none repeat scroll 0 0 #596b93;
    margin: 0.5rem 0.5rem 0.5rem;
    padding: 0.5rem;
    font-size: 1.5rem;
    box-shadow:         7px 7px 5px 0px rgba(50, 50, 50, 0.75);
}

#charheader {
    padding-top: 2rem;
}

#charheader img {
    padding: 1rem 1rem 0;
    border-radius: 50%;
    height: 150px;
    width: 180px;
}


#char h1 {
    color: #fff;
    font-family: 'Give You Glory';
    font-size: 5rem;
    font-style: italic;
    line-height: 0.3;
    margin: 0 0 2rem;
    text-shadow: 4px 4px 2px rgba(50, 50, 50, 1);
    position: absolute;
}


#char {
  margin:0 10rem;
}



#char .quotecontainer {
    color: #fff;
    font-family: "Pompiere",cursive;
    font-size: 16pt;
    line-height: 1;
    text-shadow: 1px 1px 1px rgba(0, 0, 0, 1);
    padding-top: 1rem;
    padding-right: 0.5rem;
}

#char .quoteautohor {
    border-bottom: 1rem solid rgba(181, 170, 166, 0.8);
    display: inline-block;
    line-height: 0.3;
    margin: 1rem 0;
    text-align: right;
    text-transform: uppercase;
}

#char .quoteend {
    background: none repeat scroll 0 0 rgba(181, 170, 166, 0.8);
    height: 10px;
    margin-left: 240px;
    margin-top: -65px;
    width: 250px;
}

#char .caption {
    font-weight: bold;
}

#char .remark {
    font-style: italic;
    font-size: 1.1rem;
    display: inline-block;
    padding-left: 1rem;
    text-align: justify;
}

/* -------------------------------------------------------------- */
/* CHARS FORMULARE */
/* -------------------------------------------------------------- */

#char input {
    width: 99%;
}
#char textarea {
    width: 99%;
    min-height: 20rem;
}

#char #genre_title {
    width:30%;
} 
#char #genre {
    width:67%;
} 

#char #job_title {
    width:40%;
} 
#char #job {
    width:57%;
}

#char #family input[id^="relation"],
#char #family input[id^="name"] {
    width:38%;
} 
#char #family input[id^="age"] {
    width:17%;
} 

/* -------------------------------------------------------------- */
/* MEDIAS  */
/* -------------------------------------------------------------- */


@media only screen and (min-width: 1108px) {
    #maincontainer, footer {
      width:1108px;
    }
    .centerbox {
        margin:0 auto;
        width:1108px;
    }
}

@media only screen and (max-width: 960px) {
    #data {
      margin:0;
    }
    #char {
      margin:0;
    }
}

@media only screen and (max-width: 450px) {
    #char img {
        max-width: 250px;
    }
    
    #char .content,
    #char .quotecontainer, 
    #char .quoteautohor {
        min-width: 200px;
    }
    
    #char h1 {
        font-size: 3rem;
        line-height: 0.5;
    }
    
    #char .quote {
        background: url("images/quotes_half.png") no-repeat scroll 5px 10px transparent;
    }
    #char .quoteautohor {
        line-height: 1;
    }
}

/* -------------------------------------------------------------- */