/* puritan-regular - latin */
@font-face {
  font-family: 'Puritan';
  font-style: normal;
  font-weight: 400;
  src: local('Puritan Regular'), local('Puritan-Regular'),
       url('/fonts/puritan-v10-latin-regular.woff2') format('woff2'), /* Chrome 26+, Opera 23+, Firefox 39+ */
       url('/fonts/puritan-v10-latin-regular.woff') format('woff'); /* Chrome 6+, Firefox 3.6+, IE 9+, Safari 5.1+ */
}

/* puritan-700 - latin */
@font-face {
  font-family: 'Puritan';
  font-style: normal;
  font-weight: 700;
  src: local('Puritan Bold'), local('Puritan-Bold'),
       url('/fonts/puritan-v10-latin-700.woff2') format('woff2'), /* Chrome 26+, Opera 23+, Firefox 39+ */
       url('/fonts/puritan-v10-latin-700.woff') format('woff'); /* Chrome 6+, Firefox 3.6+, IE 9+, Safari 5.1+ */
}
  

* {margin: 0; padding: 0;}
body, html {height: 100%; font-family: 'Puritan'; font-size: 17px; line-height: 1.4em; color: #000; background: white;}
.vertical-align-middle {
    position: relative;
    top: 50%;
    -webkit-transform: translateY(-50%);
    -ms-transform: translateY(-50%);
    transform: translateY(-50%);
}
.blue {color: #009fe3;}
.black {color: #000;}
img {max-width: 100%;}
.container {max-width: 1200px; margin: 0 auto; position: relative; padding: 0 15px;}
.header a.logo {display: block; text-align: center; padding-top: 50px;}
.header .line {position: absolute; right: 0; top: 0; width: 300px; border-left: 1px solid black; padding-top: 148px; line-height: 1.5em;}
@media (max-width: 1200px) {
    .header .line {padding-top: 30px;}
}
.header .line .key {width: 80px; text-align: right; display: inline-block; margin-right: 10px;}
.header .line a {text-decoration: none;}
.header {padding-bottom: 50px; border-bottom: 1px solid black;}
.menu {border-bottom: 1px solid black; text-align: center;}
.togglemenu {cursor: pointer; display: none; width: 20px; position: absolute; left: 15px; top: 15px;}
.menu .togglemenu {width: 12px; margin: 1px 4px;}
.menu li {display: inline-block;}
.menu li a {display: inline-block; text-transform: none; font-size: 125%; padding: 5px 15px; text-decoration: none; color: black;}
.menu li.active a {color: #009fe3;}

.headerimage {margin-top: 12px; background: url(/img/header1.jpg) center center / cover;}
@media (max-width: 800px) {
    .headerimage {background: url(/img/header2.jpg) center center / cover;}
}
.headerimage > div {min-height: 200px; position: relative; overflow: visible;}
.container:before, .container:after{
    content: ' ';
    display: table;
}
.headerimage.high > div {min-height: 400px;}
.headerimage .intro {background: rgba(0, 159, 227, 0.8); border: 1px solid white; color: white; max-width: 500px; margin: 45px 0 55px; padding: 30px 30px 35px;}
.headerimage .intro *:last-child {margin-bottom: 0;}
.headerimage .intro h2 {margin-bottom: 20px; line-height: 1.1em; font-size: 35px;}
.headerimage .intro a {color: white;}
.headerimage > .container > img {margin-bottom: -74px; position: absolute; right: 15px; bottom: 0; width: 145px;}



.content {color: white; background: #009fe3; margin-top: 3px; padding: 50px 0 80px;}
.content h1 {margin: 0 0 35px; line-height: 1.1em; font-size: 35px;}
.content h2 {margin: 0 0 15px; line-height: 1.1em; font-size: 22px;}
.content p + h2 {margin-top: 40px;}
.footer-content {padding: 80px 15px 90px; font-size: 200%; text-align: center; line-height: 1.4em;}
.footer a {color: #000; text-decoration: none;}
.home .footer-content {padding-bottom: 100px; background: #009fe3; color: white; margin-top: 3px;}
.content .container .page-header {text-align: center; font-size: 25px; padding-bottom: 35px; max-width: 800px; margin: 0 auto; line-height: 1.4em;}
.content .container .page-header h1 {margin-bottom: 0;}
.content .container .page-header h1 + p {margin-top: 30px;}
.content .container .page-header p {margin-bottom: 30px;}
.content .container .page-footer {margin-top: 65px; font-size: 90%; text-align: center;}
.content .container .page-content {column-width: 400px;}

.news .container .page-content.allnews {column-width: 250px; column-gap: 30px; column-rule: 1px dotted white;}
.allnews article, #im_results li {
    margin: 0 auto;
    -webkit-column-break-inside: avoid; /* Chrome, Safari */
    page-break-inside: avoid;           /* Theoretically FF 20+ */
    break-inside: avoid-column;         /* IE 11 */
    display:table;                      /* Actually FF 20+ */
    padding: 0 0 70px;
}
.content .allnews article h2 {margin-bottom: 15px;}
.content .allnews article img {margin-bottom: 12px;}
.news .container .page-header div.small {font-size: 17px; line-height: 1.4em; padding-top: 50px;}

#im_results {margin: 0;}
#im_results li {margin: 0; list-style: none; padding-bottom: 20px;}


.contact .content .container .page-content {column-count: 1;}
.content .container .page-content a {color: white;}
.footer-content p {margin-bottom: 0px;}
.footer-content p em {color: #009fe3; font-style: normal;}
.home .footer-content p em {color: #222;}
.content ol, .content ul, p {margin-bottom: 1.4em;}
.content ol, .content ul {margin-left: 25px;}
.footer {padding-bottom: 50px; margin-top: 12px; text-align: center; border-top: 1px solid black; padding-top: 5px; font-size: 90%;}
.home .content {display: none;}
.page-content.people {text-align: center; column-count: 1!important;}
.people > a {vertical-align: top; display: inline-block; width: 250px; text-decoration: none; text-align: center; margin: 0 25px 50px;}
.people > a > h3 {padding: 10px 0;font-weight: bold; font-size: 25px; line-height: 1.1;}
.people > a > img {margin: 0 auto 5px; display: block; max-width: 70px; opacity: 0.35;}
.people > a > p { font-weight: normal; font-size: 17px; line-height: 1.4;}
.people > a > p > span {text-decoration: underline;}
.drawing {max-width: 200px; opacity: 0.8;}
@media (max-width: 600px) {
    .content .container .page-header {text-align: left;}
    .headerimage > .container > img {width: 110px; margin-bottom: -57px;}
    .headerimage .intro {margin: 35px 0 65px;}
    .people > a {display: block; width: 100%; text-align: left; margin: 0 0 50px;}
    .people > a > img {margin: 0 0 5px;}
}
@media (max-width: 750px) {
    .header .line {text-align: center; padding-top: 10px; border: 0; width: 250px; right: auto; margin: 0 auto; position: relative;}
    .header .line .key {width: auto;}
    .header a.logo {padding-top: 10px; margin-top: 40px; padding-bottom: 10px;}
    .header {padding-bottom: 20px;}
    .menu {
        position: fixed; z-index: 99; left: 0; top: 0; width: 100%; 
        background: white; 
        padding: 40px 0 30px;
        display: none;
        box-shadow: 0px 0px 15px rgba(0,0,0,0.5);
    }
    .menu li {padding: 0 50px;}
    .menu li, .menu li a {display: block;}
    .togglemenu {display: block;}
}

.col50 {float: left; width: calc(50% - 20px);}
.col50 + .col50 {margin-left: 40px;}
.contact .content .container .page-content {max-width: 600px; margin: 0 auto;}
@media (max-width: 930px) {
    .col50 {float: none; width: 100%;}
    .col50 + .col50 {margin-left: 0px;}
}


#im_search {padding-top: 80px; text-align: center;}

form {position: relative;}
form div {margin-bottom: 15px;}
label {display: block; padding-bottom: 3px;}
input {vertical-align: middle;}
input[type="text"], input[type="email"], textarea {
    padding: 0 10px;
    height: 40px;
    line-height: 40px;
    border: 0;
    width: calc(100% - 20px);
    max-width: 300px;
    font-family: 'Puritan'; font-size: 17px;
    color: black;
}
textarea {
    padding: 5px 10px;
    resize: none;
    height: 200px;
}
input[type="submit"] {
    border: 0;
    height: 40px;
    background: rgba(0,0,0,0.3);
    padding: 0 15px;
    font-weight: bold;
    font-size: 100%;
    color: white;
    cursor: pointer;
} 

@media (max-width: 500px) {
    #im_search input {display: block; max-width: calc(100% - 20px);}
    #im_search input[type="submit"] {display: block; margin-top: 10px;}
}