
*, ::after, ::before {padding: 0; margin: 0; box-sizing: border-box;}
html * {max-height:1000000px;}
* {-webkit-text-size-adjust: 100%;}
img {display: block; max-width: 100%; height: auto;}
a {outline: 0; color: #719430; text-decoration: none;}

body {
  font-family: 'Muli', sans-serif; 
  font-size: 15px; 
  background: #292929; 
  color: #444; 
  line-height: 1.5; 
  font-weight: 300;
}
h1 {font-size: 43px;}
h2 {font-size: 25px; position: relative; top: 0.3em; padding-top: 0.3em}
.people h2 + h3 {position: relative; bottom: 0.5rem;}
.people img {}
.home h1 {font-size: 28px;}
.h1, .h2, .h3, h1, h2, h3 {
  margin-bottom: 0.75em;
  font-family: 'Montserrat';
  line-height: 1.2; 
  color: #719430;
  font-weight: 500;
}
.container {max-width: 1100px; margin: 0 auto; padding: 0 15px;}

#header {background: white; border-bottom: 5px solid #719430;}
#header .brand img{height: 100px;}
#header .container {display: flex; justify-content: space-between; align-items: center;}

#togglemenu {display: none;}

#menu {overflow: auto; width: calc(100% - 100px);}
#menu ul {padding: 0; margin: 0; display: flex; justify-content: flex-end; position: relative; bottom: 1px;}
#menu ul li {list-style: none;}
#menu ul li a {text-decoration: none; display: block; font-family: 'Montserrat',sans-serif; font-size: 18px; line-height: 2.2em; color: #444; margin-left: 50px;}
#menu ul li a:hover {color: #719430;}
#menu li.active a {color: #719430;}

#preheader {text-align: right; background: #e3eccf; font-size: 14px; padding: 3px 0 4px;}
#preheader a {color: #444; text-decoration: none;}
#preheader a:hover {}
#preheader a img {height: 14px; opacity: 0.3; display: inline-block; position: relative; top: 3px; margin: 0 2px;}

#breadcrumbs, .declaretype {
  letter-spacing: 1px;
  color: #719430;
  text-transform: uppercase;
  font-size: 11px;
  font-weight: 400;
}
#breadcrumbs a {color: #719430; text-decoration: none;}
.declaretype {margin-top: 0px;}

#banner {background: #444;}

.people img.circle {width: 10rem; height: 10rem; border-radius: 100%; object-fit: cover; margin: 2.5rem 0 0;}
.people hr {clear: both; margin-top: 3rem; border: 0; height: 0px; border-top: 0px dashed #719430;}
@media only screen and (max-width: 450px) {
  .people img.circle {float: none;}
}

#precontent {background: #f5faea; padding: 45px 0 55px;}
#precontent .container {display: flex; flex-direction: row-reverse;}
#precontent .container > *:nth-child(1) {min-width: 17rem; margin-left: 100px;}
#precontent .container > *:nth-child(1) li {list-style: none; padding-bottom: 8px;}

input[type="submit"], .btn {display: block; padding: 10px 15px; background: #719430; color: white; text-decoration: none; font-weight: bold; border-radius: 3px;}
.btn:hover {background: #a5bc09;}
input, textarea {font-family: 'Muli', sans-serif; font-size: 15px;}
input[type="submit"] {border: 0; height: 42.5px; line-height: 42.5px; padding: 0 1rem; border-radius: 3px; cursor: pointer;}

#content {background-color: #f5faea; padding: 45px 0 100px;}
#content p {margin-bottom: 1.5em;}
#content .wide ul, #content .wide ol {margin-bottom: 1.5em; margin-left: 1em;}
#content ul a {}
.home #content {padding-top: 0;}
.wide #content .wide p:first-of-type,
.default #content .wide > div:not(#events) p:first-of-type {
  font-weight: 400;
  color: #333;
  font-size: 20px;
  line-height: 1.5em;
  margin-bottom: 1.5em;
}
.home #content h2 {margin-bottom: 1.25em;}
.home #content .container > div {width: 40%;}
.home #content .container > div:nth-child(1) {margin-right: 15%;}
.home #content .container > div:nth-child(2) {width: 45%;}
@media only screen and (max-width: 800px) {
  #precontent .container, .home #content .container {flex-wrap: wrap;}
  #precontent .container > div, .home #content .container > div {width: 100%!important; margin: 0!important;}
  #precontent .container > div:nth-child(1), .home #content .container > div:nth-child(1) {margin-bottom: 35px!important;}
}

.default #content .container {display: flex; flex-direction: row-reverse;}
#content .container {display: flex;}
.postslist #content .container {display: block;}
#content .container .small {min-width: 170px; max-width: 170px;}
#content .container > .small {min-width: 280px; padding-top: 105px;}
#content .container .wide {margin-right: 60px; flex-grow: 1;}
.default #content .container > div:not(.small) {display: flex; flex-direction: row; width: 100%;}
.default #content .container > div > .small {padding-top: 100px;}

.imageholder {margin-bottom: 2em;}

.default #content .nestedmenu {border-top: 1px solid #719430; margin-right: 45px; margin-top: -102px;}
.default #content .nestedmenu li {list-style: none;}
.default #content .nestedmenu li a {
  text-decoration: none;
  letter-spacing: 1px;
  text-transform: uppercase;
  font-size: 11px;
  font-weight: 400;
  color: #719430;
  display: block;
  padding: 7px 0;
  text-align: right;
  border-bottom: 1px solid #719430;
  text-align: left;
}

@media only screen and (max-width: 1000px) {
  .default #content .container > div:not(.small) {display: block;}
  .default #content .container > div > .small {padding-top: 50px;}
  #content .container {display: block;}
  body.wide #content .container > .small {padding-top: 50px;}
}
@media only screen and (max-width: 850px) {
  #content .container .wide {margin-right: 0px;}
}
@media only screen and (max-width: 750px) {
  .default #content .container {display: block;}
  .default #content .nestedmenu {margin-right: 0px; margin-top: -80px;}
  #content .container > .small {max-width: 100%;}
  .posts #content .container > .small {padding-top: 0px;}
}

#posts {display: flex; flex-wrap: wrap; margin: 0 -1rem;}
#posts > div {width: 20rem; flex-grow: 1; margin: 1rem;}
#posts .image {width: 100%; position: relative; padding-bottom: 50%; background: silver; margin-bottom: 10px;}
#posts .image .overlay {background: none; width: 100%; height: 100%; position: absolute;}
#posts .date {color: #719430; position: relative; top: 5px; font-size: 13px;}
#posts h2 {padding-top: 0;}
.date {color: #719430; font-size: 13px;}
.posts .date {margin-bottom: 1em; font-size: 15px; font-style: italic; color: #333;}
.postslist ul li {list-style: none; width: auto; white-space: nowrap; text-overflow: ellipsis; overflow: hidden;}
.postslist ul li a {color: #444;}

#events {padding-bottom: 20px;}
#events > div {overflow: auto; padding-bottom: 10px;}
#events > div > div:nth-child(2) {margin-left: 92px;}

@media only screen and (max-width: 600px) {
  form > div > *, form > div {display: block;}
  form > div.noflex {padding-left: 0rem;}
}
#search-google {margin: 0; max-width: 15rem; width: 100%; margin-bottom: 1rem;}

.date_calendar {
  width: 60px; 
  text-align: center; 
  float: left; 
  background: rgba(0,0,0,0.25);
  position: relative; 
  top: 3px; 
  left: 3px; 
  margin: 0 2rem 15px 0;
}
.date_calendar > div {
  border: 1px solid rgba(0,0,0,0.25); background: white; font-size: 25px; 
  line-height: 1.4em; text-transform: uppercase; font-weight: bold; color: #444; 
  position: relative; bottom: 3px; right: 3px;
}
.date_calendar span {
  font-size: 15px; display: block; background: #719430; line-height: 1.6em; margin-bottom: 2px; color: white;
}
.datefont {
  letter-spacing: 1px;
  text-transform: uppercase;
  font-size: 11px;
  font-weight: 400;
}


#prefooter {
  text-align: left;
  background: #e3eccf;
  padding: 50px 0 55px;
}
#prefooter .container {max-width: 725px; display: flex;}
#prefooter img {max-width: 200px; margin: 0 2rem 0 0;}

#footer {padding: 5px 0 50px; color: #999;}
#footer .container {display: flex;}
#footer .container > *:nth-child(1) {min-width: 50%;}
#footer .container > *:nth-child(1) p {margin-right: 50px;}
#footer .container > * {min-width: 25%;}
#footer h3 {
  font-family: 'Montserrat', sans-serif;
  text-transform: none;
  font-size: 20px;
  padding-top: 25px;
  padding-bottom: 7px;
  font-weight: 400;
  color: #ccc;
  margin-top: 20px;
}
#footer li {list-style: none;}
#footer a {color: #999; text-decoration: none;}
@media only screen and (max-width: 1200px) {
  #footer .container {flex-wrap: wrap;}
  #footer .container > *:nth-child(1) {width: 100%;}
  #footer .container > *:nth-child(1) p {margin-right: 0px; max-width: 400px;}
  #footer .container > *:nth-child(2) {width: 50%;}
  #footer .container > *:nth-child(3) {width: 50%;}
}
@media only screen and (max-width: 600px) {
  #footer .container {display: block;}
  #footer .container > *:nth-child(2) {width: 100%;}
  #footer .container > *:nth-child(3) {width: 100%;}
}


#postfooter, #postfooter a {color: #999; text-decoration: none;}
#postfooter {padding: 0 0 20px;}
@media only screen and (max-width: 600px) {
  #prefooter .container {display: block;}
  #prefooter img {margin: 0 0 1rem 0;}
}
@media only screen and (max-width: 1005px) {
  #togglemenu {
    display: block; 
    font-size: 18px;
    line-height: 2.2em;
    color: #444;
    font-family: 'Montserrat',sans-serif;
    cursor: pointer;
  }
  #menu {
    display: none;
    background: #719430;
    color: white;
    width: 100%;
    border-bottom: 0px solid #9db969;
    border-top: 1px solid #9db969;
    position: absolute; 
    left: 0;
    top: 133px; 
    padding: 5px 0;
    z-index: 99;
  }
  #menu ul li a {color: white!important; padding-left: 15px; margin-left: 0;}
  #menu ul li.active a {background: rgba(255,255,255,0.2);}
  .menuopen #menu {display: block;}
  .menuopen #menu ul {display: block;}
}


.form {display: flex; flex-wrap: wrap; margin: 0 -1rem; padding: 0; border-radius: 0.5rem;}
.form > div {display: flex; flex-direction: column; padding: 1.2rem 1rem 0; font-size: 1.15rem; position: relative;}
.form > div.title:not(:first-child) {margin-top: 2.9rem;}
.form > div.title h3 { margin-bottom: 0;}
.form > div input:not([type="submit"]), .form > div select, .form > div textarea {border: 1px solid #ccc; background: white;}
.form > div.radio, .form > div.checkbox {flex-direction: row; gap: 2.3rem; padding-bottom: 0.8rem;}
.form > div.radio input, .form > div.checkbox input {margin-right: 0.6rem; height: 1.4rem; width: 1.4rem; vertical-align: middle; position: relative; bottom: 0.15rem;}
.form > div:not(.radio, .checkbox, .submit, .title) label {font-size: 1rem;}
.form > div:not(.radio, .checkbox, .submit, .title) {padding-top: 1.5rem;}
.form > div:not(.radio, .checkbox, .submit, .title) label {padding-bottom: 0.3rem;}
input[type="search"], input[type="text"],input[type="number"], input[type="email"], textarea,
.form > div:not(.radio, .checkbox, .submit) input, .form > div select, .form > div textarea {border-radius: 0.25rem; padding: 0.35rem 0.5rem; font-size: 1rem; border: 1px solid #ccc; background: white;}
.form > div textarea {min-width: 100%; max-width: 100%;}
.form > div.footnote {opacity: 0.5; font-size: 0.88rem;}
.form > div.submit {flex-direction: row; justify-content: flex-start; margin-top: 0.5rem;}
.form > div:not(.title) + div.checkbox {margin-top: 0.5rem;}
.form > div.checkbox + div.checkbox {margin-top: -1.2rem;}