/*-------------------------------------------------------------------------------------

  Copyright (c) 2014 Pixelzauber GmbH, Switzerland
  CSS definition for text
    
-------------------------------------------------------------------------------------*/
* {
	margin: 0;
	padding: 0; 
}

html {
	margin: 0;
	padding: 0;
	height: 100%;
}

body {
	height: 100%;
}

fieldset, img {
	border: 0;
}

.clearfix:after {
	content: ".";
	display: block;
	clear: both;
	visibility: hidden;
	line-height: 0;
	height: 0;
	
}
 
.clearfix {
	display: inline-block;
}
 
html[xmlns] .clearfix {
	display: block;
}
 
* html .clearfix {
	height: 1%;
}

/*-------------------------------------------------------------------------------------
  CSS Layout
-------------------------------------------------------------------------------------*/
#header,
#navTop,
#headerImg,
#navMobile,
#main,
#section,
.section,
section,
#footer,
#footer1, 
#footer2,
#map {
	float:left;
	width:100%;
	height:auto;
}
.inner {
    margin: 0 auto;
    width: 960px;
	height:auto;
}
.mobile { display:none; }
.desktop { display:block; }
.center { text-align:center; }
.right { text-align: right; }
.white { background-color:rgb(255,255,255); }
.grey { background-color:rgb(236,236,237); }
.content { margin: 0 15px; width:calc(100% - 30px); }
.goTop { cursor:pointer; }


.goMore,
.goTop {
	cursor:pointer;
}

#copyright {
	position: fixed;
	bottom: 80px;
	right: 10px;
	width: 20px;
	height: 500px;
	z-index:3;
}
#copyright .rotate {
	display: block;
    width: 500px;
	height:20px;
	-webkit-transform:rotate(90deg) translatex(-20px);
	-webkit-transform-origin: left bottom;
	-moz-transform:rotate(90deg) translatex(-20px);
	-moz-transform-origin: left bottom;
	-o-transform:rotate(90deg) translatex(-20px);
	-o-transform-origin: left bottom;
	-ms-transform:rotate(90deg) translatex(-20px);
	-ms-transform-origin: left bottom;
	transform:rotate(90deg) translatex(-20px);
	transform-origin: left bottom;
}
#copyright .rotate .rotate180 {
    -webkit-transform: rotate(180deg);
    -moz-transform: rotate(180deg);
    -ms-transform: rotate(180deg);
    -o-transform: rotate(180deg);
}
/*
#header {
	background-color: rgb(231,120,21);	
	background: -moz-radial-gradient(center, circle, rgb(231,120,21) 10%, rgb(194,92,2) 100%);	
	background: -webkit-radial-gradient(center, circle, rgb(231,120,21) 10%, rgb(194,92,2) 100%);	
	background: -o-radial-gradient(center, circle, rgb(231,120,21) 10%, rgb(194,92,2) 100%);	
	background: -ms-radial-gradient(center, circle, rgb(231,120,21) 10%, rgb(194,92,2) 100%);
	z-index:1000;
}
*/
#header {
	position:fixed;
	float:left;
	top:0;
	left:0;
	padding:0;
	background-color: rgb(231,120,21);	
	background: -moz-radial-gradient(center, circle, rgb(231,120,21) 10%, rgb(194,92,2) 100%);	
	background: -webkit-radial-gradient(center, circle, rgb(231,120,21) 10%, rgb(194,92,2) 100%);	
	background: -o-radial-gradient(center, circle, rgb(231,120,21) 10%, rgb(194,92,2) 100%);	
	background: -ms-radial-gradient(center, circle, rgb(231,120,21) 10%, rgb(194,92,2) 100%);
	z-index:1000;
	
	/*
	-webkit-box-shadow: 0px 0px 6px rgba(0,0,0,0.6);
	-moz-box-shadow: 0px 0px 6px rgba(0,0,0,0.6);
	box-shadow: 0px 0px 6px rgba(0,0,0,0.6);
	
	-webkit-box-shadow: 0px 0px 10px rgba(0,0,0,0.8);
	-moz-box-shadow: 0px 0px 10px rgba(0,0,0,0.8);
	box-shadow: 0px 0px 10px rgba(0,0,0,0.8);
	
	
	*/	
}
#logo {
	float:left;
	margin:10px 15px;
	width:300px;
	height:auto;
}
#logo img {
	float:left;
	width:100%;
	height:auto;
	width:auto;
	height:70px;
}
#header-search {
	float:right;
	margin:10px 20px;
	width:44px;
	height:44px;
	cursor:pointer;
	background: transparent url('../images/icon_search.png') center 8px no-repeat;
	background-size:25px auto;
}
#header-search:hover {
	background-position:center -92px;
}

#navMobile,
#searchPage {
    position:fixed;
    right: -100%;
	top:90px;
	width:100%;
	height:calc(100% - 90px);
	min-height:calc(100% - 90px);
	background:rgb(255,255,255);	
	z-index:10010;	
    -webkit-transition: all 0.3s ease-in-out;
    -moz-transition: all 0.3s ease-in-out;
    -ms-transition: all 0.3s ease-in-out;
    -o-transition: all 0.3s ease-in-out;
    transition: all 0.3s ease-in-out;
    overflow: none;
    overflow-x: hidden;
    overflow-y: auto;
}
#searchPage {
	padding:60px 0;	
	height:calc(100% - 210px);
	min-height:calc(100% - 210px);
	background:rgb(255,255,255);	
	z-index:10000;
}

#navMobile.open,
#searchPage.open {
    right:0;
}




#headerImg {
	position:relative;
	float:left;
	margin-top:125px;
	height:calc(40% - 125px);
	background: rgb(181,172,164) url('../images/image_000000.jpg') center top no-repeat;
	-webkit-background-size: cover;
	-moz-background-size: cover;
	-o-background-size: cover;
	background-size: cover;
	
	z-index:1;
}
.home #headerImg {
	height:calc(60% - 125px);
}
#headerImg #headerImgMore {
	display:none;
	position:absolute;
	bottom: 0;
	left:calc(50% - 40px);
	width:80px;
	height:80px;
	cursor:pointer;
	background: transparent url('../images/bg_more.png') center no-repeat;
}
.home #headerImg #headerImgMore {
	display:block;
}


#main {
	padding:50px 0;
	min-height:calc(50% - 160px);
}

#navigation {
	float:left;
	margin:0 15px;
	width:calc(33.33% - 30px);
	min-height:50px;	
}
#contact {
	float:left;
	padding-top:30px;
	margin-top:30px;
	width:100%;
}
#content {
	float:left;
	margin:0 15px;
	width:calc(66.66% - 30px);
	min-height:50px;	
}
.home #navigation {
	display:none;
}
.home #content {
	width:calc(100% - 30px);
}


#footer {
	position:relative;
	height:auto;
	background: rgb(222,222,222);
}
#footer1 {
	padding:15px 0 10px 0;
	background: rgb(242,242,242);
	min-height:40px;
}
#footer2 {
	padding:14px 0 0 0;
	min-height:30px;
}


#goUp {
	display:none;
	position:fixed;
	bottom:44px;
	right:0;
	height:40px;
	width:40px;
	z-index:100;
	cursor:pointer;
	background: rgb(231,120,21) url('../images/goUp.png') center no-repeat;
}
#overlay {
	display:none;
	position:fixed;
	top:0;
	right:0;
	bottom:0;
	left:0;
	background:rgba(255,255,255,0.8);
	z-index:100000;
}
#react-cookie-banner {
	position:fixed;
	padding: 30px;
	bottom: 0;
	left: 0;
	right: 0;
	height: 20px;
	background: rgb(231,120,21);
	z-index:100000;
}

/* Parallax */
.parallax {
	padding:0;
	margin:0;
	min-height:50%;
	overflow:hidden;
}
.parallax img {
	display:none;	
	position:absolute;
	left:0;
	width:100%;
	height:auto;
}


/* Standard Images */
.image-wrapper,
.image-wrapper-left,
.image-wrapper-right {	
	float:right;
	margin: 0 0 10px 30px;
	width:40%;
	max-width:280px;
	height:auto;
}
.image-wrapper-left {
	float:left;
	margin: 4px 30px 10px 0;
}
.image-wrapper-right {
	float:right;
	margin: 4px 0 10px 30px;
}
.image-wrapper img, 
.image-wrapper-left img, 
.image-wrapper-right img {
	float: left;
	width:100%;
	padding: 0;
	margin-bottom: 20px;
}


/* Images */
.imageFrame {
	display: inline-block;
	position: relative;
	margin: 0;
	padding: 0;
	width: 100%;
	float: left;
	background-color:rgba(0,0,0,0.05);	
	background-position:center;
	-webkit-background-size: cover;
	-moz-background-size: cover;
	-o-background-size: cover;
	background-size: cover;
}
.imageFrame:before {
	content: "";
	display: block;
	padding-top: 70%;
}


/* Video */
.responsive-iframe {
	position: relative;
	margin-top:0px;
	margin-bottom:20px;
	padding-bottom: 56.25%; 
	padding-top: 0px;
	width:100%;
	height: 0;
	overflow: hidden; 
}
.responsive-iframe iframe { 
	position: absolute; 
	top: 0; 
	left: 0; 
	width: 100%; 
	height: 100%;	
}

.mobile { display:none; }
.desktop { display:block; }
.block,
.block_05,
.block_10,
.block_15,
.block_20,
.block_25,
.block_30,
.block_33,
.block_35,
.block_40,
.block_45,
.block_50,
.block_55,
.block_60,
.block_65,
.block_66,
.block_70,
.block_75,
.block_80,
.block_85,
.block_90,
.block_95,
.block_100 {
	float: left;
	height:auto;
}
.block, 
.block.third {
	margin:15px;
	width:calc(33.33% - 30px);
}
.block.half {
	margin:15px;
	width:calc(50% - 30px);
}
.block_05 { width:5%; }
.block_10 { width:10%; }
.block_15 { width:15%; }
.block_20 { width:20%; }
.block_25 { width:25%; }
.block_30 { width:30%; }
.block_33 { width:33%; }
.block_35 { width:35%; }
.block_40 { width:40%; }
.block_45 { width:45%; }
.block_50 { width:50%; }
.block_55 { width:55%; }
.block_60 { width:60%; }
.block_65 { width:65%; }
.block_66 { width:66%; }
.block_70 { width:70%; }
.block_75 { width:75%; }
.block_80 { width:80%; }
.block_85 { width:85%; }
.block_90 { width:90%; }
.block_95 { width:95%; }
.block_100 { width:100%; }
.form { float:left; margin-right:30px; width:calc(65% - 30px); }
.addr { float:right; width:35%; }


/*-------------------------------------------------------------------------------------
  Text
-------------------------------------------------------------------------------------*/
@import url('https://fonts.googleapis.com/css?family=Roboto:300,400,500,700');
@import url('https://fonts.googleapis.com/css?family=Roboto+Condensed');

body {
	font-family: 'Roboto', Arial, Helvetica, sans-serif;
	color: rgb(51,51,51);
	font-size: 1.0em;
	font-weight:300;
	text-align: left;
	-webkit-text-size-adjust:none;	
}

h1, h2, h3, h4 {
	font-family: 'Roboto Condensed', Arial, Helvetica, sans-serif;
	margin: 20px 0 10px 0;
	color: rgb(231,120,21);	
	font-size: 2.2em;
	font-weight: 400;
	line-height: 1.0em;
}
h1 {
	margin-bottom: 20px;
}
h2 {
	font-size: 1.4em;
}
h3 {
	font-size: 1.2em;
}
h4 {
	font-family: 'Roboto', Arial, Helvetica, sans-serif;	
	font-size: 1.0em;
}
.first {
	margin-top: 0;
}
.center {
	text-align:center;
}


p {
	line-height: 1.3em;	
	margin-bottom: 8px;
	
	-webkit-hyphens: auto;
	-moz-hyphens: auto;
	hyphens: auto;
}

a {
	color: rgb(231,120,21);
	text-decoration: none;
}
a:hover {
	color: rgb(0,0,0);
	text-decoration: none;
}
a.active {
}
a[name], a[name]:hover {
	color: rgb(51,51,51);
	text-decoration: none;
}

pre {
	padding: 10px 19px;
	margin: 18px 0 12px 0;
	line-height: 20px;
	width: auto;
	color: rgb(0,0,160);
	
	border: 1px solid rgb(200,200,200);
	background-color: rgb(240,240,240);
	
	overflow: auto;
	overflow-Y:hidden;
}

sup {
	line-height: 1.0em;
}

blockquote {
	position:relative;
	padding: 15px 80px;	
	font-family: Georgia, "Times New Roman", Times, serif;	
	font-weight:400;
	font-style:italic;
	color: rgb(110,110,110);
}
blockquote:before {
	position: absolute;
	display: block;
	left: 35px;
	top: 0;
	content: "\201C";
	font-size: 4em;
}
blockquote cite {
	display: block;
	font-size: 1em;
	color: rgb(179,179,179);
}
blockquote cite:before {
	content: "\2014 \2009";
}

/*
ul, ol {
	padding: 0 0 8px 15px;
	margin: 0;
}
ul ul, ol ol {
	padding: 0 0 0 15px;
	margin: 0;
}
li {
	padding: 0;
	line-height: 1.4em;
    margin: 0 0 0 5px;
}
ol li {
	margin-left: 15px;
}
*/

ol, ul {
	margin:0 0 8px 0;
	width:100%;
}
ul ul, ol ol {
	margin:0 0 0 18px;
	width:calc(100% - 18px);
}
ul li {
	list-style:none;
	text-align:left;
	line-height: 1.4em;	
    margin: 0 0 0 20px;	
}
ul li::before {
	float:left;
	content: "\25CF";
	color: rgb(231,120,21);
	margin:0 0 -10px -18px;
	display:block;
	font-size:0.8em;
}
ol li {
	margin-left: 20px;
    list-style: decimal;
}
/*
ul {
    padding: 0 0 8px 0;
	list-style: none;
}
ul ul {
	padding: 0 0 0 15px;
}
ul li {
    padding: 0 0 4px 13px;
	background: transparent url('../images/bg_li.png') 0 -400px no-repeat;
}
*/
@media print {
	ol {
		margin: 0 0 0 24px;
		padding:0;
		list-style: decimal;
	}
	ul {
		margin: 0 0 0 17px;
		padding:0;
		list-style: disc;
	}
	ol li,
	ul li {		
		margin: 0;
		padding:0;
		background:none;
	}
}

b, strong {
	font-weight:400;
}

hr {
	padding:8px 0;
	margin: 0;
    height: 0;
    border: 0;
	border-bottom: 1px dotted rgb(0,0,0);
}

table {
	margin-bottom: 10px;
	font-family: 'Roboto', Arial, Helvetica, sans-serif;
	font-size: 1.0em;
}

table th {
	border-bottom: 1px dotted rgb(0,0,0);
	font-weight: 400;
	padding: 2px 0;
	text-align:left;
}

table td {
	padding: 2px 0;
}

table.none, table.none td {
	padding: 0px;
	margin-bottom: 0px;
}

.column {
	column-count: 2;
	column-gap: 30px;
}


/*-------------------------------------------------------------------------------------
  CSS Customising
-------------------------------------------------------------------------------------*/
#content a.external {
	background: transparent url('../images/icon_system.png') 100% 0 no-repeat;
	padding-right: 12px;
}
#content a:hover.external {
	background: transparent url('../images/icon_system.png') 100% -100px no-repeat;
	padding-right: 12px;
}
#content a.pdf, #content a:hover.pdf {
	background: transparent url('../images/icon_system.png') 0 -198px no-repeat;
	padding-left: 20px;
	padding-right: 0;
}
#content a.doc, #content a:hover.doc,
#content a.docx, #content a:hover.docx {
	background: transparent url('../images/icon_system.png') 0 -298px no-repeat;
	padding-left: 20px;
	padding-right: 0;
}
#content a.xls, #content a:hover.xls,
#content a.xlsx, #content a:hover.xlsx {
	background: transparent url('../images/icon_system.png') 0 -398px no-repeat;
	padding-left: 20px;
	padding-right: 0;
}
#content a.ppt, #content a:hover.ppt,
#content a.pptx, #content a:hover.pptx {
	background: transparent url('../images/icon_system.png') 0 -498px no-repeat;
	padding-left: 20px;
	padding-right: 0;
}
#content a.jpg, #content a:hover.jpg {
	background: transparent url('../images/icon_system.png') 0 -598px no-repeat;
	padding-left: 20px;
	padding-right: 0;
}
#content a.zip, #content a:hover.zip {
	background: transparent url('../images/icon_system.png') 0 -698px no-repeat;
	padding-left: 20px;
	padding-right: 0;
}
#content a.none, 
#content a:hover.none {
	background: none;
	padding-right: 0px;
	padding-left: 0px
}

p.button {
	padding:20px 0 30px 0;
}
p.button a,  
#content p.button a.external {
	padding:8px 30px;
	cursor: pointer;
	color: rgb(255,255,255);	
	background:none;
	background-color: rgb(26,26,39);
	border: 1px solid rgb(26,26,39);
	text-transform:uppercase;	
}
p.button a:hover, 
#content p.button a.external:hover {
	color: rgb(255,255,255) !important;
	border: 1px solid rgb(200,0,0);
	background-color: rgb(200,0,0);
}

.toggle {
	float:left;
	padding:10px 0 0 0;
	width:100%;
	border-bottom:1px solid rgb(209,209,209);
	cursor:pointer;
}
.toggle h3 {
	margin:0;
	padding:0 0 10px 30px;
	text-transform:none;
	line-height:1em;
	background:transparent url('../images/bg_toggle_close.png') no-repeat;
}
.toggle .display {
	display:none;
	position:relative;
	float:left;
	padding:10px 0;
	margin-left:30px;
	width:calc(100% - 30px);
}
.toggle.open h3 {
	background:transparent url('../images/bg_toggle_open.png') no-repeat;
}

#map {
	height: 500px;
	background: rgb(242,242,242);
}

#copyright {
	font-size:0.9em;
	color: rgba(51,51,51,0.5);
}
#copyright a {
	color: rgba(51,51,51,0.5);
}
#copyright a:hover {
	color: rgb(231,120,21);
}



#react-cookie-banner {
	font-size: 1.1em;
	font-weight: 400;
	color: rgb(255,255,255);
}
#react-cookie-banner a {
	color: rgb(255,255,255);
	text-decoration: underline;
}
#react-cookie-banner a:hover {
	color: rgb(200,200,200);
}
#react-cookie-banner .button {
	float: right;
	margin: 0;
	margin-top: -20px;
}
#react-cookie-banner .button a {
	text-decoration: none;
}
