html {
	background-color: #ececec;
}

body {
	font-size: 100%;
	-webkit-text-size-adjust: 100%;
	-moz-text-size-adjust: 100%;
	color: #757575;
	font-family: 'Quicksand', sans-serif;
	width: 100%;
}

.invisible {
	width: 0px;
	height: 0px;
	left: -1000px;
	top: -1000px;
	position: absolute;
	overflow: hidden;
	display: inline;
}

div.clear {
	clear: both;
	margin: 0;
	padding: 0;
	height: 0;
	line-height: 0;
	font-size: 0;
}

/* overwrite layout-builder setting */
.block {
	overflow: visible;
}

/* reset ugly borders on iphone */
input[type=text],
input[type=search],
input[type=button],
input[type=submit] {
	-webkit-appearance: none;
	border-radius: 0;
}



/* ==========================================================================
   main, left, container, wrapper
   ========================================================================== */
 
#container,
header .inside {
	max-width: 1000px; /* define max. width of page here! layout: 1000px */
	width: 100%;
	overflow: hidden;
	background: #fff;
	position: relative;
}

header {
	/* background: rgba(0,0,0,.2); */
}

header .inside .stroke {
	position: absolute;
	z-index: 100;
	width: 20px;
	height: 100%;
	background-color: #ececec;
	right: 30px;
}

#container {
	margin: 0 auto;
	width: 100%;
	padding-bottom: 60px;
	position: relative;
	z-index: 1;
	clear: both;
	/* outline: 1px solid rgba(0,0,0,.2); */
	background: #fff url(../tmpl_img/bg_stroke1@1x.gif) right 30px top repeat-y;
}

#wrapper {
	position: relative;
	overflow: hidden;
}

/* define paddings in #main .inside and left .inside - not directly in #main */

#main {
	z-index: 100;
	/* background: rgba(30,155,60,0.2); */
}

#main .inside {
	padding: 0px 25% 0 9%;
	max-width: 640px;	
}


/* ==========================================================================
   fonts
   ========================================================================== */

a,
a:focus,
a:active {
	outline: none;
}

a {
	color: #733d5d;
	/* font-weight: 600; */
	text-decoration: none;
}

#main a {
	text-decoration: underline;
}

a:hover {
	color: #9f9f9f;
}

#main {
	font-size: .82em;
	line-height: 1.53em;
	color: #6a6a6a;
	-webkit-hyphens: auto;
	-moz-hyphens: auto;
	-ms-hyphens: auto;
	hyphens: auto;
}

#main p {
	margin-bottom: 1.65em;
}

#main strong {
	font-weight: 700;
}

#main .smaller {
	font-size: .8em;
	line-height: 1.4em;
}

/*
Alegreya Sans SC
400: regular
500: medium
700: bold

Quicksand
400: regular
500: medium
700: bold
*/

h1, h2, h3, h4 {
	font-family: 'Alegreya Sans SC', sans-serif;
	font-weight: 400;
	color: #666;
	margin-bottom: 1em;
	-webkit-hyphens: manual;
	-moz-hyphens: manual;
	-ms-hyphens: manual;
	hyphens: manual;
}

h1 {
	font-size: 1.6em;
	line-height: 1.1em;
	
}

h2 {
	font-size: 1.45em;
}

h3 {
	font-size: 1.3em;
}

body.home #main {
	color: #757575;
}

body.home h1,
body.home h2,
body.home h3,
body.home h4 {
	margin-bottom: .7em;
}

body.home h1 {
	font-size: 2.72em;
}

body.home h2 {
	font-size: 2.2em;
}

body.home h3 {
	font-size: 1.8em;
}

body.home h4 {
	font-size: 1.58em;
}


/* ==========================================================================
   specials
   ========================================================================== */

.spacer1 {
	display: inline-block;
	width: 60px;
}

/*
#main .ce_text,
#main .ce_tabs,
#main .ce_table,
#main .ce_download {
	margin-bottom: 5em;
}
*/

/*
.ce_text + .ce_text,
.ce_text + .ce_text h3,
.ce_text + .ce_text h4 {
	margin-top: -2.5em !important;
	
}
*/

/*
#main .smaller .ce_text {
	margin-bottom: 3em;
}
*/

#main first {
	margin-top: 0;
	padding-top: 0;
}

#main .last {
	margin-bottom: 0em;
}

hr {
	margin: 2em 0;
	border: none;
	/* border-top: 1px solid #812738; */
	border-top: 1px solid #733d5d;
	background-color: transparent;
	height: 1px;
	clear: both;
}


/* ==========================================================================
   header
   ========================================================================== */

header {
	width: 100%;
	height: 313px;
	position: relative;
	/* background: rgba(0,0,0,.05); */
}

header .inside {
	margin: 0 auto;
	height: 100%;
	/* padding-top: 46px; */
	transition: padding-top 0.3s ease-out;
	/* background: rgba(0,0,0,.1); */
}

header #logo {
	position: absolute;
	top: 236px;
	right: 30px;
	width: 260px;
	height: auto;
	z-index: 110;
}


/* ==========================================================================
   mainmenu -> mainmenu.css && mainmenu-mobile.css
   ========================================================================== */
   
   
/* ==========================================================================
   footer, footermenu
   ========================================================================== */

footer {
	position: relative;
	width: 100%;
	height: 30px;
	bottom: 0;
	clear: both;
}

footer .inside {
	max-width: 1000px;
	width: 100%;
	margin: 0 auto;
	height: 100%;
	text-align: right !important;
	display: flex;
	align-items: center;
	/* justify-content: right; */
	justify-content: flex-end;
	position: relative;
}

#footermenu {
	display: inline-block;
	margin-right: 79px;
}

#footermenu ul>li {
	float: left;
	font-weight: normal;
	white-space: nowrap;
	line-height: 1.25em;
	text-transform: uppercase;
	font-size: .76em;
}

#footermenu ul>li strong,
#footermenu ul>li a {
	font-weight: 700;
}

#footermenu ul>li>a,
#footermenu ul>li>strong.active {
	margin-left: 25px;
	display: inline-block;
	transition: box-shadow .05s ease-out;
}

#footermenu ul>li>a.first,
#footermenu ul>li>strong.active.first {
	margin-left: 0;
}

#footermenu ul>li>a {
	color: #733d5d;
}

#footermenu ul>li>a:hover {
	 color: #9f9f9f;
}

#footermenu ul>li>strong.active {
	color: #838383;
	font-weight: 700;
}


/* ==========================================================================
   slider
   ========================================================================== */

header .mod_rocksolid_slider {
	width: 100%;
	position: relative;
}

header .mod_rocksolid_slider h1 {
	z-index: 110;
	display: inline;
	position: absolute;
	left: 9%;
	margin: 0;
	/* vertical position modified by js !!! */
/*
	top: 38%;
	margin-top: -3%;
*/
/*
	display: flex;
	align-items: center;
	flex-wrap: wrap;
*/
	white-space: pre;
	width: 50%;
	font-weight: 400;
	font-size: 1em;
	line-height: 1.15em;
	letter-spacing: .003em;	
	color: #fff;
	
	text-shadow:
		-1px -1px 0 rgba(0,0,0,.3),  
		1px -1px 0 rgba(0,0,0,.3),
		-1px 1px 0 rgba(0,0,0,.3),
		1px 1px 0 rgba(0,0,0,.3),
		0px 0px 15px rgba(0,0,0,.8),
		0px 0px 20px rgba(0,0,0,1),
		0px 0px 25px rgba(0,0,0,1),
		0px 0px 30px rgba(0,0,0,1);
}

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

	header .mod_rocksolid_slider h1 {
		letter-spacing: 0;
		text-shadow:
		-1px -1px 0 rgba(0,0,0,.3),  
		1px -1px 0 rgba(0,0,0,.3),
		-1px 1px 0 rgba(0,0,0,.3),
		1px 1px 0 rgba(0,0,0,.3),
		0px 0px 10px rgba(0,0,0,.8),
		0px 0px 15px rgba(0,0,0,1),
		0px 0px 20px rgba(0,0,0,1),
		0px 0px 25px rgba(0,0,0,1);
	}

}

header .mod_rocksolid_slider .bigger {
	font-size: 1.57em;
	line-height: 1.15em;
}

header #headertxt {
	
}


/* ==========================================================================
   content elements and images
   ========================================================================== */

.ce_text {
	clear: both;
	overflow: hidden;
}

.ce_text p:first-of-type {
	margin-top: 0;
}

/* ************************ */ 
/* Images, general			*/
/* ************************ */

#main img,
#main embed,
#main object,
#main video {
    max-width: 100%;
    height: auto;
    width: auto; /* IE8 Bug */
}

#main .image_container {
	max-width: 100%;
}

#main .image_container.float_left,
#main .image_container.float_right {
	height: auto;
	width: auto;
	margin-bottom: 0.9em;
}

#main .image_container.float_left {
	margin-right: 3%;
	float: left;
}

#main .image_container.float_right {
	margin-left: 3%;
	float: right;
}

#main .image_container.float_above {
	margin-bottom: 0.9em;
}

#main .image_container.float_below {
	margin-top: 1em;
}

#main figure.image_container {
	/* background: #ff9900; */
	overflow: hidden;
	border-radius: 6px;
}

#main figure.image_container a {
	display: inline-block;
	/* line-height: 0; */
	vertical-align: middle;
}

#main .image_container img,
#main figure.image_container a img {
	/* border-radius: 6px; */
}

#main .image_container img {
	vertical-align: middle; /* no space between img and figcaption */
}


#main .image_container figcaption,
#main .ce_image .image_container .caption {
	font-size: 0.8em;
}

#main .image_container figcaption {
	line-height: 1.32em;
	text-align: left;
	padding: .4em .8em;
	color: #fff;	
	background: #ccc;	
	border-radius: 0 0 6px 6px;
	
	-moz-hyphens: auto;
	-o-hyphens: auto;
	-webkit-hyphens: auto;
	-ms-hyphens: auto;
	hyphens: auto;	
}

/* #main figure.image_container a, */
#main .image_container.with_caption img {	
	border-radius: 6px 6px 0 0;
}


/* ************************ */ 
/* hover effect				*/
/* ************************ */

#main figure.image_container a[data-lightbox] {
	/* position: relative; */
	overflow: hidden;
}

#main .image_container a[data-lightbox] img {
	-webkit-transition: all 0.5s ease-in-out; /* Safari and Chrome */
	-moz-transition: all 0.5s ease-in-out; /* Firefox */
	-ms-transition: all 0.5s ease-in-out; /* IE 9 */
	-o-transition: all 0.5s ease-in-out; /* Opera */
	transition: all 0.5s ease-in-out;
}

#main .image_container a[data-lightbox] img:hover {
	-webkit-transform: scale(1.1) rotate(0.02deg); /* Safari and Chrome */
	-moz-transform: scale(1.1) rotate(0.02deg); /* Firefox */
	-ms-transform: scale(1.1) rotate(0.02deg); /* IE 9 */
	-o-transform: scale(1.1) rotate(0.02deg); /* Opera */
	transform: scale(1.1) rotate(0.02deg);
	cursor: url(../tmpl_img/cursor_plus.cur), auto;
}


/* ************************ */ 
/* Images, special			*/
/* ************************ */

/* image media queries especially for safari and IE */
/* automatic height fix IE8 for responsive images */
/* http://stackoverflow.com/questions/8610077/height-auto-in-internet-explorer-8-and-below */
@media screen { 
	#main .image_container img {	
		width: auto !important;
	}
}

#main .image_container {
}

#main .image_container.image20,
#main .image_container.image30,
#main .image_container.image40,
#main .image_container.image50,
#main .image_container.image60,
#main .image_container.image70,
#main .image_container.image80 {
	min-width: 100px;
}

#main .image_container.image100 {
	width: 100%;
}

@media only screen and (max-width: 733px), (min-width: 769px) and (max-width: 897px)  {
	#main .image_container.image80 {
		width: 100%;
	}
}

@media only screen and (min-width: 399px) {
	#main .image_container.image70 {
		max-width: 70%;
	}

	#main .image_container.image60 {
		max-width: 60%;
	}	
}

@media only screen and (max-width: 399px) {
	#main .image_container.image70,
	#main .image_container.image60 {
		width: 100%;
	}	
}

#main .image_container.image50 {
	max-width: 50%;
}

#main .image_container.image40 {
	max-width: 40%;
}

#main .image_container.image30 {
	max-width: 30%;
}

#main .image_container.image20 {
	max-width: 20%;
}


/* ************************ */ 
/* (un)ordered lists		*/
/* ************************ */

.ce_list>ul,
.ce_text>ul {
	list-style: none;
}

.ce_list>ul,
.ce_text>ul,
.ce_list>ol,
.ce_text>ol {
	margin: -0.5em 0;
	/* border: 1px solid rgba(255,255,255,.2); */
}

.ce_list>ul li,
.ce_text>ul li {
	margin: .3em 0;
	position: relative;
	left: 2.7em;
	padding-right: 2.7em;
}

/* span requires modified templates !!!! */
.ce_list>ul li span,
.ce_text>ul li span {
	display: block;
	position: relative;
}

.ce_list>ul li span::before,
.ce_text>ul li span::before {
	content: '\25B8';
	font-size: 1.4em;
	vertical-align: middle;
	color: #733d5d;
	display: inline-block;
	float: left;
	width: 0.8em;
	position: absolute;
	top: .02em;
	margin-left: -.9em;
}

.ce_list>ol,
.ce_text>ol {
	list-style-image: none;
	font-weight: 400;
}

.ce_list>ol li,
.ce_text>ol li {
	margin: .3em 0;
	position: relative;
	left: 2.5em;
	padding-right: 2.5em;
}

.ce_list>ol li span,
.ce_text>ol li span {
	font-weight: 400;
	display: block;
	margin-left: .2em;
}

.ce_list>ul,
.ce_list>ol {
	padding-top: 0;
}

.ce_list>ul strong,
.ce_list>ol strong,
.ce_text>ul strong,
.ce_text>ol strong {
	font-weight: 700!important;
}

.ce_list>ol ol,
.ce_list>ol ul,
.ce_text>ol ol,
.ce_text>ol ul,
.ce_list>ul ol,
.ce_list>ul ul,
.ce_text>ul ol,
.ce_text>ul ul {
	margin-left: 1.125em;
	margin-top: .8em;
	list-style-type: circle;
}

.ce_text>ol,
.ce_text>ul {
	margin-bottom: 1.1em;
}


/* ==========================================================================
   openstreetmap
   ========================================================================== */

/*
.openstreetmap #c4g_map_72 {
	-webkit-box-shadow: inset 0 0 2px 1px rgba(255,255,255,0.05), 0 16px 10px -8px rgba(0, 0, 0, 0.2);
	-moz-box-shadow: inset 0 0 2px 1px rgba(255,255,255,0.05), 0 16px 10px -8px rgba(0, 0, 0, 0.2);
	box-shadow: inset 0 0 2px 1px rgba(255,255,255,0.05), 0 16px 10px -8px rgba(0, 0, 0, 0.2);
	margin-top: 20px;
}

.openstreetmap .ol-unselectable {
	-webkit-border-radius: 6px;
	-moz-border-radius: 6px;
	-o-border-radius: 6px;	
	border-radius: 6px;
}
*/

.ce_text + .openstreetmap {
	margin-top: 20px;
}

.openstreetmap .c4g-popup-content {
	font-size: 0.8em;
	line-height: 1.3em;
	padding: 15px;
	min-width: 100px !important;
}

.openstreetmap .c4g-popup-content p {
	margin-bottom: 5px !important;
}

.mod_c4g_maps {
	min-width: 100px;
}

.c4g_map {
	height: 450px !important;
} 

.ol-control button,
.c4g-control button {
	font-size: 1.1em;
	height: 1.375em;
	width: 1.375em;
	line-height: .5em;
	background: rgba(115,61,93,.85);
	outline: 3px solid #582844;
}

.c4g-control-container-top-left .ol-control button {
	font-size: 1.3em;
}

.c4g-control-container-bottom-right .ol-attribution {
font-size: 8px;
  line-height: 12px;
}

.ol-control button:hover,
.c4g-control button:hover {
	cursor: pointer;
}

.ol-scale-line {
	margin-left: 0;
	background: rgba(115,61,93,.85);
}

.c4g-control-container-bottom-left {
	bottom: .2em;
	margin-left: .2em;
}

.c4g-popup-wrapper {
	border-radius: 5px;
	border: 2px solid #582844 !important;
	background: rgba(115,61,93,.85) !important;
	/* padding-bottom: 10px; */
}

.c4g-popup-content {
	/* background: #6a4260; */
	border-radius: 12px;
}

.c4g-popup-wrapper .c4g-popup-close {
	background: transparent;
	right: 10px;
}

.c4g-popup-wrapper .c4g-popup-close:hover {
	background: transparent;
}

.c4g-icon {
	margin-bottom: 50px;
}

/*
.openstreetmap .ol-overlay-container {
	margin-bottom: 43px;
	margin-left: 4px;
}

.openstreetmap .ol-viewport {
	overflow: visible !important;
}
*/





/* ==========================================================================
   Retina stuff
   ========================================================================== */

@media
only screen and (-webkit-min-device-pixel-ratio: 2),
only screen and (   min--moz-device-pixel-ratio: 2),
only screen and (     -o-min-device-pixel-ratio: 2/1),
only screen and (        min-device-pixel-ratio: 2),
only screen and (                min-resolution: 192dpi),
only screen and (                min-resolution: 2dppx) { 

	#container {
		background-image: url(../tmpl_img/bg_stroke1@2x.gif);
		background-size: 20px 20px;
	}
	
	header #logo {
		width: 260px;
		height: 78px;
	}

}


/* ==========================================================================
   Media Queries | Breakpoints (mainmenu/mobilemenu: 768)
   ========================================================================== */
   
@media only screen and (max-width: 768px) {

	#mainmenu {
		display: none;
	}

}