html, body {
    width: 100%;
    height: 100%;
    color: #3c4245;
    font-family:'Ubuntu';
    font-size: 17px;	
}

body {
	background:#F7F6F5;	
	overflow-x: hidden;
	display: flex;
    flex-flow: column;
}

body > .row {
	margin:0;
}

body > .row.yellow,
.carousel.yellow .text-wrapper {
    background: #fcbf2c;
}

body > .row.green,
.carousel.green .text-wrapper {
    background: #00abaa;
    color:#ffffff;
}

body > .row.blue,
.carousel.blue .text-wrapper {
    background: #96c2d8;
    color:#ffffff;
}

body > .row.orange,
.carousel.orange .text-wrapper {
    background: #E2A456;
    color:#ffffff;
}

body > .row.red,
.carousel.red .text-wrapper {
    background: #CA4831;
    color:#ffffff;
}

body > .row.grey {
    background: #3c4245;
    color:#ffffff;
}

body > .row.white {
    background: #ffffff;
}

body > .row.orange .btn,
body > .row.blue .btn,
body > .row.green .btn,
body > .row.grey .btn {    
    color:#ffffff;
    border-color:#ffffff;
}

body > .row.green.about .btn {    
    background:#ffffff;    
    color:#00abaa;    
}

body > .row.green.about .btn:hover,
body > .row.green.about .btn:focus {
    background: transparent;
    color: white;	
}

body > .row.blue .btn:hover,
body > .row.blue .btn:focus {
    background: #ffffff;
    color: #96c2d8;
}

body > .row.orange .btn:hover,
body > .row.orange .btn:focus {
    background: #ffffff;
    color: #E2A456;
}

body > .row.about::after {
	content: '';
	position: absolute;
	left: 50%;
	border-left: 20px solid transparent;
	border-right: 20px solid transparent;
	transform: translateX(-50%);
}

body > .row.green.about::after {
	border-top: 20px solid #00abaa;
}

body > .row.grey.about::after {
	border-top: 20px solid #3c4245;
}

.logo-wrapper {
    background:#ffffff;
}

.quote p {
    font-size: 22px;    
    position: relative;
}

.quote p:last-child {    
    margin: 0;   
}


.quote.text-left p {
	border: 2px solid #3c4245;
    border-radius: 20px;
    padding: 25px 30px;
    border-bottom-right-radius: 0;
}

.quote.text-left p::after {
    content: '';
    position: absolute;    
    bottom: 0;
}

.quote.text-left p::after {    
    border-left: 10px solid transparent;
    border-top: 10px solid transparent;
    border-right: 10px solid #3c4245;
    right: 0;   
}

body > .row.blue .quote p,
body > .row.orange .quote p {
	border-color:#ffffff;
}

body > .row.blue .quote p::after,
body > .row.orange .quote p::after {
	border-right-color:#ffffff;
}

.quote.text-right p {
	border: 2px solid #3c4245;
    border-radius: 20px;
    padding: 25px 30px;
    border-bottom-left-radius: 0;
}

.quote.text-right p::after {
    content: '';
    position: absolute;    
    bottom: 0;
}

.quote.text-right p::after {    
    border-right: 10px solid transparent;
    border-top: 10px solid transparent;
    border-left: 10px solid #3c4245;
    left: 0;   
}

.row.about .fa {
	display:block;
	font-size: 48px;
	margin-bottom: 10px;
}

.row.valign-row {
    display: flex;
    flex-wrap: wrap;
}

.valign-col {
    display: flex;
    align-items: center;
    justify-content: center;
}

.valign-col.right {
    justify-content: flex-end;
}

.relative {
	position:relative;
}

img.obj-fit {
	object-fit: cover;
    width: 100%;
    height: 100%;
}

img.obj-fit-contain {
	object-fit: contain;
    width: 100%;
    height: 100%;
}

img {
	max-width:100%;
}

header {
	margin-top: 50px;
}

p,
li {
	line-height: 1.65;
	font-size: 18px;
}

p a,
.footer p a:hover {
	text-decoration:underline;
}

.footer p a {
	text-decoration:none;
}


.wrap {
	min-height: 100%;
	padding-top: 1px;
}

.push {
	height: 286px;
}

a,
a:hover {
	color:#3c4245;	
}

a.anchor {
    display: block;
    position: relative;
    top: -80px;
    visibility: hidden;
}

.navbar-meta,
footer {
	text-transform: none;
	font-weight: 400;
	font-size: 14px;
}

.navbar-meta {
	background: #3c4245;
	color: #fff;
}

.navbar-meta .fa,
footer .fa {
	margin-right: 7px;
	margin-left:15px;
}

.fa-file {
	margin-right: 5px;
}


footer {
	padding-top: 50px;
	padding-bottom: 30px;
	position: relative;
	overflow: auto;
	border-bottom: 30px solid #3c4245;
	border-top: 2px solid #e7e7e7;
	font-size:17px;
	margin-top:-286px;
}

footer:before {
  content: "";
  position: absolute;
  left: 0;
  right: 0;
  z-index: -1;
  display: block;
  background: url('/static/img/inovigate-heart.png');
  width: 100%;
  height: 100%;
  top: 0;
  bottom: 0;
  background-repeat: no-repeat;
  background-position: top right;
  background-color: #fafafa;
  opacity: 0.3;
}

footer a:hover {
	color:#ca4730;
	text-decoration:none;
}

footer dd {
	margin-top:2px;
}

footer .fa {
	position:absolute;
	font-size:27px;
	line-height: 7px;
}

section {
	padding-top: 50px;
	padding-bottom: 50px;
}

section.first-section {
    margin-top: 40px;
}

.whoweworkfor, .expertise {
	background:#f9f9f9;
}

h1:first-child,
h2:first-child,
h3:first-child,
h4:first-child {
	margin-top:0;	
}

h3 {
	line-height: 1.3em;
}

.navbar-default {
	background: #fff;
	margin: 0;
	border: none;
	box-shadow: 0 1px 6px #3c4245;
}

.navbar-default .navbar-nav>li>a {
	font-size: 25px;
	padding: 20px 17px;
	color: #3c4245;
}

.top-nav-collapse .navbar-meta {
	display: block;
    max-height: 0;
    transition: max-height 100ms;
}

.navbar-meta {
    overflow: hidden;
	max-height: 500px;
	opacity: 1;
	transition: max-height 0s;
	text-align: right;
}

.navbar-brand {
	float:none;
}

.navbar-brand img {
	height:50px;
}

nav .container:first-child  {
	padding-top: 5px;
	padding-bottom: 5px;
}

.logo {
    height: 30px;
    margin: 20px;
}

.specialities {
	color:#fff;
	padding-top: 60px;
}

.specialities img {
	height: 90px;
	margin-bottom:10px;
}

.specialities h2,
.expertise h2,
.contact h2 {
	font-size: 30px;
	text-transform: none;	
}

.specialities .col-sm-4 {
	margin-bottom: 30px;
}

.specialities .col-sm-4:nth-child(3n+1) {
	clear:both;
}

.specialities img {
	height: 60px;
	margin-bottom: 15px;
}

.specialities-1,
.specialities-1 a {
	color:#ecbd3e;
}

.nav-tabs>li.active.specialities-1>a,
.nav-tabs>li.active.specialities-1>a:focus,
.nav-tabs>li.active.specialities-1>a:hover,
.nav-tabs>li.specialities-1>a:focus,
.nav-tabs>li.specialities-1>a:hover {
	background:#ecbd3e;
}

.specialities-2,
.specialities-2 a {
	color:#e2a455;
}

.nav-tabs>li.active.specialities-2>a,
.nav-tabs>li.active.specialities-2>a:focus,
.nav-tabs>li.active.specialities-2>a:hover,
.nav-tabs>li.specialities-2>a:focus,
.nav-tabs>li.specialities-2>a:hover {
	background:#e2a455;
}

.specialities-3,
.specialities-3 a {
	color:#ca4730;
}

.nav-tabs>li.active.specialities-3>a,
.nav-tabs>li.active.specialities-3>a:focus,
.nav-tabs>li.active.specialities-3>a:hover,
.nav-tabs>li.specialities-3>a:focus,
.nav-tabs>li.specialities-3>a:hover {
	background:#ca4730;
}

.specialities-4,
.specialities-4 a {
	color:#a2c0d4;
}

.nav-tabs>li.active.specialities-4>a,
.nav-tabs>li.active.specialities-4>a:focus,
.nav-tabs>li.active.specialities-4>a:hover,
.nav-tabs>li.specialities-4>a:focus,
.nav-tabs>li.specialities-4>a:hover {
	background:#a2c0d4;
}

.specialities-5,
.specialities-5 a {
	color:#50aaa8;
}

.nav-tabs>li.active.specialities-5>a,
.nav-tabs>li.active.specialities-5>a:focus,
.nav-tabs>li.active.specialities-5>a:hover,
.nav-tabs>li.specialities-5>a:focus,
.nav-tabs>li.specialities-5>a:hover {
	background:#50aaa8;
}

.news-item:before {
    background-image: url('/static/img/inovigate-heart.png');  /* Default; may be changed in template */
    background-size: 100%;
	background-position: -50px -50px;
	background-repeat: no-repeat;
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    content: '';
	opacity: 0.3;
}

.news-item h1 {
	color: #ca4730;
	font-size: 36px;
	line-height: 39px;
}

.news-item h2 {
	margin: 0;
	color: #3c4245;
	font-size: 28px;
	text-transform: none;
}

.btn-more {
	border:2px solid #3c4245;
	border-radius:0;
	font-size:19px;
	padding:6px 15px;
	background: white;
	color:#3c4245;
	margin: 10px 0;
}

button {
	background:transparent;
}

.btn-more:hover,
.specialities .btn-more:hover {
	background:#ca4730;
	color: #fff;
	transition: 0.1s;
	border-color: #ca4730;
}

.btn-more:active {
	box-shadow:none;
}

.btn-more:active:focus,
.btn-more:focus {
	outline:0;
}

.btn-more .fa-caret-right {
	margin-left: 5px;
}

.btn-more .fa-caret-left {
	margin-right: 8px;
}

.panel.panel-default {
	border:2px solid #3c4245;
	border-radius:0;
}.panel.panel-default .panel-heading {
	background: white;
}
.panel.panel-default .panel-body {
	border: none !important;
}
.panel.panel-default .panel-title > a:after {
    font-family: "FontAwesome";
    content: "\f0d8";  /* fa-caret-up */
    display: inline-block;
    float: right;
}
.panel.panel-default .panel-title > a.collapsed:after {
    content: "\f0d7";  /* fa-caret-down */
}

.specialities .btn-more {
	border: 0;
	font-size: 17px;
	background: transparent;
}

.specialities-1 .btn-more {
	border: 2px solid #ecbd3e;
}

.specialities-2 .btn-more {
	border: 2px solid #e2a455;
}

.specialities-3 .btn-more {
	border: 2px solid #ca4730;
}

.specialities-4 .btn-more {
	border: 2px solid #a2c0d4;
}

.specialities-5 .btn-more {
	border: 2px solid #50aaa8;
}

.news-item .container {
	text-align: right;
	padding-top: 20px;
}


.services .col-sm-10 .row {
	margin-bottom: 50px;
	position: relative;
	border-top: 1px solid #efefef;
	padding-top: 50px;
}

.services .col-sm-10 .row:nth-child(1) {
	border-top:0;
}

.nav-tabs>li.active>a,
.nav-tabs>li.active>a:focus,
.nav-tabs>li.active>a:hover,
.nav-tabs>li>a,
.nav-tabs>li>a:focus,
.nav-tabs>li>a:hover {
	background:transparent;
	border:0;
	border-radius:0;
	color:#3c4245;
	font-size: 20px;
}

.nav-tabs>li.active>a,
.nav-tabs>li.active>a:focus,
.nav-tabs>li.active>a:hover,
.nav-tabs>li>a:focus,
.nav-tabs>li>a:hover {
	color:#fff;
	background:#a2c0d4;
}

.nav-tabs>li.active>a,
.nav-tabs>li.active>a:focus,
.nav-tabs>li.active>a:hover {
	background:#a2c0d4;
}

.nav-tabs {
	margin-top: 50px;
	margin-bottom:30px;
}

.contact form {
	margin-top: 50px;
	margin-bottom:50px;
} 

ul {
	padding-left: 30px;
}

.navbar-meta a {
	color:#fff;
	text-decoration:none;
}

.navbar-meta a:hover {
	color:#fff;
	text-decoration:underline;
}

.navbar-default .navbar-nav>.active>a,
.navbar-default .navbar-nav>.active>a:focus,
.navbar-default .navbar-nav>.active>a:hover,
.navbar-default .navbar-nav>li>a:hover,
.navbar-default .navbar-nav>.open>a, .navbar-default .navbar-nav>.open>a:focus, .navbar-default .navbar-nav>.open>a:hover{
	color:#ca4730;
	background:transparent;
}

.whoweworkfor {
	padding-bottom:60px;
}

.services {
	padding-bottom:50px;
}

.portfolio {
	padding-bottom:110px;
}

.margin-top-30 {
	margin-top:30px;
}


.carousel .btn-more {
	margin-top:10px;
	margin-bottom: 10px;
}

.services .col-sm-6 img {
	display:none;
}

.contact .btn-more {
	width:100%;
}

.navbar-default .navbar-toggle,
.navbar-default .navbar-toggle:focus,
.navbar-default .navbar-toggle:hover {
    background-color: transparent;
    border: none;
    margin-right: 8px;
}

.navbar-fixed-bottom .navbar-collapse, .navbar-fixed-top .navbar-collapse {
    max-height: 450px;
}

.team-member-tile {
	margin-bottom: 50px;
}

.team-member-tile h2 {
    min-height: 66px;  /* Two lines for every name */
}

.team-member-portrait {
	padding-bottom:100%;
	margin-bottom: 12px;
    background-position: top;
    background-size: cover;
}

.dropdown-menu > li > a {
	font-size: 21px;
}

.partner-logo {
	margin-left: 15px;
}

.spacer {
    clear:both;
}

.spacer.spacer-xs {
	height: 8px;
}
.spacer.spacer-sm {
	height: 16px;
}
.spacer.spacer-md {
	height: 32px;
}
.spacer.spacer-lg {
	height: 64px;
}

.sector-title-buttons {
	margin-bottom: 20px;
}
.sector-title-buttons > div,
.sector-title-buttons > a {
	margin-left: 10px;
}

.cc-message {
  margin: 0 10px!important;
  font-size: 14px;
  line-height: 16px;
}

/* v2 START */
.cms-toolbar-expanded .sidebar {
    top:45px;
}

.sidebar ul {
	padding:0;
}

.sidebar li {
	list-style-type:none;
	font-size: 26px;
	margin-bottom: 10px;
}

.sidebar li a {
	color:#ffffff;
}

.sidebar li.selected a {
	text-decoration:underline;

}

.sidebar li .btn {
	border-color:#fff;
}

body > .row.grey .btn:hover,
body > .row.grey .btn:focus,
.sidebar li .btn:hover,
.sidebar li .btn:focus {
	border-color:#fff;
	background:#ffffff;
	color:#3c4245;
}

.sidebar {
	color:#ffffff;
	height: 100%;
	position: fixed;
	z-index: 2;
	top: 0;
	right: 0;
	padding: 25px;
	transition: 0.5s;
	transform: translateX(100%);
	background: rgba(60, 66, 69, .85);
	width: 25vw;
}

body.sidebar-open .sidebar {
    transform: translateX(0);
    box-shadow: 0 0 30px 0 rgba(0,0,0,0.15);
    overflow-y: scroll;
}

body.sidebar-open {
    overflow-y: hidden;
    padding-right: 15px;
}

.togglebtn {
    position:absolute;
    left: -25px;
    top: 25px;
    transform: translateX(-100%);
}

.sidebartoggle {
    background:transparent;
    cursor: pointer;
    border: none;
    padding: 0;
    transition:opacity ease-out .25s;
    margin-bottom: 25px;
    height: 20px;
}

.sidebartoggle:focus {
    outline:0;
}

.sidebartoggle.fade {
  opacity:0;  
}

.btn {
	background:transparent;
	font-size: 18px;
	border:2px solid #3c4245;
	border-radius: 20px;
	color: #3c4245;
	margin-top: 10px;
}

.btn:focus,
.btn:active:focus {
	outline:0;
}

.btn:active {
	box-shadow:none;
}

.btn-default:hover,
.btn-default:active,
.btn-default:focus,
.btn-default:hover:focus,
.btn-default:active:focus {
	background:#3c4245;
	border-color:#3c4245;
	color:#fff;
}

.footer.row {
    margin-top:auto;
}

.footer .btn {
    margin-top:0;
}

.footer a {
	color:#fff;
}

.footer ul > li {
	list-style-type:none;
	text-align:right;
	padding:0;
	margin:0;
}

.footer ul {	
	padding:0;
	margin:0;
}

.carousel-style-home .item .text-wrapper {
	position: absolute;
    bottom: 12vw;
    left: 10vw;
    width: 80vw;
}

.carousel-style-home .item .text-wrapper h1 {
	font-size: 33px;
	color: white;
	line-height: 1.5em;
	margin-bottom: 50px;
}    

.carousel-style-home .item .text-wrapper h2 {
	display:none;
	color: white;
	line-height: 1.5em;	
	margin-top: 35px;
	margin-left: 10%;
}

.carousel-style-home .item .text-wrapper h2 span {
	padding: 5px 15px;
    background: #96c2d8;
}    

.carousel-style-home .item .text-wrapper h1 span {
	background: #00abaa;
    padding: 5px 15px;
}    

.carousel-style-home .item > div,
.carousel-style-classic .item > div,
.carousel-style-interactive .item > div {
    height: calc(100vh - 70px);
    background-size: cover;
    background-position: center;    
}

.carousel-style-classic .item > div {
    width: 50vw;
}

.carousel-style-interactive .item .text-wrapper {
    position: absolute;
    bottom: 12vw;
    left: 10vw;
    width: 80vw;
}

.carousel-style-classic .item .text-wrapper {
    height: 100%;
    width: 100vw;
    padding: 15px;
	overflow: auto;
}

.carousel-style-classic .item .text-wrapper h1 {   
    color: #fff; 
    line-height: 1.8em;
    font-size: 35px;
    margin: 0;
}

.carousel-style-interactive .item .text-wrapper h1 {
    color: #3c4245;
    line-height: 1.5em;
    font-size: 42px;
    margin: 0;
}

.carousel-style-interactive .item .text-wrapper h1 span {
    background: #F7F6F5;
    padding: 5px 15px;
}

.carousel-style-classic .item .text-wrapper h2 {
    color: #fff;
    line-height: 1.8em;
    font-size: 27px;
    margin: 0;
}

.carousel-style-interactive .item .text-wrapper h2 {
    color: white;
    line-height: 1.5em;
    font-size: 50px;
    margin-bottom: 0;
    margin-top: 35px;
    margin-left: 10%;
}

.carousel-style-interactive .item .text-wrapper h2 span {
    padding: 5px 15px;
    background: #3c4245;
}

.cc-window {
	padding:10px !important;
}

.cc-message {
	margin:0 !important;
    font-family:'Ubuntu' !important;  
    font-size: 14px;
    line-height: 17px;
}

.cc-btn {
	padding:5px !important;	
}

.scroll-down {
	text-align:center;
	position: absolute;
    left: 0;
    right: 0;
    bottom: 0;
    transform: translateY(-4vw);
    font-size: 36px;
    height: 50px;
	cursor:pointer;
}

.scroll-down > span {
	color: #fff;
    border: 3px solid #fff;
    padding: 10px 20px;
    border-radius: 35px;
}


/* v2 END */


@media (max-width: 767px) {	 
    .row.fiver > div {
		width:100%;
		margin-bottom: 60px;
	}

	.row.fiver > div:last-child {    
		margin:0;
	}

	.container-fluid .spacer-lg,
	.quote {
		display:none;
	}

    .carousel-style-classic,
    .carousel-style-interactive {
        margin-bottom:15px;
    }
    
    .mobile-left {
        float:none !important;        
        width:100%;
    }

    .sidebartoggle svg {
		height:15px;
	}

	.sidebar {
		width:100vw;
	}

	.footer ul li {	
	    text-align:left;
    }

    .footer .btn,
    nav .btn {
        width:100%;
        margin-bottom:20px;
    }

    .left-fluid,
    .right-fluid {
    	padding:0;
    }
}



/* Small devices (tablets, 768px and up) */
@media (min-width: 768px) {	  
    body > .row > .container-fluid {
		margin-left:-15px;
		margin-right:-15px;
	}

    .row.fiver > div {
        width:20%;
    }

    .left-fluid {
		position:absolute;
		left: 0;
		right: 50%;
		top: 0;
		bottom: 0;
		padding-right: 0;
	}

	.right-fluid {
		position:absolute;
		left: 50%;
		right: 0;
		top: 0;
		bottom: 0;
		padding-left: 0;
	}

    .carousel-style-home .item .text-wrapper h1 {	
        font-size: 42px;    
        margin-bottom: 0;
    }    

    .carousel-style-home .item .text-wrapper h2 {		
	    font-size: 50px;
	    display:block;
    }
  
    .carousel-style-classic .item > div,
    .carousel-style-interactive .item > div {
        height: calc(85vh - 100px);        
    }

    .carousel-style-home .item > div {
        height: calc(100vh - 100px);        
    }

    .carousel-style-classic .item .text-wrapper h2 {
        line-height: 1.4em;
        font-size: 36px;
    }

    .carousel-style-classic .item .text-wrapper h1 {
        line-height: 1.4em;
        font-size: 42px;
    }

    .carousel-style-classic .item .text-wrapper {
        width: 50vw;
        margin-left: 50vw;
        padding: 65px 80px;
    }

	.btn + .btn {
		margin-left:15px;
	}

    .sidebar {	
	    padding: 35px;
    }
    
    .togglebtn {    
        top: 35px;    
        left: -40px;
    }

    .sidebartoggle {    
        margin-bottom: 35px;
        height: 30px;
    }

    .logo {
		height: 60px;
		margin: 20px 40px;
	}

	a.anchor {
		top: -110px;
	}	

	.navbar-body {
		padding-right: 15px;
		padding-left: 15px;
		margin-right: auto;
		margin-left: auto;
	}

	.navbar-default .navbar-nav>li>a {
		font-size: 2.3vw;
		padding: 30px 10px;
	}
	
	header {
		margin-top: 109px;
	}

	.news-item {
		padding-bottom:40%;
	}

	.news-item:before {
		background-size: 45%;
		opacity: 1;
	}

	.news-item .container {
		position: absolute;
		left: 0;
		right: 0;
		bottom: 10%;
	}

	.news-item h1 {
		font-size: 5vw;
		line-height: 1.125em;
	}
	
	.news-item h2 {
		font-size: 2.5vw;
	}

	section {
		padding-top: 80px;
		padding-bottom: 80px;
	}

	section.first-section {
		margin-top: 109px;
	}		
	
	.btn-more {
		font-size:17px;
		margin: 0;
	}
	
	.specialities .col-sm-4 {
		margin-bottom: 50px;
	}
	
	.nav-tabs>li {
		width:20%;
	}
	
	.services .col-sm-10 .row {
		margin-bottom: 80px;
		padding-top: 80px;
	}
	
	.modal-dialog {
		width:60%;
	}
	
	.services .col-sm-6 img {
		max-height: 300px;
		overflow: hidden;
	}
	
	.contact .btn-more {
		width:auto;
	}
	
	.services .col-sm-6 img {
		display:block;
	}
	
	.news-item .container {	
		padding-top: 0;
	}

	.expertise .nav-tabs a {
		min-height: 132px;
	}

}

/* Medium devices (desktops, 992px and up) */
@media (min-width: 992px) {
	.navbar-default .navbar-nav>li>a {
		font-size: 25px;
		padding: 30px 17px;
	}

	footer:before {
		opacity: 1;
	}

	.sector-title-buttons {
		text-align: right;
	}

	.expertise .nav-tabs a {
		min-height: 104px;
	}
}

/* Large devices (large desktops, 1200px and up) */
@media (min-width: 1200px) {
	.navbar-body {
		width: 1170px;
	}

	.news-item h1 {
		font-size: 71px;
		line-height: 70px;
	}

	.news-item h2 {
		font-size: 38px;
	}

	.team-member-tile h2 {
		min-height: auto;
	}

	.expertise .nav-tabs a {
		min-height: auto;
	}
}
