	body 							{width:100%; height:100%; margin:0; overflow-x:hidden;}
	

	:root {
		--indigo: 			#233047;
		--blue-highlight: 	#098bf3;
		--blue-focus: 		#66afe9;
		--lbm-blue: 		#3f7cdf;
		--pink: 			#f0c8ff;
		--text: 			#44403b;
		--muted: 			#6b6b80;
		--grey-dark: 		#333333;
		--stone: 			#edece9;
		--steam: 			#f4f4f4;
		--offwhite: 		#f8f8f8;
		--bg: 				#ffffff;
		--white: 			#ffffff;
	}


/*	.................... PRIMARY CONTENT BLOCKS ..................................................................................................... */

	section,
	#clients > *,
	.contentx .cms > a > h2,
	.contentx .cms > h2 {
		float:left;
		width:100%;
	}

	section:first-of-type {
		padding:0px;
	}

	.banner.signpost.caption > div,
	.banner .carousel-caption {
		color:#fff;
		margin:auto;
		position: relative;
	}

	section.banner h1,
	section.banner h2 {
		font-size:3.8em;
	}

	section.banner h1 {
		font-weight:300;
	}

	section.banner h2 {
		line-height:1.4em;
	}

	section.banner .item,
	section.banner .website_tab .thumb {
		background-repeat:no-repeat !important;
		background-size:cover !important;
	}

	section.banner .item {
		display: -webkit-flex;
		display: flex;
		background-position:center !important;
		min-height:500px;
		margin-bottom:30px;
	}
	
	picture,
	picture img {
		float:left;
		object-fit: contain;
		width: 100%;
	}
	
	picture {
		height:100%;
	}

/* .................... SECONDARY (COMMON) LAYOUT STYLING ............................................................................................. */

	#project-examples {
		padding-top:30px;
	}

	#project-examples > * {
		margin-bottom:30px;
	}

	#project-examples > *,
	#project-examples > * > div {
		color:inherit;
		text-align:center;
	}


/* .................... GENERAL PAGE STRUCTURE ...................................................................................................... */

	.flex-group {		    display: -webkit-flex;
							display: flex;
							-webkit-flex-flow: row wrap;
							flex-flow: row wrap;
							-webkit-justify-content: space-between;
							justify-content: space-between;}
							



/* .................... CMS ......................................................................................................................... */


	.contentx #intro {
		max-height: 600px;
		min-height: 400px;
		overflow-y: hidden;
		padding:0px 15px;
		position: relative;
	}

	.contentx #intro p {
		font-size:2rem;
	}

	.contentx #intro > div {
		position: absolute;
		text-align: center;
		top: 3em;
		z-index: 1;
	}

	.contentx #intro.banner img {		
		z-index: 0;
	}

	.contentx .cms div > .container > .cms { 
		padding-bottom:2vw; 
		padding-top:20px; 
	}

	.contentx .cms > a,
	.contentx .cms > a > h2 {
		color:#000;
	}

	.contentx .cms > a > h2,
	.contentx .cms > h2 {
		margin-top: 20px;
	}

	.contentx div.cms {
		font-size: 1.1em;
		/*line-height: 170%;*/
	}


	#clients {
		background: url(/_images/bg/bg_diag2_ltgrey.png) repeat!important;
		margin-top:20px;
	}


/* .................... FORMS ........................................................................................................................ */

	Textarea,
	Input,
	Select {
		background-color:#ffffff;
		border:#dddddd 1px solid;
		color:#1a2575;
		font-family:tahoma, sans-serif, arial, verdana;
		font-size:1.0em;
		padding:2px;
	}
					

/* Navigation .................................................................................................................. */

	nav	{
		background-color: #fff;
		clear:both;
		float:left;
		height:1835px;
		margin-bottom:0px;
		width:100%;
		z-index: 20;
		top: 0;
		padding: 0;
		position:fixed;
	}

	nav a {
		display: block;
		height: auto;
		overflow: hidden;
		text-decoration:none;
	}

	nav #logo-small-container {
		display: none;
		clear: both;
		margin-top:1em;
		opacity: 0;
	}

	nav #logo {
		margin-top:10px;
	}
	
	nav #logo-small {
		max-width:150px;
	}

	nav #logo-lbm {
		height:3em;
	}

	nav #lbm-logo-svg {
		background: url('/_images/bg/blue-logo-interior.jpg') center no-repeat;
		background-size: cover !important;
		border: none;
		-webkit-mask-image: url('/_images/lbm-logo.svg');
		mask-image: url('/_images/lbm-logo.svg');
		height: 49px;
		width: 26px;
	}


	nav > ul {
		align-items: center;
		-webkit-align-items:center;
		color:#620507;
		display:flex;
		display: -webkit-flex;
		float: left;
		height:60px;
		margin-bottom:0px;
		padding:0px 15px;
		width: 100%;
	}

	nav.blurheader {
		background: rgba(255,255,255,0.2);
		overflow: hidden;
		height: 60px;
		left: 0;
		backdrop-filter:blur(18px) contrast(1.5) saturate(1.7);
		-webkit-backdrop-filter:blur(18px) /*contrast(1.5) saturate(1.7)*/;
	}
	
	nav.blurheader > ul * {
		z-index:50;
	}
		
	nav > ul > li:not(#logo-container):hover > a {
		background-color: rgba(255,255,255,0.8);
		border:1px solid #e8e8e8;
		color: #115098;
		text-decoration:underline;
	}
	
	nav > ul > li > a.active {
		background: #f0f0f0;
		color:#43474D !important;
	}
	

	nav > ul > li > a {
		background-color: rgba(255,255,255,0.5);
		border:1px solid transparent;
		border-radius:2px;
		color:#43474D !important;
		display: inline-block;
		font-weight: 400;
		letter-spacing:0.5px;
		padding: 5px 15px;
		position: relative;
		text-decoration: none;
		transition: border ease-in-out 0.4s;
	}

	nav #logo-container {
		margin-left:0px;
	}

	nav #lbm-logo-svg {
		padding: 5px 15px;
	}

	nav #logo-container,
	nav > ul > li {
		display: flex;
		float:left;
		position: relative;
	}
	
	nav > ul > li {
		margin-left:auto;
		margin-right:auto;
	}
	
	nav #lbm-logo-wm {
		background:none;
	}
	
	nav #logo-container img {
		margin-top:11px;
		max-width:245px;
	}

	nav + * {
		margin-top:60px;
	}
	
	
	
	
	
	

	#info-message,
	#info-message .button_container,
	#info-message .asset_button {
		display: flex;
		display:-webkit-flex;
	}

	#info-message {
		background-color:#f8f8f8;
		box-shadow: 0px 10px 100px rgba(150,150,150,0.7);
		color: #383838;
		display:flex;
		float:left;
		visibility:hidden;
		position:fixed;
		width:100%;
		bottom:-30vh;
		z-index: 9999;
		-webkit-transition:0.5s all ease;
		transition:0.5s all ease;
	}

	#info-message.present:not(.accepted) {
		visibility:visible;
		bottom:0px;
	}

	#info-message.accepted {
		bottom:-20vh;
		visibility:hidden;
	}
	
	#info-message > p > span {
		color: #000;
		font-size:1.2em;
		font-weight:500;
		margin: 0px;
	}
	
	#info-message p {
		margin: 0px;
		padding: 15px 30px;
	}	

	#info-message .button_container {
		-webkit-flex-direction:column;
		flex-direction: column;
		-webkit-flex: 1;
		flex: 1;
		background-color: #eee;
		padding:0px;
	}

	#info-message .asset_button {
		-webkit-align-items:center;
		align-items:center;
		-webkit-justify-content:center;
		justify-content:center;
		color: #333;
		font-weight: 500;
		font-size: 20px;
		margin: auto;
		padding:15px 20px;
		text-transform: capitalize;
		width: 100%;
	}
	
	#info-message .asset_button > span {
		background-color: #fff;
		border: 2px #e4e4e4 solid;
		border-radius:2px;		
		box-shadow: 0px 0px 3px rgba(200,200,200,0.1);
		padding:2px 20px;
	}
	
	#info-message .asset_button > span:before {
		color: #93bf27;
		content: "\e084";
		font-family: 'Glyphicons Halflings';
		font-weight: bold;
		margin-right: 10px;
		margin-top: 5px;
		font-size: 0.8em;
	}

	#info-message .asset_button:hover {
		text-decoration: none !important;
		color: #4a8ad4;
	}
	
	


	@media (min-width: 1200px) {
		nav > ul > li:not(#logo-container) {
			margin-left:2vw; 
		}
	}


	@media (min-width: 992px) {
		nav #logo-container {
			flex:1;
			-webkit-flex:1;
		}
		
		/*nav > ul > li > a.bespoke:after 			{ content: ' Software'; }
		nav > ul > li > a.design:before 			{ content: 'Graphic '; }
		nav > ul > li > a.design-consultancy:before { content: 'Design '; }
		nav > ul > li > a.web:after 				{ content: ' Design'; }*/
		nav > ul > li > a.contact:after 			{ content: ' Us'; }
		
		#info-message > p {
			padding-left:5vw;
		}
	}


	@media (min-width:992px) {	

		#nav-icon > .button,
		#mnu-xs {
			display: none;
		}

		
		.contentx #intro {
			background-image: none !important;
		}		
	}

	@media (max-width: 1200px) {
		nav > ul {
			justify-content: space-between;
		}
		
		nav > ul > li {
			bottom:auto;
			
		}
	}


	@media (max-width:1071px) {
		nav > ul > li:not(#logo-container) > a {
			letter-spacing: 0px;
			padding-left: 5px;
			padding-right: 5px;
		}
	}
	

	@media (max-width:992px) {
		nav > ul {
			padding:0px 10px;
		}
		
		nav > ul > li > a {
			font-size:1.1em;
			padding:5px 10px !important;
		}

		nav #lbm-logo-svg {
			height:46px;
			padding: 14px !important;
		}	
	
		nav #logo-container img {
			display:none;
		}
		
		

		body.open {
			overflow-y: hidden;
		}

		nav,
		nav > ul > li,
		nav > ul li *,
		nav #lbm-logo-wm,
		#mnu-xs {
			display: -webkit-flex;
			display: flex;
		}

		nav {
			background-color: var(--white);
			padding-bottom: 0;
			width: 100%;
		}

		nav ul {
			list-style: none;
		}

		nav > ul {
			height: 80px;
			list-style: none;
			margin: 0;
			padding-left: 30px;
		}

		nav > ul li:not(#logo-container, #nav-icon) {
			display: none;
		}

		#nav-icon > .button,
		nav #logo-container img,
		#mnu-xs.open {
			display: -webkit-flex;
			display: flex;
		}
		
		nav.blurheader {
			height: 80px;
			overflow: unset;
		}
		
		#nav-icon {
			margin: 15px 10px 15px auto;
		}
		
		nav #logo-container img {
			margin: auto auto auto 5px;
			max-width: 330px;
		}
		

		#mnu-xs,
		#mnu-xs > * {
			width: 100%;
		}

		#mnu-xs {
			-webkit-flex-direction: column;
			flex-direction: column;
			background-color: var(--white);
			height: 0px;
			margin-bottom: 0;
			opacity: 0;
			overflow: hidden;
			padding: 0;
			pointer-events: none;
			position: absolute;
			top: 0px;
			transition: height 0.7s cubic-bezier(0.5, 0, 0, 1),
						opacity 0.7s cubic-bezier(0.5, 0, 0, 1);
			width: 100%;
			z-index: 999;
		}

		#mnu-xs.open {
			box-shadow: 0 15px 40px rgb(100 100 100 / 25%);
			display: -webkit-flex;
			display: flex;
			height: 101vh;
			left: 0;
			opacity: 1;
			overflow: scroll;
			pointer-events: auto;
			/*transform: translateY(90px);*/
			z-index: 10;
		}

		
		#mnu-xs > ul {
			padding: 120px 30px 20px 30px;
		}

		#mnu-xs > ul > li {
			color: var(--text);
			margin-bottom: 15px;
			padding: 10px 10px 0px 0px;
		}

		#mnu-xs > ul > li > a {
			border-radius: 10px;
			color: #2b3a54;
			display: inline-block;
			font-size: 5rem;
			font-weight: 500;
			padding: 10px 25px;
		}


		

		/* Burger icon ------------------------------------------------------------ */
		#nav-icon,
		#nav-icon > .button {
			-webkit-align-items: center;
			align-items: center;
			-webkit-justify-content: center;
			justify-content: center;
		}
		
		#nav-icon > .button {
			-webkit-flex-direction: column;
			flex-direction: column;
			border-radius: 4px;
			margin: 0px;
			padding: 0 10px;
			width: 60px;
			z-index: 12;
		}


		#nav-icon > .button::after,
		#nav-icon > .button::before,
		#nav-icon > .button div {
			background-color: var(--lbm-blue);
			border-radius: 1px;
			content: '';
			display: block;
			height: 4px;
			margin: 6px 0;
			-webkit-transition: all 0.2s ease-in-out;
			transition: all 0.2s ease-in-out;
			width: 40px;
		}

		body.open #nav-icon > .button::before {
			transform: translateY(16px) rotate(45deg);
		}

		body.open #nav-icon > .button::after {
			transform: translateY(-16px) rotate(-45deg);
		}

		body.open #nav-icon > .button div {
			transform: scale(0);
		}

		@keyframes dropdown_main_nav {
			to {
				-webkit-transform: translateY(80px);
				transform: translateY(80px);
				opacity: 1;
			}
		}
		
		
		
		.contentx #intro {
			background-position:center;
			background-repeat:no-repeat;
			background-size:cover;
			height:auto;
			min-height: auto;
			overflow-y: unset;
			padding:0px;
		}

		.contentx #intro h1 {
			font-size: 3em;
			font-weight:500;
			margin-top: 0px;
			width:100%;
		}

		/*.contentx #intro.banner img { 
			display:none;
		}*/

		.contentx #intro > div {
			background-color:rgba(0,0,0,0.6);
			margin: 6em 5vw 15px 5vw;
			padding: 20px 30px;
			position: relative;
			text-align: left;
			top: 0px;
			width:auto;
		}

		.contentx .cms div > .container > .cms { 
			padding-bottom:30px; 
		}
		
		#info-message {
			box-shadow:0px 10px 100px rgb(0 0 0 / 40%);
		}

		#info-message .asset_button > span {
			background-color: #1f222e;
			padding:20px 30px;
		}
		
		#info-message .asset_button {
			color: #eee;		
			font-size: 3rem;
			text-align: center;
		}
		
		#info-message p {
			font-size:2rem;
		}
	}


	@media (max-width: 768px) {
		/*nav > ul > li > a {
			padding:5px 9px !important;
		}
			
		nav > ul > li {
			margin-top: 0px;
		}*/
		
		body.nav-bespoke nav .bespoke, 
		body.nav-contact nav .contact,
		body.nav-design nav .design, 
		body.nav-design-consultancy nav .design-consultancy, 
		body.nav-e-commerce nav .e-commerce, 
		body.nav-web nav .web {
			/*background-color:rgba(93,158,255,.3);*/
			box-shadow: 0px 0px 250px rgba(93, 158, 255, .3);
		}
		
		nav > ul > li:not(#logo-container):hover > a {
			background-color:rgba(93,158,255,.1);
			border-color: transparent;
			color: #1888E3;
			text-decoration: underline;
		}
	}
	
	@media (max-width: 533px) {
		nav > ul > li > a {
			padding:5px 4px !important;
		}
	}
	
	
	@font-face{
		font-family:'Open Sans';
		font-style:normal;
		font-weight:300;
		font-display:block;
		src:local('Open Sans Light'),local('OpenSans-Light'),url(/fonts/open-sans-v13-latin-300.woff2) format('woff2'),url(/fonts/open-sans-v13-latin-300.woff) format('woff'),url(/fonts/open-sans-v13-latin-300.ttf) format('truetype'),url(/fonts/open-sans-v13-latin-300.eot) format('embedded-opentype');
		unicode-range:U+000-5FF,U+1e00-1fff,U+2000-2300
	}
	
	@font-face{
		font-family:'Open Sans';
		font-style:normal;
		font-weight:400;
		font-display:block;
		src:local('Open Sans'),local('OpenSans'),url(/fonts/open-sans-v13-latin-regular.woff2) format('woff2'),url(/fonts/open-sans-v13-latin-regular.woff) format('woff'),url(/fonts/open-sans-v13-latin-regular.ttf) format('truetype'),url(/fonts/open-sans-v13-latin-regular.eot) format('embedded-opentype');
		unicode-range:U+000-5FF,U+1e00-1fff,U+2000-2300
	}
	
	@font-face{
		font-family:'Open Sans';
		font-style:normal;
		font-weight:600;
		font-display:block;
		src:local('Open Sans Semibold'),local('OpenSans-Semibold'),url(/fonts/open-sans-v13-latin-600.woff2) format('woff2'),url(/fonts/open-sans-v13-latin-600.woff) format('woff'),url(/fonts/open-sans-v13-latin-600.ttf) format('truetype'),url(/fonts/open-sans-v13-latin-600.eot) format('embedded-opentype');
		unicode-range:U+000-5FF,U+1e00-1fff,U+2000-2300
	}
	
	@font-face{
		font-family:'Glyphicons Halflings';
		font-style:normal;
		font-weight:400;
		font-display:swap;
		src:local('Glyphicons Halflings'),local('Glyphicons-Halflings-Regular'),url(/fonts/glyphicons-halflings-regular.woff2) format('woff2'),url(/fonts/glyphicons-halflings-regular.woff) format('woff'),url(/fonts/glyphicons-halflings-regular.ttf) format('truetype'),url(/fonts/glyphicons-halflings-regular.eot) format('embedded-opentype')
	}