:root {
--base:#222;
--accent:#667361; /* mid green */
--accent-2:#25331F; /* dark green */
--accent-3:#D8DED6; /* pale green */
--width: 900px;
}

@font-face {
 font-family: 'Montserrat';
 src: url('../f/Montserrat-Medium.woff2') format('woff2'),
     url('../f/Montserrat-Medium.woff') format('woff');
 font-weight: 500;
 font-style: normal;
 font-display: swap;
}

body {
background: #fff;
font-family: -apple-system,BlinkMacSystemFont,segoe ui,Roboto,Helvetica,Arial,sans-serif,apple color emoji,segoe ui emoji,segoe ui symbol;
font-size: 130%;
margin: 0;
padding: 0;
line-height: 1.3;
color: var(--base);
}

a:focus { outline: 2px solid #0A74A9; border-radius: 2px; }

a { 
text-decoration: underline;
color: var(--accent);
}

a:hover, a:focus { 
color: var(--accent-2);
text-decoration: underline;
}

a:active { 
color: #000;
text-decoration: underline;
}

/* header and footer */

footer, .content {
max-width: var(--width);
margin-left: auto;
margin-right: auto;
padding: 0;
}

/* 
body.topbanner .banner {
min-height:0;
}

.banner {
background: var(--accent) url(../images/header.jpg) no-repeat center center;
background-size: cover;
box-shadow: 0 0 20px rgb(0 0 0 / 80%) inset;
}
*/

header {
margin-bottom: 2em;
padding: .7em 1em .3em 1em;
text-align: center;
background: var(--accent-3);
border-bottom: 16px double #fff;
}

header img {
max-width: 100%;
height: auto;
}

header p {
color: var(--accent);
font-size: 70%;
}

footer {
margin-top: 4em;
margin-bottom: 4em;
text-align: center;
font-size: 75%;
}

/* general */

h1, h2, h3 {
font-family: 'Montserrat', sans-serif;
font-weight: 500;
}

body.privacypage h2, body.privacypage h3 {
text-align: left;
}

h1 {
font-size: 3.5vw;
color: var(--accent);
margin: 0;
text-align: center;
}

h2 {
font-size: 135%;
color: var(--accent);
letter-spacing: 0.05em;
text-align: center;
}

h2 strong {
color: var(--accent-2);
font-weight: inherit;
}

h3 {
margin-top: 1.5em;
font-size: 120%;
color: var(--accent);
}

p {
margin: 1.2em 0;
}

.small {
font-size: 80%;
}

main img {
display: block;
margin: 0 auto;
max-width: 100%;
height: auto;
border-radius: 20px;
box-shadow: rgba(100, 100, 111, 0.2) 0px 7px 29px 0px;
}

#back-to-top {
background: rgba(0,0,0,.6);
transition: all 200ms linear;
}

#back-to-top:hover, #back-to-top:focus {
background: rgba(0,0,0,9);
}

/* misc */

ul {
padding-left: 1em;
}

li {
margin-bottom: .1em; 
list-style: square;
padding: .3em 0;
}

p strong, li strong {
color: var(--accent);
}

hr {
border: 0;
border-top: 12px double var(--accent-3);
margin: 2em 0;
}


/* form */

button, input, select, textarea {
font-family: inherit;
}

label {
margin:0 0 3px 0;
padding:0;
display:block;
font-family: 'Montserrat', sans-serif!important;
text-transform: uppercase;
font-weight: 500!important;
color: var(--accent)!important;
}
input[type=text], 
input[type=date],
input[type=datetime],
input[type=number],
input[type=search],
input[type=time],
input[type=url],
input[type=tel],
input[type=email],
textarea, select{
box-sizing: border-box;
border: 0;
background: #fff;
color: #111;
padding: 10px 15px;
margin:0px;
border: 1px solid var(--accent-3);
outline: none;	
font-size: inherit;
}
input[type=text]:focus, 
input[type=date]:focus,
input[type=datetime]:focus,
input[type=number]:focus,
input[type=search]:focus,
input[type=time]:focus,
input[type=url]:focus,
input[type=email]:focus,
textarea:focus, 
select:focus{
border: 1px solid var(--accent-2);
}
input[type="checkbox"],input[type='radio'] {
width: 1.5em;
height: 1.5em;
margin-right: 0.5em;
vertical-align: text-top;
}
select{
width: 100%;
}
textarea{
min-height: 150px!important;
}
button, input[type=submit], input[type=button], .button{
background: var(--accent);
color: #fff;
padding: 12px 18px;
border: none;
font-size: inherit;
font-family: 'Montserrat', sans-serif;
text-transform: uppercase;
font-weight: 500!important;
text-decoration: none;
border-radius: 5px;
}
button:hover, input[type=submit]:hover, input[type=button]:hover, .button:hover, button:focus, input[type=submit]:focus, input[type=button]:focus, .button:focus {
background: var(--accent-2);
color: #fff;
text-decoration: none;
}

a.button {
display: inline-block;
}

.cog-abuse {display: none;}
.cog-abuse li {
background: none;
padding: auto;
}



/* media queries */

@media only screen and (max-width: 1100px) {



}


@media only screen and (max-width: 900px) {

footer, .content, .fullwidthinner, #logo img {
max-width: 85%;
}

}

@media only screen and (max-width: 800px) {

/*
.banner, body.topbanner .banner {
min-height: 5em;
}
*/

header {
margin-top: 0em;
margin-bottom: 1.5em;
}

footer {
margin-top: 4em;
margin-bottom: 4em;
}

h1 {
font-size: 4.5vw;
}

h2 {
font-size: 150%;
}

h3 {
font-size: 120%;
}

}


@media only screen and (max-width: 450px) {

 /*
.banner, body.topbanner .banner {
min-height: 3.5em;
}
*/

header {
margin-top: 0;
margin-bottom: 1.25em;
}

header img {
max-width: 70%;
}

header p {
font-size: 65%;
}

footer {
font-size: 65%;
}

h1 {
font-size: 4.5vw;
}

h2 {
font-size: 120%;
margin-top: -.5em;
}

h2.mainheading {
font-size: 95%;
}

h3 {
text-align: left;
font-size: 110%;
}

ul {
font-size: 80%;
}

}