/*
Theme Name: CC Construction
Author: Pipe Media
Author URI: https://pipemedia.co.uk
Description: Responsive WordPress Theme for CC Construction
Version: 1.0
*/

/* Basic Styles
------------------------------------------- */

	body {
		background-color: #FFFFFF;
		font-family: "rubik", Arial, Helvetica, Sans-serif;
		font-size: 16px;
		line-height: 24px;
		color: #454545;
		font-weight: 300;
	}

/* Typography
------------------------------------------- */

	h1, h2, h3, h4, h5, h6 {
		font-family: "big-caslon-fb", Times, serif;
		font-weight: 400;
		margin: 0 0 20px; }
	h1 { font-size: 50px; line-height: 58px; margin: 20px 0 50px; color: #28354A; }
	h2 { font-size: 28px; line-height: 36px; margin: 60px 0 25px; color: #28354A; }
	h3 { font-size: 22px; line-height: 28px; margin: 50px 0 25px; }
	h4 { font-size: 18px; line-height: 24px; }
	h5 { font-size: 16px; line-height: 20px; }
	h6 { font-size: 14px; line-height: 18px; }
	
	h2.sub-title { font-size: 38px; line-height: 46px; margin-bottom: 40px; }
	
	p { margin: 0 0 20px; font-weight: 300; }
	p img { margin: 0; }

	em { font-style: italic; }
	strong { font-weight: 600; }
	small { font-size: 80%; }

/*	Blockquotes  */
	blockquote { background: url('images/blockquote.svg') top left no-repeat; background-size: 45px auto; padding-top: 80px; }
	blockquote, blockquote p { line-height: 38px; font-size: 30px; font-family: "big-caslon-fb", Times, serif; color: #FFFFFF; }
	blockquote { margin: 0 0 40px; }
	blockquote p:last-child { margin: 0; }
	
/*	Horizontal Line  */
	hr { border: solid #CCCCCC; border-width: 1px 0 0; clear: both; margin: 40px 0; height: 0; }

/*	Text alignment  */

	.text-center { text-align: center; }
	.text-right { text-align: right; }

/* Misc Utilities
------------------------------------------- */

/*	Display None  */
	.d-none { display: none; }

/*	Margins and Padding  */
	.m-0 { margin: 0; }
	.mb-10 { margin-bottom: 10px; }
	.mb-20 { margin-bottom: 20px; }
	.mb-30 { margin-bottom: 30px; }
	.mb-40 { margin-bottom: 40px; }
	.mb-60 { margin-bottom: 60px; }
	.mt-20 { margin-top: 20px; }
	.mt-40 { margin-top: 40px; }
	.mt-60 { margin-top: 60px; }
	.ml-20 { margin-left: 20px; }
	.mr-20 { margin-right: 20px; }
	.m-auto { margin: 0 auto; }
	
	.p-0 { padding: 0; }
	.pt-0 { padding-top: 0; }
	.pb-0 { padding-bottom: 0; }

/*	Floats  */

	.float-left { float: left; }
	.float-right { float: right; }

/* Links
------------------------------------------- */

	a { color: #454545; text-decoration: underline; }
	a:hover { color: #000000; }
	
	a.btn {
		color: #454545;
		font-size: 16px;
		text-decoration: none;
		position: relative;
	}
	
	a.btn::before {
		content: "";
		position: absolute;
		width: 100%;
		height: 1px;
		bottom: 0;
		left: 0;
		background-color: #777777;
		visibility: hidden;
		transform: scaleX(0);
		transition: all 0.3s ease-in-out 0s;
	}
	
	a.btn:hover::before {
		visibility: visible;
		transform: scaleX(1);
	}
	
	h2 a {
		text-decoration: none;
		color: #28354A;
	}

/* Colours
------------------------------------------- */

	.text-colour-white {
		color: #FFFFFF;
	}

/* Lists
------------------------------------------- */

	ul {
		list-style: disc;
		padding: 0 0 0 22px;
		margin: 0;
	}
	
	ul li, ol li {
		margin: 0 0 8px;
		padding-left: 3px;
	}

/* Images
------------------------------------------- */

	img {
		max-width: 100%;
		height: auto;
	}

	img.alignleft {
		float: left;
		margin: 0 40px 0 0;
	}
	
	img.alignright {
		float: right;
		margin: 0 0 0 40px;
	}
	
	img.aligncenter {
		margin: 40px auto;
		display: block;
	}

/* Forms
------------------------------------------- */
	
	input[type="text"], input[type="email"], input[type="password"], textarea {
		-webkit-appearance: none;
		-moz-appearance: none;
		appearance: none;
		border-radius: 0;
	}

	form .frm_submit button {
		margin-top: 20px;
	}
	
	#login-form label {
		display: block;
		margin-bottom: 5px;
	}
	
	#login-form input {
		border: 1px solid #CCCCCC;
		padding: 5px;
	}
	
	#login-form button {
		background-color: #28354A;
		color: #FFFFFF;
		padding: 10px;
		margin: 0;
	}

/* Table
------------------------------------------- */

	table {
		border-collapse: collapse;
		margin: 0;
		width: 100%;
		text-align: left;
	}

	table tr td {
		border-bottom: 1px solid #DDDDDD;
		padding: 10px;
	}
	
/* Cookie Consent
------------------------------------------- */

	#cookie-law {
	    background-color: #020E2C;
		padding: 10px 0;
		width: 100%;
		position: fixed;
		top: 0;
		left: 0;
		z-index: 9999;
	}

	#cookie-law p {
	    font-size: 14px;
	    color: #FFFFFF;
		margin: 0;
	}

	#cookie-law p a {
		color: #FFFFFF;
	}

	#cookie-law p a.close-cookie-banner {
		background: url('images/close.png') no-repeat;
		background-size: 15px 15px;
		float: right;
		width: 15px;
		height: 15px;
		display: block;
		text-indent: -9999px;
		margin: 6px 0 0;
	}

/* Sections
------------------------------------------- */

	section {
		position: relative;
		padding: 70px 0;
	}
	

/* Header
------------------------------------------- */
	
	section #menu-holder {
		border-radius: 0 0 25px 0;
		background: rgba(0, 0, 0, 0.5);
		padding: 40px 50px 40px 60px;
		width: 100%;
		position: relative;
		z-index: 999;
	}
	
	section #menu-holder #logo {
		max-width: 75px;
	}
	
	section#fixed-nav {
		background-color: #FFFFFF;
		position: fixed;
		top: 0;
		left: 0;
		width: 100%;
		z-index: 999;
		padding: 15px 0;
		z-index: 9999;
	}
	
	section#fixed-nav.fixed-nav-front {
		display: none;
	}
	
	section#fixed-nav.fixed-nav-home {
		position: static;
	}
	
	section#fixed-nav.fixed-nav-home.fixed {
		position: fixed;
	}
	
/* Navigation
------------------------------------------- */
	
	#menu-control {
		width: 30px;
		height: 23px;
		position: relative;
		-webkit-transform: rotate(0deg);
		-moz-transform: rotate(0deg);
		-o-transform: rotate(0deg);
		transform: rotate(0deg);
		-webkit-transition: .5s ease-in-out;
		-moz-transition: .5s ease-in-out;
		-o-transition: .5s ease-in-out;
		transition: .5s ease-in-out;
		cursor: pointer;
		display: block;
		margin: 20px 0 0 22px;
	}

	#menu-control span {
		display: block;
		position: absolute;
		height: 2px;
		width: 100%;
		background: #28354A;
		opacity: 1;
		left: 0;
		-webkit-transform: rotate(0deg);
		-moz-transform: rotate(0deg);
		-o-transform: rotate(0deg);
		transform: rotate(0deg);
		-webkit-transition: .25s ease-in-out;
		-moz-transition: .25s ease-in-out;
		-o-transition: .25s ease-in-out;
		transition: .25s ease-in-out;
	}

	#menu-control span:nth-child(1) {
		top: 0px;
	}

	#menu-control span:nth-child(2), #menu-control span:nth-child(3) {
		top: 10px;
	}

	#menu-control span:nth-child(4) {
		top: 20px;
	}

	#menu-control.open span:nth-child(1) {
		top: 12px;
		width: 0%;
		left: 50%;
	}

	#menu-control.open span:nth-child(2) {
		-webkit-transform: rotate(45deg);
		-moz-transform: rotate(45deg);
		-o-transform: rotate(45deg);
		transform: rotate(45deg);
	}

	#menu-control.open span:nth-child(3) {
		-webkit-transform: rotate(-45deg);
		-moz-transform: rotate(-45deg);
		-o-transform: rotate(-45deg);
		transform: rotate(-45deg);
	}

	#menu-control.open span:nth-child(4) {
		top: 18px;
		width: 0%;
		left: 50%;
	}
	
	/*#menu-control a::before {
		content: "";
		position: absolute;
		width: 100%;
		height: 1px;
		bottom: 0;
		left: 0;
		background-color: #FFFFFF;
		visibility: hidden;
		transform: scaleX(0);
		transition: all 0.3s ease-in-out 0s;
	}
	
	#menu-control a:hover::before {
		visibility: visible;
		transform: scaleX(1);
	}*/
	
	nav {
		display: none;
	}
	
	nav.home-page {
		display: block;
	}
	
	nav ul {
		list-style: none;
		margin: 10px 0 0 5px;
		padding: 0;
	}
	
	nav ul li {
		font-size: 16px;
		line-height: 16px;
		padding: 20px 0;
		margin: 0;
		text-transform: uppercase;
		font-family: "big-caslon-fb", Times, serif;
		font-weight: 400;
	}
	
	nav ul li a {
		text-decoration: none;
		color: #28354A;
		display: inline-block;
		padding: 5px 0;
		position: relative;
	}
	
	nav ul li a::before {
		content: "";
		position: absolute;
		width: 100%;
		height: 1px;
		bottom: 0;
		left: 0;
		background-color: #FFFFFF;
		visibility: hidden;
		transform: scaleX(0);
		transition: all 0.3s ease-in-out 0s;
	}
	
	nav ul li a:hover {
		text-decoration: underline;
		color: #28354A;
	}
	
	nav ul li.padlock-icon,
	section#fixed-nav ul li.padlock-icon {
		background: url('images/padlock-members.svg') no-repeat;
		text-indent: -9999px;
		width: 20px;
		height: 20px;
		padding: 0;
		margin-left: 20px;
	}
	
	nav ul li.padlock-icon a {
		display: block;
		width: 100%;
		height: 100%;
	}
	
	nav ul li.padlock-icon a::before,
	section#fixed-nav ul li.padlock-icon::before {
		display: none;
	}
	
	nav ul li.current-menu-item a::before,
	nav ul li a:hover::before {
		visibility: visible;
		transform: scaleX(1);
	}
	
	nav ul li ul {
		display: none;
		margin: 15px 0 0 0;
		padding: 0 0 0 20px;
		border-left: 1px solid #FFFFFF;
	}
	
	nav ul li ul li {
		font-size: 18px;
		line-height: 18px;
		padding: 8px 0;
	}
	
	section#fixed-nav #logo-header {
		width: 45px;
	}
	
	section#fixed-nav nav {
		display: block;
		float: right;
		margin-top: 9px;
	}
	
	section#fixed-nav nav ul {
		margin: 0;
	}
	
	section#fixed-nav ul li {
		display: inline-block;
		padding: 4px 20px;
		font-size: 16px;
		vertical-align: middle;
	}
	
	/*section#fixed-nav ul li.logo-icon {
		background: url('images/menu-icon.png') no-repeat;
		background-size: 60px auto;
		margin: 0 40px;
		padding: 0;
		width: 60px;
		height: 64px;
	}
	
	section#fixed-nav ul li.logo-icon a {
		text-indent: -9999px;
		display: block;
		width: 100%;
		height: 100%;
		padding: 0;
	}
	
	section#fixed-nav ul li.logo-icon a::before {
		display: none;
	}*/
	
	section#fixed-nav ul li ul li {
		display: block;
		padding: 4px 0;
	}
	
/* Footer
------------------------------------------- */

	footer {
		background-color: #28354A;
		padding: 20px 0;
		color: #FFFFFF;
	}
	
	footer p {
		font-size: 16px;
		line-height: 24px;
	}
	
	footer p a {
		text-decoration: none;
		color: #FFFFFF;
	}
	
	footer p a:hover {
		text-decoration: underline;
		color: #FFFFFF;
	}
	
	footer .logo img {
		float: left;
	}
	
	footer .logo p {
		margin: 20px 0 0 30px;
		float: left;
	}
	
	footer p.prime {
		font-style: italic;
		font-size: 14px;
		line-height: 21px;
		margin-top: 40px;
	}
	
	footer .newsletter {
		max-width: 400px;
		margin: 0 auto;
	}
	
	footer .newsletter p {
		text-align: center;
		font-size: 18px;
		line-height: 26px;
		text-align: center;
	}
	
	footer .newsletter .form-field {
		margin: 0 !important;
	}
	
	footer .newsletter .frm_form_field input {
		border: none;
	}
	
	footer .newsletter .frm_submit button.frm_button_submit {
		background-color: #28354A;
		border: 1px solid #FFFFFF;
		box-shadow: none;
		margin: 20px auto 0;
	}
	
	footer .newsletter .frm_submit button.frm_button_submit:hover,
	footer .newsletter .frm_submit button.frm_button_submit:focus {
		background-color: #FFFFFF;
		color: #28354A;
	}
	
	footer ul.social {
		list-style: none;
		padding: 0;
		margin: 30px auto 0;
		width: 75px;
	}
	
	footer ul.social li {
		display: inline-block;
		margin: 0 5px;
		padding: 0;
	}
	
	footer ul.social li:first-child {
		margin-left: 0;
	}
	
	footer ul.social li svg {
		fill: #FFFFFF;
		width: 25px;
		height: 25px;
	}
	
	footer p.footer-title {
		font-family: "big-caslon-fb", Times, serif;
		font-weight: 400;
		font-size: 18px;
		line-height: 24px;
		text-transform: uppercase;
	}
	
	footer p.credit {
		margin: 30px 0 0;
		font-size: 14px;
		line-height: 16px;
	}
	
	#scroll-top {
		background: rgba(40, 53, 74, 0.95) url('images/top.png') top 15px left 15px no-repeat;
		background-size: 40px auto;
		position: fixed;
		bottom: 0;
		right: 0;
		width: 140px;
		height: 75px;
		cursor: pointer;
		border-radius: 15px 0 0 0;
		padding: 15px 0 0 75px;
		color: #FFFFFF;
		line-height: 20px;
	}

/* Page
------------------------------------------- */	
	
	.row {
		max-width: 1100px;
	}
	
	.row.expanded {
		max-width: 1600px;
	}
	
	#page-holder {
		padding-top: 84px;
	}
	
	body.home #page-holder {
		padding: 0;
	}

	section.page-header {
		padding: 0;
		background-size: cover !important;
		position: relative;
	}
	
	section.page-header-full {
		height: 50vh;
	}
	
	section.page-header-full.page-header-full-home {
		height: 100vh;
	}
	
	section.page-header h1 {
		text-shadow: #000000 1px 0 15px;
		position: absolute;
		bottom: 100px;
		left: 1rem;
		right: 1rem;
		color: #FFFFFF;
		max-width: 1100px;
		margin: 0 auto;
		text-align: center;
	}
	
	section.page-header .arrow {
		background: url('images/scroll-arrow.png') no-repeat;
		background-size: 40px auto;
		width: 40px;
		height: 35px;
		position: absolute;
		bottom: 30px;
		left: 0;
		right: 0;
		margin: 0 auto;
	}
	
	body.single-project section.page-header .arrow {
		display: none;
	}
	
	section.page-header .arrow-left,
	section.page-header .arrow-right {
		background: url('images/arrow-left.png') no-repeat;
		background-size: 40px auto;
		width: 36px;
		height: 43px;
		position: absolute;
		bottom: 108px;
	}
	
	section.page-header .arrow-left {
		left: 1rem;
	}
	
	section.page-header .arrow-right {
		background: url('images/arrow-right.png') no-repeat;
		background-size: 40px auto;
		right: 1rem;
	}
	
	section.page-header .arrow-left a,
	section.page-header .arrow-right a {
		display: block;
		text-indent: -9999px;
		width: 100%;
		height: 100%;
	}
	
	section.page-header-full #slider {
		position: absolute;
		top: 0;
		left: 0;
		width: 100%;
		height: 100vh;
	}
	
	section.page-header-full #slider .bx-wrapper,
	section.page-header-full #slider .bx-viewport,
	section.page-header-full #slider .slides {
		height: 100% !important;
	}
	
	section.page-header-full #slider .slides .slide {
		background-size: cover !important;
		width: 100%;
		height: 100%;
	}
	
	section.page-header-full #slider .bx-wrapper .bx-pager {
		position: absolute;
		bottom: 30px;
		left: 30px;
		width: auto;
		text-align: left;
	}
	
	section.page-header-full #slider .bx-wrapper .bx-pager.bx-default-pager a {
		background-color: #DDDDDD;
		width: 15px;
		height: 15px;
		border-radius: 0;
	}
	
	section.page-header-full #slider .bx-wrapper .bx-pager.bx-default-pager a.active {
		background-color: #FFFFFF;
	}
	
	section.page-header-full #slider .logo-overlay {
		width: 675px;
		position: absolute;
  	  	top: 50%;
  		left: 50%;
  		transform: translate(-50%, -50%);
		text-align: center;
	}
	
	section.page-header-full #slider .logo-overlay .logo-overlay-inner {
		background: url('images/slider-logo-new.png') no-repeat;
		background-size: 675px auto;
		width: 675px;
		height: 370px;
		margin: 0 auto;
	}
	
	section.page-header-full #slider .logo-overlay ul {
		list-style: none;
		margin: 0;
		padding: 0;
	}
	
	section.page-header-full #slider .logo-overlay ul li {
		display: inline-block;
		margin: 0 30px;
		padding: 0;
		color: #FFFFFF;
		text-transform: uppercase;
		letter-spacing: 1px;
		font-size: 18px;
	}
	
	section.page-header .columns {
		padding: 0;
	}
	
	section #menu-holder {
		background-color: #FFFFFF;
	}
	
	section.page-header-no-image .header-text {
		padding: 130px 0 40px;
	}
	
	section.page-header-no-image .header-text.header-text-projects {
		padding: 0;
		height: 95px;
	}
	
	section.page-header-no-image h1 {
		position: static;
		color: #28354A;
		max-width: none;
		text-shadow: none;
		margin: 0;
		text-align: center;
	}
	
	section h2:first-child {
		margin-top: 0;
	}
	
	section.no-padding {
		padding: 0;
	}
	
	section .content-holder {
		padding: 80px 50px;
		position: relative;
		height: 100%;
	}
	
	section.grey-bg {
		background-color: #EEEEEE;
	}
	
	section.green-bg {
		background-color: #879688;
	}
	
	section.oat-light-bg {
		background-color: #EEECE4;
	}
	
	section.oat-bg {
		background-color: #E1E1D3;
	}
	
	section.half-oat-bg {
		background: linear-gradient(90deg, #FFFFFF 50%, #E1E1D3 50%);
	}
	
	section.half-oat-bg-rvs {
		background: linear-gradient(90deg, #E1E1D3 50%, #FFFFFF 50%);
	}
	
	section.blue-bg {
		background-color: #879688;
		color: #FFFFFF;
		border-top: 1px solid #FFFFFF;
	}
	
	section.blue-bg h1,
	section.blue-bg a {
		color: #FFFFFF;
	}

/* Home
------------------------------------------- */

	section.home-intro {
		padding-bottom: 40px;
	}

	section.home-intro h1 {
		font-size: 34px;
		line-height: 42px;
		color: #202E42;
		margin: 0 0 30px;
	}
	
	section.home-intro h1 span {
		color: #777777;
		font-size: 20px;
		line-height: 20px;
		display: block;
	}
	
	section.home-intro a {
		color: #666666;
		font-size: 16px;
		text-decoration: none;
		position: relative;
	}
	
	section.home-intro a::before {
		content: "";
		position: absolute;
		width: 100%;
		height: 1px;
		bottom: 0;
		left: 0;
		background-color: #CCCCCC;
		transition: all 0.3s ease-in-out 0s;
	}
	
	section.home-intro a:hover::before {
		background-color: #777777;
		transform: scaleX(1);
	}
	
	section .content-holder .content-holder-abs {
		position: absolute;
  	  	top: 50%;
  		left: 50%;
  		transform: translate(-50%, -50%);
		width: 75%;
	}

	section .content-holder h1.home-header {
		font-size: 38px;
		line-height: 48px;
		margin: 0 0 30px;
	}

/* Projects
------------------------------------------- */

	.projects {
		padding: 2rem 0;
	}

	.projects .project {
		background-color: #DDDDDD;
		width: 100%;
		position: relative;
		margin-bottom: 2rem;
		overflow: hidden;
	}
	
	.projects .project img {
		width: 100%;
		height: auto;
		max-width: none;
		transition: all 0.8s;
	}
	
	.projects .project .overlay {
		position: absolute;
		bottom: 0;
		left: 0;
		right: 0;
		transition: all 0.3s ease;
		width: 100%;
		height: 100%;
	}
	
	.projects .project .overlay:hover {
		background: rgba(40, 53, 74, 0.4);
		fill: #FFFFFF;
	}
	
	.projects .project:hover img {
		transform: scale(1.05);
	}
	
	.projects .project .overlay h2 {
		margin-bottom: 0;
		color: #FFFFFF;
		position: absolute;
		bottom: 2rem;
		left: 2rem;
		right: 2rem;
	}
	
	.projects .project .overlay:hover h2 {
		background: url('images/arrow.png') center right no-repeat;
		background-size: 35px auto;
	}
	
	.project-gallery {
		padding-bottom: 0;
	}
	
	.project-gallery img {
		margin-bottom: 2rem;
	}
	
	.project-gallery.project-gallery-archive img {
		width: 100%;
		max-width: auto;
	}
	
	a.project-controls {
		background: #28354A url('images/arrow-left.png') center no-repeat;
		background-size: 30px auto;
		display: inline-block;
		text-decoration: none;
		width: 50px;
		height: 50px;
		text-indent: -9999px;
	}
	
	a.project-controls.project-controls-next {
		background: #28354A url('images/arrow-right.png') center no-repeat;
		background-size: 30px auto;
		float: right;
	}
	
	section.video {
		padding-bottom: 3rem;
	}
	
	.video-container-holder {
		padding-bottom: 0;
	}
	
	.video-container {
		position: relative;
		padding-bottom: 56.25%;
		height: 0;
		overflow:hidden;
		max-width: 100%;
	}
	
	.video-container iframe, .video-container object, .video-container embed {
		position: absolute;
		top: 0;
		left: 0;
		width: 100%;
		height: 100%;
	}
	
	section.what-we-do-home {
		padding-top: 30px;
	}
	
	section.what-we-do-home h2 {
		font-size: 40px;
		line-height: 46px;
		margin-bottom: 60px;
	}
	
	section.what-we-do-home .row.expanded {
		max-width: 1600px;
	}
	
	section.what-we-do-home .what-we-do-image {
		position: relative;
		margin-bottom: 2rem;
	}
	
	section.what-we-do-home .what-we-do-image .what-we-do-overlay {
		background: rgba(170, 170, 170, 0.5);
		position: absolute;
		top: 0;
		left: 0;
		width: 100%;
		height: 100%;
		transition: all 0.3s ease-in-out 0s;
	}
	
	section.what-we-do-home .what-we-do-image:hover .what-we-do-overlay {
		background: rgba(170, 170, 170, 0.7);
	}
	
	section.what-we-do-home .logo {
		position: absolute;
  	  	top: 50%;
  		left: 50%;
  		transform: translate(-50%, -50%);
		z-index: 999;
		transition: all 0.3s ease-in-out 0s;
	}
	
	section.what-we-do-home .logo img {
		max-height: 150px;
	}
	
	/*section.what-we-do-home .what-we-do-image:hover .logo {
		display: none;
	}
	
	section.what-we-do-home .what-we-do-image .what-we-do-overlay .what-we-do-overlay-content {
		position: absolute;
  	  	top: 50%;
  		left: 50%;
  		transform: translate(-50%, -50%);
		width: 90%;
		text-align: center;
		display: none;
		transition: all 0.3s ease-in-out 0s;
	}
	
	section.what-we-do-home .what-we-do-image:hover .what-we-do-overlay-content {
		display: block;
	}
	
	section.what-we-do-home .what-we-do-image .what-we-do-overlay .what-we-do-overlay-content p {
		font-size: 22px;
		line-height: 28px;
		font-weight: 500;
		color: #28354A;
	}*/
	
	section.what-we-do-home p.more a,
	section.projects-home p.more a {
		color: #666666;
		font-size: 18px;
		text-decoration: none;
		position: relative;
	}
	
	section.what-we-do-home p.more a::before,
	section.projects-home p.more a::before {
		content: "";
		position: absolute;
		width: 100%;
		height: 1px;
		bottom: 0;
		left: 0;
		background-color: #CCCCCC;
		transition: all 0.3s ease-in-out 0s;
	}
	
	section.what-we-do-home p.more a:hover::before,
	section.projects-home p.more a:hover::before {
		background-color: #777777;
		transform: scaleX(1);
	}
	
	section.project-header-image img {
		width: 100%;
		height: auto;
	}

/* Services
------------------------------------------- */

	.service-gallery {
		padding-top: 0;
	}

/* About
------------------------------------------- */
	
	.accreditation-logos img {
		max-height: 70px;
		margin: 15px 10px;
	}
	
	section.principles h2 {
		margin: 30px 0 15px;
	}
	
	section.team .row.expanded {
		max-width: 1600px;
	}
	
	.team-member {
		position: relative;
		margin: 4rem 3rem 0;
		text-align: center;
	}
	
	.team-member h3 {
		margin: 25px 0 10px;
	}
	
	.what-we-do-about {
		padding-top: 0;
	}
	
	.what-we-do-about .columns {
		padding: 0;
	}
	
	.what-we-do-about .what-we-do-about-block {
		background-size: 100% auto !important;
		position: relative;
		height: 500px;
	}
	
	.what-we-do-about .what-we-do-about-block .what-we-do-about-block-overlay {
		background: rgba(170, 170, 170, 0.75);
		position: absolute;
		top: 0;
		left: 0;
		width: 100%;
		height: 100%;
	}
	
	.what-we-do-about .what-we-do-about-block .what-we-do-about-block-overlay .logo {
		position: absolute;
  	  	top: 50%;
  		left: 0;
		right: 0;
		margin-top: -75px;
		z-index: 999;
		transition: all .2s ease-in-out;
		max-width: 200px;
		margin: -75px auto 0;
	}
	
	.what-we-do-about .what-we-do-about-block:hover .logo {
		transform: scale(1.1);
	}
	
/* What we do
------------------------------------------- */
	
	.what-we-do h2 {
		margin: 30px 0 25px;
	}
	
	.what-we-do .row {
		max-width: 1600px;
	}
	
	.what-we-do .row .columns {
		padding: 0;
	}
	
	.what-we-do .image {
		background-size: cover !important;
		background-position: center !important;
		width: 100%;
		height: 100%;
		position: relative;
	}
	
	.what-we-do .what-we-do-image {
		position: relative;
	}
	
	.what-we-do .content {
		padding: 30px;
	}
	
	.what-we-do .logo,
	.what-we-do h2 {
		text-align: center;
	}
	
/* Media
------------------------------------------- */
	
	ul.social {
		list-style: none;
		padding: 0;
		margin: 40px 0 0;
	}

	ul.social li {
		display: inline-block;
		margin: 0 10px;
		padding: 0;
	}

	ul.social li svg {
		fill: #28354A;
		width: 50px;
		height: 50px;
	}
	
/* News
------------------------------------------- */
	
	article .article-image {
		background-color: #EEECE4;
		padding: 15px;
		height: 300px;
		margin-bottom: 15px;
	}
	
	article .article-image .article-image-inner {
		position: relative;
		height: 280px;
	}
	
	article .article-image .article-image-inner img {
		position: absolute;
		top: 50%;
		left: 50%;
		transform: translate(-50%, -50%);
		max-height: calc(100% - 30px);
		width: auto;
	}
	
	article h2 {
		text-transform: none;
		font-size: 22px;
		line-height: 28px;
		margin: 0;
	}
	
	article p {
		margin: 15px 0 5px;
	}
	
/* Contact
------------------------------------------- */

	#map {
		height: 600px;
		margin-bottom: 80px;
	}
	
	#newsletter {
		background-color: #EEEEEE;
		padding: 15px;
		margin-top: 60px;
	}
	
	#newsletter .mc-field-group {
		margin-bottom: 10px;
	}

	#newsletter .mc-field-group label {
		display: block;
		margin-bottom: 5px;
	}
	
	#newsletter .mc-field-group input {
		border: 1px solid #DDDDDD;
		padding: 10px;
		width: 100%;
		box-sizing: border-box;
	}
	
	#newsletter .mc-field-group input:focus {
		border-color: #28354A;
	}
	
	#newsletter input#mc-embedded-subscribe {
		background-color: #28354A;
		padding: 10px;
		width: 100%;
		color: #FFFFFF;
		border: 1px solid #28354A;
		text-align: center;
		cursor: pointer;
	}
	
	#newsletter input#mc-embedded-subscribe:hover {
		background-color: #FFFFFF;
		color: #28354A;
	}
	
/* Gallery
------------------------------------------- */

	ul.gallery-images {
		list-style: none;
		margin: 0;
		padding: 0;
	}

	ul.gallery-images li {
		width: 24%;
		float: left;
		margin: 0 1% 1% 0;
	}

/* Media Queries
------------------------------------------- */

/* Small only */
@media screen and (max-width: 39.9375em) {
	
	.page-loader {
		display: none !important;
	}
	
	section #menu-holder #logo {
		max-width: 50px;
	}
	
	section #menu-holder.fixed {
		background-color: #FFFFFF;
		position: fixed;
		top: 0;
		left: 0;
		width: 100%;
	}
	
	section #menu-holder.fixed #logo {
		max-width: 35px;
	}
	
	section #menu-holder.fixed #menu-control {
		top: 22px;
	}
	
	#menu-control {
		margin: 0;
		position: absolute;
		top: 30px;
		right: 1rem;
	}
	
	#fixed-nav {
		display: none;
	}
	
	nav ul li {
		padding: 10px 0;
	}
	
	nav ul li a {
		color: #FFFFFF;
	}
	
	nav ul li a::before {
		background-color: #FFFFFF;
	}
	
	section.page-header-full #slider .logo-overlay {
		background-size: 250px auto;
		width: 250px;
		height: 145px;
	}
	
	section.page-header-full #slider .logo-overlay .logo-overlay-inner {
		background-size: 275px auto;
		width: 275px;
		height: 155px;
	}
	
	section.page-header-full #slider .logo-overlay ul li {
		display: block;
		margin: 0 0 5px;
	}
	
	section.page-header-no-image .header-text {
		padding: 40px 0;
	}
	
	section.page-header .columns.small-12 {
		padding: 0;
	}
	
	section.page-header h1 {
		left: 1rem;
		font-size: 46px;
		line-height: 52px;
	}
	
	section #menu-holder {
		border-radius: 0;
		padding: 1rem;
	}
	
	nav ul li a,
	nav ul li a:hover {
		color: #28354A;
	}
	
	nav ul li.padlock-icon,
	section#fixed-nav ul li.padlock-icon {
		margin-left: 0;
	}
	
	.team-member {
		max-width: 300px;
		margin: 0 auto 2rem;
	}
	
	.team-member img {
		max-width: 200px;
	}
	
	.accreditation-logos img {
		margin: 15px;
		max-height: 60px;
	}
	
	#scroll-top {
		width: 75px;
	}
	
	.projects .project .overlay h2 {
		left: 1rem;
		bottom: 1rem;
	}
	
	.what-we-do .row {
		margin-bottom: 0;
	}
	
	.what-we-do .image {
		height: 300px;
	}
	
	.what-we-do .content {
		padding: 2rem 0;
	}
	
	.page-loader .inner {
		width: 150px;
	}
	
	.page-loader .inner .spinner {
		background-size: 150px auto;
		width: 150px;
		height: 150px;
	}
	
	.page-loader .inner .spinner .logo {
		background-size: 50px auto;
		width: 50px;
		height: 55px;
	}
	
	section.page-header .arrow-left,
	section.page-header .arrow-right {
		bottom: 30px;
	}
	
	.what-we-do .what-we-do-image .logo img {
		height: 150px;
	}
	
	section.page-header-full-not-home {
		height: auto;
		background: #FFFFFF !important;
	}
	
	section.page-header-full-not-home h1 {
		text-shadow: none;
		color: #28354A;
		position: static;
		padding: 40px 0 0;
	}
	
	section.page-header-full-not-home .arrow {
		display: none;
	}
	
	section.page-header-no-image .header-text.header-text-projects {
		height: 0;
	}
	
	section.what-we-do-home .what-we-do-image {
		max-width: 400px;
		margin: 0 auto 2rem;
		height: 250px;
		overflow: hidden;
	}
	
	section.what-we-do-home .what-we-do-image .what-we-do-overlay .what-we-do-overlay-content p {
		font-size: 16px;
		line-height: 24px;
	}
	
	section.what-we-do-home .what-we-do-image img.img-background {
		position: absolute;
		top: 50%;
		left: 0;
		transform: translate(0, -50%);
	}
	
	ul.gallery-images li {
		width: 49%;
	}
	
	#page-holder {
		padding-top: 0;
	}
	
	section {
		padding: 30px 0;
	}
	
	h1 {
		line-height: 36px;
		font-size: 30px;
	}
	
	footer {
		text-align: center;
	}
	
	footer .logo img,
	footer .logo p {
		float: none;
	}
	
	footer .logo p {
		margin: 20px 0 30px;
	}
	
	footer img {
		margin-bottom: 15px;
	}
	
	footer p.credit {
		line-height: 20px;
	}
	
	#map {
		height: 300px;
		margin-bottom: 40px;
	}
	
	section .content-holder {
		height: auto;
		padding: 30px 1rem;
	}
	
	section .content-holder .content-holder-abs {
		position: static;
		transform: none;
		width: 100%;
	}
	
	section.half-oat-bg-rvs {
		background: #E1E1D3;
	}
	
	section.project-details h1 {
		margin-bottom: 30px;
	}
	
	.what-we-do-about {
		padding-bottom: 0;
	}
	
	.what-we-do-about .what-we-do-about-block {
		height: 300px;
	}
	
	section .content-holder h1.home-header {
		font-size: 28px;
		line-height: 36px;
	}
	
}

/* Medium and up */
@media screen and (min-width: 40em) {}

/* Medium only */
@media screen and (min-width: 40em) and (max-width: 63.9375em) {
	
	.what-we-do .row {
		margin-bottom: 0;
	}
	
	.what-we-do .image {
		height: 400px;
	}
	
	.what-we-do .content {
		padding: 2rem 0;
	}
	
	section#fixed-nav ul li {
		font-size: 15px;
		padding: 4px 5px;
	}
	
	section#fixed-nav ul li.logo-icon {
		display: none;
	}
	
	.what-we-do .what-we-do-image .logo img {
		height: 125px;
	}
	
	#map {
		height: 400px;
		margin-bottom: 40px;
	}
	
	section {
		padding: 50px 0;
	}
	
	.team-member {
		margin: 2rem 0 0;
	}
	
	h1 {
		line-height: 42px;
		font-size: 36px;
	}
	
	section .content-holder h1.home-header {
		font-size: 30px;
		line-height: 36px;
	}
	
	.video-container-outer {
		max-width: 75%;
		margin: 0 auto 30px;
	}
	
	footer p.prime {
		margin-top: 0;
	}
	
	section.page-header-full #slider .logo-overlay .logo-overlay-inner {
		background-size: 400px auto;
		width: 400px;
		height: 220px;
	}
	
	section.what-we-do-page .content-holder {
		height: auto;
		padding: 30px;
	}
	
	section.what-we-do-page .content-holder .content-holder-abs {
		position: static;
		transform: none;
		width: 100%;
	}
	
	section.meet-team-intro .content-holder {
		padding: 20px 0;
	}
	
	section .content-holder .content-holder-abs {
		position: static;
		transform: none;
		width: 100%;
	}
	
	footer .logo img,
	footer .logo p {
		float: none;
	}
	
	footer .logo p {
		margin: 20px 0 0;
	}
	
}

/* Large and up */
@media screen and (min-width: 64em) {}

/* Large only */
@media screen and (min-width: 64em) and (max-width: 74.9375em) {}