/* lato-regular - latin */
@font-face {
  font-family: 'Lato';
  font-style: normal;
  font-weight: 400;
  src: local(''),
       url('../fonts/lato-v23-latin-regular.woff2') format('woff2'), /* Chrome 26+, Opera 23+, Firefox 39+ */
       url('../fonts/lato-v23-latin-regular.woff') format('woff'); /* Chrome 6+, Firefox 3.6+, IE 9+, Safari 5.1+ */
}

/* lato-italic - latin */
@font-face {
  font-family: 'Lato';
  font-style: italic;
  font-weight: 400;
  src: local(''),
       url('../fonts/lato-v23-latin-italic.woff2') format('woff2'), /* Chrome 26+, Opera 23+, Firefox 39+ */
       url('../fonts/lato-v23-latin-italic.woff') format('woff'); /* Chrome 6+, Firefox 3.6+, IE 9+, Safari 5.1+ */
}

/* lato-700 - latin */
@font-face {
  font-family: 'Lato';
  font-style: normal;
  font-weight: 700;
  src: local(''),
       url('../fonts/lato-v23-latin-700.woff2') format('woff2'), /* Chrome 26+, Opera 23+, Firefox 39+ */
       url('../fonts/lato-v23-latin-700.woff') format('woff'); /* Chrome 6+, Firefox 3.6+, IE 9+, Safari 5.1+ */
}

/* lato-700italic - latin */
@font-face {
  font-family: 'Lato';
  font-style: italic;
  font-weight: 700;
  src: local(''),
       url('../fonts/lato-v23-latin-700italic.woff2') format('woff2'), /* Chrome 26+, Opera 23+, Firefox 39+ */
       url('../fonts/lato-v23-latin-700italic.woff') format('woff'); /* Chrome 6+, Firefox 3.6+, IE 9+, Safari 5.1+ */
}

html {
	font-size: 62.5%;
	-webkit-text-size-adjust: 100%; /* Prevent font scaling in landscape while allowing user zoom */
}

body {
	background: #cccccc;
	color: #462159;
	font-family: 'Lato', sans-serif;
	text-align: left;
	font-size: 16px; 
	font-size: 1.6rem;
	line-height: 1.3;
	font-weight: 400;
	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;
}

strong {
	font-weight: bold;
}

em {
	font-style: italic;
}

.clear {
	clear: both;
}

#site-wrapper {
	width: 95%;
	max-width: 1400px;
	margin: 40px auto 40px auto;
}

	#header {
		background: #ffffff;
		padding: 60px 4% 20px 4%;
	}
		#logo {
			width: 45%;
			float: left;
		}
			#logo img {
				width: 100%;
			}
		#meta-nav {
			width: 55%;
			float: right;
			padding-top: 4%;
		}
			#meta-nav ul {
				text-align: right;
			}
				#meta-nav ul li {
					display: inline-block;
					margin-right: 40px;
				}
				#meta-nav ul li:last-child {
					margin-right: 0;
				}
				#meta-nav ul li.current-menu-item a {
					color: #87b321;
				}
				#meta-nav ul li a {
					color: #461f5a;
					font-size: 18px; 
					font-size: 1.8rem;
					text-decoration: none;
				}
				#meta-nav ul li a:hover {
					color: #87b321;
				}

	#main-nav {
		display: block;
		background: #87b321;
		padding: 30px 4% 0px 4%;
		text-align: justify;
		line-height: 1.2;
	}
		#main-nav * {
			display: inline;
		}
		#main-nav span {
			display: inline-block;
			position: relative;
			width: 100%;
			height: 0;
		}
		#main-nav ul {

		}
			#main-nav ul li {
				display: inline-block;
			}
				#main-nav ul li.current-menu-item a {
					color: #461f5a;
				}
				#main-nav ul li.current-page-ancestor a {
					color: #461f5a;
				}
				#main-nav ul li a {
					color: #ffffff;
					font-size: 24px; 
					font-size: 2.4rem;
					text-decoration: none;
				}
				#main-nav ul li a:hover {
					color: #461f5a;
				}
	.show-menu {
		display: none !important;
		font-size: 18px; 
		font-size: 1.8rem;
		text-align: center;
		color: #ffffff;
		background: #87b321;
		cursor: pointer;
		padding: 21px 4% 19px 4%;
	}

	#content {

	}
		.post-wrapper {
			background: #ffffff;
		}
			.post-image {
				position: relative;
			}
				.post-image img {
					width: 100%;
					height: auto;
					display: block;
				}
				.post-image:not(.image-slider) h1 {
					position: absolute;
					bottom: 0;
					display: block;
					background: rgba(0,0,0,0.5);
					color: #ffffff;
					font-size: 36px; 
					font-size: 3.6rem;
					font-weight: 400;
					padding: 15px 4% 15px 4%;
					width: 92%;
					text-align: center;
					letter-spacing: 0.07em;
				}
				.post-image.image-slider h1 {
					font-family: 'Lato', sans-serif;
					color: #ffffff;
					font-size: 36px; 
					font-size: 3.6rem;
					font-weight: 400;
					text-align: center;
					letter-spacing: 0.07em;
				}
				.post-image .nivo-caption {
					opacity: 1 !important;
					background: rgba(0,0,0,0.5);
					color: #ffffff;
					text-align: center;
					padding: 20px 4% 20px 4%;
					width: 100%;
				}
				.post-image .nivo-controlNav {
					background: #ffffff;
				}
					.post-image .nivo-controlNav a {
						background: #87b321 !important;
						width: 20px !important;
						height: 20px !important;
						border-radius: 20px;
						margin: 4px 4px !important;
					}
					.post-image .nivo-controlNav a.active {
						background: #461f5a !important;
					}
			.post-text {
				background: #ffffff;
				padding: 40px 4% 80px 4%;
				/*max-width: 820px;
				margin: auto;*/
			}
			body.category .post-text {
				max-width: 100%;
			}
				.post-text .col-left {
					width: 48%;
					float: left;
					margin-right: 4%;
					margin-bottom: 20px;
				}
				.post-text.single-column .col-left {
					width: 100%;
					margin-right: 0;
				}
				.post-text .col-right {
					width: 48%;
					float: left;
				}
				.post-text.single-column .col-right {
					display: none;
				}
				.post-text h2 {
					color: #87b321;
					font-size: 30px; 
					font-size: 3.0rem;
					line-height: 1.3;
					font-weight: 400;
					letter-spacing: 0.07em;
					margin-bottom: 15px;
				}
				.post-text > h2:first-child {
					max-width: 48%;
				}
				body.category .post-text > h2:first-child {
					max-width: 100%;
				}
				.post-text h3 {
					color: #462159;
					font-size: 18px; 
					font-size: 1.8rem;
					line-height: 1.6;
					font-weight: 700;
					margin-bottom: 20px;
				}
				.post-text .col-right h3:first-child {
					margin-bottom: 16px;
				}
				.post-text h3#custom-head-1 {
					margin-top: 54px;
				}
				.post-text h4 {
					color: #462159;
					font-size: 18px; 
					font-size: 1.8rem;
					line-height: 1.6;
					margin-bottom: 20px;
				}
				.post-text p {
					color: #462159;
					font-size: 18px; 
					font-size: 1.8rem;
					line-height: 1.6;
					margin-bottom: 20px;
				}
				.post-text p:last-child {
					margin-bottom: 0;
				}
					.post-text p a, .post-text li a {
						color: #87b321;
						text-decoration: none;
					}
					.post-text p a:hover, .post-text li a:hover {
						text-decoration: underline;
					}
				.post-text ul:not(.wp-block-post-template) {
					color: #462159;
					font-size: 18px; 
					font-size: 1.8rem;
					line-height: 1.6;
					margin-bottom: 20px;
					padding-left: 1.1em;
					list-style: disc;
				}
				.post-text ul:not(.wp-block-post-template):last-child {
					margin-bottom: 0;
				}
					.post-text ul:not(.wp-block-post-template) li {
						margin-bottom: 10px;
					}
				.post-text img {
					max-width: 100%;
					height: auto;
				}
			.post-gallery {
				background: #ffffff;
				width: 100%;
				height: 273px;
				overflow: hidden;
				padding-top: 20px;
			}
				.post-gallery .grey-bar {
					margin: 0 4% 0 4%;
					background: #cccccc;
				}
				.post-gallery h2 {
					text-align: center;
					font-size: 22px; 
					font-size: 2.2rem;
					color: #87b321;
					font-weight: 400;
					letter-spacing: 0.07em;
					background: #ffffff;
					width: 200px;
					margin: auto;
					margin-bottom: 25px;
					line-height: 1;
				}
				.post-gallery dd {
					display: none;
				}
				.post-gallery dl {
					margin-top: 0 !important;
					margin-bottom: 100px;
					height: auto;
					width: 32% !important;
					margin-right: 2%;
				}
				.post-gallery img {
					border: 0 !important;
					width: 100%;
					height: auto;
					display: block;
				}
				.post-gallery .gallery-item a {
					position: relative;
					display: block;
				}
					.post-gallery .gallery-icon-wrapper {
						position: absolute;
						z-index: 1;
						top: 10px;
						right: 10px;
						width: 40px;
						height: 40px;
						cursor: pointer;
					}
						.post-gallery .gallery-icon-wrapper img.gallery-ico {
							display: block;
							width: 100%;
							height: auto;
						}

	#footer {
		text-align: center;
		padding: 20px 4% 20px 4%;
		background: #404040;
	}
		#footer a {
			color: #87b321;
			text-decoration: none;
		}
		#footer p, #footer a.tel {
			color: #ffffff;
		}
		#footer a:hover {
			text-decoration: underline;
		}
		#footer a.tel {
			text-decoration: none;
		}
		#footer a.tel:hover {
			cursor: default;
			text-decoration: none;
		}
		#footer span.green {
			color: #87b321;
		}

	#footer-nav {
		text-align: center;
		margin-top: 15px;
		margin-bottom: 30px;
	}
		#footer-nav a {
			color: #404040;
			text-decoration: none;
		}
		#footer-nav a:hover {
			color: #87b321;
			text-decoration: underline;
		}
/********************************************
Category */
.post-text .category-nav {
	margin: 0;
	padding: 0;
	text-align: center;
	margin-top: 25px;
	list-style-type: none;
	display: flex;
	justify-content: center;
	margin-top: 50px;
}
body.single .post-text .category-nav {
	margin-bottom: 30px;
	margin-top: 50px;
}
	.post-text .category-nav li {
		margin: 0;
		padding: 0;
		margin: 0;
		display: block;
		margin: 0 10px;
	}
	.post-text .category-nav li:before {
		content: '';
	}
		.post-text .category-nav li a {
			background: #87b321;
			text-decoration: none;
			padding: 6px 8px;
			color: #ffffff;
			font-size: 20px;
			font-size: 2.0rem;
		}
		.post-text .category-nav li a.active {
			color: #a4a4a4;
			background: #eaeaea;
			padding: 6px 8px;
		}
		.post-text .category-nav li a:hover {
			background: #461f5a;
		}
		.post-text .category-nav li a.active:hover {
			background: #eaeaea;
			cursor: default;
		}
.all-posts {
	display: flex;
	margin-top: 13px;
	flex-wrap: wrap;
}
	.post-box {
		flex-basis: calc(100%/3 - 24px);
		margin: 18px;
		-webkit-transition: all 200ms ease-in-out;
		-moz-transition: all 200ms ease-in-out;
		-ms-transition: all 200ms ease-in-out;
		-o-transition: all 200ms ease-in-out;
		transition: all 200ms ease-in-out;
	}
	.post-box:nth-child(3n) {
		margin-right: 0;
	}
	.post-box:nth-child(3n+1) {
		margin-left: 0;
	}
	.post-box:hover {
		opacity: 0.7;
	}
		.post-box h2 {
			margin: 0;
		}
			.post-box h2 a {
				text-decoration: none;
				color: #87b321;
				font-size: 20px;
				font-size: 2.0rem;
				display: block;
				letter-spacing: 0;
				padding: 5px 0 0 0;
				line-height: 1.2;
			}
		.post-box p.place {

		}

#wide-image img {
	display: block;
	width: 100%;
	height: auto;
}

/* BLOCK QUERY LOOP */

.wp-block-query .wp-block-post-featured-image {
	-webkit-transition: all 200ms ease-in-out;
	-moz-transition: all 200ms ease-in-out;
	-ms-transition: all 200ms ease-in-out;
	-o-transition: all 200ms ease-in-out;
	transition: all 200ms ease-in-out;
}
.wp-block-query .wp-block-post-featured-image:hover {
	opacity: 0.7;
}

.wp-block-query .wp-block-post-title {
	margin: 10px 0 0 0;
}
	.wp-block-query .wp-block-post-title a {
		color: #87b321;
		text-decoration: none;
	}

/* BLOCK BUTTONS */

.wp-block-buttons > .wp-block-button {
	margin-bottom: 20px;
}

/* FOOTER LOGOS */

#footer-logos {
	background-color: #ffffff;
	display: flex;
	justify-content: center;
	align-items: center;
	padding: 20px 4% 20px 4%;
}
	#footer-logos img.horizontal {
		width: 100%;
		max-width: 300px;
		height: auto;
	}


@media screen and (max-width: 900px) {
	.post-box {
		flex-basis: calc(100%/2 - 12px);
		margin: 12px;
	}
	.post-box:nth-child(3n) {
		margin-right: 12px;
	}
	.post-box:nth-child(3n+1) {
		margin-left: 12px;
	}
	.post-box:nth-child(odd) {
		margin-left: 0;
	}
	.post-box:nth-child(even) {
		margin-right: 0;
	}
}
@media screen and (max-width: 680px) {
	.post-box {
		flex-basis: 100%;
		margin: 0px !important;
		margin-top: 15px !important;
		margin-bottom: 15px !important;
	}
}
/* Category
********************************************/

@media screen and (max-width: 1140px) {
	#site-wrapper {
		width: 100%;
		margin: 0px auto 0px auto;
	}
		#header {
			padding: 30px 4% 10px 4%;
		}
			#meta-nav ul li {
				margin-right: 30px;
			}
				#meta-nav ul li a {
					font-size: 16px; 
					font-size: 1.6rem;
				}
			#main-nav {
				padding: 23px 4% 0px 4%;
			}
				#main-nav ul li a {
					font-size: 18px; 
					font-size: 1.8rem;
				}
		.post-image:not(.image-slider) h1 {
			font-size: 32px; 
			font-size: 3.2rem;
			padding: 10px 4% 10px 4%;
		}
		.post-image.image-slider h1 {
			font-size: 32px; 
			font-size: 3.2rem;
		}
		.post-text h2 {
			font-size: 26px; 
			font-size: 2.6rem;
		}
		.post-text h3#custom-head-1 {
			margin-top: 48px;
		}
		.post-image .nivo-caption {
			padding: 8px 4% 8px 4%;
		}
}

@media screen and (max-width: 980px) {
	#meta-nav {
		padding-top: 3.7%;
	}
	#main-nav {
		display: none;
		text-align: center;
		padding: 0;
	}
		#main-nav span {
			display: none;
		}
		#main-nav ul li {
			display: block;
		}
			#main-nav ul li a {
				display: block;
				padding: 21px 4% 19px 4%;
				background: #cccccc;
				border-bottom: 1px solid #dddddd;
			}
			#main-nav ul li a:first-child {
				border-top: 1px solid #dddddd;
			}
			#main-nav ul li a:hover {
				background: #87b321;
				color: #ffffff;
			}
	.show-menu {
		display: block !important;
	}
}

@media screen and (max-width: 860px) {
	.post-text .col-left {
		width: 100%;
		margin-right: 0;
		margin-bottom: 10px;
	}
		.post-text .col-left p:last-child {
			margin-bottom: 12px;
		}
		.post-text .col-left ul:last-child {
			margin-bottom: 12px;
		}
	.post-text .col-right {
		width: 100%;
	}

	.post-text h3#custom-head-1 {
		margin-top: 0;
	}

	.post-text > h2:first-child {
		max-width: 100%;
	}
}

@media screen and (max-width: 815px) {
	#header {
		padding: 20px 4% 10px 4%;
	}
		#meta-nav {
			padding-top: 3.4%;
		}
	.post-image:not(.image-slider) h1 {
		font-size: 24px; 
		font-size: 2.4rem;
		padding: 8px 4% 8px 4%;
		letter-spacing: 0.03em;
	}
	.post-image.image-slider h1 {
		font-size: 24px; 
		font-size: 2.4rem;
		letter-spacing: 0.03em;
	}
	.post-text h2 {
		font-size: 22px; 
		font-size: 2.2rem;
		letter-spacing: 0.03em;
	}
}

@media screen and (max-width: 690px) {
	#meta-nav {
		padding-top: 3%;
	}
		#meta-nav ul li {
				margin-right: 15px;
			}
				#meta-nav ul li a {
					font-size: 14px; 
					font-size: 1.4rem;
				}
}

@media screen and (max-width: 611px) {
	#logo {
			width: 100%;
		}
	#meta-nav {
		width: 100%;
		padding-top: 5px;
	}
		#meta-nav ul {
			text-align: center;
		}

	.post-gallery .gallery-icon-wrapper {
		top: 0;
		right: 0;
		width: 30px;
		height: 30px;
	}
}

@media screen and (max-width: 599px) {
	.wp-block-media-text.is-stacked-on-mobile .wp-block-media-text__content {
		margin-top: 20px;
	}
}

@media screen and (max-width: 480px) {
	body.home .post-image:not(.image-slider) h1 {
		font-size: 17px; 
		font-size: 1.7rem;
	}
}
