@charset "utf-8";
/* CSS Document */

/* GLOBALS */
html,body
{
margin:0;
padding:0;
font-family: 'Roboto', sans-serif;
font-size:16px;	
}
*
{
box-sizing:border-box;	
}
.pageContent a
{
color:#2babd7;	
}
.error404 header
{
    
}
.errorWrapper
{
    max-width:1200px;
    margin:0 auto;
    padding:70px 0;
}
.errorWrapper .errorWrapperInner
{
    padding:0 30px;
    text-align:Center;
}
.errorWrapper .errorWrapperInner .bigNum
{
    font-weight:700;
    color:#202020;
    padding-bottom:30px;
    font-size:100px;
}
.errorWrapper .miniMessageError
{
    max-width:768px;
    margin:0 auto;
    line-height:150%;
    font-weight:300;
    
}
header
{
position:absolute;
top:0;
left:0;
right:0;
display:block;
z-index:5;	
display:block;
overflow:hidden;
}
header .headBarContainer
{
max-width:1400px;
margin:0 auto;
display:flex;
align-items:center;
padding:20px 0;
flex-wrap:wrap;	
}
header .headBarContainer .brandLogo
{
flex : 0 0 100%;
position:relative;
z-index:10;
text-align:Center;	
}
header .headBarContainer .brandLogo a
{
display:inline-block;
background-color:#fff;
padding:15px 25px;
-webkit-box-shadow: 0px 0px 8px 0px rgba(0,0,0,0.25);
-moz-box-shadow: 0px 0px 8px 0px rgba(0,0,0,0.25);
box-shadow: 0px 0px 8px 0px rgba(0,0,0,0.25);

}
header .headBarContainer .brandLogo img
{
display:block;
max-width:110px;
height:auto;	
}
header .headBarContainer .navigationBar
{
position:absolute;
top:30px;
right:20px;
z-index:12;	
}
.mobileController
{
display:block;	
}
.mobileController a
{
display:block;
width:50px;
height:50px;
position:relative;	
}
.mobileController a span
{
position:absolute;

left:0;
right:0;
height:2px;
display:block;
background-color:#ffffff;
}
.mobileController a span.t
{
top:5px	
}
.mobileController a span.m
{
top:50%;
}
.mobileController a span.b
{
bottom:5px	
}
header .headBarContainer .navigationBar nav
{
display:none;
}
header .headBarContainer .navigationBar nav.opened
{
display:flex;
flex-wrap:wrap;
align-items:center;
position:fixed;
justify-content:center;
top:0;
left:0;
bottom:0;
right:0;
background-color:#fff;	
}
.closeNav 
{
position:absolute;
top:20px;
right:20px;
	
}
.navLogo
{
flex: 1 0 100%;
  
    text-align: center;	
}
.navLogo img
{
    max-width: 145px;
    display: inline-block;
    height: auto;	
}
.closeNav a
{
background:url(../img/close-mobile-nav.svg) center no-repeat;
display:block;
width:50px;
height:50px;	
}
.navigationBar nav ul
{
list-style-type:none;
list-style-position:inside;
margin:0;
padding:0;
text-indent:0;
	
}
.navigationBar nav ul li
{
display:block;
text-align:Center;
}
.navigationBar nav ul li a
{
font-weight:400;
color:#2babd7;
text-decoration:none;
padding:12px;
display:block;
font-size:26px;	
}
html .siteWrap
{
overflow:hidden;	
}
.centerWrap
{
position:relative;
	
}
.bubbleVisualRight img,
.bubbleVisualRight-1 img,
.bubbleVisualLeft-1 img
{
display:block;
width:100%;
height:auto;	
}
.bubbleVisualRight
{
position:absolute;
right:0;
top:40%;
width:460px;	
}
.bubbleVisualRight-1
{
position:absolute;
right:0;
top:76%;
opacity:0.7;	
}
.bubbleVisualLeft-1
{
position:absolute;
left:0;
top:85%;
width:350px;	
}
.homeContent
{
position:relative;
z-index:2;	
}



.footCTAHead
{
display:flex;

justify-content:flex-end;	
}
.footCTAHead
{
padding-top:50px;	
}
.footCTAHead .hd
{
flex:0 0 100%;
padding:0 30px 20px 30px;	
}
.footCTAHead .hd .sm {
    font-weight: 300;
    font-size: 20px;
    color: #adadad;
    position: relative;
    z-index: 2;
}
.footCTAHead .hd .lg {
    color: #2babd7;
    font-size: 46px;
    font-weight: 700;
    position: relative;
    z-index: 2;
}
.footCTAHead .expContent{
padding-right: 30px;
    position: relative;
    z-index: 2;
	max-width:500px;	
}
.footCTAHead .expContent p
{
    padding: 0 0 15px 0;
    color: #333;
    line-height: 210%;	
}
.footCTAFlx
{
display:flex;	
}
.footCTAFlx .footCTALeft
{
display:none;
}
.footCTAVisualBlock
{
position:absolute;
top:0;
right:0;
bottom:0;
left:0;
background-size:cover;
background-position:center;
background-repeat:no-repeat;	
}
.footCTAFlx .footCTALeft
{
flex:1 0 50%;	
position:relative;
}
.footCTAFlx .footCTARight
{
flex:1 0 100%;
background-color:#2babd7;	
}
.footCTAFlx .footCTARight .footCTAForm
{
padding:30px;
max-width:600px;	
}


.footCTAForm .typeSelector ,
.contactFormWrap .typeSelector
{
padding-bottom:28px;
background:url(../img/selector-down-arrow.png) bottom center no-repeat;	
}
.footCTAForm .typeSelector select,
.contactFormWrap .typeSelector select
{
-webkit-box-shadow: 0px 0px 5px 0px rgba(0,0,0,0.35);
-moz-box-shadow: 0px 0px 5px 0px rgba(0,0,0,0.35);
box-shadow: 0px 0px 5px 0px rgba(0,0,0,0.35);	
}
.footCTAForm textarea,
.contactFormWrap textarea
{
max-height:150px;
max-width:100%;	
}
.footCTAForm select,
.footCTAForm textarea,
.footCTAForm input[type=text],
.footCTAForm input[type=email],
.contactFormWrap select,
.contactFormWrap textarea,
.contactFormWrap input[type=text],
.contactFormWrap input[type=email]
{
border:none!important;
padding:9px!important;
font-family: 'Roboto', sans-serif!important;
}
.footCTAForm select:focus,
.footCTAForm textarea:focus,
.footCTAForm input[type=text]:focus,
.footCTAForm input[type=email]:focus,
.contactFormWrap select:focus,
.contactFormWrap textarea:focus,
.contactFormWrap input[type=text]:focus,
.contactFormWrap input[type=email]:focus
{
outline:none!important;	
}
.footCTAForm .gform_wrapper.gravity-theme .gform_fields,
.contactFormWrap .gform_wrapper.gravity-theme .gform_fields
{
grid-row-gap: 10px!important;	
}
.footCTAForm  .gform_footer,
.contactFormWrap  .gform_footer
{
padding-top:4px!important;	
}
.footCTAForm  .gform_footer input[type=submit],
.contactFormWrap  .gform_footer input[type=submit]
{
	padding:15px!important;
	color:#fff!important;
	background-color:#bcbcbc!important;
	font-weight:100;
	font-size:24px!important;
	border:none!important;
	
	
}
.footCTAForm  .gform_footer input[type=submit]:focus,
.contactFormWrap  .gform_footer input[type=submit]:focus
{
outline:none;!important;	
}
.footerWrap footer 
{
display:block;
background-color:#fbfbfb;

}
.footerInner
{
display:flex;
max-width:1400px;
margin:0 auto;	
flex-wrap:wrap;
padding:60px 0;
}
.footerInner .brandFooter
{
display:flex;
padding-bottom:30px;
margin-bottom:30px;
border-bottom:1px solid #ccc;
flex:1 0 100%;	
}
.footLogo img
{
max-width:110px;
display:block;
height:auto;	
}
.footerInner .footerNav,
.footerInner .channelsAndComms
{
	flex:1 0 100%;
	padding-bottom:30px;
margin-bottom:30px;
border-bottom:1px solid #ccc;
}
.footTxtAddress
{
padding:0 20px 10px 20px;	
}
.footTxtAddress p
{
margin:0;
padding:0;
color:#6b6b6b;
line-height:150%;	
}
.footerInner .footerNav ul
{
list-style-type:none;
list-style-position:inside;
text-indent:0;
margin:0;
padding:0 0 0 20px;	
}
.footerInner .footerNav ul li a
{
	color:#6b6b6b;
	padding:3px 0;
	display:inline-block;
	text-decoration:none;
}
.footerNav .title
{
padding-left:20px;
	color:#6b6b6b;
	padding-bottom:15px;
	font-weight:700;	
}
.channelsAndComms .title
{
	color:#6b6b6b;
	padding-bottom:15px;
	font-weight:700;
	padding-left:20px;
}
.footComms
{
padding-left:20px;	
}
.footComms a
{
text-decoration:none;	
}
.footComms .commRw .ico
{
display:inline-block;
width:30px;
vertical-align:middle;	
}
.footComms .commRw .lb
{
display:inline-block;
padding-left:12px;
color:#2babd7;
vertical-align:middle;	
}
.channelsAndComms .channels .socRw
{
display:inline-block;
padding-right:7px;	
}
.footLogo
{

padding-left:20px;
}
footer .channelsAndComms .channels
{
padding-left:20px;

}
/* END GLOBALS */


/* HOME CLASSES */
.homeFrontHero
{
position:relative;
height:100vh;
min-height:768px;
width:100%;
display:flex;
align-items:flex-end;
}
.homeFrontHero .homeFrontVisual
{
position:absolute;
top:0;
bottom:0;
left:0;
right:0;
background-color:#efefef;
overflow:hidden;
}
.homeFrontHero .homeFrontVisualBlock
{
position:absolute;
top:0;
height:100%;
left:0;
right:0;
background-size:cover;
background-position:center;
background-repeat:no-repeat;	
}
.homeFrontHero .homeFrontVisualBlock::before
{
width:100%;
height:50%;
background: linear-gradient(0deg, rgba(0,0,0,0.7) 0%, rgba(0,0,0,0) 100%);
position:absolute;
bottom:0;
left:0;
content:" ";
display:block;	
}
.homeFrontHeroMessage
{
flex:1;
position:relative;
z-index:2;	
}
.homeFrontHeroMsgInner
{
max-width:1400px;
margin:0 auto;
padding-bottom:40px;
	
}
.homeFrontHeroMsgInner .mainHeroTitle
{
position:relative;
padding-bottom:20px;

text-align:center
}

.homeFrontHeroMsgInner .mainHeroTitle p
{
font-weight:400;
font-size:40px;
color:#fff;
line-height:100%;
margin:0;
padding:0;
text-shadow: 0px 0px 5px rgba(0, 0, 0, 0.35);	
}
.subHeroTitle
{
font-weight:300;
font-size:24px;
color:#fff;	
text-shadow: 0px 0px 5px rgba(0, 0, 0, 0.35);
text-align:center;	
}

.onestopIntroduction
{
padding:30px 0;
}
.onestopIntroFlx
{
display:flex;
flex-wrap:wrap;	
}
.onestopIntroFlx .osiLeft
{
flex:1 0 100%;	
min-height:340px;
position:relative;
}
.osiLeft .visualBlock
{
background-size:cover;
background-position:center right;
background-repeat:no-repeat;
position:absolute;
top:0;
left:0;
right:0;
bottom:0;
z-index:1;	
}

.onestopIntroFlx .osiRight
{
flex:1 0 100%;	
padding:30px 0;	
}
.osiRightContent
{

position:relative;
z-index:3;
	
}
.osiRightContent .hd
{
padding:30px;
max-width:700px;	
}
.osiRightContent .hd .sm
{
font-weight:300;
font-size:20px;
color:#adadad;
	
}
.osiRightContent .hd .lg
{
color:#2babd7;
font-size:46px;
font-weight:700;
	
}

.osiContent p
{
	padding:0 0 15px 0;
	color:#333;
	line-height:210%;
}
.osiLink a
{
color:#2babd7;
font-size:18px;
text-decoration:none;
display:inline-block;	
}
.osiLink a span.label
{
display:inline-block;
vertical-align:middle;
padding-right:12px;	
transition:padding cubic-bezier(0.25, 0.41, 0.32, 0.95) 0.3s;
}
.osiLink a:hover span.label
{
transition:padding cubic-bezier(0.25, 0.41, 0.32, 0.95) 0.3s;
padding-right:18px;			
}

.osiLink a span.blueArrow
{
display:inline-block;
vertical-align:middle;
width:53px;
height:46px;
background:url(../img/blue-arrow.svg) center right no-repeat;
}
.homeExpertise
{
max-width:1400px;
margin:0 auto;
padding: 0 0 80px 0;	
}
.homeExpertiseInner
{
padding:0 20px;	
}
.homeExpertiseInner .expertiseFlx
{
display:flex;
flex-wrap:wrap;	
}
.expertiseFlx .expLeft
{
flex:1 0 100%;
position:relative;
padding:50px 0;	
}
.expertiseFlx .expRight
{
flex:1 0 100%;
position:relative;
z-index:2;		
}
.expertiseFlx .expLeft .expCWrap
{
position:relative;	
}
.expertiseFlx .expLeft .expCWrap::before
{
position:absolute;
top:-50px;
bottom:-50px;
left:50%;
content:" ";
display:block;
transform:translateX(-50%);
background-color:rgba(239,239,239,0.7);
width:10000px;	
z-index:0;
}

.expLeft .hd
{
position:relative;
z-index:1;		
}
.expLeft .hd .sm
{
font-weight:300;
font-size:20px;
color:#adadad;
position:relative;
z-index:2;
padding-bottom:12px;	
}
.expLeft .hd .lg
{
color:#2babd7;
font-size:46px;
font-weight:700;
position:relative;
z-index:2;
padding-top:12px;	
}
.expLeft .hd .lg::before
{
position:Absolute;
top:0;
left:0;
height:2px;
width:60px;
border-top:2px solid #2babd7;
content:" ";
display:block;	
}
.expLeft .expContent
{
padding-right:30px;
position:relative;
z-index:2;	
}
.expLeft .expContent p
{
	padding:0 0 15px 0;
	color:#333;
	line-height:210%;
}
.expertiseSectorsFlx
{
display:flex;
flex-wrap:wrap;
padding-top:50px;
}
.expertiseSectorsFlx .expEntry
{
flex:1 0 50%;
padding-bottom:30px;	
}
.expertiseSectorsFlx .expEntry a
{
display:block;
padding:0 15px 0 15px;
text-decoration:none;
}
.expertiseSectorsFlx .expEntry .svgIco
{
text-align:center;	
}
.expertiseSectorsFlx .expEntry .svgIco svg
{
display:inline-block;
max-width:100%;
height:auto;	
}
.expertiseSectorsFlx .expEntry .icoLabel
{
text-align:center;
padding:10px 0 0 0;
font-weight:300;
color:#333333;	
}
.expLeft .expLink a
{
color:#2babd7;
font-size:18px;
text-decoration:none;	
}
.expLeft .expLink a span.label
{
display:inline-block;
vertical-align:middle;
padding-right:12px;	
transition:padding cubic-bezier(0.25, 0.41, 0.32, 0.95) 0.3s;
}
.expLeft .expLink a:hover span.label
{
transition:padding cubic-bezier(0.25, 0.41, 0.32, 0.95) 0.3s;
padding-right:18px;			
}

.expLeft .expLink a span.blueArrow
{
display:inline-block;
vertical-align:middle;
width:53px;
height:46px;
background:url(../img/blue-arrow.svg) center right no-repeat;
}
.homeMessage
{
}

.homeMessage .homeMessageFlx
{
	display:flex;
	height:100vh;
	position:relative;
	flex-wrap:wrap;
	justify-content:flex-end;
	align-items:center;
}
.homeMessage .homeMessageFlx .homeMessageVisual
{
position:absolute;
top:0;
bottom:0;
right:0;
left:0;
background-size:cover;
background-position:center;
background-repeat:no-repeat;
background-attachment:fixed;
z-index:0;	
}
.homeMessageData
{
flex:0 0 100%;
position:relative;
z-index:2;	
}
.homeMessageDataInner
{
margin:30px;
background-color:rgba(43,171,215,0.9);
padding:30px;	
}
.homeMessageDataInner .hd .sm
{
    font-weight: 300;
    font-size: 20px;
    color: #fff;
	position:relative;	
}

.homeMessageDataInner .hd .lg
{
color: #fff;
    font-size: 46px;
    font-weight: 700;	
}
.homeMessageDataInner .hd .expContent
{
    padding: 0 0 15px 0;
    color: #fff;
    line-height: 210%;	
}

.homeMessageData .expLink a
{
color:#fff;
font-size:18px;
text-decoration:none;	
}
.homeMessageData .expLink a span.label
{
display:inline-block;
vertical-align:middle;
padding-right:12px;	
transition:padding cubic-bezier(0.25, 0.41, 0.32, 0.95) 0.6s;
}
.homeMessageData .expLink a:hover span.label
{
transition:padding cubic-bezier(0.25, 0.41, 0.32, 0.95) 0.6s;
padding-right:18px;		
}

.homeMessageData .expLink a span.whiteArrow
{
display:inline-block;
vertical-align:middle;
width:53px;
height:46px;
background:url(../img/white-arrow.svg) center right no-repeat;
}


.homePeople
{
max-width:1400px;
margin:auto;
padding:80px 0;
	
}

.homePeople .homePeopleInner
{
    padding: 0 20px;

}
.homePeople .homePeopleInner.flxd
{
	display:flex;
	flex-wrap:wrap;
}
.homePeopleInner .hd
{
position:relative;
z-index:1;		
}
.homePeopleInner .hd .bigText
{
padding:20px 0;
font-size:30px;
font-weight:700;
color:#eaeaea;
line-height:120%;	
}
.homePeople .homePeopleInner.flxd .hd
{
flex:1 0 100%;	
}
.homePeople .homePeopleInner.flxd .teamVisualRight
{
flex:1 0 100%;

	
}
.homePeople .homePeopleInner.flxd .teamVisualRight .imWrap
{
position:relative;	
}
.homePeople .homePeopleInner .teamVisualRight .imWrap img
{
display:block;
max-width:100%;
height:auto;
z-index:10;
position:relative;	
}
.homePeopleInner .hd .sm
{
font-weight:300;
font-size:20px;
color:#adadad;
position:relative;
z-index:2;
padding-bottom:12px;	
}
.homePeopleInner .hd .lg
{
color:#2babd7;
font-size:46px;
font-weight:700;
position:relative;
z-index:2;
padding-top:12px;	
}
.homePeopleInner .hd .lg::before
{
position:Absolute;
top:0;
left:0;
height:2px;
width:60px;
border-top:2px solid #2babd7;
content:" ";
display:block;	
}
.homePeopleInner .expContent
{
padding-right:30px;
position:relative;
z-index:2;	
}
.homePeopleInner .expContent p
{
	padding:0 0 15px 0;
	color:#333;
	line-height:210%;
}
.homePeopleInner .expLink a
{
color:#2babd7;
font-size:18px;
text-decoration:none;	
}
.homePeopleInner .expLink a span.label
{
display:inline-block;
vertical-align:middle;
padding-right:12px;	
transition:padding cubic-bezier(0.25, 0.41, 0.32, 0.95) 0.3s;
}
.homePeopleInner .expLink a:hover span.label
{
transition:padding cubic-bezier(0.25, 0.41, 0.32, 0.95) 0.3s;
padding-right:18px;			
}

.homePeopleInner .expLink a span.blueArrow
{
display:inline-block;
vertical-align:middle;
width:53px;
height:46px;
background:url(../img/blue-arrow.svg) center right no-repeat;
}
.homePeopleInner .peopleDisplayFlx
{
display:flex;
flex-wrap:wrap;
padding-top:60px;	
}
.peopleDisplayFlx .peopleDispLeft
{
flex:1 0 100%;
position:relative;
z-index:3;	
}
.contPush
{
padding:15px;
text-align:center;	
}
.peopleDisplayFlx .peopleDispLeft p
{
margin:0;
padding:0 0 20px;
color:#333333;
font-weight:400;
font-size:24px;	
}

.peopleDisplayFlx .peopleDispRight
{
	flex:1 0 100%;
}
.peopleDispRight .peopleDispFlx 
{
display:flex;
flex-wrap:wrap;	
}
.peopleDispFlx .person
{
flex:0 0 50%;

position:relative;		
}
.peopleDispFlx .person a
{
display:block;
text-decoration:none;	
}
.peopleDispFlx .person.first
{
position:relative;	
}


.peopleDispFlx .personProfileShot
{

padding-bottom:100%;
position:relative;	
}
.peopleDispFlx .profileVisual
{
position:absolute;
top:0;
right:0;
bottom:0;
left:0;
background-size:cover;
background-position:center;
background-repeat:no-repeat;	
}
.personInner .personName
{
display:none;
color:#2babd7;
padding-bottom:5px;
padding-top:15px;
font-size:18px;	
}
.personInner .personPosition
{
	display:none;
color:#6b6b6b;
font-size:18px;		
}
/* END HOME CLASSES */


/* BEGIN PAGE CLASSES */
.pageHero {
    position: relative;
    height: 80vh;
    width: 100%;
    display: flex;
    align-items: flex-end;
}
.pageHero .pageHeroVisual {
    position: absolute;
    top: 0;
    bottom: 0;
    left: 0;
    right: 0;
    background-color: #efefef;
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;
}
.pageHero .pageVisualBlock
{
    position: absolute;
    top: 0;
    bottom: 0;
    left: 0;
    right: 0;
    background-color: #efefef;
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;	
}
.pageHeroMsg
{
flex:1;
position:relative;	
}
.pageHeroMsg .pageHeroMsgInner
{
padding:0 30px;	
}
.pageHeroMsg .pageHeroMsgInner h1
{
color:#fff;
margin:0;
padding-bottom:30px;
font-size:40px;
font-weight:500;
text-align:center;
text-shadow: 0px 0px 8px rgba(0, 0, 0, 0.4);	
}
.pageHeroMsg .pageHeroIcon
{
margin-bottom:-90px;
text-align:Center;	
}
.pageHeroMsg .pageHeroIcon img
{
display:inline-block;
height:auto;
max-width:100%;	
}
.pageIntroduction
{
padding:120px 30px 50px;
background-color:#f2f2f2;	
}
.pageIntroduction.pullIntro
{
padding-top:50px;	
}
.pageIntroduction .introInner
{
max-width:768px;
margin:0 auto;
	
}
.pageIntroduction .introInner p
{
margin:0;
padding:0 0 15px 0;
text-align:center;
font-weight:300;
line-height:160%;
font-size:18px;	
}
.pageContent
{
max-width:1500px;
margin:0 auto;	
}
.pageContent > p
{
color:#333;
line-height:160%;
max-width:1000px;
margin:0 auto;
padding:30px 30px 30px 30px;	
}
.pageContent.pushContent
{
padding-top:130px;	
}
.compListBlock.spaced
{
padding-top:60px;	
}
.compListBlock.spacedAfter
{
padding-bottom:60px;	
}
.compListBlockFlx
{
display:flex;
flex-wrap:wrap;
	
}
.compListBlockFlx .compLstLeftContent,
.compListBlockFlx .compLstRightVisual
{
	flex:1 0 100%;
}
.compListBlockFlx .compLstLeftContent
{
background-color:#fbfbfb;	
}
.compLstRightVisual
{
min-height:300px;
background-size:cover;
background-position:center;
background-repeat:no-repeat;	
}
.compListBlockFlx .compLstLeftContent .inner
{
padding:30px;
color:#333333;	
}
.compListBlockFlx .compLstLeftContent .inner a
{

}
.compListBlockFlx .compLstLeftContent ul
{
list-style-position:inside;
list-style-type:none;
margin:0;
padding:0 0 15px 0;
text-indent:0;
color:#333;	
font-size:18px;		
}
.compListBlockFlx .compLstLeftContent ul li
{
padding:0 0 12px 26px;
background:url(../img/list-arrow-blue.svg) left 2px no-repeat;
line-height:150%;	
}
.compLstLeftContent .inner h2
{
color:#2babd7;
font-size:30px;
font-weight:400;	
}
.compLstLeftContent .inner p
{
margin:0;
padding:0 0 15px 0;
line-height:150%;
color:#333;	
font-size:18px;	
}




.quoteBlock.spaced
{
padding-top:60px;
}
.quoteBlock.spacedAfter
{
padding-bottom:60px;
}
.quoteBlockFlx
{
display:flex;
flex-wrap:wrap;
	
}
.quoteBlockFlx .quoteLeftContent
{
background-color:#2babd7;	
}
.quoteBlockFlx .quoteLeftContent,
.quoteBlockFlx .quoteRightVisual
{
	flex:1 0 100%;
}
.quoteRightVisual
{
min-height:300px;
background-size:cover;
background-position:center;
background-repeat:no-repeat;	
}
.quoteBlockFlx .quoteLeftContent .inner
{
padding:30px;
color:#333333;	
}
.quoteBlockFlx .quoteLeftContent .inner a
{

}


.quoteBlockFlx .quoteLeftContent .inner .cnt
{
margin:0;
padding:0 0 15px 0;
line-height:150%;
font-weight:300;
color:#fff;	
font-size:24px;	
}

/* contact page */

.commsContact a
{
text-decoration:none;	
}
.commsContact .commRw .ico
{
display:inline-block;
width:30px;
vertical-align:middle;	
}
.commsContact .commRw .lb
{
display:inline-block;
padding-left:12px;
color:#2babd7;
vertical-align:middle;	
}
.contactLogo img
{
max-width:150px;
height:auto;
display:block;	
}
.contactDataWrap .contactStreet
{
	font-size:20px;
	font-weight:300;
}
.contactDataWrap .contactStreet strong
{
color: #2babd7;
    font-size: 46px;
    font-weight: 700;	
}

.contactTemplateFlx
{
display:flex;
flex-wrap:wrap;
padding-top:40px;
padding-bottom:40px;	
}
.contactTemplateFlx .contactTemplateLft,
.contactTemplateFlx .contactTemplateRght

{
	flex:1 0 100%;
}
.contactTemplateFlx .contactTemplateRght
{
display:none;	
}
.contactFormWrap
{
padding:30px;
background-color:#2babd7;		
}
.contactDataWrap
{
padding:0 30px;	
}
/* end contact page */


/* service template */
.serviceFlx
{
display:flex;
padding:40px 0;
flex-wrap:wrap;
max-width:1200px;
margin:0 auto;	
}
.serviceFlx .serviceEntWrap
{
flex:1 0 100%;	
}
.serviceFlx .serviceEntWrap .serviceEntInner
{
padding:0 30px 50px 30px;	
}
.serviceFlx .serviceEntWrap a
{
text-decoration:none;	
}
.serviceEntInner .entIcon
{
text-align:center;
padding-bottom:20px;	
}
.serviceEntInner .entIcon svg
{
display:inline-block;	
}
.serviceEntInner h2
{
margin:0;
padding:0 0 15px 0;
font-size:20px;
color:#000;
text-align:center;
font-weight:400;	
}
.serviceEntInner .exp
{
line-height:150%;
text-align:center;
color:#333;	
}
.EntLink
{
text-align:center;
color:#2babd7;
padding-top:15px;
}
.EntLink span.txt
{
padding-right:10px;	
display:inline-block;
vertical-align:middle;
}
.EntLink span.miniArrow
{
display:inline-block;
vertical-align:middle;
width:37px;
height:23px;

background:url(../img/mini-blue-arrow.svg) center no-repeat;	
}
/* end service template */

/* team template */
.textualImageEntries
{
padding:50px 30px;	
}
.textualImageEntries .textualFlx
{

}
.textualImageEntries .textualFlx .txEnt
{
display:flex;
flex-wrap:wrap;
padding-bottom:40px;		
}
.textualImageEntries .textualFlx .txEnt h2
{
font-weight:400;
font-size:24px;
color:#2babd7;
margin:0;
padding:0 0 15px 0;
}
.textualImageEntries .textualFlx .txEnt h3
{
color:#6b6b6b;
margin:0;
padding:0 0 15px 0;
font-style:italic;
font-size:18px;	
}
.textualImageEntries .textualFlx .txEnt p
{
line-height:160%;
color:#333;
margin:0;
padding:0 0 20px 0;	
}
.entImage
{
flex:1 0 100%;
padding-bottom:20px;	
}
.entImage img
{
	display:block;
	max-width:100%;
	height:auto;
}
.entTxtContent
{
flex:1 0 100%;
text-align:Center;	
}
/* end team template */





/* END PAGE CLASSES */

/* animation classes */


.animate.fromLeft, .animate.fromRight, .animate.fromBottom, .animate.fromTop {
	opacity: 0;
	
	transition: opacity cubic-bezier(0.25, 0.41, 0.32, 0.95) 1s;
}
.animate.fromLeft.is-active, .animate.fromTop.is-active, .animate.fromBottom.is-active, .animate.fromRight.is-active {
	opacity: 1;

	transition: opacity cubic-bezier(0.25, 0.41, 0.32, 0.95) 1s;
}
.animate.fadeInLong {
	opacity: 0;
	transition: opacity cubic-bezier(0.25, 0.41, 0.32, 0.95) 4s;
}
.animate.fadeInLong.is-active {
	opacity: 1;
	transition: opacity cubic-bezier(0.25, 0.41, 0.32, 0.95) 4s;
}
.animate.fadeIn {
	opacity: 0;
	transition: opacity cubic-bezier(0.25, 0.41, 0.32, 0.95) 1s;
}
.animate.fadeIn.is-active {
	opacity: 1;
	transition: opacity cubic-bezier(0.25, 0.41, 0.32, 0.95) 1s;
}

/* reveal helper */
.revealRelPos
{
overflow:hidden;
position:relative;	
}
/* end reveal helper */
.animate.revealUp {
	transform: translateY(100%);
	transition: transform cubic-bezier(0.25, 0.41, 0.32, 0.95) 1s;
}
.animate.is-active.revealUp {
	transform: translateY(0);
	transition: transform cubic-bezier(0.25, 0.41, 0.32, 0.95) 1.1s;
}
.animate.revealDown {
	transform: translateY(-100%);
	transition: transform cubic-bezier(0.25, 0.41, 0.32, 0.95) 1.1s;
}
.animate.is-active.revealDown {
	transform: translateY(0);
	transition: transform cubic-bezier(0.25, 0.41, 0.32, 0.95) 1.1s;
}
.is-active.delay-0-8 {
	transition-delay: 0.8s!important;
}
.is-active.delay-0-6 {
	transition-delay: 0.6s!important;
}
.is-active.delay-0-4 {
	transition-delay: 0.4s!important;
}
.is-active.delay-0-3 {
	transition-delay: 0.3s!important;
}
.is-active.delay-0-2 {
	transition-delay: 0.2s!important;
}

/* SVG ICON ANIMATIONS */


/* END SVG ANIMATIONS */


/* end animation classes */

.mobileTeamDisp img
{
    
display:block;
max-width:100%;
height:auto;
}

@media(min-width:768px)
{

	.peopleDispRight .peopleDispFlx 
	{
	margin:0 -15px;	
	}
	.personInner .personName,
	.personInner .personPosition
	{
	display:block;	
	}
	.personInner .personPosition
	{
	font-size:14px;	
	}
    .mobileTeamDisp
    {
        display:none;
    }
    .peopleDispRight
{
    
    display:block;
}
	.footerInner .brandFooter,
	.footerInner .footerNav,
	.footerInner .channelsAndComms
	{
	border-bottom:0;
	margin-bottom:0;	
	}
	.footAddressComms
	{
	display:flex;
	flex-wrap:wrap;
	flex:1;	
	}
	.footComms,
	.footTxtAddress
	{
	flex:1 0 50%;	
	}
	/* BEGIN GLOBAL CLASSES */
	header .headBarContainer .navigationBar
	{
	position:relative;
	top:auto;
	right:auto;
	text-align:Center;
	width:100%;
	margin-top: 20px;
	z-index:3;	
	}
	header .headBarContainer .navigationBar::before
{
width:20000px;
top:0;
bottom:0;
background-color:#fff;
left:50%;
transform:translateX(-50%);
display:block;
content:" ";
position:absolute;	
}
.navLogo
{
display:none;	
}
header .headBarContainer .navigationBar nav,
header .headBarContainer .navigationBar nav.opened
{
display:block;
position:relative;
z-index:3;
left:auto;
right:auto;
bottom:auto;
left:auto;
background:none;	
}
.closeNav 
{
display:none;	
}
.mobileController
{
display:none;
}
header .headBarContainer .brandLogo img
{

max-width:130px;
}
.navigationBar nav ul li
{
display:inline-block;
text-align:left;
}

.navigationBar nav ul li a
{
font-weight:400;

font-size:16px;	
}
.footerInner
{
padding:80px 0;	
}
.brandFooter
{
padding-bottom:40px;	
}
.footLogo
{
flex:0 0 110px;	

}

.footAddressComms
{

}

.footerInner .footerNav
{

    flex: 1 0 20%;	
}
.footerInner .channelsAndComms
{
flex:1;	
}
.footerInner .footerNav ul
{
padding-left:20px;	
}
.footerInner .footerNav .title
{
padding-left:20px;	
}
footer .channelsAndComms .title,
footer .channelsAndComms .channels
{
padding-left:0;	
}
.footCTAHead .hd
{
flex:0 0 50%;
}

.footCTAFlx .footCTALeft
{
flex:1 0 50%;	
display:block;
}
.footCTAFlx .footCTARight
{
flex:1 0 50%;
	
}

/* END GLOBAL CLASSES */

/* BEGIN HOME CLASSES */
.homeFrontHeroMsgInner .mainHeroTitle
{

padding-left:20px;
text-align:left;
margin-bottom:20px;	
}
.homeFrontHeroMsgInner .mainHeroTitle::after
{
content:" ";
display:block;
position:absolute;
left:20px;
width:100%;
border-bottom:2px solid #fff;
bottom:0;	
}
.subHeroTitle
{

padding-left:20px;
text-align:left;
}
.homeFrontHeroMsgInner .mainHeroTitle p
{
font-weight:700;
font-size:60px;

}

.onestopIntroduction
{
padding:80px 0;
}


.expertiseFlx .expLeft
{
flex:1 0 50%
}
.expertiseFlx .expRight
{
flex:1 0 50%;

}

.homeMessageData
{
flex:0 0 50%;

}
.homeMessageDataInner
{
margin:0;
background-color:rgba(43,171,215,0.9);
padding:30px;	
}


.contPush
{
text-align:left;	
}
.peopleDispFlx .person
{
flex:0 0 33.333%;
}

.peopleDispFlx .personInner
{
padding:0 15px 15px 15px;	
}
.homeMessageDataInner .hd .sm span
{
display:inline-block;
position:relative;
padding-bottom:12px;
margin-bottom:8px;	
}
.homeMessageDataInner .hd .sm span::after
{
width:500px;
position:absolute;
bottom:0;
right:0;
height:2px;
border-top:2px solid #fff;
content:" ";
display:block;	
}

/* END HOME CLASSES */

/* BEGIN PAGE CLASSES */
.pageHeroMsg .pageHeroMsgInner h1
{
font-size:50px;	
}
.homeFrontHeroMsgInner
{

padding-bottom:70px;
	
}


.compListBlockFlx .compLstLeftContent,
.compListBlockFlx .compLstRightVisual
{
	flex:1 0 50%;
	min-height:550px;
}
.compListBlock.rght  .compListBlockFlx
{
flex-direction:row-reverse;	
}
.compListBlockFlx .compLstLeftContent
{
display:flex;
justify-content:center;
align-items:center;		
}
.compListBlock.rght  .compListBlockFlx .compLstLeftContent
{
justify-content:center;	
}
.compListBlockFlx .compLstLeftContent .inner
{
max-width:650px;
padding:30px 40px 30px 30px;	
}
.compListBlock.rght  .compListBlockFlx .compLstLeftContent .inner
{
padding:50px 30px 50px 40px;		
}






.quoteBlockFlx .quoteLeftContent,
.quoteBlockFlx .quoteRightVisual
{
	flex:1 0 50%;
	min-height:550px;
}
.quoteBlock.rght  .quoteBlockFlx
{
flex-direction:row-reverse;	
}
.quoteBlockFlx .quoteLeftContent
{
display:flex;
justify-content:flex-end;
align-items:center;		
}
.quoteBlock.rght  .quoteBlockFlx .quoteLeftContent
{
justify-content:flex-start;	
}
.quoteBlockFlx .quoteLeftContent .inner
{
max-width:650px;
padding:30px 40px 30px 30px;	
}
.quoteBlock.rght  .quoteBlockFlx .quoteLeftContent .inner
{
padding:50px 30px 50px 40px;		
}

/* contact template */
.contactTemplateFlx .contactTemplateLft
{
flex:1 0 50%;	
}

.contactTemplateFlx .contactTemplateRght
{
flex:1 0 50%;
display:block;	
}
/* end contact template */


/* service template */

.serviceFlx .serviceEntWrap
{
flex:1 0 50%;	
}

/* end service temlate */

/* begin team template */
.textualImageEntries .textualFlx .txEnt
{
 	
}
.textualImageEntries .textualFlx .txEnt .entTxtContent
{
padding:0 0 0 40px;	
}
.textualImageEntries .textualFlx .txEnt.fl .entTxtContent
{
padding:0 40px 0 0;		
}
.textualImageEntries .textualFlx .txEnt.fl
{
flex-direction:row-reverse;	
}
.entImage
{
flex:1 0 30%;
padding-bottom:0;	
}
.entTxtContent
{
flex:1 0 70%;
text-align:left;	
}

.textualImageEntries .textualFlx .txEnt h2
{
font-weight:300;
font-size:30px;
}
/* end team template */




/* END PAGE CLASSES */



/* animation classes */

.animate.fromLeft {
	transform: translateX(-80px);
  opacity: 0;
	transition: transform cubic-bezier(0.25, 0.41, 0.32, 0.95) 1.1s, opacity cubic-bezier(0.25, 0.41, 0.32, 0.95) 1.1s;
}
.animate.fromLeft.is-active {
	transform: translateX(0);
	opacity: 1;
	transition: transform cubic-bezier(0.25, 0.41, 0.32, 0.95) 1.1s, opacity cubic-bezier(0.25, 0.41, 0.32, 0.95) 1.1s;
}
.animate.fromRight {
	transform: translateX(80px);
	opacity: 0;
	transition: transform cubic-bezier(0.25, 0.41, 0.32, 0.95) 1.1s, opacity cubic-bezier(0.25, 0.41, 0.32, 0.95) 1.1s;
}
.animate.fromRight.is-active {
	transform: translateX(0);
	opacity: 1;
	transition: transform cubic-bezier(0.25, 0.41, 0.32, 0.95) 1.1s, opacity cubic-bezier(0.25, 0.41, 0.32, 0.95) 1.1s;
}
.animate.fromBottom {
	transform: translateY(80px);
	opacity: 0;
	transition: transform cubic-bezier(0.25, 0.41, 0.32, 0.95) 1.1s, opacity cubic-bezier(0.25, 0.41, 0.32, 0.95) 1.1s;
}
.animate.fromBottom.is-active {
	transform: translateY(0);
	opacity: 1;
	transition: transform cubic-bezier(0.25, 0.41, 0.32, 0.95) 1.1s, opacity cubic-bezier(0.25, 0.41, 0.32, 0.95) 1.1s;
}
.animate.fromTop {
	transform: translateY(-80px);
	opacity: 0;
	transition: transform cubic-bezier(0.25, 0.41, 0.32, 0.95) 1.1s, opacity cubic-bezier(0.25, 0.41, 0.32, 0.95) 1.1s;
}
.animate.fromTop.is-active {
	transform: translateY(0);
	opacity: 1;
	transition: transform cubic-bezier(0.25, 0.41, 0.32, 0.95) 1.1s, opacity cubic-bezier(0.25, 0.41, 0.32, 0.95) 1.1s;
}
.animate.fadeInLong {
	opacity: 0;
	transition: opacity cubic-bezier(0.25, 0.41, 0.32, 0.95) 3s;
}
.animate.fadeInLong.is-active {
	opacity: 1;
	transition: opacity cubic-bezier(0.25, 0.41, 0.32, 0.95) 3s;
}
.animate.fadeIn {
	opacity: 0;
	transition: opacity cubic-bezier(0.25, 0.41, 0.32, 0.95) 1.1s;
}
.animate.fadeIn.is-active {
	opacity: 1;
	transition: opacity cubic-bezier(0.25, 0.41, 0.32, 0.95) 1.1s;
}
.animate.revealUp {
	transform: translateY(100%);
	transition: transform cubic-bezier(0.25, 0.41, 0.32, 0.95) 1.1s;
}
.animate.is-active.revealUp {
	transform: translateY(0);
	transition: transform cubic-bezier(0.25, 0.41, 0.32, 0.95) 1.1s;
}
.animate.revealDown {
	transform: translateY(-100%);
	transition: transform cubic-bezier(0.25, 0.41, 0.32, 0.95) 1.1s;
}
.animate.is-active.revealDown {
	transform: translateY(0);
	transition: transform cubic-bezier(0.25, 0.41, 0.32, 0.95) 1.1s;
}
.animate.beforeToLeft::before
{
display:block;
left:0;
top:0;
bottom:0;
width:100%;
content:" ";
background-color:#fff;
position:absolute;
z-index:5;
transition: width cubic-bezier(0.25, 0.41, 0.32, 0.95) 1.2s,opacity cubic-bezier(0.25, 0.41, 0.32, 0.95) 1.2s;	
}
.animate.is-active.beforeToLeft::before
{
opacity:1;
width:0;
transition: width cubic-bezier(0.25, 0.41, 0.32, 0.95) 1.2s,opacity cubic-bezier(0.25, 0.41, 0.32, 0.95) 1.2s;	
}


.animate.afterToLeft::after
{
display:block;
left:0;
top:0;
bottom:0;
width:100%;
content:" ";
background-color:#fff;
position:absolute;
z-index:5;
transition: width cubic-bezier(0.25, 0.41, 0.32, 0.95) 1.2s,opacity cubic-bezier(0.25, 0.41, 0.32, 0.95) 1.2s;	
}
.animate.is-active.afterToLeft::after
{
opacity:1;
width:0;
transition: width cubic-bezier(0.25, 0.41, 0.32, 0.95) 1.2s,opacity cubic-bezier(0.25, 0.41, 0.32, 0.95) 1.2s;	
}



.animate.beforeToRight::before
{
display:block;
right:0;
top:0;
bottom:0;
width:100%;
content:" ";
background-color:#fff;
position:absolute;
z-index:5;
transition: width cubic-bezier(0.25, 0.41, 0.32, 0.95) 1s,opacity cubic-bezier(0.25, 0.41, 0.32, 0.95) 1s;	
}
.animate.is-active.beforeToRight::before
{
opacity:1;
width:0;
transition: width cubic-bezier(0.25, 0.41, 0.32, 0.95) 1s,opacity cubic-bezier(0.25, 0.41, 0.32, 0.95) 1s;	
}


.animate.afterToRight::after
{
display:block;
right:0;
top:0;
bottom:0;
width:100%;
content:" ";
background-color:#fff;
position:absolute;
z-index:5;
transition: width cubic-bezier(0.25, 0.41, 0.32, 0.95) 1s,opacity cubic-bezier(0.25, 0.41, 0.32, 0.95) 1s;	
}
.animate.is-active.afterToRight::after
{
opacity:1;
width:0;
transition: width cubic-bezier(0.25, 0.41, 0.32, 0.95) 1s,opacity cubic-bezier(0.25, 0.41, 0.32, 0.95) 1s;	
}

.is-active.delay-0-8 {
	transition-delay: 0.8s!important;
}
.is-active.delay-0-4 {
	transition-delay: 0.4s!important;
}



/* end animation classes */




}
@media(min-width:992px)
{
	.homePeople .homePeopleInner.flxd .hd
{
flex:1 0 40%;	
}

.homePeople .homePeopleInner.flxd .teamVisualRight

{
flex:1 0 60%;	
	
}
.homePeople .homePeopleInner.flxd .teamVisualRight .imWrap::before
{
position:absolute;
top:30px;
left:30px;
right:-30px;
bottom:-30px;
display:block;
content:" ";
background-color:#f7f7f7;	
}
	.bubbleVisualRight-1
	{
	opacity:1;	
	}
		.footAddressComms
	{
	display:block;
	flex-wrap:none;
	flex:1;	
	}
	.footComms,
	.footTxtAddress
	{
	flex:none;	
	}
header .headBarContainer .navigationBar
{
flex:1;
position:relative;
text-align:right;
padding-right:20px;
display:inline-block;
margin-top:0;	
}
.navigationBar nav ul li a
{
font-weight:300;

font-size:18px;	
}
header .headBarContainer .brandLogo
{
flex : 0 0 200px;
position:relative;
z-index:4;	
}
header .headBarContainer .brandLogo img
{

max-width:100%;
}
header .headBarContainer .brandLogo a
{
margin-left:20px;		
}
.footerInner .brandFooter
{
flex:1 0 45%;
justify-content:flex-start;	
}

.footerInner .brandFooter .footLogo img
{
max-width:130px;	
}
.footerInner .footerNav,
.footerInner .channelsAndComms
{
flex:1 0 27.5%;	
}
.footerInner .footerNav ul
{
padding-left:0;	
}
.footerInner .footerNav .title
{
padding-left:0;	
}
.contactDataWrap
{
padding-left:70px;	
}

/* BEGIN HOME CLASSES */
.homeMessageDataInner .hd .sm span::after
{
width:800px;	
}
.onestopIntroFlx .osiLeft
{
flex:1 0 50%;	
min-height:none;

}
.onestopIntroFlx .osiRight
{
flex:1 0 50%;	
padding:120px 0;	
}
.osiRightContent
{
margin-left:-120px;

background-color:rgba(255,255,255,0.85);	
}
.expertiseSectorsFlx
{
padding-top:150px;
}
.expertiseSectorsFlx .expEntry
{
flex:1 0 33.333%;
}
.peopleDisplayFlx .peopleDispLeft
{
flex:1 0 40%;
}
.peopleDispFlx .person
{
flex:0 0 25%;
}
.peopleDisplayFlx .peopleDispRight
{
flex:1 0 60%;
}

.contPush
{
padding:145px 40px 0 0;
text-align:left;	
}
.peopleDisplayFlx .peopleDispLeft p
{
margin:0;
padding:0 0 10px;

font-weight:300;
font-size:24px;	
}
.homePeopleInner .hd
{

max-width:50%;		
}

/* END HOME CLASSES */


/* BEGIN PAGE CLASSES */
.pageHeroMsg .pageHeroMsgInner h1
{
font-size:60px;	
}

/* END PAGE CLASSES */	

/* service template */
.serviceFlx .serviceEntWrap
{
flex:1 0 33.333%;	
}

/* end service template */


}
@media(min-width:1200px)
{
	.homePeopleInner .hd .bigText
	{
	font-size:50px;
	
	}
}
