/* Limited CSS reset */
/* See normalize.css */

html, button, input, select, textarea,
.pure-g [class *= "pure-u"] {
    font-family: 'Open Sans', sans-serif;
    font-weight: 300;
    color: #3c2415;
}

html, body {
    height: 100%;
    margin: 0;
    padding: 0;
}

body {
    font-size: 100%;    /* use browser default font size, usually 16px */
    color: #3c2415;
}

input {
    padding: 4px;
    color: #333;
}

/* Layout styles ------------------------------------------------------------------------------------*/
#main-wrapper {
    width: 100%;
    max-width: 1880px;
    min-height: 100%;
    margin: 0 auto;
}

#header-wrapper {
    position: relative;
}

figure.csc-textpic-image {
    margin: 0;
}

.clear {
    clear: both;
}

.align-l {
    text-align: left;
}

.align-r {
    text-align: right;
}

.align-c {
    text-align: center;
}

.full-width-img {
    width: 100%;
    height: auto;
    display: block;
}


/* Header styles ------------------------------------------------------------------------------------*/
header {
    display: block;
    position: absolute;
    top: 0;
    width: 100%;
    height: 80px;
    background: rgba(78,51,35,.85);
    color: #A69A94;
    text-align: center;
}

#header-images {
    width: 100%;
    z-index: 0;
    height: auto;
    margin: auto;
    text-align: center;
    position: relative;
}

#header-images img {
    width: 100%;
    height: auto;
    display: block;
    z-index: 1;
}

img#logo-over-image {
    position: absolute;
    margin: auto;
    top: 0;
    left:0;
    right:0;
    bottom:0;
    width: 19%;
}

#subpage-logo {
    /*position: absolute;*/
    display: inline-block;
    float: left;
    margin-top: 10px;
    left: 20px;
    width: 210px;
    z-index: 5000;
}


header h1 {
    margin: 0;
    font-size: 1.7rem;
    line-height: 4.4rem;
}

header h1:before {
    content: "\E004";
    margin-right: 8px;
}

#mobile-logo {
    display: none;
}

#menu {
    margin: 0 auto;
}

.selected-page{
    background: url(../images/up_arrow.gif) center bottom no-repeat;
}

#header-user-content,
#subpage-header-user-content {
    width: 100%;
    height: 110px;
    /*bottom: 0;*/
    z-index: 2;
    background-color: rgba(255,255,255,.4);
    text-align: center;
    color: #fff;
    text-shadow: 2px 2px 2px rgba(78, 51, 35, 1);
}

#header-user-content {
    position: relative;
    margin-top: -110px;
}

#subpage-header-user-content {
    position: absolute;
    top: 80px;
}

#header-user-content p,
#subpage-header-user-content p,
#header-user-content h1,
#subpage-header-user-content h1,
#header-user-content h2,
#subpage-header-user-content h2{
    margin: 0;
    font-size: 2.174375rem;
    font-weight: 800;
    line-height: 110px;
}


/* Content styles ------------------------------------------------------------------------------------*/
.body-content {
    position: relative;
    width: 1035px;
    margin: 0 auto;
    padding: 24px 0;
    color: #3c2415;
}

/*
.full-width-container {
    position: relative;
    width: 100%;
    color: #fff;
}
*/

.full-width-container {
    width: 100%;
    height:auto;
    margin: auto;
    text-align: center;
    position: relative;
}

.full-width-container img {
   width: 100%;
   height: auto;
   display: block;
}

.text_over_image {
    position: absolute;
    margin: auto;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    width: 995px;
    height: 55px;
    padding: 0 20px 20px;
    /*background-color: rgba(255,255,255,.2);*/
    font-size: 1.875em;
    color: #fff;
    text-shadow: 2px 2px 2px rgba(70, 45, 30, 1);
}

h1, h2 {
    font-weight: 800;
}

h2 a,
h2 a:visited,
h2 a:active {
    padding: 5px 15px;
    background-color: #3c2515;
    color: #fff;
    text-decoration: none;
    font-weight: normal;
    font-size: 1.4375rem;
}

h2 a:hover {
    background-color: #7f3d24;
}

a,
a:visited,
a:active {
   color: #985D23;
   text-decoration: line-through;
}

a:hover {
   text-decoration: none;
}

.nav--ucase {
    text-transform: uppercase;
}

.pad-box {
    padding: .6em;
}

.body-content > div > div > div.pad-box:first-child {
    padding: .6em .6em .6em 0;
}

.body-content > div > div > .pad-box:last-child {
    padding: .6em 0 .6em .6em;
}

.parent-page-header h1,
.parent-page-header h2 {
    text-align: center;
    margin-bottom: 0;
}

/* Desktop view - sub-menu navigation */
#nav-desktop__sub-menu a,
#nav-desktop__sub-menu a:visited {
    display: block;
    padding: 5px 8px;
    color: #3c2415;
    text-decoration: none;
    text-transform: uppercase;
}

#nav-desktop__sub-menu a:hover,
#nav-desktop__sub-menu > div.selected-page > a {
    color: #3c2415;
    background-color: #e1d5ca;
}

#nav-desktop__sub-menu > div {
    margin-bottom: 3px;
}

#nav-desktop__sub-menu h2 {
    border-bottom: 2px solid #000;
    line-height:3rem;
    padding: 0;
    margin: 0 0 8px 0;
}
/* END: Desktop view - sub-menu navigation */


/* Footer styles ------------------------------------------------------------------------------------*/
footer {
    width: 100%;
    margin: 0 auto;
    background-color: #4e3323;
    font-size: .875em  /* 14px (14/16) */
}

footer .pure-g [class *= "pure-u"] {
    color: #fff;
}

#footer-content {
    padding: 15px 0;
}

#footer-content > div {
    -webkit-box-sizing: border-box;
    -moz-box-sizing: border-box;
    box-sizing: border-box;
    border-right: 1px solid #a79991;
}

#footer-content > div:last-child {
    border-right: none;
}

#footer-content {
    width: 1035px;
    margin: 0 auto;
}

#footer-content .pad-box {
    padding: .6em 1.5em;
}

#footer-content > div:first-child div.pad-box {
    padding-left: 0;
}

#footer-content > div:last-child div.pad-box {
    padding-right: 0;
}

footer h3 a,
footer h3 a:visited,
footer h3 a:active {
    display: block;
    text-align: center;
    padding: 3px;
    background-color: #95857b;
    font-size: 1.2rem;
    color: #fff !important;
    text-decoration: none !important;
    font-weight: normal;
    text-transform: uppercase;
}

footer h3 a:hover {
    background-color: #7f3d24;
}

footer a,
footer a:link,
footer a:visited,
footer a:active {
   color: #c97a2e;
   text-decoration: underline;
}

footer a:hover,
footer a.internal-link:hover,
footer a.external-link:hover,
footer a.internal-link-new-window:hover,
footer a.external-link-new-window:hover {
   color: #c97a2e;
   text-decoration: none;
}

/* Typo3 Overrides -------------------*/
div.csc-textpic .csc-textpic-imagewrap .csc-textpic-image {
    margin-bottom: 0;
}

div.csc-textpic .csc-textpic-imagewrap .csc-textpic-image img {
  max-width: 100%;
  height: auto;
}



/* --------------------------------------------------------------------------------------------------
 * Media Queries ------------------------------------------------------------------------------------
 * -------------------------------------------------------------------------------------------------*/
@media all and (max-width: 1100px) {
    .body-content > div > div > div.pad-box:first-child {
        padding: .6em;
    }

    .body-content > div > div > .pad-box:last-child {
        padding: .6em;
    }

    #footer-content > div:first-child div.pad-box {
        padding-left: .6em;
    }

    #footer-content > div:last-child div.pad-box {
        padding-right: .6em;
    }
}

@media all and (max-width: 1035px) {
    #menu {
        width: 100%;
    }

    #header-user-content {
        height: 90px;
        margin-top: -90px;
    }

    #header-user-content p,
    #header-user-content h1,
    #header-user-content h2 {
        margin: 0;
        font-size: 1.6rem;
        font-weight: 800;
        line-height: 90px;
    }

    .body-content {
        width: 100%;
        padding: 0;
    }

    .nav-desktop__sub-menu--toggle {
        display: none;
    }

    .text_over_image {
        width: 80%;
        font-size: 1.5rem;
    }

    #footer-content {
        width: 100%;
    }
}

@media all and (max-width: 960px) {
    header {
        height: 73px;
    }

    .selected-page{
        background-image: none;
    }

    #mobile-logo {
        display: block;
        position: absolute;
        left: 5px;
        top: 5px;
        width: 22% !important;
        height: auto !important;
    }

   #subpage-logo {
      display: none;
   }

    img#logo-over-image {
        display: none;
    }

    #subpage-header-user-content {
        /*margin-top: 73px;*/
        position: relative;
        /*display: block;*/
        /*bottom: -40px;*/
        /*margin-bottom: -40px;*/
        /*top: 0;*/
        top: auto;
        background-color: #c2b598;
    }

    .body-content > div > div > div.pad-box:first-child {
        padding: .6em;
    }

    .body-content > div > div > .pad-box:last-child {
        padding: .6em;
    }

}

@media all and (max-width: 850px) {
    #header-user-content {
        height: 80px;
        margin-top: -80px;
    }

    #subpage-header-user-content {
        height: 80px;
    }

    #header-user-content p,
    #subpage-header-user-content p,
    #header-user-content h1,
    #subpage-header-user-content h1,
    #header-user-content h2,
    #subpage-header-user-content h2 {
        margin: 0;
        font-size: 1.35rem;
        font-weight: 800;
        line-height: 80px;
    }

    .text_over_image {
        font-size: 1.2rem;
    }

    h1 {
        font-size: 1.5em;
    }

    h2 {
        font-size: 1.3em;
    }
    h2 a,
    h2 a:visited,
    h2 a:active {
        padding: 5px 10px;
        font-size: 1.3rem;
    }

    #footer-content > div {
        border-right: none;
    }

    #footer-content .pad-box {
        padding: .6em;
    }

    #footer-content > div:first-child div.pad-box {
        padding-left: .6em;
    }

    #footer-content > div:last-child div.pad-box {
        padding-right: .6em;
    }
}

@media all and (max-width: 750px) {
#header-user-content p,
    #subpage-header-user-content p,
    #header-user-content h1,
    #subpage-header-user-content h1,
    #header-user-content h2,
    #subpage-header-user-content h2 {
        font-size: 1.2rem;
    }
}

@media all and (max-width: 550px) {
    header {
        background: rgba(78,51,35,1);
    }

    #header-images {
        /*top: 73px;*/
        padding-top: 73px;
    }

    #mobile-logo {
        width: 43%;
    }

    #header-user-content {
        height: 54px;
        /*margin-top: 64px;*/
        margin-top: 0;
        background-color: #c2b598;
    }

    #subpage-header-user-content {
        height: 54px;
    }

    #header-user-content p,
    #subpage-header-user-content p,
    #header-user-content h1,
    #subpage-header-user-content h1,
    #header-user-content h2,
    #subpage-header-user-content h2 {
        margin: 0;
        font-size: 1.05rem;
        font-weight: 800;
        line-height: 54px;
    }

    .text_over_image {
        font-size: .8rem;
    }
}