/*
Theme Name: GSA 2024
Theme URI: https://github.com/tidythemes/blankslate
Based on: blankslate
Adapted by: e-Motive Media Ltd for GSA

Blankslate WordPress Theme © 2011-2021 TidyThemes
Blankslate is distributed under the terms of the GNU GPL
*/

@font-face {
    font-family: 'DIN Alternate Bold';
    font-style: normal;
    font-weight: normal;
    src: local('DIN Alternate Bold'), url('/fonts/DINAlternate-Bold.woff') format('woff');
    }

html,body,div,span,applet,object,iframe,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:0;
padding:0;
border:0;
font-size:100%;
vertical-align:baseline;
}

html{
scroll-behavior:smooth;
}

body{
line-height:1;
}

#wrapper {
overflow:hidden;
}

a{
text-decoration-skip-ink:auto;
}

a[href^="tel"]{
color:inherit;
text-decoration:none;
}

button{
outline:0;
}

ol,ul{
list-style:none;
}

blockquote,q{
/*quotes:none;*/
}

blockquote:before,blockquote:after,q:before,q:after{
content:'';
content:none;
}

q{
display:inline;
font-style:italic;
}

q:before{
content:'"';
font-style:normal;
}

q:after{content:'"';
font-style:normal;
}

textarea,input[type="text"],
input[type="button"],
input[type="submit"],
input[type="reset"],
input[type="search"],
input[type="password"]{
-webkit-appearance:none;
appearance:none;
border-radius:0;
}

input[type="search"]{
-webkit-appearance:textfield;
}

table{
border-collapse:collapse;
border-spacing:0;
}

th,td{
padding:20px 20px 20px 0 !important;
font-size: 1.7em;
line-height:150%;
}

th td:last-child {
padding-right:0 !important;
}



big{
font-size:120%;
}

small,
sup,
sub{
font-size:80%;
}

sup{
vertical-align:super;
}

sub{
vertical-align:sub;
}

dd{
margin-left:20px;
}

kbd,
tt{
font-family:courier;font-size:12px;}

ins{
text-decoration:underline;}

del,
strike,
s{
text-decoration:line-through;
}

dt{
font-weight:bold;
}

address,cite,var{
font-style:italic;
}

article,aside,details,figcaption,figure,footer,header,hgroup,menu,nav,section{
display:block;
}

*{
box-sizing:border-box;
-webkit-tap-highlight-color:transparent;
}

.sticky{
}

.bypostauthor{
}

.wp-caption{
}

.wp-caption-text{
}

.gallery-caption{
}

div.alignright,
img.alignright{
float:right;
  margin-top: 9px;
  margin-left: 20px;
  margin-bottom: 20px;
  width:350px;
  max-width:60%;
  height:auto;
}

div.alignleft,
img.alignleft{
  float: left;
  margin-top: 9px;
  margin-right: 20px;
  margin-bottom: 20px;
    width:350px;
	max-width:60%;
  height:auto;
}

div.aligncenter,
img.aligncenter,
p img.aligncenter{
float:none;
clear:both;
display:block;
margin:20px auto;
width:100%;
  max-width:720px;
  height:auto;
}

.screen-reader-text{
border:0;
clip:rect(1px,1px,1px,1px);
-webkit-clip-path:inset(50%);
clip-path:inset(50%);
height:1px;
margin:-1px;
overflow:hidden;
padding:0;
position:absolute!important;
width:1px;
word-wrap:normal!important;
word-break:normal;
}

.screen-reader-text:focus{
background-color:#f7f7f7;
border-radius:3px;
box-shadow:0 0 2px 2px rgba(0,0,0,.6);
clip:auto!important;
-webkit-clip-path:none;
clip-path:none;
color:#007acc;
display:block;
font-size:14px;
font-size:.875rem;
font-weight:700;
height:auto;
right:5px;
line-height:normal;
padding:15px 23px 14px;
text-decoration:none;
top:5px;
width:auto;
z-index:100000;
}

.skip-link{
left:-9999rem;
top:2.5rem;
z-index:999999999;
text-decoration:underline;
}

.skip-link:focus{
display:block;
left:6px;
top:7px;
font-size:14px;
font-weight:600;
text-decoration:none;
line-height:normal;
padding:15px 23px 14px;
z-index:100000;
right:auto;}



.visually-hidden:not(:focus):not(:active), 
.form-allowed-tags:not(:focus):not(:active){
position:absolute !important;
height:1px;
width:1px;
overflow:hidden;
clip:rect(1px 1px 1px 1px);
clip:rect(1px, 1px, 1px, 1px);
white-space:nowrap;
}

/* My styles */
body{
font-size: 62.5%;
font-family: "Roboto", Arial, Helvetica, sans-serif;
font-weight:500;
background-color: #ffffff;
background-image: url(/wp-content/uploads/2024/03/hex-left-transparent.png), url(/wp-content/uploads/2024/03/hex-right-transparent.png);
background-position: left top, right top;
background-repeat: repeat-y, repeat-y;
color: #1d1d1b;
line-height:150%;
/*margin-top:63px;*/
}

body.page-template-page-contact {
background-image: url(/wp-content/uploads/2024/01/hex-right-transparent.png);
background-repeat: no-repeat;
background-position: right 500px;
}


hr { 
border: 0; 
height: 0; 
border-top: 1px solid #dddddd;
margin: 30px 0;
}

p.clear {
clear:both;
height:0px;
line-height:0.0000001px;
font-size: 0.0000001px;
}

.hidden {
display:none;
}

a:link {
color: #105d74;
text-decoration:none;
}

a:visited {
color: #105d74;
}

a:hover {
color: #105d74;
text-decoration: underline;
}

a:active {
color: #105d74;
}

p {
font-size: 1.7em;
line-height: 175%;
margin: 1.2em 0;
font-family: "Roboto", Arial;
font-weight:500;
}

h1 {
line-height:120%;
font-size: 4em;
font-weight:400;
margin: 25px 0;
font-family: "DIN Alternate Bold", Arial;
text-transform:uppercase;
}

h2 {
font-size: 3em;
line-height:125%;
margin: 1em 0;
font-weight:600;
font-family: "DIN Alternate Bold", Arial;

}

h3 {
font-size: 2.4em;
line-height:125%;
margin: 0.6em 0;
font-family: "Roboto", Arial;
font-weight:700;	
}

h4 {
font-size: 1.8em;
line-height:125%;
margin: 0.6em 0;
font-family: "Roboto", Arial;
font-weight:700;	
}

h5 {
font-size: 1.6em;
line-height:125%;
margin: 0.6em 0;
font-family: "Roboto", Arial;
font-weight:700;
}


h3 strong {
font-weight:700;
}

h4 strong {
font-weight:700;
}

#headerContainer {
width:100%;
background: 
    /* top, transparency mirrored */ 
	linear-gradient(to bottom, 
        rgba(0,0,0,0.9) 0%, 
		rgba(0,0,0,0.8) 5%, 
        rgba(0,0,0,0.7) 10%, 
		rgba(0,0,0,0.6) 15%, 
		rgba(0,0,0,0.5) 20%,
		rgba(0,0,0,0.4) 25%,  
		rgba(0,0,0,0.3) 30%,
		rgba(0,0,0,0.2) 35%,  
		rgba(0,0,0,0.1) 40%,
		rgba(0,0,0,0) 45%,  
		rgba(0,0,0,0) 50%,
		rgba(0,0,0,0) 55%,  
		rgba(0,0,0,0.1) 60%,
		rgba(0,0,0,0.2) 65%,  
		rgba(0,0,0,0.3) 70%,
		rgba(0,0,0,0.4) 75%,  
		rgba(0,0,0,0.5) 80%, 
		rgba(0,0,0,0.6) 85%, 
        rgba(0,0,0,0.7) 90%, 
		rgba(0,0,0,0.8) 95%, 
        rgba(0,0,0,0.9) 100%),
    /* bottom, image */
	linear-gradient(to right, RGB(0, 0, 0), RGB(0, 0, 0));
background-position:
	center center,
	center center;
background-repeat:
	repeat-y,
	repeat;
position:relative;
z-index: 1000;
box-shadow: 0px 5px 10px rgba(0,0,0,.1);
-webkit-box-shadow: 0px 5px 10px rgba(0,0,0,.1);
height:510px;
}


.home #headerContainer {
height:500px;
}

.page-template-page-about .pageContent section {
max-width:930px;
width: 90%;
}


header {
width:100%;
}

#headerTop {
height:133px;
width:100%;
position:relative;

}

.sticky #headerTop {
position:fixed;
top:0;
z-index: 1000;
box-shadow:0 2px 6px rgba(0,0,0,0.2); 
transition: opacity 1s;
height:133px;
transition: height 0.7s;
background-color: #000000;
}

#headerTopContent {

width:100%;
max-width:1440px;
margin:0 auto;

}

#headerTopContent.flex {
align-items:center;
justify-content: space-between;
}

.companyName {
width:347px;
display:block;
max-width:40%;
}

.companyName img {
width:347px;
height:auto;
max-width:100%;
margin:20px 0 20px 25px;
}

/*.sticky .companyName {
margin:13px 25px 15px 0px;
transition: margin 0.7s;
}*/

/*.sticky .companyName img {
width:200px;
height:44px;
transition: width 0.7s, height 0.7s;
}*/

.printOnly {
display:none;
}

#primary {
width: auto;
z-index:50000000000;
}

#primary nav {

}



/*.sticky #primary {
margin-top:13px;
transition: margin-top 0.7s;
}*/


section#hero{
width:100%;
max-width:1200px;
margin:0 auto;
position:relative;
height:375px;
max-height:375px;
display: flex;
}

.stickyDiv {
width:100%;
height:133px;
background-color:#000000;
display:none;
}

.sticky .stickyDiv {
display:block;
transition: display 0.7s;
}

#hero .watermark {
color: #ffffff;
}

#hero .heroContent {
	width:100%;
display:flex;
  align-self: center;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  margin-top:-50px;
}

.home #hero .heroContent {
display:flex;
  align-self: flex-end;
  flex-direction: column;
  justify-content: flex-start;
  align-items: flex-start;
}

.page-template-page-about #hero .heroContent {
display:flex;
  align-self: flex-end;
  flex-direction: column;
  justify-content: flex-start;
  align-items: flex-start;
}



#hero h1 {
color: #ffffff;
font-family: "DIN Alternate Bold", Arial, sans-serif;
font-size: 4em;
text-transform:none;
font-weight:500;
margin-bottom:10px;
text-align:center;
margin-top:5px;


}

#hero .watermark {
margin-bottom:10px;
}

.home #hero h1,
.page-template-page-about #hero h1 {
text-align:left;
margin-top:0;
}

.home #hero p {
line-height:100%;
color: #ffffff;
font-weight:300;
margin:0 0 15px 0;
font-size: 2.1em;

}

.home #hero p:last-of-type {
margin-bottom:30px;

}

.home #hero a{
font-size: 80%;
}
a.arrow {
color: #105d74;
padding:8px;
font-weight:600;
text-transform: uppercase;
text-decoration:none;
}

a.arrow:visited{
color: #105d74;
}

a.arrow:hover{
text-decoration:none;
background-color:#105d74;
color: #ffffff;
}

a.arrow:active{
text-decoration:none;

}

a.arrow::after {
font: var(--fa-font-solid);
  content: "\f061";
  margin-left:10px;
}

.resource a.arrow {
color:#105d74 ;
}

.resource a.arrow:hover {
background-color:#105d74 ;
color:#ffffff;
}

#hero a.arrow {
padding:0;
color: #105d74 ;
}

#hero a.arrow:hover {
background-color:transparent;
color:#ffffff;
padding:0;
}

a.arrowBlock:link {
color: #ffffff;
background-color:#105d74;
font-weight:600;
text-transform: uppercase;
text-decoration:none;
padding:8px;
}

a.arrowBlock:visited{
color: #ffffff;
}

a.arrowBlock:hover {
text-decoration:none;
color:#ffffff;
background-color: #105d74 ;
}

a.arrowBlock:active {
text-decoration:underline;

}

a.arrowBlock::after {
font: var(--fa-font-solid);
  content: "\f061";
  margin-left:10px;
}



section p {
font-size: 1.5em;
font-weight:400;
line-height:175%;
text-align:center;
}

aside.post {
width:350px;
}

#relatedContent section p,
.pageContent section p,
.postContent section p,
.archiveContent section p,
.featuredPost section p,
.postContent aside p,
#caseStudies section p,
.home section#hero p,
#ourServices section p,
#ourExpertise section p {


text-align:left;
}

.page-template-page-about #ourExpertise section p {
text-align:center;
width:100%;
}

.postContent .asidePanel {
background-color: #f3f3f3;
width:100%;
padding: 20px 30px 20px 30px;
}

.postContent aside img {
max-width: 100%;
  margin-bottom: 25px;
  text-align: center;
  width: 300px;
  height: auto;
  margin-left: auto;
  margin-right: auto;
  display: block;
  }

.postContent aside p a {
font-weight:600;
} 



.postContent main {
width: calc(100% - 400px);

}

.postContent main p:first-of-type {
margin-top:0;
}

.sectionContainer.postHeader,
.sectionContainer.archiveHeader {
margin-bottom:15px;
}

.sectionContainer.postHeader section,
.sectionContainer.archiveHeader section {
max-width:930px;
width: 90%;
}

.sectionContainer.postHeader section section,
.sectionContainer.archiveHeader section section {
width:100%;
max-width:1200px;
}
#intro section{
width:100%;
max-width:930px;
width: 90%;
margin:0 auto;
}


#intro p,
#intro h2,
#relatedContent h2,
.postHeader h2,
.postHeader p {
text-align:center;
}

.postHeader p {
text-align:left;
}

#intro h2 {
margin-top:0;
}

#ourExpertise h2 {
text-align:center;
}

#supporting h2 {
text-align:center;
margin-top:0;
}

#intro a {
text-transform:uppercase;
font-weight:600;
font-size:110%;
}

.page-template-page-contact .sectionLeft p {
font-weight:600;
}

i.fa-linkedin {
font-size:2em;
margin-right:5px;
}
a i.fa-linkedin {
color: #1d1d1b;
}

a.button1 {
color:#ffffff;
margin-right:30px;
border: 2px solid #ffffff;
padding:15px;
margin-top:35px;
}

a.button1::after {
content: ">";
display: inline-block;
margin-left: 6px;
position: relative;
transition: transform .25s ease-out;
z-index: 1;
font-family:"Roboto", Arial;
}

a.button1:hover::after {
transform: translateX(50%);
}

a.button1:hover {
color: #009ddd;
border: 2px solid #009ddd;
background-color: rgb(255,255,255,0.7);
text-decoration:0;
}

a.button  {
color:#ffffff;
background: #009ddd;
margin-right:30px;
padding:10px 0;
margin-top:35px;
width:100%;
display:block;
text-align:center;
font-weight:700;
border-radius: 2px;
}

a.button::after {
content: ">";
display: inline-block;
margin-left: 6px;
position: relative;
transition: transform .25s ease-out;
z-index: 1;
font-family:"Roboto", Arial;
}

a.button:hover::after {
transform: translateX(50%);
}

a.button:hover {
color: #ffffff;
background-color: #105d74;
text-decoration:0;
}

#contentContainer {
width:100%;
float:left;
margin-top:50px;
position:relative;
}


#content {
margin-left:auto;
margin-right:auto;
width:100%;
max-width:1440px;
}

.home #content {
margin-top:25px;
}

.sectionContainer {
width:100%;
float:left;
margin-bottom:75px;
}

.page .sectionContainer {
margin-bottom:50px;
}

.sectionContainer#serviceCaseStudy {
padding-top:25px;
}

span.watermark {
color: #b3b3b3;
text-transform:uppercase;
font-size: 1.2em;
letter-spacing:2px;
text-align:center;
display:block;

}

.home.page section h2,
.page-template-page-about.page section h2 {
text-align:center;
}

.page section h2 {
text-align:left;
}

.page.page-template-page-team section h2 {
text-align:center;
}



#ourServices h2 {
font-family: "DIN Alternate Bold", Arial;
font-size: 3em;
font-weight:600;
text-align:left;
}

section {
margin-left:auto;
margin-right:auto;
width:100%;
max-width:1200px;
}

div.section {
margin-left:auto;
margin-right:auto;
width:100%;
max-width:1200px;
}

.featuredPost section {

max-width:1440px;
}

#caseStudies section {
max-width:100%;
}

#caseStudies section#caseStudy {
max-width:1440px;
}


#ourCompany .section {
background-color:#052a47;
min-height:500px;
overflow: hidden;
}


#ourServices section {
}

#servicesIntro{
float:left;
width:22%;
margin-right:5%;
min-width:200px;
}

.clients {

display:flex;
flex-direction:row;
flex-wrap: wrap;
justify-content:space-between;
align-items:center;
}

.awards {

}

#awardsAccreditations section p {
font-size: 1.2em;
font-weight:500;
}

.client .articleImage {
width:100%;
max-width:280px;
}

.client .articleImage img {
width:100%;
height:auto;
}


.reasonsWhy {
display:flex;
flex-direction:row;
flex-wrap: wrap;
justify-content:space-between;
align-items:flex-start;
}

.supporting {
display:flex;
flex-direction:row;
flex-wrap: wrap;
justify-content:space-between;
align-items:flex-start;
}

.values {
display:flex;
flex-direction:row;
flex-wrap: wrap;
justify-content:space-between;
align-items:flex-start;
}


.value .articleImage {
width:100%;
}

.value .articleImage img {
width:100%;
height:auto;
}

.values h3,
.values p {
margin-left: 15px;
margin-right:15px;
text-align:left;
}

.values h3 {
font-size: 2em;
}

#serviceCaseStudy h2,
#contactForm h2{
text-align:center;
}
.why p {
margin-left: 15px;
margin-right:15px;
}

.home article.resource {
width: 30%;
position:relative;
}

.home .resource .articleImage {
width:100%;
max-width:388px;
position:relative;

}
.home .resource .articleExcerpt {
position:absolute;
bottom:0;
width:100%;
display:block;
background: -webkit-gradient(linear,left top,left bottom,color-stop(0,rgba(0,0,0,0)),color-stop(60%,rgba(0,0,0,1)));
background: -webkit-linear-gradient(top,rgba(0,0,0,0)0,rgba(0,0,0,1) 60%);
background: linear-gradient(to bottom,rgba(0,0,0,0)0,rgba(0,0,0,1) 60%);
padding: 20px;
}

.articleExcerpt .watermark {
text-align:left;
}

.home .resource .articleExcerpt h3 {
font-size:1.6em;
color:#ffffff;
font-weight:500;
line-height:125%;
}

.home .resource .articleExcerpt h3 a:link {
color: #ffffff;
text-decoration:none;
}
.home .resource .articleExcerpt h3 a:visited {
color: #ffffff;
text-decoration:none;
}
.home .resource .articleExcerpt h3 a:hover {
color: #b3b3b3;
text-decoration:none;
}
.home .resource .articleExcerpt h3 a:active {
color: #b3b3b3;
text-decoration:none;
}

.home .resource .articleImage img {
width:100%;
height:auto;
}
.home .resource .articleExcerpt div.terms {
display:flex;
width:100%;
flex-direction:row;
flex-wrap: wrap;
justify-content:flex-start;
align-items:flex-start;
}

.terms a{
width: auto;
margin-right:10px;
color:#ffffff;
border: 1px solid #ffffff;
padding:3px;
font-size: 1.1em;
margin-bottom:5px;
}

.articleExcerpt div.terms {
display:flex;
width:100%;
flex-direction:row;
flex-wrap: wrap;
justify-content:flex-start;
align-items:flex-start;
}

.terms a{
color:#1d1d1b;
border: 1px solid #1d1d1b;
font-weight:300;
}

.resource .terms a{
color:#ffffff;
border: 1px solid #ffffff;
}

aside .terms {
flex-direction:column;
padding-bottom:30px;
}

aside .terms a{
color:#1d1d1b;
border:1px solid #1d1d1b;
float:left;
clear:both;
font-weight:300;
margin-bottom: 5px;
}
.video-container {
margin:0 auto;
position:relative;
width:1920px;
}

.whatDo {
width:100%;
margin:25px auto;
max-width:1100px;
display:flex;
flex-direction:row;
flex-wrap: wrap;
justify-content:space-between;
align-items:flex-start;
}

.whatDo article {
position:relative;

}


.whatDo .articleTitle {
   position: absolute;
    left: 50%;
	bottom:15%;
    transform: translate(-50%, 0);
}


.whatDo .articleTitle h3 {
font-size: 3em;
font-family: "DIN Alternate Bold", Arial;
color: #ffffff;
font-weight:600;
}

.whatDo .articleExcerpt {
 top: 0;
  bottom: 0;
  left: 0;
   position: absolute;
  right: 0;
  background: rgba(0, 63, 81, 0.8);
  color: #fff;
  visibility: hidden;
  opacity: 0;
  transition: opacity .2s, visibility .2s;
}

.whatDo .articleExcerpt span.watermark {
margin-top:25px;
text-align:center;
}

.whatDo .articleExcerpt h3{
font-size: 3em;
font-family: "DIN Alternate Bold", Arial;
color: #ffffff;
font-weight:600;
text-align:center;
}

.whatDo .articleExcerpt p{
margin-left:50px;
margin-right:50px;
}

.whatDo article:hover .articleExcerpt {
  visibility: visible;
  opacity: 1;
}

.whatDo article:hover .articleTitle {
visibility: hidden;
}

.whatDo .articleExcerpt {
  transition: .2s;
}

.whatDo .articleExcerpt div {
position: absolute;
  bottom: 0;
  left:0;
  width: 100%;
  
}

.whatDo .articleExcerpt div a{
padding:25px;
color:#ffffff;
display:block;
background-color: #003f51;
text-transform:uppercase;
font-size: 1.6em;
position:relative;
text-align:center;
}

.whatDo .articleExcerpt div::after {
font: var(--fa-font-solid);
  content: "\f061";
  position: absolute;
  top: 35%;
  right: 25px;
  font-size: 2em;
  color: #ffffff;

}


.whatDo article:last-of-type {
margin-right:0;
}

#servicesPanel {
display:flex;
width:73%;
flex-direction:row;
flex-wrap: wrap;
justify-content:space-between;
align-items:flex-start;
}


.home article.service{
width:32%;
margin-bottom:15px;
position:relative;
}

.home .service .articleImage {
width:100%;
height:auto;
}

.home .service .articleImage img {
max-width:100%;
height:auto;
}

.home .service .articleTitle {
position:relative;
}

.home .service .articleTitle h3 {
font-size: 1.6em;
font-weight:600;
text-transform:uppercase;
padding: 0 15px;
}

.home .service .articleTitle h3 a {
max-width:200px;
display:inline-block;
}



.home .service .articleTitle::after {
  font: var(--fa-font-solid);
  content: "\f061";
  position: absolute;
  top: 0;
  right: 20px;
  font-size: 2em;
  color: #105d74;

}

.home .service .articleExcerpt {
  position: absolute;
  top: 0;
  bottom: 0;
  left: 0;
  right: 0;
  background: rgba(0, 63, 81, 0.8);
  color: #fff;
  visibility: hidden;
  opacity: 0;
  transition: opacity .2s, visibility .2s;
}

.home article.service:hover .articleExcerpt {
  visibility: visible;
  opacity: 1;
}

.home article.service .articleExcerpt {
  transition: .2s;
}

.home article.service  .articleExcerpt h4 {

text-transform: uppercase;
color: #ffffff;
font-size: 1.6em;
}

.home article.service  .articleExcerpt p {

color: #ffffff;
font-size: 1.3em;
}

.home article.service .articleExcerpt div {
position: absolute;
  bottom: 0;
  left:0;
  width: 100%;
  
}

.home article.service .articleExcerpt div a{
padding:25px;
color:#ffffff;
display:block;
background-color: #003f51;
text-transform:uppercase;
font-size: 1.6em;
position:relative;
}

.home article.service .articleExcerpt div::after {
font: var(--fa-font-solid);
  content: "\f061";
  position: absolute;
  top: 35%;
  right: 25px;
  font-size: 2em;
  color: #ffffff;

}


section.sectionLeft {
width: calc(50% - 25px);
float:left;
margin-right:50px;
}

section.sectionRight {
width: calc(50% - 25px);
float:right;
max-width: 625px;
}

#newsletterContainer {
width:100%;
background-color: #105d74;
float:left;
}

.sectionContainer#getInTouch,
.sectionContainer#testimonial {
background-color: #105d74;
width:100%;
float:left;
}

#getInTouch section,
#testimonial section{
width: 85%;
max-width:800px;
}

.sectionContainer#testimonial {
margin-bottom:0;
}

#getInTouch p:first-of-type {
	font-size:3em;
	text-align:center;
	color: #ffffff;
	font-style: italic;
	font-weight:300;
	line-height:125%;
}

#getInTouch p br {
display:none;
}

#getInTouch a.arrow {
color: #ffffff;
  text-align: center;
  margin-bottom: 30px;
}

#getInTouch a.arrow:hover {
background-color:#105d74 ;
color: #ffffff;
}

#newsletter {
width:100%;
max-width:1440px;
margin:0 auto;
}

#footerContainer {
width:100%;
background-color: #2b2b2b;
float:left;
}

footer {
width: 100%;
max-width:1200px;
margin-left:auto;
margin-right:auto;
color:#ffffff;

}

#footerHeader p{
font-size: 2.3em;
text-align:center;
}

#footerHeader p br {
display:none;
}

#footerHeader span.tel {
text-align:left;
display:inline;
color:#b3b3b3;
font-size: inherit;
margin-right:20px;
}

#footerHeader a {
color:#b3b3b3;
}

#footerColumns {
display:flex;
flex-direction:row;
flex-wrap: wrap;
justify-content:space-between;
align-items:flex-start;
}


.footerColumn {
width: 23%;
min-width:275px;
margin-bottom:25px;

}

.footerColumn .footerHeading {
text-transform: uppercase;
font-size: 1.3em;
font-weight:600;
margin-bottom:10px;
color: #ffffff;
}

.footerColumn p {
font-size: 1.2em;
line-height:165%;
font-weight:400;
margin-right:15px;
}

#footer4.footerColumn{
margin-right:0;
}
#copyright {
width: 100%;
max-width:1200px;
margin: 25px auto;
clear:both;
}

#copyright p {
color: #ffffff;
font-size:1.2em;
font-family: "Roboto", Arial;
}

#copyright a {
color: #ffffff;
}

#copyright img {
margin-right:10px;
}
section blockquote {
margin:35px 0;
}

blockquote {
float:left;
width:100%;
}

blockquote p {
font-weight:300;
color:#1d1d1b;
font-style: italic;
text-align:center;
font-size: 1.8em;
line-height:120%;
margin-bottom:0;
margin-top:20px;
}

blockquote p cite{
text-transform:none;
font-size: 60%;
line-height:100%;
font-style:normal;
margin:0;
font-weight:500;
color: #003f51;
}

blockquote p:last-of-type {
margin-top:0;
}

.postContent section blockquote p {
text-align:center;
}

#testimonial blockquote p{
color: #ffffff;
}

#testimonial blockquote p cite {
color: #cccccc;
}

.archive main,
.archive aside  {
margin-top:0;
}

.contactSidebar {
float:right;
width:300px;
margin-left:50px;
border: 1px solid #dddddd;
  padding: 25px;
}

.mainWithContact {
width: calc(100% - 350px);
float:left;
}

.contactSidebar h2 {
margin-top:0;
}


.home main {
 margin-top:0;
 }
 
 .readMore {
margin-bottom:20px;
}

a {
-webkit-transform: translate3d(0,0,0);
-moz-transform: translate3d(0,0,0);
-ms-transform: translate3d(0,0,0);
-o-transform: translate3d(0,0,0);
transform: translate3d(0,0,0);
-webkit-backface-visibility: hidden;
-moz-backface-visibility: hidden;
-ms-backface-visibility: hidden;
-o-backface-visibility: hidden;
backface-visibility: hidden;
webkit-transition: all .2s ease-in-out;
-moz-transition: all .2s ease-in-out;
-o-transition: all .2s ease-in-out;
transition: all .2s ease-in-out;
outline: 0 !important;
}

main ul li,
#contentContainer section ul li {
font-size: 1.5em;
font-weight:400;
line-height:175%;
list-style-type:disc;
margin-left:25px;
margin-bottom:5px;
}

main ul li li,
section ul li li,
#contentContainer section ul li li {
font-size: inherit;
}

main ol li,
section ol li,
#contentContainer section ol li {
font-size: 1.5em;
font-weight:400;
line-height:175%;
list-style-type:decimal;
margin-left:25px;
margin-bottom:5px;
}

#contentContainer section .teamMembers ul li {
font-size:1.1em;
margin-left:35px;
}

main ol li li,
section ol li li,
#contentContainer section ol li li {
font-size: inherit;
}

.jump {
  margin-top: -150px;
  padding-top: 150px;
  float: left;
}

.sectionContainer.grey {
background-color: #eeeeee;
margin-bottom:0;
}

.sectionContainer#contactForm {
background-image: url(/wp-content/uploads/2024/01/hex-left-transparent.png);
background-repeat:no-repeat;
background-position:left bottom;
}

.sectionContainer#relatedContent {
background-image: url(/wp-content/uploads/2024/01/hex-left-transparent.png);
background-repeat:no-repeat;
background-position:left bottom;
}

.sectionContainer#ourTeam {
background-image: url(/wp-content/uploads/2024/01/hex-right-transparent.png);
background-repeat:no-repeat;
background-position:right bottom;
}

#ourTeam .watermark,
#ourCompany .watermark {
margin-top:50px;
}

#relatedContent .watermark {
margin-top:50px;
}

#backTop {
font-family: "DIN Alternate Bold", Arial;
font-weight:400;
  position: fixed; /* Fixed/sticky position */
  bottom: 0; /* Place the button at the bottom of the page */
  right: 85px; /* Place the button 30px from the right */
  z-index: 99; /* Make sure it does not overlap */
  border: none; /* Remove borders */
  outline: none; /* Remove outline */
  background-color: #105d74; /* Set a background color */
  color: #ffffff; /* Text color */
  cursor: pointer; /* Add a mouse pointer on hover */
  padding: 15px; /* Some padding */
  border-radius: 2px; /* Rounded corners */
  font-size: 1.8em; /* Increase font size */
}

#backTop:hover {
  background-color: #555; /* Add a dark-grey background on hover */
}

iframe {

max-width:100% !important;
}

p.trusted {
text-align:center;
}


.articleExcerpt div.terms {
display:flex;
width:100%;
flex-direction:row;
flex-wrap: wrap;
justify-content:flex-start;
align-items:flex-start;
}


.row2.service {
width: 48%;
max-width:720px;
min-height:330px;

}


.row2.service .articleImage {
width:100%;
max-width:100%;
position:relative;
}

.row2.service .articleImage {

}
.featured,
.archive .featured {
position:relative;
}
.archive .featured {
display:none;
}

.featured .articleImage,
.archive .featured .articleImage {
float:left;
width:45%;
max-width: 720px;
position:relative;
}
.featured .articleExcerpt,
.archive .featured .articleExcerpt {
float:left;
width: 55%;
position:relative;
height:450px;

}

#caseStudies div.ourClients {
padding-top:40px;
clear:both;
}

#caseStudies section p.trusted {
text-align:center;
}

.featured .articleExcerpt .boxout,
.archive .featured .articleExcerpt .boxout {
position:relative;
left:-150px;
width:630px;
background-color:#105d74;
padding:40px;
margin-bottom:60px;
}

.featured .articleExcerpt span.watermark,
.archive .featured .articleExcerpt span.watermark {
margin: 30px 0 30px 50px;
}

.featured .articleExcerpt a.arrow,
.archive .featured .articleExcerpt a.arrow {
margin-left:50px;
background-color:transparent;
color:#105d74;
}

.featured .articleExcerpt a.arrow:hover {
background-color:#105d74;
color: #ffffff;
}

.featured .articleExcerpt .boxout h3,
.archive .featured .articleExcerpt .boxout h3 {
color: #ffffff;
font-size: 3em;
margin-top:0;
font-family: "DIN Alternate Bold", Arial, sans-serif;
font-weight:500;
}


.featured .articleExcerpt .boxout p,
.archive .featured .articleExcerpt .boxout p{
color: #ffffff;
}

.featured .articleExcerpt .boxout h3 a,
.archive .featured .articleExcerpt .boxout h3 a {
color: #ffffff;
}

.featured .articleExcerpt .boxout h3,
.archive .featured .articleExcerpt .boxout h3 {
font-family: "DIN Alternate Bold", Arial, san-serif;
}


.archive .articleExcerpt {
width:100%;
display:block;
padding: 20px;
}

.row2.service .articleExcerpt {
width:100%;
display:block;
padding: 0 0 20px 0;
}

.row2.service .articleExcerpt {
position: relative;
  background-color: #ffffff;
  width: 80%;
  left: 10%;
  margin-top:-38px;
}

.archive .articleExcerpt h3 {
font-size:1.7em;
color:#1d1d1b;
font-weight:500;
line-height:125%;
min-height:45px;
}

.row2.service .articleExcerpt h3 {
font-size:1.9em;
color:#1d1d1b;
font-weight:500;
line-height:125%;
min-height:45px;
position:relative;
padding-left:20px;
padding-top:10px;
}
.post-type-archive-service .row2.service .articleExcerpt h3::after {
font: var(--fa-font-solid);
  content: "\f061";
  position: absolute;
  top: 0;
  right: 0;
  padding:8px;
  font-size: 1.4em;
  background-color: #105d74;
  color: #ffffff;
}

.row2.service .articleExcerpt p {
padding:0 20px;
}

.featured .articleImage img,
.archive .articleImage img {
width:100%;
height:auto;
}
.archive .articleExcerpt div.terms {
display:flex;
width:100%;
flex-direction:row;
flex-wrap: wrap;
justify-content:flex-start;
align-items:flex-start;
}


#ourExpertise h3 {
text-align:center;
font-size: 2em;
}

.teamMembers {
}


.teamMembers article{
margin-bottom:25px;
min-height:380px;
}


.teamMembers .articleTitle {
position:absolute;
background-color: #ffffff;
width:90%;
left:5%;
bottom: -2.5%;
min-height:100px;
}


.teamMembers .articleTitle h3 {
font-size: 1.6em;
font-weight:500;
padding: 0 15px;
}

.teamMembers .articleTitle h4 {
font-size: 1.6em;
font-weight:500;
text-transform:uppercase;
padding: 0 15px;
color:#bbbbbb;
}

.teamMembers .articleTitle h3 a {
max-width:200px;
display:inline-block;
}

.teamMembers .articleTitle p {
text-align:left;
padding: 0 15px;
margin-top:0;
}

.teamMembers .articleExcerpt {
  position: absolute;
  top: 0;
  bottom: 0;
  left: 0;
  right: 0;
  background: rgba(255, 255, 255, 1);
  visibility: hidden;
  opacity: 0;
  transition: opacity .2s, visibility .2s;
}

.teamMembers article:hover .articleExcerpt {
  visibility: visible;
  opacity: 1;
  min-height:750px;
  z-index:50000000000;
}

.teamMembers article .articleExcerpt {
  transition: .2s;
}

.teamMembers article .articleExcerpt h3 {
padding:25px 25px 5px 25px;
font-size: 1.6em;
}


.teamMembers article  .articleExcerpt h4 {
padding:0 25px;
font-size: 1.6em;
font-weight:500;
text-transform:uppercase;
color:#bbbbbb;
}

.teamMembers article .articleExcerpt p {
padding:0 25px;
font-size: 1.2em;
text-align:left;
}

article.serviceItem {
display:flex;
width:100%;
flex-direction:row;
flex-wrap: wrap;
justify-content:space-between;
align-items:center;
align-content:flex-start;
}

article.serviceItem .articleImage {
width:48%;
}

article.serviceItem .articleImage img {
max-width:100%;
height:auto;
}

article.serviceItem .articleExcerpt {
width:48%
}
.single-service .postHeader,
.single-service .postHeader p:last-of-type{
margin-bottom:0;
}

.single-service .sectionContainer.postContent:nth-of-type(2n+2) {
background-color: #eeeeee;
margin-bottom:0;
background-image: url(/wp-content/uploads/2024/01/hex-right-transparent.png);
background-repeat:no-repeat;
background-position:right bottom;
}

.sectionContainer.postContent {
margin-bottom:0;
}

.sectionContainer.postContent section{
padding:50px 0;
margin-bottom:0;
display:flex;
width:100%;
flex-direction:row;
flex-wrap: wrap;
justify-content:space-between;
align-items:flex-start;
}

.single-news .sectionContainer.postContent section,
.single-case_study .sectionContainer.postContent section,
.single-whitepaper .sectionContainer.postContent section {
padding:15px 0;
/*flex-direction: row-reverse;*/
}

.page .soliloquy-container * {
font-size: 105% !important;
}

.sectionContainer.postContent section .serviceItem h2 {
text-align:left;
margin-top:0;
}
.squares h2 {
text-align:center;
}

.serviceNav {
width:80%;
background-color: #105d74;
margin:0 auto;
max-width:930px;
display:flex;
flex-direction:row;
flex-wrap: wrap;
justify-content:space-between;
align-items:flex-start;
align-content:flex-start;
position:relative;
margin-top:-90px;
padding:30px 50px;
border-radius:50px;
z-index: 100000000
}

.serviceNav a {
color: #ffffff;
font-size: 1.6em;
text-transform: uppercase;
letter-spacing:1px;
}


/* Contact form styling */

#contactForm section .contactFormBlock p {
text-align:left;
}

.contactFormBlock {
display:flex;
width:100%;
flex-direction:row;
flex-wrap: wrap;
justify-content:space-between;
align-items:flex-start;
align-content:flex-start;
}


.contactFormColumn{
width:45%;
margin-bottom:25px;
}


input[type=text], 
input[type=password], 
input[type=email] {
border:1px solid #cccccc;
padding:5px;
color: #1d1d1b;
font-size: 1.5em;
width:calc(100% - 2px);
}

.ubermenu-search input[type=text] {
font-size:inherit;
}

input:hover, select:hover, textarea:hover {
background:#d7dbdd; 
}

input[type=checkbox] {
border:1px solid #cccccc;
}

input[type=submit] {
color: #ffffff;
background-color:#105d74;
font-weight:500;
text-transform: uppercase;
border:none;
padding:10px;
font-size: 1em;
}

#contactForm section .contactFormBlock .submitButton p {
text-align:center;
}

textarea {
border:1px solid #cccccc;
padding:5px;
line-height:25px;
color: #1d1d1b;
width:calc(100% - 2px);
font-family: "Roboto", Arial;
height:100px;
}

.checkboxes .wpcf7-list-item,
.checkbox .wpcf7-list-item{
margin-left:0;
}

.checkboxes span:nth-of-type(odd) {
width:40%;
}
.checkboxes span:nth-of-type(even) {
width:60%;
}

#ourCompany article,
#serviceCaseStudy article {
background-color:#105d74;
}

.squares .articleImage {
position:relative;

}

.squares .articleExcerpt {
padding:0;
}

.squares .articleTitle {
position: absolute;
  top: 0%;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  width:100%;
  max-width:100%;
  height: 100%;
  text-align:center;
  background: 
    /* top, transparency mirrored */ 
	linear-gradient(to bottom, 
        rgba(0,0,0,0.9) 0%, 
		rgba(0,0,0,0.8) 5%, 
        rgba(0,0,0,0.7) 10%, 
		rgba(0,0,0,0.6) 15%, 
		rgba(0,0,0,0.5) 20%,
		rgba(0,0,0,0.4) 25%,  
		rgba(0,0,0,0.3) 30%,
		rgba(0,0,0,0.2) 35%,  
		rgba(0,0,0,0.1) 40%,
		rgba(0,0,0,0.1) 45%,  
		rgba(0,0,0,0.1) 50%,
		rgba(0,0,0,0.1) 55%,  
		rgba(0,0,0,0.1) 60%,
		rgba(0,0,0,0.2) 65%,  
		rgba(0,0,0,0.3) 70%,
		rgba(0,0,0,0.4) 75%,  
		rgba(0,0,0,0.5) 80%, 
		rgba(0,0,0,0.6) 85%, 
        rgba(0,0,0,0.7) 90%, 
		rgba(0,0,0,0.8) 95%, 
        rgba(0,0,0,0.9) 100%);
background-position:
	center center;
background-repeat:
	repeat-y;
z-index:100;
}

.squares .articleImage h3,
.squares .articleImage p {
color: #ffffff;
}

.squares .articleImage h3 {
font-size:4em;
font-weight:500;
}

.squares .articleImage a.arrow {
color: #ffffff;
}

.squares .articleImage p {
margin-bottom:50px;
}

.squares .articleExcerpt blockquote p {
text-align:center;
}

.squares .articleImage img {
max-width:100%;
height:auto;
}
.squares .articleExcerpt h2 {
font-size: 2.8em;
}

.squares .articleExcerpt h2,
.squares .articleExcerpt p
{
padding:0 75px 0 100px;
color: #ffffff;
text-align:left;
}

.squares .articleExcerpt p {
font-size: 1.5em;
font-weight:400;
}

.squares .articleExcerpt span.watermark {
text-align:left;
margin-top:50px;
padding:0 75px 0 100px;
}

.squares .articleImage span.watermark {
margin-top:50px;
padding:0 75px 0 100px;
}

.page-template-page-about .squares
{
background-color:#052a47;
}

.flex {
display:flex;
flex-direction:row;
flex-wrap: wrap;
justify-content:flex-start;
align-items:flex-start;
}

.awards.flex {
justify-content:center;
}

.resources.flex {
justify-content:center;
align-items:flex-start;
column-gap: 5%;
}

#relatedContent .flex,
.reasonsWhy.flex,
.supporting.flex,
.archiveContent .flex {
column-gap: 5%;
}

.supporting .row4 {
width:21%;
}

.whatDo.flex,
.industries.flex,
.services.flex,
.teamMembers.flex {
column-gap:4%;
}

.awards.flex {
column-gap:5%;
}

.values.flex {
column-gap:2.6%;
}

.resources .row3 {
min-width:300px;
margin-bottom:30px;
}



.row2 {
width:48%;
}

.row3 {
width:30%;
}

.row4 {
width:23%;
min-width:225px;
}

.row5 {
width:18%;

}

.row6 {
width:12%;
min-width:150px;
}

#servicesPanel .row3 {
width:48%;
min-width:210px;
}


article {
position:relative;
}

.articleImage {
width:100%;
}

.articleImage img {
width:100%;
height:auto;
}

.articleExcerpt {
width:100%;
display:block;
padding: 20px;
}

.row4 .articleExcerpt {
padding: 20px 0;
}

.articleExcerpt h3 {
font-size:1.7em;
color:#1d1d1b;
font-weight:500;
line-height:125%;
min-height:45px;
}

.row4 .articleExcerpt h3 {
min-height:auto;
text-align:center;
}

/* Homepage video */
.full-width-video {
  width: 100%;
  aspect-ratio: 1920 / 1080; /* width and height of the mobile video */
  background-color: black; /* to show pre-allocated space */
  position:relative;
}
/* override for desktop */
@media only screen and (min-width: 480px) {
  .full-width-video {
    aspect-ratio: 1920 / 1080;
  }
}
.width-display {
  font-size: 50%;
  position: absolute;
  right: 1em;
  display: block;
  top: 1em;
}

.home header {
position:absolute;
top:0;
z-index:100000000;
background: 
	linear-gradient(to bottom, 
        rgba(0,0,0,0.9) 0%, 
		rgba(0,0,0,0.8) 5%, 
        rgba(0,0,0,0.7) 10%, 
		rgba(0,0,0,0.6) 15%, 
		rgba(0,0,0,0.5) 20%,
		rgba(0,0,0,0.4) 25%,  
		rgba(0,0,0,0.3) 30%,
		rgba(0,0,0,0.2) 35%,  
		rgba(0,0,0,0.1) 40%,
		rgba(0,0,0,0) 45%,  
		rgba(0,0,0,0) 50%,
		rgba(0,0,0,0) 55%,  
		rgba(0,0,0,0.1) 60%,
		rgba(0,0,0,0.2) 65%,  
		rgba(0,0,0,0.3) 70%,
		rgba(0,0,0,0.4) 75%,  
		rgba(0,0,0,0.5) 80%, 
		rgba(0,0,0,0.6) 85%, 
        rgba(0,0,0,0.7) 90%, 
		rgba(0,0,0,0.8) 95%, 
        rgba(0,0,0,0.9) 100%);
background-position:
	center center;
background-repeat:
	repeat-y;
}

.squares {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
}

.square{
  aspect-ratio: 1 / 1;
}

.square.articleExcerpt{
  background-color:#105d74;
}

.square img {
  width: 100%;
  height: 100%;
  display: block;
  object-fit: cover;
}

#testimonials {
background-color:#105d74;
max-height:225px;
margin-top:50px;
}

#testimonials p {
color: #ffffff;
margin:25px;
line-height:175%;

}

a.facetwp-page {
font-size:1.8em;
}

.home #caseStudies {
display:none;
}

/* MailChimp styling */

#newsletter p.blurb{
text-align:center;
color: #ffffff;
font-size: 2.1em;
margin-top:50px;
line-height:150%;
}

#newsletter p {
color: #ffffff;
font-size:1.4em;
}
#newsletter a:link,
#newsletter a:visited,
#newsletter a:hover,
#newsletter a:active {
color: #ffffff;
text-decoration:underline;
}

#mc_embed_shell {
width: 100%;
max-width:650px;
margin: 25px auto;
}

#mc_embed_signup_scroll.flex{
justify-content:center;
column-gap:4%;
row-gap:25px;
}
.mc-field-group {
width:48%;
max-width:325px;

}
.mc-field-group.input-group {
width:100%;
max-width:650px;
}

#newsletter .mc-field-group.input-group p {
color: #ffffff;
font-weight:600;
font-size: 1.6em;
text-align:left;
margin:10px 0;
}

.mc-field-group.input-group li {
width:48%;
float:left;
margin-right:2%;
min-width:300px;
margin-bottom:10px;
}

.mc-field-group.input-group label {
display:inline;
}

.mc-field-group.input-group.groups {

display:none;
}


.mc-field-group label {
display:block;
color: #ffffff;
font-size: 1.4em;
margin-bottom:3px;
}

.mc-field-group input[type=text],
.mc-field-group input[type=email]{
max-width:300px;
border:none;
}

.mc-field-group input[type=checkbox]{
margin-left:0;
}

#mc_embed_signup_scroll input[type=submit] {
color: #105d74;
background-color:#ffffff;
padding:8px;
font-weight:500;
text-transform: uppercase;
text-decoration:none;
font-size: 1.6em;
}

#mc_embed_signup_scroll input[type=submit]:hover {
	background-color: #003f51;
	color:#ffffff;
	cursor:pointer;
}


#mc_embed_signup_scroll input[type=submit]:active {
  -webkit-transform: translateY(1px);
  transform: translateY(1px);
}

#mc_embed_signup div.mce_inline_error {
font-size: 1.2em;
}


#mce-success-response {
font-size: 1.6em;
color:#ffffff;
}

img.alignright.size-full,
img.alignleft.size-full{
	width:auto;
	
}