@charset "UTF-8";

@font-face {
	font-family: 'Locator';
	src: url('../font/LocatorWebLight.eot?') format('eot'), url('../font/LocatorWebLight.woff') format('woff'), url('../font/LocatLig.ttf') format('truetype');
}

@media all {


/* ####################### start HTML ELEMENTS ####################### */

* {
	padding: 0;
	margin: 0;
	}
html {
	height: 100%;
	}
body {
	position: relative;
	overflow-x: auto;
	overflow-y: scroll;
	min-height: 100%;
	color: #838383;
	font-family: "Locator", "Helvetica Light", "HelveticaLight", "Helvetica Neue", "Arial", sans-serif;
	font-size: 14px;
	text-align: left;
	}
h1 {
	font-weight: bold;
	font-size: 20px;
	line-height: 1.2em;
	padding: 0 0 10px 0;
	color: #311c60;
	}
h2 {
	font-weight: normal;
	font-size: 17px;
	line-height: 1.2em;
	padding: 0 0 10px 0;
	color: #311c60;
	}
h3 {
	font-weight: normal;
	font-size: 15px;
	line-height: 1.2em;
	padding: 0 0 10px 0;
	color: #311c60;
	}
h4 {
	font-weight: bold;
	font-size: 14px;
	line-height: 1.2em;
	padding: 0 0 10px 0;
	color: #311c60;
	}
p {
	line-height: 18px;
	padding: 0 0 5px 0;
	}
strong {
	font-weight: bold;
	}
em {
	font-style: italic;
	}
b {
	font-weight: normal;
	color: #311c60;
	}
img {
	border: 0;
	}
a,
a:visited,
a:active {
	color: #838383;
	text-decoration: none;
	}
a:hover,
a:focus,
a.active {
	color: #311c60;
	}

/* ####################### end HTML ELEMENTS ####################### */
/* ####################### start PAGE        ####################### */

.container {
	position: relative;
	padding: 0 0 200px;
	}
.footer {
	position: absolute;
	width: 100%;
	bottom: 50px;
	text-align: center;
	color: #d4d4d4;
	}
	.footer li {
		display: inline-block;
	}
	.footer a {
		display: inline-block;
		padding: 10px;
		color: #d4d4d4;
		}
		.footer a.active,
		.footer a:hover {
			color: #311c60;
			}

/* ####################### end PAGE         ####################### */
/* ####################### start INTRO      ####################### */

.intro {

	position: fixed;
	top: 0;
	left: 0;
	width: 100%;
	height:100%;
	z-index: 1000;
	background: #311c60 url('../images/ghp_intro_pattern.png') fixed center center;

	}
	.intro .logo {
		height: 100%;
		width: 100%;
		background: transparent url('../images/ghp_intro_logo.png') fixed center center no-repeat;
		}
	.intro .gradient {
		height: 100%;
		width: 100%;
		background: -moz-radial-gradient(center, ellipse cover,  rgba(255,255,255,0.15) 0%, rgba(0,0,0,0.12) 100%); /* FF3.6+ */
		background: -webkit-gradient(radial, center center, 0px, center center, 100%, color-stop(0%,rgba(255,255,255,0.15)), color-stop(100%,rgba(0,0,0,0.12))); /* Chrome,Safari4+ */
		background: -webkit-radial-gradient(center, ellipse cover,  rgba(255,255,255,0.15) 0%,rgba(0,0,0,0.12) 100%); /* Chrome10+,Safari5.1+ */
		background: -o-radial-gradient(center, ellipse cover,  rgba(255,255,255,0.15) 0%,rgba(0,0,0,0.12) 100%); /* Opera 12+ */
		background: -ms-radial-gradient(center, ellipse cover,  rgba(255,255,255,0.15) 0%,rgba(0,0,0,0.12) 100%); /* IE10+ */
		background: radial-gradient(center, ellipse cover,  rgba(255,255,255,0.15) 0%,rgba(0,0,0,0.12) 100%); /* W3C */
		filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#26ffffff', endColorstr='#1f000000',GradientType=1 ); /* IE6-9 fallback on horizontal gradient */

		}
	.intro .white {
		height: 100%;
		width: 100%;

		background: #ffffff;

		}

/* ####################### end INTRO        ####################### */
/* ####################### start NAVIGATION ####################### */

.header {
	position: relative;
	width: 980px;
	margin: -1px auto 0;
	border: 1px solid #ffffff;
	}
	.header .navmeta {
		font-size: 9px;
		}
		.header .navmeta a,
		.header .navmeta a:link,
		.header .navmeta a:active,
		.header .navmeta a:visited {
			display: block;
			float: right;
			background: #dbdbdb;
			color: #ffffff;
			height: 11px;
			padding: 3px 3px;
			margin: 0 0 0 1px;
			overflow:hidden;
			}
		.header .navmeta a.active {
			background: transparent;
			color: #838383;
			}
		.header .navmeta a.active:hover,
		.header .navmeta a:hover {
			background: #311c60;
			color: #ffffff;
			}
		.header .navmeta a#fb {
			width: 10px;
			background: #dbdbdb url('../images/sprite.png') 0px 0px no-repeat;
			}
			.header .navmeta a#fb:hover {
				background-color: #311c60;
				}

	.header .navmain {
		position: relative;
		z-index: 100;
		clear: both;
		margin: 47px 85px 0 0;
		font-size: 18px;
		}
		.header .navmain ul {
			display: block;
			list-style-type: none;
			float: right;
			}
			.header .navmain ul li {
				display: block;
				position: relative;
				float: left;
				margin: 0 0 0 30px;
				}


	.header .navsub {
		position: relative;
		z-index: 200;
		clear: both;
		margin: 16px 82px 0 0;
		font-size: 12px;
		height: 15px;
		}
		.header .navsub ul {
			display: block;
			position: relative;
			list-style-type: none;
			float: right;
			}
			.header .navsub ul li {
				display: block;
				position: relative;
				float: left;
				margin: 0 0 0 27px;
				}


	.logo {
		position: absolute;
		z-index: 300;
		top: 27px;
		left: 20px;
		}

/* ####################### end NAVIGATION   ####################### */
/* ####################### start PHOTOSTRIP ####################### */

.heiCarousel {
	display:none;
	position: relative;
	width: 100%;
	height: 300px;
	overflow: hidden;
	margin: 46px 0 0;
	white-space: nowrap;
	}
	.heiCarousel.large {
		height: 398px;
		}

/* ####################### end PHOTOSTRIP ####################### */
/* ####################### start CONTENT  ####################### */

.content,
.contenttop {
	position: relative;
	width: 980px;
	margin: 0 auto;
	}
.content .minheight {
	margin: 115px 0 0;
	}
.info {
	position: relative;
	height: 95px;
	padding: 20px 0 0;
	text-align: right;
	}
	.navsub .info {
		position: absolute;
		right: 0;
		}
	.info h2 {
		font-size: 13px;
		font-weight: normal;
		line-height: 16px;
		color: #838383;
		white-space: nowrap;
		}
		.info .btnMore.over {
			color: #ffffff;
			background: #311c60;
			}
		.info .btnMore .icon {
			float: left;
			width: 12px;
			height: 12px;
			margin: 0 3px 0 0;
			background: transparent url(../images/sprite.png) -25px -3px no-repeat;
			}
			.info .btnMore.over .icon {
				background: transparent url(../images/sprite.png) -45px -3px no-repeat;
				}
			.info .btnMore.close .icon {
				background: transparent url(../images/sprite.png) -65px -3px no-repeat;
				}
			.info .btnMore.close.over .icon {
				background: transparent url(../images/sprite.png) -85px -3px no-repeat;
				}
			.btnMore {
				float: right;
				padding: 2px 4px;
				background: #eaeaea;
				cursor: pointer;
				font-size: 13px;
				height: 16px;
				overflow: hidden;
				}
			.btnMore span {
				display: block;
				float: left;
				white-space: nowrap;
				}

			.portfolio .btnMore span.btnMoreClose,
			.portfolio .btnMore span.btnMoreOpen { display: none; }
			.portfolio .btnMore span.btnMoreInfo { display: block; }

			.portfolio .btnMore.close span.btnMoreInfo,
			.portfolio .btnMore.close span.btnMoreOpen { display: none; }
			.portfolio .btnMore.close span.btnMoreClose { display: block; }

			.contact .btnMore span.btnMoreClose,
			.contact .btnMore span.btnMoreInfo { display: none; }
			.contact .btnMore span.btnMoreOpen { display: block; }

			.contact .btnMore.close span.btnMoreInfo,
			.contact .btnMore.close span.btnMoreOpen { display: none; }
			.contact .btnMore.close span.btnMoreClose { display: block; }



	.content img {
		display: block;
		float: left;
		margin: 0 0 0 82px;
		}
	.content .more {

		}
		.content .more h3 {
			margin: 0 0 0 330px;
			font-size: 15px;
			line-height: 10px;
			}
		.content .more p {
			padding: 0;
			}
	.content .col {
		display: block;
		width: 318px;
		float: left;
		margin: 0 0 0 10px;
		}
	.contact .minheight {
		margin: 0;
		}
	.content .error {
		text-align: center;
		margin: 50px 0 0;


		}
		.content .error h3 {
			font-size: 18px;
			}

.production .content {
	height: 150px;
	width: 640px;
	padding: 35px 170px 0;
	}
	.production .content h2 {
		font-size: 19px;
		}
	.production .content p {
		/* text-align: justify; */
		}

.meta .txt {
	padding: 35px 85px 0;
	}

.about .content {
	width: 640px;
	padding: 35px 170px 0;
	}
	.about .content img {
		float: right;
		margin: 0;
		}
	.about .content .txt {
		float: left;
		width: 350px;
		}
.contact .content,
.contact .contenttop {
	width: 725px;
	padding: 35px 85px 0 170px;
	text-align: right;
	}
	.contact .address,
	.contact .newsletter {
		position: relative;
		padding: 0 0 10px 0;
		}
		.contact .address h2 {
			padding: 0;
		}
		.contact .address h2,
		.contact .map h2 {
			display: block;
			font-size: 15px;
			line-height: 1.2em;
			color: #311c60;
			}
			.contact .address .violet,
			.contact .address .violet a {
				color: #311c60;
			}
			.contact .address .violet a:hover {
				color: #838383;
			}
	.contact #googlemap {
		height: 365px;
		}
	.contact .info {
		height: 75px;
		padding: 18px 0 0 0;
		text-align: left;
		left: 0;
		}
	.contact .btnMore {
		float: left;
	}
	.contact .more h3 {
		margin: 0;
		padding: 0 0 4px;
		font-size: 13px;
		text-align: left;
		}
	.contact .more p {
		margin: 0;
		font-size: 11px;
		line-height: 13px;
		padding: 0 0 11px;
		}
	.contact .more a {
		color: #311c60;
		text-decoration: underline;
		}
		.contact .more a:hover {

			}

/* ####################### end CONTENT      ####################### */
/* ####################### start NEWSLETTER ####################### */

.newsletterform {

	}
	.newsletterform .inputbox {
		position: relative;
		width: 156px;
		padding: 5px 0 0;
		}
	.newsletterform label {
		display: block;
		font-size: 15px;
		line-height: 1.2em;
		color: #311c60;
		}
		.newsletterform label.alert {
			color: #cc0000;;
			}
	.newsletterform #newslsend,
	.newsletterform #mailadr {
		display: block;
		border: 0;
		}
	.newsletterform #mailadr {
		position: relative;
		overflow: hidden;
		height: 17px;
		width: 116px;
		padding: 5px 35px 5px 5px;
		background: #ededed;
		font-size: 14px;
		line-height: 14px;
		}
	.newsletterform #newslsend {
		position: absolute;
		z-index: 200;
		right: 0px;
		top: 5px;
		background: transparent;
		cursor: pointer;
		}
		.newsletterform #newslsend img {
			display: block;
			}

.newsletterframe {
	padding: 50px 0;
	text-align: center;
	}
	.newsletterframe label {
		margin: 0 0 25px;
		}
	.newsletterframe .newsletterform .inputbox {
		margin: 0 auto;
		}

.sending {
	position: absolute;
	top: 0;
	left: 0;
	z-index: 300;
	width: 100%;
	height: 100%;
	-moz-opacity:.75;
	filter:alpha(opacity=75);
	opacity:.75;
	background: #ffffff;
	}
	.sending .pp_loaderIcon {
		background: url(../images/prettyPhoto/light_rounded/loader.gif) center center no-repeat;
		height: 100%;
		}

/* ####################### end NEWSLETTER ####################### */
/* ####################### start HELPERS  ####################### */

.floatLeft {
	float: left;
	}
.floatRight {
	float: right;
	}
.clear {
	clear: both;
	height: 0;
	}
.clearRight {
	clear: right;
	height: 0;
	}
.clearLeft {
	clear: right;
	height: 0;
	}
.hidden {
	display: none;
	}
.alert {
	color: #cc0000;
	}

/* ####################### end HELPERS ####################### */

	} /* end @media all */
