/* Main CSS Document */

body,html,p,h1,h2,h3,h4,h5,h6,ul,li,ol,div,span,input,textarea {
	margin: 0;
	padding: 0;
}

body {
	color: #58595b;
	font-family: "Montserrat", sans-serif, Arial, Helvetica, sans-serif;
	font-size: 18px;
	font-weight: 100;
	background-color: #ffffff;
	overflow-y: visible;
}
.clear {
  	clear: both;
}
img { border: 0; }
a {
	text-decoration: none;
	color: #13357a;
	cursor: pointer;
}
a:hover { text-decoration: underline; }

p { margin-bottom: 18px; line-height: 1.4em; text-align: justify; }
li { margin: 10px 16px 0; }
.floatright { float: right; }

/* ====================== WRAPPERS ================== */

	.pagewrap {
		width: 100%;
		max-width: 1500px;
		margin: 0 auto 0;
		position: relative;
		box-sizing: border-box;
	}
	.pagewrap.wider {
		max-width: 2500px;
	}
	.narrowwrap {
		margin: 0 auto 0;
		max-width: 800px;
	}	
	.mediumwrap {
		margin: 0 auto 0;
		max-width: 1258px;
	}
	@media screen and (max-width: 1550px) {
		.pagewrap {
			padding: 0 40px 0;
		}
		.pagewrap.wider {
			padding: 0;
		}
		.pagewrap.lesspad {
			padding: 0 14px 0;
		}
		.header .pagewrap {
			padding: 0 0 0;
		}
	}
	@media screen and (max-width: 650px) {
		.pagewrap {
			padding: 0 20px 0;
		}
	}

/* ====================== /WRAPPERS ================== */

section {
  	min-height: 20px;
  	padding: 40px 0;
}
section.lesspad {
	padding: 20px 0;
}
section.nopad {
	padding: 0;
}
section.grey { background-color: #e6e7e8; }
section.blueimgbg {
	background-image: url('http://mccannp.itcscloud.co.uk/wp-content/uploads/2026/05/blue_bg.jpg');
	background-repeat: no-repeat;
	background-size: cover;
	background-position: center center;
}
section.blueimgbg .pagewrap {
	padding-top: 40px;
	padding-bottom: 40px;
}

.popup_container {
	position: fixed;
	top: 0px;
	left: 0px;
	height: 100%; width: 100%;
	background: rgba(255,255,255,0.8);
	z-index: 100;
	display: none;
}
.close_popup {
	position: absolute;
	top: 7px;
	right: 7px;
	display: block;
	width: 30px;
	height: 30px;
	font-size: 30px;
	cursor: pointer;
	transition: all 0.2s;
}
.close_popup:hover {
	opacity: 0.6;
}


/* ===================================================================================================== */
/* ============================================= TOP HEADER BAR ======================================== */
/* ===================================================================================================== */


	.header {

		width: 100%;
		height: 174px;
		background-color: transparent;
		z-index: 10;
		transition: all 0.3s;
		position: relative;
		/*opacity: 0;*/
		/*animation: fadein 0.3s;*/
		/*animation-delay: 1.2s;*/
		/*animation-fill-mode: forwards;*/
	}
@keyframes fadein {
    from { opacity: 0; }
    to   { opacity: 1; }
}	
	header a { color: #ffffff; }

	.logo {
		width: 150px;
		position: absolute;
		left: 5px;
		top: 20px;
		transition: all 0.3s;
	}
	.logo.small { display: none; }
	.smaller .logo {
		top: 8px;
		height: 40px;
		width: auto;
		display: none; /* Requested by McCann 23042018 */
	}
	.logo_small .logo { top: 14px; }
	.logo_small { display: none; }
	.smaller .logo_large { display: none; }
	.smaller .logo_small { display: block; }

	.header.fixed {
		position: fixed;
		top: 0px;
	}
	.header.smaller {
		height: 66px;
		background: #13357a;
	}
	.header.smaller .logo {  }
	/* .header.smaller .logo.small { display: block; }*/
	.gradient_bg {
		background: #13357a;
		background: -moz-linear-gradient(-60deg, #000000 40%, #13357a 60%);
		background: -webkit-linear-gradient(-60deg, #000000 40%,#13357a 60%);
		background: linear-gradient(120deg, #000000 40%,#13357a 60%);
		filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#000000', endColorstr='#13357a',GradientType=1 );
	}

	.header.white, .header.white.smaller {
		background-color: white;
		border-bottom: 1px solid #bcbec0;
		border-bottom: 1px solid #d8d8d8;
		box-sizing: border-box;
	}



	.toplinks {
		position: absolute;
		top: 20px;
		right: 364px;
		font-weight: 400;
	}
	.toplinks a {
		color: #ffffff;
		display: inline-block;
		margin: 0 5px 0;
		font-size: 16px;
	}
	a.social_link {
		
		display: inline-block;
		width:  30px;
		height: 30px;
		border-radius: 15px;
		font-size: 18px;
		color: #13357a;
		text-decoration: none;
		text-align: center;
		line-height: 30px;
		transition: all 0.3s;
	}
	a.social_link .ionicons {
		margin-left: 0px;
		font-size: 25px;
	}
	a.social_link:hover {
		background-color: white;
	}
	.header.smaller .toplinks {
		display: none;
	}


	@media screen and (max-width: 1500px) {

		.logo {
			left: 15px;
		}

	}

	.backbtn {
		/*margin-left: -190px; float: left; margin-bottom: -100px;*/
		position: absolute;
		top: 30px;
		left: 6px;
	}

	@media screen and (max-width: 1500px) {


		.backbtn {
			left: 17px;
		}

	}
	@media screen and (max-width: 1188px) {


		.backbtn {
			display: none !important;
		}

	}


/* ===================================================================================================== */
/* ============================================= /TOP HEADER BAR ======================================= */
/* ===================================================================================================== */



/* ===================================================================================================== */
/* ============================================= NAVIGATION ============================================ */
/* ===================================================================================================== */

	.nav_container {
		float: right;
	}
	.nav_container {
		margin-top: 12px;
		transition: all 0.3s;
	}
	.smaller .nav_container {
		margin-top: 16px;
	}
	.main_nav {
		transition: all 0.3s;
	}
	.main_nav li {
		margin: 0; padding: 0;
		list-style-type: none;
		float: left;
		font-family: "Montserrat";
		position: relative;
	}
	.main_nav span {
		display: inline-block;
		/*width: 100%;
		height: 100%;*/
		padding: 0 0 8px;
	}
	.main_nav li a {
		display: block;
		padding: 8px 16px 0;
		font-size: 16px;
		font-weight: 400;
		letter-spacing: 0.5px;
		color: #ffffff;
	}
	.main_nav .sub_nav li a {
		padding: 8px 24px 8px;
	}
	.header.white .main_nav li a {
		color: #242e77;
	}
	.main_nav li a:hover {
		text-decoration: none;
		background: rgba(255,255,255,0.5);
		color: #ffffff;
		transition: all 0.2s;
	}
	.main_nav li.on span {
		border-bottom: 2px solid white;
	}
	.header.white .main_nav li.on span {
		border-bottom: 2px solid #242e77;
	}

	.sub_nav {
		background-color: #13357a;
		padding: 20px;
		color: #ffffff;
		width: 240px;
  	visibility: hidden;
 		opacity: 0;
  	position: absolute;
  	top: 100%;
  	left: 0;
  	transform: translateY(-2em);
  	z-index: -1;
  	transition: all 0.3s ease-in-out 0s, visibility 0s linear 0.3s, z-index 0s linear 0.01s;
	}
	.main_nav li:hover .sub_nav {
		/* shows sub-menu */
		visibility: visible;
		opacity: 1;
		z-index: 0;
		transform: translateY(0%);
		transition-delay: 0s, 0s, 0s;
		/* this removes the transition delay so the menu will be visible while the other styles transition */
		overflow: visible;
	}
	.main_nav li:last-child .sub_nav,
	.main_nav li:nth-last-child(2) .sub_nav {
		left: auto;
		right: 0px;
	}
	.sub_nav li {
		float: none;
		width: 100%;
		box-sizing: border-box;
		color: #fff;
		position: relative;
	}
	.header.white .main_nav .sub_nav li a {
		color: #fff;
	}

	.sub_sub_nav {
		display: none;
		position: absolute;
		top: 0px;
		left: -260px;
		width: 240px;
		height: auto;
		padding-right: 20px;
		background: transparent;
/*border-right: 20px solid transparent;*/
/*		background-color: #13357a;*/
	}
	.sub_nav li:hover .sub_sub_nav {
		display: block;
	}
	.sub_sub_nav li {
		background-color: #344f87;
	}




	.hamburger_menu {
		position: absolute;
		top: 14px;
		right: -1530px;
		opacity: 0;
		transition: 0.3s all;
		font-size: 32px;
		cursor: pointer;
		color: #ffffff;
	}
	.header.white .hamburger_menu {
		color: #13357a;
	}
	.hamburger_menu.on, .header.white .hamburger_menu.on {
		color: #ffffff;
		top: 14px;
	}
	.smaller .hamburger_menu {
		top: 14px;
	}
	.nav_container li .fa {
		display: block; 
		font-size: 26px;
	}

	.hide_on_wide { display: none; }
	.hide_on_narrow {  }

	@media screen and (max-width: 1230px) {
		.main_nav li a {
			padding: 8px 16px 0;
		}
	}

	@media screen and (max-width: 1130px) {

		.hamburger_menu {
			display: block;
			opacity: 1;
			right: 20px;
			z-index: 15;
		}

		.nav_container {
			opacity: 1;
			z-index: 14;
			top: 0px;
			left: 0;
			position: absolute;
			float: none;
			padding-bottom: 0px;	
			overflow: hidden;
			height: 0;
			width: 100%;
		}
		.nav_container.on {
			height: auto;
			height: 100vh;
			overflow-y: auto;
			padding-bottom: 20px;
			::-webkit-scrollbar { display: none }
		}
		.main_nav, .nav_container {
			background-color: #13357a;
			margin-top: 0;
		}
		.main_nav {
			margin-left: 70px;
			margin-left: 10px;
			margin-top: 45px;
			width: 100%;
		}
		.header.smaller .nav_container {
			margin-top: 0px;
		}
		.header.smaller .main_nav {
			margin-top: 25px;
		}
		.main_nav li {
			width: 100%;
		}
		.main_nav li.has_child a.main_anchor {
			padding-bottom: 0px;
		}
		.main_nav li a {
			color: #ffffff !important;
			padding-top: 10px;
			padding-bottom: 10px;
		}
		.main_nav li a:hover {
			background: rgba(255,255,255,0.2);
		}
		.hide_on_wide { display: block; }
		.hide_on_narrow { display: none; }


		/* Cancels all sub-menu dropdown animations: */
		.sub_nav {
			padding: 0px 0 0 14px;
			width: 100%;
		  	visibility: visible;
		 	opacity: 1;
		  	position: relative;
		  	top: auto;
		  	left: auto;
		  	transform: translateY(0);
		  	z-index: inherit;
		  	transition: all 0.3s ease-in-out 0s, visibility 0s linear 0.3s, z-index 0s linear 0.01s;
		}
		.main_nav li:hover .sub_nav {
			visibility: visible;
			opacity: 1;
			z-index: inherit;
			transform: translateY(0%);
			transition-delay: 0s, 0s, 0s;
		}


	}

	@media screen and (max-width: 860px) {

		.header .label_tab { display: none; }
		.toplinks {
			right: 14px;
		}

	}
	@media screen and (max-width: 650px) {

		.logo {
			left: 10px;
			width: 147px;
		}
		footer .logo {
			left: auto;
			width: 100px;
			position: relative;
			margin-bottom: 20px;
		}
		.label_tab { display: none; }
		.label_tab.nobg { display: block; }

		.toplinks {
			right: 14px;
		}

		.header.smaller .logo {
			/*left: 2px;*/
			top: 14px;
			/*width: 140px;*/
		}

	}


/* ===================================================================================================== */
/* ============================================= /NAVIGATION =========================================== */
/* ===================================================================================================== */





/* ===================================================================================================== */
/* ============================================= SEARCHBAR ============================================= */
/* ===================================================================================================== */


	.searchbox {
		float: right;
		margin-top: 22px;
		margin-right: 25px;
		transition: all 0.2s;
	}
	.searchinput {
		border: 1px solid rgba(255,255,255,0);
		background: rgba(255,255,255,0.3);
		color: #ffffff;
		font-size: 14px;
		height: 28px;
		width: 200px;
		padding-top: 1px;
		display: inline-block;
		/*caret-color: white;*/
	}
	.searchinput:focus {
		border: 1px solid rgba(255,255,255,0);
		background: rgba(255,255,255,0.4);
	}
	.searchbox .ionicons {
		color: #ffffff;
		display: inline-block;
		margin: 0 8px 0 0;
		font-size: 30px;
		vertical-align: middle;
	}
	.header.white .searchbox .ionicons {
	    color: #13357a;
	}
	.header.white .searchinput {
		background: rgba(0,0,0,0.11);
		border: 1px solid rgba(0,0,0,0.0);
	}
	.smaller .searchbox {
		margin: 12px 0 0 12px;
		float: left;
	}

	.search_results {
		overflow-y: auto;
		margin: 20px 0 20px;
		padding: 0 0 0px;
		display: none;
	}
	.active_search {
		box-sizing: border-box;
		position: fixed;
		top: 0px;
		left: 0px;
		width: 100%;
		min-height: 100px;
		border-bottom: 1px solid #fafafa;
		background: rgba(255,255,255,0.95);
		display: none;
	}
	.active_search .pagewrap {
		padding: 20px 0px 0;
	}
	.active_search .ionicons {
		position: absolute;
		top: 33px;
		left: 20px;
		font-size: 30px;
	}
	.active_search .search_icon {
		
	}
	.active_search .close_icon {
		left: auto;
		right: 10px;
		cursor: pointer;
	}
	.real_search_input {
		width: 90%;
		font-size: 26px;
		background: transparent;
		border: 1px solid transparent;
		margin: 0 50px 0;
	}
	.real_search_input:focus {
		border: 1px solid transparent;
	}

	.search_results ul, .search_results li { padding: 0; margin: 0; }
	.search_results ul {
		padding: 0 20px 0;
		
	}
	.search_results ul:first-child {
		margin: 20px 0 0;
	}	
	.search_results li {
		list-style-type: none;
		transition: all 0.2s;
		border-bottom: 1px solid rgba(200,200,200,0.5);
	}
	.search_results ul:first-child li:first-child {
		border-top: 1px solid rgba(200,200,200,0.5);
	}

	.search_results li a {
		display: block;
		color: inherit;
		padding: 20px;
		transition: all 0.2s;
	}
	.search_results li a:hover {
		text-decoration: none;
	}
	.search_results li:hover {
		background: rgba(200,200,200,0.5);
	}
	.search_results li:hover a {
		padding: 20px 20px 20px 25px;
		color: #13357a;
	}

	.smaller .search_clear {
		display: none;
	}

	@media screen and (max-width: 1200px) {
		.smaller .searchbox  { 
		  margin-top: 20px;
		}
		.smaller .searchbox .searchinput { /* Fake input box */
		  display: none;
		}
	}
	@media screen and (max-width: 1130px) {
		.searchbox {
			margin-top: 74px;
			margin-right: 18px;
		}
/*		.smaller .searchbox {
		    margin-top: 11px;
		    margin-right: 61px;			
		}*/
	}
	@media screen and (max-width: 600px) {
		.real_search_input {
			font-size: 16px;
			width: 78%;
		}
	}
	@media screen and (max-width: 440px) {
		.searchinput { display: none; }
		.searchbox {
			margin-right: 12px;
		}
		.smaller .searchbox {
		    margin-top: 20px;
		    margin-right: 50px;			
		}		
	}
	@media screen and (max-width: 410px) {
		.real_search_input {
			font-size: 12px;
			width: 78%;
		}
	}



/* ===================================================================================================== */
/* ============================================= /SEARCHBAR ============================================ */
/* ===================================================================================================== */







/* ===================================================================================================== */
/* ============================================= BANNER ================================================ */
/* ===================================================================================================== */


	.banner_container {
		transition: opacity 1s;
		transition-delay: 0.5s;
		visibility: hidden;
		opacity: 0;
	}
	.banner_container.slick-initialized {
    	visibility: visible;
	    opacity: 1;
	}
	.banner {
		width: 100%;
		height: 758px;
		height: 880px;
		height: 100vh;

		background-color: #ccc;
		position: relative;

		background-position: top center;
		background-repeat: no-repeat;
		background-size: cover;
		box-sizing: border-box;

	}
	.banner .slide {
		width: 100%;
		height: 100%;
		background-position: center center;
		background-repeat: no-repeat;
		background-size: cover;
		position: relative;
		box-sizing: border-box;
/*		position: absolute;
		top: 0px;
		left: 0px;*/
		/*justify-content: center;*/
		/*align-items: center;*/
	}
	.banner .slide img {
		object-fit: cover;
		object-position: 50% 50%;
		width: 100%;
		height: 100%;
		z-index: -1;
		position: absolute;
	}
	.banner_darken_btm, .banner_darken_top {
		width: 100%;
		height: 100%;
		z-index: 0;
		position: absolute;
		bottom: 0px;
		left: 0px;
		background-position: bottom left;
		background-repeat: repeat-x;
		background-image: url('https://www.mccannp.com/assets/images/banner_darken_btm.png');
		opacity: 0.6;
	}
	.banner_darken_top {
		bottom: auto;
		top: 0px;
		background-position: top left;
		background-repeat: repeat-x;
		background-image: url('https://www.mccannp.com/assets/images/banner_darken_top.png');
		opacity: 0.6;
	}

	.slide .pagewrap { height: 100%; padding-top: 150px; box-sizing: border-box; }
	.first_section {
		
	}
	.content.first_section {
		padding-top: 174px;
		/*padding-top: 200px;*/
	}
	.first_section.smaller {
		/*border-top: 93px solid #000;*/
	}
	.first_section .pagewrap {
		padding-top: 30px;
	}
	.first_section.portfolios .pagewrap {
		padding-top: 0;
	}

	.banner h1 {
		margin-bottom: 0px;
	}

	.move_down {
		position: absolute;
		width: 54px;
		margin-left: -27px;
		left: 50%;
		bottom: 30px;
		color: #ffffff;
		cursor: pointer;
		transition: bottom 0.3s;
	}
	.move_down .fa {
		color: #ffffff;
		font-size: 50px;
		font-weight: lighter;
	}
	.move_down:hover {
		bottom: 20px;
	}	


	.linkhide {}
	.linkshow { display: none; }


	.copyright {
		position: absolute;
		/*transform: rotate(-90deg);*/
		/*transform-origin: 100% 0;  Ensures correct positioning */
		right: 25px;
		bottom: 20px;
		color: #ffffff;
		font-size: 10px;
		z-index: 10;
		text-shadow: 0px 1px 0px rgba(0, 0, 0, 1);
	}
	.copyright.cr_outer { 
		display: none; 
		bottom: auto;
		top: 20px;
/*		right: auto;
		position: relative;
		padding: 8px;
		color: #000000;
		text-shadow: none;
		text-align: right;*/
	}


	/* ================================== */

		.caption {
			width: auto;
			height: 238px;
			max-width: 550px;
			max-width: calc(100%-24px);

			box-sizing: border-box;
			padding: 28px 0 28px;
			position: absolute;
			bottom: 20px;
			left: 4px;
			color: #fff;
			z-index: 2;
		}
		.caption table { width: 100%; margin-top: 20px; }
		.caption table td { vertical-align: bottom; padding: 0; }
		.caption table td:first-child { padding-right: 10px; }
		.caption .btn {	
			margin: 0;

		}
		.btn.light {
			background: rgba(255,255,255,0.65);
			color: #414042;
			height: 29px;
			padding: 0px 14px 0px;
			line-height: 29px;
			font-size: 14px;
			font-weight: 400;
		}
		.btn.light:hover {
			color: #414042;
			background: #fff;
		}
		.caption p { font-size: 10px; margin: 0; line-height: 1.2em; padding-top: 10px; }
		.caption h1 {
			color: #ffffff;
			/*display: inline-block;*/
			padding-right: 10px;
			padding-bottom: 6px;
			/*text-transform: uppercase;*/
			border-bottom: 2px solid rgba(255,255,255,0.65);
		}
		.caption h1 .first_c {
			text-transform: lowercase;
		}
		.caption.portfolio {
			width: 600px;
		}
		.caption.portfolio h1 {
			/*width: 615px;*/
		}
		.portfolio_caption {
			width: 100%;
			box-sizing: border-box;
			padding: 15px;
			color: #414042;
			font-size: 10px;
			font-weight: 500;
			background: rgba(255,255,255,0.75);
			position: relative;
			display: none;
		}
		.portfolio_caption.on {
			display: block;
		}
		.smallicon {
			width: 30px; height: 30px;
			line-height: 30px;
			text-align: center;
			cursor: pointer;
			font-size: 24px;
			transition: all 0.2s;
		}
		.smallicon:hover {
			background: rgba(0,0,0,0.15);
		}
		.portfolio_caption .close_icon {
			position: absolute;
			top: 0px; right: 0px;
		}
		.caption .open_icon {
			display: inline-block;
			background: rgba(255,255,255,0.75);
			color: #58595b;
		}
		.caption .open_icon:hover {
			background: rgba(255,255,255,0.25);
			color: #fff;
		}
		.caption .open_icon.off {
			display: none;
		}


	/* ================================== */





	@media screen and (max-width: 1030px) {

		.banner {
			height: calc(100vh - 20px);
		}

	}

	@media screen and (max-width: 1670px) {

		.linkshow {
			display: block;
		}

	}

	@media screen and (max-width: 1500px) {

		.caption {
			left: 12px;
		}
		.slick-dots {
			/*margin-left: 10px !important;*/
		}
	}

	@media screen and (max-width: 1300px) {

		.linkhide {
			display: none;
		}
	}

	@media screen and (max-width: 760px) {
		.banner {
			height: 600px;
		}
		.caption h1 {
			font-size: 30px;
			padding-bottom: 4px;
			min-height: 0;
		}
		.caption.portfolio {
			width: 100%;
			left: 0;
			height: auto;
			bottom: 53px;
			padding-bottom: 0;
		}
		.caption.portfolio h1 { padding-left: 10px; }
		.portfolio_caption {
			width: 100%;
			box-sizing: border-box;
		}
	}
	@media screen and (max-width: 690px) {
		.banner .pagewrap {
			padding: 150px 0 0;
		}
		.caption {
			float: none;
			margin: 188px auto 0;
		}
	}
	@media screen and (max-width: 618px) {
		.caption {
			width: 90%;
			background-image: none;
		}
		.caption h1 {
			font-size: 30px;
			line-height: initial;
		}
		.caption p {
			font-size: 18px;
		}
		.copyright { 
			bottom: auto;
			top: 20px;
			display: none;
		}
	}
	@media screen and (max-width: 470px) {
		.banner {
			height: 450px;
		}
		.caption {
			bottom: 20px;
			position: absolute;
		}
		.caption table {
			margin-top: 0px;
		}
		.caption table td:first-child {
			display: none;
		}
		.caption {
			width: 92%;
			height: auto;
		}
		.caption h1 {
			min-height: 0;
		}
		.banner .slick-arrow {
			display: none !important;
		}
		.banner .slick-dots {
			bottom: 10px;
		}
		.caption .open_icon {
			transform: rotate(180deg);
		}
	}
	@media screen and (max-width: 380px) {
		.caption h1 {
			font-size: 24px;
		}
		.caption table td {
			display: block;
		}		
		.caption table .btn {
			float: left;
			margin-top: 8px;
		}
	}





/* ===================================================================================================== */
/* ============================================= /BANNER =============================================== */
/* ===================================================================================================== */




/* ================================================================================================= */
/* ============================================= HEADERS =========================================== */
/* ================================================================================================= */

	h1,	h2,	h3,	h4,	h5,	h6 {
	  	font-family: "Montserrat", Arial, Helvetica, sans-serif;
	  	color: #13357a;
	}
	h3,	h4,	h5,	h6 {
		font-family: "Montserrat", Arial, Helvetica, sans-serif;
	}
	h1 {
		color: #13357a;
		font-size: 44px;
		font-weight: 400;
		text-align: left;
		line-height: 44px;
		margin: 0 0 10px;
	}
	h2, h1.in_content {
		font-weight: 400;
		font-size: 35px;
		color: #13357a;
		margin: 0 0 30px;
		text-align: left;
		text-shadow: none;
		line-height: auto;
	}
	h1.in_content {  }
	h2 {
		font-weight: 400;
	}
	h3 {
		color: #13357a;
		font-size: 32px;
		margin: 0px 0 12px;
		font-weight: bold;
	}
	h4 {
		font-size: 22px;
		font-weight: bold;
		margin-bottom: 12px;
	}
	h5 {
		color: #13357a;
		font-size: 24px;
		font-weight: normal;
		margin: 20px 0 5px;
	}
	h6 {
		font-weight: 500;
		font-size: 14px;
		margin: 0 0 12px;
		color: #58595b;
	}
	.dayblock h6 {
		color: #fff;
		opacity: 0.8;
	}
	h6.news {

	}
	@media screen and (max-width: 700px) {
		h1, h1.in_content {
			font-size: 30px;
			line-height: 32px;
		}
	}

/* ================================================================================================= */
/* ============================================= /HEADERS ========================================== */
/* ================================================================================================= */






/* ===================================================================================================== */
/* ============================================= CONTENT =============================================== */
/* ===================================================================================================== */

	.pagewrap.padding {
		padding: 20px 40px 20px;
	}
	.full_width_text {
		padding: 0 60px 0;
		text-align: center;
	}
	.full_width_text.small {
		padding: 0 170px 0;
	}
	.full_width_text img {
		max-width: 100%;
	}
	p.intro {
		font-size: 24px;
		font-weight: 500;
		color: #13357a;
	}
	.col_container {

	}
	.col {
		display: inline-block;
		box-sizing: border-box;
		margin: 0 2% 0px 0;
		vertical-align: top;
		float: left;
	}
	.alignleft { text-align: left !important; }
	.alignright { text-align: right !important; }
	.aligncentre { text-align: center !important; }
	.col.withpadding { padding: 10px; }
	.col50 {
		width: 50%;
		margin: 0;
	}
	.col50:nth-child(1) {
		padding-right: 40px;
	}
	.col50:nth-child(2n), .col.col33:nth-child(3n), .col:last-child {
		margin-right: 0;
	}
	.col33 {
		width: 33%;
		margin: 0;
	}
	.leftcol {
		float: left;
		width: 66%;
		box-sizing: border-box;
		padding: 0 25px 100px 0px;
	}
	.rightcol {
		float: left;
		width: 34%;
		box-sizing: border-box;
		padding: 0 0px 80px 25px;		
	}

	.service_icon {

	}
	.service_icon2 {
		display: none;
	}




	.nicerow {
		width: 100%;
	}
	.nicerow td {
		height: 40px;
		width: 50%;
		box-sizing: border-box;
		padding: 8px;
		background-color: #b5b9d0;
		border: 2px solid white;
	}
	.nicerow td:last-child {
		background-color: #cdcfe0;
	}
	.nicerow tr:nth-child(even) td {
		background-color: #cdcfe0;
	}	
	.nicerow tr:nth-child(even) td:last-child {
		background-color: #b5b9d0;
	}





	/* ============== CONTACT BOX ================ */
	.contact_box {
		width: 100%;
		height: auto;
		position: relative;
		box-sizing: border-box;
		padding: 32px 0 0 20px;
		margin-bottom: 68px;
	}
	.contact_box img {
		position: absolute;
		top: 0px; left: 0px;
		width: 100%;
		z-index: -1;
		
	}
	.contact_box p {
		margin: 0; padding: 0; line-height: auto;
		color: #ffffff;
		font-family: "Montserrat", serif;
		font-weight: bold;
	}
	.contact_box a {
		color: #ffffff;
	}
	.contact_box p.c1 {
		font-size: 30px;
	}
	.contact_box p.c2 {
		font-size: 44px;
		margin-bottom: 16px;
	}
	.contact_box p.c3 {
		font-size: 16px;
		font-weight: normal;
	}
	@media screen and (max-width: 1516px) {
		.service_icon {
			display: none;
		}
		.service_icon2 {
			display: inline-block;
		}
	}
	@media screen and (max-width: 1360px) {
		.contact_box p.c2 {
			font-size: 34px;
			margin-bottom: 10px;
		}
	}
	@media screen and (max-width: 1190px) {
		.contact_box p.c2 {
			font-size: 28px;
			margin-bottom: 0px;
		}
	}
	@media screen and (max-width: 1080px) {
		.contact_box {
			padding-top: 20px;
		}
		.contact_box p.c2 {
			font-size: 22px;
			margin-bottom: 0px;
		}
		.contact_box p.c3 {
			font-size: 12px;
		}		

	}	
	@media screen and (max-width: 920px) {
		.contact_box {
			display: none;
		}		
	}




	@media screen and (max-width: 890px) {
		.col33 {
			width: 100%;
		}
		.leftcol, .rightcol {
			width: 100%;
			padding-bottom: 40px;
			padding-right: 0;
		}
		.rightcol {
			padding-left: 0;
			padding-bottom: 70px;
		}
	}
	@media screen and (max-width: 750px) {
		.col50 {
			width: 100%;
		}
		.col50:nth-child(1) {
			padding-right: 0px;
		}
		.nicerow td {
			width: 100%;
			display: block;
		}

		.nicerow td {
			background-color: #b5b9d0;
			height: auto;
		}
		.nicerow td:last-child {
			background-color: #cdcfe0;
		}
		.nicerow tr:nth-child(even) td {
			background-color: #b5b9d0;
		}	
		.nicerow tr:nth-child(even) td:last-child {
			background-color: #cdcfe0;
		}

	}


	@media screen and (max-width: 450px) {
		.location_link .img {
			margin-right: 0;
		}


	}


/* ===================================================================================================== */
/* ============================================= /CONTENT ============================================== */
/* ===================================================================================================== */




/* ===================================================================================================== */
/* ============================================= PORTFOLIO GRID ======================================== */
/* ===================================================================================================== */


	.port_grid {
		width: 100%;
	}
	.gridbox {
		float: left;
		width: 25%;
		height: 390px;
		position: relative;
		background-position: center center;
		background-size: cover;
		background-repeat: no-repeat;
		/*transition: all 0.2s;  -- using 'all' makes isotope wobble when animating */
		transition: background 0.4s, box-shadow 0.4s;
	}
	.gridbox .darken {
		opacity: 0;
		position: absolute;
		z-index: 0;
		background: rgba(0,0,0,0.5);
		width: 100%;
		height: 100%;
		transition: 0.3s all;
		text-align: center;
		/*padding: 0 10px 0;*/
		box-sizing: border-box;
	}
	.gridbox:hover {
		cursor: pointer;
	}
	.gridbox:hover .darken, .gridbox.on .darken {
		opacity: 1;
	}
	.gridbox.small {
		height: 128px;
	}
	.label {
		display: inline-block;
		height: 45%;
		height: auto;
		/*padding-top: 10px;*/
		min-height: 94px;
		width: 91%;
		left: 5%;
		bottom: 14px;
		position: absolute;
		background: rgba(255,255,255,0.8);
		border-top-right-radius: 20px;
	}
	.gridbox.small .label {
		min-height: 0;
	}
	.label table {
		width: 100%;
		height: 100%;
		height: 84px;
		
	}
	.label td {
		vertical-align: bottom;
		text-align: left;
		padding: 0 0 0px 10px;
		font-size: 20px;
		
	}
	.label td span {
		font-weight: 400;
		font-size: 28px;
		display: block;
		text-transform: uppercase;
		color: #13357a;
	}	
	.label td p {
		margin-bottom: 0;
		padding-bottom: 0;
		color: #58595b;
	}		

	/* MEET THE TEAM */
			.label.full table {
				text-transform: none;
			}
			.label_container {
				padding: 14px;
				box-sizing: border-box;
			}
			.label.full {
				width: 100%;
				height: 100%;
				top: 0px; left: 0; bottom: auto;
				position: relative;
				cursor: default;
			}
			.label.full td {
				font-size: 14px;
				text-transform: inherit;
				padding: 0px 14px;
			}
			.label.full tr:first-child td {
				padding-top: 14px;
				vertical-align: top;
			}
			.label.full tr:nth-child(2) td {
				vertical-align: middle;
				padding: 0 14px 0;
				padding-top: 0;
			}
			.label.full tr:last-child td {
				padding-bottom: 14px;
				vertical-align: bottom;
			}

			.label.full h4 {
				margin-bottom: 0px;
				font-size: 25px;
				font-weight: 400;
				color: #13357a;
			}
			.label.full h5 {
				margin-top: 5px;
				margin-bottom: 5px;
				font-size: 20px;
				font-weight: 600;
				color: #13357a;
			}
			.label.full p {
				font-size: 14px;
				margin-bottom: 14px;
			}

			.gridbox.team {
				width: 32.66%;
				margin: 0 1% 1% 0;
			}
			.gridbox.team:nth-child(3n) {
				margin-right: 0;
			}
			.gridbox.team .ionicons {
				font-size: 24px;
				vertical-align: middle;
			}
			.team_bg {
				position: absolute;
				top: 0px; left: 0px;
				width: 100%;
				height: 100%;
				background-size: cover;
				-webkit-filter: grayscale(100%); 
    			filter: grayscale(100%);
    			background-repeat: no-repeat;
    			background-position: top center;
			}
	/* /MEET THE TEAM */


	.port_cats_wrapper {
		display: table;
		width: 100%;
		height: 50px;
		overflow: hidden;
	}
	.port_cats {
		/*float: right;*/
		/*height: 25px;*/
		margin: 0px;
		padding: 6px 6px 6px;
		border-radius: 0 0 0px 3px;
		position: relative;
		width: 100%;
		height: 50px;
		background-color: rgba(255,255,255,0.9);
		transition: all 0.2s;
		display: table-row;
		overflow: hidden;
	}
	.smaller .port_cats {
		top: 66px;
	}
	.port_cats li {
		cursor: pointer;
		list-style-type: none;
		display: table-cell;
		padding: 20px 8px;
		font-size: 14px;
		transition: all 0.2s;
		margin: 0;
		text-align: center;
		border-right: 1px solid #ececec;
		height: 100%;
		overflow: hidden;
		white-space: nowrap;
	}
	.port_cats li.port_subcat {
		width: 150px;
	}	
	.port_cats li.back_cat_link {
		width: 50px;
	}
	.port_cats li.is-checked {
		background: rgba(150,150,150,0.6);
		color: white;
	}
	.port_cats li:hover {
		background: rgba(150,150,150,0.2);
	}	
	.port_cats li.is-checked:hover {
		background: rgba(150,150,150,0.6);
	}
	.port_cats_selected { /* Used for dropdown on smaller screens */
		display: none;
		width: 100%;
		height: 36px;
		box-sizing: border-box;
		padding: 8px 10px;
		background: #f1f1f1;
	}
	.port_cats_selected {
		width: 100%;
		height: 40px;
		float: none;
		position: relative;
	}
	.port_cats_selected .ionicons {
		float: right;
		font-size: 31px;
		margin-top: -3px;
	}

	.portgal_wrap {
		width: 100%;
		box-sizing: border-box;
	}
	.portgal_col {
		width: 33.3%;
		float: left;
		box-sizing: border-box;
		padding: 0 10px 0px;
	}
	.portgal_col .img {
		height: 330px;
		width: 100%;
		position: relative;
		background-position: center center;
		background-size: cover;
		background-repeat: no-repeat;
		margin-bottom: 20px;
	}
	.grid-sizer {
		width: 33.333%;
		padding-right: 20px;
		box-sizing: border-box;
	}
	.galimg {
		float: left;
		width: 33.333%;
		padding-right: 10px;
		padding-left: 10px;
		padding-bottom: 20px;
		box-sizing: border-box;
		transition: all 0.3s;
		cursor: pointer;
	}
	.galimg img {
		display: block;
		width: 100%;
		box-sizing: border-box;
		opacity: 0;
		transition: all 0.3s;
	}
	.portgal_wrap:after {
	  	content: '';
	  	display: block;
	  	clear: both;
	}


	.portgal_col .img.portrait, .galimg.Xportrait {
		height: 720px;
	}
	/*	.portgal_col:first-child .img:nth-child(2) {
		height: 720px;
	}
	.portgal_col:nth-child(3) .img:nth-child(1) {
		height: 720px;
	}*/


	@media screen and (max-width: 1600px) {
		.gridbox {
			height: 300px;
		}
		.gridbox.team {
			height: 390px;
		}
		.gridbox.small {
			height: 128px;
		}		
	}
	@media screen and (max-width: 1400px) {
		.gridbox {
			height: 250px;
		}
	}
	@media screen and (max-width: 1290px) {
		.gridbox.team {
			width: 49.5%;
			margin: 0 1% 1% 0;
		}
		.gridbox.team:nth-child(3n) {
			margin-right: 1%;
		}		
		.gridbox.team:nth-child(2n) {
			margin-right: 0%;
		}
	}	@media screen and (max-width: 1200px) {
		.gridbox {
			width: 33.3%;
		}
	}
	@media screen and (max-width: 950px) {
		.gridbox {
			width: 50%;
		}
		.portgal_col {
			width: 100%;
		}
		.grid-sizer, /* Used for isotope filtering system */
		.galimg {
			width: 50%;
		}
	}

	@media screen and (max-width: 930px) {
		.port_cats_wrapper {
			display: block;
			height: auto;
			overflow: auto;
		}
		.port_cats_selected { /* Used for dropdown on smaller screens */
			display: block;
		}
		.port_cats_selected .ionicons {
			transition: all 0.3s;
		}
		.port_cats {
			position: relative;
			padding: 0;
			background: none;
			z-index: 2;
			display: none;
			height: auto;
		}
		.port_cats.open {
			display: block;
		}
		.port_cats_selected.open .ionicons {
			transform: rotate(180deg);
			-webkit-transform: rotate(180deg);
		}
		.port_cats li {
			display: block;
			padding: 8px 10px;
			border-radius: 0;
			font-size: 18px;
			background-color: rgba(255,255,255,0.9);
		}
		.port_cats li.is-checked {
		    background: rgba(190,190,190,1);
		    color: white;
		}
		.port_cats li:hover {
			background: rgba(228,228,228,1);
		}		
	}

	@media screen and (max-width: 800px) {
		.gridbox.team {
			width: 100%;
			margin-right: 0 !important;
		}
	}
	@media screen and (max-width: 740px) {
		.port_cats li {
			/*margin: 0;
			font-size: 12px;
			padding: 3px 4px;*/
		}
		.port_cats {
			width: 100%;
			box-sizing: border-box;
		}
	}
	@media screen and (max-width: 550px) {
		.gridbox {
			width: 100%;
		}
		.grid-sizer,
		.galimg {
			width: 100%;
		}		
	}


/* ===================================================================================================== */
/* ============================================= /PORTFOLIO GRID ======================================= */
/* ===================================================================================================== */





/* ===================================================================================================== */
/* ============================================= FEATUREBOX ============================================ */
/* ===================================================================================================== */

	.icon_wrapper {
		text-align: center;
	}
	.icon_wrapper .featurebox {
		float: none;
		display: inline-block;
		width: 24%;
		vertical-align: top;
	}

	.featurebox {
		width: 25%;
		height: 260px;
		padding-top: 20px;
		margin-bottom: 20px;
		text-align: center;
		float: left;
		cursor: pointer;
		transition: all 0.3s;
	}
	.featurebox.logo {
		height: 80px;
	}
	.featurebox.logo img {
		height: 80px;
	}
	.featurebox .icon {
		width: 100%;
		height: 132px;
		text-align: center;
		display: block;
	}
	.featurebox .icon img, .featurebox .icon svg {
		height: 100%;
	}
	.svg-icon { fill: white; transition: all 0.3s; }

	.featurebox .text {
		padding: 10px 46px 0;
		font-size: 24px;
		font-weight: 500;
		color: #fff;
		transition: all 0.3s;
	}
	.featurebox:hover {
		text-decoration: none;
		transform: translate(0px, -5px);
	}
	.featurebox:hover .text {
		color: rgba(255,255,255,0.5);
		text-decoration: none;
	}
	.featurebox:hover .svg-icon { fill: rgba(255,255,255,0.5); }

	
	@media screen and (max-width: 1200px) {
		.featurebox {
			width: 33.3%;
		}
		.icon_wrapper .featurebox {
			width: 32.3%;
		}
	}	
	@media screen and (max-width: 970px) {
		.featurebox {
			width: 50%;
		}
		.icon_wrapper .featurebox {
			width: 49.5%;
		}
		.icon_wrapper br {
			display: none;
		}

	}	
	@media screen and (max-width: 570px) {
		.featurebox {
			width: 100%;
		}
		.icon_wrapper .featurebox {
			width: 48%;
			height: 174px;
		}
		.icon_wrapper .featurebox .text {
			padding: 10px 10px 0;
			font-size: 18px;
		}
		.icon_wrapper .featurebox .icon {
			height: 100px;
		}

	}

/* ===================================================================================================== */
/* ============================================= /FEATUREBOX =========================================== */
/* ===================================================================================================== */









/* ===================================================================================================== */
/* ============================================= GALLERY SLIDER ======================================== */
/* ===================================================================================================== */


	.slick_container {
		height: 180px;
	}
	.slick-slider .slick-track, .slick-slider .slick-list {
	    height: 100%;
	}	
	.gal_img_outer {
		background: white;
		cursor: pointer;
		overflow: visible;
		outline: none;
		position: relative;
		xpadding: 10px;
		margin: 0 20px 0;
	}
	.gal_img {
		box-sizing: border-box;
		height: 152px;
		border: 14px solid white;
		margin: 5px 0 0;
		
		
		background-size: cover;
		background-position: center center;
		background-repeat: no-repeat;
	}
	.gal_img:hover {
		cursor: pointer;
		box-shadow: 1px 1px 8px 0px rgba(0,0,0,0.75);
	}		
	.gal_img.whitebox {
		padding: 0;
	}
	@media screen and (max-width: 1300px) {
		.gal_img_outer {
			margin: 0 10px 0;
		}
	}
	@media screen and (max-width: 650px) {
		.slick_container {
			margin: 0 20px 0;
		}
	}


/* ===================================================================================================== */
/* ============================================= /GALLERY SLIDER ======================================= */
/* ===================================================================================================== */








/* ===================================================================================================== */
/* ============================================= FORMS ================================================== */
/* ===================================================================================================== */

	input,textarea,select {
		display: block;
		background: none; border: none;
		background-color: #ffffff;
		box-sizing: border-box;
		border: 1px solid #ccc;
		width: 350px;
		height: 50px;
		outline: none;
		font-size: 20px;
		font-family: "Montserrat";
		margin: 8px 0 15px;
		padding: 3px 10px 0;
		transition: 0.2s all;
	}
	.standard_form input, .standard_form textarea, .standard_form select {
		border: 1px solid #ccc;
	} 
	.standard_form textarea { font-size: 13px; font-family: "Montserrat", sans-serif; }
	input:focus, textarea:focus, select:focus {
		border: 1px solid #13357a;
	} 
	textarea {
		height: 80px;
		padding-top: 10px;
		padding-bottom: 10px;
	}
	input[type="checkbox"] { height: auto; }
	input.mini {
		width: 30%; 
		margin-right: 5%;
		float: left;
	}
	input.mini:last-child { margin-right: 0; }

	input.invalid, textarea.invalid, select.invalid {
		border: 1px solid #13357a;
		animation: invalidcolour 2.5s 1;
	}

	select.delivery, input.delivery	 {
		/*background-color: #fff;*/
		background: rgba(255,255,255,0.5);
		border-radius: 0px;
		padding: 2px;
		margin: 0px 0 2px 0px;
		height: auto;
		font-size: 15px;
		
		box-sizing: border-box;

	}

	@keyframes invalidcolour {
	    0%      { background: #13357a; }
        100%    { background: #fff; }
	}	
	.dual_leg {
		display: none;
	}

	.adv_btn {
		text-align: center;
	}
	.adv_btn span {
		background: none; border: none;
		text-align: center;
		padding: 0 30px 0;
		font-size: 24px;
		color: #ffffff;
		transition: all 0.3s;
		transition: all 0.25s ease;
		cursor: pointer;
		font-weight: 500;
		display: inline-block;
		height: 50px;
		margin: 0 auto 10px;
		outline: none;
		line-height: 50px;
		white-space: nowrap;

		background: transparent;
		border: 2px solid white;
		overflow: hidden;
	}
	.adv_btn:hover span {
		background: white;
		color: #13357a;
	}	
	.adv_btn.active span {
		color: transparent;
		border-radius: 50%;
		width: 50px;
		padding: 0;
		box-sizing: border-box;
		border-left-color: #5bc2bc;
		animation: rotating 1.5s 0.05s linear infinite;
		
	}
	.adv_btn.active:hover span {
		background: none;
	}
	@keyframes rotating {
	  from {
	    -webkit-transform: rotate(0deg);
	            transform: rotate(0deg);
	  }
	  to {
	    -webkit-transform: rotate(360deg);
	            transform: rotate(360deg);
	  }
	}	

	button, .btn {
		background: none; border: none;
		background-color: #13357a;
		text-align: center;
		padding: 0 30px 0;
		font-size: 24px;
		color: #ffffff;
		transition: all 0.3s;
		cursor: pointer;
		font-weight: 500;
		display: inline-block;
		height: 50px;
		margin: 0 auto 10px;
		outline: none;
		line-height: 50px;
		white-space: nowrap;
	}
	button:hover, .btn:hover {
		background-color: #3c539d;
		text-decoration: none;
	}
	button.small, .btn.small {
		height: 34px;
		font-size: 16px;
		line-height: 34px;
	}
	button.tiny, .btn.tiny, .checkout_table button.tiny, .checkout_table .btn.tiny {
		width: 140px;
		height: 24px;
		font-size: 10px;
		padding-top: 2px;
	}
	.btn.selector {
		float: left;
		width: 30%;
		margin: 0 5% 1% 0;
		height: 30px;
		font-size: 14px;
		box-sizing: border-box;
		padding-top: 7px;
		background-color: #ccc;
	}
	.btn.selector.on {
		background-color: #3c539d;
		color: #58595b;
	}
	button.inverse, .btn.inverse {
		background: transparent;
		border: 2px solid white;
		color: white;
	}
	button.inverse:hover, .btn.inverse:hover {
		background: white;
		border: 2px solid white;
		color: #13357a;
	}

	fieldset {
		border: none;
	}
	label, legend {
		display: block;
		font-weight: normal;
		width: 100%;
		font-size: 20px;
		margin: 0 0 8px;
		-webkit-padding-start: 0px;
		-webkit-padding-end: 0px;
	}
	legend {
		margin: 0 0 6px;
	}
	.infolink {
		opacity: 0.8;
		cursor: pointer;
		font-size: 17px;
	}
	.infolink:hover {
		opacity: 1;
	}
	label input[type="checkbox"] {
		width: auto;
		display: inline-block;
		vertical-align: top;
		cursor: pointer;
	}
	.accessories label {
		float: left;
		width: 50%;
		overflow: hidden;
		cursor: pointer;
		transition: opacity 0.2s;
	}
	.accessories label:hover, fieldset label:hover, .tabs_right label:hover {
		opacity: 0.6;
	}	
	fieldset label { cursor: pointer; }




/* ===================================================================================================== */
/* ============================================= /FORMS ================================================ */
/* ===================================================================================================== */





/* ===================================================================================================== */
/* ============================================= ENQUIRE FORM ========================================== */
/* ===================================================================================================== */


	.enquire_box {
		background-color: #e8e8e8;
		width: 100%;
		height: 432px;
		box-sizing: border-box;
		position: relative;
		margin: 20px 0 60px;
		padding: 30px;
	}

	.enquire_box .leftside {
		/*background-image: url('https://www.mccannp.com/assets/images/contact_bg.jpg');*/
		background-repeat: no-repeat;
		background-size: cover;
		height: 100%;
		box-sizing: border-box;
		padding: 0 30px 0 0;
	}
	.enquire_box .rightside {
		box-sizing: border-box;
		padding: 0px 0px 0px 30px;
	}
	/*.enquire_box h2 { color: #ffffff; }*/

	.enquire_box table { width: 100%; }
	.enquire_box table td { vertical-align: top; width: 100%; }



	.enquire_box input, .enquire_box textarea, .enquire_box select {
		border: none;
		width: 100%;
		background-color: transparent;
		padding-left: 0;
		padding-right: 0;
		margin-top: 0;
	}
	.enquire_box input[type="text"], .enquire_box textarea {
		border-bottom: 1px solid #ababab;
	}	
	.enquire_box input[type="text"]:focus, .enquire_box textarea:focus {
		border-bottom: 1px solid #272727;
	}	
	.enquire_box label {
		
	}
	.enquire_box textarea {
		height: 180px;
		margin-bottom: 0;
		padding-bottom: 0;
	}


	table.contact_content {
		width: 100%;
		margin-top: 15px;
	}
	.contact_content td {
		vertical-align: top;
		font-size: 16px;
	}
	.contact_content td:nth-child(2) {
		text-align: right;
	}
	.contact_content h5 {
		margin-top: 0;
		font-size: 16px;
	}
	.contact_content img {
		height: 110px;
	}

	@media screen and (max-width: 1306px) {
		.enquire_box {
			margin-bottom: 20px;
			height: auto;
		}
		.enquire_box td.lasttd { 
			display: none;
		}
		.contact_content td {
			text-align: left;
			display: block;
			width: 100%;
		}		
		.contact_content td:nth-child(2) {
			text-align: left;
			padding-top: 10px;
		}

	}
	@media screen and (max-width: 900px) {
		.enquire_box td { 
			display: block;
			width: 100%;
		}
		.enquire_box input, .enquire_box textarea {
			width: 100%;
		}		
	}
	@media screen and (max-width: 750px) {
		.enquire_box .leftside, .enquire_box .rightside { 
			display: block;
			width: 100%;
			padding-left: 0;
			padding-right: 0;
		}
		.enquire_box .leftside {
			margin-bottom: 10px;
		}
	}	
	@media screen and (max-width: 500px) {
		.enquire_box {
			padding: 30px 20px;
		}

	}


/* ===================================================================================================== */
/* ============================================= /ENQUIRE FORM ========================================= */
/* ===================================================================================================== */
















/* ===================================================================================================== */
/* ============================================= NEWS ================================================== */
/* ===================================================================================================== */



	.newsblock {
		width: 100%;
		margin-bottom: 20px;
		display: block;
		transition: 0.3s all;
	}
	.newsblock .img {
		float: left;
		width: 30%;
		height: 250px;
		background-size: cover;
		background-repeat: no-repeat;
		background-position: center center
	}
	.newsblock .txt {
		box-sizing: border-box;
		float: left;
		width: 70%;
		padding: 10px 20px 10px 20px;
		color: #58595b;
		
	}
	.newsblock .txt p {
		line-height: 1.8em;
		padding-right: 140px;
	}
	.newsblock h5, h1.news_header { 
		padding: 0 0 20px;
		margin: 0;
	}
	.newsblock:hover {
		text-decoration: none;
		background-color: #f5f5f5;
	}
	.newsblock:hover h5 {
		
	}
	.newsblock h5 span,
	h1.news_header span {
		float: right;
		opacity: 0.7;
		font-size: 16px;
		padding-top: 5px;
	}
	h1.news_header span {
		padding-top: 0px;
	}
	.news_back_repeater {
		display: none;
		margin-bottom: 10px; 
	}


	@media screen and (max-width: 1190px) {
		.news_back_repeater {
			display: inline-block;
		}
	}

	@media screen and (max-width: 1000px) {
		.newsblock .txt p {
			padding-right: 0px;
		}
		.newsblock .img {
			height: 200px;
		}
	}

	@media screen and (max-width: 850px) {

		.newsblock .img {
			float: none;
			width: 100%;
			display: block;
		}
		.newsblock .txt {
			width: 100%;
			padding: 20px 10px 20px;
		}

	}
	@media screen and (max-width: 550px) {

		.newsblock h5 span,
		h1.news_header span {
			float: none;
			display: block;
		}
		.newsblock .txt p {
			line-height: 1.4em
		}
		


	}


/* ===================================================================================================== */
/* ============================================= /NEWS ================================================= */
/* ===================================================================================================== */







/* ===================================================================================================== */
/* ============================================= FOOTER ================================================ */
/* ===================================================================================================== */


	footer {
		/*font-size: 14px;*/
		font-weight: 400;
		background-color: #bcbec0;
		height: 258px;	
		/*line-height: 19px;*/
	}
	footer, footer a {
		color: #58595b;
	}

	.footer_body {
		padding-top: 20px;
	}


	.footcol {
		float: left;
		height: 180px;
	}
	.footcol.col1 {
		width: 16.6%;
	}
	.footcol.col2 {
		width: 33%;
		text-align: right;
	}
	footer a.social_link {
		color: #58595b;
		width: 40px;
		height: 40px;
		line-height: 49px;
		border-radius: 20px;
	}
	footer a.social_link .fa {
		font-size: 30px;
	}	
	.footsmall {
		font-size: 12px;
	}

	.footnav {

	}
	.footnav li {
		list-style-type: none;
		margin-top: 1px;
	}

	@media screen and (max-width: 940px) {

		footer {
			min-height: 240px;
			height: auto;
		}
		.footcol {
			min-height: 150px;
			height: auto;
		}
		.footcol.col1 {
			width: 25%;
		}
		.footcol.col2 {
			width: 25%;
			text-align: right;
		}

	}
	@media screen and (max-width: 784px) {

		footer {
			min-height: 240px;
			height: auto;
		}
		footer .col.col50 {
			width: 100%;
			text-align: center !important;
		}
		footer .col.col50.alignright {
			padding-bottom: 10px;
		}

	}
	@media screen and (max-width: 712px) {

		.footcol.col1 {
			width: 30%;
		}
		.footcol.col2 {
			width: 10%;
			text-align: right;
		}

	}
	@media screen and (max-width: 550px) {

		.footcol.col1 {
			width: 100%;
			text-align: center;
			min-height: 0;
			padding-bottom: 20px;
		}
		.footcol.col2 {
			width: 100%;
			text-align: center;
			min-height: 0;
			padding-bottom: 20px;
		}

	}


/* ===================================================================================================== */
/* ============================================= /FOOTER =============================================== */
/* ===================================================================================================== */


/* McCann WordPress repair: no redesign, only make original recovered layout work in WP. */
.banner_container:not(.slick-initialized) {
    visibility: visible;
    opacity: 1;
}
.banner_container .slick-list,
.banner_container .slick-track {
    height: 100%;
}
.banner_container .slide {
    min-height: 100%;
}
section.blueimgbg {
    background-image: url('http://mccannp.itcscloud.co.uk/wp-content/uploads/2026/05/blue_bg.jpg') !important;
}
.icon_wrapper .featurebox {
    width: 32.3%;
}
.featurebox .icon img {
    filter: brightness(0) invert(1);
}
@media screen and (max-width: 970px) {
    .icon_wrapper .featurebox { width: 49.5%; }
}
@media screen and (max-width: 570px) {
    .icon_wrapper .featurebox { width: 48%; }
}


/* Footer overlap fix */
.site-footer,
footer {
    position: relative !important;
    overflow: hidden !important;
    clear: both !important;
}

.site-footer .footer-bottom,
footer .copyright,
footer p {
    position: relative !important;
    z-index: 2 !important;
    line-height: 1.6 !important;
}

.site-footer img,
footer img {
    max-width: 100%;
    height: auto;
}

.site-footer .logo,
footer .logo {
    margin-bottom: 15px;
}



/* McCann repair v26: services single, services landing and team hover fixes */
.single-mccann_service .content,
.single-mccann_service .first_section {
    overflow: hidden;
}

.single-mccann_service .mediumwrap {
    max-width: 980px;
    margin: 0 auto;
}

.single-mccann_service .leftcol {
    width: 58%;
    float: left;
}

.single-mccann_service .rightcol {
    width: 34%;
    float: right;
}

.single-mccann_service .leftcol table {
    width: 100% !important;
    border-collapse: collapse;
}

.single-mccann_service .leftcol table td,
.single-mccann_service .leftcol table th {
    box-sizing: border-box;
}

.single-mccann_service .leftcol p,
.single-mccann_service .leftcol li,
.single-mccann_service .leftcol table {
    color: #6f7280;
}

.mccann-services-page {
    position: relative;
    min-height: 720px;
}

.mccann-services-page .pagewrap {
    position: relative;
    z-index: 2;
}

.mccann-services-page .mccann-page-heading {
    max-width: 650px;
    margin: 0 auto 45px;
    text-align: left;
}

.mccann-services-page .mccann-page-heading h1,
.mccann-services-page .mccann-page-heading p {
    color: #fff !important;
}

.mccann-services-page .mccann-page-heading h1 {
    margin-bottom: 18px;
}

.mccann-services-grid {
    display: grid !important;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    border-top: 1px solid rgba(255,255,255,0.25);
    border-left: 1px solid rgba(255,255,255,0.25);
}

.mccann-services-grid .mccann-service-card,
.icon_wrapper .mccann-service-card {
    width: auto !important;
    min-height: 240px;
    margin: 0 !important;
    display: flex !important;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 18px;
    border-right: 1px solid rgba(255,255,255,0.25);
    border-bottom: 1px solid rgba(255,255,255,0.25);
    background: rgba(17,56,119,0.28);
    text-decoration: none;
    box-sizing: border-box;
}

.mccann-services-grid .mccann-service-card:hover {
    background: rgba(17,56,119,0.52);
}

.mccann-services-grid .mccann-service-card .text,
.mccann-services-grid .mccann-service-card .service-excerpt {
    color: #fff !important;
    text-align: center;
}

.mccann-services-grid .mccann-service-card .service-excerpt {
    max-width: 280px;
    line-height: 1.45;
    opacity: 0.88;
}

.team-page-section {
    padding: 60px 0 70px;
    overflow: hidden;
}

.team-page-wrap {
    width: 88%;
    max-width: 1180px;
    margin: 0 auto;
}

.team-intro {
    max-width: 760px;
    margin-bottom: 42px;
}

.team-title {
    margin: 0 0 26px;
    color: #16427f;
}

.team-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 18px;
}

.team-card {
    position: relative;
    overflow: hidden;
    min-height: 360px;
    background: #f2f2f2;
}

.team-card img {
    display: block;
    width: 100%;
    height: 360px;
    object-fit: cover;
    filter: grayscale(100%);
    transition: transform 0.35s ease, filter 0.35s ease;
}

.team-hover {
    position: absolute;
    inset: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 28px;
    background: rgba(17, 56, 119, 0.88);
    opacity: 0;
    transition: opacity 0.28s ease;
    box-sizing: border-box;
    text-align: center;
}

.team-card:hover img {
    transform: scale(1.04);
    filter: grayscale(100%);
}

.team-card:hover .team-hover {
    opacity: 1;
}

.team-hover h2,
.team-hover p,
.team-hover a,
.team-hover .team-bio {
    color: #fff !important;
}

.team-hover h2 {
    margin: 0 0 12px;
    font-size: 25px;
    line-height: 1.2;
}

.team-hover .team-role,
.team-hover .team-email {
    margin: 0 0 12px;
}

.team-hover .team-bio {
    line-height: 1.45;
}

@media screen and (max-width: 900px) {
    .single-mccann_service .leftcol,
    .single-mccann_service .rightcol {
        width: 100%;
        float: none;
    }
    .single-mccann_service .rightcol {
        margin-top: 28px;
    }
    .mccann-services-grid,
    .team-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media screen and (max-width: 600px) {
    .mccann-services-grid,
    .team-grid {
        grid-template-columns: 1fr;
    }
    .team-card,
    .team-card img {
        min-height: 320px;
        height: 320px;
    }
}

/* McCann repair v27: stronger team hover alignment + service content cleanup support */
.team-grid {
    align-items: start;
}

.team-card {
    display: block !important;
    aspect-ratio: 1 / 0.92;
    min-height: 0 !important;
    height: auto !important;
}

.team-card img {
    height: 100% !important;
    min-height: 0 !important;
}

.team-hover {
    top: 0 !important;
    right: 0 !important;
    bottom: 0 !important;
    left: 0 !important;
    width: 100% !important;
    height: 100% !important;
    display: grid !important;
    place-items: center !important;
    padding: 30px 26px !important;
    transform: none !important;
}

.team-hover-inner {
    width: 100%;
    max-width: 330px;
    margin: 0 auto;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
}

.team-hover h2,
.team-hover .team-role,
.team-hover .team-email,
.team-hover .team-email a,
.team-hover .team-bio,
.team-hover p {
    color: #fff !important;
    text-align: center !important;
}

.team-hover h2 {
    margin: 0 0 12px !important;
    font-size: 26px !important;
    font-weight: 600 !important;
    line-height: 1.15 !important;
}

.team-hover .team-role {
    margin: 0 0 12px !important;
    font-size: 17px !important;
    line-height: 1.35 !important;
    opacity: 0.95;
}

.team-hover .team-email {
    margin: 0 0 20px !important;
    font-size: 15px !important;
    line-height: 1.35 !important;
    opacity: 0.95;
}

.team-hover .team-bio {
    margin: 0 !important;
    font-size: 16px !important;
    line-height: 1.45 !important;
}

@media screen and (max-width: 600px) {
    .team-card {
        aspect-ratio: auto;
        height: 320px !important;
    }
}
