/* =========== 
	Root Styles 
	========== */	

	:root {
		/* ====================== 
			Colors
			===================== */
			--black-100: #000; 
			--black-200:  #222;
			--black-300: #393D46;
			--black-400: #444;
			--black-500: #555;
			--black-600: #666;
			--blue-100:#38B2E3;
			--blue-200: #246075;
			--blue-300: #1A2737;
			--orange-100: #DDCB7F;
			--orange-200: #C5A864;
			--orange-300: #B59252;
			--red-100: #D81117;
			--white-100: #fff;
			--white-200: #eee;
			--white-300: #E8E8E8;
			--green-100: #0D8531;	
			/* ====================== 
			Typography
			===================== */
			--primary-font-fam: 'Montserrat', sans-serif;	
			--headings-font-fam: 'Montserrat',sans-serif;	
			--font-size-700: 3.0rem;
			 --font-size-600: 2.5rem;
			 --font-size-500: 2.0rem;
			 --font-size-400: 1.2rem;
			 --font-size-300: 1.0rem;  
			 --font-size-200: 0.9rem;			 
			 --font-size-100: 0.8rem;
			 --font-weight-200: 200;			 
			 --font-weight-300: 300;
			 --font-weight-400: 400;
			 --font-weight-500: 500;
			 --font-weight-600: 600;
			 --font-weight-700: 700;
			 --font-weight-800: 800;
			 --font-weight-900:  900;
		}
	
		a:link {
			color: inherit;
			text-decoration: inherit
		}
		a:visited {
			color: inherit;
			text-decoration: inherit
		}
		a:hover,
		a:active,
		a:focus {
			color: inherit;
			text-decoration: inherit;
		}
	
		body {
			min-height:  100%;
		}
		h1, 
		h2, 
		h3, 
		h4,
		h5,
		h6 {
			font-family: var(--headings-font-fam);    
		} 		
		html {
			font-size:  100%;
			height: 100%;
			scroll-behavior: smooth;
		}
		.img-responsive {
			display: block;
			max-width: 100%;
			height: auto;
		}
		p {
			font-family:var(--primary-font-fam);
		}

/* ====================== 
	A
	===================== Animation effects */
	.slide-in-left{animation:slide-in-left 1.5s cubic-bezier(.25,.46,.45,.94) both}

	@keyframes slide-in-left{0%{transform:translateX(-1000px);opacity:0}100%{transform:translateX(0);opacity:1}}

/* ====================== 
	B
	===================== byline */
	.brand__envelope-icon {
		display: none;
	}
	.brand__phone-icon {
		display: none;
	}
.blurb {
	display: none;
}
/* ====================== 
	C - cards
	===================== cards */
	.cards {
		display: grid;
		grid-template-columns: repeat(3,1fr);
		position: relative;
		text-align: center;
		justify-items: center;
		gap: 1rem;
		background-color: var(--orange-300);
		padding: 3rem 0;
	}
	.cards-alt {
		display: grid;
		grid-template-columns: repeat(4,1fr);
		position: relative;
		text-align: center;
		justify-items: center;
		gap: 1rem;
		background-color: var(--black-200);
		background-image: url(/assets/imgs/jpgs/bg1.jpg);
		background-position: center;
		background-repeat: repeat;
		padding: 6rem 0 3rem;
	}
	.cards__icons {
		width: 144px;
		display: grid;
		text-align: center;
		margin: 0px auto 1rem;
		grid-column: span 3;
	}
	.cards__benefit-title {
		font-weight: var(--font-weight-500);
		font-size: clamp(1.0rem, 1.4vw, 4rem);
		color: var(--white-100);
		line-height: 1.2;
		padding: 0 0 0.5rem;
		margin: 1rem 0 0;
	}
	.cards__benefit-desc {
		font-weight: var(--font-weight-300);
		font-size: clamp(0.9rem, 1.0vw, 1rem);
		color: var(--white-100);
		line-height: 1.4;
		padding: 0;
		margin: 0;
	}
	.cards__card {
		padding: 0 5rem
	}
	.cards__title-wrapper {
		padding: 0.6rem 0;
		background: rgb(23, 23, 37, .9);
		margin-top: -58px;
		position: relative;
	}
	.cards__title {
		font-weight: var(--font-weight-500);
		font-size: clamp(1.1rem, 1.1vw, 4rem);
		color: var(--white-100);
		line-height: 1.2;
		padding: 0.6rem 0;
		margin: 0;
	}
	.cards__icon {
		margin: auto;
		width: 130px;
	}
	.cards__icon {
		margin: auto;
		width: 100px;
	}
	.cards__hover-area:hover .cards__hover-img img
	{
	  transform: rotate(10deg) scale(1.5);
	}	
	.cards__hover-img
	{
	  overflow: hidden;
	  position: relative;
	  width: 100%;
	  transition: all 0.5s;	
	}

	.cards__hover-img img
	{
	  transform: rotate(0deg) scale(1);
	  transition: all .8s;  
	  -webkit-transition: all .8s;
	  width: 100%;  
	}
	.cards__hover-area:hover .cards__overlay-content
	{
	  top: 0;
	}
	.cards__overlay-content {
		width: 100%;
		position: absolute;
		top: -110%;
		left: 0;
		height: auto;
		background: rgb(23, 23, 37, .8);
		color: #fff;
		padding: 16px 0;
		transition: all .5s;
		-webkit-transition: all .5s;
	}
	.cards__overlay-content-title
	{
	  color: #fff!important;
	}
	.cards__overlay-content-desc {
		color: #fff;
		line-height: 1.4;
		text-align: center;
	}
	.cards__overlay-content:before
	{
	  content: '';
	  position: absolute;
	  top: 0px;
	  right: 0px;
	  display: inline-block;
	  background-color: #0D894D;
	  width: 0%;
	  height: 4px;
	  transition: 1s;
	}
	.cards__overlay-content:after
	{
	  content: '';
	  position: absolute;
	  bottom: 0px;
	  left: 0px;
	  display: inline-block;
	  background-color: #0D894D;
	  width: 0%;
	  height: 4px;
	  transition: 1s;
	}
	.cards__hover-area:hover .cards__overlay-content:before , .cards__hover-area:hover .cards__overlay-content:after
	{
	  width: 100%;
	}
	.cards__team {
		background-color: var(--white-200);
		display: grid;
		gap: 2rem 0;
		grid-template-columns: repeat(3,1fr);
		align-content: center;
		position: -webkit-sticky;
		z-index: 0;
		padding: 6rem 6rem 0;
	}
	.cards__team-card {
		padding: 2rem 
	}
	.cards__team-desc {
		font-weight: var(--font-weight-300);
		font-size: clamp(0.7rem, 1.0vw, 4rem);
		color: var(--black-100);
		line-height: 1.5;
		padding: 0;
		margin: 0;
		text-align: left;
	}
	.cards__team-heroshot {
		visibility: visible;
		margin-bottom: 1rem
	}
	.cards__team-main-title {
		font-weight: var(--font-weight-500);
		font-size: clamp(1.4rem, 1vw, 1rem);
		color: var(--black-200);
		line-height: 1.2;
		padding: 0;
		margin: 0;
		display: grid;
		grid-column: span 3;
		text-transform: uppercase;
	}
	.cards__team-modal a {
		cursor: pointer;
	}
	.cards__other-services-title {
		font-weight: var(--font-weight-500);
		font-size: clamp(1.4rem, 1.4vw, 1.4rem);
		color: var(--black-200);
		line-height: 1.2;
		padding: 0.6rem 0 0;
		margin: 1rem 0;
		letter-spacing: -1px;
		grid-column: span 3;
	}
	.cards__team-subtitle {
		font-weight: var(--font-weight-300);
		font-size: clamp(1.0rem, 1.0vw, 1rem);
		color: var(--black-200);
		line-height: 1.2;
		padding: 0 0 0.6rem 0;
		margin: 0;
		letter-spacing: -1px;
	}
	.cards__team-title {
		font-weight: var(--font-weight-500);
		font-size: clamp(1.0rem, 1.0vw, 1rem);
		color: var(--black-200);
		line-height: 1.2;
		padding: 0.6rem 0 0;
		margin: 0;
		letter-spacing: -1px;
	}
	.cards__title-wrapper {
		padding: 0.6rem 0;
		background: rgb(23, 23, 37, .9);
		margin-top: -56px;
		position: relative;
	}
/* ====================== 
	F
	===================== footer */

	.footer {
		background-color: var(--white-100);

	}




/* ====================== 
	I
	===================== icons */

	.band {
		background-color: var(--black-200);
		display: flex;
		text-align: center;
		padding: 2rem 0;
		grid-column: span 3;
		justify-content: center;
	}
	.band img {
		display: inline-block;
	}
	.band__desc {
		font-weight: var(--font-weight-600);
		color: var(--white-100);
		font-family: var(--headings-font-fam);
		font-size: clamp(1.0rem, 3vw, 3rem);
	}

	.masthead__home {
		background-color: var(--white-100);
		padding: 0;
		width: 100%;
		height: 40rem;
		overflow: hidden;
	}
	.masthead__desc {
		font-weight: var(--font-weight-400);
		color: var(--black-200);
		font-size: clamp(.8rem, 1vw, 1rem);
		line-height: 1.6;
	}
	.masthead {
		background-color: var(--white-100);
		padding: 0;
		width: 100%;
		height: 32rem;
		overflow: hidden;
	}
	.masthead__caption-container {
		z-index: 0;
		position: absolute;
		top: 0;
		height: 100%;
		grid-template-columns: 1fr;
		display: grid;
		background: rgba(0,0,0,.6);
		padding: 4rem 4rem 0;
		width: 50%;
	}
	.masthead__caption {
		position: relative;
		padding-right: 2rem;
	}
	.masthead__caption-subtitle {
		font-weight: var(--font-weight-300);
		color: var(--white-100);
		font-family: var(--headings-font-fam);
		font-size: clamp(1.0rem, 1vw, 3rem);
		line-height: 1.2;
		margin: 0 0 1rem;
		text-transform: uppercase;
		letter-spacing: 3px;
		padding: .5rem 1rem;
		background-color:rgba(246, 196, 40, .9)!important;
		width: 52%;
	}
	.masthead__caption-title {
		font-weight: var(--font-weight-800);
		color: var(--white-100);
		font-family: var(--headings-font-fam);
		font-size: 2rem;
		line-height: 1.2;
		margin: 0 0 2rem;
		text-transform: uppercase;
		letter-spacing: 3px;
	}
	.masthead__desc {
		font-size: 1.6em;
		font-weight: var(--font-weight-300);
		color: var(--white-100);
		margin: 0 0 1rem 0;
		line-height: 1.6;
	}
	.masthead__form {
		grid-column: 2;
		width: 100%;
	}
	.masthead__form--contact-icon {
		display: inline-block;
		width: 18px;
	}
	.masthead__form--desc {
		font-size: clamp(1.0rem, 1.6vw, 2rem);
		font-weight: var(--font-weight-300);
		color: var(--white-100);
		margin: 0 0 1rem 0;
		line-height: 1.2;
	}
	.masthead__form--title {
		font-size: clamp(1.0rem, 3vw, 3rem);
		font-weight: var(--font-weight-400);
		color: var(--white-100);
		margin: 0 0 1rem 0;
		line-height: 1.2;
	}


	.masthead__blog {
		grid-template-columns: 1fr;
		display: grid;
		padding: 0 10rem;
		position: relative;
	}
	.masthead__privacy {
		grid-template-columns: 1fr;
		display: grid;
		padding: 0 10rem;
		position: relative;
		margin-top: 4rem;
	}

	.masthead__ff-logo img {
		width: 64%;
		margin: auto
	}









	.masthead__bullets {
		background-image: url(/assets/imgs/pngs/bg.png);
		background-color: var(--green-100);
		padding: 2rem;
		box-shadow: 2px 2px 10px -2px rgba(0, 0, 0, .2);
	}
	.masthead__heroshot {
		display: grid;
		width: 90%;
		margin: auto;
	}
	.masthead__list {
		text-align: left;
	}
	.masthead__list-item {
		font-family: var(--primary-font-fam);
		font-weight: var(--font-weight-400);
		font-size: clamp(1.0rem, 1vw, 2rem);
		color: var(--black-200);
		line-height: 1.8;
		list-style-image: url(/assets/imgs/pngs/check-circle.svg);
	}
	.masthead__sticky {
		position: -webkit-sticky;
		position: sticky;
		top: 0;
		z-index: 0;
	}
	.masthead__subtitle {
		font-weight: var(--font-weight-800);
		color: var(--orange-100);
		font-family: var(--headings-font-fam);
		font-size: clamp(1.0rem, 1.4vw, 2rem);
		line-height: 1.4;
		margin: 0 0 1rem;
		text-transform: uppercase;
		letter-spacing: 3px;
	}
	.masthead__title {
		font-weight: var(--font-weight-800);
		color: var(--black-300);
		font-family: var(--headings-font-fam);
		font-size: clamp(1.0rem, 1.6vw, 2rem);
		line-height: 1.4;
		margin: 0 0 1rem;
		text-transform: uppercase;
		letter-spacing: 3px;
	}
	/* .masthead__title::after {
		background: var(--orange-200);
	}
	.masthead__title::after {
		content: "";
		position: absolute;
		left: 8rem;
		top: 12rem;
		height: 0.5rem;
		width: 8rem;
		border-radius: 25px;
	} */
	.masthead__title-alt {
		font-weight: var(--font-weight-800);
		color: var(--black-300);
		font-family: var(--headings-font-fam);
		font-size: clamp(1.0rem, 1.6vw, 2rem);
		line-height: 1.4;
		margin: 0 0 2rem;
		text-transform: uppercase;
		letter-spacing: 3px;
	}
	/* .masthead__title-alt::after {
		background: var(--orange-200);
	}
	.masthead__title-alt::after {
		content: "";
		position: absolute;
		left: 10rem;
		top: 6rem;
		height: 0.5rem;
		width: 8rem;
		border-radius: 25px;
	} */

	
/* ====================== 
	C - container0
	===================== container0 */
	.middle {
		background-color: var(--white-100);
		padding: 2rem;
		display: grid;
		grid-template-columns: 1fr 1fr;
		width: 100%;
		justify-items: center;
	}
	.middle__desc {
		font-weight: var(--font-weight-300);
		color: var(--black-200);
		font-size: 1.2rem;
		line-height: 1.6;
	}
	.middle__heroshot {
		width: 80%
	}
	.middle__title {
		font-weight: var(--font-weight-800);
		color: var(--black-200);
		font-family: var(--headings-font-fam);
		font-size: 1.8rem;
		line-height: 1.2;
		margin: 2rem 0;
		text-transform: uppercase;
		letter-spacing: 3px;
	}
	.middle__list {
		font-weight: var(--font-weight-300);
		color: var(--black-200);
		font-size: 1.2rem;
		line-height: 1.6;
	}
	.middle__btn  {
			padding: 1rem;
			max-width: 166px;
			margin: 1rem 0 0;
			border: 0;
			border-radius: 0;
			background: var(--orange-200);
			color: #fff;
			font-size: var(--font-size-100);
			font-family: var(--primary-font-fam);
			font-weight:var(--font-weight-400);
		}
/* ====================== 
	M
	===================== modal */	
	.modal-body {
		position: relative;
		padding: 15px;
		display: grid;
		grid-template-columns: 1fr 1fr;
		gap: 2rem;
	}
	.modal-backdrop {
		z-index: 0!important;
	}	
	.modal__logo {
		width: 100%;
		max-width: 174px;
		margin: 0 0 1rem;
	}
	.modal__contact {
		display: inline-block;
		margin: .5rem;
		width: 14px;
	}

/* ====================== 
	C - container0
	===================== container0 */
	.bottom {
		background-color: var(--white-100);
		padding: 0;
		display: grid;
		width: 100%;
		overflow: hidden;
	}
	.bottom-cards {
		display: grid;
		grid-template-columns: repeat(3, 1fr);
		position: relative;
		background-color: var(--black-200);
		justify-items: center;
	}
	.bottom-cards__byline {
		background: var(--black-300);
		text-align: center;
		padding: 2rem 0;
		display: grid;
		grid-template-columns: 1fr;
		grid-column: span 3;
		width: 100%;
	}
	.bottom-cards__byline--links {
		font-family: var(--primary-font-fam);
		color: var(--white-200)!important;
		font-size: clamp(0.8rem, 1vw, 3rem);
	}
	.bottom-cards__byline--links:hover {
		color: var(--orange-200)!important;
		text-decoration: none ;	
	}
	.bottom-cards__card {
		padding: 4rem 2rem;
	}
	.bottom__get-in-touch {
		background:#8a6d3b;
		z-index: 0;
		display: grid;
		padding: 2rem;
		align-content: center;
	}
	.bottom__form {
		background-color: #222;
		z-index: 0;
		position: relative;
		top: 0;
		width: 100%;
		height: 100%;
		grid-template-columns: 1fr;
		display: grid;
		gap: 0 1rem;
		margin-bottom: 10rem;
	}
	.bottom__contact-form {
		background: #8a6d3b;

	}
	.bottom__contact-icon {
		display: inline-block;
		width: 18px;
	}
	.bottom__desc {
		font-size: clamp(1.0rem, 1.6vw, 2rem);
		font-weight: var(--font-weight-300);
		color: var(--white-100);
		margin: 0 0 1rem 0;
		line-height: 1.2;
	}
	.bottom__title {
		font-size: clamp(1.0rem, 3vw, 3rem);
		font-weight: var(--font-weight-400);
		color: var(--white-100);
		margin: 0 0 1rem 0;
		line-height: 1.2;
	}

	.bottom-cards__services {
		padding: 0 2rem;
		display: grid;
		justify-items: start;
	}
	.bottom-cards__logo{
		position: relative;
		display: grid;
	}
	.bottom-cards__logo-img {
		width: 240px;
		margin-bottom: 1rem;
	}

	/* .footer--social {
		display: flex;
		justify-content: flex-start;
		align-items: center;
		background: transparent;
		padding: 0px 0 0rem 0;
		grid-column: 1;
	}
	.footer--link {
		margin: 0 10px;
		width: 24px
	} */

	.bottom-cards__site-links {
		z-index: 1;
		position: relative;
		padding: 0rem;
		display: grid;
	}
	.bottom-cards__desc {
		font-weight: var(--font-weight-300);
		color: var(--white-200);
		font-size: clamp(0.9rem, 1vw, 3rem);
		line-height: 1.8;
		margin: 0 0 1rem 0;
		grid-column: 1;
	}
	.bottom-cards__title {
		font-weight: var(--font-weight-600);
		color: var(--white-100);
		font-size: clamp(1.0rem, 1vw, 1rem);
		line-height: 1.0;
	}
	.bottom-cards__contact-icon {
		display: inline-block;
		width: 18px;
	}
	.bottom-cards__list {
		display: grid;
		padding-left: 0!important;
		font-weight: var(--font-weight-300);
		font-size: var(--font-size-300);
		line-height: 1.8;
		color: var(--white-100);
		list-style: none;
		padding-left: 0;
	}	
	.bottom-cards__list-item {
		font-family: var(--primary-font-fam);
		font-weight: var(--font-weight-600);
		font-size: clamp(1.0rem, 1.0vw, 4rem);
		line-height: 1.0;
		color: var(--orange-400);
		list-style: none;
		margin: 0;
	}
	.bottom-cards__list-item a {
		font-weight: var(--font-weight-300);
		color: var(--white-200);
		font-size: clamp(0.9rem, 1vw, 3rem);
		line-height: 1.8;
	}

	.bottom-cards__social {
		display: grid;
		grid-template-columns: 1fr;
		width: 180px;
		margin-top: 10px;
	}
	.bottom-cards__social-link {
		width: 24px
	}





	.bottom--desc {
		font-weight: var(--font-weight-400);
		color: var(--white-100);
		font-size: clamp(.8rem, 1vw, 1rem);
		line-height: 1.6;
	}
	.bottom--caption-container {
		z-index: 0;
		position: absolute;
		top: 0;
		width: 100%;
		height: 100%;
		grid-template-columns: 1fr 1fr;
		display: grid;
		background: rgba(0,0,0,.2);
		align-items: center;
		justify-items: start;
	}
	.bottom--caption {
		position: relative;
		grid-column: 2;
		display: grid;
		width: 34rem;
		bottom: 0%;
		justify-content: start;
	}
	.bottom--caption-subtitle {
		font-weight: var(--font-weight-300);
		color: var(--orange-100);
		font-family: var(--headings-font-fam);
		font-size: clamp(1.0rem, 1vw, 3rem);
		line-height: 1.2;
		margin: 0 0 1rem;
		text-transform: uppercase;
		letter-spacing: 3px;
	}
	.bottom--caption-title {
		font-weight: var(--font-weight-800);
		color: var(--white-100);
		font-family: var(--headings-font-fam);
		font-size: clamp(1.8rem, 3vw, 3rem);
		line-height: 1.2;
		margin: 0 0 0rem;
		text-transform: uppercase;
		letter-spacing: 3px;
	}
.bottom--btn  {
		padding: 1rem;
		width: 166px;
		margin: 1rem 0 0;
		border: 0;
		border-radius: 0;
		background: var(--orange-200);
		color: #fff;
		font-size: var(--font-size-100);
		font-family: var(--primary-font-fam);
		font-weight:var(--font-weight-400);
	}






	.privacy {
		background-color: var(--white-100);
		padding: 2rem;
		display: grid;
		grid-template-columns: 1fr;
		width: 100%;
		justify-items: center;
	}
	.privacy__desc {
		font-weight: var(--font-weight-300);
		color: var(--black-200);
		font-size: 1.2rem;
		line-height: 1.6;
	}

	.privacy__title {
		font-weight: var(--font-weight-800);
		color: var(--black-200);
		font-family: var(--headings-font-fam);
		font-size: 1.8rem;
		line-height: 1.2;
		margin: 2rem 0;
		text-transform: uppercase;
		letter-spacing: 3px;
	}



	.sticky {
		position: -webkit-sticky;
		position: sticky;
		top: 0;
		z-index: 0;
		padding: 0;
		min-height: 200px;
	}



/* ====================== 
	I
	===================== iframe */

	.iframe-content {
		height: 100vh
	}


/* ====================== 
	M
===================== map */
	.modal-footer {
		padding: 15px;
		text-align: left;
		border-top: 1px solid #e5e5e5;
	}
	.modal-footer__links {
		color: var(--orange-300)!important;
	}

/* ====================== 
N
===================== navbar */

.menu {
	background-color: var(--orange-200);
    text-align: center;
    z-index: 999;
    width: 100%;
    display: grid;
    grid-template-columns: 1fr 256px;
}
	
	.menu--social {
		display: grid;
		grid-template-columns: repeat(3, 1fr);
		width: 150px;
		background: #fff;
		align-items: center;
	}

	.menu--social-icon {
		width: 26px
	}
	.menu__logo {
		width: 80%;
		max-width: 300px;
		padding: 1rem 0;
	}
	.menu__logo-container {
		grid-column: 2 / 2;
		display: grid;
		justify-items: center;
		justify-content: start;
	}

	nav {
		position: absolute;
		text-align: left;
		top: 100%;
		left: 0;
		background: var(--background);
		width: 100%;
		transform: scale(1, 0);
		transform-origin: top;
		transition: transform 200ms ease-in-out;
	}
	
	nav a {
		color:var(--black-300);
		text-decoration: none;
		font-size: var(--font-size-100);
		font-family: var(--primary-font-fam);
		font-weight:var(--font-weight-400);
		opacity: 0;
		transition: opacity 150ms ease-in-out;
	}

	.menu--nav-toggle {
		position: absolute !important;
		top: -9999px !important;
		left: -9999px !important;
	}
	
	.menu--nav-toggle:focus ~ .menu--nav-toggle-label {
		outline: 3px solid rgba(lightblue, .75);
	}
	
	/* .menu--nav-toggle-label {
		position: absolute;
		top: 50px;
		right: 0;
		margin-right: 2em;
		display: flex;
		align-items: center;
	} */
	
	.menu--nav-toggle-label span::before,
	.menu--nav-toggle-label span::after {
		content: '';
		position: absolute;
	}
	
	.menu--nav-toggle-label span, .menu--nav-toggle-label span::before, .menu--nav-toggle-label span::after {
		display: block;
		background:var(--black-200);
		height: 2px;
		width: 3em;
		border-radius: 2px;
		position: relative;
	}
	
	.menu--nav-toggle-label span::after {
		top: 10px;
	}
	
	.menu--nav-toggle-label span::before {
		bottom: 10px;
	}
	
	nav ul {
		background:var(--white-100);
		margin: 0 0 0 1rem;
		padding: 0;
		list-style: none;
		text-align: center;
	}
	
	nav ul li {
		margin-left: 0;
		padding: 1.0rem 0;
	}
	
	.menu--nav-toggle:checked ~ nav {
		transform: scale(1,1);
	}
	
	.menu--nav-toggle:checked ~ nav a {
		opacity: 1;
		transition: opacity 250ms ease-in-out 250ms;
		color: var(--black-200);
	}
  



/* ====================== 
	S
	===================== spacer */
	.spacer {
		min-height: 10rem;
		display: block;
	}

/* ====================== 
	V
	===================== video */
	video {
		position: relative;
		width: 100%;
		height: 100%;
	}

/* ====================== 
	W
	=====================  */
	.what-we-do {
		display: grid;
		grid-template-columns: 1fr 1fr;
		gap: 1rem;
	}
	a:link {
		color: inherit;
		text-decoration: inherit
	}
	a:visited {
		color: inherit;
		text-decoration: inherit
	}
	a:hover,
	a:active,
	a:focus {
		color: inherit;
		text-decoration: inherit;
	}

	.what-we-do__left {
		display: grid;
	}
	.what-we-do__right--ffcu {		
		background-color: var(--green-100);
		display: grid;
		align-items: center;
	}
	.what-we-do__right--ev {		
		background-color: var(--orange-200);
		display: grid;
		align-items: center;
	}
	.what-we-do__right--mod {		
		background-color: var(--green-100);
		display: grid;
		align-items: center;
	}
	.what-we-do__desc {
		font-weight: var(--font-weight-400);
		color: var(--white-100);
		font-size: clamp(.8rem, 1vw, 1rem);
		line-height: 1.6;
	}
	.what-we-do__caption-container {

		position: absolute;
		display: grid;
		padding: 0 2rem;
	}
	.what-we-do__caption {
		position: relative;
		display: grid;
	}
	.what-we-do__caption-subtitle {
		font-weight: var(--font-weight-300);
		color: var(--orange-100);
		font-family: var(--headings-font-fam);
		font-size: clamp(1.0rem, 1vw, 3rem);
		line-height: 1.2;
		margin: 0 0 1rem;
		text-transform: uppercase;
		letter-spacing: 3px;
	}
	.what-we-do__caption-title {
		font-weight: var(--font-weight-800);
		color: var(--white-100);
		font-family: var(--headings-font-fam);
		font-size: clamp(1.0rem, 3vw, 3rem);
		line-height: 1.2;
		margin: 0 0 2rem;
		text-transform: uppercase;
		letter-spacing: 3px;
	}
.what-we-do__btn  {
		padding: 1rem;
		width: 166px;
		margin: 1rem 0 0;
		border: 0;
		border-radius: 0;
		background: var(--orange-200);
		color: #fff;
		font-size: var(--font-size-100);
		font-family: var(--primary-font-fam);
		font-weight:var(--font-weight-400);
	}

/* ====================== 
	Software CSS over-rides
	===================== blog */

	#pjWrapper .pjBlNav .btn-default {
		background: transparent!important;
		border-color: #fff!important;
		color: #fff;
	}
	.pjBlArticleFoot {
		background:  transparent!important;
	}
	#pjWrapper .pjBlArticle .pjBlArticleFoot {
		display: none!important;
	}
	#pjWrapper .pjBlForm .pjBlFormCaptcha .form-control, #pjWrapper .pjBlForm .pjBlFormCaptcha img {
		width: inherit;
		margin-bottom:  10%;
	}
	#pjWrapper .pjBlArticle .pjBlArticleBody img, #pjWrapper .pjBlArticle .pjBlArticleBody iframe {
		margin-bottom:  2%;
	}
	#pjWrapperStivaBlogSidebar .pjSbContainer .recent-widget .post .post-thumbnail img {
		max-width: 100%!important;
		margin: 0;
	}
	#pjWrapperStivaBlogSidebar .pjSbContainer .recent-widget .post h6 {
		font: 600 1.1rem/1.2 'Montserrat', sans-serif!important;
		margin: 10px 0 !important;
		padding:  0;
		color: #fff!important;
		text-align:  left!important;
	}
	#pjWrapperStivaBlogSidebar .pjSbContainer .recent-widget .post h6 a {
		font: 400 1.1rem/1.2 'Montserrat', sans-serif;
		color: #fff!important;
	}
	.pjBlPostParagraph {
		font: 300 .8rem/1.4 'Montserrat', sans-serif!important;
		color: #222;
		text-align:  left;
		padding:  0;
	}
	.text .pjBlPostParagraph {
		font: 300 .8rem/1.4 'Montserrat', sans-serif!important;
		color: #eee!important;
		text-align:  left;
		padding:  0;
	}
	#pjWrapperStivaBlogSidebar .pjSbContainer .recent-widget .post .post-thumbnail {
		float: left;
		margin: 0px 0 0 0!important;
		padding: 0;
		border: 1px solid #eee;
	}
	#pjWrapperStivaBlogSidebar .pjSbContainer .recent-widget .post .text {
		padding: 0 10px!important;
	}
	#pjWrapperStivaBlogSidebar .pjSbContainer .recent-widget .post {
		width: 22%!important;
		display: inline-block;
		margin: 0 10px;
		background: rgba(255, 255, 255, 0.2);
	}
	#pjWrapper .pjBlArticle .pjBlArticleBody p {
		color: #222!important;
		font: 400 0.9rem/1.8 'Montserrat', sans-serif!important;
	}	
	#pjWrapperStivaBlogSidebar .pjSbContainer {
		background: transparent!important;
		text-align: center;
	}
	#pjWrapperStivaBlogSidebar .pjSbContainer h5.widget-head {
		font-size: 2.0em!important;
		line-height: 1.2!important;
		border-bottom: 0!important;
		padding: 0 0 10px 0!important;
		margin-bottom: 20px!important;
		font-weight: 400!important;
		color: var(--orange-100);
		text-align: center;
	}
	/* ====================== 
	Software CSS over-rides
	===================== contact form */
	[id^=pjWrapper] .panel-body {
		padding: 0!important;
	}

	[id^=pjWrapper] a {
		color: #fff!important;
		text-decoration: none;
	}
	[id^=pjWrapper] .privacy-opt-in {
		color: #222!important;
	}
	#pjCF_container_1 {
		font-family: Arial;
		font-size: 12px;
		color: #000000;
		background-color: transparent!important;
	}
	#pjCF_container_2 {
		font-family: Arial;
		font-size: 12px;
		color: #000000;
		background-color: transparent!important;
	}
	#pjCF_container_1 .pjCF-form-field {
		border-radius: 5px!important;
	}
	#pjCF_container_2 .pjCF-form-field {
		border-radius: 5px!important;
	}
	.pjCF-form label.cf-heading-large {
		font-weight: var(--font-weight-400)!important;
		font-family: var(--headings-font-fam)!important;
		font-size: clamp(2.0rem, 2.0vw, 2.0rem)!important;
		padding: var(--padding-zero)!important;
		color: var(--white-200)!important;
		margin-bottom: 1rem!important
	}
	.pjCF-form label.cf-heading-medium {
		font-weight: var(--font-weight-500)!important;
		font-family: var(--headings-font-fam)!important;
		font-size: clamp(1.8rem, 1.2vw, 2.0rem)!important;
		padding: 0;
		color: var(--black-300);
		margin-bottom: 1rem;
	}
	.pjCF-form label.cf-heading-medium img {
		transform: translateY(-3px);
		opacity: .8;
		width: 18px;
	}
	.pjCF-form label.cf-heading-small {
		font-weight: var(--font-weight-300)!important;
		font-family: var(--headings-font-fam)!important;
		font-size: var(--font-size-200)!important;
		color: var(--black-300)!important;
		padding: 0;
		margin-bottom: 1rem
	}
	[id^=pjWrapper] .form-group {
		margin-bottom: 10px!important;
	}
	.pjCF-form .form-control {
		height: 3rem!important;
		padding: 0 12px!important;
		border-radius: 0!important;
		background: rgba(255, 255, 255, 0.9)!important;
	}
	.form-control__masthead {
		border: 1px solid #eee!important;
		box-shadow: none!important;
	}
	body [id^=pjWrapper] {
		background-color: transparent!important;
	}
	#pjCF_container_1 .pjCF-button {
		background-color: var(--orange-100)!important;
		border-radius: 30px!important;
		border: 0!important;
		color: var(--white-100)!important;
		font-family: var(--primary-font-fam)!important;
		font-weight: var(--font-weight-300)!important;
		font-size: var(--font-size-400)!important;
		width: 12rem!important;
		padding: 14px 0!important;
	}
	#pjCF_container_1 .pjCF-button:hover {
		background-color: var(--orange-100)!important;
		color: var(--white-100)!important;
		transition: .5s;
	}
	#pjCF_container_2 .pjCF-button {
		background-color: var(--green-100)!important;
		border-radius: 30px!important;
		border: 0!important;
		color: var(--white-100)!important;
		font-family: var(--primary-font-fam)!important;
		font-weight: var(--font-weight-300)!important;
		font-size: var(--font-size-400)!important;
		width: 12rem!important;
		padding: 14px 0!important;
	}
	#pjCF_container_2 .pjCF-button:hover {
		background-color: var(--orange-100)!important;
		color: var(--white-100)!important;
		transition: .5s;
	}
	.checkbox label, [id^=pjWrapper] .radio label {
		color:var(--white-100);
	}
	.container__formAlt .checkbox label, [id^=pjWrapper] .radio label {
		color:var(--black-100);
	}

	[id^=pjWrapper] .pjPplThumbs {
		max-width: 598px!important;
	}
	[id^=pjWrapper] .pjPplProductTitle, [id^=pjWrapper] .pjPplProductTitle a {
		color: #222!important;
	}
	[id^=pjWrapper] .pjPplProductPrice, [id^=pjWrapper] .pjPplProductType {
		color: #333!important;
	}
	[id^=pjWrapper] .pjPplHeading {
		display: none;
	}
	.btn {
		padding: 6px 44px!important;
		border-radius: 0!important;
	}
	[id^=pjWrapper] .pjPplProductPanel .panel-heading {
		color: #333!important;
	}
	[id^=pjWrapper] .pjPplProductDesc.text {
		color: #333!important;
		padding: 1rem 2rem!important;
		line-height: 2.0;
	}
	[id^=pjWrapper] .pjPplProductPanel .panel-body.features {
		color: #4c4d4f;
		padding: 1rem 2rem!important;
	}
	[id^=pjWrapper] .pjPplProductPanel .panel-body.features img {
		width: 20px;
		margin: 0 6px 0 0;
	}
	[id^=pjWrapper] .pjPplProductPanel .panel-body.contact {
		color: #4c4d4f;
		padding: 1rem 2rem!important;
	}
	[id^=pjWrapper] .pjPplProductPanel .panel-body.address {
		color: #4c4d4f;
		padding: 1rem 2rem!important;
	}
	.directory {
		max-width: 1200px;
		margin: auto;
	}
	#frmSearch {
		display: none
	}
	[id^=pjWrapper] .ppMapDetailsContainer {
		height: 380px!important;
	}
	.pjCF-form label.cf-heading-small {
		font-weight: var(--font-weight-300) !important;
		font-family: var(--headings-font-fam) !important;
		font-size: 1.2rem!important;
		color: #fff !important;
		padding: 0;
		margin: 1rem 0;
	}
	#pjCF_container_2 {
		font-family: Arial;
		font-size: 12px;
		color: #fff!important;
		background-color: #ffffff;
	}
	body [id^="pjWrapperContactForm_2"] {
		padding: 0 4rem;
	}
	[id^=pjWrapper] .btn-default {
		color: #333;
		background-color: #fff;
		border-color: #ccc;
		padding: 1rem 2rem!important;
	}
	[id^=pjWrapper] .input-group-addon {
		background-color: #333!important;
	}