/* CSS Reset */


::-webkit-input-placeholder { /* WebKit browsers */
    color:    #c3c5c6 !important;
}
:-moz-placeholder { /* Mozilla Firefox 4 to 18 */
   color:    #c3c5c6 !important;
   opacity:  1;
}
::-moz-placeholder { /* Mozilla Firefox 19+ */
   color:    #c3c5c6 !important;
   opacity:  1;
}
:-ms-input-placeholder { /* Internet Explorer 10+ */
   color:    #c3c5c6 !important;
}

*,
*:before,
*:after {
    -moz-box-sizing: border-box;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
}
html {
	-moz-osx-font-smoothing: grayscale;
    -webkit-font-smoothing: antialiased;
    text-shadow: rgba(0,0,0,.01) 0 0 1px;
    
    -webkit-tap-highlight-color: rgba(0, 0, 255, 0.85);
}

/* General */

html,
body {
    height: 100%;
    margin: 0;
    padding: 0; 
}

body {
    width: 100%;
    height: 100%;
    min-width: 320px;
    font-size: 16px;
    font-family:"Circ-Book", sans-serif;
/*     color:#0000ff; */
	color: #333333;
    background:#c3c5c6;
    line-height: 1.34;
}

a {
  text-decoration: none !important;
  color:#0000ff;
}
a:hover {
	color: #333;
}

a.body-copy-colour:hover {
	color: #0000ff;
}

a.wh {
  color:#fff;
}

a:focus {
    outline: none
}
h1,
h2,
h3,
h4,
h5,
h6 {
    font-family: 'Circ-Med';
    font-weight:normal;
    margin-top: 0;
    color: #0000ff;
}
h1 small,
h2 small,
h3 small,
h4 small,
h5 small,
h6 small {
  color:inherit;
}

h4 {
  font-size:27px;
  line-height: 1.2;
  letter-spacing: -1.5px;
/*
	font-size: 27px;
	line-height: 1.34;
*/
	margin-bottom:32px;  
}

h4 p {
	margin-bottom: 20px;
}
h3 {
  font-size:37px;
}
h3.lg {
  font-size:53px;
    line-height: 53px;
    letter-spacing: -0.045em;
}
h3 small {
  display:block;
  margin-bottom:10px;
}

.med {
  font-family: "Circ-Med", sans-serif;
}

.white {
  color:#fff;
}
.blue {
	color: #0000ff;
}
.body-copy-colour {
	color: #333;
}
.lightbg {
  background:#cfcfcf;
}
.midbg {
	background: #bcbec0;
}
.darkbg {
  background:#6c6d70;
}

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

hr {
  margin:9px 0;
  background:#0000ff;
  display:block;
  width:100%;
  height:1px;
  border:none;
}
hr.lg {
  height:3px;
}

.inline-block {
  display:inline-block;
}


.blockquote {
	font-size: 55px;
	font-family: 'Circ-Med';
	letter-spacing: -0.035em;
	line-height: 1;
	color: white;
	position: relative;
		
	margin: -132px 0 0 0;
	padding: 0;
	border-left: none;
	
}

.blockquote:before {
	content: '\201C';
	position: absolute;
	left: -40px;
	top: -5px;
	
	font-size: 85px;
}

.blockquote:after {
	content: '\201D';
	font-size: 85px;
	position: absolute;
	margin-top: -5px;
	margin-left: 10px;
}


.details-list {}
.details-list__item {
	border-bottom: solid 1px #0000ff;
	padding: 8px 0;
	color: blue;
}


.remove-border--top {
	border-top: none !important;
}

.margbot0 {
  margin-bottom:0;
}
.margbot10 {
  margin-bottom:10px;
}
.margbot30 {
  margin-bottom:30px;
}

.margbot45 {
  margin-bottom:45px;
}

.margbot40 {
  margin-bottom:40px;
}

.margbotlg {
  margin-bottom:77px;
}

.margbot100 {
  margin-bottom:100px;
}

.margtoplg {
  margin-top:77px;
}




.margtop0 {
  margin-top:0;
}
.margtop45 {
  margin-top:45px;
}

.paddingtoplg {
	padding-top: 140px !important;
}

.underline {
  text-decoration:underline !important;
}

.btn {
  border-radius:0;
  font-size: 16px;
}
.btn:focus {
	color: #0000ff;
}

b,
strong{
/*     font-weight: 400; */
	font-weight: normal;
    font-family: 'Circ-Med';
}

.button{
    color: #fff;
    background-color: #0000ff;
    border: solid 1px #0000ff;
    line-height: 38px;
    padding: 0 15px;
    display: block;
    float: right;
    
    -webkit-transition:all 0.5s ease;
	transition:all 0.5s ease;

}

.button:hover {
	color: #0000ff;
	background-color: transparent;
}
.button:focus {
	color: white;
}

.btn-transparent {
  color:#0000ff;
  border:1px solid #0000ff;
  -webkit-transition:all 0.5s ease;
  transition:all 0.5s ease;
}
.btn-transparent:hover {
  -webkit-transition:all 0.5s ease;
  transition:all 0.5s ease;
  background:rgba(0,0,255,0.8);
  color:#fff;
}

.btn-xlg {
  padding:25px;
}

.btn-allfs {
  width:100%;
}

.btn-main {
  background:#0000ff;
  color:#fff;
  padding:15px 40px;
  line-height:1;
  -webkit-transition:all 0.5s ease;
  transition:all 0.5s ease;
}
.btn-main:hover,
.btn-main:focus,
.btn-main.active {
  background:transparent;
  border:1px solid #0000ff;
  color:#0000ff;
}



.overlay--gradient {
	position: absolute;
	width: 100%;
	height: 100%;
	
	background: rgba(0,0,0,0.3);
	background: -moz-linear-gradient(top, rgba(0,0,0,0.3) 0%, rgba(0,0,0,0) 48%);
	background: -webkit-gradient(left top, left bottom, color-stop(0%, rgba(0,0,0,0.3)), color-stop(48%, rgba(0,0,0,0)));
	background: -webkit-linear-gradient(top, rgba(0,0,0,0.3) 0%, rgba(0,0,0,0) 48%);
	background: -o-linear-gradient(top, rgba(0,0,0,0.3) 0%, rgba(0,0,0,0) 48%);
	background: -ms-linear-gradient(top, rgba(0,0,0,0.3) 0%, rgba(0,0,0,0) 48%);
	background: linear-gradient(to bottom, rgba(0,0,0,0.3) 0%, rgba(0,0,0,0) 48%);	
}


form > div:nth-of-type(2n + 1) {
	clear: left;
}

form > div {
	margin-bottom:20px;
}

form button {
	margin-top: 20px;
}

.form-control {
  
  font-size:21px;
  padding:14px 20px;
  height:48px;
  border-radius:0;
  border:none;
}

.form-control:focus {
  -webkit-box-shadow:none;
  box-shadow:none;
}
textarea.form-control {
  height:205px;
}

.field-label {
	display: none;
}

.legacy-ie .field-label {
	display: block;
}

label.error {
	margin-top: 10px;
}

.js-fail.hidden {
	display: none;
}
.js-success.hidden {
	display: none;
}



h4.white ul {
	list-style-type: disc;
	padding-left: 25px;
	margin-top: 15px;
}
h4.white li {
	margin-bottom: 15px;
}

.page-title {
	font-size: 32px;
	margin-bottom: 45px;
}

/* Layout - Intro Page*/

.layout-intro {
	position: relative;
}

.layout-intro .main-header__title {
	max-width: 40%;
}

/*
.layout-intro .main-header__bar {
	background: transparent !important;
	border-bottom: none !important;
	pointer-events: none;
}
*/

.layout-intro .slide{height: 100%;}




.layout-intro__slider {
	width: 100%;
	height: 100%;
	position: static !important;
}

	.layout-intro__slider .swiper-slide {
		background-repeat: no-repeat;
		background-position: center center;
		background-size: cover;
	}




.layout-intro__grid {
	position: absolute;
	top: 0;
	left: 50%;
	width: 50%;
	height: 100%;
/* 	background: red; */
	z-index: 10;
}

	.layout-intro__grid__item {
		position: relative;
		display: block;
		float: left;
		height: 33.33333%;
		width: 50%;
		padding: 35px;
		border-left: solid 1px rgba(255,255,255,0.5);
		border-top: solid 1px rgba(255,255,255,0.5);
		
		color: white;
		font-size: 21px;
		font-family: 'Circ-Med';
		
		background:rgba(0,0,255,0);
		-webkit-transition:background 2s ease;
		transition:background 2s ease;
		
	}
	
	.layout-intro__grid__item.large {
		width: 100%;
	}
	
	.layout-intro__grid__item:hover {
		background: rgba(0,0,255,0.85);
		color: white;
		
		-webkit-transition:background 0.2s ease;
		transition:background 0.2s ease;
	}
	
	.layout-intro__grid__item.darker-hover:hover {
		background-color: rgba(0,0,100, 0.4);
	}
	
	.layout-intro__grid__item:hover .layout-intro__grid__item-label {
		border-bottom-color: white;		
	}
	
	
	
	.layout-intro__grid__item-label {
		position: absolute;
		bottom: 35px;
		border-bottom: solid 1px transparent;
		padding-bottom: 1px;
		line-height: 1;
	}



	
	



/*
.slide {
  display:table;
  width:100%;
  height:100%;
  height:90%;
  position:relative;
  overflow:hidden;
}


.slide .cell {
  display:table-cell;
  position:relative;
  z-index:2;
  color:#fff;
}
.slide-image-wrapper {
  position:absolute;
  z-index:1;
  top:0;
  right:0;
  bottom:0;
  left:0;
  overflow:hidden;
}
.slide-image {
  position:absolute;
  z-index:1;
  top:0;
  right:0;
  bottom:0;
  left:0;
  background-size:cover !important;
  opacity:0;
 
}
*/
/*
.slide-image {
	-webkit-transition:all 15s ease;
	transition:all 15s ease;
}
*/
.slide-image.no-animation{
    opacity:1;
}
.slide-image.add-bg-transition {
  -webkit-animation: image-appear 15s ease forwards;
  animation: image-appear 15s ease forwards;
}
.slide-image.active-alt {
 -webkit-transition:all 2s ease;
  transition:all 2s ease;
  -webkit-transform:scale(1.05);
  transform:scale(1.05);
  z-index:5;
  opacity:1;
}

/*
h2 {
  position:absolute;
  top:30%;
  width: 100%;
 
  max-width: 80%;
      
}
h2.intro-msg small {
  display:block;
    font-size: 27px;
    margin-top: 45px;
}

h2.page-msg {
  top:50%;
}
h2 > span {
  position:absolute;
  display:none;
}
h2.page-msg > span {  
  -webkit-transform:translate(0,-50%);
  transform:translate(0,-50%);
  position:static;
}
h2 > span.active-alt {
  display:block;
}
*/ 



/*------------------------------*\
	Header
\*------------------------------*/
.main-header {
	display:block;
	width:100%;
	height:100%;
	height:calc(100% - 40px);
	position:relative;
	overflow:hidden;
}

	.main-header__bar {
		background: transparent;
		position: fixed;
		width: 100%;
		height: 70px;
		z-index: 1001;
		
		-webkit-transition:all 1s ease;
		transition:all 1s ease;
	}
	
	.is-sticky .main-header__bar {
		background-color: #c3c5c6;
		border-bottom: solid 1px rgba(255,255,255,0.5);
	}

	.main-header__image {
		width: 100%;
		height: 100%;
		position: absolute;
		top: 0;
		left: 0;
		
		background-repeat: no-repeat;
		background-position: center center;
		background-size: cover;
		background-attachment: fixed;
	}
	
	.touch .main-header__image {
		background-attachment: scroll;
	}
	
		.main-header__image--sector {
			opacity: 0;
			visibility: hidden;
			
			-webkit-transition:all 1s ease;
			transition:all 1s ease;
		}
	
		.main-header__image--sector.show-image {
			opacity: 1;
			visibility: visible;
			
			
		}
	
	.main-header__image.add-bg-transition {
		-webkit-animation: image-appear 40s linear forwards;
		animation: image-appear 40s linear forwards;
		
		background-attachment: scroll;
	}
	
		.main-header__image__overlay {
			position: absolute;
			top: 0;
			left: 0;
			width: 100%;
			height: 100%;
			background-color: rgba(0,0,255,0.75);
		}
		
		.main-header__image__overlay--gradient {
			position: absolute;
			top: 0;
			left: 0;
			width: 100%;
			height: 100%;
			background: rgba(0,0,0,0.3);
			background: -moz-linear-gradient(left, rgba(0,0,0,0.3) 0%, rgba(0,0,0,0) 48%);
			background: -webkit-gradient(left top, right top, color-stop(0%, rgba(0,0,0,0.3)), color-stop(48%, rgba(0,0,0,0)));
			background: -webkit-linear-gradient(left, rgba(0,0,0,0.3) 0%, rgba(0,0,0,0) 48%);
			background: -o-linear-gradient(left, rgba(0,0,0,0.3) 0%, rgba(0,0,0,0) 48%);
			background: -ms-linear-gradient(left, rgba(0,0,0,0.3) 0%, rgba(0,0,0,0) 48%);
			background: linear-gradient(to right, rgba(0,0,0,0.3) 0%, rgba(0,0,0,0) 48%);
		}
	
	
	.main-header__loading {
		width: 40px;
		height: auto;
		position: absolute;
		left: 50%;
		bottom: 200px;
		-webkit-transform: translateX(-50%);
		transform: translateX(-50%);
		z-index: -1;
	}
	
	.layout-intro .main-header__loading {
		left: 25%;
		bottom: 50%;
	}
	
	.layout-intro .main-header__loading--project {
		bottom: 25%;
	}
	
	.main-header__logo {
		display:inline-block;
		position:absolute;
		top:12px;
		left:45px;
		margin-bottom:0;
		z-index:20;
	}
	
	.main-header__logo img {
		width: 135px;
		height: auto;
	}
	
	
	.main-header__title {
		color: white;
		-webkit-transform: translate(0, -50%);
		transform: translate(0, -50%);
		position: absolute;
		top: 50%;
		left: 45px;
		max-width: 80%;
		letter-spacing: -2.5px;
	}
	

	/* .layout-intro__slider .main-header__title */
	.js-bg-slider {
		display: none;
	}
	
	
	
	
	.main-header__title__blue-bg {
		position:absolute;
		top:50%;
		bottom:0;
		left:0;
		right:53%;    
		background:rgba(0,0,255,0.75);
		padding:45px;
	}
	
		.main-header__title__blue-bg .main-header__title {
			top: 45px;
			-webkit-transform: none;
			transform: none;
		}


	
	.main-header__tag {
		display: block;
		font-size: 21px;
		margin-top: 45px;
		letter-spacing: 0;
	}
	
	.main-header__tag a {
		color: white;
	}
	
	
	.main-header__back-link {
		position: absolute;
	    bottom: 45px;
	    left: 45px;
	    color: white;
	    border-bottom: solid 2px;
	    font-size: 21px;
	}
	
	.main-header__back-link:hover {
		color: white;
	}
	
	
	
	.main-header__map {
		position: absolute;
		top: 0;
		left: 0;
		width: 100%;
		height: 100%;
	}


.breaker {width: 100vw; height: 400px; position: absolute; left: 0;}
.breaker h1 { margin: 0px; left: 20px; }
    
.breaker-span-top{ display: block; height: 77px; width: 100%; }
.breaker-span-bottom { display: block; height: 477px; width: 100%; }



/* Menu */

.hamburger {
	    display: block;
		height: 35px;
		width: 35px;
		right: 45px;
		top: 20px;
		position: fixed;
		-webkit-transition: all 0.4s;
		transition: all 0.4s;
		z-index: 1001;
		pointer-events: auto;
    }
    
    .hamburger:hover {
	    cursor: pointer;
    }
    
    .hamburger .line {
		height: 5px;
		width: 100%;
		background-color: white;
		margin-bottom: 5.5px;
		-webkit-transition: all 0.4s;
		transition: all 0.4s;
		position: absolute;
		top: 0;
		left: 0;
	}
	
	.hamburger .line:first-child + .line {
		top: 11px;
	}
	
	.hamburger .line:first-child + .line  + .line {
		top: 22px;
	}
	
	
	

	.hamburger.open .line,
	.hamburger.open .line:first-child + .line  + .line {
		top: 11px;
		-webkit-transform: rotate(45deg);
		-ms-transform: rotate(45deg);
		-o-transform: rotate(45deg);
		transform: rotate(45deg);
		height: 3px;
	}
	
	.hamburger.open .line:first-child {
		-webkit-transform: rotate(-45deg);
		-ms-transform: rotate(-45deg);
		-o-transform: rotate(-45deg);
		transform: rotate(-45deg);
		height: 3px;
	}


.main-menu {
  position:fixed;
  z-index:999;
  width:100%;
  height:100%;
  background:rgba(0,0,255,0.8);
  display:none;
  
  

}
.main-menu > div {
  display:table;
  text-align:center;
  vertical-align:middle;
  width: 100%;
}
.menu-close-btn {
  position:absolute;
  top:45px;
  right:48px;
  display:block;
  width:25px;
  height:25px;
  background:url('../img/close-icon.png') no-repeat center;
  background-size:contain !important;
}


.main-menu.menu-open {
	display: -webkit-box;
	display: -webkit-flex;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-orient: vertical;
	-webkit-box-direction: normal;
	-webkit-flex-direction: column;
	    -ms-flex-direction: column;
	        flex-direction: column;
	-webkit-box-pack: center;
	-webkit-justify-content: center;
	    -ms-flex-pack: center;
	        justify-content: center;
  -webkit-animation: menu-appear 0.5s ease forwards;
  animation: menu-appear 0.55s ease forwards;
}

.no-flexbox .main-menu.menu-open {
	display: table;
	padding-top: 100px;
}

.legacy-ie .main-menu.menu-open {
	opacity: 1;
	visibility: visible;
	pointer-events: auto;
}


@-webkit-keyframes menu-appear {
  0% {
    opacity: 0;
    -webkit-transform:scale(0.75);
  }
  100% {
    opacity: 1;
    -webkit-transform:scale(1);
  }
}

@keyframes menu-appear {
  0% {
    opacity: 0;
    transform:scale(0.75);
  }
  100% {
    opacity: 1;
    transform:scale(1);
  }
}

.main-menu.menu-close {  
  display: -webkit-box;
	display: -webkit-flex;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-orient: vertical;
	-webkit-box-direction: normal;
	-webkit-flex-direction: column;
	    -ms-flex-direction: column;
	        flex-direction: column;
	-webkit-box-pack: center;
	-webkit-justify-content: center;
	    -ms-flex-pack: center;
	        justify-content: center;
  -webkit-animation: menu-disappear 0.5s ease forwards;
  animation: menu-disappear 0.55s ease forwards;
}

.no-flexbox .main-menu.menu-close {
	display: table;
	padding-top: 100px;
}

.legacy-ie .main-menu.menu-close {
	opacity: 0;
	visibility: hidden;
	pointer-events: none;
}


@-webkit-keyframes menu-disappear {
  0% { 
    opacity: 1;
    -webkit-transform:scale(1);
  }
  99% {
    opacity: 0;
    -webkit-transform:scale(0.75);
  }
  100% {
    opacity: 0;
    visibility:hidden;
    pointer-events:none;
/*     display: none; */
  }
}

@keyframes menu-disappear {
  0% {
    opacity: 1;
    transform:scale(1);
  }
  99% {
    opacity: 0;
    transform:scale(0.75);
  }
  100% {
    opacity: 0;
    visibility:hidden;
    pointer-events:none;
  }
}

.main-menu ul li {
  margin-bottom:20px;
}

.main-menu ul li a {
  font-family:'Circ-Med', sans-serif;  
  font-size:35px;
  color:#fff;
}
.main-menu ul li a:hover,
.main-menu ul li a:focus,
.main-menu ul li a.active {
  text-decoration:underline !important;
  color:#fff;
}


.down-arr {
  display:block;
  width:21px;
  height:63px;
  background:url('../img/down-arr-icon.png') no-repeat center;
  background-size:cover !important;
  position:absolute;
  bottom:45px;
  left:50%;
  margin-left:-10.5px;
}

.popup .down-arr {display: none;}

.down-arr span {color: #ffffff;
    position: relative;
    top: -50px;
    width: 300px;
    display: block;
    text-align: center;
    /*margin: 0px auto;*/
    font-size: 25px;
    font-weight: bold;
    transform: translateX(-45%); 
    -ms-transform: translateX(-45%); 
    -webkit-transform: translateX(-45%);
    }

.down-arr.home {
	z-index: 10;
	display: none;
}



.breaker h1 {
    color: white;
    -webkit-transform: translate(0, 45%);
    transform: translate(0, 45%);
    position: relative;
    left: 45px;
    letter-spacing: -2.5px;
    width: 1024px;
    margin: 0px auto;
    top: 0px;
    }

hr.our-people, hr.quality {display: none;}

.map-block {
	height: 500px;
    margin-bottom: 77px;
    
    }
    
.form-block {

	padding: 0px !important;
	    
}

/*
.news-title-wrap {
  position:absolute;
  top:50%;
  bottom:0;
  left:0;
  right:53%;    
  background:rgba(0,0,255,0.75);
  padding:45px;
}
*/

/*
.silo-title-wrap {
  position:absolute;
  top:0;
  bottom:0;
  left:0;
  right:0;    
  background:rgba(0,0,255,0.75);
  padding:45px;
}

h2.silo-title {
  font-size:53px;
  position:absolute;
  top:50%;
  max-width:450px;
}
h2.news-title {
  font-size:53px;
  position:relative;
  top:0;
  max-width: 100%;
}
.silo-title > span {
  display:block;
  position:static;
  -webkit-transform:translate(0,-50%);
  transform:translate(0,-50%);
}
.news-title > span {
  display:block;
  position:static;
}
.silo-title > span small {
  display:block;
  font-size:24px;
  margin-top:45px;
}
*/

.row.gtabs.case-force-700 .photo-wrap, 
.row.gtabs.case-force-700 .photo-wrap .photo,  
.row.gtabs.case-force-700 .photo-wrap .genpad {height: 700px;}

.row.gtabs.case-force-700 h3 {bottom: inherit!important; top:-81px;}
.row.gtabs.case-force-700 > div { float: left; }

.text-half .cv{ padding-right: 30% !important; }
.read-more-articles {max-width: 70%;}
.mobile-header {position: fixed; height: 80px; background-color: #ccc; width: 100%; top:0; left:0; z-index: 19; opacity: 0; -webkit-transition: all 0.3s ease-in-out; -moz-transition: all 0.3s ease-in-out; transition: all 0.3s ease-in-out}
.is-sticky .mobile-header.visible { opacity: 1; }
.mobile-header h1 a {
    display: inline-block;
    text-indent: -9999px;
    background: url('../img/logo.png') no-repeat center;
    background-size: cover !important;
    width: 121px;
    height: 40px;
}



.silo__tile {
	height: 260px;
	background-position: center center;
	background-size: cover;
	padding: 0 !important;
}


.photo__link {
	display: block;
	width: 100%;
/* 	height: 100%; */
	
	
}

.photo__link:hover .rollover {
	opacity: 1;
	visibility: visible;
}


.photo__link .rollover {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	background: rgba(0,0,255,0.85);
	color: white;
	padding: 20px;
	
	opacity: 0;
	visibility: hidden;
}

.photo__link .rollover__title {
	font-size: 24px;
	line-height: 1.2;
	max-width: 185px;
	color: white;
}

.photo__link .rollover__sub-title {
	font-family: 'Circ-Book';
	font-size: 14px;
	line-height: 1.2;
	max-width: 185px;
	color: white;
}






@media (max-width:767px) {
  .news-title-wrap {
    top:auto;
    right:0;
  }
  h2.news-title {
    font-size:34px;
  }
  h2.silo-title {
    top:auto;
    bottom:45px;
    left:45px;
  }
  h2.silo-title > span {
    font-size:34px;
      line-height: 36px;
    -webkit-transform:none;
    transform:none;
  }
  
  .projects-landing [data-href="l1"] {    border-top: 1px solid #fff;}
  .projects-landing [data-href="l2"] {    border-top: 1px solid #fff;}
}


@-webkit-keyframes image-appear {
  0% {
    opacity: 1;
    -webkit-transform:scale(1);
  }
  100% {
    opacity: 1;
    -webkit-transform:scale(1.3) rotate(0.02deg);
  }
}

@keyframes image-appear {
  0% {
    opacity: 1;
    transform:scale(1);
  }
  100% {
    opacity: 1;
    transform:scale(1.3) rotate(0.02deg);
  }
}

@-webkit-keyframes msg-appear {
  0% {
    opacity: 0;
    -webkit-transform:scale(0.75);
  }
  100% {
    opacity: 1;
    -webkit-transform:scale(1);
  }
}

@keyframes msg-appear {
  0% {
    opacity: 0;
    transform:scale(0.75);
  }
  100% {
    opacity: 1;
    transform:scale(1);
  }
}


.intro-table,
.intro-table-right,
.inner-table {
  display:table;
  table-layout:fixed;
  width:100%;
  height:100%;
}
.inner-table > div,
.intro-table .table-left,
.intro-table .table-right,
.table-row > div {
  display:table-cell;
  position:relative;
}

.intro-table.noborder .table-left,
.intro-table.noborder .table-left > div {
  border: none !important;
}

.table-row {
  display:table-row;
  height:33%;            
}
.table-left {
  border-right:1px solid rgba(255,255,255, 0.5);
}

.table-left > div {
  display:table;
  width:100%;
  height:100%;
  padding:0 45px;
}

.trow-1 .inner-table > div:first-child,
.trow-3 .inner-table > div:first-child {
  border-right:1px solid  rgba(255,255,255, 0.5);
}
.trow-2 > div {
  border-top:1px solid  rgba(255,255,255, 0.5);
  border-bottom:1px solid  rgba(255,255,255, 0.5);
}

.bg-image-change {
  font-family: "Circ-Med", sans-serif;
  font-size:21px;
  display:table;
  width:100%;
  height:100%;
  position:relative;
  cursor:pointer;
  background:rgba(0,0,255,0);
  -webkit-transition:all 2s ease;
  transition:all 2s ease;
  line-height: 1;
}
.bg-image-change span {
  position:absolute;
  bottom:30px;
  left:30px;
}
.bg-image-change:hover {
  background:rgba(0,0,255,0.85);
  -webkit-transition:all 0.2s ease;
  transition:all 0.2s ease;
}

/*
.bg-image-change.bg35:hover {
  background:rgba(0,0,255,0.35);
}
.bg-image-change.bg55:hover {
 background:rgba(0,0,255,0.55);
}
.bg-image-change.bg85:hover {
  background:rgba(0,0,255,0.85);
}
*/

/*
.logo {
  opacity:0.2;
  margin-bottom:10px;
}
*/

/*
h1 {
  display:inline-block;
  position:absolute;
  top:45px;
  left:45px;
  margin-bottom:0;
  z-index:20;
}
.logo a,
h1 a {
  display:inline-block;
  width:133px;
  height:44px;
  text-indent:-9999px;
  background:url('../img/logo.png') no-repeat center;
  background-size:cover !important; 
}
*/
h1, h2 {
	/*changed for index.html titles being to long*/
	font-size:55px;
	margin-bottom:0;
    line-height: 1;
}
/*
h2 span span {
  display:block;
}
*/




/* Layout */

.genpad {
  padding:45px !important;
}

.main-container {
  max-width:1024px;
  margin:0 auto;
  padding:77px 45px 77px;
}

.case_study_list {
	padding-top: 140px;
	
}

.main-container.padbot0 {
  padding:45px 45px 0;
}
.main-container.padbot {
  padding:0 0 77px;
}
.main-container.nopad {
  padding:0;
}

.row {
  margin-left:-45px;
  margin-right:-45px;
}
.row > div {
  padding-left:45px;
  padding-right:45px;
}

.row.no-gutter {
  margin-left:0;
  margin-right:0;
}
.row.no-gutter > div {
  padding-left:0;
  padding-right:0;
}

.row.small-gutter {
  margin-left:-15px;
  margin-right:-15px;
}
.row.small-gutter > div {
  padding-left:15px;
  padding-right:15px;
}
.row.xs-gutter {
  margin-left:-6px;
  margin-right:-6px;
}
.row.xs-gutter > div {
  padding-left:6px;
  padding-right:6px;
}

.row.gtabs,
.row.gtabs-md {
  margin:0;
}

.row.gtabs-md > div,
.row.gtabs > div {
  padding:0;
  position:relative;
}

@media (max-width:1290px) {
	
	.breaker h1 {margin: 0px;}
	
	}


@media (min-width:768px) {
	.row.gtabs .photo-wrap > div {
	  position:absolute;
	  top:0;
	  right:0;
	  bottom:0;
	  left:0;
	  padding:0;
	}
	
    
}

@media (min-width:768px) {
.row.gtabs {
  table-layout:fixed;
  width:100%;
}
.row.gtabs > div {
  display:table-cell;
  height:100%;
  float:none;
}
}

.photo {
  padding-bottom:57%;
  background-position: center center;
  background-size:cover;
  display:block;
  position:relative;
}

.photo.no-zoom{padding-bottom: 0;}
.quarter {
  padding-bottom:68%;
}
.vert {
  padding-bottom:174%;
}
.wide {
  padding-bottom:50%;
}
.rect {
  padding-bottom:87%;
}




.pagination-bottom {
  position:absolute;
  bottom:0;
  left:0;
  right:0;
  z-index:10;
}

.captions {
  background:rgba(0,0,255,0.75);
  float:right;
  color:#fff;
  height:34px;
  line-height:34px;
  width:320px;
}
.captions .swiper-slide span {
  padding:0 15px;
}
@media (max-width:767px) {
  .captions {
    width:100%;
  }
}

.thumbs .col-md-4 {
	width: 33%;
}

.thumbs > .col-md-4:nth-of-type(3n + 1) {
	clear: left;
}

.thumbs a {
  display:table;
  width:100%;
  color:#0000ff;
}



.thumbs a .photo {
/*
  -webkit-transition:all 0.2s ease;
  transition:all 0.2s ease;
*/
}

.thumbs .rollover {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	background: rgba(0,0,255,0.75);
	
	opacity: 0;

}

.thumbs a:hover .rollover {
	opacity: 1; 
}

.thumbs .photo-wrap {
  display:block;
  overflow:hidden;
  border-left: solid 1px #cfcfcf;
}

.thumbs .desc {
  display: inline-block;
  margin:10px 0 25px;
    font-family: 'Circ-Med';
    line-height: 1.2;
/*     padding-bottom: 1px; */
    
}

.thumbs .desc .underline {
	border-bottom: solid 2px transparent;
	text-decoration: none !important;
}
.thumbs a {
	
}
.thumbs a:hover .desc .underline {
	border-bottom-color: blue;
}

.thumbs a:hover .photo {
/*
  -webkit-transform:scale(1.15);
  transform:scale(1.15);
*/
	/* BLUE ROLLOVER */
}

.linkbox {
  display:block;
  position:relative;
  overflow:hidden;

}
.linkbox .overlay {
  position:absolute;
  top:0;
  right:0;
  bottom:0;
  left:0;
  
}

.linkbox:hover .overlay {
  -webkit-transition:none;
  transition:none;
  background:rgba(0,0,255,0.8);
}

/*
.linkbox .photo {
  -webkit-transition:all 5s ease;
  transition:all 5s ease;
}
*/

.linkbox .date {
  position:absolute;
  bottom:45px;
  left:45px;
  z-index:7;
  color:#fff;
}


.linkbox .desc {
  position:absolute;
  top:0;
  padding:45px;
      padding: 45px 70px 45px 45px;
  width:100%;
  display:block;
  font-size:37px;
  z-index:2;
  line-height:1;
}
.linkbox .desc span {
  display:block;
}
.linkbox .desc small {
  display:block;
  font-size:24px;
}

.linkbox .photo {
  position:absolute;
  top:0;
  right:0;
  bottom:0;
  left:0;
}

@media (max-width:767px) {
  .linkbox .desc {
    padding:20px;
    font-size:28px;
  }
  .linkbox .desc small {
    font-size:18px;
  }
  .linkbox.wide {
   min-height:250px;
  }
  .linkbox .date {
    bottom:20px;
    left:20px; 
  }
}

/* About us */


.profiles .linkbox {
  color:#0000ff;
  position:relative;
    display: block;
    height: 350px;
    background-color: #cecece;
}
.profiles .linkbox .desc {
  position:absolute;
  font-size:17px;
  line-height: 20px;
  padding-top:32px;
  padding-bottom:32px;
}
.profiles .linkbox .photo {
	background-position: right top;
	background-repeat: no-repeat;
	background-size: auto;
}

.profiles .linkbox .cv{
    font-size: 14px;
    line-height: 17px;
    letter-spacing: -0.01em;
    color: #fff;
    position: relative;
    padding: 35px;
    opacity: 0;
    -webkit-transition:none;
      transition:none;
}
.profiles .linkbox.rollover .desc {
  color:#fff;
  -webkit-transition:none;
      transition:none;
      display: none;
}

.profiles .linkbox .overlay {
	background:rgba(0,0,255,0.75);
	opacity: 0;
	visibility: hidden;
}

.profiles .linkbox.rollover .overlay {
  
  opacity: 1;
  visibility: visible;
}
.profiles .linkbox.rollover .cv{
    opacity: 1;
}




.profiles .linkbox .linkedin {
  display:block;
  width:96px;
  height:96px;
  background:url('../img/linkedin-icon.png') no-repeat center;
  background-size:cover !important;
  position:absolute;
  bottom:0;
  right:0;
  z-index:5;
}


.profile__close {
	color: white;
	font-size: 48px;
	position: absolute;
	top: 35px;
	right: 45px;
	z-index: 10;
		
	width: 25px;
	height: 25px;
	display: block;
	
}

.no-touch .profile__close {
	display: none;
}


.profile__close:before,
.profile__close:after {
	position: absolute;				
	content: '';	
	height: 25px;
	width: 2px;
	background-color: white;
	left: 12px;
}

.profile__close:before {
	-ms-transform: rotate(45deg);
	-webkit-transform: rotate(45deg);
	transform: rotate(45deg);
}
.profile__close:after {
	-ms-transform: rotate(-45deg);
	-webkit-transform: rotate(-45deg);
	transform: rotate(-45deg);
}




/* tenders */
.tender-list .row {
	position: relative;
}

.tender-list .details-list {
/*
	position: absolute;
	bottom: 0;
*/
/* 	left: 45px; */
}

.tender-list h4 {
	margin-bottom: 45px;
}

.tender-list__description {
	margin-bottom: 80px;
	min-height: 200px;
}

.tender-list__description ul {
	list-style-type: disc;
	padding-left: 20px;
}
.tender-list__description li {
	margin-bottom: 10px;
}

.tender-list__button {
	position: absolute;
	bottom: 0;
	right: 45px;
}


.tender__button {
	position: absolute;
	right: 0;
	bottom: 0;
	margin-right: 45px;
	width: calc(50% - 90px);
	line-height: 1;
}

.tender__breakout {
	margin-bottom: 100px;
}



.support-links {
	padding: 30px;
	text-align: center;
}

.support-links__link {
	border-bottom: solid 2px;
	font-size: 21px;
}



/* Footer */

.footer {
	font-size: 14px;
}

.footer,
.footer a {
  color:#939494;
}

.footer a:hover {
	border-bottom: solid 1px;
}
.footer .borderleft {
  border-left:1px solid #8d8d8d;
  padding-left:20px;
}

.footer__title {
	font-family: 'Circ-Med';
}

.footer__logo {
	width: 120px;
	height: auto;
	margin-bottom: 5px;
	margin-top: 10px;
	opacity: 0.5;
}


.footer__site-map__col {
	display: inline-block;
	vertical-align: top;
/* 	width: 45%; */
	
}

.footer__site-map__col.left {
	margin-right: 75px;
}

.footer__site-map__col ul {
	margin-bottom: 20px;
}

.footer__accreditation {
	min-height: 180px;
}

.footer__accreditation__item {
	display: inline-block;
	margin-left: 10px;
}
.footer__accreditation__item:first-child {
	margin-left: 0;
}

.footer__accreditation__logo {
	width: auto;
	height: 70px;
	margin-bottom: 10px;
}



@media (max-width:767px) {

}

.fixed-height{
    position: relative;
}
.fixed-height h3{
    position: absolute;
    bottom: 50px;
    bottom: 21px;
}



.hide-desk{
    position: relative !important;
    height: 434px;
    overflow: hidden;
    opacity: 0;
}







@media (min-width:1024px) {
/* 	.about-us .margbotlg{ margin-top: 0;} */

	.tender-list .col-md-3 hr.margbotlg {margin-bottom: 0}

}

@media (min-height:650px) {
	.main-menu ul li a {    font-size: 50px;}
}

@media (max-height:450px) {
	.main-menu ul li a {    font-size: 25px;}
	.main-menu ul li {    margin-bottom: .5em;}
}




@media (min-width:991px) {

	.tender-list .col-md-3 hr.margbotlg {margin-bottom: 0}

}


@media (min-width:768px) {
    
    
    
    .mobile-break{
        display: none;
    }
    .padleftmd0 {
    padding-left:0 !important;
  }
  
   .case-study .padleftmd0 {
    padding-left:45px !important;
  }
  .padleftmd1 {
    padding-left:45px!important;
  }
  .padrightmd45 {
    padding-right:45px !important;
  }
    .row.gtabs-md {
	  display:table;
	  table-layout:fixed;
	  width:100%;
	}
	.row.gtabs-md > div {
	  display:table-cell;
	  height:100%;
	  float:none;
	  vertical-align: top;
	}
	.row.gtabs-md.photos-wrapper > div > div {
	  position:relative;
	  width:100%;
/* 	  height:330px; */
	  padding-bottom:0;
	}
	

	
	.silo-landing .row.gtabs-md.photos-wrapper > div > div.photo {
	  position:relative;
	  width:100%;
/* 	  height:230px; */
	  padding-bottom: 0%;
	}
	
	.silo-landing .row.gtabs-md.photos-wrapper > div > div.photo.rect {
	  position:relative;
	  width:100%;
/* 	  height:230px; */
	  padding-bottom: 0%;
	}
		
	    .absoluted {
	  position:absolute;
	  top:0px;
	  width:100%;
	  z-index:30;
	}
	   .silo-landing .absoluted {
	  position:absolute;
	  bottom:0;
	  width:100%;
	  z-index:30;
	}	

}



/*
 * Tablet
 */
@media only screen and (max-width:1024px) {
	
/* 	.text-half .cv{ max-width: 70%;} */
	
	.blockquote {
		font-size: 46px;
	}		
	.blockquote:before {
		font-size: 55px;
		left: -30px;
	}
	.blockquote:after {
		font-size: 55px;
		margin-left: 5px;
	}
	
	h2{
        font-size: 42px;     
    }
/*
    h2.intro-msg small{
        font-size: 21px;
    }
*/
    h2.intro-msg small.margbot10{
        font-size: 24px;
    }
    
    .absoluted{
        bottom: 95px !important;
    }
    
    .silo-landing .absoluted {

	  bottom:0!important;

	}
	
    h2.silo-title{
        line-height: 54px;
    }
    
    .row.gtabs.case-force-700 h3{

	    bottom: 21px!important;
	    top:inherit!important;
	    max-width: 82%;
	    font-size: 40px;
	    line-height: 1em;
	}
	
	

}

@media (max-width:991px) {

    .silo-landing .absoluted {bottom: 95px !important;	}
    .projects-landing .lg.white.margbotlg { margin-bottom: 45px;}
    .case-study .margbot1em{margin-bottom: 10px;}
    
    .about-us h4{ 
		margin-top: 45px;
	}
    
    .tender-list .details-list {
		margin-bottom: 45px;
	}
	
	.tender__breakout {
		margin-top: 35px;
		margin-bottom: 120px;
	}
	
    .footer__accreditation {
		min-height: 315px;
	}
	
	
}

@media only screen and (max-width:900px) {
	
	.read-more-articles {max-width: 90%;}
}


/*
 * Tablet portrait
 */
@media only screen and (max-width:800px) {
	.tender-list .margbot100 {
		margin-bottom: 40px;
	}
	
/*
	.tender-list .details-list {
		position: static;
		bottom: auto;
		left: auto;
		margin-left: 45px;
		margin-right: 45px;
		margin-bottom: 45px;
	}
*/
	.tender-list__description {
		min-height: 0;
		margin-bottom: 45px;
	}
	.tender-list__button {
		position: relative;
		bottom: 0;
		right: 45px;
	}
	
	.tender__button {
		width: calc(100% - 90px);
	}
	
	.profiles .linkbox .cv {
		padding-right: 0;
		letter-spacing: -0.03em;
	}
	
	
	
	
}


@media only screen and (min-width: 768px) {
	.hidden--desktop {
		display: none;
	}
}

/*
 * Mobile
 */
@media only screen and (max-width: 767px) {
	
	
/*
	.margtop45 {
		margin-top: 20px;
	}
*/
	.hidden--mobile {
		display: none !important;
	}
	
	
	.project__label {}
	.project__label-content {
		padding: 20px;
		position: relative;
		z-index: 2;
	}
	
	
	hr.lg.margbotlg {
		margin-bottom: 0px;
	}
	
	.margtoplg {
		margin-top: 35px;
	}
	
	.margbotlg {
		margin-bottom: 35px;
	}
	
	
	.blockquote {
		font-size: 36px;
/* 		margin-top: 0; */
		margin-top: -105px;
	}		
		
	.main-header__bar {
		height: 60px;
	}
	
	.main-header__logo {
	    left: 20px;
    }
    
    .main-header__logo img {
	    width: 100px;
    }
    
    .main-header__title {
	    font-size: 28px;
	    left: 20px;
	    top: 230px;
	    letter-spacing: -1.5px;
	    /*bottom: 200px;*/
	    
	    -webkit-transform: translate(0, 0);
	    transform: translate(0, 0);
    }
    
    .layout-intro .main-header__title {
	    font-size: 28px;
	    left: 20px;
	    top: 340px;
	    
	    -webkit-transform: translate(0, 0);
	    transform: translate(0, 0);
    }

    
    
    .main-header__tag {
	    font-size: 18px;
	    margin-top: 30px;
    }
    
    .main-header__image {
	    /*position: static;*/
    }
    .main-header__image--sector {
	    display: none;
    }
    
    
    .layout-intro .main-header__title {
	    max-width: 80%;
    }
    
    .layout-intro .main-header__loading,
    .layout-intro .main-header__loading--project {
	    left: 50%;
    }
    
/*
    .main-header__back-link {
	    font-size: 14px;
	    left: 20px;
	    bottom: 30px;
    }
*/
	.main-header__back-link {
		display: none;
	}
    
    .down-arr span { font-size: 20px; }
    
    .main-container {
	    padding-left: 20px;
	    padding-right: 20px;
	    padding-top: 60px;
	    padding-bottom: 60px;
    }
    
    .main-container.padbot.photos {
	    padding-bottom: 0;
    }
    
    .row {
	    margin-left: -20px;
	    margin-right: -20px;
    }
    
    .form-block {
	    padding-left: 20px !important;
	    padding-right: 20px !important;}
    
    .row > div {
	    padding-left: 20px;
	    padding-right: 20px;
    }
	
    .menu-open-btn {
    top:15px;
    right:20px;
  }
  .menu-close-btn {
    top:20px;
    right:23px;
  }
    .intro-table .table-left > div{
        border-bottom: none;
    }
    .mobile-break{
        display: block;
    }
    .logo a, h1 a{
        width: 176px;
        height: 58px;
        
        width: 121px;
        height: 40px;
    }
/*
    h2{
        bottom: 45px;
        top: auto !important;
        position: absolute 
    }
*/
    
    .breaker {height: 200px;}
    .breaker h1 { margin: 0px; left: 20px; letter-spacing: -1.5px; }
    
    .breaker-span-top{ height: 20px; }
    .breaker-span-bottom { height: 220px; }
    
    
    h2.news-title{    
        bottom:inherit;
        top: inherit;
        position: relative; 
    }
    h2 {
	    font-size:55px;
    }
    .intro-table .table-left {
      display:table-row;
      height:50%;
    }
    .intro-table .table-left > div {
      display:table-cell;
      height:auto;
      position:relative;
    }

    .intro-table .table-right {
      display:table-row;
      height:50%;
    }
    h1 {
      top:20px;
      left:20px;
    }
    h2 > span {
      position:static;                  
    }
    h2 span span {
      display:inline-block;
      margin-right:10px;
    }
    h2 span small {
      display:block;
    }
    .bg-image-change span {
      bottom:10px;
      left:10px;
      font-size:16px;
    }
    h3.lg {
    font-size:42px;
      line-height: 42px;
  }
  
  	.about-us h4 {
	  	margin-top: 25px;
  	}
    .hide-desk{
    height: 247px !important;
    }
    .slide-box{
        display: table;
        height: 300px;
        overflow: hidden;
        position: relative;
        width: 100%;
        
    }
    
    .slide-box__link {
	    display: block;
    }
    
    .slide-box .title{
        font-family:'Circ-Med', sans-serif;
        font-weight:normal;
        color: #fff;
        bottom: 30px;
        font-size: 28px;
        line-height: 1;
        position: absolute;
        z-index: 20;
        padding: 0 20px;
        
    } 
    
    .slide-box .title a{
        color: #fff;
    }
    .slide-box-image{
        position: absolute;
        top: 0;
        left: 0;
        right: 0;
        bottom: 0;
        background-position: center;
        background-repeat: no-repeat;
        background-size: cover;
    }
    .slide-box .overlay{
        position: absolute;
        top: 0;
        left: 0;
        right: 0;
        bottom: 0;
        z-index: 10;
        opacity: 0;
        background-color:  rgba(0,0,255,0.85);
    }
    .slide-box .overlay:hover{
        opacity: 1;
        -webkit-transition:all 0.5s ease;
          transition:all 0.5s ease;
    }

	
    
    .news .linkbox .photo{
        position: absolute;
	    top: 0;
	    right: 0;
	    bottom: 0;
	    left: 0;
    } 
    
    
    .profiles .linkbox {
        height: auto;
    }
    
    .profiles .linkbox .photo {
	    position: static;
	    height: 350px;
	    padding-bottom: 0;
	    
    }
    
    
    .profiles .linkbox .desc{
        color: blue;
        font-size: 24px;
        line-height: 26px;
    }
    
    .profiles .linkbox .cv {
	    color: white;
	    background: blue;
	    margin-top: 0;
	    padding: 45px 20px;
	    padding-bottom: 60px; /* // make room for linkedin logo */ 
	    display: none;  
	    opacity: 1;
	    letter-spacing: -0.01em;
    }
    
    .profiles .linkbox:hover .overlay {
	    opacity: 1;
	    visibility: visible;
    }
    
    .profiles .linkbox:hover .desc {
	    color: white;
    }
    
    .profiles .linkbox:hover .cv {
	    display: block;
    }
    
    .profile__close {
	    display: none;
    }
    
    
    
    .vert {
	    padding-bottom: 100%;
    }
    
    
    
    .thumbs .col-sm-12 {
	    width: 100%; 
    }
    
    .thumbs .photo-wrap {
	    border-left: none;
    }

    
    
    .down-arr{
        bottom: 10px;
        height: 40px;
        background-position: center bottom;
    }
    .mobile90{
        height: 90%;
    }
    
    .home-landing .mobile90{
        height: 90%;
    }
    
    .down-arr.home {
		display: block;    
	}
    
    .row.gtabs.case-force-700 .photo-wrap, .row.gtabs.case-force-700 .photo-wrap .photo,  .row.gtabs.case-force-700 .photo-wrap .genpad {height: auto;}
    .row.gtabs.case-force-700 h3 {bottom: inherit!important; font-size: 32px; max-width: none;}
    
    
    .footer.main-container {
	    padding-top: 40px;
	    padding-bottom: 40px;
    }
    
    .footer .borderleft {
	  border-left:none;
	  padding-left:20px;
	}
	
	.footer__logo {
		width: 100px;
		margin-top: 10px;
	}
	
	.footer__signin {
		margin-bottom: 40px;
	}
	
	.footer__location {
		margin-bottom: 20px;
	}
	
	.footer__accreditation {
		min-height: 0;
	}
	
	
    .fixed-height{
        position: relative;
    }
    .fixed-height h3{
        position: relative !important;
        bottom: 0 !important;
        font-size: 32px;
        line-height: 32px;
    }
    .hide-desk{
        display: none;
    }
    
/*
    .tender-list .details-list {
		margin-left: 20px;
		margin-right: 20px;    
	}
*/
	.tender-list__button {
		right: 20px;
	}
	
	.tender__button {
		width: calc(100% - 40px);
		margin-right: 20px;
	}
}




/*
 * Mobile portrait
 */
@media only screen and (max-width: 420px) {
    h2{
        font-size:42px;
    }
    h2.silo-title {
	        font-size:28px;
        line-height:1em;
        max-width: 300px;
	}
    
    .main-menu ul li{
        margin-bottom: 10px;
    }
    
    .main-header__title__blue-bg {
	    right: 25%;
    }
    
    
    .profiles .linkbox .photo {
	    background-position: -40px top;
    }
    
   
    .btn {

	    white-space: normal;

	}
}




/* ==========================================================================
   Helper classes
   ========================================================================== */

.relative {
	position: relative;
}

/*
 * Hide visually and from screen readers
 */

.hidden {
    display: none !important;
}

/*
 * Hide only visually, but have it available for screen readers:
 * http://snook.ca/archives/html_and_css/hiding-content-for-accessibility
 */

.visuallyhidden {
    border: 0;
    clip: rect(0 0 0 0);
    height: 1px;
    margin: -1px;
    overflow: hidden;
    padding: 0;
    position: absolute;
    width: 1px;
}

/*
 * Extends the .visuallyhidden class to allow the element
 * to be focusable when navigated to via the keyboard:
 * https://www.drupal.org/node/897638
 */

.visuallyhidden.focusable:active,
.visuallyhidden.focusable:focus {
    clip: auto;
    height: auto;
    margin: 0;
    overflow: visible;
    position: static;
    width: auto;
}

/*
 * Hide visually and from screen readers, but maintain layout
 */

.invisible {
    visibility: hidden;
}

/*
 * Clearfix: contain floats
 *
 * For modern browsers
 * 1. The space content is one way to avoid an Opera bug when the
 *    `contenteditable` attribute is included anywhere else in the document.
 *    Otherwise it causes space to appear at the top and bottom of elements
 *    that receive the `clearfix` class.
 * 2. The use of `table` rather than `block` is only necessary if using
 *    `:before` to contain the top-margins of child elements.
 */

.clearfix:before,
.clearfix:after {
    content: " "; /* 1 */
    display: table; /* 2 */
}

.clearfix:after {
    clear: both;
}

