/* =============================================
 * Consolidated CSS
 * ============================================= */

/* === BASE === */
html {
  scroll-behavior: smooth;
}

/* === NORMALIZE (reset) === */
article,aside,details,figcaption,figure,footer,header,hgroup,nav,section,summary {display: block;}

[hidden] {display: none;}

html {font-family: sans-serif; -webkit-text-size-adjust: 100%; -ms-text-size-adjust: 100%; }

body {margin: 0;}

a:focus {outline: thin dotted;}

a:active,a:hover {outline: 0;}

h1 {font-size: 2em;}

b,strong {font-weight: bold;}

img {border: 0;}

button,input,select,textarea {font-family: inherit; font-size: 100%; margin: 0; }

table {border-collapse: collapse;border-spacing: 0;}

h1, h2, h3, h4, h5, h6, p, blockquote, pre,a, abbr, acronym, address, big, cite, code,del, dfn, em, img, ins, kbd, q, s, samp,small, strike, strong, sub, sup, tt, var,b, u, i, center,dl, dt, dd, ol, ul, li,fieldset, form, label, legend,table, caption, tbody, tfoot, thead, tr, th, td,article, aside, canvas, details, embed,figure, figcaption, footer, header, hgroup,menu, nav, output, ruby, section, summary,time, mark, audio, video {	margin-top: 0;	margin-left: 0;	padding-top: 0;	padding-left: 0;}

/* === GRID === */
.row {
	margin-left: -20px;
	*zoom: 1;
}

.row:before,
.row:after {
	display: table;
	content: "";
	line-height: 0;
}

.row:after {
	clear: both;
}

[class*="span"] {
	float: left;
	min-height: 1px;
	margin-left: 20px;
}

.container {
	width: 940px;
}

.span12 {
	width: 940px;
}

.span8 {
	width: 620px;
}

.span4 {
	width: 300px;
}

.span3 {
	width: 220px;
}

.container {
	margin-right: auto;
	margin-left: auto;
	*zoom: 1;
}

.container:before,
.container:after {
	display: table;
	content: "";
	line-height: 0;
}

.container:after {
	clear: both;
}

.visible-desktop {
	display: inherit !important;
}

@media (min-width: 768px) and (max-width: 979px) {
.visible-desktop {
		display: none !important ;
	}
.hidden-tablet {
		display: none !important;
	}
}

@media (max-width: 767px) {
.visible-desktop {
		display: none !important;
	}
}

@media (max-width: 767px) {
.container {
		width: 480px;
	}
.row,
	.thumbnails {
		margin-left: 10px;
		margin-right: 10px;
	}
.row .row {
		margin-left: 0;
		margin-right: 0;
	}
[class*="span"],
	.uneditable-input[class*="span"],
	.row-fluid [class*="span"] {
		float: none;
		display: block;
		width: 100%;
		margin-left: 0;
		-webkit-box-sizing: border-box;
		-moz-box-sizing: border-box;
		box-sizing: border-box;
	}
.span12,
	.row-fluid .span12 {
		width: 100%;
		-webkit-box-sizing: border-box;
		-moz-box-sizing: border-box;
		box-sizing: border-box;
	}
.input-large,
	.input-xlarge,
	.input-xxlarge,
	input[class*="span"],
	select[class*="span"],
	textarea[class*="span"],
	.uneditable-input {
		display: block;
		width: 100%;
		min-height: 30px;
		-webkit-box-sizing: border-box;
		-moz-box-sizing: border-box;
		box-sizing: border-box;
	}
}

@media (max-width: 479px) {
.container {
		width: 320px;
	}
}

@media (min-width: 768px) and (max-width: 979px) {
.row {
		margin-left: -20px;
		*zoom: 1;
	}
.row:before,
	.row:after {
		display: table;
		content: "";
		line-height: 0;
	}
.row:after {
		clear: both;
	}
[class*="span"] {
		float: left;
		min-height: 1px;
		margin-left: 20px;
	}
.container {
		width: 724px;
	}
.span12 {
		width: 724px;
	}
.span8 {
		width: 476px;
	}
.span4 {
		width: 228px;
	}
.span3 {
		width: 166px;
	}
input.span12, textarea.span12, .uneditable-input.span12 {
		width: 710px;
	}
input.span8, textarea.span8, .uneditable-input.span8 {
		width: 462px;
	}
input.span4, textarea.span4, .uneditable-input.span4 {
		width: 214px;
	}
input.span3, textarea.span3, .uneditable-input.span3 {
		width: 152px;
	}
}

@media (min-width: 1200px) {
.row {
		margin-left: -30px;
		*zoom: 1;
	}
.row:before,
	.row:after {
		display: table;
		content: "";
		line-height: 0;
	}
.row:after {
		clear: both;
	}
[class*="span"] {
		float: left;
		min-height: 1px;
		margin-left: 30px;
	}
.container {
		width: 1170px;
	}
.span12 {
		width: 1170px;
	}
.span8 {
		width: 770px;
	}
.span4 {
		width: 370px;
	}
.span3 {
		width: 270px;
	}
input.span12, textarea.span12, .uneditable-input.span12 {
		width: 1156px;
	}
input.span8, textarea.span8, .uneditable-input.span8 {
		width: 756px;
	}
input.span4, textarea.span4, .uneditable-input.span4 {
		width: 356px;
	}
input.span3, textarea.span3, .uneditable-input.span3 {
		width: 256px;
	}
}

@media (max-width: 979px) {
body {
		padding-top: 0;
	}
}

/* === LAYOUT === */
/* Web Symbols font removed - unused */

html { font-size: 100%; -webkit-text-size-adjust: 100%; -ms-text-size-adjust: 100%; text-rendering: optimizelegibility; }

body {
		font-family: "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;
		font-size: 14px;
		line-height: 1.5;
		color: #555;
		background-color: #fff;
		-webkit-font-smoothing: antialiased;
	}

::-moz-selection {background: #14a2ab; color: #fff; }

::selection {background: #14a2ab; color: #fff; }

a { color: #108185;
		text-decoration: none;
		border-bottom: 1px solid #108185; 
		-webkit-transition: color 0.1s linear, border 0.1s linear, opacity 0.1s linear, background-color 0.1s linear;
		   -moz-transition: color 0.1s linear, border 0.1s linear, opacity 0.1s linear, background-color 0.1s linear;
		    -ms-transition: color 0.1s linear, border 0.1s linear, opacity 0.1s linear, background-color 0.1s linear;
		     -o-transition: color 0.1s linear, border 0.1s linear, opacity 0.1s linear, background-color 0.1s linear;
		     	transition: color 0.1s linear, border 0.1s linear, opacity 0.1s linear, background-color 0.1s linear;
				
				
	}

a:hover, a:focus { text-decoration: none; border: none; }

p {
		color: #555;
		font-size: 13px;
		line-height: 1.5;
	}

img {
		
		max-width: 100%;
		
		width: auto\9;
		
		height: auto;
		
		vertical-align: middle;
		border: 0;
		-ms-interpolation-mode: bicubic;
	}

.wrapper {
		position: absolute;
		top: 700px;
		width: 100%;
	}

.color-text {
		color: #14a2ab;
	}

.page {
		padding-top: 78px;
		padding-bottom: 90px;
		background: #fff;
	}

.page-gray {
		background: #f7f7f7;
		border-top: 1px solid #f7f7f7;
	}

.title {
		font-family: "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;
		font-size: 36px;
		letter-spacing: 2px;
		text-transform: uppercase;
		line-height: 1.1;
		margin-bottom: 34px;
	}

.lead {
		font-size: 38px;
		line-height: 1.4;
		margin: 44px 0 46px 0;
		font-weight: 300;
		padding-right: 30%;
	}

hr {
		border: 0;
		border-bottom: 1px solid #14a2ab;
		margin: 10px 0;
	}

.pattern {
		background: url("../img/pattern.png");
		width: 100%;
		position: absolute;
	}

header {
		width: 100%;
		height: 700px;
		position: absolute;
		overflow: hidden;
		text-align: center;
		color: #fff;
		background: #333 url("../img/header.webp") no-repeat top center fixed;
		background-size: 1280px;
	}

header .pattern {
		height: 700px;
	}

header .header-bg {
		height: 700px;
		width: 100%;
		background: url("../img/vignette.webp") no-repeat center center fixed;
		background-size: cover;
		position: absolute;
	}

header .container {
		height: 100%;
		position: relative;
	}

#slidecaption {
		position: absolute;
		top: 30%;
		color:#fff;
		font: 48px "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;
		text-transform: uppercase;
		letter-spacing: 2px;
		line-height: 1.3;
	}

#slidecaption .sub-caption {
		font: 24px "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;
		text-transform: none;
		letter-spacing: 0; 
		line-height: 1.4;
		padding: 0 10%;
		font-weight: 300;
		margin-top: 30px;
	}

#slidecaption .btn.white {
		opacity: 0.8;
		margin-top: 42px;
		line-height: 1.5;
	}

#slidecaption .btn.white:hover {
		opacity: 1;
	}

.logo {
		display: block;
		margin: 0;
		padding: 0;
		line-height: 0;
		border: none;
		width: 177px;
		height: auto;
	}

header .logo {
		margin-top: 80px;
	}

header nav {
		margin-top: 76px;
	}

nav ul {
				display: inline-block;
				font-family: "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;
				float: right;
			}

nav #fluid-nav li, nav #fixed-nav li {
				display: inline-block;
				margin-left: 12px;
			}

nav #fluid-nav li:first-child, nav #fixed-nav li:first-child  {
				margin-left: 0;
			}

nav #fluid-nav li a, nav #fixed-nav li a {
				color: #fff;
				font-weight: 700;
				text-transform: uppercase;
				font-size: 12px;
				border: none;
			}

nav #fluid-nav li a:hover {
				color: #333;
				text-decoration: none;
				
			}

nav #fluid-nav li.current a {
				color: #79d7dd;
			}

nav #fixed-nav li a:hover {
				color: #14a2ab;
				text-decoration: none;
			}

nav #fixed-nav li.current a {
				color: #fff;
				padding-bottom: 5px;
				border-bottom: 3px solid #14a2ab;
			}

nav#mainnav {
				width: 100%;
				height: 50px;
				background-color: #14a2ab;
				overflow: hidden;
				position: sticky; top: 0;
				z-index: 999;
			}

nav#mainnav .logo {
				position: absolute;
				top: 14px;
			}

nav#mainnav #fluid-nav li {
				margin-top: 16px;
			}

.selectnav {
				display: none;
				font-size: 12px;
				position: absolute;
				text-transform: capitalize !important;
			}

nav#mainnav .logo {
				margin-top: 4px;
			}

header .logo {
				text-align: left;
			}

.services {
		background: #14a2ab;
		color: #fff;
		height: 322px;
		padding: 30px;
		box-sizing: border-box;
	}

@-moz-document url-prefix()
{
	.services { height: auto; box-shadow: border-box; overflow: hidden; padding-bottom: 18px; }
}

.services-title {
		font-family: "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;
		text-transform: uppercase;
		font-size: 18px;
		letter-spacing: 1px;
	}

.services-list {
		list-style: none;
		font-size: 14px;
		line-height: 2;
		margin-top: 10px;
	}

.slider-services {
		margin-bottom: 66px;
	}

.profile {
		background-color: #f7f7f7;
		padding-bottom: 20px;
		border-bottom: 1px solid #14a2ab;
	}

.profile img {
		margin-bottom: 20px;
	}

.profile-name {
		font-family: "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;
		font-size: 16px;
		margin: 0 20px;
		letter-spacing: 1px;
		line-height: 1.2;
		text-transform: uppercase;
	}

.profile-job {
		font-family: "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;
		font-size: 10px;
		color: #767676;
		margin: 0 20px 16px 20px;
		text-transform: uppercase;
	}

.profile-desc {
		font-size: 13px;
		margin: 0 20px 23px 20px;
	}

#sidebar {
			background: #000;
			color: #ccc;
			padding: 46px 0 50px 0;
		}

#sidebar .footer-heading {
  color: #fff;
  font-size: 14px;
  letter-spacing: 1px;
  font-weight: 700;
  text-transform: uppercase;
  margin-bottom: 10px;
}

#sidebar h5 {
			color: #fff;
			font-weight: 700;
		}

/* === SIDEBAR TEXT CONTRAST FIX === */
#sidebar p,
#sidebar li,
#sidebar strong {
	color: #ccc;
}

/* === SIDEBAR LINK ACCESSIBILITY === */
#sidebar a {
	color: #14a2ab;
	text-decoration: underline;
}
#sidebar a:hover {
	color: #14a2ab;
}


#copyright {
		background: #14a2ab;
		color: #fff;
		text-align: center;
		font-size: 13px;
		padding: 20px 0 20px 0;
	}

#copyright a {
		color: #fff;
		text-decoration: underline;
	}

#copyright a:hover {
		text-decoration: none;
	}

#adv {
		padding: 26px 0 27px 0;
		background: #fff;
	}

#adv-gray {
		padding: 26px 0 27px 0;
		background: #f7f7f7;
	}

#adv .button-right .btn {
		float: right;
		margin-top: 16px;
	}

/* === SHORTCODES (forms, alerts, etc.) === */
.btn {
	display: inline-block;
	margin: 10px 10px 10px 0;
	padding: 11px 30px;
	line-height: 1.5;
	background: #14a2ab;
	color: #fff;
	font-size: 16px;
	font-weight: bold;
	text-transform: uppercase;
	letter-spacing: 0;
	font-family: "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;
	cursor: pointer;
	border: none;
	border-radius: 60px;
	-webkit-font-smoothing: antialiased;
}

.btn:hover, .btn:focus {
	background: #333;
	color: #fff;
	text-decoration: none;
}

.btn.white {
	background: #fff;
	color: #000;
}

.btn.white:hover, .btn.white:hover {
	background: #14a2ab;
	color: #fff;
}

.btn:active {
	background: #fff !important;
	color: #000 !important;
	-webkit-transition: all 0s linear !important;
	   -moz-transition: all 0s linear !important;
	     -o-transition: all 0s linear !important;
	     	transition: all 0s linear !important;
}

label,
input,
button,
select,
textarea {
	font-size: 15px;
	line-height: 1.5;
	-webkit-font-smoothing: antialiased;
}

input,
button,
select,
textarea {
	font-family: "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;
}

select,
textarea,
input[type="text"],
input[type="password"],
input[type="datetime"],
input[type="datetime-local"],
input[type="date"],
input[type="month"],
input[type="time"],
input[type="week"],
input[type="number"],
input[type="email"],
input[type="url"],
input[type="search"],
input[type="tel"],
input[type="color"],
.uneditable-input {
	display: inline-block;
	height: 40px;
	padding: 9px 1px 9px 13px;
	margin-bottom: 10px;
	line-height: 1.3;
	color: #555;
	-webkit-border-radius: 4px;
	-moz-border-radius: 4px;
	border-radius: 4px;
	vertical-align: middle;
	-webkit-transition: all 0.2s linear;
	   -moz-transition: all 0.2s linear;
	    -ms-transition: all 0.2s linear;
	     -o-transition: all 0.2s linear;
	     	transition: all 0.2s linear;
}

select,
input[type="file"] {
	height: 30px;
	

	*margin-top: 4px;
	

	font-size: 15px;
}

select {
	width: 220px;
	border: 1px solid #d2d2d2;
	color: #3e4349;
}

select[multiple],
select[size] {
	height: auto;
}

select:focus,
input[type="file"]:focus,
input[type="radio"]:focus,
input[type="checkbox"]:focus {
	outline: thin dotted #fff;
	outline: 5px auto -webkit-focus-ring-color;
	outline-offset: -2px;
}

input[class*="span"],
select[class*="span"],
textarea[class*="span"],
.uneditable-input[class*="span"],
.row-fluid input[class*="span"],
.row-fluid select[class*="span"],
.row-fluid textarea[class*="span"],
.row-fluid .uneditable-input[class*="span"] {
	float: none;
	margin-left: 0;
}

input.span12, textarea.span12, .uneditable-input.span12 {
	width: 926px;
}

input.span8, textarea.span8, .uneditable-input.span8 {
	width: 606px;
}

input.span4, textarea.span4, .uneditable-input.span4 {
	width: 286px;
}

input.span3, textarea.span3, .uneditable-input.span3 {
	width: 206px;
}

input[disabled],
select[disabled],
textarea[disabled],
input[readonly],
select[readonly],
textarea[readonly] {
	cursor: not-allowed;
	background-color: #26282a;
}

input:focus:required:invalid,
textarea:focus:required:invalid,
select:focus:required:invalid {
	color: #a4211f;
	border-color: #ee5f5b;
}

input:focus:required:invalid:focus,
textarea:focus:required:invalid:focus,
select:focus:required:invalid:focus {
	border-color: #e9322d;
	-webkit-box-shadow: 0 0 6px #f8b9b7;
	-moz-box-shadow: 0 0 6px #f8b9b7;
	box-shadow: 0 0 6px #f8b9b7;
}

/* === ADDITIONAL (custom overrides) === */
a { 
				border-bottom: 0px solid #14a2ab; 
	}

h1 {
		font-size: 36px;
		font-weight:normal;
		

	}

#slidecaption h1{
		font: 48px "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;
		}

h2 {
		font-size: 38px;
		font-weight: 300;	
	}

@media print,screen and (max-width: 480px) {
#slidecaption h1{
		font: 23px "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;
		}
h2 {
		font-size: 28px;
		font-weight: 400;	
	}
h3 {
		font-size: 25px;
		font-weight:normal;
	}
}

h3 {
		font-size: 20px;
		font-weight:normal;
	}

h5 {
		font-size: 14px;
		letter-spacing: 1px;
		font-weight:normal;
		text-transform:uppercase;
		
	}

.span8 li{
		color: #555;
		font-size: 13px;
		line-height: 1.5;
		margin-left:30px;
	}

/* === MEDIA QUERIES (responsive) === */
@media (min-width: 1200px) {
.lead {
		font-size: 44px;
		margin: 44px 0 46px 0;
		padding-right: 35%;
	}
.services {
		height: 400px;
		padding: 40px;
	}
@-moz-document url-prefix()
{
	.services { height: auto; box-shadow: border-box; overflow: hidden; }
}
.services-list {
		font-size: 16px;
		margin-top: 15px;
	}
.services-title {
		font-size: 20px;
	}
#slidecaption {
		padding: 0 9%;
	}
header {
		background-size: 100%;
		background-position: top center;
	}
nav #fluid-nav li a, nav #fixed-nav li a {
		font-size: 14px;
	}
nav #fluid-nav li, nav #fixed-nav li {
		display: inline-block;
		margin-left: 16px;
	}
}

@media (min-width: 768px) and (max-width: 979px) {
.lead {
		padding-right: 0;
	}
.services {
		height: 247px;
		padding: 20px;
	}
.services-list {
		font-size: 13px;
		margin-top: 0;
	}
#slidecaption { 
		font-size: 36px;
		top: 35%;
	}
#slidecaption .sub-caption {
		font-size: 20px;
		padding: 0;
	}
.selectnav {
		display: block;
		width: 300px !important;
		position: absolute;
		right: 0;
	}
#mainnav .span8 {
		position: relative;
	}
nav#mainnav .selectnav {
		margin-top: 8px;
	}
}

@media (max-width: 767px) {
#adv .button-right .btn {
		float: left;
	}
.lead {
		font-size: 28px;
		margin: 44px 0 46px 0;
		padding-right: 0;
	}
.slider-services {
		margin-bottom: 33px;
	}
.profile {
		margin-bottom: 30px;
	}
.title {
		font-size: 28px;
		letter-spacing: 1px;
	}
.page {
		padding-top: 65px;
		padding-bottom: 50px;
	}
#slidecaption { 
		font-size: 28px;
		top: 35%;
		padding: 0 2%;
	}
#slidecaption .sub-caption {
		font-size: 16px;
		padding: 0;
	}
header, header .pattern, header .header-bg {
		height: 560px;
	}
.wrapper {
		top: 560px;
	}
.selectnav {
		display: block;
	}
#topnav .selectnav {
		display: block;
		position: absolute;
		right: 0;
		top: 73px;
	}
nav#mainnav .selectnav {
		margin-top: 8px;
		width: 460px;
	}
nav#mainnav .logo {
		display: none;
	}
}

@media (max-width: 479px) {
#slidecaption { 
		font-size: 20px;
		top: 36%;
		padding:  2%;
	}
#slidecaption .sub-caption {
		font-size: 14px;
		padding: 0;
	}
#topnav .selectnav {
		width: 300px;
		top: 120px;
	}
nav#mainnav .selectnav {
		width: 300px;
	}
header .logo {
		text-align: center;
	}
body {
		overflow-x: hidden;
	}
}
/* === INLINE LINK ACCESSIBILITY (WCAG: links must not rely on colour alone) === */
.page a:not(.btn) {
  color: #108185;
  text-decoration: underline;
}
.page a:hover {
  text-decoration: none;
}
.page a:visited:not(.btn) {
  color: #108185;
}
/* === COOKIE BANNER CONTRAST FIX (third-party - requires !important) === */
.cc_banner {
  background: #222 !important;
}
.cc_banner .cc_message {
  color: #fff !important;
}
.cc_banner a {
  color: #fff !important;
  text-decoration: underline !important;
}
.cc_banner .cc_btn {
  background: #fff !important;
  color: #222 !important;
  text-decoration: none !important;
  padding: 6px 18px !important;
  border-radius: 4px !important;
  font-weight: bold !important;
}