/*
Theme Name: Down2Earth 2023
Theme URI: https://down2earth.ca
Description: Theme for Down2Earth's website.
Author: Sandi Gauder
Version: 2.2
Author URI: https://cmswebsolutions.com/
*/

/* montserrat-regular - latin */
@font-face {
  font-family: 'Montserrat';
  font-style: normal;
  font-weight: 400;
  src: local('Montserrat Regular'), local('Montserrat-Regular'),
       url('fonts/montserrat-v13-latin-regular.woff2') format('woff2'), /* Chrome 26+, Opera 23+, Firefox 39+ */
       url('fonts/montserrat-v13-latin-regular.woff') format('woff'); /* Chrome 6+, Firefox 3.6+, IE 9+, Safari 5.1+ */
}
/* montserrat-600 - latin */
@font-face {
  font-family: 'Montserrat';
  font-style: normal;
  font-weight: 600;
  src: local('Montserrat SemiBold'), local('Montserrat-SemiBold'),
       url('fonts/montserrat-v13-latin-600.woff2') format('woff2'), /* Chrome 26+, Opera 23+, Firefox 39+ */
       url('fonts/montserrat-v13-latin-600.woff') format('woff'); /* Chrome 6+, Firefox 3.6+, IE 9+, Safari 5.1+ */
}
/* montserrat-700 - latin */
@font-face {
  font-family: 'Montserrat';
  font-style: normal;
  font-weight: 700;
  src: local('Montserrat Bold'), local('Montserrat-Bold'),
       url('fonts/montserrat-v13-latin-700.woff2') format('woff2'), /* Chrome 26+, Opera 23+, Firefox 39+ */
       url('fonts/montserrat-v13-latin-700.woff') format('woff'); /* Chrome 6+, Firefox 3.6+, IE 9+, Safari 5.1+ */
}

/* crushed-regular - latin */
@font-face {
  font-family: 'Crushed';
  font-style: normal;
  font-weight: 400;
  src: local('Crushed Regular'), local('Crushed-Regular'),
       url('fonts/crushed-v9-latin-regular.woff2') format('woff2'), /* Chrome 26+, Opera 23+, Firefox 39+ */
       url('fonts/crushed-v9-latin-regular.woff') format('woff'); /* Chrome 6+, Firefox 3.6+, IE 9+, Safari 5.1+ */
}

* {
	box-sizing: border-box;
}

article, aside, details, embed, figcaption, figure, footer, header, iframe, main, menu, nav, section, summary, .inner {
	display: block;
	position: relative;
	margin: 0 auto;
}

h1 {
	color: #3a251b;
	margin:  1.25em 0 .25em;
	font-size: 2.25rem;
	font-weight: normal;
	line-height: 1.2;
}

.home h1 {
	margin:  1.25em auto .25em;
	color: #7a812f;
	text-align: center;
}

h2 {
	color: #7a812f;
	margin: 0 0 .5em;
	font-weight: normal;
	line-height: 1.2;
}

h3, h4, h5, h6 { 
	color: #946147;
	margin: 0 0 .5em;
	font-weight: normal;
	line-height: 1.2;
}

hr {
	border: none 0;
	border-top: 1px solid #eee;
	width: 80%;
	height: 1px;
	margin: 1.25em;
	text-align: center;
	clear: both;
}

a, 
a:visited {
	color: #7a812f;
}

a:hover,
a:focus {
	color: #000;
}

img {
	max-width: 100%;
	height: auto;
	border-style: none;
}

main li {
	margin-bottom: 1em;
}

.hidden, 
.noshow {
	position: absolute;
	left: -1000em;
	top: auto;
	width: 1px;
	height: 1px;
	overflow: hidden;
	margin: -1px;
	padding: 0;
	clip: rect(0,0,0,0);
	border: 0;
}

body {
	margin: 0 auto;
	font-family: Montserrat, sans-serif;
	font-size: 18px;
	line-height: 1.5;
	background-color: #fefefe;
}

.inner{
	max-width: 1100px;
	margin: 0 auto;
	position: relative;
}

header {
	margin: 0;
	padding: 0;
}

.logo {	
	margin: 1em;
	max-width: 280px;
	display: block;
}

div[role="search"] form {
	margin: 1em;
	display: inline-block;
	display: flex;
	justify-content: center;
}

div[role="search"] [type="text"] {
	margin: 0;
	width: 90%;
	height: 36x;
	background: #e8ebd2;
	font-family: inherit;
	font-size: 1em;
	border: 1px solid #e8ebd2;
	outline: none;
}

div[role="search"] button[type="submit"] {
	padding: .25rem .5rem;
	font-size: 1em;
	text-transform: uppercase;
	color: #3b251b;
	background-color: #e8ebd2;
	border: 1px solid #e8ebd2;
}

div[role="search"] button[type="submit"]:hover,
div[role="search"] button[type="submit"]:focus {
	color: #e8ebd2;
	background-color: #3b251b;
}

.query {
	background-color: #fafad2;
}

nav {
	position: relative;
	font-size: 1em;
	text-transform: uppercase;
	color: #fff;
	background: #3a251b;
}

nav .mobile {
	transition: none;
	cursor: pointer;
	display: block;
	width: 100%;
	color: #fff;
	background-color: #3a251b;
	margin: 0 auto;
	padding: .25em 0;
	font-size: 1.25em;
	font-weight: 700;
	text-align: center;
	text-transform: uppercase;
	border: none;
	border-radius: 0;
}

nav .mobile span::before {
	content: '\2630';
	display: inline-block;
	margin-right: .25em;
	font-size: 1.25em;
}

nav .mobile.open span::before {
	content: '\00D7';
}

nav .mobile:hover,
nav .mobile:focus {
	color: #fff;
	background-color: #7a812f;
}

nav ul {
	width: 100%;
	margin: 0;
	padding-left: 0;
	display: none;
}

nav li {
	list-style: none;
	display: block;
	width: 100%;
	max-width: none;
	margin: 0;
}

nav a {
	text-decoration: none;
	text-align: center;
	color: #fff;
	padding: 1em .5em;
}

nav a:visited {
	color: #fff;
}

nav a:hover,
nav a:focus,
nav .current-menu-item a {
	color: #fff;
}

.nav_trigger {
	margin: 0;
	text-align: center;
	color: #fff;
	padding: .25em .5em;
	font-size: inherit;
	text-transform: uppercase;
	width: 100%;
	background-color: transparent;
	border: none;
	border-radius: 0;
}

.nav_trigger span {
	display: inline-block;
	background: url(img/down_arrow.png) bottom left no-repeat;
	width: 11px;
	height: 11px;
	margin-right: .25em;
}

.current_page_ancestor .nav_trigger,
.nav_trigger:hover,
.nav_trigger:focus,
.nav_trigger:active {
	color: #fff;
}

.nav_trigger:hover,
.nav_trigger:focus,
.nav_trigger:active {
	border: none;
}

nav .open + ul {
	display: block;
	background-color: #7a812f;
}

nav .open + ul li {
	padding: .25em 0;
	text-align: center;
}

nav .open + ul li:hover,
nav .open + ul li:focus {
	background-color: #fff;
}

nav .open + ul li:hover a,
nav .open + ul li:focus a {
	color: #7a812f;
}

nav .open + ul li li {
	font-size: .95em;
}

nav .open + ul li li:hover,
nav .open + ul li li:focus {
	background-color: #7a812f;
}

nav .open + ul li li:hover a,
nav .open + ul li li:focus a {
	color: #fff;
}

.mainnav .sub-menu {
	min-width: 5em;
	transition: all 0.5s ease;
	display: none;
}

.mainnav .sub-menu.open {
	display: block;
	position: relative;
}

.mainnav .sub-menu.open li {
	display: block;
	position: relative;
	border-bottom: 1px solid #fff;
}

.hero {
	background: #d2d8ad;
}

.hero .tag {
	margin: 0;
	padding: 1em;
	color: #000;
	position: absolute;
	display: block;
	max-width: 20ch;
	font-size: 1.1rem;
	z-index: 2;
}

.hero img {
	display: block;
	position: relative;
	max-height: 350px;
	width: auto;
}

.hero .tag span {
	color: #512d06;
	font-weight: bold;
	display: block;
	line-height: 1.01em;
}

main {
	width: 100%;
	display: inline-block;
}

main .inner {
	padding: 0 1.5em;
}

.content,
.sidebar {
	width: 100%;
	display: block;
}

.green {
	color: #7a812f;
	font-weight: 500;
}

.brown {
	color: #3a251b;
	font-weight: 500;
}

.button {
	display: inline-block;
	margin: 0 auto;
	padding: .25em 1.5em;
	color: #fff;
	background-color: #7a812f;
	border: 2px solid transparent;
	text-align: center;
	text-decoration: none;
}

.button:hover,
.button:focus {
	color: #fff;
	background-color: #3a251b;
}

.button:visited {
	color: #fff;
}

.pinit {
	position: absolute;
	right: 2em;
}

.sidebar .pinit {
	position: relative;
	text-align: right;
	display: block;
	margin-bottom: 1em;
}

.post {
	margin-bottom: 2em;
	padding-bottom: 1em;
	border-bottom: 1px solid #eee;
}

.entry-title a {
 	text-decoration: none;
}

.entry-date {
	margin-top: 1em;
	font-size: .9em;
}

.post-nav {
	margin-bottom: 1em;
	display: inline;
}

.previous-post {
  list-style: none;
  float: left;
}

.next-post {
  list-style: none;
  float: right;
}

.sidebar {
	margin: 2em;
	padding: .5em;
	display: inline-block;
	vertical-align: top;
}

.sidebar .menu {
	width: 100%;
	padding: 0;
	margin: 0;
}

.sidebar .menu li {
	list-style: none;
	padding: 0;
	margin: 0;
}

.sidebar .menu a {
	padding: .25em 1.5em;
	display: block;
	color: #7a812f;
	text-decoration: none;
}

.sidebar .menu a:visited {
	color: #7a812f;
}

.sidebar .menu li a {
	color: #7a812f;
}

.sidebar .menu li a:hover,
.sidebar .menu li a:focus {
	color: #fff;
	background: #7a812f;
}

.sidebar .menu li a.active {
	font-weight: bold;
}

.sidebar .sub-menu {
	margin-left: 0;
	padding-left: 1em;
}

.signup {
	padding: 1em 1em 2em ;
	background: #eaedd2 url(img/grass_sm.png) center bottom repeat-x;
}

.signup h2 {
	margin: 0 0 .25em;
	color: #515802;
	font-size: 1.1em;
}

.signup p {
	margin: .25em 0;
}

.signup .alignright {
	margin: 0 0 1em 1em;
}

.signup a {
	color: #3a251b;
}

.signup a:hover,
.signup a:focus {
	color: #515802;
}

.podcast {
	margin: 1em 0;
	background: linear-gradient(180deg, rgba(244,237,226,1) 0%, rgba(243,235,225,1) 100%);
}

.podcast > div {
	padding: 1em 1em 5em;
	background: url(img/path.png) center bottom no-repeat;
	background-size: 100%;
}

.podcast img {
	border: none;
	padding: 0;
	background: transparent;
	box-shadow: none;
}

.link {
	margin: 0 auto;
	text-align: center;
}

.link a{
	padding: .5em 2em;
	color: #fff;
	background-color: #7a812f;
	border: 2px solid #fff;
	text-decoration: none;
	text-transform: uppercase;
}

.link a:hover,
.link a:focus {
	color: #7a812f;
	background-color: #fff;
}

/* Services */

.services {
	padding-left: 0;
}

.service {
	list-style: none;
}

.service:nth-child(1) {
	background-color: #eff2d6;
}

.service:nth-child(2) {
	background-color: #f0e7e3;
}

.services h2 {
	padding: .5em;
	color: #fff;
	text-align: center;
}

.service:nth-child(1) h2 {
	background-color: #7a812f;
}

.service:nth-child(2) h2 {
	background-color: #3a251b;
}

.service_content {
	padding: 1em 2em;
}

/* Contact Page */

.contact {
	clear: both;
}

.contact p {
	color: #946147;
	font-size: 1.1em;
	line-height: 1.4;
}

/* Basic WordPress Blog Styles */   

main img {
	border: 1px solid #efefef;
	padding: 5px;
	background: #fafafa;
	box-shadow: 0px 4px 8px 0px rgba(0, 0, 0, 0.35); 
}

img.attachment-post-thumbnail {
	margin: 0 1em 1em 0;
	padding: 4px;
	float: left;
}

.aligncenter, img.aligncenter,
.alignleft, img.alignleft,
.alignright, img.alignright {
	float: none;
	display: block;
	margin: 1em auto;
}

.wp-caption {
	text-align: center;
	margin-bottom: 2em;
}
.wp-caption p.wp-caption-text {
	margin: 0;
}
.wp-smiley { 
	max-height: 1em;
	margin:0 !important;
}

.gallery {
	width: 100%;
	display: inline-block;
	display: flex;
	flex-wrap: wrap;
}

.gallery dl {
	margin: 0 auto 1em 0;
	text-align: center;
}

.gallery-caption {
	margin: 0;
	text-align: center;
}

blockquote.left {
	float: left;
	margin-left: 0;
	margin-right: 20px;
	text-align: right;
	width: 33%;
}
blockquote.right {
	float: right;
	margin-left: 20px;
	margin-right: 0;
	text-align: left;
	width: 33%;
}

/* Comments */

#respond {
  margin: 20px 0;
}

#respond label {
  display: block;
  font-weight: bold;
}

#respond form .form-allowed-tags {
  padding: 5px;
  background: #eee;
}

.commentlist {
	padding-left: 0;
}

.single_comment {
	margin-bottom: 1em;
}

.quote {
	padding-top: 2.5em;
	color: #fff;
	min-height: 430px;
	background: url(img/quote_home.jpg) center top no-repeat;
	background-size: cover;
	border-top: 5px solid #fff;
	border-bottom: 5px solid #fff;
	clear: both;
}

.quote-body {
	width: 1100px;
	max-width: 100%;
	margin: 0 auto;
	position: relative;
	text-align: center;
}

.quote-title {
	font-size: 1.4em;
	font-weight: 500;
	color: #fff;
}

.quote-content {
	margin: 0 auto;
	font-size: 1.1em;
	color: #fff;
	position: relative;
	max-width: 850px;
}

.home .quote-content {
	border-top: none;
	font-style: italic;
}

.home .quote-content::before {
	margin: inherit;
	height: auto;
}

.home .quote-content:before {
	display: inline-block;
	content: "";
	width: 63px;
	height: 51px;
	background: url(img/start-quote.png) no-repeat;
	position: absolute;
	top: 30px;
	left: -80px;
}

.home .quote-content:after {
	display: inline-block;
	content: "";
	width: 63px;
	height: 51px;
	background: url(img/close-quote.png) no-repeat;
	position: absolute;
	top: 70px;
	right: -80px;
}

.client::before {
	content: '';
	margin: 0 auto 1em;
	width: 5em;
	height: 2px;
	display: block;
	background-color: #b9c07e;
}

.newsletter {
	padding: 2em 0;
	color: #fff;
	background-color: #787a44;
}

.newsletter h2 {
	color: #fff;
}

.newsletter input[type="email"] {
	margin: 0 auto;
	padding: .25em .5em;
	font-size: 1em;
	border: 1px solid transparent;
	background-color: #fff; 
}

.newsletter label {
	margin: 0 0 0 1.5em;
	color: #fff;
}

.newsletter .submit {
	margin: .5em 0 1em;
	font-size: 1em;
	background-color: transparent;
	border: 1px solid transparent;
	color: #fff; 
	font-weight: bold;
	text-decoration: underline;
	font-size: 1em;
}

.shareaholic-canvas {
	margin: 2em 0;
}

footer {
	position: relative;
	padding: 2em;
	width: 100%;
	clear: both;
	margin: 0 auto;
	background: url(img/grass.png) repeat-x center bottom, url(img/footer.jpg) repeat center bottom;
}

footer h2{
	color: #7a812f;
	font-family: 'Crushed', cursive;
	font-size: 36px;
	display: inline-block;
	margin: 0 .5em 0 0;
}

.col {
	display: inline-block;
	margin: 0 auto 1em;
}

.col:nth-of-type(1) {
	width: 70%;
}

.col:nth-of-type(2) {
	width: 28%;
}

.social{
	display: inline-block;
	position: relative;
	top: .5em;
	padding: 0;
}

.social li {
	border: none;
	outline: none;
	display: inline-block;
	text-align: center;
	cursor: pointer;
	color: black;
	margin: 0 .3em;
	text-decoration: none;
}

.social img{
	display: block;
	margin: 0 auto;
}

.social li:hover, .social li:focus{
	color: #95ab53
}

/* Homepage */

.home h1 + .subhead {
	margin: .25em auto 1em;
	color: #3a251b;
	text-align: center;
	font-size: 1.5rem;
}

.callouts { 
	margin: 1.5em 0 0;
	padding-left: 0;
	clear: both;
} 

.callouts li { 
	list-style: none;
	margin: 1em 0;
	padding: 1.5em;
	width: 100%;
	display: inline-block; 
	background-color: #f4ede5; 
	text-align: center;
}

.callouts img {
	display: block; 
	margin: 0 auto 1em;
	background: transparent;
	box-shadow: none;
	border: none;
}

.callouts a {
	margin-bottom: 1em;
	color: #7a812f;
	font-size: 1.2em;
	text-decoration: underline; 
	text-transform: uppercase;
	text-align: center;
}

.secondary {
	padding: 1em;
	text-align: center;
}

.feature {
	margin: 2em 0 0;
	padding: 2em 0;
	background-color: #e4e8cf;
	display: block;
}

.feature img {
	margin: 0 auto;
	padding: 0;
	background: transparent;
	border: none;
	box-shadow: none;
}

.feature .details {
	padding: 0;
}

.feature h2 {
	color: #3a251b;
}

.links {
	display: inline-block;
	padding-left: 0;
}

.links li {
	display: inline-block;
	list-style: none;
}

.clear { clear: both; }

.information { 
	margin: 1.5em 0;
	display: inline-block;
}

.information ul,
.information ol {
	padding-left: 1em;
}

.information .left {
	margin-right: 1em;
} 

.information .right {
	padding: 1em 0;
	display: flex;
	flex-wrap: wrap;
}

.information .right img {
	margin: auto 1em 2em;
	flex: 1 1 44%;
}

@media screen and (min-width: 48em) {

	header .inner {
		display: flex;
		justify-content: space-between;
		align-items: center;
	}

	.logo {
		max-width: 400px;
		position: relative;
	}

	.hero .tag {
		font-size: 1.5rem;
		transform: translate(0, 50%);
	}

	.home .feature .inner {
		display: flex;
		justify-content: space-between;
	}

	.home .feature .details {
		padding: 0 2em;
	}

	.information {
		display: flex;
		justify-content: space-between;
	}

	.information .left {
		flex-basis: 40%;
	} 
	
	.information .right {
		flex-basis: 60%;
		align-content: flex-start;
	}
	
	.information .right img {
		margin: 1em auto;
	}

	.callouts { 
		display: flex;
		justify-content: space-between;
	} 
	
	.callouts li { 
		margin: 1em .5em;
		width: 32.5%;
		flex: 1 1 32.5%;
	}	

	.services {
		display: flex;
		justify-content: space-between;
	}

	.service {
		flex-basis: 48.5%;
	}
}

@media screen and (min-width: 58.75em) {

	nav {
		display: block;
		width: 100%;
		z-index: 2;
	}

	nav .mobile {
		display: none;
	}

	nav ul {
		display: flex;
		justify-content: space-between;
	}

	nav li {
		width: auto;
		position: relative;
	}

	nav a {
		margin: 0;
		display: block;
		text-align: center;
		text-decoration: none;
	}

	nav a:hover,
	nav a:focus,
	nav .current-menu-item a,
	nav .current-menu-parent a {
		color: #d9dfa3;
		background: url(img/arrow.png) center bottom no-repeat;
	}

	.nav_trigger {
		padding: 1.1em .5em;
	}

	.mainnav .sub-menu.open {
		position: absolute;
		margin-top: 2px;
		z-index: 10;
		width: auto;
		min-width: 10em;
		background: #fffffe url(img/nav.jpg) repeat-x;
		border-left: 1px solid #fff;
		border-right: 1px solid #fff;
		border-bottom: 1px solid #fff;
	}

	.mainnav .sub-menu.open .sub-menu.open {
		position: relative;
		left: 0;
		font-size: .9em;
	}

	.mainnav .sub-menu.open li:hover,
	.mainnav .sub-menu.open li:focus,
	.mainnav .sub-menu.open .current_page_item,
	.mainnav .sub-menu.open a {
		color: #3a251b;
		text-align: left;
	}

	.mainnav .sub-menu.open a:hover,
	.mainnav .sub-menu.open a:focus,
	.sub-menu.open .current_page_item a,
	.current_page_item:not(.menu-item-home) a,
	.current_page_ancestor .nav_trigger {
		color: #3a251b;
		background: #fff none;
		border-bottom: 2px solid #fff;
	}

	.hero .tag {
		font-size: 2.1rem;
	}

	@supports (display: grid) {
		.information {
			display: grid;
			grid-template-columns: 40% 60%;
			grid-gap: 1em;
		}
	
		.information .right {
			display: -ms-grid;
			display: grid;
			grid-template-columns: 1fr 1fr;
			grid-gap: 1em;
		}
	}

	main .inner {
		display: inline-block;
		display: flex;
		justify-content: space-between;
	}

	.home main .inner,
	.page-template-page-services main .inner,
	.page-template-page-contact main .inner {
		display: block;
	}

	.home .feature .inner {
		display: flex;
	}

	.content {
		flex: 1 1 100%;
	}
	
	.sidebar {
		margin: 3.25em 0 2em 2em;
		padding: 0 0 0 1em;	
		flex: 0 0 25%;
	}

	.sidebar .button {
		white-space: nowrap;
	}

	.alignleft,
	img.alignleft {
			float: left;
			margin: 0 2em 2em 0;
	}

	.alignright,
	img.alignright {
			float: right;
			margin: 0 0 2em 2em;
	}
	.aligncenter,
	img.aligncenter {
			clear: both;
			display: block;
	}

}

@media screen and (min-width: 70em) {

	main .inner {
		padding: 0;
	}
}