/* --------------------------------
Mega-menu CSS from CodyHouse:

https://codyhouse.co/gem/css-mega-site-navigation/
https://codyhouse.co/terms/

Tweaked by MJK:

Font size and colour changes.

Change to primary breakpoint, to always use the "mobile" menu, even on desktop
browsers, as per Jake's request.

-------------------------------- */

body.nav-on-left.overflow-hidden {
	overflow : hidden;
}

a.cd-lang-trigger img {
	margin-top  : 10px;
	margin-left : 10px;
}

/* --------------------------------

Main components

-------------------------------- */
/*.cd-main-content, */
.cd-main-header {
	/* Force Hardware Acceleration in WebKit */
	-webkit-transform : translateZ(0);
	-moz-transform    : translateZ(0);
	-ms-transform     : translateZ(0);
	-o-transform      : translateZ(0);
	transform         : translateZ(0);
	will-change       : transform;
}

.cd-main-content, .cd-main-header {
	position           : relative;
	-webkit-transition : -webkit-transform 0.3s;
	-moz-transition    : -moz-transform 0.3s;
	transition         : transform 0.3s;
}

@media only screen and (max-width : 9999px) {
	.cd-main-content.nav-is-visible, .cd-main-header.nav-is-visible {
		-webkit-transform : translateX(-299px);
		-moz-transform    : translateX(-299px);
		-ms-transform     : translateX(-299px);
		-o-transform      : translateX(-299px);
		transform         : translateX(-299px);
	}

	.nav-on-left .cd-main-content.nav-is-visible, .nav-on-left .cd-main-header.nav-is-visible {
		-webkit-transform : translateX(299px);
		-moz-transform    : translateX(299px);
		-ms-transform     : translateX(299px);
		-o-transform      : translateX(299px);
		transform         : translateX(299px);
	}
}

.cd-main-content {
	/*background : #E2E3DF;*/
	/*min-height : 100vh;*/
	z-index : 2;
}

.cd-main-header {
	height     : 50px;
	background : #FFFFFF;
	z-index    : 3;
}

/*
Moved this here after dumb universal(*!) selector removed above.
Is required for the CSS search and menu icons to function.
MJK
*/
.cd-main-header *, .cd-main-header *::after, .cd-main-header *::before {
	box-sizing : border-box;
}

.nav-is-fixed .cd-main-header {
	/* add .nav-is-fixed class to body if you want a fixed navigation on > 9999px */
	position : fixed;
	top      : 0;
	left     : 0;
	width    : 100%;
}

@media only screen and (min-width : 9999px) {
	.cd-main-header {
		height : 70px;
	}

	.cd-main-header::after {
		clear   : both;
		content : "";
		display : table;
	}
}

img.cd-logo {
	float       : left;
	margin-top  : 1em;
	margin-left : 1em;
}

@media only screen and (max-width : 9999px) {
	.nav-on-left .cd-logo {
		left  : auto;
		right : 5%;
	}

	img.cd-logo {
		/*margin-top : 0.6em;*/
		/*height     : 30px;*/
	}

}

@media only screen and (min-width : 9999px) {
	.cd-logo {
		/*top  : 26px;*/
		/*left : 4em;*/
	}
}

ul.cd-header-buttons {
	position : absolute;
	top      : 3px;
	right    : 15px;
	margin   : 15px 0 0 0;
	padding  : 0;
	overflow : hidden;
}

ul.cd-header-buttons li {
	display : inline-block;
	/*overflow : hidden;*/
	float : right;
	margin-right:2px;
}

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

	.nav-on-left .cd-header-buttons {
		right : auto;
		left  : 5%;
	}

	.nav-on-left .cd-header-buttons li {
		float : right;
	}
}

.cd-search-trigger, .cd-nav-trigger, .cd-lang-trigger {
	position    : relative;
	display     : block;
	width       : 40px;
	height      : 44px;
	overflow    : hidden;
	white-space : nowrap;
	z-index     : 3;
}

.cd-lang-trigger {
	color : black;
	width : 60px;
}

.cd-lang-trigger span.lang-text {
	display  : block;
	position : absolute;
	top      : 10px;
	right    : 0;
}

.cd-search-trigger::before, .cd-search-trigger::after {
	/* search icon */
	content                     : '';
	position                    : absolute;
	-webkit-transition          : opacity 0.3s;
	-moz-transition             : opacity 0.3s;
	transition                  : opacity 0.3s;
	/* Force Hardware Acceleration in WebKit */
	-webkit-transform           : translateZ(0);
	-moz-transform              : translateZ(0);
	-ms-transform               : translateZ(0);
	-o-transform                : translateZ(0);
	transform                   : translateZ(0);
	-webkit-backface-visibility : hidden;
	backface-visibility         : hidden;
}

.cd-search-trigger::before {
	/* lens */
	top           : 11px;
	left          : 11px;
	width         : 18px;
	height        : 18px;
	border-radius : 50%;
	border        : 3px solid #2E3233;
}

.cd-search-trigger::after {
	/* handle */
	height            : 3px;
	width             : 8px;
	background        : #2E3233;
	bottom            : 14px;
	right             : 11px;
	-webkit-transform : rotate(45deg);
	-moz-transform    : rotate(45deg);
	-ms-transform     : rotate(45deg);
	-o-transform      : rotate(45deg);
	transform         : rotate(45deg);
}

.cd-search-trigger span {
	/* container for the X icon */
	position : absolute;
	height   : 100%;
	width    : 100%;
	top      : 0;
	left     : 0;
}

.cd-search-trigger span::before, .cd-search-trigger span::after {
	/* close icon */
	content                     : '';
	position                    : absolute;
	display                     : inline-block;
	height                      : 3px;
	width                       : 22px;
	top                         : 50%;
	margin-top                  : -2px;
	left                        : 50%;
	margin-left                 : -11px;
	background                  : #2E3233;
	opacity                     : 0;
	/* Force Hardware Acceleration in WebKit */
	-webkit-transform           : translateZ(0);
	-moz-transform              : translateZ(0);
	-ms-transform               : translateZ(0);
	-o-transform                : translateZ(0);
	transform                   : translateZ(0);
	-webkit-backface-visibility : hidden;
	backface-visibility         : hidden;
	-webkit-transition          : opacity 0.3s, -webkit-transform 0.3s;
	-moz-transition             : opacity 0.3s, -moz-transform 0.3s;
	transition                  : opacity 0.3s, transform 0.3s;
}

.cd-search-trigger span::before {
	-webkit-transform : rotate(45deg);
	-moz-transform    : rotate(45deg);
	-ms-transform     : rotate(45deg);
	-o-transform      : rotate(45deg);
	transform         : rotate(45deg);
}

.cd-search-trigger span::after {
	-webkit-transform : rotate(-45deg);
	-moz-transform    : rotate(-45deg);
	-ms-transform     : rotate(-45deg);
	-o-transform      : rotate(-45deg);
	transform         : rotate(-45deg);
}

.cd-search-trigger.search-is-visible::before, .cd-search-trigger.search-is-visible::after {
	/* hide search icon */
	opacity : 0;
}

.cd-search-trigger.search-is-visible span::before, .cd-search-trigger.search-is-visible span::after {
	/* show close icon */
	opacity : 1;
}

.cd-search-trigger.search-is-visible span::before {
	-webkit-transform : rotate(135deg);
	-moz-transform    : rotate(135deg);
	-ms-transform     : rotate(135deg);
	-o-transform      : rotate(135deg);
	transform         : rotate(135deg);
}

.cd-search-trigger.search-is-visible span::after {
	-webkit-transform : rotate(45deg);
	-moz-transform    : rotate(45deg);
	-ms-transform     : rotate(45deg);
	-o-transform      : rotate(45deg);
	transform         : rotate(45deg);
}

.cd-nav-trigger span, .cd-nav-trigger span::before, .cd-nav-trigger span::after {
	/* hamburger icon in CSS */
	position   : absolute;
	display    : inline-block;
	height     : 3px;
	width      : 24px;
	background : #2E3233;
}

.cd-nav-trigger span {
	/* line in the center */
	position           : absolute;
	top                : 50%;
	right              : 10px;
	margin-top         : -2px;
	-webkit-transition : background 0.3s 0.3s;
	-moz-transition    : background 0.3s 0.3s;
	transition         : background 0.3s 0.3s;
}

.cd-nav-trigger span::before, .cd-nav-trigger span::after {
	/* other 2 lines */
	content                     : '';
	right                       : 0;
	/* Force Hardware Acceleration in WebKit */
	-webkit-transform           : translateZ(0);
	-moz-transform              : translateZ(0);
	-ms-transform               : translateZ(0);
	-o-transform                : translateZ(0);
	transform                   : translateZ(0);
	-webkit-backface-visibility : hidden;
	backface-visibility         : hidden;
	-webkit-transform-origin    : 0% 50%;
	-moz-transform-origin       : 0% 50%;
	-ms-transform-origin        : 0% 50%;
	-o-transform-origin         : 0% 50%;
	transform-origin            : 0% 50%;
	-webkit-transition          : -webkit-transform 0.3s 0.3s;
	-moz-transition             : -moz-transform 0.3s 0.3s;
	transition                  : transform 0.3s 0.3s;
}

.cd-nav-trigger span::before {
	/* menu icon top line */
	top : -6px;
}

.cd-nav-trigger span::after {
	/* menu icon bottom line */
	top : 6px;
}

.cd-nav-trigger.nav-is-visible span {
	/* hide line in the center */
	background : rgba(46, 50, 51, 0);
}

.cd-nav-trigger.nav-is-visible span::before, .cd-nav-trigger.nav-is-visible span::after {
	/* keep visible other 2 lines */
	background : #2E3233;
}

.cd-nav-trigger.nav-is-visible span::before {
	-webkit-transform : translateX(4px) translateY(-3px) rotate(45deg);
	-moz-transform    : translateX(4px) translateY(-3px) rotate(45deg);
	-ms-transform     : translateX(4px) translateY(-3px) rotate(45deg);
	-o-transform      : translateX(4px) translateY(-3px) rotate(45deg);
	transform         : translateX(4px) translateY(-3px) rotate(45deg);
}

.cd-nav-trigger.nav-is-visible span::after {
	-webkit-transform : translateX(4px) translateY(2px) rotate(-45deg);
	-moz-transform    : translateX(4px) translateY(2px) rotate(-45deg);
	-ms-transform     : translateX(4px) translateY(2px) rotate(-45deg);
	-o-transform      : translateX(4px) translateY(2px) rotate(-45deg);
	transform         : translateX(4px) translateY(2px) rotate(-45deg);
}

@media only screen and (min-width : 9999px) {
	.cd-nav-trigger {
		display : none;
	}
}

.cd-primary-nav, .cd-primary-nav ul {
	position                   : fixed;
	top                        : 0;
	right                      : 0;
	height                     : 100%;
	width                      : 299px;
	background                 : #2E3233; /* USED - main background*/
	/* MJK to remove scroll bars at base of mobile menu */
	overflow                   : hidden;
	/* MJK end */
	-webkit-overflow-scrolling : touch;
	z-index                    : 1;
	/* Force Hardware Acceleration in WebKit */
	-webkit-transform          : translateZ(0);
	-moz-transform             : translateZ(0);
	-ms-transform              : translateZ(0);
	-o-transform               : translateZ(0);
	transform                  : translateZ(0);
	-webkit-transform          : translateX(0);
	-moz-transform             : translateX(0);
	-ms-transform              : translateX(0);
	-o-transform               : translateX(0);
	transform                  : translateX(0);
	-webkit-transition         : -webkit-transform 0.3s;
	-moz-transition            : -moz-transform 0.3s;
	transition                 : transform 0.3s;
}

.cd-primary-nav a, .cd-primary-nav ul a {
	display                 : block;
	height                  : 50px;
	line-height             : 50px;
	padding                 : 0 20px;
	color                   : #FFFFFF;
	-webkit-font-smoothing  : antialiased;
	-moz-osx-font-smoothing : grayscale;
	overflow                : hidden;
	text-overflow           : ellipsis;
	white-space             : nowrap;
	border-bottom           : 1px solid #3A3F40; /* USED */
	-webkit-transform       : translateZ(0);
	-moz-transform          : translateZ(0);
	-ms-transform           : translateZ(0);
	-o-transform            : translateZ(0);
	transform               : translateZ(0);
	will-change             : transform, opacity;
	-webkit-transition      : -webkit-transform 0.3s, opacity 0.3s;
	-moz-transition         : -moz-transform 0.3s, opacity 0.3s;
	transition              : transform 0.3s, opacity 0.3s;
}

.cd-primary-nav.is-hidden, .cd-primary-nav ul.is-hidden {
	/* secondary navigations hidden by default */
	-webkit-transform : translateX(100%);
	-moz-transform    : translateX(100%);
	-ms-transform     : translateX(100%);
	-o-transform      : translateX(100%);
	transform         : translateX(100%);
}

.cd-primary-nav.moves-out > li > a, .cd-primary-nav ul.moves-out > li > a {
	/* push the navigation items to the left - and lower down opacity - when secondary nav slides in */
	-webkit-transform : translateX(-100%);
	-moz-transform    : translateX(-100%);
	-ms-transform     : translateX(-100%);
	-o-transform      : translateX(-100%);
	transform         : translateX(-100%);
	opacity           : 0;
}

@media only screen and (max-width : 9999px) {
	.nav-on-left .cd-primary-nav, .nav-on-left .cd-primary-nav ul {
		right : auto;
		left  : 0;
	}

	.cd-primary-nav a, .cd-primary-nav ul a {
		color : white !important;
	}

	.cd-primary-nav a:hover, .cd-primary-nav ul a:hover {
		background : #bbb;
		color:black !important;
	}
}

.cd-primary-nav .see-all a {
	/* different style for the See all button on mobile and tablet */
	color : #00A4E8;
}

.cd-primary-nav .cd-nav-gallery .cd-nav-item, .cd-primary-nav .cd-nav-icons .cd-nav-item {
	/* items with picture (or icon) and title */
	height      : 80px;
	line-height : 80px;
}

.cd-primary-nav .cd-nav-gallery .cd-nav-item h3, .cd-primary-nav .cd-nav-icons .cd-nav-item h3 {
	overflow      : hidden;
	text-overflow : ellipsis;
}

.cd-primary-nav .cd-nav-gallery .cd-nav-item {
	padding-left : 90px;
}

.cd-primary-nav .cd-nav-gallery .cd-nav-item img {
	position   : absolute;
	display    : block;
	height     : 40px;
	width      : auto;
	left       : 20px;
	top        : 50%;
	margin-top : -20px;
}

.cd-primary-nav .cd-nav-icons .cd-nav-item {
	padding-left : 75px;
}

.cd-primary-nav .cd-nav-icons .cd-nav-item p {
	color     : #2E3233;
	font-size : 1.3rem;
	/* hide description on small devices */
	display   : none;
}

.cd-primary-nav .cd-nav-icons .cd-nav-item::before {
	/* item icon */
	content             : '';
	display             : block;
	position            : absolute;
	left                : 20px;
	top                 : 50%;
	margin-top          : -20px;
	width               : 40px;
	height              : 40px;
	background-repeat   : no-repeat;
	background-position : center center;
	background-size     : 40px 40px;
}

/*.cd-primary-nav .cd-nav-icons .cd-nav-item.item-1::before {*/
/*background-image : url("../img/line-icon-1.svg");*/
/*}*/

/*.cd-primary-nav .cd-nav-icons .cd-nav-item.item-2::before {*/
/*background-image : url("../img/line-icon-2.svg");*/
/*}*/

/*.cd-primary-nav .cd-nav-icons .cd-nav-item.item-3::before {*/
/*background-image : url("../img/line-icon-3.svg");*/
/*}*/

/*.cd-primary-nav .cd-nav-icons .cd-nav-item.item-4::before {*/
/*background-image : url("../img/line-icon-4.svg");*/
/*}*/

/*.cd-primary-nav .cd-nav-icons .cd-nav-item.item-5::before {*/
/*background-image : url("../img/line-icon-5.svg");*/
/*}*/

/*.cd-primary-nav .cd-nav-icons .cd-nav-item.item-6::before {*/
/*background-image : url("../img/line-icon-6.svg");*/
/*}*/

/*.cd-primary-nav .cd-nav-icons .cd-nav-item.item-7::before {*/
/*background-image : url("../img/line-icon-7.svg");*/
/*}*/

/*.cd-primary-nav .cd-nav-icons .cd-nav-item.item-8::before {*/
/*background-image : url("../img/line-icon-8.svg");*/
/*}*/

@media only screen and (max-width : 9999px) {
	.cd-primary-nav {
		/* by default .cd-primary-nav is hidden - trick for iOS devices where you can see the navigation if you pull down */
		visibility         : hidden;
		-webkit-transition : visibility 0s 0.3s;
		-moz-transition    : visibility 0s 0.3s;
		transition         : visibility 0s 0.3s;
	}

	.cd-primary-nav.nav-is-visible {
		visibility         : visible;
		-webkit-transition : visibility 0s 0s;
		-moz-transition    : visibility 0s 0s;
		transition         : visibility 0s 0s;
	}
}

@media only screen and (min-width : 9999px) {
	.cd-primary-nav {
		position   : static;
		padding    : 0 50px 0 0;
		height     : auto;
		width      : auto;
		float      : right;
		overflow   : visible;
		background : transparent;
	}

	.cd-primary-nav::after {
		clear   : both;
		content : "";
		display : table;
	}

	.cd-primary-nav.moves-out > li > a {
		/* reset mobile style */
		-webkit-transform : translateX(0);
		-moz-transform    : translateX(0);
		-ms-transform     : translateX(0);
		-o-transform      : translateX(0);
		transform         : translateX(0);
		opacity           : 1;
	}

	.cd-primary-nav ul {
		position   : static;
		height     : auto;
		width      : auto;
		background : transparent;
		overflow   : visible;
		z-index    : 3;
	}

	.cd-primary-nav ul.is-hidden {
		/* reset mobile style */
		-webkit-transform : translateX(0);
		-moz-transform    : translateX(0);
		-ms-transform     : translateX(0);
		-o-transform      : translateX(0);
		transform         : translateX(0);
	}

	.cd-primary-nav ul.moves-out > li > a {
		/* reset mobile style */
		-webkit-transform : translateX(0);
		-moz-transform    : translateX(0);
		-ms-transform     : translateX(0);
		-o-transform      : translateX(0);
		transform         : translateX(0);
		opacity           : 1;
	}

	.cd-primary-nav > li {
		float       : left;
		margin-left : 2em;
	}

	.cd-primary-nav > li > a {
		/* main navigation buttons style */
		position           : relative;
		display            : inline-block;
		height             : 80px;
		line-height        : 80px;
		padding            : 0 10px;
		color              : #2E3233;
		overflow           : visible;
		border-bottom      : none;
		-webkit-transition : color 0.3s, box-shadow 0.3s;
		-moz-transition    : color 0.3s, box-shadow 0.3s;
		transition         : color 0.3s, box-shadow 0.3s;
	}

	.cd-primary-nav > li > a:hover {
		color : #00A4E8;
	}

	.cd-primary-nav > li > a.selected {
		color      : #00A4E8;
		box-shadow : inset 0 -2px 0 #00A4E8;
	}

	.cd-primary-nav .go-back, .cd-primary-nav .see-all {
		display : none;
	}

	.cd-primary-nav .cd-secondary-nav, .cd-primary-nav .cd-nav-gallery, .cd-primary-nav .cd-nav-icons {
		/* dropdown menu style */
		position           : absolute;
		top                : 80px;
		width              : 100vw;
		background         : #FFFFFF;
		padding            : 30px 64px 30px;
		box-shadow         : inset 0 1px 0 #E2E3DF, 0 3px 6px rgba(0, 0, 0, 0.05);
		-webkit-transform  : translateX(0);
		-moz-transform     : translateX(0);
		-ms-transform      : translateX(0);
		-o-transform       : translateX(0);
		transform          : translateX(0);
		-webkit-transition : opacity .3s 0s, visibility 0s 0s;
		-moz-transition    : opacity .3s 0s, visibility 0s 0s;
		transition         : opacity .3s 0s, visibility 0s 0s;
	}

	.cd-nav-icons {
		/*width: auto !important;*/
	}

	.cd-primary-nav .cd-secondary-nav::after, .cd-primary-nav .cd-nav-gallery::after, .cd-primary-nav .cd-nav-icons::after {
		clear   : both;
		content : "";
		display : table;
	}

	.cd-primary-nav .cd-secondary-nav.is-hidden, .cd-primary-nav .cd-nav-gallery.is-hidden, .cd-primary-nav .cd-nav-icons.is-hidden {
		opacity            : 0;
		visibility         : hidden;
		-webkit-transition : opacity .3s 0s, visibility 0s .3s;
		-moz-transition    : opacity .3s 0s, visibility 0s .3s;
		transition         : opacity .3s 0s, visibility 0s .3s;
	}

	.cd-primary-nav .cd-secondary-nav > .see-all, .cd-primary-nav .cd-nav-gallery > .see-all, .cd-primary-nav .cd-nav-icons > .see-all {
		/* this is the BIG See all button at the bottom of the dropdown menu */
		display  : block;
		position : absolute;
		left     : 0;
		bottom   : 0;
		height   : 80px;
		width    : 100%;
		overflow : hidden;
		/* reset some inherited style */
		margin   : 0;
		padding  : 0;
	}

	.cd-primary-nav .cd-secondary-nav > .see-all a, .cd-primary-nav .cd-nav-gallery > .see-all a, .cd-primary-nav .cd-nav-icons > .see-all a {
		position           : absolute;
		width              : 100%;
		height             : 100%;
		top                : 0;
		left               : 0;
		font-size          : 2.2rem;
		font-weight        : bold;
		text-align         : center;
		line-height        : 80px;
		border-top         : 1px solid #E2E3DF;
		/* reset some inherited style */
		border-bottom      : none;
		margin             : 0;
		padding            : 0;
		-webkit-transition : color 0.2s, background 0.2s, border 0.2s;
		-moz-transition    : color 0.2s, background 0.2s, border 0.2s;
		transition         : color 0.2s, background 0.2s, border 0.2s;
	}

	.cd-primary-nav .cd-secondary-nav > .see-all a:hover, .cd-primary-nav .cd-nav-gallery > .see-all a:hover, .cd-primary-nav .cd-nav-icons > .see-all a:hover {
		background   : #2E3233;
		border-color : #2E3233;
		color        : #FFFFFF;
	}

	.cd-primary-nav .cd-secondary-nav > li {
		/* change the height according to your needs - you can even set height: auto */
		height                     : auto;
		/* here you set the number of columns - use width percentage */
		width                      : 23%;
		float                      : left;
		margin-right               : 2.66%;
		border-right               : 1px solid #E2E3DF;
		overflow                   : hidden;
		overflow-x                 : hidden;
		overflow-y                 : auto;
		-webkit-overflow-scrolling : touch;
	}

	.cd-primary-nav .cd-secondary-nav > li:nth-child(4n+1) {
		/* +2 because we have 2 list items with display:none */
		margin-right : 0;
		border-right : none;
	}

	.cd-primary-nav .cd-secondary-nav > li > a {
		/* secondary nav title */
		/*color         : #00A4E8;*/
		font-weight   : bold;
		font-size     : 1.6rem;
		margin-bottom : .6em;
	}

	.cd-primary-nav .cd-secondary-nav a {
		height        : 30px;
		line-height   : 30px;
		padding       : 0 18% 0 0;
		color         : #2E3233;
		border-bottom : none;
		font-size     : 1.4rem;
	}

	.cd-primary-nav .cd-secondary-nav a:hover {
		color : #00A4E8;
	}

	.cd-primary-nav .cd-secondary-nav ul {
		/* Force Hardware Acceleration in WebKit */
		-webkit-transform : translateZ(0);
		-moz-transform    : translateZ(0);
		-ms-transform     : translateZ(0);
		-o-transform      : translateZ(0);
		transform         : translateZ(0);
	}

	.cd-primary-nav .cd-secondary-nav ul ul {
		/* tertiary navigation */
		position : absolute;
		top      : 0;
		left     : 0;
		height   : 100%;
		width    : 100%;
	}

	.cd-primary-nav .cd-secondary-nav ul ul.is-hidden {
		-webkit-transform : translateX(100%);
		-moz-transform    : translateX(100%);
		-ms-transform     : translateX(100%);
		-o-transform      : translateX(100%);
		transform         : translateX(100%);
	}

	.cd-primary-nav .cd-secondary-nav ul ul .go-back {
		display : block;
	}

	.cd-primary-nav .cd-secondary-nav ul ul .go-back a {
		color : transparent;
	}

	.cd-primary-nav .cd-secondary-nav ul ul .see-all {
		display : block;
	}

	.cd-primary-nav .cd-secondary-nav .moves-out > li > a {
		/* push the navigation items to the left - and lower down opacity - when tertiary nav slides in */
		-webkit-transform : translateX(-100%);
		-moz-transform    : translateX(-100%);
		-ms-transform     : translateX(-100%);
		-o-transform      : translateX(-100%);
		transform         : translateX(-100%);
	}

	.cd-primary-nav .cd-nav-gallery li {
		/* set here number of columns - use width percentage */
		width  : 22%;
		float  : left;
		margin : 0 4% 40px 0;
	}

	.cd-primary-nav .cd-nav-gallery li:nth-child(4n+2) {
		/* +2 because we have two additional list items with display:none */
		margin-right : 0;
	}

	.cd-primary-nav .cd-nav-gallery .cd-nav-item {
		border-bottom : none;
		padding       : 0;
		height        : auto;
		line-height   : 1.2;
	}

	.cd-primary-nav .cd-nav-gallery .cd-nav-item img {
		position      : static;
		margin-top    : 0;
		height        : auto;
		width         : 100%;
		margin-bottom : .6em;
	}

	.cd-primary-nav .cd-nav-gallery .cd-nav-item h3 {
		color       : #00A4E8;
		font-weight : bold;
		padding     : 0 .4em;
	}

	.cd-primary-nav .cd-nav-icons li {
		/* set here number of columns - use width percentage */
		/*width  : 32%;*/
		float  : left;
		margin : 0 2% 20px 0;
	}

	.cd-primary-nav .cd-nav-icons li a.button {
		display       : inline-block;
		border-bottom : none;
		/*width: auto !important;*/
	}

	.cd-primary-nav .cd-nav-icons li.has-html {
		/* set here number of columns - use width percentage */
		/*width  : 32%;*/
		width  : 100%;
		margin : 0 2% 20px 0;
	}

	.cd-primary-nav .cd-nav-icons li:nth-child(3n+2) {
		/* +2 because we have two additional list items with display:none */
		margin-right : 0;
	}

	.cd-primary-nav .cd-nav-icons .cd-nav-item {
		border-bottom : none;
		height        : 80px;
		line-height   : 1.2;
		padding       : 24px 0 0 85px;
		position      : relative;
	}

	.cd-primary-nav .cd-nav-icons .cd-nav-item:hover {
		background : #F6F6F5;
	}

	.cd-primary-nav .cd-nav-icons .cd-nav-item h3 {
		color       : #00A4E8;
		font-weight : bold;
	}

	.cd-primary-nav .cd-nav-icons .cd-nav-item p {
		display : block;
	}

	.cd-primary-nav .cd-nav-icons .cd-nav-item::before {
		left : 25px;
	}
}

.has-children > a, .go-back a {
	position : relative;
}

.has-children > a::before, .has-children > a::after, .go-back a::before, .go-back a::after {
	/* arrow icon in CSS - for element with nested unordered lists */
	content                     : '';
	position                    : absolute;
	top                         : 50%;
	margin-top                  : -1px;
	display                     : inline-block;
	height                      : 2px;
	width                       : 10px;
	background                  : #FFFFFF;
	-webkit-backface-visibility : hidden;
	backface-visibility         : hidden;
}

.has-children > a:hover::before, .has-children > a:hover::after, .go-back a:hover::before, .go-back a:hover::after {
	/* arrow icon in CSS - for element with nested unordered lists */
	background                  :black;
}

.has-children > a::before, .go-back a::before {
	-webkit-transform : rotate(45deg);
	-moz-transform    : rotate(45deg);
	-ms-transform     : rotate(45deg);
	-o-transform      : rotate(45deg);
	transform         : rotate(45deg);
}

.has-children > a::after, .go-back a::after {
	-webkit-transform : rotate(-45deg);
	-moz-transform    : rotate(-45deg);
	-ms-transform     : rotate(-45deg);
	-o-transform      : rotate(-45deg);
	transform         : rotate(-45deg);
}

@media only screen and (min-width : 9999px) {
	.has-children > a::before, .has-children > a::after, .go-back a::before, .go-back a::after {
		background : #C9CBC4;
	}

	.has-children > a:hover::before, .has-children > a:hover::after, .go-back a:hover::before, .go-back a:hover::after {
		background : #00A4E8;
	}
}

.has-children > a {
	padding-right : 40px;
}

.has-children > a::before, .has-children > a::after {
	/* arrow goes on the right side - children navigation */
	right                    : 20px;
	-webkit-transform-origin : 9px 50%;
	-moz-transform-origin    : 9px 50%;
	-ms-transform-origin     : 9px 50%;
	-o-transform-origin      : 9px 50%;
	transform-origin         : 9px 50%;
}

.cd-primary-nav .go-back a {
	padding-left : 40px;
}

.cd-primary-nav .go-back a::before, .cd-primary-nav .go-back a::after {
	/* arrow goes on the left side - go back button */
	left                     : 20px;
	-webkit-transform-origin : 1px 50%;
	-moz-transform-origin    : 1px 50%;
	-ms-transform-origin     : 1px 50%;
	-o-transform-origin      : 1px 50%;
	transform-origin         : 1px 50%;
}

@media only screen and (min-width : 9999px) {
	.has-children > a::before, .has-children > a::after {
		right : 15%;
	}

	.cd-primary-nav > .has-children > a {
		/* main navigation arrows on larger devices */
		padding-right : 30px !important;
	}

	.cd-primary-nav > .has-children > a::before, .cd-primary-nav > .has-children > a::after {
		width                       : 9px;
		-webkit-transform-origin    : 50% 50%;
		-moz-transform-origin       : 50% 50%;
		-ms-transform-origin        : 50% 50%;
		-o-transform-origin         : 50% 50%;
		transform-origin            : 50% 50%;
		background                  : #C9CBC4;
		-webkit-backface-visibility : hidden;
		backface-visibility         : hidden;
		-webkit-transition          : width 0.3s, -webkit-transform 0.3s;
		-moz-transition             : width 0.3s, -moz-transform 0.3s;
		transition                  : width 0.3s, transform 0.3s;
	}

	.cd-primary-nav > .has-children > a::before {
		right : 12px;
	}

	.cd-primary-nav > .has-children > a::after {
		right : 7px;
	}

	.cd-primary-nav > .has-children > a.selected::before, .cd-primary-nav > .has-children > a.selected::after {
		width : 14px;
	}

	.cd-primary-nav > .has-children > a.selected::before {
		-webkit-transform : translateX(5px) rotate(-45deg);
		-moz-transform    : translateX(5px) rotate(-45deg);
		-ms-transform     : translateX(5px) rotate(-45deg);
		-o-transform      : translateX(5px) rotate(-45deg);
		transform         : translateX(5px) rotate(-45deg);
	}

	.cd-primary-nav > .has-children > a.selected::after {
		-webkit-transform : rotate(45deg);
		-moz-transform    : rotate(45deg);
		-ms-transform     : rotate(45deg);
		-o-transform      : rotate(45deg);
		transform         : rotate(45deg);
	}

	.cd-secondary-nav > .has-children > a::before, .cd-secondary-nav > .has-children > a::after {
		/* remove arrows on secondary nav titles */
		display : none;
	}

	.cd-primary-nav .go-back a {
		padding-left : 20px;
	}

	.cd-primary-nav .go-back a::before, .cd-primary-nav .go-back a::after {
		left : 1px;
	}
}

.cd-nav {
	position : relative;
}

.cd-search {
	position           : fixed;
	top                : 0;
	right              : 0;
	height             : auto;
	width              : 295px;
	z-index            : 9999;
	opacity            : 0;
	visibility         : hidden;
	-webkit-transition : opacity .3s 0s, visibility 0s .3s;
	-moz-transition    : opacity .3s 0s, visibility 0s .3s;
	transition         : opacity .3s 0s, visibility 0s .3s;
	margin-right       : 100px;
}

.cd-lang {
	position           : fixed;
	height             : auto;
	right              : 0;
	z-index            : 9999;
	opacity            : 0;
	visibility         : hidden;
	-webkit-transition : opacity .3s 0s, visibility 0s .3s;
	-moz-transition    : opacity .3s 0s, visibility 0s .3s;
	transition         : opacity .3s 0s, visibility 0s .3s;
	width              : 100%;
	top                : 88px;
	background         : white;
	margin-right       : 0;
	text-align         : right;
	/*padding            : 8px 10px 0 0;*/

}

.cd-lang a.lang-icon {
	display : inline-block;
	/*background:yellow;*/
	padding : 5px 10px;
}

.cd-lang a.lang-icon img {
	vertical-align : middle;
	margin         : 5px;
}

.cd-search form {
	/*height : 100%;*/
	/*width : 100%;*/
}

.cd-search form input {
	/*border-radius      : 0;*/
	/*border             : none;*/
	/*background         : #FFFFFF;*/
	/*height             : 100%;*/
	/*width              : 100%;*/
	/*padding            : 0 5%;*/
	/*box-shadow         : inset 0 1px 0 #E2E3DF, 0 3px 6px rgba(0, 0, 0, 0.05);*/
	/*-webkit-appearance : none;*/
	/*-moz-appearance    : none;*/
	/*-ms-appearance     : none;*/
	/*-o-appearance      : none;*/
	/*appearance         : none;*/
}

@media only screen and (max-width : 600px) {
	.cd-search {
		height       : auto;
		width        : 100%;
		top          : 88px;
		background   : white;
		margin-right : 0;
	}

	form#site-search {
		width  : 100%;
		margin : 5px 0 0 0;

	}

	form#site-search div#searchwrapper {
		border : none;
		width  : 100%;
		margin : 0;
	}

	form#site-search input {
		width     : 85%;
		font-size : 120%;
		padding   : 5px 10px;
	}

	/* do not group these rules */
	form#site-search input::-webkit-input-placeholder {
		color : #CCCCCC;
	}

	form#site-search input:-moz-placeholder {
		/* FF 4-18 */
		color : #CCCCCC;
	}

	form#site-search input::-moz-placeholder {
		/* FF 19+ */
		color : #CCCCCC;
	}

	form#site-search input:-ms-input-placeholder {
		/* IE 10+ */
		color : #CCCCCC;
	}

	form#site-search button#searchbutton {
		float  : right;
		height : 32px;
		width  : 32px;
	}

}

.cd-search input::-webkit-input-placeholder {
	color : #C9CBC4;
}

.cd-search input::-moz-placeholder {
	color : #C9CBC4;
}

.cd-search input:-moz-placeholder {
	color : #C9CBC4;
}

.cd-search input:-ms-input-placeholder {
	color : #C9CBC4;
}

.cd-search input:focus {
	outline : none;
}

.cd-search.is-visible {
	opacity            : 1;
	visibility         : visible;
	-webkit-transition : opacity .3s 0s, visibility 0s 0s;
	-moz-transition    : opacity .3s 0s, visibility 0s 0s;
	transition         : opacity .3s 0s, visibility 0s 0s;
}

.cd-lang.is-visible {
	opacity            : 1;
	visibility         : visible;
	-webkit-transition : opacity .3s 0s, visibility 0s 0s;
	-moz-transition    : opacity .3s 0s, visibility 0s 0s;
	transition         : opacity .3s 0s, visibility 0s 0s;
}

.nav-is-fixed .cd-search {
	position : fixed;
}

@media only screen and (min-width : 9999px) {
	/*.cd-search {*/
	/*height : auto;*/
	/*top    : 100px;*/
	/*}*/
	.cd-search input {
		/*padding     : 0 2em;*/
		/*font-size   : 3.2rem;*/
		/*font-weight : 300;*/
	}
}

.cd-overlay {
	/* shadow layer visible when navigation is active */
	position                    : fixed;
	z-index                     : 999;
	height                      : 100%;
	width                       : 100%;
	top                         : 0;
	left                        : 0;
	cursor                      : pointer;
	/*background-color            : rgba(0, 157, 235, 0.8);*/
	background-color            : rgba(0, 0, 0, 0.8);
	visibility                  : hidden;
	opacity                     : 0;
	-webkit-backface-visibility : hidden;
	backface-visibility         : hidden;
	-webkit-transition          : opacity 0.3s 0s, visibility 0s 0.3s, -webkit-transform 0.3s 0s;
	-moz-transition             : opacity 0.3s 0s, visibility 0s 0.3s, -moz-transform 0.3s 0s;
	transition                  : opacity 0.3s 0s, visibility 0s 0.3s, transform 0.3s 0s;
}

.cd-overlay.is-visible {
	opacity            : 1;
	visibility         : visible;
	-webkit-transition : opacity 0.3s 0s, visibility 0s 0s, -webkit-transform 0.3s 0s;
	-moz-transition    : opacity 0.3s 0s, visibility 0s 0s, -moz-transform 0.3s 0s;
	transition         : opacity 0.3s 0s, visibility 0s 0s, transform 0.3s 0s;
}

@media only screen and (max-width : 9999px) {
	.cd-overlay.is-visible {
		-webkit-transform : translateX(-299px);
		-moz-transform    : translateX(-299px);
		-ms-transform     : translateX(-299px);
		-o-transform      : translateX(-299px);
		transform         : translateX(-299px);
	}

	.nav-on-left .cd-overlay.is-visible {
		-webkit-transform : translateX(299px);
		-moz-transform    : translateX(299px);
		-ms-transform     : translateX(299px);
		-o-transform      : translateX(299px);
		transform         : translateX(299px);
	}

	.cd-overlay.is-visible.search-is-visible, .nav-on-left .cd-overlay.is-visible.search-is-visible {
		-webkit-transform : translateX(0);
		-moz-transform    : translateX(0);
		-ms-transform     : translateX(0);
		-o-transform      : translateX(0);
		transform         : translateX(0);
	}

}

/* --------------------------------

support for no js

-------------------------------- */
.no-js .cd-primary-nav {
	position   : relative;
	height     : auto;
	width      : 100%;
	overflow   : visible;
	visibility : visible;
	z-index    : 2;
}

.no-js .cd-search {
	position   : relative;
	top        : 0;
	opacity    : 1;
	visibility : visible;
}

@media only screen and (min-width : 9999px) {
	.no-js .cd-primary-nav {
		position : absolute;
		z-index  : 3;
		display  : inline-block;
		width    : auto;
		top      : 0;
		right    : 150px;
		padding  : 0;
	}

	.no-js .nav-is-fixed .cd-primary-nav {
		position : fixed;
	}
}

/*
===============================================================================
	CODE BELOW BY MJK
===============================================================================
*/

/*
---------------------------------------
hacking about to remove styling from li
---------------------------------------
 */

li.nav-bare {
	height   : auto !important;
	width    : 100% !important;
	border   : none !important;
	overflow : auto;
}

li.nav-bare a.flag {
	display     : inline-block;
	height      : 38px;
	padding     : 0 2em 0 0;
	color       : black;
	font-weight : normal;
	transition  : color 0.5s ease;
}

li.nav-bare a img {
	margin         : 0 !important;
	vertical-align : middle;
	/*height:100%;*/
}

li.nav-bare a.button {
	display     : block;
	float       : right;
	padding     : 0 0.5em 3px;
	font-weight : bold;
	font-size   : 13px;
	border      : none;
	background  : #A1A2A2;
	color       : white;
}

li.nav-bare a.button:hover {
	background : #00A4E8;
	color      : white;
}

li.nav-bare div#register {
	width         : 25%;
	float         : right;
	padding-right : 2.66%;
	font-size     : 90%;
}

li.nav-bare div#register p {
	margin-bottom : 0.5em;
}

@media only screen and (max-width : 9999px) {
	li.nav-bare div#register {
		width        : 100%;
		padding-left : 2.66%;
		margin-top   : 1em;
		border-top   : 1px solid #3A3F40;
	}

	li.nav-bare div#register p {
		color : white;
	}
}

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

	a.flag-icon img {
		margin-top : 12px;
	}

	a.flag {
		height : 58px !important;
		width  : 99%;
	}
}

/*
 --------------
 nav login form
 --------------
 */

form#nav-login {
	display      : block;
	width        : 25.66%;
	padding-left : 2.66%;
	border-left  : 1px solid #E2E3DF;
	float        : right;
	margin       : 0 0 0 1em;
}

form#nav-login h3 {
	text-align  : left;
	color       : #00A4E8;
	/*font-size   : 1.6rem;*/
	font-weight : bold;
	margin      : 0 0 0.6em 0;
}

form#nav-login label {
	display   : inline-block;
	width     : 28%;
	margin    : 0 0 1em 0;
	font-size : 90%;
}

form#nav-login input {
	display : inline-block;
	padding : 3px;
	margin  : 0 0 1em 0;
	width   : 70%;
	/*float:right;*/
}

form#nav-login button {
	font-weight : bold;
	float       : right;
	padding     : 0.5em;
	border      : none;
	color       : white;
}

form#nav-login a.button:hover,
form#nav-login button:hover {
	background : #00A4E8;
}

@media only screen and (max-width : 9999px) {
	form#nav-login {
		width         : 95%;
		padding       : 0.25em;
		border        : none;
		float         : none;
		margin        : 0.25em;
		color         : white;
		border-bottom : 1px solid #3A3F40;
		overflow      : auto;
	}

	form#nav-login label {
		display : block;
		width   : 90%;
		margin  : 0 0 0.25em;
	}

	form#nav-login input {
		display : inline-block;
		padding : 3px;
		width   : 95%;
	}

	form#nav-login a.button {
		height      : auto;
		line-height : 1;
		padding     : 10px 0.5em 10px;
	}

}

form#nav-enquiry-experiment {
	width       : 500px;
	padding     : 1em 0 0 3em;
	border-left : 1px solid #E2E3DF;
	float       : right;
	margin      : 0 0 0 1em;
}

form#nav-enquiry-experiment h3 {
	text-align  : left;
	color       : #00A4E8;
	font-weight : bold;
	margin      : 0 0 0.6em 0;
}

form#nav-enquiry-experiment label {
	display        : block;
	/*width          : 15%;*/
	margin         : 0 0 0.25em 0;
	font-size      : 90%;
	vertical-align : top;
}

form#nav-enquiry-experiment input {
	display : inline-block;
	padding : 3px;
	margin  : 0 0 1em 0;
	width   : 95.5%;
	border  : 1px solid #A1A2A2;
	/*float:right;*/
}

form#nav-enquiry-experiment button {
	float  : right;
	margin : 0 1em 1em 0
}

form#nav-enquiry-experiment a.button:hover,
form#nav-enquiry-experiment button:hover {
	background : #00A4E8;
}

form#nav-enquiry-experiment textarea {
	width  : 94.75%;
	height : 100px;
	margin : 0 0 1em 0;
	border : 1px solid #A1A2A2;
}

@media only screen and (max-width : 9999px) {
	form#nav-enquiry-experiment {
		width         : 95%;
		padding       : 0.25em;
		border        : none;
		float         : none;
		margin        : 0.25em;
		color         : white;
		border-bottom : 1px solid #3A3F40;
		overflow      : auto;
	}
}

div.menu-freeform {
	width : 40%;
	float : right;
}

div.menu-freeform h3 {
	margin-left : 0;
}

@media only screen and (max-width : 9999px) {
	div.menu-freeform {
		width  : 90%;
		margin : 0 auto;
		float  : none;
		color  : white;
		clear  : both;
	}
}

div.menu-freeform a.button {
	width : initial !important;
}

span.menu-highlight {
	color : #007AAE;
}

li.member-highlight {
	background : #999999;
	color      : black;
}

li.member-highlight a span.menu-highlight {
	color : black;
}

/* added by KAR to suppress search suggestions until we can figure out the correct CSS formatting */
#site-search #searchwrapper .search_autocomplete {
  display	: none;
}

