/*
Theme Name: 
Theme URI: 
Description: Bespoke Theme developed by Adrian @ AlphaWebServices.net
Author: Adrian Jones
Version: 1.0
License: 
License URI: 
Tags: 
*/

*		{margin: 0; border: 0; padding: 0; outline: 0; box-sizing: border-box;}
p, a, small, li, textarea, input, label, td, tr, .gform_confirmation_message, div, .uabb-adv-accordion-content p {font-family: "Nunito Sans", sans-serif; font-weight: 400; font-style: normal;}
h1, h2, h3, h4, h5		{font-family: "Nunito Sans", sans-serif; font-weight: 700; font-style: normal;}
.clear		{clear: both;}
a		{text-decoration: none; color: inherit;}
html		{overflow-y: scroll; background-color: #fff; scroll-behavior: smooth;}
ul		{list-style-type: none;}
img.alignright {float:right; margin:0 0 1em 1em}
img.alignleft {float:left; margin:0 1em 1em 0}
img.aligncenter {display: block; margin-left: auto; margin-right: auto}
.alignright {float:right; }
.alignleft {float:left; }
.aligncenter {display: block; margin-left: auto; margin-right: auto}
img         {max-width: 100%; max-height: 100%; height: auto;}

.wrapper        {width: 1300px; margin: 0 auto; position: relative;}
.wrapper:after  {content: ""; display: block; clear: both;}

.yPadding        {padding-top: 80px; padding-bottom: 80px;}
.centered       {text-align: center;}

.flex			{display: flex;}
.align-center	{align-items: center;}
.align-bottom	{align-items: flex-end;}
.justify-between	{justify-content: space-between;}
.justify-center		{justify-content: center;}

.top			{background: #33ca33; padding: 10px 0;}
.top .row		{justify-content: flex-end; align-items: center;}
.top .row .shiftnav-toggle-button	{display: none; background: transparent; padding: 0; font-size: 24px;}
.top .row .shiftnav-toggle-button:hover		{background: transparent; padding: 0;}
.top .row ul li	{display: inline-block; color: #fff; font-weight: 500; font-size: 14px;}
.top .row ul li + li	{margin-left: 20px;}
.top .row ul li i		{color: #000; padding-right: 8px;}
.top .row ul li a		{color: #fff; font-weight: 500; font-size: 14px;}

#header         {padding: 15px 0;}
#header .row	{justify-content: space-between; align-items: center;}
#header .row .logo	{display: block; max-height: 120px;}
#header .menu       {}
#header .menu > li  {position: relative; display: inline-block; vertical-align: top;}
#header .menu > li + li     {margin-left: 30px;}
#header .menu > li > a      {text-transform: uppercase; font-weight: 500;}
#header .menu > li > ul     {position: absolute; display: none; top: 100%; left: -15px; z-index: 999; background: #fff; border: 3px solid #33ca33; border-width: 0 3px 3px; padding-top: 10px;}
#header .menu > li > ul > li    {padding: 8px 0;}
#header .menu > li > ul > li > a    {display: block; padding: 0 15px; white-space: nowrap;}
#header .menu > li.active > a       {color: #33ca33;}
#header .menu li:hover > a        {color: #33ca33;}
#header .menu > li:hover > ul       {display: block;}
#header .menu > li.menu-item-has-children > a:after	{content: "\f0d7"; font-family: 'Font Awesome 5 Free'; font-weight: 900; padding-left: 7px;}

.homeBanner			{height: 550px;}
.homeBanner .overlay	{padding: 50px 150px 0; color: #fff;}
.homeBanner .overlay h1	{font-size: 72px;}
.homeBanner .overlay p	{margin-top: 20px; font-size: 24px;}

.homeBoxes			{background: #171717; color: #fff; text-align: center; padding-bottom: 50px;}
.homeBoxes .boxes	{display: flex; justify-content: space-between; column-gap: 20px; position: relative; top: -200px; height: 160px; text-align: left;}
.homeBoxes .boxes > div		{width: 25%;}
.homeBoxes .boxes > div:nth-of-type(1)	{border-top: 10px solid #33ca33;}
.homeBoxes .boxes > div:nth-of-type(2)	{border-top: 10px solid #979797;}
.homeBoxes .boxes > div:nth-of-type(3)	{border-top: 10px solid #dfeee3;}
.homeBoxes .boxes > div:nth-of-type(4)	{border-top: 10px solid #171717;}
.homeBoxes .boxes .boxInner			{position: relative;}
.homeBoxes .boxes .boxInner:before		{content: ""; display: inline-block; vertical-align: top; padding-top: 100%;}
.homeBoxes .boxes .boxInner .overlay	{position: absolute; top: 0; left: 0; height: 100%; width: 100%; background: rgba(0,0,0,0);}
.homeBoxes .boxes .boxInner:hover .overlay	{background: rgba(0,0,0,0.4);}
.homeBoxes .boxes .boxInner p			{display: inline-block; padding: 15px 0 0 15px; max-width: 75%; font-size: 32px; font-weight: 300; position: relative;}
.homeBoxes .boxes .boxInner span		{position: absolute; bottom: 10px; right: 10px; text-transform: uppercase; font-size: 13px;}
.homeBoxes h2	{font-size: 36px;}
.homeBoxes a.cta	{display: block; text-transform: uppercase; letter-spacing: 2px; font-size: 14px; margin-top: 10px;}

.homeAccred			{background: #33ca33; color: #fff; padding: 25px 0;}
.homeAccred .row	{display: flex; align-items: center;}
.homeAccred .left	{width: 40%; border-right: 2px solid #fff; padding-right: 40px;}
.homeAccred .left p	{font-size: 20px;}
.homeAccred .right	{width: 60%; padding-left: 40px; display: flex; align-items: center; justify-content: space-between;}
.homeAccred .right img	{display: block; max-height: 140px;}

.homeStory			{background: url(images/story-bg.jpg) no-repeat center; background-size: cover;}
.homeStory h2		{font-size: 54px; margin-bottom: 30px; color: #33ca33;}
.homeStory p		{padding: 0 150px;}
.homeStory p strong	{font-size: 20px;}
.homeStory > div > * + *	{margin-top: 20px;}
.homeStory a.button	{display: inline-block; color: #fff; background: #33ca33; padding: 12px 40px; border-radius: 30px; text-transform: uppercase; font-size: 14px; letter-spacing: 1px; margin-top: 30px;}
.homeStory a.button:hover		{background: #fff; color: #33ca33;}

.homeShowcase		{background: #171717; color: #fff; position: relative;}
.homeShowcase h2	{font-size: 54px; margin-bottom: 30px; color: #33ca33;}
.homeShowcase p strong	{}
.homeShowcase .text		{width: 50%;}
.homeShowcase .text > * + *	{margin-top: 20px;}
.homeShowcase a.button	{display: inline-block; color: #fff; background: #33ca33; padding: 12px 40px; border-radius: 30px; text-transform: uppercase; font-size: 14px; letter-spacing: 1px; margin-top: 30px;}
.homeShowcase a.button:hover		{background: #fff; color: #33ca33;}
.homeShowcase .rightImg	{position: absolute; top: 0; right: 0; width: 40vw; border-top: 15px solid #33ca33; height: 100%;}
.homeShowcase .rightImg img		{object-fit: cover; width: 100%; height: 100%;}

.homeValues			{background: url(images/values-bg.jpg) no-repeat center; background-size: cover; color: #fff;}
.homeValues h2		{font-size: 54px; margin-bottom: 30px;}
.homeValues .values		{display: flex; justify-content: center;}
.homeValues .values > div	{width: 24%; padding: 0 25px; color: #fff; text-align: center;}
.homeValues .values > div + div		{border-left: 2px solid #b6b6b6;}
.homeValues .values > div img		{display: block; max-height: 150px; margin: 0 auto 20px;}
.homeValues .values > div p			{font-weight: 300;}
.homeValues .values > div p span	{display: block; font-weight: 700; font-size: 20px;}

.homeTestimonials	{background: #33ca33; color: #fff;}
.homeTestimonials h2	{font-size: 54px; margin-bottom: 30px;}
.homeTestimonials .reviews		{margin: 0 150px;}
.homeTestimonials .reviews li p.review		{font-weight: 300; line-height: 160%;}
.homeTestimonials .reviews li p.name		{font-size: 24px; font-weight: 500; margin-top: 20px;}
.homeTestimonials .reviews li p.name span	{color: #000;}
.homeTestimonials .reviews li p.stars		{color: #000; margin-top: 20px;}

#footer				{background: #171717; color: #fff; font-size: 14px;}
#footer a			{color: #33ca33;}
#footer img			{max-height: 80px;}
#footer p.address		{margin-top: 30px; color: #fff; font-weight: 300; line-height: 120%;}
#footer p.address span	{color: #33ca33; font-weight: 500;}
#footer ul.contacts		{margin: 30px 0 0;}
#footer ul.contacts li	{display: inline-block; color: #33ca33;}
#footer ul.contacts li + li			{margin-left: 10px;}
#footer ul.contacts li + li:before	{content: "|"; padding-right: 10px;}
#footer ul.footLinks		{margin-top: 20px;}
#footer ul.footLinks li		{display: inline-block;}
#footer ul.footLinks li + li	{margin-left: 10px;}
#footer ul.footLinks li + li:before	{content: "|"; padding-right: 10px; color: #33ca33;}
#footer ul.footLinks li a	{color: #fff; text-transform: uppercase; font-weight: 500;}

.copy		{background: #323131; padding: 20px;}
.copy p		{color: #fff; font-size: 13px; font-weight: 300;}

.content			{color: #171717;}
.content h1         {color: #33ca33; font-size: 54px; margin-bottom: 30px; text-align: center;}
.content h2         {color: #33ca33; font-size: 42px; margin-bottom: 30px;}
.content h3         {font-size: 32px; margin-bottom: 10px;}
.content h4         {}
.content h5         {}
.content p          {line-height: 150%;}
.content a          {font-weight: bold; color: #33ca33;}
.content ul         {margin: 0 0 20px 30px;}
.content ul li      {padding: 8px 0; list-style-type: disc;}
.content ol         {margin: 0 0 20px 30px;}
.content ol li      {padding: 8px 0; list-style-type: decimal;}
.content > * + *,
.content .fl-rich-text > * + *	{margin-top: 15px;}

.content .gform_wrapper .gform_footer .button		{border: 2px solid #33ca33!important; border-radius: 30px!important; color: #000!important; font-size: 16px!important; background: transparent!important; padding: 14px 20px!important;}
.content .gform_wrapper .gform_footer .button:hover		{color: #33ca33!important;}

.projectsIndex .project-category-list		{display: flex; justify-content: center; column-gap: 40px; margin: 0 0 40px;}
.projectsIndex .project-category-list li	{list-style: none; margin: 0;}
.projectsIndex .project-category-list li.active		{text-decoration: underline;}
.projectsIndex .projectsGrid		{display: flex; flex-wrap: wrap; row-gap: 40px; column-gap: 20px;}
.projectsIndex .projectsGrid > div	{width: calc((100% / 4) - 15px); padding: 10px; background: #E8F1EE; border-radius: 10px; text-align: center;}
.projectsIndex .projectsGrid .project .inner			{color: #000;}
.projectsIndex .projectsGrid .project .img				{margin-bottom: 10px;}
.projectsIndex .projectsGrid .project .img:before		{content: ""; display: block; padding-top: 100%;}
.projectsIndex .projectsGrid .project h4	{margin-bottom: 10px;}

.projectsSingle .content h4		{margin-bottom: 6px;}
.projectsSingle .review			{background: #E8F1EE; padding: 25px; border-radius: 10px; margin: 30px 0;}
.projectsSingle .gallery		{display: flex; flex-wrap: wrap; gap: 20px;}
.projectsSingle .gallery .img	{width: 18%; aspect-ratio: 1/1;}
.projectsSingle .gallery .img img	{object-fit: cover; height: 100%; width: 100%;}

/* Add hover effect to UABB Info Box when Complete Box is linked */
.uabb-infobox:hover {
  cursor: pointer;
  transform: scale(1.02); /* slight zoom */
  box-shadow: 0 4px 12px rgba(0,0,0,0.15); /* shadow effect */
  transition: all 0.3s ease;
}

@media all and (max-width : 1300px) {
	.wrapper,
	.innerpage.generic .fl-builder-content {
		width: auto;
		padding-left: 15px;
		padding-right: 15px;
	}
	#header .menu > li + li {
		margin-left: 15px;
	}
	.homeBanner .overlay {
		padding: 50px 50px 0;
	}
	.homeBanner .overlay h1 {
		font-size: 64px;
	}
	.homeBanner .overlay p {
		font-size: 20px;
	}
	.homeBoxes .boxes .boxInner p {
		font-size: 24px;
	}
}

@media all and (max-width : 992px) {
	.top .row {
		justify-content: space-between;
	}
	.top .row .shiftnav-toggle-button {
		display: block;
	}
	#header .row {
		justify-content: center;
	}
	.homeBanner {
		height: auto;
	}
	.homeBanner .overlay {
		padding: 80px 0;
	}
	.homeBoxes {
		padding: 60px 0;
	}
	.homeBoxes .boxes {
		top: 0;
		height: auto;
		flex-wrap: wrap;
		row-gap: 40px;
		margin-bottom: 40px;
	}
	.homeBoxes .boxes > div {
		width: 47%;
		border: 0!important;
	}
	.projectsIndex .projectsGrid > div {
		width: calc((100% / 3) - 15px);
	}
}

@media all and (max-width : 768px) {
	.homeStory p {
		padding: 0;
	}
	.homeShowcase .text {
		width: auto;
	}
	.homeShowcase .rightImg {
		position: static;
		width: 100%;
	}
	.homeShowcase .rightImg img {
		display: block;
	}
	.homeValues .values {
		flex-direction: column;
	}
	.homeValues .values > div {
		width: auto;
		padding: 25px 0;
	}
	.homeValues .values > div + div {
		border-left: 0;
		border-top: 2px solid #b6b6b6;
	}
	.projectsIndex .projectsGrid > div {
		width: calc((100% / 2) - 10px);
	}
	.projectsIndex .project-category-list {
		flex-direction: column;
		align-items: center;
	}
	.projectsSingle .gallery .img {
		width: 30%;
	}
	.innerpage.generic {
		padding-bottom: 40px;
	}
	.innerpage.generic .fl-builder-content > div + div,
	.innerpage.generic .fl-builder-content .fl-col-group > div + div,
	.innerpage.generic .fl-builder-content .fl-col-group .fl-col-content > div + div {
		margin-top: 20px;
	}
}

@media all and (max-width : 586px) {
	.yPadding {
		padding-top: 60px;
		padding-bottom: 60px;
	}
	.top .row ul li + li {
		margin-left: 10px;
	}
	.top .row ul li i {
		padding-right: 3px;
	}
	#header .row .logo {
		max-height: 100px;
	}
	.homeBanner .overlay h1 {
		font-size: 42px;
	}
	.homeBanner .overlay p {
		font-size: 18px;
	}
	.homeBoxes .boxes > div {
		width: 100%;
	}
	.homeBoxes .boxes .boxInner p {
		font-size: 28px;
	}
	.content h1 {
		font-size: 42px;
	}
	.homeStory h2,
	.homeShowcase h2,
	.homeValues h2,
	.content h2 {
		font-size: 38px;
	}
}