/* Variables */
:root {
	/* Colors */
	--text: #1e3421;
	--accent1: #bcf29f;
	--accent1-dark: #249819;
	--accent2: #a1e390;
	--accent2-dark: #4b9524;
	--bg: #f3f8f1;
	--bg-light: #FFFFFF;

	/* margins */
	--margin-outside: 1rem;
	--margin-bottom: 3rem;

	/* max-width */
	--max-width: 70rem;

	/* responsive Desktop */
	@media screen and (min-width:850px) {
		--margin-outside: 4rem;
		--margin-bottom: 6rem;
	}
}

/* Global */
body {
	font-family: "PT Sans", sans-serif;
	color: var(--text);
	background-color: var(--bg);
}

.button {
	font-size: 1.125rem;
	text-decoration: none;
	border: var(--text) 1px solid;
	border-radius: .5rem;
	padding: .5rem 1.5rem;
	background-color: var(--accent2);
	font-weight: bold;
}


/* Header */
.site-header {
	position: relative;
	margin-top: 1rem;
	margin-left: var(--margin-outside);
	margin-right: var(--margin-outside);
	margin-bottom: var(--margin-bottom);

	@media screen and (min-width:850px) {
		display: grid;
		grid-template-columns: 1fr auto;
		margin-top: 3rem;
		max-width: var(--max-width);
		margin-left: auto;
		margin-right: auto;
		padding-left: var(--margin-outside);
		padding-right: var(--margin-outside);
	}
}

.site-logo {
	font-size: 1.875rem;
	font-family: "Changa One", cursive;
}

.site-nav {
	margin-top: 2rem;

	@media screen and (min-width:850px) {
		margin-top: 0;
	}
}

body.show-menu .site-nav__links{
	display: block;

	@media screen and (min-width:850px) {
		display: flex;
	}
}


.site-nav__links {
	display: none;

	@media screen and (min-width:850px) {
		display: flex;
	}

	li {
		margin-bottom: .5rem;
	}

	a {
		font-size: 1.125rem;
		text-decoration: none;
		display: block;
		border: var(--text) 1px solid;
		border-radius: .5rem;
		padding: .5rem;
		text-align: center;

		@media screen and (min-width:850px) {
			border-radius: 0;
			padding-left: 1rem;
			padding-right: 1rem;
			border-right-width: 0;
		}
	}

	a:hover {
		background-color: var(--accent1);
	}

	li:first-child a {
		border-top-left-radius: 1rem;
	}

	li:last-child a {
		border-bottom-right-radius: 1rem;
		border-right-width: 1px;
	}

	.active {
		background-color: var(--accent1);
		font-weight: bold;
	}
}

.site-nav__button {
	position: absolute;
	top: -.25rem;
	right: 0;
	border: var(--text) 1px solid;
	border-radius: 1rem 0;
	padding: .75rem;

	@media screen and (min-width:850px) {
		display: none;
	}

	svg {
		display: block;
	}
}

/* wrapper */
.wrapper {
	@media screen and (min-width:850px) {
		max-width: var(--max-width);
		margin-left: auto;
		margin-right: auto;
	}
}

/* Hero */
.hero__wrapper {
	position: relative;
}

.hero {
	background: linear-gradient(-45deg, var(--accent2) 0%, var(--accent2-dark) 100%);
	padding: 1rem 1rem 0;
	margin-bottom: var(--margin-bottom);

	@media screen and (min-width:850px) {
		display: grid;
		grid-template-columns: 1fr 1fr;
		align-items: center;
		margin-left: var(--margin-outside);
		margin-right: var(--margin-outside);
		border-radius: 1rem;
		padding-top: 2.5rem;
		box-shadow: 4px 4px 16px 0px rgba(30, 37, 52, 0.10);
	}
}

.hero__header {
	font-size: 3rem;
	font-family: "Changa One", cursive;
	margin-bottom: 2rem;
	text-align: center;
	line-height: 1;
	letter-spacing: -0.09rem;

	em {
		font-style: normal;
		color: var(--bg);
	}

	@media screen and (min-width:850px) {
		order: 10;
		margin-bottom: 0;
		font-size: 5rem;
		text-align: left;
	}
}

.hero__image {
	display: block;
	width: 100%;
	max-width: 25rem;
	margin-left: auto;
	margin-right: auto;

	@media screen and (min-width:850px) {
		justify-self: right;
		margin: 0;
	}
}


.leaf__left__image {
	display: none;

	@media screen and (min-width:850px) {
		display: inline-block;
		width: 20%;
		position: absolute;
		top: 0;
		left: -80px;
		bottom: 0;
		z-index: -1;
	}
}

.leaf__right__image {
	display: none;

	@media screen and (min-width:850px) {
		display: inline-block;
		width: 30%;
		position: absolute;
		right: -150px;
		bottom: 0;
		z-index: -1;
	}
}


/* Quote */
.quote {
	margin-left: var(--margin-outside);
	margin-right: var(--margin-outside);
	margin-bottom: var(--margin-bottom);
	text-align: center;
}

.quote__text {
	font-size: 1.5rem;

	@media screen and (min-width:850px) {
		font-size: 1.75rem;
		max-width: 40ch;
		justify-self: center;
	}
}

.quote__attribution {
	margin-top: .5rem;
	font-size: 1.25rem;

	@media screen and (min-width:850px) {
		font-size: 1.5rem;
	}
}


/* Cards */
.cards {
	margin-left: var(--margin-outside);
	margin-right: var(--margin-outside);
	margin-bottom: var(--margin-bottom);
}

.cards__header {
	font-size: 1.5rem;
	margin-bottom: 2rem;
	text-transform: uppercase;
	text-align: center;
	font-weight: bold;
	color: var(--accent1-dark);
}

.cards__wrapper {
	display: grid;
	gap: 2rem;

	@media screen and (min-width:850px) {
		grid-template-columns: repeat(3, 1fr);
	}
}

.card {
	background-color: var(--bg-light);
	border-radius: 0.5rem;
	box-shadow: 4px 4px 16px 0px rgba(30, 37, 52, 0.10);

	@media screen and (min-width:850px) {
		border: var(--accent2) 1px solid;
	}
}

.card:hover {
	@media screen and (min-width:850px) {
		background-color: var(--accent1);
		transition: .5s;
		transform: scale(0.95);
	}
}

.card:hover .card__image {
	@media screen and (min-width:850px) {
		background-color: white;
	}
}

.card__link {
	padding: 1.5rem;
	text-decoration: none;
	text-align: center;
	display: block;
}

.card__image {
	background-color: var(--accent1);
	width: 10rem;
	height: 10rem;
	padding: 1.5rem;
	border-radius: 50% 0;
	margin-left: auto;
	margin-right: auto;
	margin-bottom: 1.5rem;

	img {
		width: 100%;
		mix-blend-mode: multiply;
	}
}

.card__header {
	font-size: 1.25rem;
	margin-bottom: .5rem;
	text-transform: uppercase;
	font-weight: bold;
}

.card__text {
	line-height: 1.35;
}


/* Mailing List */
.mailing-list {
	margin-left: var(--margin-outside);
	margin-right: var(--margin-outside);
	margin-bottom: var(--margin-bottom);
	text-align: center;
}


/* Footer */
.site-footer {
	background-color: var(--text);
	color: var(--bg);

	p {
		padding: 3rem var(--margin-outside);

		@media screen and (min-width:850px) {
			max-width: var(--max-width);
			margin-left: auto;
			margin-right: auto;
		}
	}
}