/* cabin-regular - latin */
@font-face {
font-display: swap;
font-family: 'Cabin';
font-style: normal;
font-weight: 400;
src: url('../f/cabin-regular-webfont.woff2') format('woff2'),
       url('../f/cabin-regular-webfont.woff') format('woff');
}

:root {
--base:#fff;
--accent:#CC332B; /* red */
--accent-2:#000; /* black */
--accent-3:#FEF00F; /* yellow */
--width: 1040px;
}

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

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

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

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

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

body.page .banner {
height: 4em;
}

body.headerbanner .banner, body.topbanner .banner {
min-height: 6em;
}

.banner {
background-color: var(--accent);
background-image: linear-gradient(67.5deg, rgb(239, 26, 22) 0%, rgb(239, 26, 22) 1%,rgb(234, 49, 20) 1%, rgb(234, 49, 20) 19%,rgb(228, 73, 17) 19%, rgb(228, 73, 17) 25%,rgb(223, 96, 15) 25%, rgb(223, 96, 15) 45%,rgb(217, 120, 13) 45%, rgb(217, 120, 13) 56%,rgb(212, 143, 11) 56%, rgb(212, 143, 11) 59%,rgb(206, 167, 8) 59%, rgb(206, 167, 8) 90%,rgb(201, 190, 6) 90%, rgb(201, 190, 6) 100%),linear-gradient(180deg, rgb(239, 26, 22) 0%, rgb(239, 26, 22) 1%,rgb(234, 49, 20) 1%, rgb(234, 49, 20) 19%,rgb(228, 73, 17) 19%, rgb(228, 73, 17) 25%,rgb(223, 96, 15) 25%, rgb(223, 96, 15) 45%,rgb(217, 120, 13) 45%, rgb(217, 120, 13) 56%,rgb(212, 143, 11) 56%, rgb(212, 143, 11) 59%,rgb(206, 167, 8) 59%, rgb(206, 167, 8) 90%,rgb(201, 190, 6) 90%, rgb(201, 190, 6) 100%),linear-gradient(67.5deg, rgb(239, 26, 22) 0%, rgb(239, 26, 22) 1%,rgb(234, 49, 20) 1%, rgb(234, 49, 20) 19%,rgb(228, 73, 17) 19%, rgb(228, 73, 17) 25%,rgb(223, 96, 15) 25%, rgb(223, 96, 15) 45%,rgb(217, 120, 13) 45%, rgb(217, 120, 13) 56%,rgb(212, 143, 11) 56%, rgb(212, 143, 11) 59%,rgb(206, 167, 8) 59%, rgb(206, 167, 8) 90%,rgb(201, 190, 6) 90%, rgb(201, 190, 6) 100%),linear-gradient(270deg, rgb(192, 212, 51),rgb(254, 105, 74)); background-blend-mode:overlay,overlay,overlay,normal;
box-shadow: 0 0 20px rgb(0 0 0 / 80%) inset;
}

header {
text-align: center;
margin-top: 4em;
margin-bottom: 2em;
}

.banner header {
margin-top: 0;
padding-top: 3em;
padding-bottom: 3em;
}

body.page header {
width: 90%;
max-width: 70em;
margin-top: 1.5em;
display: flex;
justify-content: space-between;
}

body.page nav {
margin: auto 0;
}

body.page nav ul {
margin: 0;
}

body.page nav ul li {
text-align: left;
display: inline;
background: none;
vertical-align: middle;
margin: 0 0 .5em 1em;
padding: 0;
}

body.page nav ul li a {
font-family: 'Trebuchet MS','Cabin',Lucida Grande,Lucida Sans Unicode,Lucida Sans,Tahoma,sans-serif;
font-weight: 400;
font-size: 85%;
text-decoration: none;
text-transform: uppercase;
}

nav a.active {
color: var(--accent-2);
border-bottom: 2px solid var(--accent-3);
}

nav li a img {
vertical-align: middle;
}

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

h1, h2, h3 {
font-family: 'Trebuchet MS','Cabin',Lucida Grande,Lucida Sans Unicode,Lucida Sans,Tahoma,sans-serif;
font-weight: 400;
text-align: center;
text-transform: uppercase;
}

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

h1 {
font-size: 300%;
color: var(--accent);
margin-bottom: -.2em;
}

h1 span {
color: var(--accent-2);
}

h1 img {
margin-right: .2em;
height: auto;
width: 15em;
vertical-align: middle;
}

.bookpage h1 img {
width: 23.5vw;
}

body.page h1 {
font-size: 150%;
text-align: left;
margin: 0;
}

h2 {
margin-top: 1em;
font-size: 200%;
color: var(--accent);
}

h2 span {
color: #000;
}

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

p {
margin: 1.2em 0;
}

.small {
font-size: 80%;
}

.lead {
font-family: 'Trebuchet MS','Cabin',Lucida Grande,Lucida Sans Unicode,Lucida Sans,Tahoma,sans-serif;
font-weight: 400;
font-size: 148%;
text-align: center;
color: var(--accent);
}

#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);
}

/* header in banner */

.banner header h1, .banner header h1 span, .banner header p {
color: var(--base);
}

.banner header h1 {
text-shadow: 0.05em 0.05em 0 rgba(0,0,0,.5);
}

.banner header h1 img {
filter: drop-shadow(0.05em 0.05em 0 rgb(0 0 0 / .5));
}

.banner header .lead {
text-shadow: 0.1em 0.1em 0 rgba(0,0,0,.5);
}


/* fullwidth background and panels */

.fullwidth {
margin-top: 4em;
margin-bottom: 3em;
margin-left: calc(-100vw / 2 + 100% / 2);
margin-right: calc(-100vw / 2 + 100% / 2);
max-width: 100vw;
width: auto;
padding-top: 1em;
padding-bottom: 2em;

background: #222;
}

.fullwidth::after {
content: '';
background: url(../images/downarrow.svg) no-repeat top center;
background-size: 100% auto;
width: 80px;
height: 50px;
display: block;
margin: 0 auto;
}

.widewidth {
margin-top: -1em;
margin-bottom: 2em;
margin-left: -1.5em;
width: calc(90% + 8em);
}

#getinvolved {
background: #000 url(../images/mm-getinvolved-2000.jpg) no-repeat center center;
background-size: cover;
}

#bookquote {
background: #000 url(../images/sm-back01.jpg) no-repeat center center;
background-size: cover;
}

.blackpanel {
background: rgba(0,0,0,.7);
margin: 2em 0;
padding: 1em 2em;
color: #fff;
width: 50%;
border-radius: 5px;
}

.blackpanel h2, .blackpanel h3, .blackpanel strong, .blackpanel a {
color: #fff;
margin-top: .5em;
}


/* misc */

ul {
padding-left: 0;
}

li {
margin-bottom: 1em; 
list-style: none;
background: url(../images/bullet.png) no-repeat 0 0;
background-size: 32px 32px;
background-position: 0 .3em;
padding: .5em 0 .5em 2em;
}

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

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

main img.noshadow {
box-shadow: none;
}

main img.imgc {
display: block;
margin: auto;
}

blockquote {
background: var(--accent-3);
background-image: linear-gradient(90deg ,rgba(255,255,255,0.3) 0%, rgba(255,255,255,0.3) 100%),linear-gradient(54deg, rgb(225, 55, 139) 0%, rgb(225, 55, 139) 14%,rgb(223, 82, 118) 14%, rgb(223, 82, 118) 26%,rgb(220, 109, 96) 26%, rgb(220, 109, 96) 30%,rgb(218, 137, 75) 30%, rgb(218, 137, 75) 36%,rgb(215, 164, 53) 36%, rgb(215, 164, 53) 67%,rgb(213, 191, 32) 67%, rgb(213, 191, 32) 87%,rgb(210, 218, 10) 87%, rgb(210, 218, 10) 100%),linear-gradient(292deg, rgb(225, 55, 139) 0%, rgb(225, 55, 139) 14%,rgb(223, 82, 118) 14%, rgb(223, 82, 118) 26%,rgb(220, 109, 96) 26%, rgb(220, 109, 96) 30%,rgb(218, 137, 75) 30%, rgb(218, 137, 75) 36%,rgb(215, 164, 53) 36%, rgb(215, 164, 53) 67%,rgb(213, 191, 32) 67%, rgb(213, 191, 32) 87%,rgb(210, 218, 10) 87%, rgb(210, 218, 10) 100%),linear-gradient(201deg, rgb(225, 55, 139) 0%, rgb(225, 55, 139) 14%,rgb(223, 82, 118) 14%, rgb(223, 82, 118) 26%,rgb(220, 109, 96) 26%, rgb(220, 109, 96) 30%,rgb(218, 137, 75) 30%, rgb(218, 137, 75) 36%,rgb(215, 164, 53) 36%, rgb(215, 164, 53) 67%,rgb(213, 191, 32) 67%, rgb(213, 191, 32) 87%,rgb(210, 218, 10) 87%, rgb(210, 218, 10) 100%),linear-gradient(343deg, rgb(225, 55, 139) 0%, rgb(225, 55, 139) 14%,rgb(223, 82, 118) 14%, rgb(223, 82, 118) 26%,rgb(220, 109, 96) 26%, rgb(220, 109, 96) 30%,rgb(218, 137, 75) 30%, rgb(218, 137, 75) 36%,rgb(215, 164, 53) 36%, rgb(215, 164, 53) 67%,rgb(213, 191, 32) 67%, rgb(213, 191, 32) 87%,rgb(210, 218, 10) 87%, rgb(210, 218, 10) 100%),linear-gradient(90deg, rgb(88, 104, 6),rgb(66, 122, 91)); 
background-blend-mode:normal,overlay,overlay,overlay,overlay,normal;
box-shadow: rgba(100, 100, 111, 0.2) 0px 7px 29px 0px;
margin: 2em 0 3em 0;
padding: 1.5em 40% 1.5em 2em;
border-radius: 5px;
font-style: italic;
font-size: 120%;
}

blockquote cite {
font-size: 80%;
}

hr {
border: 0;
border-top: .1em solid var(--accent-3);
margin: 2em;
}


/* Features */

.features {
display: flex;
flex-wrap: wrap;
justify-content: center;
width: calc(100% + 2em);
margin: 3em 0 3em -2em;
padding: 0;
list-style: none;
}

.features li {
width: calc(33.33333% - 2em);
margin-left: 2em;
margin-top: 3em;
padding: 0;
background: none;
text-align: center;
}

.features li:nth-child(1), .features li:nth-child(2), .features li:nth-child(3) {
margin-top: 0;
}

.features li > :last-child {
margin-bottom: 0;
}

.features li img {
width: 65%;
border-radius: 0;
box-shadow: none;
}

.features li h3 {
margin: 0.5em 0 -.5em 0;
}

.features li p {
font-size: 90%;
}

/* gallery */

.gallery {
display: flex;
flex-wrap: wrap;
margin: 2em 0 0 -1.25rem;
width: calc(100% + 1.25rem);
list-style: none;
}

.gallery li {
display: block;
margin: 1.25rem 0 0 1.25rem;
width: calc(50% - 1.25rem);
background: none;
padding: 0;
}

.gallery.threeimages li {
width: calc(33.3% - 1.25rem);
}

/* infobox */

.infobox {
display: flex;
flex-flow: row wrap;
margin-bottom: 2em;
}

.imgarea {
flex: 3;
}

.imgarea.imgsml {
flex: 2;
}

.imgarea.imgxsml {
flex: 1;
}

.infoarea {
flex: 4;
margin: auto auto auto 2em;
}

.infoarea.infowide {
flex: 5;
}

.infoarea h2 {
text-align: left;
margin-top: 0;
font-size: 150%;
}

.infoarea h3 {
text-align: left;
margin-top: 0;
}


/* tables */

table {
width: 100%;
border-collapse: collapse;
border-width: 0px;
border-color: var(--accent);
border-style: solid;
}

table thead {
background-color: var(--accent);
color: var(--base);
text-align: left;
font-family: 'Trebuchet MS','Cabin',Lucida Grande,Lucida Sans Unicode,Lucida Sans,Tahoma,sans-serif;
font-weight: 700;
}

table td, table th {
border-width: 0px;
border-color: var(--accent);
border-style: solid;
padding: .5rem;
}

tr:nth-child(even) {
background-color: #efefef;
}


/* form */

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

label {
margin:0 0 3px 0;
padding:0px;
display:block;
font-weight: bold!important;
color: var(--accent-2)!important;
}
input[type=text], 
input[type=date],
input[type=datetime],
input[type=number],
input[type=search],
input[type=time],
input[type=url],
input[type=email],
textarea, select{
box-sizing: border-box;
border: 0;
background: var(--base);
color: #111;
padding: 10px 15px;
margin:0px;
border: 1px solid var(--accent);
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;
border-radius: 5px;
font-size: inherit;
text-decoration: none;
}
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;
}


/* mailchimp */

.mc-field-group input {
width: 100%;
}

.mc-field-group {
margin: .5em 0;
}

.mc_embed_shell .nope {
display: none!important;
}

.blackpanel label {
color: #fff!important;
}


/* media queries */


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

.widewidth {
margin-left: 0;
margin-right: 0;
width: 100%;
}

}

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

header, footer, .content, .fullwidthinner {
max-width: 85%;
}

}

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

.banner {
min-height: 3em;
}

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

.banner header {
margin-top: 0;
padding-top: 2.5em;
padding-bottom: 2.5em;
}

body.page header {
display: block;
}

body.page h1 {
text-align: center;
}

body.page nav ul li {
margin: 0 .5em .5em .5em;
}

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

h1 img {
width: 60vw;
margin-bottom: 1em;
}

h1 {
font-size: 250%;
}

h2 {
font-size: 150%;
}

h3 {
font-size: 120%;
}

.features {
width: 100%;
margin: 0 0 2em 0;
}

.features li {
width: 100%;
margin-left: 0;
margin-top: 2em;
}

.features li:nth-child(2), .features li:nth-child(3) {
margin-top: 2em;
}

.gallery {
margin-top: -1em;
}

.gallery img {
display: block;
margin: 1em 0 0 0;
width: 100%;
}

.imgarea, .imgarea.imgsml, .imgarea.imgxsml {
flex: 1 100%;
}

.infoarea, .infoarea.infowide {
flex: 1 100%;
margin-top: 1.5em;
margin-left: 0;
}

.infoarea h3 {
text-align: center;
margin-top: 1em;
}

.blackpanel {
width: auto;
}

}


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

.banner {
min-height: 2.5em;
}

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

.banner header {
margin-top: 0;
padding-top: 2em;
padding-bottom: 2em;
}

body.page nav ul li {
margin: 0 .8em .5em .8em;
}

h1 img, .bookpage h1 img {
width: 75vw;
}

h1 {
font-size: 180%;
}

h2 {
text-align: left;
font-size: 120%;
}

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

.lead {
font-size: 105%;
}

.blackpanel {
margin: 1em 0;
padding: 1em 1.5em;
}

blockquote {
font-size: 100%;
}

.widewidth {
max-width: auto;
}

.gallery {
display: block;
width: 100%;
margin-left: 0;
}

.gallery li {
margin: 1.25rem 0 0 0;
width: 100%;
}

.gallery.threeimages li {
width: 100%;
}

.gallery img {
display: block;
margin: 2em 0 0 0;
width: 100%;
}

}