/*
Theme Name: BCNS
Theme URI: https://www.bcns.co.uk
Description: A WordPress Theme For BCNS
Version: 1.0
Author: Respond
Author URI: https://www.werespond.uk
*/

/* ---- Fonts ---- */
@import url('https://fonts.googleapis.com/css2?family=Montserrat:ital,wght@0,400;0,600;1,400;1,600&display=swap');
/* ---- Fonts End ---- */


/*
---- Colours -----
Blue: #00b5df
- Blue Light: #33bae0

Navy: #305783
- Navy Light: #315e91
- Navy Dark: #0d2b4d

Grey: #d5dce4
- Grey Light: #f1f2f2

Green: #b3cc35;
- Green Light: #bdd159

Black: #414042
---- Colours End ----
*/


html {
	height: 100%;
}

body {
	padding: 0;
	margin: 0;
	font-family: 'Montserrat', sans-serif;
	font-weight: 400;
	font-size: 16px;
	line-height: 1.75em;
	color: #414042;
	min-height: 100%;
	position: relative;
}

.grid-container {
	max-width: 1300px;
}

.grid-container.full {
	max-width: 100%;
}

.grid-container.wide {
	max-width: 1500px;
}

.grid-container.narrow {
	max-width: 1000px;
}


/* ---- Content Styles ---- */
	/* -- Links -- */
		a:link, a:active, a:visited {
			color: #305783;
			text-decoration: underline;
			-webkit-transition: all 0.5s;
			-moz-transition: all 0.5s;
			-ms-transition: all 0.5s;
			-o-transition: all 0.5s;
			transition: all 0.5s;
		}

			a:hover {
				text-decoration: none;
			-webkit-transition: all 0.5s;
			-moz-transition: all 0.5s;
			-ms-transition: all 0.5s;
			-o-transition: all 0.5s;
			transition: all 0.5s;
			}

	/* -- CTAs -- */
		.cta-container {
			margin: 40px 0 0;
		}
		
			.cta-container h4 {
				margin-top: 50px;
				color: #305783;
				font-size: 19px;
				line-height: 1.7em;
			}
		
		.cta-sub {
			margin: 20px 0 0;
			font-size: 13px;
			line-height: 1.7em;
			font-weight: 600;
		}
		
		a.text-cta:link, a.text-cta:active, a.text-cta:visited {
			text-decoration: none;
			font-weight: 600;
			text-transform: uppercase;
			color: #414042;
			font-size: 15px;
		}
		
			a.text-cta svg {
				position: relative;
				left: 3px;
				-webkit-transition: all 0.5s;
				-moz-transition: all 0.5s;
				-ms-transition: all 0.5s;
				-o-transition: all 0.5s;
				transition: all 0.5s;
				color: #b3cc35;
			}
			
				a.text-cta:hover svg {
					left: 8px;
				}
		
		a.cta:link, a.cta:active, a.cta:visited {
			color: #fff;
			font-size: 18px;
			line-height: 18px;
			display: inline-block;
			padding: 18px 36px;
			background: #b3cc35;
			font-weight: 600;
			box-sizing: border-box;
			border: solid 2px #b3cc35;
			margin: 5px;
			text-decoration: none;
			border-radius: 50px;
				-moz-border-radius: 50px;
				-khtml-border-radius: 50px;
				-webkit-border-radius: 50px;
			position: relative;
			top: 0;
		}

			a.cta:hover {
				top: -5px;
			}

		a.cta.secondary:link, a.cta.secondary:visited, a.cta.secondary:active {
			background: none;
			border: solid 2px #b3cc35;
			color: #b3cc35;
		}
		
		a.cta.white:link, a.cta.white:visited, a.cta.white:active {
			background: #fff;
			border: solid 2px #fff;
			color: #305783;
		}
		
			a.cta.white.secondary:link, a.cta.white.secondary:visited, a.cta.white.secondary:active {
				background: none;
				border: solid 2px #fff;
				color: #fff;
			}
			
		a.cta.blue:link, a.cta.blue:visited, a.cta.blue:active {
			background: #00b5df;
			border: solid 2px #00b5df;
			color: #fff;
		}
		
			a.cta.blue.secondary:link, a.cta.blue.secondary:visited, a.cta.blue.secondary:active {
				background: none;
				border: solid 2px #00b5df;
				color: #414042;
			}
			
				.alt-bg a.cta.blue.secondary:link, .alt-bg a.cta.blue.secondary:visited, .alt-bg a.cta.blue.secondary:active {
					color: #fff;
				}
			
		a.cta.navy:link, a.cta.navy:visited, a.cta.navy:active {
			background: #305783;
			border: solid 2px #305783;
			color: #fff;
		}
		
			a.cta.navy.secondary:link, a.cta.navy.secondary:visited, a.cta.navy.secondary:active {
				background: none;
				border: solid 2px #305783;
				color: #305783;
			}
		
		a.cta.small:link, a.cta.small:visited, a.cta.small:active {
			font-size: 16px;
			line-height: 16px;
			padding: 13px 25px;
		}

	/* -- Headings -- */
		span.pre-title {
			color: #00b5df;
			text-transform: uppercase;
			font-weight: 600;
			font-size: 16px;
			line-height: 1.6em;
			letter-spacing: 0.025em;
			display: inline-block;
			margin: 0 0 8px;
		}
		
		h1, h2, h3, h4, h5, h6 {
			font-weight: 600;
		}

		h1 {
			font-size: 60px;
			line-height: 1.2em;
		}
		
		h1.small {
			font-size: 48px;
			line-height: 1.2em;
		}

		h2 {
			font-size: 48px;
			line-height: 1.2em;
		}
		
			h2.large {
				font-size: 45px;
				line-height: 1.2em;
			}
			
			h2.h1 {
				font-size: 60px;
				line-height: 1.2em;
			}
		
		h3 {
			font-size: 20px;
			line-height: 1.3em;
		}
		
		h4 {
			font-size: 16px;
			line-height: 1.3em;
		}
		
		h5 {
			font-size: 16px;
			line-height: 1.3em;
		}
		
		h6 {
			font-size: 16px;
			line-height: 1.3em;
		}
		
	/* -- Bold / Strong -- */
	b, strong {
		font-weight: 600;
	}

	/* -- Images -- */
		img.circle {
			border-radius: 50%;
				-moz-border-radius: 50%;
				-khtml-border-radius: 50%;
				-webkit-border-radius: 50%;
		}
		
		.corners-left {
			border-radius: 0 100px 100px 100px;
				-moz-border-radius: 0 100px 100px 100px;
				-khtml-border-radius: 0 100px 100px 100px;
				-webkit-border-radius: 0 100px 100px 100px;
		}
		
		.corners-right {
			border-radius: 100px 0 100px 100px;
				-moz-border-radius: 100px 0 100px 100px;
				-khtml-border-radius: 100px 0 100px 100px;
				-webkit-border-radius: 100px 0 100px 100px;
		}

		img.alignright {
			float:right;
			margin:0 0 20px 20px;
		}

		img.alignleft {
			float:left;
			margin:0 20px 20px 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 {
			border: 0;
			outline: 0;
			max-width: 100%;
			height: auto;
		}

	/* -- Lists -- */
		ul {
			line-height: 1.7em;
		}
		
			ul li {
				margin: 7px 0;
			}
		
		ul.fa-ul li svg {
			color: #b3cc35;
		}
		
		ul.checks {
			margin-top: 30px;
			margin-bottom: 30px;
		}

			ul.checks, ul.checks li {
				list-style-type: none;
				position: relative;
			}

				ul.checks li:before {
					display: inline-block;
					text-rendering: auto;
					-webkit-font-smoothing: antialiased;
					font-family: 'Font Awesome 6 Pro';
					content: "\f058";
					color: #b3cc35;
					padding: 0 6px 0 0;
					position: absolute;
					left: -25px;
				}
				
	/* -- Blockquote -- */
	blockquote {
	margin: 50px;
    font-size: 22px;
    line-height: 1.7em;
    font-style: oblique;
    font-weight: bold;
    color: #305783;
    }

	/* -- Forms -- */
	.calendly-inline-widget {
		min-height: 800px;
	}
	
	.form-container h3 {
		margin: 0;
		padding: 0 0 15px;
		font-size: 24px;
	}
	
	.inline-form-fields {
		text-align: center;
	}
	
	.inline-form-fields.fields-4 .gfield {
		width: 25%;
		box-sizing: border-box;
		padding: 10px;
		display: inline-block;
	}
		.validation_error {
			font-weight: bold;
			color: orange;
			margin: 0 0 10px;
		}

		.validation_message {
			position: relative;
			top: -8px;
			font-size: 12px;
			color: orange;
			line-height: 1.5em;
			padding: 0 0 0 10px;
		}
		
		.gform_submission_error {
			font-size: 20px !important;
			line-height: 1.5em !important;
			outline: none !important;
			color: #9582ab;
		}
		
		.gform_validation_errors {
			display: none;
		}

		.form-hidden, .gform_validation_container {
			display: none !important;
		}

		form ul, form ul li {
			margin: 0;
			padding: 0;
			list-style-type: none;
		}

		form .hidden-label label {
			display: block !important;
			text-indent: -10000px;
			line-height: 0;
			font-size: 1px !important;
		}
		
		.form-container form p.optIn label {
		    line-height: 20px;
   			text-indent: 0;
    		font-size: 14px;
    	}
    	
    	.form-container form p br {
    		display: none;
    	}

		input, textarea, button, select, .banner .form-container .large {
			border: solid 1px #e0e0e0;
			border-radius: 24px;
				-moz-border-radius: 24px;
				-webkit-border-radius: 24px;
				-khtml-border-radius: 24px;
			outline: 0;
			padding: 8px 16px;
			font-family: 'Montserrat', sans-serif;
			font-weight: 400;
			font-size: 16px;
			line-height: 1.75em;
			color: #414042;
			/* width: 100%; */
			box-sizing: border-box;
			margin: 0 0 10px;
			text-decoration: none;
			-webkit-transition: all 0.5s;
			-moz-transition: all 0.5s;
			-ms-transition: all 0.5s;
			-o-transition: all 0.5s;
			transition: all 0.5s;
		}

.gform_wrapper.gravity-theme .gfield-choice-input {
	position: relative !important;
	top: 5px !important;
}

.gform_wrapper.gravity-theme .field_description_above .gfield_description {
	padding: 0 !important;
	margin: 0 !important;
}

.gform_wrapper.gravity-theme .gfield_label {
	margin-bottom: 0 !important;
}

			input:focus, textarea:focus {
				background: #FCFCF0;
			}

			input[type="submit"], .form-container button {
				cursor: pointer;
				width: auto;
				margin: 5px 0 0;
				font-family: 'Montserrat', sans-serif;
				font-weight: 600;
				font-size: 18px;
				line-height: 18px;
				color: #fff;
				display: inline-block;
				padding: 18px 36px;
				background: #b3cc35;
				letter-spacing: 0.025em;
				box-sizing: border-box;
				position: relative;
				border-radius: 50px;
					-webkit-border-radius: 50px;
					-moz-border-radius: 50px;
					-khtml-border-radius: 50px;
				border: solid 2px #b3cc35;
				-webkit-appearance: none;
				min-width: 200px;
				text-align: center;
				top: 0;
			}

				input[type="submit"]:hover {
					top: -5px;
				}

			textarea {
				height: 104px;
			}
			

			.styled-select select {
				background: transparent;
				height: 34px;
				-webkit-appearance: none;
				border: 0;
				margin: 0;
				padding: 4px 6% 6px;
				width: 108%;
			}
   
			.styled-select {
				width: 50%;
				min-width: 140px;
				height: 38px;
				overflow: hidden;
				border-radius: 3px;
					-moz-border-radius: 3px;
					-webkit-border-radius: 3px;
					-khtml-border-radius: 3px;
				background: #fff;
				margin: 0 0 10px;
				padding: 3px 0 0;
				border: solid 1px #e0e0e0;
			}

#subForm input {
	width: 100%;
}

	/* -- HR -- */
		hr {
			margin: 20px 0;
		}


/* ---- Common Layout Styles ---- */
.video-container {
  position: relative;
  padding-bottom: 56.25%;
}

.video-container iframe {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}

.map-container {
    position: relative;
    padding-bottom: 500px;
    height: 0;
    overflow: hidden;
  }
.map-container iframe {
    position: absolute;
    top: 0;
    left: 0;
    width: 100% !important;
    height: 100% !important;
  }

hr {
	outline: 0;
	border: 0;
	height: 3px;
	background: #d5dce4;
	border-radius: 5px;
		-webkit-border-radius: 5px;
		-khtml-border-radius: 5px;
		-moz-border-radius: 5px;
}

svg.large {
	font-size: 36px;
}

.border-bottom {
	position: relative;
}

	.border-bottom:after {
		content: "";
		display: block;
		height: 4px;
		width: 100%;
		bottom: 0;
		max-width: 1300px;
		background: #d5dce4;
		position: absolute;
		left: 50%;
		transform: translateX(-50%);
		border-radius: 5px;
			-webkit-border-radius: 5px;
			-khtml-border-radius: 5px;
			-moz-border-radius: 5px;
	}
	
.large {
	font-size: 18px;
	line-height: 1.7em;
}

.small {
	font-size: 13px;
	line-height: 1.6em;
}

.white-bg {
	background: #fff;
	color: #414042;
}

.navy-bg {
	background: #305783;
	color: #fff;
}

	.navy-bg.gradient {
		background: rgb(48,87,131);
		background: -moz-linear-gradient(145deg, rgba(48,87,131,1) 0%, rgba(13,43,77,1) 100%);
		background: -webkit-linear-gradient(145deg, rgba(48,87,131,1) 0%, rgba(13,43,77,1) 100%);
		background: linear-gradient(145deg, rgba(48,87,131,1) 0%, rgba(13,43,77,1) 100%);
		filter: progid:DXImageTransform.Microsoft.gradient(startColorstr="#305783",endColorstr="#0d2b4d",GradientType=1);
	}

.green-bg {
	background: #b3cc35;
	color: #fff;
}

.blue-bg {
	background: #00b5df;
	color: #fff;
}

.light-grey-bg {
	background: #f1f1f6;
	color: #414042;
}

.grey-bg {
	background: #d5dce4;
	color: #414042;
}

.white-overlay-third-bottom {
	position: relative;
}

	.white-overlay-third-bottom:before {
		content: "";
		display: block;
		width: 100%;
		height: 33.33%;
		position: absolute;
		top: 66.66%;
		left: 0;	
		background: #fff;
		z-index: 1;
	}
	
	.white-overlay-third-bottom .grid-container {
		z-index: 2;
		position: relative;
	}
	
.white-overlay-half-top {
	position: relative;
}

	.white-overlay-half-top:before {
		content: "";
		display: block;
		width: 100%;
		height: 50%;
		position: absolute;
		top: 0;
		left: 0;	
		background: #fff;
		z-index: 1;
	}
	
	.white-overlay-half-top .grid-container {
		z-index: 2;
		position: relative;
	}
	
.white-overlay-half-bottom {
	position: relative;
}

	.white-overlay-half-bottom:before {
		content: "";
		display: block;
		width: 100%;
		height: 50%;
		position: absolute;
		bottom: 0;
		left: 0;	
		background: #fff;
		z-index: 1;
	}
	
	.white-overlay-half-bottom .grid-container {
		z-index: 2;
		position: relative;
	}

.content-padding {
	padding: 100px 0;
}

.no-top {
	padding-top: 0 !important;
	margin-top: 0 !important;
}

.no-bottom {
	padding-bottom: 0 !important;
	margin-bottom: 0 !important;
}

.text-center {
	text-align: center;
}

.valign-center {
	display: flex;
	align-items: center;
	display: -webkit-flex;
	-webkit-align-items: center;
	display: -moz-flex;
	-moz-box-align: center;
}

.txt-blue {
	color: #00b5df;
}

.txt-green {
	color: #b3cc35;
}

.txt-navy {
	color: #305783;
}



/* ---- Header ---- */
header {
	padding: 20px 0;
}

	header a.logo {
		font-size: 0;
		line-height: 0;
		display: block;
		padding: 0;
	}
	
		header a.logo img {
			height: 55px;
			width: auto;
		}
	
	a.phone {
		text-decoration: none;
		font-weight: 600;
		color: #414042;
		font-size: 17px;
		display: inline-block;
	}
	
		.alt-bg a.phone {
			color: #fff;
		}
		
			.alt-bg a.phone .txt-blue {
				color: #b3cc35;
			}
	
	header a.cta {
		float: right;
		margin: 0 0 0 20px !important;
	}
	
	header a.phone {
		float: right;
		margin: 8px 0 0;
	}

	/* -- Primary Navigation -- */
	#primary-navigation {
		text-align: left;
		padding: 0;
		margin: 7px 0 0;
		list-style-type: none;
		display: inline-block;
	}

	#primary-navigation > li {
		padding: 0 12px;
		margin: 0;
	}

		#primary-navigation > li > a {
		    color: #414042;
		    font-size: 15px;
		    line-height: 15px;
		    font-weight: 600;
		    display: inline-block;
		    padding: 8px 10px;
		    border-radius: 40px;
			    -webkit-border-radius: 40px;
			    -moz-border-radius: 40px;
			    -khtml-border-radius: 40px;
				letter-spacing: 0.025em;
		}

	#primary-navigation > li > a:hover {
		cursor: pointer;
		text-decoration: none;
		background: #f1f1f6;
	}
	
	#primary-navigation > li ul.sub-menu > a:hover {
		text-decoration: underline;
	}

	#primary-navigation a {
		text-decoration: none;
		display: inline-block;
		font-size: 15px;
		line-height: 22px;
	}

		#primary-navigation li ul.sub-menu a[href="#"] {
			cursor: auto !important;
		}

#primary-navigation li {
	display: inline-block;
	position: relative;
}

	#primary-navigation li ul.sub-menu {
		left: -9999px;
		z-index: 9999;
    	position: absolute;
    	background: #fff;
    	width: auto;
    	box-sizing: border-box;
    	top: 100%;
		z-index: 9999;
		padding: 20px 24px;
		text-align: left;
		min-height: 100px;
	}

			#primary-navigation > li > ul.sub-menu {
  			  box-shadow: 0px 3px 15px 1px rgb(37 76 119 / 8%);
					-webkit-box-shadow: 0px 3px 15px 1px rgb(37 76 119 / 8%);
				border-radius: 4px;
					-webkit-border-radius: 4px;
					-khtml-border-radius: 4px;
					-moz-border-radius: 4px;
			}

			#primary-navigation li ul.sub-menu li ul.sub-menu li.title {
				padding-top: 24px;
			}

		#primary-navigation li:hover ul.sub-menu {
			left: 0;
		}

		#primary-navigation li ul.sub-menu li {
			width: 250px;
			box-sizing: border-box;
			display: inline-block;
			text-align: left;
			padding: 0 30px 0 0;
			margin: 0;
			vertical-align: top;
		}

			#primary-navigation li.col-2 ul.sub-menu {
				width: 560px;
			}
			
			#primary-navigation li.col-4 ul.sub-menu {
				width: 1120px;
			}

				#primary-navigation li ul.sub-menu li.col-2 ul.sub-menu li {
					width: 50%;
					display: inline-block;
				}	
				
				#primary-navigation li ul.sub-menu li.col-4 ul.sub-menu li {
					width: 25%;
					display: inline-block;
				}	
				
				#primary-navigation li ul.sub-menu li.col-4 ul.sub-menu li {
					width: 25%;
					display: inline-block;
				}	

		#primary-navigation li ul.sub-menu li ul.sub-menu {
			display: block;
			position: relative;
			left: auto;
			background: none;
			width: auto;
			top: auto;
			padding: 0;
			border: 0;
		}

			#primary-navigation li ul.sub-menu li ul.sub-menu li {
				width: 100%;
				padding: 0;
				text-align: left;
				display: block;
			}

				#primary-navigation li ul.sub-menu li ul.sub-menu li a, #primary-navigation li ul.sub-menu li > a {
					padding: 4px 0;
					font-size: 15px;
					line-height: 1.5em;
					color: #414042 !important;
					font-weight: 400;
				}

					#primary-navigation li ul.sub-menu li a:hover, #primary-navigation li ul.sub-menu li ul.sub-menu li a:hover {
						text-decoration: underline;
					}

		#primary-navigation li.title > a, #primary-navigation li ul.sub-menu li.title > a {
			font-weight: 600 !important;
			line-height: 22px !important;
			padding: 0 0 12px !important;
			color: #305783 !important;
			letter-spacing: 0.025em;
		}

#primary-navigation ul.sub-menu li svg {
    font-size: 18px;
    width: 30px;
    position: relative;
    top: 1px;
}

#primary-navigation li.item-row {
    border-bottom: solid 1px #dce0e0;
    padding: 0 0 8px !important;
	margin: 0 0 8px;
    display: block;
}



	/* -- Nav Mobile --*/
	.mob-menu-items {
		text-align: right;
		padding-top: 6px;
	}

		.mob-menu-items .mob-menu-item {
			font-size: 28px;
			color: #305783;
			margin: 0 0 0 20px;
			position: relative;
			top: 5px;
		}
		
			.mob-menu-items .mob-menu-item.phone {
				font-size: 23px;
				position: relative;
				top: 3px;
				color: #00b5df;
				float: none;
				display: inline-block;
			}
			
			.mob-menu-items .cta {
				float: none;
			}

	body.mobile-navigation-open {
		overflow: hidden;
	}

	.nav-mobile {
		width: 100%;
		position: absolute;
		top: 0;
		left: 0;
		display: none;
		background: rgba(255,255,255,0.9); /* Mobile Nav Background Overlay */
		z-index: 9999;
		text-align: left;
	}

	.nav-mobile .nav-container {
		height: 100vh;
		background: #305783; /* Mobile Nav Menu Background Colour */
		width: 80%;
		display: block;
		max-width: 400px;
		position: relative;
		min-width: 200px;
	}

		.nav-mobile .nav-container a.mob-menu-item {
			position: absolute;
			top: 15px;
			background: #00b5df; /* Mobile Nav Close Button Background Colour */
			font-size: 20px;
			color: #fff; /* Mobile Nav Close Button X Colour */
			display: inline-block;
			padding: 5px 4px 5px 8px;
			border-radius: 0 50px 50px 0;
				-webkit-border-radius: 0 50px 50px 0;
				-moz-border-radius: 0 50px 50px 0;
				-khtml-border-radius: 0 50px 50px 0;
			left: 100%;
			width: 26px;
		}

		.nav-mobile .nav-container .sub-items {
			position: absolute;
			bottom: 0;
			left: 0;
			width: 100%;
			height: 136px;
			z-index: 99999;
			border-top: solid 1px;
		}

			.nav-mobile .nav-container .sub-items .social {
				padding: 10px 0;
			}

				.nav-mobile .nav-container .sub-items .social a {
					color: #fff; /* Mobile Nav Social Link Colour */
					font-size: 16px;
					display: inline-block;
					margin: 0 0 0 15px;
				}

		.nav-mobile ul {
			padding: 0;
			margin: 0;
			list-style-type: none;
			max-height: calc(100vh - 136px);
			overflow-y: scroll;
			overflow-x: hidden;
		}

			.mobile-scroll .nav-mobile ul {
				max-height: calc(100vh - 221.5px);
			}

			.nav-mobile ul li {
				border-bottom: solid 1px;
			}
			
		.nav-mobile .nav-container .sub-items, .nav-mobile ul li {
			border-color: rgba(255,255,255,0.1); /* Mobile Nav Items Border Colour */
		}

			.nav-mobile li.cta {
				background: #b3cc35; /* Mobile Nav CTA Background Colour */
			}

				.nav-mobile ul li a {
					color: #fff; /* Mobile Nav Link Colour */
					font-size: 13px;
					letter-spacing: 0.025em;
					left: 0;
					-webkit-transition: all 0.5s;
					-moz-transition: all 0.5s;
					-ms-transition: all 0.5s;
					-o-transition: all 0.5s;
					transition: all 0.5s;
					position: relative;
					padding: 8px 15px;
					display: block;
					font-weight: 600;
					text-decoration: none;
				}

					.nav-mobile ul li i {
						color: red;
					}

					.nav-mobile ul li a:hover {
						cursor: pointer;
						text-decoration: none;
						left: 5px;
					}

				.nav-mobile ul ul.sub-menu {
					display: none;
					background: #fff; /* Mobile Nav Drop Down Background Colour */
				}

					.nav-mobile ul ul.sub-menu li {
						border-bottom: solid 1px;
						border-color: rgba(0,0,0,0.1); /* Mobile Nav Drop Down Item Border Colour */
					}

						.nav-mobile ul ul.sub-menu li:last-of-type {
							border: 0;
						}

						.nav-mobile ul ul.sub-menu li a {
							color: #414042;
							font-weight: 600;
							text-transform: none;
						}


							.nav-mobile ul ul.sub-menu ul.sub-menu li:first-of-type {
								border-top: solid 1px #f3f1ed;
							}

							.nav-mobile ul ul.sub-menu ul.sub-menu li a {
								color: #555;
								font-weight: normal;
								padding: 5px 15px 5px 30px;
								font-size: 13px;
								text-transform: none;
							}
							
							
							
							
/* ---- Content Row ---- */
.content-row {
	font-size: 18px;
	line-height: 1.75em;
}
							
			
				
				
/* ---- Message Row ---- */
.message-row {
	padding: 40px 0;
}

	.message-row h3 {
		padding: 0;
		margin: 0;
	}
	
	
	
				
/* ---- Banner ---- */		
.banner .large {
	margin: 30px 0 0;
}	

.banner .cta-container {
	margin: 40px 0 0;
}	

.image-float-container {
	position: relative;
	overflow: hidden;
}

		.image-float-container div {
			z-index: 1;
			position: relative;
		}
		
		.banner.image-float-container div {
			position: initial;
		}

	.image-float-container div.image-float {
		position: absolute;
		bottom: 0;
		right: 0;
		height: 100%;
		width: 43.33%;
		background-color: #d5dce4;
		background-size: cover;
		background-position: center;
		border-radius: 175px 0 0 100px;
			-moz-border-radius: 175px 0 0 100px;
			-khtml-border-radius: 175px 0 0 100px;
			-webkit-border-radius: 175px 0 0 100px;
		z-index: 0;
	}

	.image-float-container div.image-float.left {
		position: absolute;
		bottom: 0;
		right: auto;
		left: 0;
		height: 100%;
		width: 43.33%;
		background-color: #d5dce4;
		background-size: cover;
		background-position: center
		border-radius: 0 175px 100px 0;
			-webkit-border-radius: 0 175px 100px 0;
			-moz-border-radius: 0 175px 100px 0;
			-khtml-border-radius: 0 175px 100px 0;
		z-index: 0;
	}


	.banner.image-float-container img.image-float {
		position: absolute;
		bottom: 0;
		left: 50%;
		height: calc(100% - 100px);
		border-radius: 175px 100px 100px 100px;
			-webkit-border-radius: 175px 100px 100px 100px;
			-moz-border-radius: 175px 100px 100px 100px;
			-khtml-border-radius: 175px 100px 100px 100px;
		z-index: 0;
		width: auto;
	}
	
.banner .message-row {
	margin: 100px 0 0;
}


			
							
/* ---- Box ---- */
.box-grid .box {
		margin: 10px 0 20px;
}

.box.logo-grid img {
	max-height: 75px;
	width: auto;
	display: block;
	margin: auto;
	padding: 15px;
	box-sizing: border-box;
}

.box {
    box-shadow: 0px 3px 15px 1px rgb(37 76 119 / 8%);
		-webkit-box-shadow: 0px 3px 15px 1px rgb(37 76 119 / 8%);
	border-radius: 50px;
		-webkit-border-radius: 50px;
		-khtml-border-radius: 50px;
		-moz-border-radius: 50px;
	padding: 30px;
}

	.box.corners-left {
		border-radius: 0 50px 50px 50px;
			-webkit-border-radius: 0 50px 50px 50px;
			-moz-border-radius: 0 50px 50px 50px;
			-khtml-border-radius: 0 50px 50px 50px;
		padding-bottom: 40px;
	}
	
	.box.corners-right {
		border-radius: 50px 0 50px 50px;
			-webkit-border-radius: 50px 0 50px 50px;
			-moz-border-radius: 50px 0 50px 50px;
			-khtml-border-radius: 50px 0 50px 50px;
		padding-bottom: 40px;
	}
	
.box.box-layout {
	padding: 60px !important;
}

	.box.box-layout.corners-left {
		border-radius: 0 100px 50px 100px;
			-webkit-border-radius: 0 100px 50px 100px;
			-moz-border-radius: 0 100px 50px 100px;
			-khtml-border-radius: 0 100px 50px 100px;
	}
	
	.box.box-layout.corners-right {
		border-radius: 100px 0 100px 50px;
			-webkit-border-radius: 100px 0 100px 50px;
			-moz-border-radius: 100px 0 100px 50px;
			-khtml-border-radius: 100px 0 100px 50px;
	}
			
			
			
/* ---- Trusted By ---- */
.trusted-by {
	font-size: 0;
}

.trusted-by .large {
	max-width: 1200px;
	margin: auto;
}

	.trusted-by h3 {
		color: #414042;
		margin: 0;
		padding: 0;
		font-size: 26px;
		line-height: 1.3em;
	}

	.trusted-by .logo {
		width: 16.666%;
		padding: 20px 35px 0;
		font-size: 0;
		box-sizing: border-box;
		height: 100px;
		display: inline-block;
	}

		.trusted-by .logo span.height-helper {
			height: 100%;
			display: inline-block;
			vertical-align: middle;
		}

			.trusted-by .logo img {
				max-height: 35px;
				max-width: 90%;
				width: auto;
				vertical-align: middle;
			}




/* ---- Posts ---- */
.post.box {
	padding: 0;
	overflow: hidden;
	margin: 10px 0 20px;
}

	.post.box .content-container {
		padding: 30px 30px 40px;
	}
	
	.post.box .meta, .post.box .meta a {
		text-transform: uppercase;
		font-weight: 600;
		color: #00b5df;
		font-size: 12px;
		line-height: 1.5em;
		text-decoration: none;
	}
	
	.post.box h3, .post.box h2 {
		padding: 0;
		margin: 10px 0 0;
	}
	
		.post.box h3 a, .post.box h2 a {
			text-decoration: none;
			font-size: 21px;
			line-height: 1.6em;
			color: #414042;
		}
		
.blog-header img {
		border-radius: 0 50px 50px 50px;
			-webkit-border-radius: 0 50px 50px 50px;
			-moz-border-radius: 0 50px 50px 50px;
			-khtml-border-radius: 0 50px 50px 50px;
}

	.blog-header .meta {
		font-size: 13px;
		font-weight: 600;
	}
	
		.blog-header .meta a {
			text-decoration: none;
		}
		
			.blog-header .meta a:hover {
				text-decoration: underline;
			}
			
.post-content .sharethis-inline-share-buttons {
	padding: 10px 0 30px;
}

.post-content .sharethis-inline-share-buttons:last-of-type {
	padding: 50px 0 0;
}




/* ---- Guide ---- */
.guide-form-container {
	position: relative;
}

.guide-form-container img.cover {
	position: absolute;
	width: calc(100% - 60px);
    z-index: 0;
    max-width: 400px;
    right: 60px;
}

.guide-form-container .form-container {
    margin-top: 200px;
    z-index: 2;
    position: relative;
}


/* ---- Case Study ---- */
.case-study-header img {
	display: block;
    max-width: 300px;
    margin: auto;
    background: #fff;
    padding: 20px;
    border-radius: 10px;
    margin: 0 auto 20px;
	box-sizing: border-box;
}

a.case-study-class {
    aspect-ratio: 2/1;
    background: #fff;
    display: block;
    position: relative;
    border-bottom: solid 1px #f1f2f2;
}

.case-study-class img {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
}



/* ---- Newsletter ---- */
.social.large {
	font-size: 30px;
}

.social.large a {
	margin: 0 10px;
}


/* ---- WP Page Navi ---- */
div.wp-pagenavi {
	margin: 80px 0 0;
	background: #fff;
	padding: 10px 20px;
	border-radius: 12px;
		-moz-border-radius: 12px;
		-khtml-border-radius: 12px;
		-webkit-border-radius: 12px;
  			  box-shadow: 0px 3px 15px 1px rgb(37 76 119 / 8%);
					-webkit-box-shadow: 0px 3px 15px 1px rgb(37 76 119 / 8%);
	display: inline-block;
}

	.wp-pagenavi a, .wp-pagenavi span {
		padding: 0 10px 0 0;
		border: 0;
	}

.wp-pagenavi span.current {
	color: #00b5df;
}

		.wp-pagenavi span.pages {
			margin: 0 20px 0 0;
		}



/* ---- Internal Nav ---- */
.internal-nav {
	padding: 10px 0;
}
	.internal-nav #internal-navigation, .internal-nav #internal-navigation li {
		margin: 0;
		padding: 0;
		list-style-type: none;
		display: inline-block;
	}
	
		.internal-nav #internal-navigation li {
			padding: 0 20px;
		}
	
		.internal-nav #internal-navigation a {
			padding: 15px 0;
			display: inline-block;
			text-decoration: none;
			text-transform: uppercase;
			letter-spacing: 0.025em;
			font-size: 16px;
			font-weight: 600;
		}
		
			.internal-nav #internal-navigation a:hover {
				color: #00b5df;
			}

.internal-nav h1 {
	font-size: 24px;
	line-height: 1.4em;
	display: inline-block;
	padding: 12px 0;
	margin: 0;
}

.internal-nav #internal-navigation.right {
	text-align: right;
	display: inline-block;
	float: right;
}

.internal-nav #internal-navigation.right li {
	padding: 0 0 0 40px;
}




/* ---- Contact Details ---- */
.contact-details {
	padding: 10px 0 10px 30px;
}

	.contact-details a {
		text-decoration: none;
		font-weight: 600;
		color: #414042;
		font-size: 20px;
		display: block;
		margin: 20px 0;
	}
	
		.contact-details a:after {
			content: "";
			display: block;
			width: 100%;
			clear: both;
		}
	
		.contact-details a svg {
			float: left;
			width: 30px;
			position: relative;
			top: 4px;
		}
		
		.contact-details a span {
			float: right;
			width: calc(100% - 35px);
		}
	
		.alt-bg .contact-details a  {
			color: #fff;
		}
		
			.alt-bg .contact-details a .txt-blue {
				color: #b3cc35;
			}



/* ---- Team Member ---- */
.team-member .position {
	color: #00b5df;
	text-transform: uppercase;
	font-weight: 600;
	font-size: 14px;
	line-height: 1.6em;
	letter-spacing: 0.025em;
	display: inline-block;
	margin: 0 0 8px;
}




/* ---- Footer ---- */
footer {
	padding: 75px 0;
	background: #fff;
	color: #414042;
}

	footer a.logo {
		font-size: 0;
		line-height: 0;
		display: inline-block;
		padding: 0;
		margin: 0 40px 0 0;
	}
	
		footer a.logo img {
			height: 60px;
			width: auto;
		}
		
	footer a.phone {
		margin: 0;
	}
	
	footer .social {
		margin: 10px 0 0;
	}
		
	footer a.cta {
		margin: 0 20px 0 0 !important;
	}
	

	footer a:link, footer a:active, footer a:visited {
		text-decoration: none;
		color: #414042;
	}
	
		footer a:hover {
			text-decoration: underline;
		}

	footer .social a {
		font-size: 22px;
		margin: 0 15px 0 0;
		display: inline-block;
		text-decoration: !important;
		color: #305783;
	}

	footer h4 {
		margin: 30px 0 0;
		padding: 0 0 10px;
	}

	footer ul, footer ul li {
		list-style-type: none;
		padding: 0;
		margin: 0;
		font-size: 14px;
		line-height: 1.4em;
	}

		footer ul li {
			padding: 5px 0;
		}

/* -- Footer Meta -- */
#footer-meta {
	color: #414042;
	font-size: 12px;
	padding: 30px 0;
}

	#footer-meta a:link, #footer-meta a:active, #footer-meta a:visited {
		text-decoration: none;
		color: #414042;
	}
	
		#footer-meta a:hover {
			text-decoration: underline;
		}

	#footer-meta ul#legal-navigation, #footer-meta ul#legal-navigation li {
		display: inline-block;
		padding: 0;
		margin: 0;
	}

		#footer-meta ul#legal-navigation li {
			margin: 0 0 0 10px;
			padding: 0 0 0 10px;
			border-left: solid 1px #414042;
			line-height: 1.2em;
		}
	
	
	
	
/* -- Responsive Mobile Tablet -- */
@media screen {

}

/* ---- iPhone Landscape & Portrait ---- */
@media screen and (max-width: 767px) {
	.mob-menu-items .mob-menu-item, header a.cta {
		margin: 0 0 0 5px !important;
	}
	
	header a.cta {
		margin: 0 !important;
	}
	
	header a.cta.small:link, header a.cta.small:visited, header a.cta.small:active {
		padding: 10px 15px;
		font-size: 15px;
		line-height: 15px;
	}
	
	.guide-form-container .form-container {
    	margin: 20px 0 40px;
	}
	
	.guide-form-container img.cover {
    	display: none;
	}
	
	.banner {
		text-align: center;
		padding: 60px 0 0 !important;
	}
	
	.banner.image-float-container:after {
		content: "";
		display: block;
		background: #fff;
		height: 33.33%;
		width: 100%;
		position: absolute;
		bottom: 0;
		left: 0;
		z-index: 0;
	}
	
	.banner.image-float-container div {
		z-index: 1;
		position: relative;
	}
	
	.banner.image-float-container .message-row {
		margin: 0;
	}
	
	.banner.image-float-container img.image-float {
		position: relative;
		bottom: auto;
		left: auto;
		height: auto;
		border-radius: 0 100px 50px 100px;
			-webkit-border-radius: 0 100px 50px 100px;
			-moz-border-radius: 0 100px 50px 100px;
			-khtml-border-radius: 0 100px 50px 100px;
		z-index: 0;
		margin: 30px 0 0;
	}
	
	.image-float-container.content-padding {
		padding: 0;
	}
	
	.image-float-container div.image-float.left {
		display: none;
	}
	
	h1, h2.h1, h1.small, h2.large {
		font-size: 42px;
		line-height: 1.2em;
	}
	
	.large {
		font-size: 17px;
		line-height: 1.6em;
	}
	
	
	h2, h2.large {
		font-size: 34px;
		line-height: 1.2em;
	}
	
	.text-right {
		text-align: center;
	}
	
	.trusted-by .logo {
		max-width: 50%;
		display: none;
	}
	
		.trusted-by .logo:nth-of-type(1), .trusted-by .logo:nth-of-type(2), .trusted-by .logo:nth-of-type(3), .trusted-by .logo:nth-of-type(4) {
			display: inline-block;
		}

	.content-padding {
		padding: 60px 0;
	}
	
	.content-row .cta-container {
		margin-bottom: 30px;
	}

	.valign-center {
		display: block;
	}

	footer h4, footer .social {
		margin-top: 30px;
	}

	footer {
		padding: 40px 0;
		text-align: center;
	}

	#footer-meta {
		text-align: center;
	}

		#footer-meta ul#legal-navigation li {
			margin: 0 10px;
			padding: 0 10px;
			border-left: none;
			line-height: 1.2em;
		}
		
	footer a.logo, footer .social, footer a.phone {
		margin: 0;
	}
	
		footer a.phone {
			margin: 30px 0 0;
		}
		
		footer .social {
			margin: 30px 0;
		}
}

/* ---- Float Image Fix ---- */
@media screen and (min-width: 768px) and (max-width: 1200px) {
	.banner.image-float-container img.image-float {
		width: 75%;
		height: auto;
		top: 70px;
		bottom: auto;
	}
	
	.banner.image-float-container .message-row {
		padding-bottom: 0;
	}
	
	.content-padding {
		padding: 60px 0;
	}
	
	.image-float-container div.image-float.left {
		width: 85%;
		height: 60%;
		top: 0;
		bottom: auto;
	}
	
	.content-row.image-float-container div.image-float.left {
		width: 45%;
		top: 50%;
		transform: translateY(-50%);
		bottom: auto;
	}
	
	.box.box-layout {
		padding: 40px !important;
	}
	
		.box.box-layout h2 {
			font-size: 34px;
		}
		
	footer a.cta {
		margin: 0 10px 10px !important;
	}
}

/* Was: @media screen and (min-width: 767px) and (max-width: 1025px) { */
@media screen and (min-width: 768px) and (max-width: 1025px) {

}

/* ---- Custom tablet ---- */
@media screen and (min-width: 768px) and (max-width: 885px) {
	h1, h2 {
		font-size: 44px;
	}
	
	a.cta:link, a.cta:active, a.cta:visited {
		font-size: 16px;
		line-height: 16px;
		padding: 13px 25px;
	}
}

/* ---- Monitor ---- */
@media screen and (min-width: 767px) {

}

/* ---- iPhone Portrait ---- */
@media screen and (max-width: 400px) {

}