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

@import url('https://fonts.googleapis.com/css2?family=Montserrat:ital,wght@0,100..900;1,100..900&display=swap');
@import url('https://fonts.googleapis.com/css2?family=Open+Sans:ital,wght@0,300..800;1,300..800&display=swap');
@import url('https://fonts.googleapis.com/css2?family=Roboto+Slab:wght@100..900&display=swap');

*		{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: "Open Sans", sans-serif;}
h1, h2, h3, h4, h5		{font-family: "Montserrat", sans-serif; font-weight: 900;}
.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;}

#header         {}
#header .headTop		{padding: 15px 0;}
#header .headTop .shiftnav-toggle	{display: none; position: absolute; background: transparent; color: #000;}
#header .headTop .shiftnav-toggle i		{font-size: 28px;}
#header .headTop .logo	{position: absolute; left: 0; top: 50%; z-index: 999;}
#header .headTop .logo:before	{content: ""; position: absolute; background: #000; height: 58px; width: 98%; z-index: -1;}
#header .headTop .logo img		{max-height: 290px;}
#header .headTop .rightLogo		{float: right; height: 85px;}
#header .headTop .menu       	{float: right; margin-right: 80px; padding: 30px 0;}
#header .headTop .menu > li  	{position: relative; display: inline-block; vertical-align: top; line-height: 25px;}
#header .headTop .menu > li + li     {margin-left: 40px;}
#header .headTop .menu > li > a      {font-weight: 900; text-transform: uppercase;}
#header .headTop .menu li:hover > a,
#header .headTop .menu > li.active > a,
#header .headTop .menu > li.current-page-ancestor > a	{color: #ea5818;}
#header .headTop .menu > li > ul	{display: none; position: absolute; background: #fff; padding-top: 15px; z-index: 9999;}
#header .headTop .menu > li > ul > li	{padding: 8px 0;}
#header .headTop .menu > li > ul > li > a	{display: block; padding: 0 10px; white-space: nowrap;}
#header .headTop .menu > li:hover > ul		{display: block;}

/* Hide employers menu item on job seekers page */
body.page-id-22 #header .headTop .menu li.menu-item-39,
body.parent-pageid-22 #header .headTop .menu li.menu-item-39	{display: none;}
/* Hide job seekers menu item on employers page */
body.page-id-24 #header .headTop .menu li.menu-item-40,
body.parent-pageid-24 #header .headTop .menu li.menu-item-40	{display: none;}
/* Hide vacancies button by default */
#header .headTop .menu li.menu-item-316		{display: none;}
#header .headTop .menu li.menu-item-316 a	{background: #ea5818; color: #fff; padding: 8px 16px; border: 1px solid #ea5818;}
/* display vacancies button on job seeker pages */
body.page-id-22 #header .headTop .menu li.menu-item-316,
body.parent-pageid-22 #header .headTop .menu li.menu-item-316		{display: inline-block;}
body.page-id-22 #header .headTop .menu li.menu-item-316:hover a,
body.parent-pageid-22 #header .headTop .menu li.menu-item-316:hover a		{background: transparent; color: #ea5818;}

#header .headBottom		{background: #000 url(images/head-bg.jpg) no-repeat left top; background-size: auto; height: 260px;}
body.home #header .headBottom,
body.page-id-22 #header .headBottom,
body.page-id-24 #header .headBottom	{height: 600px; background-size: auto 100%;}
#header .headBottom .headText		{float: right; color: #fff; padding: 75px 250px 0 0; width: 960px;}
#header .headBottom .headText h1,
#header .headBottom .headText h2,
#header .headBottom .headText h3	{text-transform: uppercase; font-size: 46px;}
#header .headBottom .headText p		{line-height: 180%; margin-top: 10px;}

#homeContent		{background: url(images/home-bg.jpg) no-repeat center; background-size: cover;}
.homeBoxes			{position: relative; top: -310px;}
.homeBoxes .flex	{justify-content: space-between;}
.homeBoxes .flex > div	{width: 50%;}
.homeBoxes .flex > div:nth-of-type(1) > div		{border-left: 15px solid #fdc42c;}
.homeBoxes .flex > div:nth-of-type(2) > div		{border-top: 15px solid #ea5818; margin-left: 30px;}
.homeBoxes .flex .boxInner				{position: relative;}
.homeBoxes .flex .boxInner:before		{content: ""; display: inline-block; vertical-align: middle; padding-top: 100%;}
.homeBoxes .flex .boxInner .overlay		{position: absolute; top: 0; left: 0; height: 100%; width: 100%; background: rgba(0,0,0,0.2); z-index: 1;}
.homeBoxes .flex .boxInner .text		{display: inline-block; vertical-align: middle; color: #fff; text-align: left; position: relative; z-index: 2;}
.homeBoxes .flex .boxInner .text p		{text-transform: uppercase; font-weight: 900; font-size: 22px;}
.homeBoxes .flex .boxInner .text p span	{display: block; border: 5px solid #fff; padding: 15px 35px; font-size: 32px; margin-top: 15px;}
.homeBoxes .flex > div:hover .overlay	{background: rgb(136 136 136 / 50%);}
#homeContent .fl-builder-content		{margin-top: -300px; line-height: 160%;}
#homeContent .fl-builder-content .fl-module.fl-module-rich-text > * + *	{margin-top: 20px;}

#homeAbout		{position: relative; background-color: #000; display: flex; align-items: center; min-height: 685px;}
#homeAbout .wrapper 	{max-width: 1300px; margin: 0 auto; width: 100%; padding: 60px min(35vw, 720px) 60px 0; box-sizing: border-box;}
#homeAbout .leftContent {color: #fff; line-height: 160%;}
#homeAbout .leftContent > * + *	{margin-top: 20px;}
#homeAbout .leftContent > a		{display: inline-block; background: url(images/right-arrow-w.png) no-repeat right center; background-size: auto 16px; padding: 0 35px 0 0; text-transform: uppercase; font-weight: 900; font-size: 24px;}
#homeAbout .leftContent ul.buttons	{display: flex; gap: 12px;}
#homeAbout .leftContent ul.buttons li	{}
#homeAbout .leftContent ul.buttons li a	{display: block; text-transform: uppercase; font-weight: 900; padding: 4px 10px; border: 3px solid #fff; font-size: 18px; letter-spacing: 1px;}
#homeAbout .leftContent ul.buttons li a:hover		{background: #fff; color: #000;}
#homeAbout .image-wrap 	{position: absolute; top: 0; right: 0; bottom: 0; width: min(40vw, 720px); overflow: hidden;}
#homeAbout .image-wrap img 	{width: 100%; height: 100%; object-fit: cover; display: block;}

.content h1         {margin-bottom: 20px; margin-top: 30px; letter-spacing: 1px;}
.content h2         {margin-bottom: 10px; margin-top: 20px; letter-spacing: 1px;}
.content h3         {margin-bottom: 10px; margin-top: 20px;}
.content h4         {margin-bottom: 15px;}
.content h5         {margin-bottom: 15px;}
.content p          {line-height: 150%; margin-top: 20px;}
.content a          {font-weight: bold;}
.content ul         {margin: 20px 0 0 30px;}
.content ul li      {padding: 8px 0; list-style-type: disc;}
.content ol         {margin: 20px 0 0 30px;}
.content ol li      {padding: 8px 0; list-style-type: decimal;}
.content .fl-pricing-table li   {list-style-type: none;}
#more_posts			{display: block; max-width: 250px; background: #000; color: #fff; border-radius: 2px; text-align: center; font-size: 17px; font-weight: 600; cursor: pointer; text-transform: uppercase; padding: 12px 0; margin: 60px auto 0; border-radius: 5px; -webkit-border-radius: 5px;}

.innerpage .gform_wrapper .gform_body input,
.innerpage .gform_wrapper .gform_body textarea	{border: 1px solid #3c423c;}
.innerpage .gform_wrapper .gform_body label		{font-weight: 800; color: #3c423c;}
.innerpage .gform_wrapper .gform_footer input[type="submit"]	{display: inline-block; color: #fff; text-transform: uppercase; font-size: 16px; font-weight: 700; background: #308c88; border: 3px solid #308c88; padding: 8px 40px; border-radius: 30px; cursor: pointer; text-align: center;}
.innerpage .gform_wrapper .gform_footer input[type="submit"]:hover		{background: #fff; color: #308c88;}

#talentBank			{background: #fdc42c url(images/talent-bg.jpg) no-repeat right center; background-size: auto 100%; color: #000;}
#talentBank h1,
#talentBank h2,
#talentBank h3	{text-transform: uppercase; font-size: 46px;}
#talentBank p		{line-height: 160%; margin-top: 20px; font-size: 18px; padding: 0 150px;}
#talentBank a		{display: inline-block; background: url(images/right-arrow.png) no-repeat right center; background-size: auto 16px; padding: 0 35px 0 0; text-transform: uppercase; font-weight: 900; font-size: 24px; margin-top: 30px;}

#footer				{color: #000;}
#footer a			{color: #000;}
#footer img			{max-height: 140px;}
#footer .footLogos		{display: flex; align-items: center; justify-content: center; gap: 60px;}
#footer ul.social		{}
#footer ul.social li	{display: inline-block; margin: 40px 5px 0;}
#footer ul.social li i	{font-size: 36px;}
#footer ul.menu			{margin: 60px 0 0;}
#footer ul.menu li		{display: inline-block; margin: 0 10px;}
#footer ul.menu li a	{font-weight: 900; text-transform: uppercase; letter-spacing: 1px;}

#jsContent				{background: url(images/home-bg.jpg) no-repeat center; background-size: cover;}
#jsContent .boxGrid		{position: relative; top: -300px; display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 25px;}
#jsContent .boxGrid > div	{aspect-ratio: 1 / 1; position: relative;}
#jsContent .boxGrid > div::after	{content: ""; position: absolute; inset: 0; pointer-events: none; z-index: 5;}
#jsContent .boxGrid > div > div			{height: 100%;}
#jsContent .boxGrid .boxInner			{position: relative;}
#jsContent .boxGrid .boxInner:before	{content: ""; display: inline-block; vertical-align: middle; padding-top: 100%;}
#jsContent .boxGrid .boxInner .overlay		{position: absolute; top: 0; left: 0; height: 100%; width: 100%; background: rgb(136 136 136 / 50%); z-index: 1;}
#jsContent .boxGrid .boxInner .text		{display: inline-block; vertical-align: middle; color: #fff; text-align: center; position: relative; z-index: 2; max-width: 90%;}
#jsContent .boxGrid .boxInner .text p		{text-transform: uppercase; font-weight: 900; font-size: 22px;}
#jsContent .boxGrid .boxInner .text p span	{display: block; border: 5px solid #fff; padding: 4px 15px; font-size: 24px; margin-top: 15px;}
#jsContent .boxGrid > div:hover .overlay	{background: rgba(0,0,0,0.2);}
#jsContent .boxGrid > div:nth-of-type(1)::after	{box-shadow: inset 10px 0 0 0 #ea5818;}
#jsContent .boxGrid > div:nth-of-type(2)::after	{box-shadow: inset 0 10px 0 0 #ea5818;}
#jsContent .boxGrid > div:nth-of-type(3)::after	{box-shadow: inset 0 calc(-1 * 10px) 0 0 #ea5818;}
#jsContent .boxGrid > div:nth-of-type(4)::after	{box-shadow: inset calc(-1 * 10px) 0 0 #ea5818;}  
#jsContent .boxGrid > div:nth-of-type(5)::after	{box-shadow: inset 0 calc(-1 * 10px) 0 0 #ea5818;}
#jsContent .boxGrid > div:nth-of-type(6)::after	{box-shadow: inset 10px 0 0 0 #ea5818;}
body.page-id-24 #jsContent .boxGrid > div:nth-of-type(1)::after	{box-shadow: inset 10px 0 0 0 #fdc42c;}
body.page-id-24 #jsContent .boxGrid > div:nth-of-type(2)::after	{box-shadow: inset 0 10px 0 0 #fdc42c;}
body.page-id-24 #jsContent .boxGrid > div:nth-of-type(3)::after	{box-shadow: inset 0 calc(-1 * 10px) 0 0 #fdc42c;}
body.page-id-24 #jsContent .boxGrid > div:nth-of-type(4)::after	{box-shadow: inset calc(-1 * 10px) 0 0 #fdc42c;}  
body.page-id-24 #jsContent .boxGrid > div:nth-of-type(5)::after	{box-shadow: inset 0 calc(-1 * 10px) 0 0 #fdc42c;}
body.page-id-24 #jsContent .boxGrid > div:nth-of-type(6)::after	{box-shadow: inset 10px 0 0 0 #fdc42c;} 
#jsContent .fl-builder-content		{margin-top: -300px; line-height: 160%;}
#jsContent .fl-builder-content .fl-module.fl-module-rich-text > * + *	{margin-top: 20px;}

.eventIndex > div			{padding: 40px 0;}
.eventIndex > div + div		{border-top: 1px solid #014284;}
.eventIndex .eventRow .img	{width: 25%; float: left;}
.eventIndex .eventRow .img:before	{content: ""; display: block; padding-top: 80%;}
.eventIndex .eventRow .postText		{margin-left: 40px; float: left;}
.eventIndex .eventRow .postText ul	{list-style: none;}
.eventIndex .eventRow .postText .eventBtn			{display: inline-block; background: #014284; color: #fff; padding: 8px 20px; border: 2px solid #014284; margin-top: 20px;}
.eventIndex .eventRow .postText .eventBtn:hover	{background: transparent; color: #014284;}

.eventSingle.hasImg > div	{background: rgba(255,255,255,0.9);}
.eventSingle.hasImg .postInner	{padding: 0 30px;}
.eventSingle.hasImg .postInner ul li	{list-style-type: none;}
.eventSingle.hasImg .postInner .eventBtn	{display: inline-block; background: #014284; color: #fff; padding: 8px 20px; border: 2px solid #014284; margin-top: 20px;}
.eventSingle.hasImg .postInner .eventBtn:hover	{background: transparent; color: #014284;}

/* 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 {
		width: auto;
		padding-left: 15px!important;
		padding-right: 15px!important;
	}
	#header .headTop .menu {
		margin-right: 45px;
	}
	#header .headTop .menu > li + li {
		margin-left: 30px;
	}
	#header .headTop .logo {
		left: 15px;
	}
	#header .headBottom .headText {
		float: none;
		padding: 75px 0 0 300px;
		width: auto;
	}
	#homeAbout {
		display: block;
		min-height: unset;
	}
	#homeAbout .wrapper {
		max-width: 55vw;
		margin: 0;
		padding: 50px 0;
	}
	.generic.innerPage .fl-builder-content .fl-row:not(.fl-row-full-width) {
		padding-left: 15px;
		padding-right: 15px;
	}
}

@media all and (max-width : 992px) {
	#header .headTop .logo {
		top: 150px;
	}
	#header .headTop .logo img {
		max-height: 160px;
	}
	#header .headBottom {
		height: auto;
	}
	body.home #header .headBottom {
		height: 550px;
	}
	#header .headBottom .headText {
		padding: 40px 0 40px 200px;
	}
	body.home #header .headBottom .headText {
		padding: 35px 0 0 190px;
	}
	#header .headBottom .headText h1,
	#header .headBottom .headText h2,
	#header .headBottom .headText h3 {
		font-size: 36px;
	}
	body.page-id-22 #header .headBottom, 
	body.page-id-24 #header .headBottom {
		height: auto;
	}
	body.page-id-22 #header .headBottom .headText,
	body.page-id-24 #header .headBottom .headText {
		padding: 40px 0 40px 200px;
	}
	#jsContent {
		padding: 50px 0;
	}
	#jsContent .boxGrid {
		top: 0;
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
	#jsContent .fl-builder-content {
		margin-top: 50px;
		line-height: normal;
	}
	.eventIndex .eventRow .img {
		width: 35%;
	}
	.eventIndex .eventRow .postText {
		max-width: calc(65% - 40px);
	}
}

@media all and (max-width : 768px) {
	#header .headTop {
		text-align: center;
	}
	#header .headTop .logo {
		position: static;
		background: #000;
		padding: 5px;
		display: inline-block;
	}
	#header .headTop .logo:before {
		display: none;
	}
	#header .headTop .rightLogo {
		float: none;
		position: absolute;
		top: 15px;
		right: 15px;
	}
	#header .headTop .menu {
		float: none;
	}
	body.home #header .headBottom, 
	body.page-id-22 #header .headBottom, 
	body.page-id-24 #header .headBottom {
		height: auto;
	}
	#header .headBottom .headText,
	body.home #header .headBottom .headText {
		padding: 40px 0;
		text-align: center;
	}
	#homeContent {
		padding: 50px 0;
	}
	.homeBoxes {
		top: 0;
	}
	#homeContent .fl-builder-content {
		margin-top: 50px;
		line-height: normal;
	}
	.homeBoxes .flex .boxInner .text p {
		font-size: 18px;
	}
	.homeBoxes .flex .boxInner .text p span {
		font-size: 24px;
		border-width: 3px;
		padding: 10px 25px;
		margin-top: 5px;
	}
	.fl-builder-content h1 {
		font-size: 36px;
	}
	#homeAbout .image-wrap {
		position: static;
		width: 100%;
	}
	#homeAbout .wrapper {
		max-width: unset;
	}
	#talentBank p {
		padding: 0;
	}
	#header .headTop .shiftnav-toggle {
		display: block;
	}
	body.page-id-22 #header .headBottom .headText,
	body.page-id-24 #header .headBottom .headText {
		padding: 40px 0;
	}
	.generic.innerPage .fl-builder-content .fl-col-group > div + div {
		margin-top: 20px;
	}
}

@media all and (max-width : 586px) {
	#header .headTop .rightLogo {
		height: 60px;
	}
	#header .headTop .logo img {
		max-height: 140px;
	}
	.homeBoxes .flex {
		flex-direction: column;
		align-items: center;
		gap: 30px;
	}
	.homeBoxes .flex > div {
		width: 75%;
	}
	.homeBoxes .flex > div:nth-of-type(2) > div {
		margin-left: 0;
	}
	#homeAbout .leftContent ul.buttons {
		display: block;
	}
	#homeAbout .leftContent ul.buttons li {
		display: block;
		text-align: center;
	}
	#homeAbout .leftContent ul.buttons li + li {
		margin-top: 10px;
	}
	#jsContent .boxGrid {
		grid-template-columns: repeat(1, minmax(0, 1fr));
	}
	.eventIndex .eventRow .img {
		float: none;
		width: auto;
	}
	.eventIndex .eventRow .postText {
		max-width: unset;
		margin-left: 0;
		margin-top: 20px;
		float: none;
	}
}

@media all and (max-width : 450px) {
	.homeBoxes .flex > div {
		width: 100%;
	}
}