@import url('https://fonts.googleapis.com/css2?family=Work+Sans:wght@400;700&family=Playfair+Display:wght@400;700&display=swap');

.hidden {
	display: none !important;
}

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

.social-links {
	list-style: none;
	padding: 0;
	margin: 0;
}

.social-links svg {
	width: 18px;
	height: 18px;
	overflow: visible;
}

.social-links li {
	display: inline-block;
	margin: 0.5em 0.25em;
	padding: 0;
}

.social-links li:first-child {
	margin-left: 0;
}

.social-links li:last-child {
	margin-right: 0;
}

body {
	background-color: #eee;
	font-family: 'Work Sans', sans-serif;
	margin: 0;
	line-height: 1.4;
	color: #555;
	font-size: 20px;
	-moz-font-feature-settings: "liga";
	-moz-osx-font-smoothing: grayscale;
	-webkit-font-feature-settings: "liga";
	-webkit-font-smoothing: antialiased;
}

.serif {
	font-family: 'Playfair Display', serif;
}

a {
	color: #555;
}

a:hover {
	color: #C57B26;
}

a:hover svg, a:hover svg g {
	fill: #C57B26;
}

.text-small {
	font-size: 16px;
}
.text-medium {
	font-size: 24px;
}

main {
	display: block;
	background-color: #fff;
	overflow: hidden;
	padding-bottom: 6em;
}

section {
	margin: 75px auto 0;
}

.no-margin {
	margin: 0 auto;
}

footer {
	background-color: #f5f1eb;
	padding: 2em 0 3em 0;
}

footer h4 {
	padding: 0;
	margin: 0;
}

.limited-width {
	max-width: 1200px;
	margin: 0 auto;
	padding: 0 30px;
}

h1 {
	font-size: 2em;
	margin: 0px;
	padding: 0px;
	color: #fff;
}

@media only screen and (min-width: 1200px) {
	h1 {
		font-size: 2.5em;
	}
}

h2 {
	color: #74927B;
	font-size: 2.25em;
	margin-top: 0px;
	font-weight: 700;
}

.bacground-image {
	width: 100%;
	padding-bottom: 45%;
	margin-bottom: 3em;
}

.hero-image {
	margin-bottom: 0px;
}
@media only screen and (min-width: 1200px) {
	.bacground-image {
		padding-bottom: 25%;
	}

	.hero-image {
		position: relative;
		padding-bottom: 35%;
	}

	.main-title {
		position: absolute;
		bottom: 60px;
		left: 0;
		right: 0;
	}
}

.hero-image .year {
	font-size: 1.5em;
	color: #fff;
	font-weight: 700;
	border-bottom: 1px solid #fff;
	padding-top: 30px;
}

@media only screen and (min-width: 1200px) {
	h2 {
		font-size: 3.125em;
	}
}

h3 {
	color: #C57B26;
	margin-top: 0px;
}

.cell-left.feature-container {
	background-color: #74927B;
}

.cell-right.feature-container {
	background-color: #f5f1eb;
}

.cell-left.feature-container h2, .cell-left.feature-container p {
	color: #fff;
}

.feature-content {
	margin: 0 auto;
	padding: 60px 30px;
}

.feature-content.no-padding {
	padding: 0px 30px;
}

.cell-left .feature-content {
	margin: 0 0 0 auto;
}

.cell-right .feature-content {
	margin: 0 auto 0 0;
}

@media only screen and (min-width: 1200px) {

	.cell-left .feature-content {
		max-width: 570px;
		padding-left: 0px;
	}

	.cell-right .feature-content {
		max-width: 570px;
		padding-right: 0px;
	}
}

.flex {
	display: -ms-flexbox;
	display: flex;
	-ms-flex-wrap: wrap;
	flex-wrap: wrap;
}

.flex--nowrap {
	-ms-flex-wrap: nowrap;
	flex-wrap: nowrap;
}

.flex--column {
	-ms-flex-direction: column;
	flex-direction: column;
}

.flex--row {
	-ms-flex-direction: row;
	flex-direction: row;
}

.flex > .cell {
	-webkit-box-sizing: border-box;
	box-sizing: border-box;
	width: 100%;
}

.flex--left {
	-ms-flex-pack: start;
	justify-content: flex-start;
}

.flex--center {
	-ms-flex-pack: center;
	justify-content: center;
}

.flex--right {
	-ms-flex-pack: end;
	justify-content: flex-end;
}

.flex--between {
	-ms-flex-pack: justify;
	justify-content: space-between;
}

.flex--top {
	-ms-flex-align: start;
	align-items: flex-start;
}

.flex--middle {
	-ms-flex-align: center;
	align-items: center;
}

.flex--bottom {
	-ms-flex-align: end;
	align-items: flex-end;
}

header {
	position: -webkit-sticky;
	position: sticky;
	top: 0;
	z-index: 99999;
	border-bottom: 1px solid #ccc;
	background-color: #f5f1eb;
}

header .button-area {
	text-align: right;
	padding: 12px 0;
	font-weight: 700;
}

header svg {
	width: 24px;
	height: 24px;
	overflow: visible;
	display: block;
}

.flex--columns-2-small > .cell {
	width: 50%;
}

@media only screen and (min-width: 1200px) {

	header {
	}

	.flex--columns-2-large > .cell {
		width: 50%;
	}

	.flex--columns-3-large {
		margin: 0px -20px;
	}

	.flex--columns-3-large > .cell {
		width: calc(100% / 3);
		padding: 0 20px;
	}

	.flex--columns-5-large {
		margin: 0px -20px;
	}

	.flex--columns-5-large > .cell {
		width: 20%;
		padding: 0 20px;
	}
}

.mailing-list {
	margin-bottom: 30px;
}

.mailing-form {
	background: #fff;
	position: relative;
	max-width: 360px;
}

.mailing-input {
	outline: none;
	border: transparent;
	background: transparent;
	border-radius: 0px;
	padding: 10px;
	height: 50px;
	font-family: 'Work Sans', sans-serif;
	color: #555;
	font-size: 16px;
	width: 100%;
}

.input-group-append {
	position: absolute;
	right: 0;
	top: 0;
}

.mailing-submit {
	outline: none;
	background: none;
	border: none;
	height: 50px;
}

.legend {
	padding: 20px 0;
	background-color: #f5f1eb;
}

.legend img, .legend p  {
	display: inline-block;
	vertical-align: top;
}

.legend img {
	height: 30px;
}

.legend p {
	margin-top: 5px;
}

img {
	max-width: 100%;
}

.news-image {
	position: relative;
	overflow: hidden;
	width: 100%;
	padding-bottom: 38%;
}

.news-image img {
	position: absolute;
    top: 25%;
    left: 50%;
    transform: translate(-50%,-25%);
}

.news-grid {
	margin-top: 24px;
}

.news-title {
	font-weight: 700;
	margin-bottom: 0px;
}

.news-title a {
	text-decoration: none;
	color: #555;
}

.news-title a:hover {
	text-decoration: underline;
}

.small-text {
	font-size: 75%;
}

.news-grid .small-text {
	margin-top: 0px;
}

.news-grid.flex--columns-2-small .cell {
	width: 100%;
}

@media only screen and (min-width: 600px) {

.news-grid.flex--columns-2-small > .cell {
	width: 48%;
}

}



#mobile-nav {
	display: none;
	position: fixed;
	top: 0;
	z-index: 99999;
	border-bottom: 1px solid #555;
	background-color: #f5f1eb;
	width: 100%;
	height: 100%;
}

body.mobile-nav-active {
	overflow: hidden;
}

.mobile-nav-active #mobile-nav {
	display: block;
}

#mobile-nav .button-area {
	margin: 30px 0;
}

#mobile-nav .button-area svg {
	width: 24px;
	height: 24px;
	overflow: visible;
	display: block;
}

#mobile-nav .social-area {
	border-top: 1px solid #ccc;
	margin-top: 30px;
}

#mobile-nav ul {
	list-style: none;
	margin: 0;
	padding: 0;
}

#mobile-nav li {
	font-weight: 700;
	font-size: 24px;
	margin-bottom: 0.25em;
}

#mobile-nav li a {
	text-decoration: none;
}