/***********
* Global
***********/
*, html, body, p, a { font-family: Roboto, Verdana, Arial, sans-serif; color: #111; }
body { overflow-y: hidden; overflow-x: hidden; }
h1, h2, h3, h4, h5, h6 { font-family: Montserrat, Verdana, Arial, sans-serif; }
a { text-decoration: none; -webkit-transition:all .500s ease; -moz-transition:all .500s ease; -o-transition:all .500s ease; transition:all .500s ease; color: #37ab49; }
a:hover { text-decoration: none; color: rgba(55, 171, 73, 0.8); }
ul { margin-bottom: 0px; }
i.fas { font-family: FontAwesome; }

/***********
* Grid
***********/
.container {  width: 80%; max-width: 1280px; margin-right: auto; margin-left: auto; }
.container-fluid {  width: 100%; }
.row { margin-bottom: 20px; }
.row::after { display: block; visibility: hidden; clear: both; width: 0; height: 0; line-height: 0; content: "."; }
.row .item_column { box-sizing: border-box; -webkit-transition:all .500s ease; -moz-transition:all .500s ease; -o-transition:all .500s ease; transition:all .500s ease; border: 1px solid #eee; }
.row .item_column.item_column_borderless { border: none; }
.row .item_column:hover { border: 1px solid #333; background-color: #eee; }
.row .item_column.item_column_borderless:hover { border: none; background: none; }
.row .item_column_1_2 { width: 49%; float: left; margin-right: 1%; }
.row .item_column_1_2+.item_column_1_2 { margin-right: 0px; margin-left: 1%; }
.row .item_column_1_1 { width: 100%; }

/***********
* Header
***********/
header { height: calc(100% - 170px); }
header .container-fluid { height: 100%; }
header .container-fluid ul#menu { float: left; height: 100%; max-width: 220px; width: 220px; }
header ul { font-size: 0px; }
header ul > li { padding-left: 20px; padding-right: 20px; }
header ul > li p { font-size: 14px; font-weight: normal; text-transform: uppercase; color: #f1f1f1; -webkit-transition:all .500s ease; -moz-transition:all .500s ease; -o-transition:all .500s ease; transition:all .500s ease; cursor: pointer; }
header ul > li p:hover { color: rgba(55, 171, 73, 0.8); }
header ul#menu > li + li { border-bottom: 1px solid #f1f1f1; padding-top: 20px; padding-bottom: 20px; }

header.menu-wrapper-public { position: absolute; z-index: 10; }
header.menu-wrapper-public ul > li.home img { margin: auto; display: block; padding: 20px; }
header.menu-wrapper-public ul > li.menu-item > p span { float: right; margin-left: 20px; }
/*header.menu-wrapper-public ul > li.menu-item.close > p::before { content: '+'; font-size: 22px; margin-right: 10px; }
header.menu-wrapper-public ul > li.menu-item.open > p::before { content: '-'; font-size: 22px; margin-right: 10px; }*/
header ul.sub-menu > li.menu-sub-item { padding-left: 10px; padding-right: 10px; margin-top: 15px; }
header ul.sub-menu > li.menu-sub-item p { font-size: 12px; font-weight: normal; text-transform: none; }

header.menu-wrapper-public ul > li .footer-menu { text-align: center; }
header.menu-wrapper-public ul > li .footer-menu a { font-size: 12px; display: block; }
header.menu-wrapper-public ul > li .footer-menu a+a { margin-top: 10px; }
header.menu-wrapper-public ul > li .footer-menu p { padding: 10px; background: rgba(241, 241, 241, 0.8); color: #1c1c1c; }
header.menu-wrapper-public ul > li .footer-menu p:hover { background: transparent; color: #f1f1f1; border: 1px solid #f1f1f1; }
header.menu-wrapper-public ul > li .footer-menu p+p { margin-top: 10px; }

/***********
* Map Wrapper
***********/
#map-wrapper { position: absolute; top: 0; left: 0; width: 100%; height: 100%; }
.hamburger { background: rgba(0, 0, 0, 0.7); }
.hamburger-inner, .hamburger-inner::before, .hamburger-inner::after { background: #f1f1f1; }

.content { height: 100%; max-height: 100%; float: left; background: rgba(0, 0, 0, 0.7); }
.mCSB_outside + .mCS-minimal.mCSB_scrollTools_vertical, .mCSB_outside + .mCS-minimal-dark.mCSB_scrollTools_vertical { left: 0 !important; }	
.mCS-minimal-dark.mCSB_scrollTools .mCSB_dragger .mCSB_dragger_bar{ background-color: #f1f1f1; background-color: rgba(0,0,0,0.2);	}
.mCS-minimal-dark.mCSB_scrollTools .mCSB_dragger:active .mCSB_dragger_bar, 
.mCS-minimal-dark.mCSB_scrollTools .mCSB_dragger.mCSB_dragger_onDrag .mCSB_dragger_bar{ background-color: #f1f1f1; background-color: rgba(255,255,255,0.5);	}

.impressum { position: absolute; z-index: 120; background: rgba(0, 0, 0, 0.7); top: 50%; left: 50%; transform: translate(-50%, -50%); padding: 20px; }
.impressum .container-fluid { max-height: 400px; }
.impressum .container-fluid .mCustomScrollbar { max-height: 400px; }
.impressum .container-fluid .mCustomScrollbar .mCustomScrollBox { margin: 20px; }
.impressum .container-fluid .close { position: fixed; top: 20px; right: 20px; font-size: 26px; font-weight: bold; cursor: pointer; color: #f1f1f1; }
.impressum .container-fluid h1 { color: #f1f1f1; }
.impressum .container-fluid h3 { color: #f1f1f1; margin: 20px 0px; }
.impressum .container-fluid h4 { color: #f1f1f1; }
.impressum .container-fluid p, .impressum .container-fluid strong, .impressum .container-fluid a { line-height: 26px; color: #f1f1f1; }

.datenschutz { position: absolute; z-index: 120; background: rgba(0, 0, 0, 0.7); top: 50%; left: 50%; transform: translate(-50%, -50%); padding: 20px; }
.datenschutz .container-fluid { max-height: 400px; }
.datenschutz .container-fluid .mCustomScrollbar { max-height: 400px; }
.datenschutz .container-fluid .mCustomScrollbar .mCustomScrollBox { margin: 20px; }
.datenschutz .container-fluid .close { position: fixed; top: 20px; right: 20px; font-size: 26px; font-weight: bold; cursor: pointer; color: #f1f1f1; }
.datenschutz .container-fluid h1 { color: #f1f1f1; }
.datenschutz .container-fluid h3 { color: #f1f1f1; margin: 20px 0px; }
.datenschutz .container-fluid h4 { color: #f1f1f1; }
.datenschutz .container-fluid p, .datenschutz .container-fluid strong, .datenschutz .container-fluid a, .datenschutz .container-fluid li { line-height: 26px; color: #f1f1f1; }