/* 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: #6d6e71;
	color: #464749;
	font-family: "Muli", sans-serif, Arial, Helvetica, sans-serif;
	font-size: 18px;
	font-weight: 300;
	background-color: #ffffff;
	overflow-y: scroll;
}
.clear {
  	clear: both;
}
img { border: 0; }
a {
	text-decoration: none;
	color: #00a0dc;
	cursor: pointer;
}
a:hover { text-decoration: underline; }
.bluetext { color: #00a0dc; }

p { margin-bottom: 18px; line-height: 1.4em; }
li { margin: 10px 16px 0; }
li { margin: 10px 30px 0; }
ol {
	margin: 10px 20px 0 20px;
}
li ol {
	margin: 10px 0 0 20px;
}
.floatright { float: right; }

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

	.pagewrap {
		width: 100%;
		max-width: 1200px;
		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: 1440px) {
		.pagewrap {
			padding: 0 40px 0;
		}
		.pagewrap.wider {
			padding: 0;
		}
		.pagewrap.lesspad {
			padding: 0 14px 0;
		}
		.header .pagewrap {
			padding: 0 10px 0;
		}
	}
	@media screen and (max-width: 820px) {
		.pagewrap {
			padding: 0 20px 0;
		}
		.narrowwrap {
			padding: 0 20px 0;
		}
	}

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

section {
  	min-height: 20px;
  	padding: 20px 0;
}
section.lesspad {
	padding: 20px 0;
}
section.nopad {
	padding: 0;
}
section.no_bottom_padding {
	padding-bottom: 0;
}
section.grey { background-color: #e6e7e8; }
section.blue { background-color: #e4f5fc; }
section.purple { background-color: #d5c0dd70; color: #505053; }
section.purple_bg {
	background-image: url('/assets/images/purple_bg.jpg');
	background-size: cover;
	background-position: center center;
	margin-top: 50px;
}

.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: 150px;
		background-color: #fff;
		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: 210px;
		position: absolute;
		left: 5px;
		top: 17px;
		transition: all 0.3s;
	}
	.logo.small { display: none; }
	.smaller .logo {
		top: 8px;
		height: 40px;
		width: auto;
	}
/*	.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;
	}
	.header.smaller .logo {  }
	/* .header.smaller .logo.small { display: block; }*/
	.gradient_bg {
		background: #00a0dc;
		background: -moz-linear-gradient(-60deg, #00a0dc 40%, #000000 60%);
		background: -webkit-linear-gradient(-60deg, #00a0dc 40%,#000000 60%);
		background: linear-gradient(120deg, #00a0dc 40%,#000000 60%);
		filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#00a0dc', endColorstr='#000000',GradientType=1 );
	}

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




	.header_border {
		height: 10px;
		width: 100%;
		background: #009fe3;
		bottom: 0px;
		left: 0%;
		position: absolute;
		display: none;
	}

	.header.white .header_border {
		display: block;
	}
	.header.smaller .header_border {
		display: block;
		height: 2px;
	}

	.header.white.smaller .header_border {
		display: block;
		height: 2px;
	}



	a.social_link {
		
		display: inline-block;
		width:  30px;
		height: 30px;
		border-radius: 15px;
		font-size: 18px;
		color: #00a0dc;
		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;
	}
	a.social_link_type2 {
		display: inline-block;
		margin: 0 1px 12px;
	}


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

		.logo {
			left: 15px;
		}

	}

	.backbtn {
		/*margin-left: -190px; float: left; margin-bottom: -100px;*/
		position: absolute;
		top: 0px;
		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 ============================================ */
/* ===================================================================================================== */

	.top_links {
		float: right;
		margin-top: 12px;
		color: #9c4493;
	}
	.top_links a {
		color: #9c4493;
		font-size: 32px;
		font-weight: 300;
		display: inline-block;
		padding: 8px 0 8px 22px;	
	}
	.top_links .two a {
		padding: 8px 8px;
	}
	.top_links a:hover {
		text-decoration: none;
	}
	.top_links a.lang_link, .lang_link {
		float: right;
		font-size: 18px;
		padding: 0;
	}	

	.nav_container {
		float: right;
	}
	.nav_container {
		margin-top: 14px;
		transition: all 0.3s;
	}
	.smaller .nav_container {
		margin-top: 16px;
	}
	.main_nav {
		transition: all 0.3s;
	}
	.main_nav li, .top_links li {
		margin: 0; padding: 0;
		list-style-type: none;
		float: left;
		font-family: "Muli";
		position: relative;
	}
	.top_links li {
		float: none;
		display: inline-block;
	}
	.main_nav span {
		display: inline-block;
		/*width: 100%;
		height: 100%;*/
		padding: 0 0 8px;
	}
	.main_nav li a {
		display: block;
		padding: 8px 12px 0;
		font-size: 14px;
		font-weight: 700;
		letter-spacing: 0.5px;
		color: #009fe3;
		text-transform: uppercase;
	}
	.main_nav>li a {
		
	}
	.main_nav .sub_nav li a {
		padding: 8px 24px 8px;
	}
	.header.white .main_nav li a {
		color: #242e77;
	}
	.main_nav li:hover, .header.white .main_nav li:hover,
	.main_nav li.is_parent:hover>a, .header.white .main_nav li.is_parent:hover>a {
		background-color: #00a0dc;
		color: #fff;
	}
	.main_nav li a:hover, .header.white .main_nav li a:hover {
		text-decoration: none;
		background-color: #00a0dc;
		color: #ffffff;
		transition: all 0.2s;
	}
	.main_nav li.special a:hover {
		background-color: #9c4493;
		color: #ffffff;
	}
	.smaller .main_nav li a:hover { 
		background-color: #fff;
		color: #00a0dc;
	}
	.main_nav li.on span {
		border-bottom: 2px solid #00a0dc;
	}
	.smaller .main_nav li.on span {
		border-bottom: 2px solid #ffffff;
	}
	.header.white .main_nav li.on span {
		border-bottom: 2px solid #00a0dc;
	}
	.main_nav li.special.on span {
		border-bottom: 0px solid #ffffff;
	}
	.header.white .main_nav li.special.on span {
		border-bottom: 0px solid #00a0dc;
	}

	.sub_nav {
		background-color: transparent;
		
		color: #fff;
		width: 240px;
	  	visibility: hidden;
	  	/* hides sub-menu */
	 	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: 1;
		transform: translateY(0%);
		transition-delay: 0s, 0s, 0.3s;
		/* this removes the transition delay so the menu will be visible while the other styles transition */
	}
	.main_nav li:last-child .sub_nav {
		left: auto;
		right: 0px;
	}
	.sub_nav li {
		float: none;
		width: 100%;
		margin: 2px 0;
		box-sizing: border-box;
		color: #fff;
		background-color: #54bbe7;
	}
	.sub_nav li:hover {
		background-color: #00a0dc;
	}
	.main_nav .sub_nav li a {
		color: #fff;
		background-color: none;
	}



	.sub_sub_nav {
		position: absolute;
		left: calc(100% + 2px);
		top: 0;
		width: 240px;
		/*display: none;*/
		opacity: 0;
		visibility: hidden;
		transform: translateX(-2em);
		transition: all 0.3s ease-in-out 0s, visibility 0s linear 0.3s, z-index 0s linear 0.01s;
	}
	.main_nav .sub_nav li:hover .sub_sub_nav {
		visibility: visible;
		opacity: 1;
		z-index: 0;
		transform: translateY(0%);
		transition-delay: 0s, 0s, 0.3s;
	}
	.main_nav .sub_sub_nav li:first-child {
		margin-top: 0;
	}
	.main_nav .sub_sub_nav li {

	}
	.main_nav .sub_sub_nav li a {

	}
	.sub_subrow_arrow, .subrow_arrow {
		position: absolute;
		right: 10px;
		top: 4px;
		padding: 0 !important;
		border: none !important;
		color: white;
		font-weight: normal;
		font-size: 23px !important;

	}
	.subrow_arrow {
		display: none !important;
	}



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

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


	.main_nav li.special {
		margin-left: 10px;
	}
	.main_nav>li.special a {
		color: #9c4493;
		border: 2px solid #9c4493;
		padding: 6px 22px 2px;
	}
	.main_nav>li.special a span {
		padding-bottom: 4px;
	}
	.smaller .main_nav>li.special a {
		border-color: #fff;
	}
	.main_nav li.special {

	}

	.header.smaller {
		/*color: #ffffff;*/
	}
	.header.smaller a {
		/*color: #ffffff;*/
	}

	.header.smaller .top_links {
		display: none;
	}
	.header.smaller .searchbox {
		display: none;
	}


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

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

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

		.top_links {
			margin-top: 8px;
			margin-right: 54px;
		}
		.searchbox {
			margin-top: 16px;
		}

		.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: scroll;
			padding-bottom: 20px;
		}
		.main_nav, .nav_container {
			background-color: #00a0dc;
			margin-top: 0;
		}
		.main_nav {
			margin-left: 70px;
			margin-left: 0px;
			margin-right: 0px;
			padding: 0  0;
			margin-top: 45px;
			width: 100%;
		}
		.header.smaller .nav_container {
			margin-top: 0px;
			display: inline-block;
		}
		.header.smaller .main_nav {
			margin-top: 25px;
		}
		.main_nav li {
			width: 100%;
			float: none;
			box-sizing: border-box;
		}
		.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; }

		.main_nav li.special {
			margin-left: 0px;
		}
		.main_nav>li.special a {
			border: 0px solid #00a0dc;
			border-radius: 0px;
			padding: 8px 18px 0px;
		}

		.main_nav span {
			padding: 0;
		}

		/* Cancels all sub-menu dropdown animations: */
		.sub_nav, .sub_sub_nav {
			display: none;
			padding: 0px 0 0 0px;
			margin: 0;
			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;
		}
		.sub_nav li, .sub_sub_nav li {
			margin: 0;
		}
		.main_nav li:hover .sub_nav {
			visibility: visible;
			opacity: 1;
			z-index: inherit;
			transform: translateY(0%);
			transition-delay: 0s, 0s, 0s;
		}


		.sub_sub_nav {
		}
		.main_nav .sub_nav li:hover .sub_sub_nav {
		}
		.main_nav .sub_sub_nav li:first-child {
			margin-top: 0;
		}
		.main_nav .sub_sub_nav li a {
			padding-left: 40px;
		}
		.sub_subrow_arrow, .subrow_arrow {
			transform: rotate(90deg);
			right: 14px;
			border: 8px solid transparent !important;
		}
		.subrow_arrow {
			display: block !important;
		}	
		.sub_subrow_arrow {
			top: 0px;
		}


	}

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

		.header .label_tab { display: none; }

	}

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

		.top_links li:nth-child(2),
		.top_links li:nth-child(3) {
			display: none;
		}

	}

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

		.logo {
			left: 10px;
			width: 90px;
		}

		.top_links ul { display: none; }
		.top_links a.lang_link {
			margin-top: 15px;
			font-size: 16px;
		}

		.label_tab { display: none; }
		.label_tab.nobg { display: block; }


		.header.smaller .logo {
			/*left: 2px;*/
			top: 14px;
			/*width: 140px;*/
		}
		.header {
			height: 96px;
		}
		.first_section, section.first_section {
			padding-top: 96px !important;
		}

	}


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





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


	.searchbox {
		float: right;
		margin-top: 12px;
		margin-right: 25px;
		transition: all 0.2s;
	}
	.searchinput {
		background: rgba(255,255,255,0.3);
		/*color: #ffffff;*/
		font-size: 14px;
		height: 28px;
		width: 200px;
		padding-top: 1px;
		display: inline-block;
		margin: 0px 0px 0px;
		/*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;
	}
	.searchbox .ionicons:hover {
		
	}
	.header.white .searchbox .ionicons {
	    color: #00a0dc;
	}
	.header.white .searchinput {
		background: rgba(0,0,0,0.11);
		border: 1px solid rgba(0,0,0,0.0);
	}
	.smaller .searchbox {
		margin-top: 12px;
	}

	.search_results {
		overflow-y: scroll;
		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: 150px;
		border-bottom: 1px solid #fafafa;
		background: rgba(255,255,255,0.95);
		display: none;
		z-index: 15;
	}
	.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: #00a0dc;
	}

	.smaller .search_clear {
		display: none;
	}

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

		.searchbox {
			margin-top: 16px;
			margin-right: 10px;
		}

/*			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%;
		}
	}
	@media screen and (max-width: 380px) {
		.searchbox {
			display: none;
		}
	}



/* ===================================================================================================== */
/* ============================================= /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%;
		/*max-width: 1800px;*/
		height: 758px;
		height: 600px;
		margin: 0 auto 0;

		background-color: #ccc;
		position: relative;

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

	}
	.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;*/
	}
	.slide .bg_img {
		object-fit: cover;
		object-position: 50% 50%;
		width: 100%;
		height: 100%;
		z-index: -1;
		position: absolute;
	}


	.slide .pagewrap { height: 100%; padding-top: 150px; box-sizing: border-box; }
	.first_section, section.first_section {
		padding-top: 150px;
	}
	.first_section .narrowwrap {
		padding-top: 40px;
	}
	.content.first_section {
		padding-top: 150px;
		/*padding-top: 200px;*/
	}
	.first_section.smaller {
		/*border-top: 93px solid #000;*/
	}

	.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;*/
	}





.left_swipe {
  /*display: flex;*/
  position: absolute;
  background-color: rgba(255,255,255,0.8);
  width: calc(50% + 140px);
  height: 100%;
  /*padding: 50px;*/
  z-index: 1;
  padding: 0;
  /*border-right: 100px solid rgba(255,255,255,0.8);*/
  line-height: 0;
  outline: none;
  clip-path: polygon(0 0, 100% 0%, 86% 100%, 0% 100%);


}

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

		.caption {
			width: 500px;
			/*height: 238px;*/
			box-sizing: border-box;
			padding: 28px 0 28px;
			position: absolute;
			top: 2%;
			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: 12px 0 0;
		}


		.caption p { 
			font-size: 22px; margin: 0; line-height: 1.4em; padding-top: 10px; font-weight: 500; }
		.caption h1 {
			/*color: #ffffff;*/
			/*display: inline-block;*/
			padding-right: 10px;
			padding-bottom: 6px;
			margin-top: 140px;
			font-size: 55px;
			line-height: 55px;
		}
		.caption h1 .first_c {
			text-transform: lowercase;
		}
		.caption.portfolio {
			width: 600px;
		}
		.caption.portfolio h1 {
			/*font-size: 50px;*/
		}
		.portfolio_caption {
			width: 100%;
			box-sizing: border-box;
			padding: 15px;
			color: #414042;
			font-size: 15px;
			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: 1240px) {
		.caption {
			left: 20px;
		}
	}
	@media screen and (max-width: 900px) {
		.caption {
			width: 450px;
			left: 20px;
		}
	}

	@media screen and (max-width: 800px) {
		.banner {
			height: 400px;
		}
		.caption h1 {
			margin-top: 60px;
			font-size: 35px;
			line-height: 35px;
		}

	}
	@media screen and (max-width: 800px) {
		.caption {
			width: 300px;
		}
		.caption p {
			font-size: 18px;
		}

	}
	@media screen and (max-width: 400px) {
		.caption {
			width: 260px;
		}
		.caption img {
			width: 110px;
		}
		.caption p {
			font-size: 16px;
			padding-right: 60px;
		}

	}




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




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

	h1,	h2,	h3,	h4,	h5,	h6 {
	  	font-family: "Muli", Arial, Helvetica, sans-serif;
	  	color: #00a0dc;
	}
	h3,	h4,	h5,	h6 {
		font-family: "Muli", Arial, Helvetica, sans-serif;
	}
	h1.center, h2.center {
		text-align: center;
		margin: 0 0 60px;
	}
	h1 {
		color: #00a0dc;
		font-size: 40px;
		font-weight: 400;
		text-align: left;
		line-height: 44px;
		margin: 0 0 10px;
	}
	h2, h1.in_content {
		font-weight: 400;
		font-size: 35px;
		color: #9c4493;
		margin: 0 0 30px;
		text-align: left;
		text-shadow: none;
		line-height: auto;
	}
	h1.in_content {  }
	h2 {
		font-weight: 400;
	}
	h2.sub_heading {
		margin-top: 18px;
		margin-bottom: -15px;
	}
	h3 {
		color: #6d6e71;
		font-size: 32px;
		margin: 0px 0 12px;
		font-weight: 500;
	}
	h4 {
		color: #00a0dc;
		font-size: 24px;
		font-weight: normal;
		margin: 20px 0 5px;

	}
	h5 {
		color: #6d6e71;
		font-size: 22px;
		font-weight: 600;
		margin-bottom: 8px;
	}
	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;
	}
	.pagewrap.toppadding {
		padding-top: 20px;
		padding-bottom: 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: #9c4493;
	}
	.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: 30px 10px; }
	.col.padding2 { padding: 0; }
	.col50 {
		width: 50%;
		margin: 0;
	}
	.col50:nth-child(1) {
		padding-right: 40px;
	}
	.col50.withpadding:nth-child(1) {
		padding-right: 50px;
	}
	.col50.withpadding:nth-child(2) {
		padding-left: 50px;
	}
	.col50.padding2:nth-child(1) {
		padding-right: 50px;
	}
	.col50.padding2:nth-child(2) {
		padding-left: 50px;
	}
	.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;
	}




	/* Mini grid of images: */
	.mini_gallery_container {
		text-align: justify;
	}
	.mini_gallery_thumb {
		display: inline-block;
		display: block;
		margin: 0px 0px 30px 0px;
		cursor: pointer;
		height: 200px;
		width: 48%;
		background-position: center center;
		background-size: cover;
		background-repeat: no-repeat;
	}
	.mini_gallery_single .mini_gallery_thumb {
		width: 100%;
		height: 300px;
		margin: 0;
	}
	.mini_gallery_single.match_height .mini_gallery_thumb {
		height: 530px;
		height: 680px;
		min-width: 100%;
		width: auto;
	}
	.mini_gallery_thumb:nth-child(2n) {
		margin-right: 0;
	}
	/* Makes last row of images justify properly: */
	/*.mini_gallery_container:after{content:""; display: inline-block; width: 100%; height: 0;}*/

	.mini_gallery_container.mini_gallery_vertical .mini_gallery_thumb {
		width: 100%;
		height: 250px;
		height: 325px;
	}
	.mini_gallery_container.mini_gallery_vertical .mini_gallery_thumb:nth-child(2) {
		margin-bottom: 0px;
	}

	.mini_gallery_container.mini_gallery_triple .mini_gallery_thumb:nth-child(1) {
		width: 100%;
	}




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

		.mini_gallery_thumb {
			height: 120px;
		}
		.mini_gallery_single .mini_gallery_thumb {
			height: 200px;		
		}
		.mini_gallery_single.match_height .mini_gallery_thumb {
			height: 430px;
		}
		.mini_gallery_container.mini_gallery_vertical .mini_gallery_thumb {
			height: 200px;
		}

	}





	.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;
	}

	.content table {
		border: 1px solid #eee;
	}
	.content table p {
		margin-bottom: 0;
	}
	.content table td {
		border-bottom: 1px solid #eee;
	}
	.content table tr:nth-child(odd) td {
		background-color: #fafafa;
	}


	.colourblock {
		background-color: #00a0dc;
		padding: 30px;
		color: #fff;
		font-weight: 400;
	}
	.colourblock.lightgreen {
		background-color: #a0d370;
		padding: 20px;
	}


	.action_text {
		font-size: 30px;
		color: #9c4493;
		text-align: center;
	}
	.action_text p {
		margin-bottom: 2px;
	}
	.action_text .btn {
		margin-bottom: 0;
	}

	/* ============== 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: "Muli", 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 {
			
		}	

		.col50.withpadding:nth-child(1) {
			padding-right: 20px;
		}
		.col50.withpadding:nth-child(2) {
			padding-left: 20px;
		}
		.col50.padding2:nth-child(1) {
			padding-right: 20px;
		}
		.col50.padding2:nth-child(2) {
			padding-left: 20px;
		}		

	}




	@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;
		}

		.col50.withpadding:nth-child(1) {
			padding-right: 0px;
		}
		.col50.withpadding:nth-child(2) {
			padding-left: 0px;
		}
		.col50.padding2:nth-child(1) {
			padding-right: 0px;
		}
		.col50.padding2:nth-child(2) {
			padding-left: 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 ============================================== */
/* ===================================================================================================== */






/* ===================================================================================================== */
/* ==================================== BEFORE AFTER SLIDER ============================================ */
/* ===================================================================================================== */

	.cm_image_compare { 
		margin: 0px auto;
		width: 459px;
		height: 300px;
		overflow: hidden;
		border: none !important;
	}
	.cm_image_compare figure { 
		
		background-size: cover;
		font-size: 0;
		height: 100%;
		margin: 0; 
		position: relative;
		width: 100%; 
		border: none !important;
	}
	.cm_beforeafter_second {
		
		background-size: cover;
		bottom: 0;
		border-right: 5px solid rgba(255,255,255,0.7);
		box-shadow: 10px 0 15px -13px #000;
		height: 100%;
		max-width: 98.6%;
		min-width: 0.6%;
		overflow: visible;
		position: absolute;
		width: 50%; 
		animation: first 2s 1 normal ease-in-out 0.1s; 
		-webkit-animation: first 2s 1 normal ease-in-out 0.1s; 
		border: none !important;
	}
	input.cm_beforeafter_slider:active {
		border: none;
	}
	input.cm_beforeafter_slider {
		-moz-appearance: none;
		-webkit-appearance: none;
		border: none; 
		background: transparent;
		cursor: col-resize;
		height: 100vw;
		left: 0;
		margin: 0;
		outline: none; 
		padding: 0;
		position: relative;
		top: -100vw;
		width: 100%;
	}
	input.cm_beforeafter_slider::-moz-range-track { 
		background: transparent; 
	}
	input.cm_beforeafter_slider::-ms-track {
		border: none; 
		background-color: transparent;
		height: 100vw; 
		left: 0; 
		outline: none; 
		position: relative;
		top: -100vw; 
		width: 100%;
		margin: 0;
		padding: 0;
		cursor: col-resize;
		color:transparent;
	}
	input.cm_beforeafter_slider::-ms-fill-lower {
		background-color:transparent;
	}
	input.cm_beforeafter_slider::-webkit-slider-thumb {
		-webkit-appearance:none;
		height: 100vw;
		width: 0.5%;
		opacity: 0;
	}
	input.cm_beforeafter_slider::-moz-range-thumb {
		-moz-appearance: none;
		height: 100vw;
		width: 0.5%;
		opacity: 0;
	}   
	input.cm_beforeafter_slider::-ms-thumb {
		height: 100vw;
		width: 0.5%; 
		opacity:0;
	}
	input.cm_beforeafter_slider::-ms-tooltip {
		display:none;
	}
	.cm_beforeafter_second::before {
		background: url(/assets/images/slider-icon-white.svg) no-repeat scroll 0 center transparent;
		background-position: center 90%;
		background-size: contain;
		opacity: 0.9;
		content: " ";
		float: right;
		height: 100%;
		margin-right: -34px;
		margin-right: -22px;
		position: relative;
		top:0;
		width: 64px;
		width: 44px;
	}
	@keyframes first {
	  0% {width: 0%; }
	  50% {width: 55%; }
	  100% {width: 50%; }
	}
	@-webkit-keyframes first {
	  0% {width: 0%; }
	  50% {width: 55%; }
	  100% {width: 50%; }
	}

	@media screen and (max-width: 500px) {
		.cm_image_compare { 
			margin: 0px auto;
			width: 300px;
			height: 200px;
			overflow: hidden;
			border: none !important;
		}
	}

/* ===================================================================================================== */
/* ============================================= /BEFORE AFTER SLIDER ============================================ */
/* ===================================================================================================== */



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


	.bigbtn_container {

	}
	.bigbtn {
		float: left;
		width: 32%;
		height: 300px;
		margin: 0 2% 2% 0;
		position: relative;
		transition: all 0.2s;
	}
	.bigbtn:hover { opacity: 0.7; }
	.bigbtn:last-child, .bigbtn:nth-child(3n) {
		margin-right: 0;
	}
	.bigbtn .img {
		height: 230px;
		width: 100%;
		background-position: center center;
		background-size: cover;
	}

	.flex_btns .bigbtn {
		background-color: #00a0dd
	}
	.bigbtn span {
		position: absolute;
		bottom: 0px;
		left: 0px;
		width: 100%;
		display: block;
		height: 70px;
		box-sizing: border-box;
		padding: 15px 10px 0;
		background-color: #00a0dd;
		color: #ffffff;
		font-size: 28px;
		text-align: center;
	}
	.flex_btns .bigbtn span {
		font-size: 18px;
		padding-top: 10px;
	}
	.flex_btns .bigbtn:nth-child(even),
	.flex_btns .bigbtn:nth-child(even) span {
		background-color: #9c4493;
	}

	.num_btns_4 .bigbtn {
		width: 24.24%;
		margin: 0 1% 0 0;
	}
	.num_btns_4 .bigbtn:last-child {
		margin: 0;
	}

	@media screen and (max-width: 1100px) {
		.flex_btns .bigbtn {
			height: 240px;
		}
		.flex_btns .bigbtn span {
			padding-top: 14px;
			font-size: 14px;
		}
	}
	@media screen and (max-width: 1000px) {

		.xxxxxxxxxxxxbigbtn {
			width: 100%;
			margin-right: 0;
			margin-bottom: 2%;
		}
	}
	@media screen and (max-width: 950px) {
		.flex_btns .bigbtn {
			width: 49%;
			margin: 0 2% 2% 0;
		}
		.flex_btns .bigbtn:last-child, .flex_btns .bigbtn:nth-child(3n) {
			margin-right: 2%;
		}		
		.flex_btns .bigbtn:nth-child(2n) {
			margin-right: 0;
		}
		.flex_btns .bigbtn span {
			padding-top: 10px;
			font-size: 18px;
		}
	}	
	@media screen and (max-width: 670px) {
		.flex_btns .bigbtn {
			width: 100%;
			margin: 0 0% 2% 0;
		}
		.flex_btns .bigbtn span {
			padding-top: 10px;
			font-size: 18px;
		}
	}




	.teambox {
		float: left;
		width: 49%;
		height: 300px;
		margin: 0 2% 2% 0;
		position: relative;
		transition: all 0.2s;
	}
	.teambox:hover {  }
	.teambox:nth-child(2n) {
		margin-right: 0;
	}
	.teambox .img {
		height: 230px;
		width: 100%;
		background-position: center center;
		background-size: cover;
	}
	.team_label {
		position: absolute;
		top: 0px;
		left: 0px;
		width: 100%;
		display: block;
		height: 100%;
		box-sizing: border-box;
		padding: 25px;
		background-color: #9c4493;
		color: #ffffff;
		font-size: 14px;
		text-align: left;
		opacity: 0;
		transition: all 0.2s;
	}	
	.team_label h6 {
		font-size: 26px;
		line-height: 24px;
		color: #fff;
		font-weight: normal;
	}
	.teambox span {
		position: absolute;
		bottom: 0px;
		left: 0px;
		width: 100%;
		display: block;
		height: 70px;
		box-sizing: border-box;
		padding: 12px 10px 0;
		background-color: #9c4493;
		color: #ffffff;
		font-size: 26px;
		line-height: 24px;
		text-align: center;
	}	
	.teambox:hover .team_label {
		opacity: 1;
	}
	.teambox .team_label .fn_close_team_label {
		display: none;
		position: absolute;
		top: 14px;
		right: 20px;
		font-size: 32px;
	}


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

		.teambox {
			width: 100%;
			margin-right: 0;
			margin-bottom: 3%;
		}

	}	

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

		.teambox:hover .team_label {
			opacity: 0;
		}		
		.teambox .team_label.open {
			opacity: 1;
			position: fixed;
			width: 100%;
			height: 100%;
			z-index: 10;
			padding-top: 50px;
		}
		.teambox .team_label.open .fn_close_team_label {
			display: block;
			z-index: 11;
		}

	}

	.icon_wrapper {
		text-align: center;
	}
	.icon_wrapper .icon_link {
		float: none;
		display: inline-block;
		vertical-align: top;
	}

	.icon_link {
		height: 300px;
		padding-top: 20px;
		margin-bottom: 20px;
		text-align: center;
		float: left;
		cursor: pointer;
		transition: all 0.3s;
		position: relative;
	}

	.icon_link .icon {
		height: 100px;
		text-align: center;
		display: block;
	}
	.icon_link .icon img, .icon_link .icon svg {
		/*height: 100%;*/
	}
	.svg-icon { fill: white; transition: all 0.3s; }

	.icon_link .text {
		padding: 30px 90px 0px;
		font-size: 18px;
		font-weight: 300;
		transition: all 0.3s;
		text-align: center;
	}
	.icon_link h2 {
		text-align: center;
	}
	.icon_link:hover {
		text-decoration: none;
	}
	.icon_link:hover .text {
		text-decoration: none;
	}
	.icon_link .btn {
		position: absolute;
		bottom: 0px;
		left: 50%;
		margin-left: -80px;
	}

	
	@media screen and (max-width: 11460px) {
		.icon_link .text {
			padding: 30px 10px 0px;
			font-size: 18px;
			font-weight: 300;
			transition: all 0.3s;
			text-align: center;
		}
	}	
	@media screen and (max-width: 1070px) {
		.icon_link h3 {
			font-size: 24px;
		}
		.icon_link .icon {
			/*height: 70px;*/
		}
		 #lottie{
            /*width: 105px;*/
            /*height: 100%;*/
        }
	}	
	@media screen and (max-width: 800px) {
		.icon_link h3 {
			font-size: 18px;
		}
		.icon_link .icon {
			height: 50px;
		}

	}
	@media screen and (max-width: 650px) {
		.icon_link p {
			display: none;
		}
		.icon_link {
			height: 200px;
		}

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


	}
	@media screen and (max-width: 550px) {
		.col33 {
			width: 100%;
		}
	}

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






.responsive_iframe {
	width: 100% !important;
	/*height: 600px !important;*/
}


@media screen and (max-width: 1100px) {
	.responsive_iframe {
		width: 100% !important;
		/*height: 480px !important;*/
	}
}
@media screen and (max-width: 800px) {
	.responsive_iframe {
		width: 100% !important;
		/*height: 350px !important;*/
	}
}
@media screen and (max-width: 450px) {
	.responsive_iframe {
		width: 100% !important;
		/*height: 200px !important;*/
	}
}






/* ===================================================================================================== */
/* ============================================= PRICING BARS ========================================== */
/* ===================================================================================================== */


	.pricing_container {
		/*display: flex;*/
	}	
	.bar {
		height: 110px;
		margin-bottom: 30px;
	}
	.bar_left {
		
	}
	.bar40 {
		width: 40%;
		float: left;
	}
	.bar50 {
		width: 50%;
		float: left;
	}
	.bar60 {
		width: 60%;
		float: left;
	}

	.colour_bar {
		width: 100%;
		width: 0;
		transition: width 0.5s;
		height: 100%;
		border-radius: 0px 55px 55px 0;
		background-color: #00a0dc;
	}

	.colour_bar.lightgreen {  background-color: #a0d370;  }
	.colour_bar.yellow {  background-color: #dde942;  }

	.colour_bar .bar_content {
		display: none;
	}

	.bar_content {
		height: 100%;
		box-sizing: border-box;
		padding: 20px 20px 0;
		display: none;
	}
	.bar_content p {
		line-height: 1.2em;
	}

	.bar_left .bar_content {
		text-align: right;
	}
	.bignum, .price {
		display: inline-block;
		text-align: center;
		color: #ffffff;
	}
	.bignum {
		color: #00a0dc;
		background-color: #ffffff;
		width: 68px;
		height: 68px;
		border-radius: 34px;
		font-size: 60px;
		font-family: Arial, sans-serif;
		font-weight: 600;
	}
	.lightgreen .bignum { color: #a0d370; }
	.yellow .bignum { color: #dde942; }

	.price {
		padding: 0px 30px;
		vertical-align: top;
		font-size: 45px;
		font-weight: 600;
	}
	.price span {
		display: block;
		font-size: 12px;
		font-weight: 300;
	}

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

		.bar {
			height: 80px;
		}
		.bignum {
			width: 40px;
			height: 40px;
			border-radius: 20px;
			font-size: 36px;
		}
		.price {
			padding: 0px 30px;
			font-size: 26px;
		}
		.price span {
			font-size: 12px;
		}
		.bar_content {
			padding: 14px 20px 0;
		}
		.bar_content h5 {
			font-size: 20px;
		}
		.bar_content p {
			line-height: 1.2em;
			font-size: 14px;
		}

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

		.bar {
			height: 80px;
		}
		.bignum {
			width: 30px;
			height: 30px;
			border-radius: 20px;
			font-size: 28px;
			display: none;
		}
		.price {
			padding: 0px 10px;
			font-size: 26px;
		}
		.price span {
			font-size: 12px;
		}
		.bar_content {
			padding: 14px 10px 0;
		}
		.bar_content h5 {
			font-size: 20px;
		}
		.bar_content p {
			line-height: 1.2em;
			font-size: 14px;
		}

	}


/* ===================================================================================================== */
/* ============================================= PRICING BARS ========================================== */
/* ===================================================================================================== */






/* ===================================================================================================== */
/* ============================================= 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 ======================================= */
/* ===================================================================================================== */






.contact_box {
	background-color: #0198d1;
	padding: 20px;
	color: #ffffff;
}
.contact_box p {

}
.contact_box label {

}
label.check {
	cursor: pointer;
}

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

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

	input.invalid, textarea.invalid, select.invalid, form.is_submitted input:invalid, form.is_submitted textarea:invalid, form.is_submitted select:invalid {
		border: 1px solid #db0000;
		animation: invalidcolour 2.5s 1;
	}
	label.invalid { color: #db0000; }

	input[type=number]::-webkit-inner-spin-button, 
	input[type=number]::-webkit-outer-spin-button { 
	  -webkit-appearance: none; 
	  margin: 0; 
	}
	input[type='number'] {
	    -moz-appearance:textfield;
	}
	input::-webkit-outer-spin-button,
	input::-webkit-inner-spin-button {
	    -webkit-appearance: none;
	}




	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: #00a0dc; }
        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: #00a0dc;
	}	
	.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: #00a0dc;
		text-align: center;
		padding: 0 30px 0;
		font-size: 18px;
		color: #ffffff;
		transition: all 0.3s;
		cursor: pointer;
		font-weight: 400;
		display: inline-block;
		height: 40px;
		margin: 0 auto 10px;
		outline: none;
		line-height: 40px;
		white-space: nowrap;
		font-weight: bold;
	}
	button:hover, .btn:hover {
		opacity: 0.6;

		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.flexybtn {
		max-width: 100%;
		height: auto;
		white-space: normal;
	}	
	@media screen and (max-width: 500px) {
		.btn.flexybtn {
			line-height: 24px;
			padding: 8px 20px;
		}
	}
	.btn.light,
	button.light {
		background: rgba(255,255,255,1);
		color: #00a0dc;
		/*height: 29px;*/
		/*padding: 0px 14px 0px;*/
		/*line-height: 29px;*/
		/*font-size: 14px;*/
		font-weight: 600;
	}
	.btn.light:hover, button.light:hover {
		background: rgba(255,255,255,0.6);
		color: #fff;
	}
	.btn.yellow { background-color: #dde942; }
	.btn.lightgreen { background-color: #a0d370; }
	.btn.purple { background-color: #9c4493; }


	button.active span,
	.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;
		
	}
	button.active:hover span,
	.btn.active:hover span {
		background: none;
	}
	@keyframes rotating {
	  from {
	    -webkit-transform: rotate(0deg);
	            transform: rotate(0deg);
	  }
	  to {
	    -webkit-transform: rotate(360deg);
	            transform: rotate(360deg);
	  }
	}


	.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 #00a0dc;
		color: #00a0dc;
	}
	button.inverse:hover, .btn.inverse:hover {
		background: #00a0dc;
		color: #fff;
		opacity: 1;
	}

	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 ========================================== */
/* ===================================================================================================== */



	.checkpair {
		width: 100%;
		height: 50px;
		background-color: #ffffff;
		padding-right: 20px;
		box-sizing: border-box;
	}
	.checkpair input[type="text"] {
		
		
	}
	.checkpair input[type="radio"] {
		float: right;
		width: 25px;
		height: 25px;
		cursor: pointer;
		margin: 12px 0 0;
	}
	.checkpair div {
		margin-right: 50px;
	}


	.enquire_box {
		background-color: #ffffff;
		width: 60%;
		box-sizing: border-box;
		position: relative;
		margin: 100px auto 60px;
		padding: 30px;
	}

	.enquire_box .leftside {
		/*background-image: url('../images/contact_bg.jpg');*/
		background-repeat: no-repeat;
		background-size: cover;
		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;
		
		margin-top: 0;
	}
	.enquire_box input[type="text"], .enquire_box textarea {
		background-color: #ededed;
		border-bottom: 1px solid #ededed;
	}	
	.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;
	}
	label.smallcheck {
		font-size: 14px;
		text-align: right;
		vertical-align: text-bottom;
		cursor: pointer;
	}
	label.smallcheck input {
		vertical-align: sub;
	}

	table.contact_content {
		width: 100%;
		margin-top: 15px;
	}
	.contact_content td:nth-child(2) {
		text-align: right;
	}
	.contact_content img {
		height: 204px;
	}

	@media screen and (max-width: 1200px) {
		.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 {
			width: 100%;
		}
		.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 ========================================= */
/* ===================================================================================================== */






/* ===================================================================================================== */
/* ============================================= TESTIMONIAL ============================================ */
/* ===================================================================================================== */

	blockquote {
		font-size: 28px;
		line-height: 45px;
		font-style: italic;
		color: #fff;
		text-align: center;
		font-weight: 500;
		padding: 30px 0px 0;
		margin: 0 30px 20px;
	}
	.testimonial p {
		padding: 0px 200px;
		font-size: 22px;
		font-weight: 400;
		text-align: center;
	}
	@media screen and (max-width: 1070px) {
		blockquote {
			font-size: 30px;
			padding: 30px 40px 0;
			margin: 0 30px 20px;
		}
		.testimonial p {
			padding: 0px 40px;
			font-size: 22px;
			font-weight: 400;
			text-align: center;
		}

	}
	@media screen and (max-width: 700px) {
		blockquote {
			font-size: 26px;
			padding: 30px 10px 0;
			margin: 0 30px 20px;
		}
		.testimonial p {
			padding: 0px 10px;
			font-size: 18px;
		}

	}
	@media screen and (max-width: 550px) {
		blockquote {
			font-size: 18px;
			padding: 30px 0px 0;
			margin: 0 30px 20px;
		}
		.testimonial p {
			padding: 0px 0px;
			font-size: 14px;
		}

	}
/* ===================================================================================================== */
/* ============================================= TESTIMONIAL ============================================ */
/* ===================================================================================================== */




	.subscribe_btn {
		background-color: #dde942;
		border-radius: 30px 0 0 30px;
		height: 60px;
		line-height: 60px;
		font-size: 18px;
		font-weight: 500;
		padding: 0 25px 0;
		color: #6d6e71;
		position: fixed;
		bottom: 0px;
		right: -1px;
		z-index: 20;
	}
	@media screen and (max-width: 900px) {
		.subscribe_btn {
			display: none;
		}

	}






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


	footer {
		/*font-size: 14px;*/
		font-weight: 400;
		background-color: #fff;
		padding-bottom: 30px;
		/*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 {
		margin-top: 30px;
	}
	.footnav li {
		list-style-type: none;
		margin: 1px 6px 0 0;
		color: #00a0dc;
		font-size: 16px;
		font-weight: bold;
		padding: 0 0 6px;
	}
	.footnav li a {
		color: #00a0dc;
		font-size: 16px;
		font-weight: bold;
	}

	.foot_opening_table {
		margin: 10px auto; width: 80%; font-weight: bold;
	}
	.foot_opening_table tr {
		
	}
	.foot_opening_table td {
		text-align: left;
	}
	.foot_opening_table td:first-child {
		width: 70%;
	}

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

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

	}


	@media screen and (max-width: 890px) {
		footer {
			padding-bottom: 20px;
		}
		.footnav {
			text-align: center;
		}
		footer .alignright {
			text-align: center !important;
		}
		.foot_opening_table td {
			text-align: center;
		}		
		.foot_opening_table td:first-child {
			width: 50%;
		}		
	}

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

		footer .col50:nth-child(1) {
			padding-right: 0;
		}
		footer {
			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 =============================================== */
/* ===================================================================================================== */





	.topgroup {

	}
	.topgroup select {
		float: left;
		vertical-align: middle;
	}
	.topgroup input {
		width: 48.5%;
		float: left;
	}
	.topgroup input:first-child {
		margin-right: 3%;
	}
	.topgroup div {
		margin-left: 120px;
	}

	.fb_link {
		color: #6d6e71;
		text-align: center;
		display: block;
	}
	.fb_link .fa {
		color: #00a0dc;
		font-size: 20px;
	}
	label.check {
		margin-top: 20px;
		line-height: 18px;
	}
	label.check input[type="checkbox"] {
		margin: 5px 0 5px;
	}
	input[type="date"] {
		min-width: 97%;
		box-sizing: border-box;
		/*padding-top: 14px;*/
		line-height: 50px;
		  -webkit-appearance: textfield;
		  -moz-appearance: textfield;	
	}
	.formgroup {
		position: relative;

	}
	.formgroup .placeholder {
		width: 200px;
		height: 48px;
		position: absolute;
		top: 1px;
		left: 1px;
		background-color: #fff;
		color: #6d6e71;
		line-height: 50px;
		font-size: 20px;
		padding: 1px 10px;
		box-sizing: border-box;
		font-family: "Muli";
		font-weight: 400;
	}

	@media screen and (max-width: 480px) {
		.topgroup div {
			float: left;
			margin-left: 0px;
		}
		.topgroup input {
			
		}
		.contact_box input,
		.contact_box select,
		.formgroup .placeholder {
			font-size: 14px;
		}
		.topgroup select {
			margin-bottom: 10px;
		}
	}