/*===========================================
	FONTS
===========================================*/
@font-face {
	font-family: 'Aileron-Regular';
		src: url('/Fonts/Aileron-Regular.otf') format('truetype');
}
@font-face {
	font-family: 'Aileron-Light';
		src: url('/Fonts/Aileron-Light.otf') format('truetype');
}
@font-face {
	font-family: 'Aileron-Bold';
		src: url('/Fonts/Aileron-Bold.otf') format('truetype');
}
@font-face {
	font-family: 'OpenSans-Regular';
		src: url('/Fonts/OpenSans-Regular.ttf') format('truetype');
}
@font-face {
	font-family: 'OpenSans-Bold';
		src: url('/Fonts/OpenSans-Bold.ttf') format('truetype');
}

/*===========================================
	STANDARD ELEMENTS
===========================================*/
* {
	margin: 0; 
	padding: 0;
	font-size: 100%;
}

body {
	font-family: 'Aileron-Regular',sans-serif,Arial,'Hiragino Sans GB','Microsoft YaHei';
    font-weight: 400;
    font-size: 16px;
    color: #989898;
    background-color: #FFF;
	padding: 0;
	margin: 0;	
}

html, body {
	height: 100%;
}

ul, li {
	list-style: none;
	margin: 0;
	padding: 0;
}


/*===========================================
	HEADERS
===========================================*/
h1, h2, h3, h4, h5, h6, p {
	margin: 0;
	padding: 0;
}
	h1 {
		margin: 0;
		font-size: 2.0em;
	}

	h2 {
		margin: 0;
		/*font-family: 'Lora', serif;*/
		font-weight: 400;
		color: #2C3E50;
		font-size: 58px;
		line-height: 74px;
		margin-bottom: 35px;
		text-align: center;
		
	}

	h3 {
		font-family: 'Aileron-Regular';
		font-size: 2em;
		font-weight: normal;
	}

	h4 {
		/*font-family: 'Muli', sans-serif;*/
		font-size: 22px;
		line-height: 26px;
		color: #1A1A1A;
		margin-bottom: 20px;
	}
	

/*===========================================
	PARAGRAPHS & TEXT
===========================================*/
p {
	font-size: 15px;
    font-weight: 400;
    color: #989898;
    line-height: 20px;
	margin: 0 0 1em 0;
}

ul, li {
	list-style: none;
	margin: 0;
	padding: 0;
}

	.SmallText{
		font-size: 0.8em;
		line-height: 1.4em;
		text-align: left
	}
	.BoldText {
		font-family: 'Aileron-Bold';
	}
	
	
/*===========================================
	MARGINS & DISPLAY
===========================================*/
.Margin-Bottom {
	margin-bottom: 20px;
}

.HideContiner {
    display: none;
}


/*===========================================
	HYPERLINKS
===========================================*/
a:link, a:active, a:visited {
	text-decoration: none;
	color: #393939;
	transition: color 0.3s linear;
	-webkit-transition: color 0.3s linear;
	-moz-transition: color 0.3s linear;
}
a:hover {
	text-decoration: underline;
	color: #121212;
}
	

/*===========================================
	IMAGES
===========================================*/
img {
	max-width: 100%;
	height: auto;
}
div {
	outline: none;
}

/*===========================================
	CLEAR FIXES
===========================================*/
.ClearFix:before, .ClearFix:after { 
	content: ""; 
	display: table; 
}
.ClearFix:after {
	clear: both; 
}
.ClearFix { 
	*zoom: 1; 
}


/*===========================================
	TEXT STYLES
===========================================*/
.TextLeft {
	text-align: left;
}

.TextCenter {
	text-align: center;
}

.TextRight {
	text-align: right;
}
.Uppercase {
	text-transform: uppercase;
}
.TextStrong {
	font-weight: bold;
}


/*===========================================
	MARGINS & PADDING
===========================================*/
.MarginBottom {
	margin-bottom: 20px;
}

.PaddingTopBottom_50 {
	padding: 50px 0;
}
.PaddingTopBottom_90 {
	padding: 90px 0;
}



/*===========================================
	COLOR CHART
===========================================*/
.RedText {color: #E74C3C;}
.WhiteText {color: #FFF;}
.BlueText {color: #2C3E50;}

.WhiteBackground {background: #FFFFFF;}
.GreyBackground {background: #DEDEDE;}
.BlueBackground {background: #2C3E50;}
.BlackBackground {background: #0c141d;}
.DarkGreyBackground {background: #444;}
.YellowBackground {background: #f6bc17;}
.FooterBackground {background: #BDB293;}




/*===========================================
	CONTAINERS
===========================================*/
.FullWidthContainer {
	position: relative;
	max-width: 100%;
}

.NarrowWidthContainer {
	position: relative;
	margin: 0 auto;
	max-width: 680px;
}
	.PositionCenter {
		position: relative;
		text-align: center;
		padding: 90px 50px;
	}

.CenterContainer {
	position: relative;
	max-width: 1176px;
	padding: 0 10px;
	margin: 0 auto;
}
.HiddenSection {
	display: none;
}

.OneHalfFrame {
	float: left;
	width: 50%;
}
	
	.OneHalfFrame .PositionLeft {
		position: relative;
		padding-right: 50px;
	}
	.OneHalfFrame .PositionRight {
		position: relative;
		padding-left: 50px;
	}
	
	
	.OneHalfFrame .FullFrameImage {
		width: 100%;
		display: block;
		text-align: center;
	}
		.OneHalfFrame .FullFrameImage  img {
			width: 100%;
		}
	
.OneHalf_Margin {
	float: left;
	width: 49%;
	margin-right: 2%;
}
	.OneHalf_Margin:nth-child(2n), .OneHalf_Margin:last-child {
		margin-right: 0%;
	}


/*===========================================
	THIRDS
===========================================*/
.OneThirds_Margin {
	float: left;
	width: 32%;
	margin-right: 2%;
}
	.OneThirds_Margin:nth-child(3n), .OneThirds_Margin:last-child {
		margin-right: 0%;
	}
	
.TwoThirds_Margin {
	float: left;
	width: 64%;
	margin-right: 2%;
}
	/*.TwoThirds_Margin:nth-child(2n), .TwoThirds_Margin:last-child {
		margin-right: 0%;
	}*/
		

.OneHalf {
	float: left;
	width: 49%;
	margin-right: 2%;
}
	.OneHalf:last-child {
		margin-right: 0%;
	}
	
.OneQuarter {
	float: left;
	width: 25%;
	margin: 0;
}
	.OneQuarter:nth-child(4n), .OneQuarter:last-child {
		margin: 0;
	}
	
.OneQuarter_Margin {
	float: left;
	width: 23.5%;
	margin: 0 2% 20px 0;
}
	.OneQuarter_Margin:nth-child(4n), 
	.OneQuarter_Margin:last-child {
		margin: 0 0 20px 0;
	}


.OneFifth {
	float: left;
	width: 19.2%;
	margin-right: 1%;
}
	.OneFifth:last-child {
		margin-right: 0%;
	}
	
	
.OneSixth_Margin {
	float: left;
	width: 15%;
	margin: 0 2% 20px 0;
}
	.OneSixth_Margin:nth-child(6n), 
	.OneSixth_Margin:last-child {
		margin: 0 0 20px 0;
	}


/*===========================================
	UNDER CONSTRUCTION
===========================================*/
.UnderConstruction {
	margin: 0 auto;
	padding-top: 200px;
	max-width: 100%;
	color: #000;
	position: relative;
	text-align: left;
	overflow: auto;
	z-index: 2;
}
.UnderConstruction h1 {
	color: #000;
}
.UnderConstruction h2 {
	padding: 20px 0px;
	color: #000;
	font-size: 1em;
	line-height: 22px;
    margin-bottom: 20px;
}
.UnderConstruction p {
	text-align: center;
}
.UnderConstruction img{
	max-width: 300px;
	margin-bottom: 10px;
}
	.UnderConstruction a:link, .UnderConstruction a:active, .UnderConstruction a:visited {
		text-decoration: none;
		color: #000;
	}
	.UnderConstruction a:hover {
		color: #989898;
		text-decoration: underline;
	}

.UnderConstruction .Contact {
	text-align: center;
}
	.UnderConstruction .Contact li {
		padding-bottom: 10px;
	}
		.UnderConstruction .Contact li i {
			padding-right: 5px;
			color: #C0EDC3;
		}


/*===========================================
	WRAPPER
===========================================*/
.PageWrapper {
	min-height: 100%;
	height: auto !important;
	height: 100%;
	margin: 0 auto -100px;
}


/*=========================================== 
	DISPLAY CONTAINERS
===========================================*/
.OneThird {
	float: left;
	width: 33.33%;
}
	.OneThird .DisplayBox {
		position: relative;
		padding: 0px 10px;
		text-align: center;
		background: #EEE;
	}
		.OneThird .DisplayBox h2 {
			width: 100%;
			text-align: left;
			font-weight: normal;
			text-transform: uppercase;
			padding: 10px 0 5px 0;
			font-size: 16px;
			letter-spacing: 1px;
			color: #121212;
		}


/*===========================================
	PAGE HEADER
===========================================*/
.PageHeader {
	position: relative;
	width: 100%;
	background: url(/Images/Frame/main_hero_2.jpg) no-repeat;
	height: 500px;
	background-position: center;
}
	.PageHeader.Homepage {
		background: url(/Images/Frame/main_hero_1.jpg) no-repeat;
		height: 720px;
		background-position: center;
	}
	.PageHeader.bespoke-services {
		background: url(/Images/Frame/main_hero_3.jpg) no-repeat;
		background-position: center;
	}
	.PageHeader.Gallery {
		background: url(/Images/Frame/main_hero_4.jpg) no-repeat;
		background-position: center;
	}
	.PageHeader.price-list {
		background: url(/Images/Frame/main_hero_5.jpg) no-repeat;
		background-position: center;
	}
	.PageHeader.how-to-order {
		background: url(/Images/Frame/main_hero_5.jpg) no-repeat;
		background-position: center;
	}
	.PageHeader.contact {
		background: url(/Images/Frame/main_hero_6.jpg) no-repeat;
		background-position: center;
	}
	
	.PurpleOverlay {
		background-color: rgba(0, 0, 0, 0.4);
		position: absolute;
		top: 0;
		left: 0;
		width: 100%;
		height: 100%;
	}
	.BlackOverlay {
		background-color: rgba(0, 0, 0, 0.4);
		position: absolute;
		top: 0;
		left: 0;
		width: 100%;
		height: 100%;
	}
	
		.PageHeaderContainer {
			background: pink;
		}
			.PageHeaderContainer .Logo {
				float: left;
				padding: 24px 0;
			}
				.PageHeaderContainer .Logo img {
					max-width: 350px;
				}
			
			.PageHeaderContainer .Navigation2 {
				float: right;
			}
			
				.PageHeaderContainer .Navigation2 ul {
					
				}
					.PageHeaderContainer .Navigation2 li {
						float: left;
						padding: 10px 10px;
						line-height: 80px;
					}
						.PageHeaderContainer .Navigation2 li a {
							color: #FFF;
							font-size: 1em;
						}
		
		
		
		.PageHeader .MainHeader .Logo {
			width: 100%;
			margin: 0;
			padding: 10px 0 0 0;
			text-align: center;
		}
			.PageHeader .MainHeader .Logo img {
				max-width: 200px;				
			}
	
	.PageHeader .MainHeader .MainNavigation {
		width: 100%;
		text-align: center;
		padding: 10px 0;
	}
		
		
	.PageHeader .HeroContent {
		margin-top: 250px;
		text-align: center;
		width: 80%
	}	
		.PageHeader .HeroContent h2 {
			color: #FFF;
			font-size: 1.5em;
			line-height: 1.5em;
			font-weight: normal;
			margin: 0;
		}
		.PageHeader .HeroContent h3 {
			color: #FFF;
			font-size: 4.7em;
			line-height: 1.2;
			margin: 0 0 30px 0;
		}
		.PageHeader .HeroContent p {
			text-align: center;
			font-size: 1.5em;
			padding: 0 0 20px 0;
			margin: 0;
		}
		



/*===========================================
	STICKY HEADER
===========================================*/
.PageStickyHeader {
	background: #444;
	background-color: rgba(189, 178, 147, 0.9);
	width: 100%;
	height: 100px;
   position: fixed;
	z-index: 10;
}


/*===========================================
	BODY CONTENT
===========================================*/
.StandardLayout {
	width: 100%;
	padding: 100px 0;
}
	.StandardLayout .ImageDisplay {
		
	}
		.StandardLayout .ImageDisplay img {
			background: #FFF;
			border: 1px solid #989898;
			padding: 2px;
			margin-bottom: 5px;
		}
		
		.StandardLayout .ContentDisplay {
		}





.EqualHeightContainer {
	display: flex;
	width: 100%;
	padding: 90px 0;
}
.EqualHeightContainer .EqualHeightDisplayBox {
	flex: 1;
	/*padding: 50px 50px 50px 0;*/
	/*background: Orange;*/
}
	.EqualHeightContainer .EqualHeightDisplayBox.ImageDisplay {
		/*background: pink;*/
		padding: 50px;
		display: flex;
		flex-direction: column;
		justify-content: center;
		align-items :center;
	}
		.EqualHeightContainer .EqualHeightDisplayBox.ImageDisplay img {
			max-width: 450px;
		}
		
	
.ContentDisplay h2 {
	position: relative;
	text-align: left;
	margin-bottom: 20px;
	color: #2C3E50;
}
.ContentDisplay h3 {
	position: relative;
	text-align: left;
    font-size: 22px;
    line-height: 26px;
    color: #2C3E50;
    margin-bottom: 20px;
}
.ContentDisplay h4 {
	position: relative;
	text-align: left;
    font-size: 1em;
    line-height: 22px;
    color: #2C3E50;
    margin-bottom: 5px;
	font-weight: normal;
}

.ContentDisplay p, .ContentDisplay li, .ContentDisplay li a {
	font-size: 15px;
    font-weight: 400;
    color: #989898;
    line-height: 20px;
}
.ContentDisplay li a {
	text-decoration: underline;
}

.ContentDisplay ul {
	position: relative;
	margin: 0 0 1em 1em;
}
	.ContentDisplay ul li {
		position: relative;
		font-size: 15px;
		padding-left: 20px;
		margin: 4px 0;
	}
		.ContentDisplay ul li:before {
			content: '\25A0';
			color: #2C3E50;
			position: absolute;
			left: 0;
			top: -2px;
		}


.PositionCenter.ContentDisplay h2 {
	text-align: center;
}
.PositionCenter.ContentDisplay h3 {
	text-align: center;
}

.LargeDisplayButton a,.LargeDisplayButton span  {
	display: inline-block;
	padding: 15px 15px 15px 15px;
	margin-bottom: 20px;
	color: #ffffff;
	background-color: #2C3E50;
	line-height: 1;
	border-radius: 50px;
	transition: all .3s;
	text-decoration: none;
	cursor: pointer;
}
	.LargeDisplayButton a:hover, .LargeDisplayButton span:hover {
		opacity: 0.8;
	}
	

/*===========================================
	GALLERY
===========================================*/
.Gallery .OneQuarter_Margin,
.Gallery .OneThirds_Margin,
.Gallery .OneSixth_Margin {
	background: #F1F1F1;
}

.Gallery .ImageControlButtons {
	text-align: right
}
	.Gallery .ImageControlButtons li {
		display: inline-block;
		margin-left: 5px;
	}
		.Gallery .ImageControlButtons li i {
			font-size: 1.5em;
		}
		
		.Gallery .ImageControlButtons li span {
			cursor: pointer;
		}

.Gallery .MainImage {
	position: relative;
	margin-bottom: 5px;
	height: 200px;
	display: flex;
	justify-content: center;
	align-items: center;
	overflow: hidden
}
	.Gallery .OneThirds_Margin .MainImage {
		height: 300px;
	}
	.Gallery .OneSixth_Margin .MainImage {
		height: 150px;
	}

	.Gallery .MainImage img {
		flex-shrink: 0;
		min-width: 100%;
		min-height: 100%;
		transition: all .5s;
	}
		.Gallery .MainImage img:hover{
			transform: scale(1.1);
		}
		
		
	.Gallery .ImageControlButtons {
		position: absolute;
		top: 5px;
		right: 5px;
		background-color: rgba(255, 255, 255, 0.4);
		padding: 5px;
		text-align: right
	}
		.Gallery .ImageControlButtons li {
			display: inline-block;
			margin-left: 5px;
		}
			.Gallery .ImageControlButtons li i {
				font-size: 1.5em;
			}
	

.Gallery .AltImage .OneFifth .Image {
	height: 36px;
	display: flex;
	justify-content: center;
	align-items: center;
	overflow: hidden
}
	.Gallery .AltImage .OneFifth .Image img {
		flex-shrink: 0;
		min-width: 100%;
		min-height: 100%
	}
	
.Gallery .Title {
	font-size: 1em;
	color: #2C3E50;
	text-align: left;
	padding: 5px;
}	
.Gallery .ShortDescription {
	font-size: 0.8em;
	color: #989898;
	text-align: left;
	padding: 0 5px 5px 5px;
}
.Gallery .Cost {
	font-size: 1em;
	color: #2C3E50;
	text-align: left;
	padding: 0 5px 5px 5px;
}
	

/*===========================================
	PRICE LIST
===========================================*/
.PriceList {
	padding: 30px 0;
}
	.Gallery.PriceList .MainImage {
		height: 650px;
		margin-bottom: 0;
	}
	.Gallery.PriceList  .MainImage img:hover{
		transform: none;
	}

/*===========================================
	HOW TO ORDER
===========================================*/
.HowToOrder .Header {
	margin-bottom: 20px;
}
	.HowToOrder .Header .StepNumber {
		float: left;
		border-radius: 50%;
		width: 36px;
		height: 36px;
		padding: 10px 8px 6px 8px;
		background: #2C3E50;
		color: #FFF;
		text-align: center;
		font-size: 25px;
	}
		.HowToOrder .Header .StepNumber.Required {
			background: red;
		}
	.HowToOrder .Header .HeaderTitle {
		float: left;
		color: #2C3E50;
		font-size: 22px;
		margin-left: 10px;
		padding: 3px 0;
	}
		.HowToOrder .Header .HeaderTitle p {
			display: block;
			margin: 0;
		}	
	
.HowToOrder .OneThirds_Margin {
	margin-bottom: 10px;
}

.HowToOrder .Required {
	background: red;
}
	.HowToOrder .HeaderTitle.RequiredText {
		color: red;
	}

.HowToOrder .Active {
	background: #2C3E50;
}
	.HowToOrder .Active .Title,
	.HowToOrder .Active .Cost,
	.HowToOrder .Required .Title,
	.HowToOrder .Required .Cost {
		color: #FFF;
	}
	
	.Gallery.HowToOrder .OneThirds_Margin .MainImage{
		height: 150px;
	}
	.Gallery.HowToOrder .MainImage img:hover{
		transform: none;
	}
	
.HowToOrder {
	padding-bottom: 50px;
}	
	.HowToOrder h3 {
		margin-bottom: 0px;
	}
	
	.HowToOrder .Cost {
		font-size: 1.5em;
	}
	
/*===========================================
	STANDARD FORM
===========================================*/
.StandardForm h2{
	text-align: left;
}
.StandardForm h3 {
	padding-bottom: 10px;
}
.StandardForm label {
	color: #000;
	display: block;
	text-align: left;
	width: 100%;
	font-size: 0.9em;
	margin-bottom: 5px;
}
.StandardForm input, .StandardForm textarea {
	width: 100%;
	padding: 8px 4px;
	margin: 5px 0;
	box-sizing: border-box;
	border: 1px solid #EAEAEA;
	background: #fafafa;
	margin-bottom: 20px;
	font-family: 'Aileron-Regular',sans-serif,Arial,'Hiragino Sans GB','Microsoft YaHei';
    font-weight: 400;
    font-size: 12px;
}
	.StandardForm input:focus, .StandardForm textarea:focus {
		border-color: #CCC;
		outline: 0;
	}
	.StandardForm textarea {
		height: 100px;
	}
	.StandardForm input[type='file'] {
		margin: 5px 0;
	}
	
	.StandardForm input.ValidateError, 
	.StandardForm textarea.ValidateError {
		border: 1px solid #d94948;
	}

/*===========================================
	CONTACT
===========================================*/
.Contact h2{
	text-align: left;
}
.Contact h3 {
	padding-bottom: 10px;
}
.Contact label {
	color: #000;
	display: block;
	text-align: left;
	width: 100%;
	font-size: 0.9em;
	margin-bottom: 5px;
}
.Contact input, .Contact textarea {
	width: 100%;
	padding: 8px 4px;
	margin: 5px 0;
	box-sizing: border-box;
	border: 1px solid #EAEAEA;
	background: #fafafa;
	margin-bottom: 20px;
}
	.Contact input:focus, .Contact textarea:focus {
		border-color: #CCC;
		outline: 0;
	}
	.Contact textarea {
		height: 100px;
	}
	
	.Contact input.ValidateError, 
	.Contact textarea.ValidateError {
		border: 1px solid #d94948;
	}
	

/*===========================================
	DISPLAY BOX
===========================================*/
.DisplayBox {
	text-align: center;
}
	.DisplayBox i {
		font-size: 64px;
		padding-bottom: 10px;
		color: #FFF;
	}
	.DisplayBox h4 {
		padding-bottom: 10px;
		color: #FFF;
		margin-bottom: 0px;
	}
	.DisplayBox p {
		padding: 0 20px;
		color: #FFF;
		margin-bottom: 0px;
		font-size: 0.8em;
		line-height: 1.2em;
	}
	
	/*	About Us	*/
	.JobsDisplay .DisplayBox h4 {
		font-size: 1.25em;
		padding-bottom: 10px;
		color: #FFF;
		margin-bottom: 0px;
		font-weight: normal;
	}
	.JobsDisplay .DisplayBox p {
		padding: 0 20px;
		color: #989898;
		margin-bottom: 0px;
		font-size: 0.8em;
		line-height: 1.2em;
	}
	.JobsDisplay .DisplayBox img {
		max-width: 200px;
		border-radius: 50%;
		padding-bottom: 10px;
	}

/*=========================================== 
	FOOTER
===========================================*/
.FooterContent {
	padding: 50px 0;
	color: #FFF;
	font-size: 0.9em;
}		
	.FooterContent h3 {
		font-size: 1.15em;
	}
	.FooterContent a {
		color: #FFF;
	}
			
	.FooterContent ul {
		padding-top: 10px
	}
		.FooterContent ul li {
			float: left;
			margin-right: 10px
		}
			.FooterContent ul li:last-child {
				margin-right: 0px
			}
			.FooterContent ul li a {
				color: #FFF;
				font-size: 24px;
			}
			
		.FooterContent ul.Policy li {
			float: left;
			width: 100%;
		}
			.FooterContent ul.Policy li a {
				font-size: 1em;
			}
	
	.FooterContent i {
		color: #2C3E50;
		padding-right: 5px;
	}
	

/*===========================================
	BUTTONS
===========================================*/		
.DefaultButton, button.DefaultButton, .EditButton {
	padding: 10px 5%;
	margin: 0px 0;
	color: #FFFFFF;
	white-space: nowrap;
	display: inline-block;
	background: #c93c45;
	text-decoration: none;
	font-size: 16px;
	border: none;
}
	.DefaultButton:hover, button.DefaultButton:hover, .EditButton:hover {
		color: #FFFFFF;
		background: #424143;
		text-decoration: none;
	}



a.LargeButton {
		padding: 20px 5%;
		margin: 100px 0 10px 0;
		color: #424143;
		white-space: nowrap;
		display: inline-block;
		background: #F6BC17;
		text-decoration: none;
		font-size: 20px;
	}
		a.LargeButton:hover {
			color: #F6BC17;
			background: #424143;
		}	
	
.EditButton {
	margin: 20px;
}
