*, *:before, *:after { box-sizing: border-box; }

.row{display:flex}.row-mid{align-items:center}.col{flex:1}@media(max-width:48em){.row{flex-direction:column}.col{flex:0 0 auto}}
@media(min-width:48em){.col-space{flex:0 0 3%}.col-tenth{flex:0 0 10%}.col-fifth{flex:0 0 20%}.col-quarter{flex:0 0 25%}.col-third{flex:0 0 33.3333334%}.col-half{flex:0 0 50%}}

body {
	margin: 0;
	font-family: system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,"Noto Sans",sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji";
	font-size: 1em;
	line-height: 1.4;
	color: #333;
	background-color: #f8f8f8;
}

input {
	font-family: system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,"Noto Sans",sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji";
	font-size: 1rem;
	padding: .75em;
	border-radius: .25em;
	border: 1px solid #ccc;
}
::placeholder { color: #888 }
input:focus { outline:none; }

form.block input[type=email],
form.block input[type=submit],
form.block input[type=password] {
	display: block;
	width: 100%;
}

label { display: block; margin-bottom: .25em }

a:hover { cursor: pointer }

img {
	display: block;
	max-width: 100%;
	height: auto;
}
img.logo { max-width: 175px }
img.logo-small { max-width: 135px }

h1 {
	line-height: 1.2;
	font-size: calc(1.75em + 1vw);
	font-weight: 900;
	letter-spacing: -0.02em;
	text-align: center;
	margin: .25em 0;
}

header { margin: 1em 0 }
nav {
	height: 60px;
	display: flex;
	align-items: center;
	justify-content: space-between;
}

nav ul { margin: 0; display: none; }
nav ul li { list-style: none; margin-left: 1.5em }
nav ul li a {
	padding: .75em 1em;
	text-decoration: none;
	color: #333;
}

section { padding: 3em 0 }
section h1 {
	font-size: calc(2em + 1.25vw);
	font-weight: 900;
	letter-spacing: -0.01em;
	text-align: center;
	margin: .25em 0;
}
section h2 {
	font-size: calc(1.25em + .25vw);
}
section h2.subtitle {
	color: #555;
	display: block;
	text-align: center;
	font-weight: 400;
	margin: 0 auto;
	max-width: 720px;
}

footer {
	margin: 2em 0;
	border-top: 1px solid #ddd;
	padding-top: 2em;
}

footer a {
	color: #333;
	text-decoration: none;
}

.huge { font-size: calc(1em + 1vw) }
.big { font-size: 1.5em }
.large { font-size: 1.25em }
.small { font-size: .875em; }
.tiny { font-size: .75em; }
.lite, .lite a { color: #888 }
.bold { font-weight: 700 }
.heavy { font-weight: 900 }
.mute { color: #555 }
.nom { margin: 0 }
.green { color: #36b263; }

.avatar {
	max-width: 50px;
	border-radius: 50%;
	opacity: .75;
}

.grid3 {
	display: grid;
	grid-template-columns: 1fr 1fr 1fr;
	gap: 1.5em;
}

.panel {
	display: flex;
	align-items: center;
	justify-content: space-between;
}
.panel-left { justify-content: flex-start }

.btn {
	display: inline-block;
	margin: 1em 0;
	text-decoration: none;
	border: 1px solid #fff;
	background-color: #fff;
	border-radius: .25em;
	color: #888;
	padding: .75em 1.25em;
	box-shadow: 0 0 .15em #aaa;
}
.btn:hover { opacity: .85; cursor: pointer; }
.btn-block {
	display: block;
	margin-top: 2em;
	text-align: center;
}
.btn-cta {
	color: #fff;
	background-color: #36b263;
	border: 1px solid #36b263;
	font-weight: bold;
}

a.entry {
	display: block;
	color: #333;
	text-decoration: none;
}

.tag {
	background-color: rgba(54,178,99,.125);
	padding: .35em;
}

.green-bg { background-color: rgba(54,178,99,.125); }

.share {
	display: block;
	width: 90%;
	text-align: center;
	font-size: 1.125em;
	padding: .75em 1em;
	line-height: 1;
	max-width: 350px;
	background-color:#fff;
	border: 2px solid #6BBA70;
	border-radius: 5em;
}
.share a {
	text-transform: lowercase;
	font-variant: small-caps;
	text-decoration: none;
	font-weight: bold;
}

.box {
	background-color: #fff;
	padding: 1em 2em;
	box-shadow: 0 0 .5em #ccc;
	border-radius: .25em;
	text-align: left;
	margin-bottom: 2em;
}
.box-small { padding: .75em }
.box-exposed { background-color: #fffdeb }
.box h2 { display: inline; }

.box-wrap { margin: 0 auto; max-width: 400px }


.wrap {
	margin: 0 auto;
	max-width: 1200px;
	padding: 0 1em;
}

.wrap-narrow { max-width: 600px }
.wrap-narrow p { line-height: 1.5 }
.wrap-narrow h2,
.wrap-narrow h3 { margin-top: 1.5em }

.sep {
	border-top: 1px solid #ddd;
	margin: 1em 0;
}

@media only screen and (min-width: 768px) {
	nav ul { display: flex; align-items: center }
	section { padding: 3em 0 }
	img.logo { width: 200px }
}

