/* Google Fonts */
@import url('https://fonts.googleapis.com/css2?family=Great+Vibes&family=Oswald:wght@200;300;400;600;700&family=PT+Serif:ital,wght@0,400;0,700;1,400;1,700&display=swap');

/* Reset */
* {box-sizing: border-box;}
html, body, div, span, applet, object, iframe, footer, header {
    margin: 0;
    padding: 0;
    border: 0;
    font-size: 100%;
    font: inherit;
    vertical-align: baseline;
}

/* HTML5 display-role reset for older browsers */
article, aside, details, figcaption, figure, 
footer, header, hgroup, menu, nav, section {
    display: block;
    width: 100%;
}
body {
    line-height: 1;
}
/*
ol, ul {
    list-style: none;
}
*/
blockquote, q {
    quotes: none;
}
blockquote:before, blockquote:after,
q:before, q:after {
    content: '';
    content: none;
}
table {
    border-collapse: collapse;
    border-spacing: 0;
}

/* === Custom === */
body {
    /*
	font-family: 'Great Vibes', cursive;
	font-family: 'Oswald', sans-serif;
	*/
    font-family: 'PT Serif', serif;
    font-weight: normal;
    font-size: 18px;
    line-height: 1.4em;
    background: #ffffff;
    color: #404040;
}
h1, h2, h3, h4, h5, h6, .h1, .h2, .h3, .h4, .h5, .h6 {
	font-family: 'PT Serif', serif;
	margin-bottom: 1rem;
}
img {width: auto;max-width: 100%}
a {
    color: #06894c;
    text-decoration: none;
}
a:hover {
    color: #5ab557;
    text-decoration: none;
}
.btn-layout {
	text-align: center;
	display: inline-block;
	font-family: 'Oswald', sans-serif;
	font-size: 22px;
	line-height: 1.1em;
	padding: 9px 15px;
	border-radius: 4px;
	color: #06894c;
	border: solid 2px #06894c;
	transition: all .3s ease;
}
.btn-layout:hover {
	color: #5ab557;
	border-color: #5ab557;
}

h1, .heading {
	font-family: 'Oswald', sans-serif;
	text-transform: uppercase;
	font-size: 53px;
	line-height: 1.3em;
	font-weight: 400;
	margin: 40px 0;
	color: #01713d;
	text-align: center;
}
h1 > span {
	display: block;
	font-size: 20px;
	font-weight: 500;
	line-height: 1em;
	color: #404040;
	margin: 0 0 20px
}
h2 {
	font-family: 'PT Serif', serif;
	font-size: 35px;
	line-height: 1.1em;
	font-weight: 600;
	color: #01713d;
	margin: 30px 0;
}

big.bigger {
    font-size: 1.4em;
    line-height: 1.2em;
}

.text-center { text-align: center }
.text-right { text-align: right }


@media (max-width: 768px) {
	body {font-size: 16px;}
	.btn,
	.btn-layout {
		padding: 6px 13px;
		font-size: 18px;
	}
	h1, .heading {font-size: 34px;margin: 20px 0;}
	h2 {font-size: 26px;margin: 1rem 0;}
}

/* === Key Frames === */
@keyframes fadeIn {
	from {
		opacity: 0;
	}
	to {
		opacity: 1;
	}
}
@keyframes fadeInDown {
	from {
		opacity: 0;
		transform: translateY(-20%);
		-webkit-transform: translateY(-20%);
		-moz-webkit-transform: translateY(-20%);
		-o-webkit-transform: translateY(-20%);
	}
	to {
		opacity: 1;
		transform: translateY(0);
		-webkit-transform: translateY(0);
		-moz-transform: translateY(0);
		-o-transform: translateY(0);
	}
}
@keyframes fadeInUp {
	from {
		opacity: 0;
		transform: translateY(20%);
		-webkit-transform: translateY(20%);
		-moz-webkit-transform: translateY(20%);
		-o-webkit-transform: translateY(20%);
	}
	to {
		opacity: 1;
		transform: translateY(0);
		-webkit-transform: translateY(0);
		-moz-transform: translateY(0);
		-o-transform: translateY(0);
	}
}
@keyframes fadeInLeft {
	from {
		opacity: 0;
		transform: translateX(-20%);
	}
	to {
		opacity: 1;
		transform: translateX(0);
		-webk9t-transform: translateX(0);
		-moz-transform: translateX(0);
		-o-transform: translateX(0);
	}
}
@keyframes fadeInRight {
	from {
		opacity: 0;
		transform: translateX(20%);
		-webkit-transform: translateX(20%);
		-moz-transform: translateX(20%);
		-o-transform: translateX(20%);
	}
	to {
		opacity: 1;
		transform: translateX(0);
		-webk9t-transform: translateX(0);
		-moz-transform: translateX(0);
		-o-transform: translateX(0);
	}
}