/*
	CSS file for Green Dragon
*/

@font-face {
	font-family: 'Have Heart One';
	src: url('../fonts/HaveHeartOne.eot');
	src: url('../fonts/HaveHeartOne.eot?#iefix') format('embedded-opentype'),
		url('../fonts/HaveHeartOne.woff2') format('woff2'),
		url('../fonts/HaveHeartOne.woff') format('woff'),
		url('../fonts/HaveHeartOne.ttf') format('truetype'),
		url('../fonts/HaveHeartOne.svg#HaveHeartOne') format('svg');
	font-weight: normal;
	font-style: normal;
}


/*	General	
------------------------------*/
	
	* {
		padding: 0;
		margin: 0;
		outline: none;
		-webkit-font-smoothing: antialiased;
		-moz-osx-font-smoothing: grayscale;
	}
	
	.clearfix:after {
		visibility: hidden;
		display: block;
		font-size: 0;
		content: " ";
		clear: both;
		height: 0;
	}
	
	* html .clearfix,
	*:first-child+html .clearfix { 
		zoom: 1;
	}
	
	body {
		font-family: 'Dosis';		
		background: #ffffff;
	}
		
	.pull-left {
		float: left;
	}
	
	.pull-right {
		float: right;
	}
	
	img {
		max-width: 100%;
		height: auto;
	}
	
	a img {
		border: 0;
	}
	
	a {
		-webkit-transition: all ease 0.3s;
				transition: all ease 0.3s;
	}
	
	.site-wrapper {
		z-index: 1;
/* 		overflow: hidden; */
/* 		position: relative; */
	}
	
	.container {
		width: 100%;
		margin: 0 auto;
		padding: 0 40px;
		max-width: 1250px;
		box-sizing: border-box;
	}	
	
	.validation_error,
	.gform_ajax_spinner,
	.gform_validation_container {
		display: none;
	}
	
	
	input[type="text"],
	textarea,
	button {
		-webkit-appearance: none;
	}
	
	.responsive-video {
		height: 0;
		padding-top: 25px;
		padding-bottom: 67.5%;
		position: relative;
		overflow: hidden;
	}
	
	.responsive-video.widescreen {
		padding-bottom: 57.25%;
	}
	
	.responsive-video.vimeo {
		padding-top: 0;
	}
	
	.responsive-video embed,
	.responsive-video iframe,
	.responsive-video object,
	.responsive-video video {
		top: 0;
		left: 0;
		width: 100%;
		height: 100%;
		position: absolute;
	}

	
	
/*	Header
-------------------------------------------*/
	
	header {
		top: 0px;
		left: 0px;
		width: 100%;
		z-index: 10;
		position: absolute;
	}
	
	header .container {
		width: 100%;
		max-width: 100%;		
		padding: 0 40px;
		box-sizing: border-box;
	}
	
	header .top {
		height: 37px;
		text-align: center;
	}
	
		header .top span {
			display: inline-block;
			color: #ffffff;
			font-size: 20px;
			line-height: 21px;
			text-transform: uppercase;
			padding: 7px 0 9px 37px;
			position: relative;
			background: #21803f url('../img/header-top-pricetag.png') no-repeat left center / 30px 30px;
		}
		
			header .top span a {
				color: inherit;
				font-weight: bold;
				text-decoration: none;
			}
		
		header .top span:before {
			content: "";
			top: 0px;
			right: 100%;
			width: 0;
			height: 0;
			position: absolute;
			border-style: solid;
			border-width: 0 218px 37px 0;
			border-color: transparent #21803f transparent transparent;			
		}
		
		header .top span:after {
			content: "";
			top: 0px;
			left: 100%;
			width: 0;
			height: 0;
			position: absolute;
			border-style: solid;
			border-width: 0 0 37px 218px;
			border-color: transparent transparent transparent #21803f;
		}
	
	header .logo {
		float: left;
		margin-top: -17px;
	}
	
		header .logo img {
/* 			display: block; */
			max-height: 136px;
		}
		
		header .logo-vertical {
				 display: none;
				 max-width: 275px;
				 margin-top: 22px;
		}

			header .promo-text { 
				background-color:#21803f;
				color: white;
				display: none;
				float: right;
				padding: 9px 15px;
				margin-left: 20px;
				text-transform: uppercase;
			}
				
			header .promo-text a {
				color: white;
				text-decoration:none; 
			}
			
			header .promo-text .first-line { 
				font-size: 14px 
			}
	
			header .promo-text .second-line { 
				font-size: 19px 
			}
			
			.sticky header nav ul li.current-menu-item a:after {
				display: none; 
			}
		
	header nav {
		float: right;
		margin-top: 34px;
	}
	
		header nav ul {
			list-style: none;
		}
		
			header nav ul li {
				float: left;
				font-size: 20px;
				line-height: 20px;
				position: relative;
			}
		
			header nav ul li + li {
				margin-left: 40px;
			}
				
				header nav ul li a {
					color: #222222;		
					font-size: 20px;
					line-height: 20px;			
					text-decoration: none;
					text-transform: uppercase;
					position: relative;
				}
					
					header nav ul li:hover > a {
						color: #21803f;
					}
					
				header nav ul li.current-menu-item a {
					font-weight: bold;
				}
				
					header nav ul li.current-menu-item a:after {
						content: "";
						top: 100%;
						left: 50%;
						width: 13px;
						height: 15px;
						margin: 1px 0px 0px -6px;
						position: absolute;
						background: url('../img/nav-leaf.png') no-repeat top left / 13px 15px;
					}
					
		header nav .sub-menu {
			top: calc(100% + 26px);
			left: 50%;		
			opacity: 0;
			width: 220px;
			visibility: hidden;
			position: absolute;
			background: #21803f;
			border-radius: 3px;
			padding: 6px 0;
			-webkit-transform: translateX(-50%);
					transform: translateX(-50%);
			-webkit-transition: all ease 0.3s;
					transition: all ease 0.3s;
		}
				
			header nav .sub-menu:before {
				content: "";
				width: 100%;
				height: 12px;
				left: 0px;				
				bottom: 100%;
				position: absolute;
			}
			
			header nav .sub-menu:after {
				content: "";
				width: 0;
				height: 0;
				left: 50%;
				bottom: 100%;
				margin-left: -6px;
				position: absolute;
				border-style: solid;
				border-width: 0 6px 7px 6px;
				border-color: transparent transparent #21803f transparent;	
			}
		
			header nav .sub-menu li {
				float: none;
				margin-left: 0px;
			}
			
				header nav .sub-menu li a {
					color: #ffffff;
					font-size: 17px;
					font-weight: 400;
					padding: 5px 18px;
					text-align: center;
					display: block;
				}
				
					header nav .sub-menu li a:hover {
						background: #ffffff;	
					}
					
			@media (min-width: 1024px)
			{
				header nav ul li:hover .sub-menu { top: calc(100% + 12px); opacity: 1; visibility: visible; }
				.sticky header { 
					background: white;
				    position: fixed;
				    top: 0;
				    box-shadow: 1px 2px 2px rgba(0,0,0,0.2);
				}
				.sticky header .top { display: none;}
				.sticky header nav { margin: 20px 0}
				
				.sticky header nav ul li + li {
					margin-left: 25px;
				}

			}
					
		header nav .close {
			z-index: 5;
			top: 10px;
			right: 10px;			
			width: 45px;
			height: 45px;
			color: #ffffff;
			font-size: 80px;
			text-align: center;
			line-height: 28px;
			position: fixed;
			padding-bottom: 12px;
			box-sizing: border-box;
			cursor: pointer;
			display: none;
		}
		
	header .menu-trigger {
		float: right;
		cursor: pointer;
		display: none;
		color: #222222;
		font-size: 24px;
		font-weight: bold;
		line-height: 24px;
		margin-top: 50px;
		padding: 6px 0 7px 42px;
		text-decoration: none;
		text-transform: uppercase;
		position: relative;		
		background: url('../img/menu-trigger.png') no-repeat top left / 32px auto;
	}
	

/*	Footer
-------------------------------------------*/
	
	footer {
		position: relative;
		background: #1c1c1c url('../img/footer-bg.jpg') no-repeat center top / cover;
	}
		
		.mobile-banner {
		    display: none;
		    position: fixed;
		    left: 0;
	        font-family: 'Dosis';
		    right: 0;
		    bottom: 0;
		    z-index: 20;
		    font-size: 23px;
		    line-height: 17px;
		    letter-spacing: 0.3em;
		    padding: 20px 0 20px 0;
		    background: #21803f;
		    color: white;
			text-decoration: none;
			text-transform: uppercase;
			font-weight: bold;
		    text-align: center;
		}
	
		
		/*
		 *	Top
		 */
		footer .top {
			top: -31px;
			width: 62px;
			height: 62px;
			display: block;			
			position: relative;			
			border-radius: 50%;
			background: #21803f;
			border: 5px solid #ffffff;			
			text-decoration: none;
			margin: 0 auto;
		}
		
			footer .top i {
				display: block;
				opacity: 0.6;
				color: #fefefe;
				font-size: 30px;
				line-height: 62px;
				text-align: center;
				-webkit-transition: opacity ease 0.3s;
						transition: opacity ease 0.3s;
			}
			
			footer .top:hover i {
				opacity: 1;	
			}
			
			
		/*
		 *	Socials
		 */
		footer .social {
			margin-bottom: 75px;
			border-bottom: 1px solid rgba(255, 255, 255, 0.1);
		}
		
			footer .social h4 {
				color: #ffffff;
				font-family: 'Have Heart One';
				font-size: 60px;
				font-weight: 400;
				line-height: 70px;
				text-align: center;
				overflow: hidden;
				position: relative;
				margin-top: 33px;
			}
			
				footer .social h4 span {
					display: inline-block;
					position: relative;
				}
				
				footer .social h4 span:before {
					content: "";
					width: 700px;
					height: 1px;
					top: 42px;
					right: 100%;
					margin-right: 25px;
					background: rgba(255, 255, 255, 0.1);
					position: absolute;
				}
				
				footer .social h4 span:after {
					content: "";
					width: 700px;
					height: 1px;
					top: 42px;
					left: 100%;
					margin-left: 25px;
					background: rgba(255, 255, 255, 0.1);
					position: absolute;
				}
				
			footer .social ul {
				font-size: 0px;
				list-style: none;
				text-align: center;
				margin: 32px 0 57px 0;
			}
			
				footer .social ul li {
					display: inline-block;
				}
				
				footer .social ul li + li {
					margin-left: 25px;
				}
				
				footer .social ul li a {					
					width: 64px;
					height: 64px;
					border-radius: 50%;
					border: 1px solid rgba(255, 255, 255, 0.3);
					display: block;			
					-webkit-transition: all ease 0.3s;
							transition: all ease 0.3s;		
				}
				
					footer .social ul li a i {
						color: #ffffff;
						font-size: 35px;
						line-height: 66px;
						-webkit-transition: all ease 0.3s;
								transition: all ease 0.3s;
					}
				
				footer .social ul li a:hover {
					border-color: #21803f;
				}
					
				footer .social ul li a:hover i {
					color: #21803f;
				}
			
			
		/*
		 *	Columns
		 */
		footer .col {
			float: left;
			width: calc(25% - 22px);
		}
		
			footer .col + .col {
				margin-left: 29px;
			}
			
			footer .col h4 {
				color: #ffffff;
				font-family: 'Lato';
				font-size: 16px;
				font-weight: 800;
				line-height: 16px;
				margin-bottom: 40px;
				text-transform: uppercase;
			}
			
			
		/*
		 *	LINKS
		 */
		footer .col .links {
			list-style: none;
		}
		
			footer .col .links li {
				padding: 14px 0;
			}
			
				footer .col .links li:first-child {
					padding-top: 0px;	
				}
			
				footer .col .links li + li {
					border-top: 1px solid rgba(58, 58, 58, 0.4);
				}
			
				footer .col .links li a {
					color: #ffffff;
					font-size: 14px;
					line-height: 14px;
					text-decoration: none;
					text-transform: uppercase;
					-webkit-transition: all ease 0.3s;
							transition: all ease 0.3s;
				}
				
					footer .col .links li a i {
						color: #21803f;
						margin-right: 4px;
					}
					
					footer .col .links li a:hover {
						color: #21803f;
					}
			
			footer .col .links li .sub-menu {
				display: none !important;
			}
		
		/*
		 *	Posts
		 */
		footer .col .posts {
			
		}
		
			footer .col .post + .post {
				margin-top: 16px;
				padding-top: 16px;
				border-top: 1px solid rgba(255, 255, 255, 0.05);
			}
			
				footer .col .post .image {
					float: left;
					width: 60px;
					height: 60px;
					position: relative;
					margin: 0 10px 0 0;
					background-size: cover;
					background-repeat: no-repeat;
					background-position: center center;
					-webkit-filter: grayscale(100%);
							filter: grayscale(100%);
					-webkit-transition: all ease 0.3s;
							transition: all ease 0.3s;
				}
				
					footer .col .post .image:after {
						content: "";
						top: 0px;
						left: 0px;
						width: 100%;
						height: 100%;
						position: absolute;
						background: rgba(20, 20, 20, 0.6);
						-webkit-transition: all ease 0.3s;
								transition: all ease 0.3s;
					}
					
					footer .col .post .image:hover {
						-webkit-filter: grayscale(0%);
								filter: grayscale(0%);
					}
					
						footer .col .post .image:hover:after {
							background: rgba(20, 20, 20, 0);
						}
			
				footer .col .post h3 {
					color: #ffffff;
					font-size: 14px;
					font-weight: 400;
					line-height: 20px;
					letter-spacing: 0.04em;
				}
				
					footer .col .post h3 a {
						color: inherit;
						text-decoration: none;
						-webkit-transition: all ease 0.3s;
								transition: all ease 0.3s;
					}
					
						footer .col .post h3 a:hover {
							color: #21803f;	
						}
				
				footer .col .post .date {
					color: #6b6b6b;
					font-size: 12px;
					line-height: 14px;	
				}
			
			footer .col .more {
				color: #969595;
				font-size: 12px;
				line-height: 12px;
				text-decoration: none;
				text-transform: uppercase;
				display: inline-block;
				margin-top: 18px;
				-webkit-transition: all ease 0.3s;
						transition: all ease 0.3s;
			}
							
				footer .col .more i {
					color: #21803f;
				}
				
				footer .col .more:hover {
					color: #21803f;
				}			
		
		
		/*
		 *	Products
		 */
		footer .col .products {
			
		}
		
			footer .col .products a {
				float: left;
				width: calc(25% - 4px);
				padding-bottom: calc(25% - 4px);
				height: auto;				
				display: block;
				margin-left: 5px;
				margin-bottom: 5px;
				position: relative;
				background-size: cover;
				background-repeat: no-repeat;
				background-position: center center;
				-webkit-filter: grayscale(100%);
						filter: grayscale(100%);
				-webkit-transition: all ease 0.3s;
						transition: all ease 0.3s;
			}
			
				footer .col .products a:first-child,
				footer .col .products a:nth-child(4n+1) {
					margin-left: 0px;
				}
			
				footer .col .products a:after {
					content: "";
					top: 0px;
					left: 0px;
					width: 100%;
					height: 100%;
					position: absolute;
					background: rgba(20, 20, 20, 0.6);
					-webkit-transition: all ease 0.3s;
							transition: all ease 0.3s;
				}
				
				footer .col .products a:hover {
					-webkit-filter: grayscale(0%);
							filter: grayscale(0%);
				}
				
					footer .col .products a:hover:after {
						background: rgba(20, 20, 20, 0);
					}
		
		
		/*
		 *	Contact
		 */
		footer .col .contact {
			list-style: none;
		}		
		
			footer .col .contact li {
				color: #969595;
				font-size: 14px;
				line-height: 22px;
				letter-spacing: 0.04em;
			}
			
				footer .col .contact li i {
					float: left;
					width: 26px;
					color: #21803f;
					font-size: 16px;
					line-height: 22px;
				}
				
				footer .col .contact li span {
					display: block;
					overflow: hidden;
					position: relative;
				}
				
				footer .col .contact li a {
					color: inherit;
					text-decoration: none;
					-webkit-transition: all ease 0.3s;
							transition: all ease 0.3s;
				}
				
					footer .col .contact li a:hover {
						color: #21803f;
					}
					
			footer .col .contact li + li {
				margin-top: 10px;
				padding-top: 10px;
				border-top: 1px solid rgba(255, 255, 255, 0.05);
			}
				
			
		/*
		 *	Bottom
		 */
		footer .bottom {
			padding-top: 30px;
		} 
		
			footer .bottom .logo {
				overflow: hidden;
				position: relative;	
				text-align: center;
				font-size: 0px;
			}
			
				footer .bottom .logo span {
					display: inline-block;
					position: relative;
				}
				
				footer .bottom .logo span:before,
				footer .bottom .logo span:after {
					content: "";
					width: 700px;
					height: 1px;
					top: 50%;
					position: absolute;	
					background: rgba(255, 255, 255, 0.1);
				}
				
				footer .bottom .logo span:before {
					right: 100%;
					margin-right: 16px;
				}
				
				footer .bottom .logo span:after {
					left: 100%;
					margin-left: 16px;
				}
				 
				footer .bottom .logo img {
					max-height: 59px;
				}
				
			footer .bottom .copyright {
				color: #636363;
				font-size: 12px;
				line-height: 14px;
				text-align: center;
				padding: 20px 0 48px 0;
			}
			
				footer .bottom .copyright a {
					color: inherit;
					text-decoration: none;
				}
					
					footer .bottom .copyright a:hover {
						color: #21803f;
					}
		
		

/*	General Layouts
-------------------------------------------*/

	/*
	 *	Page Header
	 */
	.page-header {
		width: 100%;
		height: 512px;
		overflow: hidden;
		position: relative;
	}
		
		.page-header .bg {
			top: 0px;
			left: 0px;
			width: 100%;
			height: 788px;
			position: absolute;
			background: #fdfefe url('../img/page-header-bg.jpg') no-repeat top center / cover;
		}
		
		.page-header svg {
			width: 2000px;
			height: 164px;
			left: 50%;
			bottom: 0px;
			margin-left: -1000px;
			position: absolute;
		}
		
		.page-header .leaf {
			left: calc(50% + 25px);
			bottom: 0px;
			width: 1448px;
			height: 326px;			
			margin-left: -724px;
			position: absolute;
			background: url('../img/page-header-leaf.png') no-repeat top left / cover;
		}
		
			.page-header .leaf:before {
				content: "";
				z-index: 5;
				left: 424px;
				bottom: 146px;
				width: 159px;
				height: 140px;
				position: absolute;	
				background: url('../img/page-header-leaf-ext.png') no-repeat top left;
			}
						
		.page-header .title {			
			top: 149px;
			left: 40px;
			right: 40px;
			color: #ffffff;
			font-family: 'Lato';
			font-size: 140px;
			font-weight: 800;
			line-height: 140px;
			letter-spacing: -0.017em;
			text-align: center;
			text-shadow: 0px 6px 7px rgba(0, 0, 0, 0.3);
			position: absolute;
		}
	
		
	/*
	 *	Page Wrapper
	 */
	.page-wrapper {
		padding-top: 62px;
		padding-bottom: 115px;
	}
	
	/*
	 *	Page Title
	 */
	.page-title {
		color: #252525;
		font-family: 'Lato';
		font-size: 62px;
		font-weight: 800;
		line-height: 73px;
		text-align: center;
		text-transform: uppercase;
	}
	
	/*
	 *	Page Content
	 */
	.page-content {
		margin-top: 35px;	
	}	
	
	/*
	 *	Separator
	 */
	.separator {
		width: 100%;
		height: 21px;
		overflow: hidden;
		position: relative;
		background: url('../img/separator.png') no-repeat top center / 18px 21px;
	} 
	
		.separator:before,
		.separator:after {
			content: "";
			float: left;			
			width: 	calc(50% - 25px);
			height: 1px;
			margin-top: 11px;
			background: #d3d3d3;
		}
		
		.separator:after {
			float: right;
		}
	

/*	General Content
-------------------------------------------*/

	.general-content {
		color: #555555;
		font-size: 20px;
		line-height: 30px;
	}
	
		.general-content > *:first-child {
			padding-top: 0px;
			margin-top: 0px;
		}
	
	.general-content h1 {
		color: #252525;
		font-family: 'Lato';
		font-size: 42px;
		font-weight: 800;
		line-height: 40px;
		padding-top: 50px;
	}
	
	.general-content h2 {
		color: #252525;
		font-family: 'Lato';
		font-size: 30px;
		font-weight: 800;
		line-height: 32px;
		padding-top: 50px;
	}
		
	.general-content h3 {
		color: #252525;
		font-size: 30px;
		font-weight: 600;
		line-height: 38px;
		padding-top: 32px;
	}
	
	.general-content p {
		padding-top: 30px;
	}
	
		.general-content h2 + p {
			padding-top: 30px;
		}
		
		.general-content h3 + p {
			padding-top: 17px;
		}
		
	.general-content p.intro {
		font-size: 26px;
		line-height: 35px;	
	}
	
	.general-content p.featured {		
		font-weight: bold;
		border-left: 7px solid #21803f;
		padding: 2px 0 4px 22px;
		margin-top: 30px;
	}
		
	.general-content a {
		color: #21803f;
		text-decoration: underline;
	}
	
		.general-contenta a:hover {
			text-decoration: none;
		}
		
	.general-content img {
		display: block;
		margin-top: 30px;
	}
	
	.general-content .alignleft {
		float: left;
		max-width: 50%;
		margin-right: 30px;
		margin-bottom: 20px;
	}
	
	.general-content .alignright {
		float: right;
		max-width: 50%;
		margin-left: 30px;
		margin-bottom: 20px;
	}
	
	.general-content .wp-caption {
		margin-top: 35px;
		background: #f7f7f7;
	}	
	
		.general-content .wp-caption img {
			width: 100%;
			height: auto;
			margin-top: 0px;
		}
		
		.general-content .wp-caption p {			
			color: #898989;
			font-size: 14px;
			line-height: 24px;
			text-align: center;
			padding: 13px 15px;
		}
		
	.general-content blockquote {
		margin-top: 35px;
		padding: 25px 65px 30px 200px;
		border: 3px solid #d3d3d3;	
		background: url('../img/quote.svg') no-repeat 47px 36px; 	
	}
	
		.general-content blockquote p {
			color: #252525;
			font-family: 'Lato';
			font-size: 30px;
			font-weight: 300;
			font-style: italic;
			line-height: 40px;
			padding: 0px;
		}
		
	.general-content ul {
		list-style: none;
		padding: 10px 0 0 25px;
		max-width: 800px;
		margin: 0 auto;
	}
	
		.general-content ul li,
		.home-about .container ul li {
			padding: 5px 30px;
			background: url(../img/menu-trigger.png) no-repeat 0 8px / auto 18px;
			text-align: left;
		}
		
		.general-content ul li + li {
			margin-top: 6px;
		}



/*	Instagram
-------------------------------------------*/
	
	.instagram-slider {
		margin-bottom: 0px;
	}
	
	.instagram-slider .head {
		text-align: center;
		margin-bottom: 40px;
	}
	
		.instagram-slider .latest {
			color: #252525;
			font-size: 60px;
			font-weight: 400;
			font-family: 'Have Heart One';
			line-height: 70px;
			text-align: center;
			overflow: hidden;
			position: relative;
			margin-bottom: -5px;
		}
		
			.instagram-slider .latest span {
				display: inline-block;
				position: relative;
			}
		
			.instagram-slider .latest span:before {
				content: "";
				width: 700px;
				height: 1px;
				top: 40px;
				right: 100%;
				margin-right: 25px;
				background: #d3d3d3;
				position: absolute;
			}
			
			.instagram-slider .latest span:after {
				content: "";
				width: 700px;
				height: 1px;
				top: 40px;
				left: 100%;
				margin-left: 25px;
				background: #d3d3d3;
				position: absolute;
			}
		
		.instagram-slider .title {
			color: #252525;
			font-family: 'Lato';
			font-size: 62px;
			font-weight: 800;
			line-height: 62px;
			text-align: center;
			text-transform: uppercase;
		}
		
		.instagram-slider .tag {
			display: inline-block;
			color: #ffffff;
			font-size: 18px;
			font-weight: bold;
			line-height: 18px;
			letter-spacing: 0.4em;
			text-decoration: none;
			background: #21803f;
			padding: 3px 0px 3px 8px;
			margin-top: 13px;			
		}
		
		.instagram-slider .separator {
			margin-top: 32px;
		}
	
	.instagram-slider .swiper-slide {
		float: left;
		width: 20%;
	}
		
		.instagram-slider .swiper-slide a {
			width: 100%;
			height: auto;
			display: block;
			padding-bottom: 100%;
			background-size: cover;
			background-repeat: no-repeat;
			background-position: center center;
		}
		
		
		
/*	Banners
-------------------------------------------*/
	
	.banners {
		padding: 115px 0 112px 0;
	}
	
		.banners .container {
			position: relative;
		}
	
		.banners .leaf {
			z-index: 0;
			left: -167px;
			bottom: -98px;
			position: absolute;
		}
	
		.banners .swiper-container {
			z-index: 2;
			position: relative;
		}
	
	

/*	Blog Post
-------------------------------------------*/
	
	/*
	 *	Listing
	 */
	.post {
		
	} 
		
		.post .head {
			padding-bottom: 48px;
			text-align: center;
		}
			
			.post .head h2 {
				color: #252525;
				font-family: 'Lato';
				font-size: 62px;
				font-weight: 800;
				line-height: 73px;
				text-align: center;
				text-transform: uppercase;
			}
			
				.post .head h2 a {
					color: inherit;
					text-decoration: none;
					-webkit-transition: all ease 0.3s;
							transition: all ease 0.3s;
				}
				
				.post .head h2 a:hover {
					color: #21803f;
				}
				
			.post .head .date {
				color: #ffffff;
				font-size: 18px;
				font-weight: bold;
				line-height: 20px;
				letter-spacing: 0.4em;
				text-transform: uppercase;
				display: inline-block;
				background: #21803f;
				padding: 2px 12px 3px 18px;
				margin-top: 6px;								
			}
		
		.post .image,
		.page-wrapper .image {
			width: 100%;
			height: 374px;
			display: block;
			margin-bottom: 38px;
			background-size: cover;
			background-repeat: no-repeat;
			background-position: center center;
		}
			
		.post .excerpt {
			text-align: center;			
		}
		
		.post .more {
			width: 204px;
			display: block;
			color: #21803f;
			font-size: 20px;
			font-weight: bold;
			line-height: 20px;
			text-align: center;
			text-decoration: none;
			border: 3px solid #d3d3d3;
			padding: 12px 0 13px 0;
			margin: 42px auto 0 auto;
		}
		
			.post .more:hover {
				border-color: #21803f;
			}
	
	.post.small {
		float: left;
		width: 45.726495726495726%;
	} 
	
		.mobile-separator + .post.small {
			float: right;
		}
		
		.post.small .head {
			padding-bottom: 38px;
		}
			
			.post.small .head h2 {
				color: #252525;
				font-family: 'Lato';
				font-size: 42px;
				font-weight: 800;
				line-height: 50px;
				text-align: center;
				text-transform: uppercase;
			}
			
			.post.small .head .date {				
				color: #ffffff;
				font-size: 14px;
				font-weight: bold;
				line-height: 15px;
				letter-spacing: 0.4em;
				text-transform: uppercase;
				display: inline-block;
				background: #21803f;
				padding: 2px 4px 3px 11px;
			}
		
		.post.small .image {
			height: 286px;
			margin-bottom: 22px;
		}		
		
		.post.small .more {
			margin-top: 32px;	
		}
		
	.page-blog .separator {
		clear: both;
		margin: 69px 0 60px 0;
	}
	
	.page-blog .mobile-separator {
		display: none;
	}
	
	.page-blog .load-more {
		text-align: center;
	}
		
		.page-blog .load-more a {
			display: inline-block;
			color: #fefefe;
			font-size: 20px;
			font-weight: bold;
			line-height: 22px;
			text-decoration: none;
			background: #21803f;
			padding: 12px 25px 13px 25px;
			margin: 0 auto;
		}
		
			.page-blog .load-more a:hover {
				background: #1c1c1c;
			}
			
			.page-blog .load-more a i {
				margin-right: 10px;
			}
		
	
	/*
	 *	Single
	 */
	.post-head {
		padding-bottom: 48px;
		text-align: center;
	}
	
	.post-head .date {
		color: #ffffff;
		font-size: 18px;
		font-weight: bold;
		line-height: 20px;
		letter-spacing: 0.4em;
		text-transform: uppercase;
		display: inline-block;
		background: #21803f;
		padding: 2px 12px 3px 18px;
	}
	
	.post-image {
		margin-bottom: 38px;
	}
	
	
	/*
	 *	Additional posts
	 */
	.additional-posts {		
		margin-bottom: 80px;
		padding: 62px 0 72px 0;
		background: #f7f7f7;
	}
	
		.additional-posts h4 {
			color: #252525;
			font-size: 60px;
			font-weight: 400;
			font-family: 'Have Heart One';
			line-height: 70px;
			text-align: center;
			overflow: hidden;
			position: relative;
			margin-bottom: 45px;
		}
		
			.additional-posts h4 span {
				display: inline-block;
				position: relative;
			}
		
			.additional-posts h4 span:before {
				content: "";
				width: 700px;
				height: 1px;
				top: 42px;
				right: 100%;
				margin-right: 25px;
				background: #cdcdcd;
				position: absolute;
			}
			
			.additional-posts h4 span:after {
				content: "";
				width: 700px;
				height: 1px;
				top: 42px;
				left: 100%;
				margin-left: 25px;
				background: #cdcdcd;
				position: absolute;
			}
	
		.additional-posts .post {
			float: left;
			width: calc(33.33333333% - 20px);
			text-align: center;
		}
		
			.additional-posts .post + .post {
				margin-left: 30px;
			}
			
			.additional-posts .post h2 {
				color: #252525;
				font-family: 'Lato';
				font-size: 30px;
				font-weight: 800;
				line-height: 35px;				
				text-transform: uppercase;
			}
			
				.additional-posts .post h2 a {
					color: inherit;
					text-decoration: none;	
				}
			
			.additional-posts .date {
				color: #ffffff;
				font-size: 14px;
				font-weight: bold;
				line-height: 15px;
				letter-spacing: 0.4em;
				text-transform: uppercase;
				display: inline-block;
				background: #21803f;
				padding: 2px 4px 3px 11px;
				margin-top: 7px;
			}
			
			.additional-posts .image {
				width: 100%;
				height: 200px;
				display: block;
				margin-top: 42px;
				margin-bottom: 0px;
				background-size: cover;
				background-repeat: no-repeat;
				background-position: center center;	
			}
			
			.additional-posts .excerpt {
				color: #555555;
				font-size: 20px;
				line-height: 30px;
				margin-top: 24px;
			}
			

/*	Page: Product List
-------------------------------------------*/

	.page-products .intro {
		color: #252525;
		font-size: 26px;
		line-height: 40px;
		text-align: center;
	}
	
	.page-products .filters {
		font-size: 0px;
		text-align: center;	
		position: relative;
		margin: 60px 0 90px 0;
	}
	
		.page-products .filters:before {
			content: "";
			top: 50%;
			left: 0px;
			width: 100%;
			height: 1px;			
			position: absolute;
			background: #d3d3d3;
		}
	
		.page-products .filters ul {
			z-index: 1;
			list-style: none;
			display: inline-block;
			position: relative;
			padding: 0 8px;
			background: #ffffff;
		}
		
		.page-products .filters ul li {
			display: inline-block;
			color: #252525;
			font-size: 24px;
			font-weight: 300;
			line-height: 26px;
			text-transform: uppercase;
			padding: 5px 15px;
		}
		
			.page-products .filters ul li a {
				color: inherit;
				text-decoration: none;				
			}
			
			.page-products .filters ul li a.active {
				color: #21803f;
				font-weight: bold;
			}
			
	.page-products .gutter-sizer {
		width: 2.820512820512821%;
	}
	
	.product-item {
		display: block;
		width: 31.4529914529914535%;
		margin-bottom: 100px;
		text-decoration: none;
	}
	
	.product-item .circle {
		width: 100%;
		height: auto;
		z-index: 2;
		position: relative;
		border-radius: 50%;
		padding-bottom: 100%;
	}
	
		.product-item .circle:before {
			content: "";
			z-index: 0;
			width: 100%;
			height: 61px;
			left: 50%;
			bottom: -27px;
			position: absolute;
			background: url('../img/circle-shadow.png') no-repeat top center / contain;
			-webkit-transform: translateX(-50%);
					transform: translateX(-50%);
		}
	
		.product-item .circle .image {
			top: 0px;
			left: 0px;
			width: 100%;
			height: auto;
			z-index: 1;
			position: absolute;	
			border-radius: 50%;
			padding-bottom: 100%;
			background-color: #21803f;
			background-size: cover;
			background-repeat: no-repeat;
			background-position: center center;
			-webkit-transform: rotateY(0deg);
					transform: rotateY(0deg);
			-webkit-transition: all linear 0.5s;
					transition: all linear 0.5s;
		}			
		
			.product-item:hover .circle .image {
				-webkit-transform: rotateY(-180deg);
						transform: rotateY(-180deg);	
			}
		
		.product-item .circle .content {
			top: 0px;
			left: 0px;
			width: 100%;
			height: 100%;
			z-index: 2;
			padding: 0 30px;
			position: absolute;
			border-radius: 50%;			
			background: #21803f;
			background-size: cover;
			background-repeat: no-repeat;
			background-position: center center;
			box-sizing: border-box;
			display: -webkit-box;
			display: -ms-flexbox;
			display: -webkit-flex;
			display: flex;
			-webkit-box-pack: center;
			-ms-flex-pack: center;
			-webkit-justify-content: center;
			justify-content: center;
			-webkit-box-align: center;
			-ms-flex-align: center;
			-webkit-align-items: center;
			align-items: center;
			opacity: 0;
			-webkit-transform: rotateY(-180deg);
					transform: rotateY(-180deg);
			-webkit-transition: -webkit-tranform linear 0.5s, opacity linear 0s 0.25s;
					transition: transform linear 0.5s, opacity linear 0s 0.25s;
		}
		
			.product-item .circle .content p {
				color: #ffffff;
				font-size: 21px;
				line-height: 30px;
				text-align: center;
				padding-top: 30px;
			}
			
			.product-item .circle .content .btn {
				width: 168px;
				display: block;
				color: #ffffff;
				font-size: 20px;
				font-weight: bold;
				line-height: 20px;
				text-align: center;
				text-decoration: none;
				border: 3px solid rgba(255, 255, 255, 0.2);
				padding: 12px 0 13px 0;
				margin: 30px auto 0 auto;
			}
			
			.product-item:hover .circle .content {
				opacity: 1;
				-webkit-transform: rotateY(0deg);
						transform: rotateY(0deg);
			}
			
		.product-item h2 {
			color: #222222;
			text-align: center;	
			margin-top: 36px;
			-webkit-transition: all ease 0.3s;
					transition: all ease 0.3s;
		}
			
			.product-item:hover h2 {
				color: #21803f;
			}
			
			
			
/*	Page: Product Single
-------------------------------------------*/
	
	.page-product {
		padding-bottom: 90px;
	}

	.page-product .details {
		
	}
	
		.page-product .details .images {
			float: left;
		}
		
			.page-product .details .images .main {				
				width: 500px;
				height: 500px;				
				border-radius: 50%;
				border: 3px solid #d3d3d3;
				background-size: cover;
				background-repeat: no-repeat;
				background-position: center center;
			}
			
			.page-product .details .images .thumbnails {
				max-width: 344px;
				padding: 0 30px;
				margin: 30px auto 0 auto;
			}
			
				.page-product .details .images .thumbnails .swiper-slide { 
					width: 104px !important;
					height: 104px;
					border-radius: 50%;
					border: 3px solid #d3d3d3;
					background-size: cover;
					background-repeat: no-repeat;
					background-position: center center;
					box-sizing: border-box;
				}			
				
				
				.page-product .details .images .thumbnails .swiper-button-prev,
				.page-product .details .images .thumbnails .swiper-button-next {
					top: 0px;
					width: 30px;
					height: 100%;
					margin-top: 0px;
					color: #d3d3d3;
					font-size: 30px;
					line-height: 30px;
					background: #ffffff;
				}
					
					.page-product .details .images .thumbnails .swiper-button-prev {
						left: 0px;
						text-align: left;
					}
					
					.page-product .details .images .thumbnails .swiper-button-next {
						right: 0px;
						text-align: right;
					}
					
					.page-product .details .images .thumbnails .swiper-button-disabled {
						opacity: 1;	
					}
					
						.page-product .details .images .thumbnails .swiper-button-disabled i {
							opacity: 0.3;	
						}
					
					.page-product .details .images .thumbnails .swiper-button-prev i,
					.page-product .details .images .thumbnails .swiper-button-next i {
						line-height: 104px;
						-webkit-transition: all ease 0.3s;
								transition: all ease 0.3s;
					}
					
					.page-product .details .images .thumbnails .swiper-button-prev:hover i,
					.page-product .details .images .thumbnails .swiper-button-next:hover i {
						color: #21803f;
					}
	
		.page-product .details .info {
			float: right;
			width: calc(100% - 600px);
			min-height: 500px;
			overflow: hidden;
			position: relative;
			display: -webkit-box;
			display: -ms-flexbox;
			display: -webkit-flex;
			display: flex;
			-webkit-box-pack: center;
			-ms-flex-pack: center;
			-webkit-justify-content: center;
			justify-content: center;
			-webkit-box-align: center;
			-ms-flex-align: center;
			-webkit-align-items: center;
			align-items: center;
		}
		
			.page-product .details .info h1 {
				color: #252525;
				font-family: 'Lato';
				font-size: 62px;
				font-weight: 800;
				line-height: 71px;
				text-transform: uppercase;
			}
			
			.page-product .details .info ul {
				color: #252525;
				font-size: 30px;
				font-weight: 600;
				line-height: 32px;
				margin-top: 30px;
				list-style: none;
			}
			
				.page-product .details .info ul li {
					
				}
				
					.page-product .details .info ul li span {
						display: inline-block;
						padding-left: 27px;
						background: url('../img/separator.png') no-repeat 0px 7px / 18px 21px;
					}
				
				.page-product .details .info ul li + li {
					margin-top: 18px;
				}
				
		.page-product .description {
			margin-top: 95px;
		}
		
			.page-product .description h2 {
				text-transform: uppercase;
			}
		
			.page-product .description h2 + p {
				padding-top: 12px;	
			}
	
	/*
	 *	Additional Products
	 */
	.additional-products {
		padding: 80px 0 90px 0;
		margin-bottom: 115px;
		background: #f7f7f7;
	}
		
		.additional-products h3 {
			color: #252525;
			font-family: 'Have Heart One';
			font-size: 60px;
			font-weight: 400;
			line-height: 60px;
			text-align: center;
			position: relative;
			margin-bottom: 60px;
		}
		
			.additional-products h3:before {
				content: "";
				top: 50%;
				left: 0px;
				width: 100%;
				height: 1px;
				position: absolute;
				background: #cdcdcd;
			}
		
			.additional-products h3 span {
				z-index: 2;
				position: relative;
				display: inline-block;
				padding: 0 15px;
				background: #f7f7f7;
			}
	
		.additional-products .product-item {
			float: left;
			margin-bottom: 0px;
		}
	
		.additional-products .product-item + .product-item {
			margin-left: 2.820512820512821%;
		}
		
		

/*	Page: Contact
-------------------------------------------*/

	.page-contact .info {
		font-size: 0px;
		list-style: none;
		text-align: center;
		margin: 37px auto 70px auto;
	}
	
		.page-contact .info li {
			display: inline-block;
		}
		
			.page-contact .info li + li {
				margin-left: 70px;	
			}
			
			.page-contact .info li a {
				color: #252525;
				font-size: 26px;
				line-height: 30px;
				letter-spacing: 0.04em;
				text-decoration: none;
			}
			
				.page-contact .info li a i {
					top: 0px;
					color: #21803f;
					font-size: 30px;
					position: relative;
				}
				
				.page-contact .info li a i.fa-phone {
					top: 3px;	
				}
				
				.page-contact .info li a i.fa-map-marker {
					top: 1px;	
				}

	.page-contact .gform_wrapper .gform_title {
		color: #252525;
		font-family: 'Lato';
		font-size: 42px;
		font-weight: 800;
		line-height: 45px;
		text-align: center;
		text-transform: uppercase;
		margin-bottom: 50px;
		margin-top: 65px;
	}
	
	.page-contact .gform_wrapper .gform_fields {
		list-style: none;
	}
		
		.page-contact .gform_wrapper .gfield {
			margin-bottom: 29px;
		}
		
		.page-contact .gform_wrapper .gfield.gfield-left,
		.page-contact .gform_wrapper .gfield.gfield-right {
			float: left;
			clear: both;
			width: calc(50% - 15px);	
		}
		
		.page-contact .gform_wrapper .gfield.gfield-right {
			float: right;
			clear: none;
		}
		
		.page-contact .gform_wrapper .gfield_label {
			display: none;	
		}
		
		.page-contact .gform_wrapper input[type="text"],
		.page-contact .gform_wrapper textarea {
			width: 100%;
			color: #555555;
			font-family: 'Dosis';
			font-size: 22px;
			line-height: 24px;
			padding: 13px 15px 11px 15px;
			border-radius: 2px;
			border: 1px solid #b7b7b7;
			box-sizing: border-box;
		}
		
		.page-contact .gform_wrapper textarea {
			height: 150px;
			resize: none;	
		}
		
		.page-contact .gform_wrapper .validation_message {
			color: #ffffff;
			font-size: 13px;
			font-weight: bold;
			line-height: 15px;
			border-radius: 2px;
			background: #ff0042;
			padding: 6px 15px 7px 15px;
			margin-top: 2px;
		}
		
	.page-contact .gform_wrapper .gform_button {
		display: block;
		cursor: pointer;
		width: 162px;
		color: #ffffff;
		font-family: 'Dosis';
		font-size: 20px;		
		font-weight: bold;
		line-height: 20px;
		text-align: center;
		text-transform: uppercase;
		margin: 0 auto;
		padding: 14px 0;
		border: 0px;
		border-radius: 2px;
		background: #21803f;
		-webkit-transition: all ease 0.3s;
				transition: all ease 0.3s;
	}
	
		.page-contact .gform_wrapper .gform_button:hover {
			background: #1c1c1c;
		}
	
	.page-contact .gform_confirmation_wrapper h3 {
		color: #252525;
		color: #21803f;
		font-family: 'Lato';
		font-size: 42px;
		font-weight: 800;
		line-height: 45px;
		text-align: center;
		text-transform: uppercase;
		margin-bottom: 30px;
		margin-top: 65px;
	}
	
	.page-contact .gform_confirmation_wrapper p {
		font-size: 24px;
		line-height: 28px;
		text-align: center;
	}
	
	

/*	Page: Locations
-------------------------------------------*/
	
	.page-locations {
		padding-bottom: 0px;
	}
		
	.page-locations .intro {
		color: #252525;
		font-size: 26px;
		line-height: 40px;
		text-align: center;
	}
	
	.locations-list {
		font-size: 0px;
		text-align: center;
	}
	
		.locations-list a {						
			display: inline-block;
			color: #ffffff;
			font-size: 24px;
			line-height: 24px;
			text-decoration: none;
			text-transform: uppercase;
			padding: 4px 12px 5px 12px;
			background: #252525;
			margin: 0 7px 14px 7px;
			-webkit-transition: all ease 0.3s;
					transition: all ease 0.3s;
		}
		
		.locations-list a.active,
		.locations-list a:hover {
			background: #21803f;
		}
		
	.page-locations .locations-list {
		margin-top: 50px;
		margin-bottom: 50px;
	}
	
	.locations-map {
		margin-bottom: 90px;
		position: relative;
	}
	
		.locations-map .map {
			width: 100%;
			height: 640px;			
		}
	
		.locations-map .infowindow {
			top: 0px;
			left: 50%;
			width: 436px;
			height: 100%;	
			color: #ffffff;
			font-size: 18px;
			line-height: 25px;		
			position: absolute;
			margin-left: -218px;
			padding: 0 32px;
			background: rgba(37, 37, 37, 0.9);
			box-sizing: border-box;
			display: none;
		}
		
			.locations-map .infowindow:after {
				content: "";
				width: 0;
				height: 0;
				top: 50%;
				left: 100%;
				margin-top: -50px;
				position: absolute;
				border-style: solid;
				border-width: 11px 0 11px 11px;
				border-color: transparent transparent transparent rgba(37, 37, 37, 0.9);
			}
			
			.locations-map .infowindow .close {
				top: 8px;
				right: 10px;
				width: 35px;
				height: 35px;
				cursor: pointer;
				color: rgba(255, 255, 255, 0.5);
				font-size: 50px;
				line-height: 25px;
				text-align: center;
				position: absolute;
				-webkit-transition: all ease 0.3s;
						transition: all ease 0.3s;
			}
			
				.locations-map .infowindow .close:hover {
					color: rgba(255, 255, 255, 1);
				}
			
			.locations-map .infowindow .details {
				display: none;
			}
			
			.locations-map .infowindow h4 {
				color: #ffffff;
				font-size: 36px;
				line-height: 40px;
				text-transform: uppercase;
				padding: 42px 0 15px 0;
			}
		
			.locations-map .infowindow p {
				padding-left: 28px;
				position: relative;
				word-break: break-all;
			}
		
			.locations-map .infowindow p + p {
				padding-top: 25px;
			}
			
				.locations-map .infowindow p i {
					left: 0px;
					width: 18px;
					color: #21803f;
					font-size: 18px;
					line-height: 25px;
					text-align: center;
					position: absolute;
				}
				
				.locations-map .infowindow p i.fa-desktop {
					font-size: 14px;
					line-height: 28px;	
				}
		
				.locations-map .infowindow p strong {
					display: block;
				}
				
				.locations-map .infowindow p a {
					color: inherit;
					text-decoration: none;
					word-break: break-all;
				}
				
				.locations-map .infowindow p a:hover {
					text-decoration: underline;
				}
				
			.locations-map .infowindow .btn {
				display: block;
				width: 204px;
				color: #ffffff;
				font-size: 20px;
				font-weight: bold;
				line-height: 20px;
				text-align: center;
				text-decoration: none;
				border: 3px solid #676767;
				box-sizing: border-box;
				padding: 12px 0px 13px 0;
				margin-top: 44px;
			}
			
				.locations-map .infowindow .btn:hover {
					border-color: #ffffff;
				}
		
	
	
/*	Page: Location Single
-------------------------------------------*/		
	
	.page-location-single {
		padding-bottom: 44px;
	}
	
	/*
	 *	Services
	 */
	.page-location-single .services {
		margin-top: 24px;
		margin-bottom: 5px;
		text-align: center;
	}
	
		.page-location-single .services img {
			height: 40px;
			display: inline-block;
			margin: 0px 17px 14px 17px;
		}
	
	
	/*
	 *	Details
	 */
	.page-location-single .location-details p {
		color: #252525;
		font-size: 26px;
		line-height: 40px;
		text-align: center;
	}
	
		.page-location-single .location-details p small {
			color: #252525;
			font-size: 16px;
			line-height: 30px;
			display: block;
		}
		
		.page-location-single .location-details p + p {
			padding-top: 18px;
		}
		
		.page-location-single .location-details p a {
			color: inherit;
			text-decoration: none;
		}
		
			.page-location-single .location-details p a:hover {
				color: #21803f;
			}
			
	.page-location-single .location-text {
		padding-top: 30px;
		text-align: center;
	}
	
	
	/*
	 *	Map
	 */
	.location-map {
		width: 100%;
		height: 400px;
		background: #eee;
	}
	
	
	/*
	 *	Gallery
	 */
	.location-gallery {
		background: #f1f1f1;
	}
	
	
	.location-gallery .swiper-slide a {
		width: 100%;
		height: auto;
		display: block;
		padding-bottom: 100%;
		background-size: cover;
		background-repeat: no-repeat;
		background-position: center center;
	}
	
	
	/*
	 *	More Locations
	 */
	.more-locations {
		padding: 75px 0 90px 0;
	} 
	 
	.more-locations h3 {
		color: #252525;
		font-family: 'Have Heart One';
		font-size: 60px;
		font-weight: 400;
		line-height: 60px;
		text-align: center;
		position: relative;
		margin-bottom: 60px;
	}
	
		.more-locations h3:before {
			content: "";
			top: 50%;
			left: 0px;
			width: 100%;
			height: 1px;
			position: absolute;
			background: #cdcdcd;
		}
	
		.more-locations h3 span {
			z-index: 2;
			position: relative;
			display: inline-block;
			padding: 0 18px;
			background: #fff;
		}
	
	
	
/*	Page: HOME
-------------------------------------------*/

	.home .hero {
		width: 100%;
		height: 998px;
		position: relative;
	}
	
		.home .hero .bg {
			top: 0px;
			left: 0px;
			width: 100%;
			height: 100%;
			position: absolute;
			background: #fdfefe url('../img/home-hero-bg.jpg') no-repeat top center;
		}
		
		.home .hero .content {
			z-index: 2;
			text-align: center;
			padding: 180px 40px 0 40px;
			position: relative;
		}
		
			.home .hero .logo {
				display: block;
				width: auto;
				height: 124px;				
				margin: 0 auto 20px auto;
			}
						
			.home .hero .title {			
				color: #ffffff;
				font-family: 'Lato';
				font-size: 140px;
				font-weight: 800;
				line-height: 140px;
				letter-spacing: -0.017em;
				text-align: center;
				text-shadow: 0px 6px 7px rgba(0, 0, 0, 0.3);			
			}
			
			.home .hero .subtitle {
				color: #ffffff;
				font-family: 'Have Heart One';
				font-size: 120px;
				font-weight: 400;
				line-height: 110px;
				text-align: center;
				text-shadow: 0px 6px 7px rgba(0, 0, 0, 0.3);
				margin-top: 7px;
			}
			
			.home .hero .btn {
				display: inline-block;
				color: #ffffff;
				font-size: 30px;				
				font-weight: bold;
				line-height: 30px;
				text-decoration: none;
				text-transform: uppercase;				
				padding: 15px 32px 16px 32px;
				margin-top: 55px;
				background: #21803f;
				-webkit-transition: all ease 0.3s;
						transition: all ease 0.3s;
			}
			
				.home .hero .btn:hover {
					background: #1c1c1c;
				}
		
		.home .hero .scroll-icon {
			left: 50%;
			bottom: -25px;
			width: 62px;
			height: 62px;
			z-index: 5;
			margin-left: -31px;
			position: absolute;
			border-radius: 50%;
			background: #21803f;
			border: 3px solid #ffffff;
		}
		
			.home .hero .scroll-icon svg {
				top: 50%;
				left: 50%;
				max-height: 37px;
				fill: #ffffff;
				opacity: 0.5;
				display: block;
				position: absolute;
				-webkit-transform: translate(-50%, -50%);
						transform: translate(-50%, -50%);
				-webkit-transition: all ease 0.3s;
						transition: all ease 0.3s;
			}
			
			.home .hero .scroll-icon:hover svg {
				opacity: 1;	
			}
	
	
	/*
	 *	About
	 */
	.home-about {
		margin-top: -172px;
		overflow: hidden;
		position: relative;
		padding-top: 305px;	
		padding-bottom: 405px;	
	}
	
		.home-about:after {
			content: "";
			width: 783px;
			height: 418px;
			right: 0px;
			bottom: 0px;
			position: absolute;
			background: url('../img/home-about-img.png') no-repeat top right;
		}
	
		.home-about .bg {
			top: 0px;
			left: 50%;
			width: 2000px;
			height: 1470px;
			position: absolute;
			-webkit-transform: translateX(-50%);
					transform: translateX(-50%);
		}
		
		.home-about .container {
			z-index: 2;
			position: relative;	
		}
		
		.home-about .head {
			text-align: center;
			margin-bottom: 40px;
		}
		
			.home-about .head .before-title {
				color: #252525;
				font-size: 60px;
				font-weight: 400;
				font-family: 'Have Heart One';
				line-height: 70px;
				text-align: center;
				overflow: hidden;
				position: relative;
				margin-bottom: 4px;
			}
			
				.home-about .head .before-title span {
					display: inline-block;
					position: relative;
				}
			
				.home-about .head .before-title span:before {
					content: "";
					width: 700px;
					height: 1px;
					top: 38px;
					right: 100%;
					margin-right: 22px;
					background: #d3d3d3;
					position: absolute;
				}
				
				.home-about .head .before-title span:after {
					content: "";
					width: 700px;
					height: 1px;
					top: 38px;
					left: 100%;
					margin-left: 22px;
					background: #d3d3d3;
					position: absolute;
				}
			
			.home-about .head .title {
				color: #252525;
				font-family: 'Lato';
				font-size: 62px;
				font-weight: 800;
				line-height: 62px;
				text-align: center;
				text-transform: uppercase;
			}
			
			.home-about .head .subtitle {
				display: inline-block;
				color: #ffffff;
				font-size: 18px;
				font-weight: bold;
				line-height: 18px;
				letter-spacing: 0.4em;
				text-decoration: none;
				text-transform: uppercase;
				background: #21803f;
				padding: 3px 0px 3px 8px;
				margin-top: 14px;			
			}
			
			.home-about .head .separator {
				margin-top: 32px;
			}
		
		.home-about .text {
			color: #555555;
			font-size: 26px;
			line-height: 40px;
			text-align: center;
			margin-bottom: 52px;
		}
		
		.home-about .buttons {
			font-size: 0px;
			text-align: center;
			margin-top: 56px;
		}
		
			.home-about .buttons a {
				width: 205px;
				font-size: 20px;
				font-weight: bold;
				line-height: 20px;
				padding: 13px 0 13px 0;
				text-decoration: none;
				display: inline-block;
			}
		
			.home-about .buttons .btn-1 {
				color: #21803f;				
				border: 3px solid #d3d3d3;
			}
			
				.home-about .buttons .btn-1:hover {
					border-color: #21803f;
				}
			
			.home-about .buttons .btn-2 {
				color: #ffffff;
				background: #21803f;
				border: 3px solid #21803f;
				margin-left: 25px;
			}
				
				.home-about .buttons .btn-2:hover {
					border-color: #1c1c1c;
					background: #1c1c1c;
				}
	
	
	/*
	 *	Services
	 */
	.home-products {
		z-index: 1;
		width: 100%;
		height: 1000px;
		overflow: hidden;
		padding-top: 185px;
		margin-top: -164px;
		position: relative;	
		box-sizing: border-box;	
	}
	
		.home-products .bg {
			top: 0px;
			left: 50%;
			width: 2000px;
			height: 1000px;
			margin-left: -1000px;
			position: absolute;
			-webkit-filter: drop-shadow( 0px 7px 10px rgba(0, 0, 0, 0.8) );
		            filter: drop-shadow( 0px 7px 10px rgba(0, 0, 0, 0.8) );
		}
		
		.home-products .container {
			z-index: 2;
			position: relative;	
		}
		
		.home-products .head {
			text-align: center;
		}
						
			.home-products .head .title {
				color: #ffffff;
				font-family: 'Lato';
				font-size: 72px;
				font-weight: 800;
				line-height: 72px;
				text-transform: uppercase;
				text-shadow: 0px 3px 3px rgba(0, 0, 0, 0.4);
			}
			
			.home-products .head .subtitle {
				display: inline-block;
				color: #ffffff;
				font-size: 18px;
				font-weight: bold;
				line-height: 18px;
				letter-spacing: 0.4em;
				text-decoration: none;
				text-transform: uppercase;
				background: #252525;
				padding: 3px 5px 3px 13px;
				margin-top: 14px;			
			}
			
			.home-products .head .separator {
				max-width: 450px;
				margin: 32px auto 0 auto;
				background-image: url('../img/separator-white.png');
			}
			
				.home-products .head .separator:before,
				.home-products .head .separator:after {
					background: rgba(255, 255, 255, 0.2);
				}
		
		.home-products .products {
			display: flex;
			justify-content: space-between;
			align-items: flex-start;
			align-content: flex-start;
			flex-wrap: wrap;
			z-index: 2;
			font-size: 0px;
			text-align: center;
			padding: 85px 10px 0 10px;
			position: relative;
		}
		
			.home-products .products a {
				display: inline-block;
				text-decoration: none;
				margin: 0 30px 38px 30px;
			}
			
				.home-products .products a .image {
					/*padding: 6px;*/
					border-radius: 50%;
					/*border: 2px dotted #ffffff;*/
					-webkit-transform: scale(1);
							transform: scale(1);
					-webkit-transition: all ease 0.3s;
							transition: all ease 0.3s;
				}
				
					.home-products .products a .image img {
						width: 160px;
						height: 160px;
						display: block;
						border-radius: 50%;
						box-shadow: 0px 3px 3px 0px rgba(0, 0, 0, 0.4);
						border: 2px dotted #ffffff;
						padding: 6px;
					}
					
					.home-products .products a:hover .image {
						-webkit-transform: scale(0.9);
								transform: scale(0.9);
					}
					
				.home-products .products a h3 {
					color: #ffffff;
					font-family: 'Lato';
					font-size: 30px;
					font-weight: 800;
					line-height: 30px;
					text-align: center;
					text-transform: uppercase;
					text-shadow: 0px 3px 3px rgba(0, 0, 0, 0.4);
					margin-top: 20px;
				}
	
	
	/*
	 *	Video
	 */
	.home-video {
		width: 100%;
		overflow: hidden;
		z-index: 0;
		padding-top: 164px;
		margin-top: -164px;
		margin-bottom: 110px;
		position: relative;
		background: url('../img/home-video-bg.jpg') no-repeat top center / cover;
	}
	
		.home-video:before {
			content: "";
			top: 0px;
			left: 50%;
			width: 2000px;
			height: 398px;
			margin-left: -1000px;
			position: absolute;
			background: url('../img/home-chocolate.png') no-repeat top left;
		}	
		
		.home-video:after {
			content: "";
			width: 100%;
			height: 156px;
			left: 0px;
			bottom: 0px;
			position: absolute;
			background: #ffffff;	
		}
		
		.home-video .container {
			z-index: 2;
			position: relative;	
		}
		
		.home-video .head {
			text-align: center;
			margin-top: 68px;
			margin-bottom: 40px;
		}
		
			.home-video .head .before-title {
				color: #ffffff;
				font-size: 60px;
				font-weight: 400;
				font-family: 'Have Heart One';
				line-height: 70px;
				text-align: center;
				overflow: hidden;
				position: relative;
				margin-bottom: -1px;
			}
			
				.home-video .head .before-title span {
					display: inline-block;
					position: relative;
				}
			
				.home-video .head .before-title span:before {
					content: "";
					width: 700px;
					height: 1px;
					top: 38px;
					right: 100%;
					margin-right: 22px;
					background: rgba(255, 255, 255, 0.2);
					position: absolute;
				}
				
				.home-video .head .before-title span:after {
					content: "";
					width: 700px;
					height: 1px;
					top: 38px;
					left: 100%;
					margin-left: 22px;
					background: rgba(255, 255, 255, 0.2);
					position: absolute;
				}
			
			.home-video .head .title {
				color: #ffffff;
				font-family: 'Lato';
				font-size: 62px;
				font-weight: 800;
				line-height: 62px;
				text-align: center;
				text-transform: uppercase;
			}
			
			.home-video .head .subtitle {
				display: inline-block;
				color: #ffffff;
				font-size: 18px;
				font-weight: bold;
				line-height: 18px;
				letter-spacing: 0.4em;
				text-decoration: none;
				text-transform: uppercase;
				background: #21803f;
				padding: 3px 0px 3px 8px;
				margin-top: 14px;			
			}
			
			.home-video .head .separator {
				margin-top: 32px;
			}
			
				.home-video .head .separator:before,
				.home-video .head .separator:after {
					background: rgba(255, 255, 255, 0.2);
				}
		
		.home-video svg {
			width: 2000px;
			height: 164px;
			left: 50%;
			bottom: 155px;
			margin-left: -1000px;
			position: absolute;
		}


		
/*	Age Verification
-------------------------------------------*/

	.age-popup {		
		top: 0px;
		left: 0px;
		width: 100%;
		height: 100vh;
		position: fixed;
		background: #31361d;
		z-index: 99999;
	}
	
		.age-popup .image {
			top: 0px;
			left: 0px;
			width: 100%;
			height: 100%;
			z-index: 1;
			position: absolute;
			background: url('../img/age-verify-bg.jpg') no-repeat top center / cover;
		}
		
		.age-popup .content {
			top: 50%;
			right: calc(50% - 20px);
			z-index: 2;
			padding-left: 30px;
			text-align: center;
			position: absolute;
			-webkit-transform: translateY(-50%);
					transform: translateY(-50%);
		}
		
			.age-popup .content img {
				width: auto;
				max-height: 124px;
				margin: 0 auto;
				display: block;
			}
			
			.age-popup .content img.white {
				display: none;
			}
			
			.age-popup .content h5 {
				color: #ffffff;
				font-family: 'Have Heart One';
				font-size: 120px;
				font-weight: 400;
				line-height: 120px;
				text-shadow: 3px 5px 7px rgba(0, 0, 0, 0.3); 
				padding: 55px 0px 60px 0px;
			}
			
			.age-popup .content p {
				color: #ffffff;
				font-size: 15px;
				line-height: 18px;
			}
			
			.age-popup .btn {
				width: 264px;
				color: #ffffff;
				font-size: 30px;
				font-weight: 700;
				line-height: 30px;
				text-transform: uppercase;
				background: #21803f;
				margin: 30px auto 0 auto;
				padding: 15px 0;
				cursor: pointer;
			}	
	
		

/*	Responsive
-------------------------------------------*/

@media (max-width: 1910px) and (min-width: 1751px)
{
	.home-products .products a { margin-left: 20px; margin-right: 20px; }
}

@media (max-width: 1750px)
{
	.home-products { padding-top: 150px; }
	.home-products .products { max-width: 960px; margin: 0 auto; padding-top: 60px; }
}

@media (max-width: 1280px)
{
	.page-contact .info li + li { margin-left: 30px; }
	.promo-text { display: none !important }
	.age-popup .image { background-position: 35% top; }
	.age-popup .content { right: calc(50% - 20px); }
	.age-popup .content h5 { font-size: 100px; line-height: 100px; padding-top: 35px; padding-bottom: 40px; }
}

@media (max-width: 1180px)
{
	header .logo img { max-height: 120px; }
	header .top span:before { border-right-width: 120px; }
	header .top span:after { border-left-width: 120px; }
	
	.page-contact .info li { display: block; }
	.page-contact .info li + li { margin-left: 0px; margin-top: 18px; }
	
	.product-item .circle .content p { font-size: 19px; line-height: 26px; }
	.product-item .circle .content .btn { font-size: 17px; line-height: 17px; width: 130px; margin-top: 20px; padding: 10px 0px 11px 0px; }
	
	.page-product .details .images .main { width: 400px; height: 400px; }
	.page-product .details .info { min-height: 400px; width: calc(100% - 500px); }
	.page-product .details .info h1 { font-size: 52px; line-height: 61px; } 
	.page-product .details .info ul { font-size: 26px; }
}
	
@media (max-width: 1100px)
{	
	.page-header .title { font-size: 120px; line-height: 120px; top: 160px; }
	
	.home .hero { height: 910px; }
	.home .hero .content { padding-top: 200px; }
	.home .hero .logo { height: 104px; }
	.home .hero .title { font-size: 120px; line-height: 120px; }
	.home .hero .subtitle { font-size: 100px; line-height: 90px; }
	.home .hero .btn { font-size: 28px; }
	
	.home-about { padding-top: 250px; }
}

@media (max-width: 1023px)
{
	.container { padding: 0px 20px; }
	.page-title { font-size: 50px; line-height: 54px; }
	.page-wrapper { padding-bottom: 80px; }
	
	header .top { background: #21803f; }
	header .top span { background-size: 26px 26px; }
	header .top span:before { display: none; }
	header .top span:after { display: none; }
	header .container { padding: 0 20px; }
	header .logo { margin-top: 15px; }
	header .logo img { max-height: 110px; }
	
	header nav { position: fixed; opacity: 0; visibility: hidden; overflow: scroll; margin-top: 0px; top: 0px; left: 0px; width: 100%; bottom: 0px; background: rgba(33, 128, 63, 0.9); -webkit-transition: opacity ease 0.3s; transition: opacity ease 0.3s; box-sizing: border-box;  display: -webkit-box; display: -ms-flexbox; display: -webkit-flex; display: flex; -webkit-box-pack: center; -ms-flex-pack: center; -webkit-justify-content: center; justify-content: center; -webkit-box-align: center; -ms-flex-align: center; -webkit-align-items: center; align-items: center; }
	header nav.show { opacity: 1; visibility: visible; }	
	header nav .menu-wrapper { width: 100%; padding: 30px 0; box-sizing: border-box; }
	header nav ul { text-align: center; }
	header nav ul li { display: block; float: none; margin-left: 0px !important; }
	header nav ul li + li { margin-top: 6px; }
	header nav ul li:hover > a { color: #ffffff; }
	header nav ul li a { display: block; color: #ffffff; font-size: 50px; line-height: 50px; padding: 10px 0; }
	header nav ul li a:hover { background: #ffffff; color: #21803f; }
	header nav .sub-menu { display: none; opacity: 1; visibility: visible; position: static; background: none; -webkit-transform: none; transform: none; -webkit-transition: none; transition: none; }
	header nav .sub-menu:before { display: none; }
	header nav .sub-menu:after { display: none; }
	header nav .sub-menu li a { font-size: 25px; line-height: 25px; padding: 12px 0; }
	header nav .close { display: block; }
	header .menu-trigger { display: block; }
	
	.page-header { height: 469px; }
	.page-header .title { top: 200px; left: 20px; right: 20px; font-size: 100px; line-height: 100px; }
	.page-header .leaf { -webkit-transform: scale(0.8); transform: scale(0.85); -webkit-transform-origin: bottom center; transform-origin: bottom center; }
	
	footer .col { width: calc(50% - 20px); }
	footer .col + .col { margin-left: 40px; }
	footer .col:nth-child(3) { margin-left: 0px; clear: both; padding-top: 30px; }
	footer .col:nth-child(4) { padding-top: 30px; }
	
	.post .head h2 { font-size: 50px; line-height: 54px; }
	.post .head .date { margin-top: 10px; }	
	.post.small { width: 48%; }
	
	.post-head .date { margin-top: 10px; }
	
	.additional-posts { padding: 50px 0 60px 0; }
	.additional-posts .post { width: calc(50% - 20px); }
	.additional-posts .post + .post { margin-left: 40px; }
	.additional-posts .post:nth-child(3) { display: none; }		
	
	.page-contact .info li a { font-size: 24px; }
	.page-contact .info li a i { font-size: 27px; }
	.page-contact .gform_wrapper .gform_title { font-size: 38px; margin-top: 50px; margin-bottom: 45px; }
	.page-contact .gform_confirmation_wrapper h3 { font-size: 38px; margin-top: 50px; }
		
	.page-products { padding-bottom: 40px; }
	.page-products .filters { margin-bottom: 65px; }
	.page-products .gutter-sizer { width: 6%; }	
	.product-item { width: 47%; margin-bottom: 60px; }
	
	.page-product .details .info { float: none; width: 100%; display: block; min-height: 0px; text-align: center; margin-bottom: 60px; }
	.page-product .details .info h1 { font-size: 50px; line-height: 54px; }
	.page-product .details .images { float: none; width: 100%; margin-right: 0px; }
	.page-product .details .images .main { margin: 0 auto; }	
	.page-product .description { margin-top: 70px; }		
	
	.additional-products { padding: 60px 0 70px 0; margin-bottom: 90px; }
	.additional-products .product-item:nth-child(3) { display: none; }
	
	.page-wrapper.page-locations { padding-bottom: 0px; }
	.page-location-single { padding-bottom: 70px; }
	
	.home .hero { height: 780px; }
	.home .hero .bg { background-size: cover; }
	.home .hero .content { padding-left: 20px; padding-right: 20px; }
	.home .hero .logo { height: 80px; }
	.home .hero .title { font-size: 100px; line-height: 100px; }
	.home .hero .subtitle { font-size: 80px; line-height: 70px; }
	.home .hero .btn { font-size: 26px; }
	
	.home-about .head .subtitle { max-width: 540px; }
	
	.home-products { padding-top: 135px; }
	.home-products .head .title { font-size: 62px; line-height: 62px; }
	.home-products .head .subtitle { max-width: 400px; }
	.home-products .products { max-width: 960px; margin: 0 auto; padding-top: 60px; }
	.home-products .products a { margin-left: 20px; margin-right: 20px; margin-bottom: 50px; }
	.home-products .products a .image img { width: 125px; height: 125px;  }
	.home-products .products a h3 { /*font-size: 26px;*/font-size: 18px;}
	
	.age-popup .image { background-position: 45% top; }
	.age-popup .image:before { content: ""; top: 0px; left: 0px; width: 100%; height: 100%; background: rgba(0, 0, 0, 0.2); position: absolute; }
	.age-popup .content { left: 40px; right: 40px; padding-left: 0px; }
	.age-popup .content img.black { display: none; }
	.age-popup .content img.white { display: block; }
	
	.banners { padding: 60px 0 80px 0; }
	.banners .leaf { display: none; }
}

@media (max-width: 767px)
{
	.fancybox-content { width: 90% !important; }
	.post .image { height: 300px; }
	
	.post.small { width: 100%; }
	.post.small .image { height: 300px; }
	.page-blog .mobile-separator { display: block; }
	.page-blog .mobile-separator + .desktop-separator { display: none; }
	
	.additional-posts { margin-bottom: 50px; }
	.additional-posts .post { width: 100%; }
	.additional-posts .post + .post { margin-left: 0px; padding-top: 40px; margin-top: 40px; border-top: 1px solid #e1e1e1; }
	.additional-posts .post:nth-child(3) { display: block; }
	
	.general-content blockquote { background-size: 70px auto; background-position: 35px 35px; padding-left: 140px; padding-right: 40px; }
	.general-content blockquote p { font-size: 27px; line-height: 37px; }
	
	.locations-map { display: none; }
	.page-wrapper.page-locations { padding-bottom: 20px; }
	
	.location-map { height: 300px; }
	.more-locations { padding: 65px 0 65px 0; }
	
	.home-about .head .subtitle { max-width: 540px; }
	
	.home-products { padding-top: 90px; height: 1100px; }
	.home-products .bg { height: 1100px; box-sizing: border-box; }
	.home-products .products { padding-top: 50px; }
	.home-products .products a { margin-bottom: 40px; }
	.home-products .products a h3 { /*font-size: 24px;*/font-size: 18px; }
	
	.home-video { margin-bottom: 65px; }
	.home-video:after { height: 100px; }
	.home-video svg { bottom: 100px; }
}

@media (max-width: 680px)
{
	.page-wrapper.page-products { padding-bottom: 10px; }
	.page-products .filters { margin: 40px 0 50px 0; }
	
	.product-item { width: 100%; max-width: 320px; position: relative !important; top: auto !important; left: auto !important; margin: 0 auto 50px auto; }
	.product-item h2 { margin-top: 26px; }	
	
	.additional-products { padding: 40px 0 60px 0; margin-bottom: 50px; }
	.additional-products h3 { margin-bottom: 50px; }
	.additional-products .product-item { float: none; margin: 0 auto !important; }
	.additional-products .product-item:nth-child(3) { display: block; }
	.additional-products .product-item + .product-item { margin-top: 45px !important; }
}

@media (max-width: 640px)
{
	header .top { height: auto; }
	header .top span { display: block; background: transparent; text-align: center; padding-left: 0px; }
	
	.page-header { height: 462px; }
	.page-header .title { top: 200px; left: 20px; right: 20px; font-size: 100px; line-height: 100px; }
	.page-header .leaf { -webkit-transform: scale(0.8); transform: scale(0.85); -webkit-transform-origin: bottom center; transform-origin: bottom center; }
	
	.general-content p.intro { font-size: 22px; line-height: 31px; }
	.general-content .alignleft { float: none; width: 100% !important; max-width: 100%; margin-right: 0px; margin-bottom: 0px; }
	.general-content .alignright { float: none; width: 100% !important; max-width: 100%; margin-left: 0px; margin-bottom: 0px; }
	
	.age-popup .image:before { background: rgba(0, 0, 0, 0.7); }
	.age-popup .content { left: 20px; right: 20px; padding-left: 0px; }
	.age-popup .content h5 { font-size: 70px; line-height: 70px; }
	.age-popup .btn { font-size: 27px; }
}

@media (max-width: 600px)
{
	.page-wrapper { padding-top: 45px; padding-bottom: 55px; }
	.page-title { font-size: 44px; line-height: 48px; }
	
	header .top span { font-size: 16px; }
	
	.page-header { height: 381px; }
	.page-header .title { font-size: 58px; line-height: 58px; }
	.page-header .leaf { -webkit-transform: scale(0.6); transform: scale(0.6); -webkit-transform-origin: bottom center; transform-origin: bottom center; }		
	
	footer .col { width: 100%; margin-left: 0px !important; }
	footer .col:first-child { display: none; }
	footer .col:nth-child(2) { padding-top: 0px !important; }
	footer .col h4 { text-align: left; margin-bottom: 20px; }
	footer .col + .col { padding-top: 40px; }
	footer .social { margin-bottom: 45px; }
		
	.post .head h2 { font-size: 44px; line-height: 48px; }
	.post .head .date { font-size: 15px; }
	
	.post.small .head h2 { font-size: 44px; line-height: 48px; }
	.post.small .head .date { margin-top: 10px; }	
	
	.post-head .date { font-size: 15px; }
	
	.additional-posts { margin-bottom: 60px; }
	.additional-posts h4 { font-size: 50px; line-height: 54px; }
	.additional-posts h4 span:before { top: 32px; }
	.additional-posts h4 span:after { top: 32px; }	
	
	.general-content h1 { font-size: 36px; }
	.general-content blockquote { background-size: 50px auto; background-position: center 25px; padding: 80px 20px 25px 20px; }
	.general-content blockquote p { font-size: 24px; line-height: 33px; text-align: center; }
		
	.page-contact .info { margin-bottom: 45px; }
	.page-contact .info li a { font-size: 21px; }
	.page-contact .info li a i { font-size: 25px; }
	.page-contact .gform_wrapper .gform_title { font-size: 33px; line-height: 36px; margin-top: 45px; margin-bottom: 40px; }
	.page-contact .gform_wrapper .gfield { width: 100% !important; margin-bottom: 20px; }
	.page-contact .gform_confirmation_wrapper h3 { font-size: 33px; line-height: 36px; margin-top: 45px; }
	
	.page-product .details .images .main { width: 280px; height: 280px; box-sizing: border-box; }
	.page-product .details .images .thumbnails { width: 272px; }
	.page-product .details .images .thumbnails .swiper-slide { width: 80px !important; height: 80px; border-width: 2px; }	
	.page-product .details .images .thumbnails .swiper-button-prev i, .page-product .details .images .thumbnails .swiper-button-next i { line-height: 80px; }	
	.page-product .details .info { margin-bottom: 40px; }
	.page-product .details .info h1 { font-size: 44px; line-height: 48px; }
	.page-product .details .info ul { font-size: 24px; }
	.page-product .details .info ul li span { background-position: 0px 6px; }
	.page-product .details .info ul li + li { margin-top: 15px; }
	.page-product .description { margin-top: 55px; }
	
	.locations-list a { font-size: 21px; line-height: 21px; }
	
	.home .hero { height: auto; }
	.home .hero .bg { background-size: auto 120%; }
	.home .hero .content { padding-top: 210px; padding-bottom: 150px; }
	.home .hero .logo { height: 70px; }
	.home .hero .title { font-size: 62px; line-height: 62px; }
	.home .hero .subtitle { font-size: 55px; line-height: 65px; }
	.home .hero .btn { font-size: 21px; line-height: 24px; margin-top: 30px; }
	
	.home-about { padding-bottom: 330px; }
	.home-about:after { background-size: cover; height: 360px; right: -70px; }
	.home-about .text { font-size: 23px; line-height: 34px; margin-bottom: 46px; }
	.home-about .buttons { margin-top: 35px; }	
	.home-about .buttons a { width: 170px; font-size: 18px; line-height: 18px; }
	
	.banners { padding: 30px 0 50px 0; }
}

@media (max-width: 565px)
{
	.home-video { padding-top: 174px; }
	.home-video:before { top: 30px; }
	.home-products { height: 1325px; }
	.home-products .bg { height: 1325px; }
}

@media (max-width: 480px)
{
	.page-wrapper { padding-top: 40px; padding-bottom: 50px; }
	.page-title { font-size: 38px; line-height: 40px; }
	.page-content { margin-top: 25px; }
	
	footer .social h4 { font-size: 50px; line-height: 60px; margin-top: 0px; }
	footer .social h4 span:before { top: 32px; }
	footer .social h4 span:after { top: 32px; }
	footer .social ul { margin: 25px 0 35px 0; }
	footer .social ul li a i { font-size: 28px; }
	
	.instagram-slider .latest { font-size: 45px; line-height: 55px; }
	.instagram-slider .latest span:before { top: 32px; margin-right: 20px; }
	.instagram-slider .latest span:after { top: 32px; margin-left: 20px; }
	.instagram-slider .title { font-size: 46px; line-height: 48px; padding-top: 4px; }
	.instagram-slider .tag { font-size: 15px; line-height: 17px; letter-spacing: 0.3em; padding-right: 3px; }
	
	.separator::before, .separator::after { width: calc(50% - 20px); }
	
	.post .head { padding-bottom: 30px; }
	.post .head h2 { font-size: 38px; line-height: 40px; }
	.post .head .date { font-size: 14px; letter-spacing: 0.3em; }
	.post .image { height: 180px; margin-bottom: 25px; }
	.post .more { font-size: 18px; line-height: 19px; }
	
	.post.small .head { padding-bottom: 30px; }
	.post.small .head h2 { font-size: 38px; line-height: 40px; }
	.post.small .head .date { font-size: 14px; letter-spacing: 0.3em; }
	.post.small .image { height: 180px; margin-bottom: 25px; }
	
	.page-blog .separator { margin: 40px 0; }
	
	.post-head { padding-bottom: 30px; }
	.post-head .date { font-size: 14px; letter-spacing: 0.3em; }
	.post-image { margin-bottom: 25px; }		
	
	.additional-posts { margin-bottom: 40px; }
	.additional-posts .post h2 { font-size: 27px; }
	.additional-posts .date { font-size: 13px; }
	.additional-posts .image { margin-top: 30px; height: 170px; }
	.additional-posts .excerpt { font-size: 19px; line-height: 26px; }
	
	.general-content { font-size: 18px; line-height: 26px; }
	.general-content p { padding-top: 25px; }
	.general-content h1 { font-size: 32px; line-height: 36px; padding-top: 40px; }
	.general-content h2 { font-size: 26px; padding-top: 36px; }
	.general-content h2 + p { padding-top: 15px; }
	.general-content h3 { font-size: 25px; line-height: 32px; }
	.general-content p.intro { padding-top: 22px; }		
	
	.page-contact .info li + li { margin-top: 24px; }
	.page-contact .info li a { font-size: 19px; line-height: 23px; }
	.page-contact .info li a i { display: block; font-size: 28px; margin-bottom: 10px; }
	.page-contact .gform_wrapper input[type="text"], .page-contact .gform_wrapper textarea { font-size: 17px; line-height: 20px; }
	.page-contact .gform_wrapper .gform_button { font-size: 19px; width: 100%; }	
	
	.page-products .filters ul { padding: 0 4px; }
	.page-products .filters ul li { padding: 5px 10px; font-size: 22px; }
	
	.page-product .details .info h1 { font-size: 38px; line-height: 40px; }
	.page-product .details .info ul { font-size: 21px; }
	.page-product .details .info ul li + li { margin-top: 8px; }
	.page-product .details .images .thumbnails { margin-top: 20px; }
	.page-product .description { margin-top: 40px; }
	
	.additional-products h3 { font-size: 52px; margin-bottom: 45px; }
	.additional-products h3 span:before { top: 32px; margin-right: 20px; }
	.additional-products h3 span:after { top: 32px; margin-left: 20px; }
	
	.page-locations .locations-list { margin: 35px 0 25px 0; }
	.locations-list a { font-size: 19px; line-height: 19px; margin: 0px 5px 10px 5px; padding: 4px 9px 5px 9px; }
	
	.location-map { height: 250px; }
	
	.more-locations { padding: 45px 0px 55px 0px; }
	.more-locations h3 { font-size: 52px; margin-bottom: 45px; }
	.more-locations h3 span:before { top: 32px; margin-right: 20px; }
	.more-locations h3 span:after { top: 32px; margin-left: 20px; }
	
	.home-about { padding-top: 230px; padding-bottom: 260px; }
	.home-about:after { height: 200px; right: -240px; bottom: 120px; }	
	.home-about .head { margin-bottom: 30px; }
	.home-about .head .before-title { font-size: 47px; line-height: 47px; }
	.home-about .head .before-title span:before { top: 30px; margin-right: 20px; }
	.home-about .head .before-title span:after { top: 30px; margin-left: 20px; }
	.home-about .head .title { font-size: 45px; line-height: 48px; padding-top: 4px; }
	.home-about .head .subtitle { font-size: 15px; line-height: 17px; letter-spacing: 0.3em; padding-right: 3px; }
	.home-about .text { font-size: 19px; line-height: 28px; margin-bottom: 30px; }
	.home-about .buttons { margin-top: 30px; max-width: 280px; margin-left: auto; margin-right: auto; }
	.home-about .buttons a { float: left; width: 134px; font-size: 17px; line-height: 17px; box-sizing: border-box; }
	.home-about .buttons .btn-2 { margin-left: 12px; }
	
	.home-products { padding-top: 60px; height: 1230px; }
	.home-products .bg { height: 1230px; }
	.home-products .head .before-title { font-size: 47px; line-height: 47px; }
	.home-products .head .before-title span:before { top: 30px; margin-right: 20px; }
	.home-products .head .before-title span:after { top: 30px; margin-left: 20px; }
	.home-products .head .title { font-size: 45px; line-height: 48px; padding-top: 4px; }
	.home-products .head .subtitle { font-size: 15px; line-height: 17px; letter-spacing: 0.3em; padding-right: 3px; }
	.home-products .products { padding-top: 40px; max-width: 330px; margin-left: auto; margin-right: auto; }
	.home-products .products a { margin-left: 0px; margin-right: 0px; margin-bottom: 35px; /*float: left;*/ }
	.home-products .products a .image img { width: 120px; height: 120px; }
	.home-products .products a h3 { font-size: 21px; margin-top: 16px; }
	/*.home-products .products a:nth-child(even) { float: right; }*/
	
	.home-video .head .before-title { font-size: 47px; line-height: 47px; }
	.home-video .head .before-title span:before { top: 30px; margin-right: 20px; }
	.home-video .head .before-title span:after { top: 30px; margin-left: 20px; }
	.home-video .head .title { font-size: 45px; line-height: 48px; padding-top: 4px; }
	.home-video .head .subtitle { font-size: 15px; line-height: 17px; letter-spacing: 0.3em; padding-right: 3px; }
	
/* 	.mobile-banner { display: block; } */
}

@media (max-width: 479px)
{
	header .top span { font-size: 14px; line-height: 16px; max-width: 240px; margin: 0 auto; padding: 5px 0px 7px 0px; }
	header .logo img { max-height: 95px; }
	
	.page-locations .intro { font-size: 22px; line-height: 32px; }
	.page-products .intro { font-size: 22px; line-height: 32px; }
	
	.home .hero .bg { background-size: auto 120%; }
	.home .hero .content { padding-top: 190px; padding-bottom: 110px; }
	.home .hero .logo { height: 48px; display: none; }
	.home .hero .title { font-size: 55px; line-height: 55px; }
	.home .hero .subtitle { font-size: 44px; line-height: 50px; }
	.home .hero .btn { font-size: 18px; line-height: 22px; margin-top: 30px; }		
	
	.home-video { margin-bottom: 50px; }	
	
	.age-popup .content h5 { font-size: 50px; line-height: 50px; padding: 35px 0; }
	.age-popup .btn { font-size: 23px; padding: 12px 0; }
}

@media (max-width: 400px)
{
	.page-header .bg { background-position: 37% top; }		
	.page-wrapper { padding-top: 35px; }
	
	.page-products .filters ul { padding: 0 6px; }
	.page-products .filters ul li { padding: 5px 6px; font-size: 20px; }
	
	.product-item .circle .content p { font-size: 17px; line-height: 24px; }
	.product-item .circle .content .btn { font-size: 15px; line-height: 15px; margin-top: 12px; }
	
	.page-product .details .images .thumbnails { width: 176px; }
	
	.page-location-single { padding-bottom: 35px; }
	.page-location-single .services { margin-bottom: 10px; }
	.page-location-single .location-details p { font-size: 23px; line-height: 32px; }
	
	.home-video:after { height: 71px; }
	.home-video svg { bottom: 70px; }
}

@media (max-width: 360px)
{
	.page-title { font-size: 36px; line-height: 38px; }
	
	.page-header { height: 340px; }
	.page-header .title { font-size: 52px; left: 5px; right: 5px; }
	.page-header .leaf {opacity: 0.95; }		
}

@media (max-width: 340px)
{
	.home-products { height: 1265px; }
	.home-products .bg { height: 1265px; }
}

@media (max-width: 400px), (max-height: 570px) and (max-width: 1023px)
{	
	header nav ul li a { font-size: 35px; line-height: 35px; padding: 6px 0px 7px 0px; }
	header nav .sub-menu li a { font-size: 20px; line-height: 20px; padding: 8px 0; }
}

@media (max-height: 440px)
{
	header nav .close { top: 5px; right: 5px; }
	header nav ul li a { font-size: 28px; line-height: 28px; padding: 6px 0px 7px 0px; }
	header nav ul li a:hover { background: none; color: #ffffff; }
}