/*
	Theme Name: Rockport Facility - 2024
	Theme URI: http://www.illuminage.com/
	Author: Elly Cabral
	Version: 2024.10.23
	Author URI: http://www.illuminage.com/
	Description: IlluminAge Base Theme. This theme was built in 2023 using HTML5 and CSS3. It is fully responsive, adjusting to various screen sizes and optimizing the view appropriately. It is also ADA compliant up to Level AA and WCAG 2.1 standards.
*/

/* FONTS */
	@import url('https://fonts.googleapis.com/css2?family=Lato:ital,wght@0,300;0,400;0,700;1,300;1,400;1,700&family=Roboto+Slab:wght@100..900&display=swap');
	/*
		font-family: "Lato", sans-serif;
		font-family: "Roboto Slab", serif;
	*/

/* GENERAL */
	body {
		font: normal 400 20px/30px 'Lato', sans-serif;
		color: #373737;
		padding: 0;
		margin: 0;
		background: #f4f4f4;
	}
	p {
		font: normal 400 1em/1.5em 'Lato', sans-serif;
		padding: 0 0 15px 0;
		margin: 0;
		color: #373737;
	}
	h1, h2, h3, h4, h5, h6 {
		font-family: 'Roboto Slab', serif;
		font-weight: 700;
		line-height: 1.2em;
		margin: 0;
	}
	h1 {
		color: #373737;
		font-size: 3em;
		padding: 25px 0 20px 0;
	}
	h2 {
		color: #373737;
		font-size: 1.8em;
		padding: 25px 0 20px 0;
	}
	h3 {
		color: #373737;
		font-size: 1.5em;
		padding: 20px 0 18px 0;
	}
	h4 {
		color: #373737;
		font-size: 1.2em;
		padding: 20px 0 18px 0;	
	}
	h5 {
		color: #373737;
		font-size: 1.1em;
		padding: 18px 0 15px 0;
	}
	h6 {
		color: #373737;
		font-size: 1em;
		padding: 18px 0 15px 0;
	}
	a {
		color: #519a51;
		text-decoration: underline;
	}
	a:hover {
		color: #8ecb65;
		text-decoration: none;
	}
	.button,
	.wp-block-button .wp-block-button__link {
		font: normal 400 0.7em/1em 'Lato', sans-serif;
		padding: 20px 30px;
		letter-spacing: 0.16em;
		text-transform: uppercase;
		display: inline-block;
		cursor: pointer;
		text-decoration: none;
		border-radius: 26px;
		background: #8ecb65;
		color: #fff;
		-webkit-transition: all .25s ease;
		-moz-transition: all .25s ease;
		-o-transition: all .25s ease;
		transition: all .25s ease;
	}
	.button:hover,
	.wp-block-button .wp-block-button__link:hover {
		background: #519a51;
		color: #fff;
		-webkit-transition: all .25s ease;
		-moz-transition: all .25s ease;
		-o-transition: all .25s ease;
		transition: all .25s ease;
	}
	ul, ol {
		margin: 0 0 20px 20px;
	}
	ul ul, ul ol,
	ol ol, ol ul {
		margin-bottom: 0;
	}
	.wp-block-separator,
	hr {
		border-top: 0;
		border-left: 0;
		border-right: 0;
		border-bottom: 1px solid #d4d4d4;
	}
	.home hr {
		max-width: 1200px;
		margin: 0 auto;
	}
	header .main-wrap .main.wrap,
	header .top-wrap,
	#hero .info,
	#hero .ill_hero_slider .controls_container,
	.contact-form-wrap,
	.bottom-wrap,
	.copyright {
		max-width: 1200px;
	}
	
/* HEADER */
	header { position: relative; z-index: 100; width: 100%; transition: .35s all ease-out; }
	#logo { background: none!important;}
	#logo h2 { padding: 0;line-height: 0; }
	#logo a { display: block; width: 100%; height: 100%; }
	header {
		background: #fff;
	}
	.home header {
		background: none;
	}
	header .top-wrapper {
		width: 100%;
		clear: both;
		background: #519a51;
	}
	header .top-wrap {
		width: 90%;
		display: flex;
		flex-direction: row;
		margin: 0 auto;
	}
	header .top-wrap .acc-tools {
		text-align: right;
		display: inline-block;
	}
	header .main-wrap {
		width: 100%;
		clear: both;
		display: block;
	}
	header .main-wrap::after {
		content: " ";
		display: block;
		width: 100%;
		clear: both;
		overflow: hidden;
	}
	header .main-wrap .main.wrap {
		width: 90%;
		display: flex;
		flex-direction: row;
		justify-content: space-between;
		margin: 0 auto;
	}
	header #logo {
		padding: 0;
		margin: -20px 0 0 0;
		width: auto;
		margin-right: 10px!important;
	}
	header #logo img {
		width: 100%;
		max-width: 300px;
		height: auto;
	}
	header.stick { 
		position: sticky; 
		top:0; 
		background: rgba(255, 255, 255, .8);
		box-shadow: 0 4px 2px -2px rgba(0, 0, 0, .15); 
	}
	header.stick #logo {
		padding: 5px 0;
	}

/* MENU - PRIMARY */
	/* Primary Base */
	nav .menu-primary-menu-container { width: 100%; }
	nav ul, ul.menu { padding: 0; margin: 0; list-style: none;}
	nav ul li, ul.menu li { display: inline-block; position: relative; padding: 0; list-style: none; -moz-text-size-adjust: none; -ms-text-size-adjust: none; -webkit-text-size-adjust: none; }
	nav ul li a, ul.menu li a { display: block; text-decoration: none; }	
	nav ul li:hover a, nav ul li.current-menu-item a, nav ul li.current-menu-ancestor a, nav ul li.current_page_parent a, nav ul li ul.sub-menu, 
	ul.menu li:hover a, ul.menu li.current-menu-item a, ul.menu li.current-menu-ancestor a, ul.menu li.current_page_parent a, ul.menu li ul.sub-menu { outline: none; }
	/* 2nd level nav */
	nav ul li li, ul.menu li li { padding: 0; }
	nav ul li ul.sub-menu, ul.menu li ul.sub-menu { left: -9999px; position: absolute; opacity: 0; min-width: 200px; }
	nav ul li:hover ul.sub-menu, nav ul li.active ul.sub-menu, nav ul li a:focus + ul.sub-menu,
	ul.menu li:hover ul.sub-menu, ul.menu li.active ul.sub-menu, ul.menu li a:focus + ul.sub-menu { left: auto; opacity: 1; z-index: 9999; }
	nav ul li.right-submenu:hover ul.sub-menu, nav ul li:last-child:hover ul.sub-menu, nav ul li.active:last-child ul.sub-menu, nav ul li a:last-child:focus + ul.sub-menu,
	ul.menu li.right-submenu:hover ul.sub-menu, ul.menu li:last-child:hover ul.sub-menu, ul.menu li.active:last-child ul.sub-menu, ul.menu li a:last-child:focus + ul.sub-menu { left: auto; right: 0; }
	nav ul li ul.sub-menu li, ul.menu li ul.sub-menu li { display: block; height: auto; }
	/* 3rd level nav */
	nav ul li ul.sub-menu li ul.sub-menu, ul.menu li ul.sub-menu li ul.sub-menu { left: -9999em; top: 0; }
	nav ul li ul.sub-menu li:hover ul.sub-menu, ul.menu li ul.sub-menu li:hover ul.sub-menu { left: 100%; opacity: 1; }
	#primary {
		width: auto!important;
		max-width: fit-content!important;
	}
	.primary_nav {
		display: flex;
		height: 100%;
		align-items: center;
	}
	nav ul, ul.menu {
		display: flex;
		flex-direction: row;
		justify-content: space-between;
	}
	nav ul li a, ul.menu li a {
		color: #519a51;
		font: normal 400 1em/1em 'Lato', sans-serif;
		text-decoration: none;
		padding: 10px;
		margin: 0;
	}
	nav ul li:hover > a, 
	nav ul li.current-menu-item > a, 
	nav ul li.current-menu-ancestor > a, 
	nav ul li.current_page_parent > a, 
	ul.menu li:hover > a, 
	ul.menu li.current-menu-item > a, 
	ul.menu li.current-menu-ancestor > a, 
	ul.menu li.current_page_parent > a {
		color: #8ecb65;
	}
	.home nav ul li a, .home ul.menu li a {
		color: #fff;
	}
	nav ul li.button a, ul.menu li.button a {
		padding: 15px 30px;
		margin: 0;
		color: #fff;
	}
	nav ul li ul.sub-menu, ul.menu li ul.sub-menu {
		background: #fff;
		display: block;
		border-radius: 0 0 10px 10px;
	}
	nav ul li ul.sub-menu li a,
	ul.menu li ul.sub-menu li a {
		color: #519a51;
		margin: 0;
		padding: 15px;
		font-size: 0.9em;
	}
	nav ul li ul.sub-menu li:hover > a, 
	nav ul li ul.sub-menu li.current-menu-item > a, 
	nav ul li ul.sub-menu li.current-menu-ancestor > a, 
	nav ul li ul.sub-menu li.current_page_parent > a, 
	ul.menu li ul.sub-menu li:hover > a, 
	ul.menu li ul.sub-menu li.current-menu-item > a, 
	ul.menu li ul.sub-menu li.current-menu-ancestor > a, 
	ul.menu li ul.sub-menu li.current_page_parent > a {
		color: #8ecb65;
	}
	nav ul li ul.sub-menu li:last-child a,
	ul.menu li ul.sub-menu li:last-child a {
		border-radius: 0 0 10px 10px;
	}
	nav ul li ul.sub-menu li:hover > a, 
	nav ul li ul.sub-menu li.current-menu-item > a, 
	nav ul li ul.sub-menu li.current-menu-ancestor > a, 
	nav ul li ul.sub-menu li.current_page_parent > a, 
	ul.menu li ul.sub-menu li:hover > a, 
	ul.menu li ul.sub-menu li.current-menu-item > a, 
	ul.menu li ul.sub-menu li.current-menu-ancestor > a, 
	ul.menu li ul.sub-menu li.current_page_parent > a,
	header.stick nav ul li ul.sub-menu li:hover > a, 
	header.stick nav ul li ul.sub-menu li.current-menu-item > a, 
	header.stick nav ul li ul.sub-menu li.current-menu-ancestor > a, 
	header.stick nav ul li ul.sub-menu li.current_page_parent > a, 
	header.stick ul.menu li ul.sub-menu li:hover > a, 
	header.stick ul.menu li ul.sub-menu li.current-menu-item > a, 
	header.stick ul.menu li ul.sub-menu li.current-menu-ancestor > a, 
	header.stick ul.menu li ul.sub-menu li.current_page_parent > a  {
		background: #519a51;
		color: #fff;
	}
	header.stick nav ul li a, 
	header.stick ul.menu li a {
		color: #519a51;
	}
	header.stick nav ul li:hover > a, 
	header.stick nav ul li.current-menu-item > a, 
	header.stick nav ul li.current-menu-ancestor > a, 
	header.stick nav ul li.current_page_parent > a, 
	header.stick ul.menu li:hover > a, 
	header.stick ul.menu li.current-menu-item > a, 
	header.stick ul.menu li.current-menu-ancestor > a, 
	header.stick ul.menu li.current_page_parent > a {
		color: #8ecb65;
	}
	header.stick nav ul li a, 
	header.stick ul.menu li.button a {
		color: #fff;
	}

/* MENU - LINES */
	#navbtn {
		display: none;
		position: relative;
		width: auto;
		text-align: right;
		float: right;
		clear: both;
		overflow: hidden;
		padding: 15px;
		height: 52px;
		background: none;
		border: 0;
	}
	#navbtn span {
		font-size: 0;
	}
	.lines {
		clear: both;
		text-align: center;
		width: 35px;
		height: 22px;
		margin: 0 auto;
		cursor: pointer;
		float: right;
	}
	.lines .line {
		background-color: #519a51;
		height: 4px;
	}
	.lines .line.one {
		width: 100%;
	}
	.lines .line.two {
		width: 68%;
		margin: 5px 0;
	}
	.lines .line.three {
		width: 85%;
	}
	.lines:hover .line.one {
		width: 85%;
	}
	.lines:hover .line.two {
		width: 100%;
	}
	.lines:hover .line.three {
		width: 68%;
	}
	.open .lines .line.two {
		display: none;
	}
	.open .lines .line.one {
		width: 90%;
		margin: 9px 0 0 0;
		transform: rotate(45deg);
	}
	.open .lines .line.three {
		width: 90%;
		margin: -4px 0 0 0;
		transform: rotate(-45deg);
	}

/* HERO */
	.hero-wrap {
		position: relative;
		clear: both;
		overflow: hidden;
		width: 100%;
	}
	.hero-wrap::after {
		display: block;
		clear: both;
		overflow: hidden;
		content: " ";
	}
	.hero-wrap.slider {
		position: fixed;
		top: 0;
		left: 0;
		width: 100%;
	}
	#hero {
		position: relative;
		clear: both;
		overflow: hidden;
		background: #8ecb65;
	}
	.widget_hero_slideshow > p {
		display: none;
	}
	#hero .splide__slide__container {
		position: absolute;
		top: 0;
		left: 0;
		width: 100%;
		z-index: 1;
		/*min-height: 95vh;*/
		min-height: 100vh;
	}
	#hero .splide__arrow {
		background: none;
		border: 3px solid #fff;
		opacity: .5;
		width: 4em;
		height: 4em;
	}
	#hero .splide__arrow svg {
		fill: #fff;
		height: 2.2em;
		width: 2.2em;
	}
	#hero .info {
		position: relative;
		clear: both;
		overflow: hidden;
		/*width: 90%;*/
		margin: 0 auto;
		z-index: 99;
		display: flex;
		align-items: center;
		height: 70vh;
		background: rgba(0, 0, 0, .2);
		width: 100%;
		max-width: 100%;
	}
	.home #hero .info {
		padding: 0 5%;
		height: 100vh;
		z-index: 9999;
	}
	.small #hero .info {
		height: auto;
		padding: 100px 0 24vh 0;
	}
	#hero .info.block {
		flex-direction: column;
		padding: 100px 0;
		height: auto;
	}
	#hero .info-inner {
		clear: both;
		overflow: visible;
		width: 60%;
	}
	#hero .info-inner .title {
		font: normal 700 3em/1.2em 'Roboto Slab', serif;
		margin: 0;
		background: none;
		position: relative;
		padding: 0 0 40px 0;
		color: #fff;
	}
	#hero .info p {
		color: #fff;
	}
	#hero .ill_hero_slider .controls_container {
	    height: auto;
	    width: auto;
	    left: auto;
		right: auto;
	    margin: 0 auto;
	    /*bottom: 25vh;*/
	    bottom: 30vh;
	    padding: 15px 20px;
	    line-height: 0;
		z-index: 99999;
		position: relative;
	    display: flex;
		flex-direction: row;
		align-items: center;
		justify-content: flex-end;
		width: 90%;
	}
	#hero .ill_hero_slider .controls_container .controls, 
	#hero .ill_hero_slider .controls_container .splide__pagination {
		background: none!important;
	}
	#hero .splide__pagination {
		bottom: 0;
		left: 0;
		padding: 0;
		position: relative;
		right: 0;
		z-index: 1;
		float: right;
		text-align: right;
	}
	#hero .ill_hero_slider .controls .splide__toggle__play {
	    border-top: 6px solid transparent;
	    border-bottom: 6px solid transparent;
	    border-left: 9px solid #fff; 
	}
	#hero .ill_hero_slider .controls .splide__toggle__pause {
		border-color: #fff;
	}
	#hero .ill_hero_slider .splide__pagination .splide__pagination__page {
		background-color: #fff;
		opacity: .5;
	}
	#hero .ill_hero_slider .splide__pagination .splide__pagination__page.is-active {
		background-color: #fff;
		opacity: 1;
	}
	.hero-wrap.featured #feat-img {
		position: absolute;
		top: 0;
		left: 0;
		width: 100%;
		z-index: 1;
		height: 100%;
		min-height: 95vh;
	}
	.hero-wrap.featured #feat-img img {
		display:  block;
		object-fit: cover;
		width: 100%;
		height: 100%;
	}
	.hero-wrap #hero .info h1 {
		font: normal 700 3em/1.2em 'Roboto Slab', serif;
		margin: 0;
		background: none;
		position: relative;
		padding: 0;
		color: #fff;
	}
	.int #hero .info h1 {
		width: 90%;
		max-width: 1200px;
		margin: 0 auto;
	}
	
/* CONTENT */
	.content-blocks {
	    position: relative;
	    z-index: 99;
	    margin: 0 auto;
	}
	.home .content-blocks {
	    margin: 100vh auto 0 auto;
	}
	.content-blocks .content {
		width: 100%;
		margin: 0 auto;
		position: relative;
	}
	.content-blocks .content::before {
		content: " ";
		position: absolute;
		/*top: 50vh;*/
		top: 15vh;
		height: 100%;
		width: 100%;
		background: #f4f4f4;
		z-index: 1;
	}
	.content-blocks .content > div,
	.content-blocks .content > section,
	.content-blocks .content > * {
		width: 100%;
		background: #f4f4f4;
		position: relative;
		z-index: 9;
	}
	.content-blocks .content > div:first-child,
	.content-blocks .content > section:first-child,
	.content-blocks .content > *:first-child {
		width: 90%;
		margin: -38vh auto 0 auto;
		z-index: 10;
	}
	.content-blocks .content > div > *,
	.content-blocks .content > section > * {
		width: 90%;
		margin: 0 auto;
	}
	.content-blocks .content > .wp-block-group.is-layout-flex {
		border-radius: 20px;
		box-shadow: 0 5px 30px rgba(0, 0, 0, .1);
	}
	.content-blocks .wp-block-group.is-layout-flex .wp-block-group {
		padding: 100px;
	}
	.content-blocks .wp-block-group.is-layout-flex .wp-block-group:first-child {
		border-radius: 20px 0 0 20px;
	}
	.content-blocks .wp-block-group.is-layout-flex .wp-block-group:last-child {
		border-radius: 0 20px 20px 0;
	}
	.content-blocks.int .content .inner-content-wrap {
		width: 90%;
		margin: -20vh auto 150px auto;
		background: #fff;
		border-radius: 20px;
		box-shadow: 0 5px 30px rgba(0, 0, 0, .1);
		display: flex;
		flex-direction: row;
	}
	.content-blocks.int .content .inner-content {
		width: 65%;
		border-radius: 20px 0 0 20px;
		padding: 50px 50px 50px 100px;
	}
	.content-blocks.int .content.full .inner-content {
		width: 100%;
		padding: 50px 100px;
	}
	.content-blocks .content > .wp-block-group.is-layout-flex.no-shadow {
		box-shadow: none;
	}

/* WATERMARK */
	.content-blocks .content .wp-block-group.watermark {
		align-items: flex-start;
	}
	.content-blocks .content .wp-block-group.watermark::after {
		content: " ";
		width: 50%;
		height: 100%;
		position: absolute;
		top: 0;
		left: 0;
		z-index: 1;
		opacity: .25;
	}
	.content-blocks .content .wp-block-group.watermark * {
		z-index: 2;
	}

/* ACCORDION */
	.c-accordion__title {
		border-bottom: 5px solid;
		padding: 25px;
		margin: 0;
		font-size: 20px;
		background-color: #f0f0f0;
		cursor: pointer;
	}
	.c-accordion__title:after {
		right: 15px!important;
	}
	.c-accordion__content {
		padding: 20px 0;
	}

/* BLOG & SEARCH */
	.content-blocks .search-result {
		clear: both;
		overflow: hidden;
		margin: 0 0 20px 0;
		padding: 0 0 20px 0;
		border-bottom: 1px solid #d1d1d1;
	}
	.content-blocks .entry {
		clear: both;
		overflow: hidden;
		display: flex;
		flex-direction: row;
		margin: 0 0 20px 0;
		padding: 0 0 20px 0;
		border-bottom: 1px solid #d1d1d1;
	}
	.content-blocks .entry figure {
		width: 30%;
	}
	.content-blocks .entry .details {
		width: 100%;
	}
	.content-blocks .content .wp-block-group.watermark {
		align-items: flex-start;
	}
	.content-blocks .content .wp-block-group.watermark * {
		z-index: 2;
	}

/* SITEMAP */
	.ill_get_menu ul {
		display: block;
		margin: 0;
		padding: 0;
		list-style: disc inside;
	}
	.ill_get_menu ul.menu li ul.sub-menu,
	.ill_get_menu ul ul {
		margin: 0 0 0 20px;
		display: block;
		left: auto;
		opacity: 1;
		width: 100%;
		position: relative;
	}
	.ill_get_menu ul li {
		display: block;
		margin: 0;
		padding: 0;
		list-style: disc inside;
		position: relative;
	}
	.ill_get_menu ul li a:hover {
		background: none!important;
	}
	.ill_get_menu .button, 
	.ill_get_menu ul.menu li.button a,
	.ill_get_menu ul.menu li.button a:hover {
		background: none!important;
		text-transform: none;
		font: normal 400 1em/1em 'Lato', sans-serif;
		letter-spacing: 0;
		margin: 0;
		padding: 0;
	}
	.ill_get_menu .button {
		padding: 10px 0;
	}

/* CONTACT FORM */
	.contact-form-wrapper {
	    position: relative;
	    z-index: 99;
	    margin: 0 auto;
		width: 100%;
		background: #f4f4f4;
	}
	.contact-form-wrap {
		width: 90%;
		margin: 0 auto 0 auto;
		padding: 0 0 150px 0;
	}
	.home .contact-form-wrap {
		padding-top: 150px;
	}

/* SIDEBAR */
	.content-blocks.int .content .sidebar {
		width: 35%;
		background: #f4f4f4;
		border-radius: 0 20px 20px 0;
		/*padding: 50px 100px 50px 50px;*/
		padding: 50px;
	}
	.sidebar .ill-quotes-quote-title::before {
	    content: "- ";
	}
	.sidebar .ill-quotes-quote-title span {
	    font: normal 700 20px/1.5em 'Roboto Slab', serif;
	}
	.sidebar .ill-quotes-navigation {
		position: relative;
		display: flex;
		flex-direction: row;
		justify-content: flex-start;
		margin: 20px 0 0 0;
	}
	.sidebar .ill-quotes-navigation .previous,
	.sidebar .ill-quotes-navigation .next {
	    border: 3px solid #88c361;
	    color: #88c361;
	    line-height: 30px;
	    width: 40px;
	    height: 40px;
	    text-align: center!important;
	    border-radius: 40px;
	    top: auto;
		bottom: 0;
		position:relative;
		font-size: 20px;
	}
	.sidebar .ill-quotes-navigation .previous {
	    left: auto;
	    margin: 0 10px 0 0;
	}
	.sidebar .ill-quotes-navigation .next {
	    right: auto;
	    left: auto;
	    margin: 0;
	}
	.sidebar .ill-quotes-navigation .previous:hover {
	    left: auto;
	    padding-right: 0;
	    margin: 0 20px 0 -10px;
	}
	.sidebar .ill-quotes-navigation .next:hover {
	    right: auto;
	    left: auto;
	    padding-left: 0;
	    margin: 0 -10px 0 20px;
	}
	.sidebar nav ul, 
	.sidebar ul.menu {
	    display: block;
	}
	.sidebar nav ul li, 
	.sidebar ul.menu li {
		display: block;
	}
	.sidebar nav ul li a, 
	.sidebar ul.menu li a {
		font: normal 400 0.7em/1em 'Lato', sans-serif;
		padding: 20px 30px;
		letter-spacing: 0.16em;
		text-transform: uppercase;
		cursor: pointer;
		text-decoration: none;
		border-radius: 26px;
		background: #8ecb65;
		color: #fff;
		display: block;
		text-align: center;
		margin: 0 0 15px 0;
		transition: all .25s ease;
	}
	.sidebar nav ul li a:hover, 
	.sidebar ul.menu li a:hover,
	.sidebar nav ul li:hover > a, 
	.sidebar nav ul li.current-menu-item > a, 
	.sidebar nav ul li.current-menu-ancestor > a, 
	.sidebar nav ul li.current_page_parent > a, 
	.sidebar ul.menu li:hover > a, 
	.sidebar ul.menu li.current-menu-item > a, 
	.sidebar ul.menu li.current-menu-ancestor > a, 
	.sidebar ul.menu li.current_page_parent > a {
		background: #519a51;
		color: #fff;
		transition: all .25s ease;
	}

/* GALLERY */
	.content-blocks .content .wp-block-gallery {
		width: 100%;
		background: #f4f4f4;
		align-items: center;
		margin: 0;
	}
	.content-blocks .content .wp-block-gallery figure {
		height: 285px;
		margin: 0!important;
		padding: 0;
		line-height: 0;
		/* width: auto!important; */
		position: relative;
		overflow: hidden;
	}
	.content-blocks .content .wp-block-gallery.has-nested-images figure.wp-block-image {
		overflow: hidden;
	}
	.content-blocks .content .wp-block-gallery figure a::after {
		content: " ";
		position: absolute;
		z-index: 999;
		bottom: 0;
		left: 0;
		width: 100%;
		height: 0;
		opacity: 0;
		background: rgb(81,154,81);
		background: linear-gradient(0deg, rgba(81,154,81,0.7) 0%, rgba(142,203,101,0.7) 100%);
		transition: .25s height ease-out, .45s opacity ease-out;
	}
	.content-blocks .content .wp-block-gallery figure:hover a::after {
		height: 100%;
		opacity: 1;
	}
	.content-blocks .content .wp-block-gallery figure img {
		width: 100%!important;
		height: 100%!important;
		max-width: 100000%!important;
		object-fit: cover;
	}

/* GRAVITY FORMS */
	section .gform-theme--foundation legend,
	section .gform-theme--foundation label {
		font: normal 400 0.9em/1.5em 'Lato', sans-serif!important;
	}
	section .gform_wrapper input[type="text"],
	section .gform_wrapper input[type="email"],
	section .gform_wrapper input[type="tel"],
	section .gform_wrapper input[type="number"],
	section .gform_wrapper textarea, 
	section .gform_wrapper select {
		background-color: #f4f4f4;
		border: 1px solid #509950;
		color: #373737;
		padding: 15px 30px!important;
		font: normal 300 1em/1.5em 'Lato', sans-serif;
		border-radius: 35px;
		box-shadow: 0 0!important;
		appearance: none;
		-webkit-appearance: none;
		height: auto;
	}
	section .gform_wrapper textarea {
		padding: 30px!important;
	}
	section .gform_wrapper textarea.small {
		height: 125px!important;
	}
	section .gform_wrapper input[type="text"]:focus,
	section .gform_wrapper input[type="email"]:focus,
	section .gform_wrapper input[type="tel"]:focus,
	section .gform_wrapper input[type="number"]:focus,
	section .gform_wrapper textarea:focus,
	section .gform_wrapper select:focus {
		background-color: #fff;
		border-color: #8ecb65;
		color: #373737;
		outline: 0!important;
		box-shadow: 0 0!important;
	}
	section .gform_wrapper input::placeholder,
	section .gform_wrapper textarea::placeholder, 
	section .gform_wrapper select::placeholder {
		color: #a0a0a0;
	}
	section .gform_wrapper .gform_footer button, 
	section .gform_wrapper .gform_footer input[type="submit"], 
	section .gform_wrapper .gform_page_footer button, 
	section .gform_wrapper .gform_page_footer input[type="submit"] {
		font: normal 400 0.7em/1em 'Lato', sans-serif!important;
		padding: 20px 30px!important;
		letter-spacing: 0.16em!important;
		text-transform: uppercase!important;
		cursor: pointer!important;
		text-decoration: none!important;
		border-radius: 26px!important;
		background: #8ecb65;
		border: 0!important;
		margin: 0 0 20px 0!important;
		color: #fff;
	}
	section .gform_wrapper .gform_footer button:hover, 
	section .gform_wrapper .gform_footer input[type="submit"]:hover, 
	section .gform_wrapper .gform_page_footer button:hover, 
	section .gform_wrapper .gform_page_footer input[type="submit"]:hover {
		background: #519a51;
		color: #fff;
	}
	.grecaptcha-badge {
		z-index: 9999;
	}

/* FOOTER */
	footer {
		position: relative;
		z-index: 99;
		clear: both;
		overflow:hidden;
	}
	.bottom-wrap {
		width: 30%;
		display: block;
		right: 0;
		left: 65%;
		position: relative;
		display: flex;
		flex-direction: row;
		justify-content: flex-end;
		z-index: 99;
		padding-right: 50px;
	}
	.bottom {
		width: 100%;
		background: #fff;
		padding: 50px 50px 100px 50px;
	}
	.bottom nav ul, 
	.bottom ul.menu {
		justify-content: flex-start;
	}
	.bottom nav ul li a, 
	.bottom ul.menu li a {
	    font-size: 1.3em;
	    padding: 10px;
	}
	.bottom nav ul li:first-child a, 
	.bottom ul.menu li:first-child a {
	    padding-left: 0;
	}
	.bottom nav ul li:last-child a, 
	.bottom ul.menu li:last-child a {
	    padding-right: 0;
	}
	.map-wrap {
		width: 100%;
		position: absolute;
		left: 0;
		top: 0;
		height: 100%;
		z-index: 9;
		line-height:0;
		padding-bottom: 40px;
	}
	.map-wrap .map.wrap,
	.map-wrap .map.wrap .widget,
	.map-wrap .map.wrap .widget .mapp-layout {
		height: 100%!important;
	}
	.leaflet-bottom .leaflet-control {
		margin-bottom: 20px!important;
	}
	.mapp-google-geolocate, .mapp-leaflet-geolocate {
		bottom: 150px!important;
	}
	.map-wrap p {
		display: none;
	}
	.footer-wrap {
		width: 100%;
		margin: 0 auto;
		position: relative;
		background: #4f974f;
		z-index: 99;
	}
	.copyright {
		width: 90%;
		margin: 0 auto;
		display: flex;
		flex-direction: row;
		justify-content: space-between;
		z-index: 99;	
	}
	.copyright .left {
		width: 35%;
		padding: 20px 20px 0 0;
	}
	.copyright .right {
		width: 65%;
		padding: 20px 0 0 20px;
		text-align: right;
	}
	.copyright p {
		color: #fff;
		font-size: 0.7em;
	}
	.copyright a {
		color: #fff;
	}
	footer nav ul, 
	footer ul.menu {
		display: flex;
		flex-direction: row;
		justify-content: flex-start;
	}
	footer nav ul li, 
	footer ul.menu li {
		margin: 0 10px 0 0;
	}
	footer .copyright nav ul li a, 
	footer .copyright ul.menu li a {
		color: #fff;
		font: normal 300 0.7em/1em 'Lato', sans-serif;
		padding: 0;
		text-decoration: underline;
	}
	footer .copyright nav ul li a:hover, 
	footer .copyright ul.menu li a:hover {
		text-decoration: none;
	}
	.home footer .copyright nav ul li a, 
	.home footer .copyright ul.menu li a {
		color: #fff;
	}
	footer .copyright nav ul li ul.sub-menu, 
	footer .copyright ul.menu li ul.sub-menu {
		display: none;
	}
	
/* FOCUS */
	a:focus { outline: 2px dotted #f89; text-decoration: underline; }
	#navbtn:focus {
		outline: 2px dotted #00395b;
	}
	#navbtn:focus .lines .line.one {
		width: 85%;
	}
	#navbtn:focus .lines .line.two {
		width: 100%;
	}
	#navbtn:focus .lines .line.three {
		width: 68%;
	}
	.open #navbtn:focus .lines .line.two {
		display: none;
	}
	.open #navbtn:focus .lines .line.one {
		width: 90%;
		margin: 9px 0 0 0;
		transform: rotate(45deg);
	}
	.open #navbtn:focus .lines .line.three {
		width: 90%;
		margin: -4px 0 0 0;
		transform: rotate(-45deg);
	}
	
	.button:focus,
	.wp-block-button .wp-block-button__link:focus {
		outline: 2px dotted #f89;
		background: #519a51;
		color: #fff;
	}
	nav ul li:focus > a, 
	ul.menu li:focus > a {
		color: #8ecb65;
	}
	nav ul li ul.sub-menu li:focus > a, 
	ul.menu li ul.sub-menu li:focus > a {
		color: #8ecb65;
	}
	nav ul li ul.sub-menu li:focus > a, 
	ul.menu li ul.sub-menu li:focus > a, 
	header.stick nav ul li ul.sub-menu li:focus > a, 
	header.stick ul.menu li ul.sub-menu li:focus > a {
		background: #519a51;
		color: #fff;
	}
	header.stick nav ul li:focus > a, 
	header.stick ul.menu li:focus > a {
		color: #8ecb65;
	}
	.c-accordion__title:focus {
		outline: 2px dotted #f89;
	}
	.ill_get_menu ul li a:focus {
		background: none!important;
	}
	.ill_get_menu ul.menu li.button a:focus {
		background: none!important;
		text-transform: none;
		font: normal 400 1em/1em 'Lato', sans-serif;
		letter-spacing: 0;
		margin: 0;
		padding: 0;
	}
	.sidebar .ill-quotes-navigation .previous:focus {
		outline: 2px dotted #f89;
	    left: auto;
	    padding-right: 0;
	    margin: 0 20px 0 -10px;
	}
	.sidebar .ill-quotes-navigation .next:focus {
		outline: 2px dotted #f89;
	    right: auto;
	    left: auto;
	    padding-left: 0;
	    margin: 0 -10px 0 20px;
	}
	.content-blocks .content .wp-block-gallery figure:focus a::after {
		height: 100%;
		opacity: 1;
	}
	section .gform_wrapper input[type="text"]:focus,
	section .gform_wrapper input[type="email"]:focus,
	section .gform_wrapper input[type="tel"]:focus,
	section .gform_wrapper input[type="number"]:focus,
	section .gform_wrapper textarea:focus,
	section .gform_wrapper select:focus {
		background-color: #fff;
		border-color: #8ecb65;
		color: #373737;
		outline: 2px dotted #f89!important;
		box-shadow: 0 0!important;
	}
	section .gform_wrapper .gform_footer button:focus, 
	section .gform_wrapper .gform_footer input[type="submit"]:focus, 
	section .gform_wrapper .gform_page_footer button:hover, 
	section .gform_wrapper .gform_page_footer input[type="submit"]:focus {
		outline: 2px dotted #f89;
		background: #519a51;
		color: #fff;
	}
	footer .copyright nav ul li a:focus, 
	footer .copyright ul.menu li a:focus {
		text-decoration: none;
	}

/* ANIMATIONS */
	.fadeinbottom {
		-webkit-animation: fadeinbottom 1.5s both;
		-moz-animation: fadeinbottom 1.5s both;
		-o-animation: fadeinbottom 1.5s both;
		animation: fadeinbottom 1.5s both;
	}
	@-webkit-keyframes fadeinbottom {
		0% {
			opacity: 0;
			-webkit-transform: translateY(100px);
		}
		100% {
			opacity: 1;
			-webkit-transform: translateY(0);
		}
	}	
	@-moz-keyframes fadeinbottom {
		0% {
			opacity: 0;
			-moz-transform: translateY(100px);
		}
		100% {
			opacity: 1;
			-moz-transform: translateY(0);
		}
	}
	@-o-keyframes fadeinbottom {
		0% {
			opacity: 0;
			-o-transform: translateY(100px);
		}
		100% {
			opacity: 1;
			-o-transform: translateY(0);
		}
	}
	@keyframes fadeinbottom {
		0% {
			opacity: 0;
			transform: translateY(100px);
		}
		100% {
			opacity: 1;
			transform: translateY(0);
		}
	}
	.fadeintop {
		-webkit-animation: fadeintop 1.5s both;
		-moz-animation: fadeintop 1.5s both;
		-o-animation: fadeintop 1.5s both;
		animation: fadeintop 1.5s both;
	}
	@-webkit-keyframes fadeintop {
		0% {
			opacity: 0;
			-webkit-transform: translateY(-100px);
		}
		100% {
			opacity: 1;
			-webkit-transform: translateY(0);
		}
	}	
	@-moz-keyframes fadeintop {
		0% {
			opacity: 0;
			-moz-transform: translateY(-100px);
		}
		100% {
			opacity: 1;
			-moz-transform: translateY(0);
		}
	}
	@-o-keyframes fadeintop {
		0% {
			opacity: 0;
			-o-transform: translateY(-100px);
		}
		100% {
			opacity: 1;
			-o-transform: translateY(0);
		}
	}
	@keyframes fadeintop {
		0% {
			opacity: 0;
			transform: translateY(-100px);
		}
		100% {
			opacity: 1;
			transform: translateY(0);
		}
	}
	.fadeinleft {
		-webkit-animation: fadeinleft 1.5s both;
		-moz-animation: fadeinleft 1.5s both;
		-o-animation: fadeinleft 1.5s both;
		animation: fadeinleft 1.5s both;
	}
	@-webkit-keyframes fadeinleft {
		0% {
			opacity: 0;
			-webkit-transform: translateX(-100px);
		}
		100% {
			opacity: 1;
			-webkit-transform: translateX(0);
		}
	}	
	@-moz-keyframes fadeinleft {
		0% {
			opacity: 0;
			-moz-transform: translateX(-100px);
		}
		100% {
			opacity: 1;
			-moz-transform: translateX(0);
		}
	}
	@-o-keyframes fadeinleft {
		0% {
			opacity: 0;
			-o-transform: translateX(-100px);
		}
		100% {
			opacity: 1;
			-o-transform: translateX(0);
		}
	}
	@keyframes fadeinleft {
		0% {
			opacity: 0;
			transform: translateX(-100px);
		}
		100% {
			opacity: 1;
			transform: translateX(0);
		}
	}
	.fadeinright {
		-webkit-animation: fadeinright 1.5s both;
		-moz-animation: fadeinright 1.5s both;
		-o-animation: fadeinright 1.5s both;
		animation: fadeinright 1.5s both;
	}
	@-webkit-keyframes fadeinright {
		0% {
			opacity: 0;
			-webkit-transform: translateX(100);
		}
		100% {
			opacity: 1;
			-webkit-transform: translateX(0);
		}
	}	
	@-moz-keyframes fadeinright {
		0% {
			opacity: 0;
			-moz-transform: translateX(100);
		}
		100% {
			opacity: 1;
			-moz-transform: translateX(0);
		}
	}
	@-o-keyframes fadeinright {
		0% {
			opacity: 0;
			-o-transform: translateX(100);
		}
		100% {
			opacity: 1;
			-o-transform: translateX(0);
		}
	}
	@keyframes fadeinright {
		0% {
			opacity: 0;
			transform: translateX(100);
		}
		100% {
			opacity: 1;
			transform: translateX(0);
		}
	}

/* RESPONSIVE */
	@media all and (max-width: 1300px) {
		.slider #hero .info { width: 80%; }
		.home #hero .info { width: 100%; padding-left: 10%; padding-right: 10%; }
	}
	@media all and (max-width: 1100px) {
		header #logo { width: 30%; }
		#primary { width: 70%; }
		.copyright .left { width: 40%; }
		.copyright .right { width: 60%; }
		.content-blocks .content .wp-block-group.watermark::after { width: 54%; }
	}
	@media all and (max-width: 1000px) {
		.content-blocks .wp-block-group.is-layout-flex .wp-block-group { padding: 70px; }
	}
	@media all and (max-width: 900px) {
		header { clear: both; position: relative; }
		header #logo { float: left; width: 50%; z-index: 2;}
		header #logo img { max-width: 100%; }
		#primary { width: 50%; position: static; margin-top: 25px; float: right; }
		header nav ul, header ul.menu { width: 100%; }
		header nav .menu-primary-menu-container { display: block; position: fixed; top: 0; left: -100%; background-color: rgba(59, 67, 70, 1); width: 80%; height: 100%; overflow-y: scroll; z-index: 1; }
		.open nav .menu-primary-menu-container { left: 0; z-index: 3;}
		header nav ul, header ul.menu { padding: 0; width: 100%; display: block; }
		header nav ul li, header ul.menu li { display: block; padding: 0; float: none; }
		header nav ul li a, header ul.menu li a { display: block; color: #e0d1c3; padding: 20px 30px; font-size: 18px; line-height: 18px; border-top: 1px solid #938a82; text-align: left; }
		header nav ul li ul.sub-menu, header nav ul li ul.sub-menu li ul.sub-menu, header ul.menu li ul.sub-menu, header ul.menu li ul.sub-menu li ul.sub-menu { width: 100%; background: none; display: block; clear: both; overflow: hidden; position: relative; left: 0; opacity: 1; }
		header nav ul li ul.sub-menu li a, header ul.menu li ul.sub-menu li a { padding: 20px 30px 20px 50px; background-color: rgba(32, 32, 32, .95); color: #e0d1c3; }
		header nav ul li ul.sub-menu li ul.sub-menu li a, header ul.menu li ul.sub-menu li ul.sub-menu li a { padding: 20px 30px 20px 70px; }
		header nav ul li ul.sub-menu li ul.sub-menu li ul.sub-menu li a, header ul.menu ul li ul.sub-menu li ul.sub-menu li ul.sub-menu li a { padding: 20px 30px 20px 90px; }
		header nav ul li:hover a, header nav ul li.active a, header nav ul li a:focus, header nav ul li.current-menu-item a, header nav ul li.current-menu-ancestor a, header nav ul li.current_page_parent a,
		header ul.menu li:hover a, header ul.menu li.active a, header ul.menu li a:focus, header ul.menu li.current-menu-item a, header ul.menu li.current-menu-ancestor a, header ul.menu li.current_page_parent a {  color: #fff; background-color: #202020; border-bottom: none;  }
		header nav ul li:last-child a, header ul.menu li:last-child a { border-bottom: 1px solid #938a82; }
		header nav ul li ul.sub-menu, header ul.menu li ul.sub-menu, header nav ul li ul.sub-menu li:last-child a, header ul.menu li ul.sub-menu li:last-child a { border-radius: 0; }
		header nav ul li.button, header ul.menu li.button, header nav ul li.button a, header ul.menu li.button a { border-radius: 0; }
		header nav ul li ul.sub-menu li:hover > a, header nav ul li ul.sub-menu li a:hover, header nav ul li ul.sub-menu li a:focus, header nav ul li ul.sub-menu li.current-menu-item a, header ul.menu li ul.sub-menu li:hover > a, header ul.menu li ul.sub-menu li a:hover, header ul.menu li ul.sub-menu li a:focus, header ul.menu li ul.sub-menu li.current-menu-item a { background: #781f24; }
		#navbtn { display: block; }
		.hero-wrap { clear: both; overflow: hidden;}
		.hero-wrap.featured #feat-img { min-height: 0px; }
		.content-blocks .wp-block-group.is-layout-flex .wp-block-group { padding: 50px; }
		.content-blocks .wp-container-core-group-is-layout-3.wp-container-core-group-is-layout-3 { flex-wrap: wrap; }
		.content-blocks .wp-container-content-1, .content-blocks .wp-container-content-2, .content-blocks .wp-container-content-3, .content-blocks .wp-container-content-4 { flex-basis: 100%; }
		.content-blocks .wp-block-group.is-layout-flex .wp-block-group:last-child { border-radius: 0 0 20px 20px; }
		.content-blocks.int .content .inner-content-wrap { flex-direction: column; }
		.content-blocks.int .content .inner-content { width: 100%; border-radius: 20px 20px 0 0; padding: 50px; }
		.content-blocks.int .content .sidebar { width: 100%; border-radius: 0 0 20px 20px; padding: 50px; }
		.copyright { flex-wrap: wrap; flex-direction: row; justify-content: center; }
		.copyright .left, .copyright .right { width: 100%; text-align: center; display: flex; flex-direction: row; justify-content: center; }
		.content-blocks .content .wp-block-group.watermark::after { display: none; }
	}
	@media all and (max-width: 800px) {
		#hero .info { padding-left: 15%; padding-right: 15%;}
		.int #hero .info { width: 100%; height: auto!important; }
		.home #hero .info { width: 100%; }
		.home .int #hero .info { height: 100vh!important; }
		#hero .info-inner { width: 100%; }
		#hero .info-inner .title, .hero-wrap #hero .info h1 { font-size: 2em;	}
		.int #hero .info { height: auto; padding: 90px 15% 180px 15%; }
		.int.small #hero .info { padding: 50px 15% 100px 15%;}
		.content-blocks.int .content .inner-content-wrap { margin: -10vh auto 100px auto; }
		.bottom-wrap { width: 100%!important; background: #fff; left: 0!important}
		.bottom { width: 90%; margin: 0 auto; background: none; padding: 50px 0; }
		.map-wrap { position: relative; display: none; }
	}
	@media all and (max-width: 600px) { 
		header #logo { width: 70%; }
		.int.small #hero .info { padding: 50px 0;}
		.home .contact-form-wrap, .contact-form-wrap { padding: 50px 0; }
		.content-blocks .content > div:first-child, .content-blocks .content > section:first-child, .content-blocks .content > *:first-child { width:100%; }
		.content-blocks .wp-block-group.is-layout-flex .wp-block-group { padding: 50px 5%; }
		.content-blocks.int .content.full .inner-content { padding: 50px 5%; }
		.content-blocks.int .content .inner-content, .content-blocks.int .content .sidebar { padding: 50px 5%; }
		.content-blocks.int .content .inner-content-wrap { margin: 0 auto!important; width: 100%; }
	}