@font-face {
    font-family: NeoSans;
    src: url("/common/NeoSansStdRegular.otf") format("opentype");
}
@font-face {
    font-family: NeoSansBold;
    src: url("/common/NeoSansStdBold.otf") format("opentype");
}

body {
    margin:0;
    font-family:NeoSans,verdana,arial,helvetica,sans-serif; font-size:100%;
    position: relative;
    top: 0;
}

header {
    position: relative; top:0; padding: 0;
    max-width:1000px;
    width: 100%; font-size: 110%;
    background-color:#fff;
    margin: 0 auto 0.75em;
    font-family: NeoSansBold,verdana,sans-serif;
}

header a.logo {
    margin:0; padding: 0;
    font-size:0;
    display: block;
    position: relative;
    top:2px;
}

header a.logo img {
    margin:0;
    width:80px;
}

.menuButton {
    float: right;
    border: 2px solid #666;
    margin: 0.25em;
    width: 1.5em;
    height: 1.5em;
    text-align: center;
    cursor: pointer;
}

#mobileMenu { display: none; }

header #mainheader {
    position:absolute;
    top:0; bottom:0; right:0; left:90px;
    background-color:#fff;
}

header h1,
header h1 a {
    margin:0;
    font-size: 24pt;
    color: black;
    text-decoration: none;
}

nav {
    position: absolute; bottom:0; left:0; right:0;
    max-width:1000px; margin:0 auto;
    background-color:white; color:black;
    text-align:center; font-weight:bold;
    border-top:1px solid #49bb58;
    border-bottom:1px solid #49bb58;
    z-index:10;
}
nav span.navitem {
    display:inline-block; height: 2em;
    position:relative; top:0; line-height:2em;
}
span.navitem a {
    color:#2b6f34; text-decoration:none; padding:0 0.5em;
    display: inline-block; height: 2em;
}
span.navitem a:hover {
    background-color:#a9dfb1;
}
div.submenu {
    position:absolute; top:2em; left:0;
    display:none; z-index:9999;
}
span.navitem:hover div.submenu { display:block; }

div.submenu a {
    display:block; height:2.5em; background-color:black; color:white;
    white-space:nowrap; padding:0.5em 1em;
    text-align:left; border-left:1em solid #666;
}
div.submenu a:hover {
    color:#000; border-color:#49bb58;
}


div#content {
    max-width:1000px; margin:0 auto;
    background-color:white; color:black;
    clear: both;
}

div#content a, h2, h3 {
    clear:both;
    text-decoration: none;
    font-weight: bold;
    color:#090;
}

div#content img {
    float:right;
    margin-left:1.5em;
    max-width: 40%;
    max-height: 250px;
    cursor: pointer;
}

div.carousel {
    clear: both;
    background-color:#ccc;
    height:340px;
    position: relative;
    top: 0;
}

div.carousel div.item {
    position: absolute;
    top: 0;
    left: 0;
    height:100%; width: 100%;
    background-size:cover;
    background-position-x: center;
    background-position-y: bottom;
    display: none;
}
div.carousel div.current {
    display: block;
}
div.carousel div.item span {
    display:block; position:absolute; bottom:0; left:0; right:0;
    padding:0.5em;
    text-shadow:2px 2px 6px #333333;
    color:white;
    font-weight:bold;
    text-align:left;
    font-size:140%;
    background-color: #333333;
    opacity:0.8;
}
div.carousel div.dots {
    display: none;
    /*position:absolute; bottom:0; right:0;*/
    float:right;
    padding:0.75em;
    font-size: 80%;
}
div.carousel span.dot {
    display:inline-block;
    height:1em; width:1em;
    border-radius: 50%;
    border:3px solid #ccc;
    margin-left:1.25em;
    cursor:pointer;
}
div.carousel span.current {
    border:3px solid #0c0;
    background-color: #0c0;
    cursor: default;
}

td { vertical-align: top; }

form {}

form label { 
    display: block; 
    text-align:right; 
    margin-bottom:1em;
}

form span.label { 
    float:left; 
    color:#090; 
    font-weight:bold; 
}

form input[type=submit],
form input[type=text],
form textarea {
    font-family:verdana,arial,helvetica,sans-serif;
    font-size:11pt;
}

form input[type=text],
form textarea {
    min-width:50%;
    padding:0.25em;
}

footer {
    margin-top:1em;
    border-top:2px solid #49bb58;
    text-align: center;
    font-size: 90%;
    clear: both;
}

div#content footer a {
    color:#666;
}

footer div#logos {
    margin-top:0.5em;
    text-align:center;
}
footer a.logo {
    margin: 0 0.25em; padding: 0;
}

footer a.logo img {
    vertical-align: middle;
    margin-left: 0 !important;
    max-height:4.5em !important;
    max-width:5em !important;
    float:none !important;
}

footer div#footernav {
    margin-top:0.5em;
    color:#666;
    font-size:90%;
}

#lightbox {
    z-index: 20;
    position:absolute;top:0;left:0;bottom:0;right:0;
    display: table-cell;
    text-align: center;
    vertical-align: middle;
    line-height:100%;
}
#lightboxBackground {
    background-color: #000;
    position:absolute;top:0;left:0;bottom:0;right:0;
    opacity:0.85;
}
#lightbox img {
    max-height:80%;
    max-width: 80%;
    position: absolute;
    top:50%;
    left: 50%;
    transform: translate(-50%,-50%);
}

table.images {
    border-collapse: collapse;
    width: 100%;
}
table.images th,
table.images td {
    text-align: center;
    vertical-align: middle;
    padding:1em;
}
table.images img {

}

p.newsdate { font-size:70%; margin-top:-1em; }

p.code { background-color: #cfc; color:black; font-family: monospace; white-space: pre; padding:1em; line-height: 1em; border-radius: 0.5em;  }

div.sidebar {
    float:right; width:15em;min-width:10em;max-width:20em; background-color: #cfc;
    margin:0 0 1em 1em; padding:0.5em; border-radius:0.5em;
}

div.dots {
    display: none;
}




#menuOverlay {
    display: none;
    background-color: black;
    color: white;
    position: absolute;
    top: 0;
    bottom: 0;
    overflow:auto;
}

#menuOverlay span.navitem {
    position: static;
    display: block;
    font-weight: bold;
    padding-top: 0.25em;
}

#menuOverlay span.navitem a {
    display: block;
    color:#6f6;
}

#menuOverlay div.submenu {
    position: static;
    display: block;
    color: white;
}

#menuOverlay div.submenu a {
    height:1.5em;
    display: block;
    color:white;
    border: none;
    margin-left: 1em;
}

#menuOverlay span.navitem+span.navitem {
    border-top:1px solid #999;
}

#menuOverlay span.navitem a:hover {
    background-color:#666;
}


@media (max-device-width: 20cm) {

    #mobileMenu {
        display: block;
    }


    nav {
        display: none;
    }


    div.content {
        margin: 0 1em;
    }




    /* Portrait layout styles - typically phone */
    @media (max-aspect-ratio: 1/1){

        div.carousel {
            aspect-ratio: 16/12;
            height: auto;
        }

        div#mainheader { left: 0; }

        header { height: 50%; }

        h1 { margin-left: 90px; }

        h1 a { font-size: 14pt; }

    }

}


