/*
Theme Name: FORMLOS Skelett
Author: FORMLOS Berlin
Author URI: https://www.formlos-berlin.de/ 
Version: 3.1
Text Domain: formlos-skelett
*/

/* general */
@import url('https://fonts.googleapis.com/css2?family=Crimson+Text:ital,wght@0,400;0,600;1,400&family=Roboto:wght@700&display=swap');

*{ 
	margin: 0; 
	padding: 0; 
	box-sizing: border-box;
}

body{
    font-size:100%;
	font-family: 'Crimson Text', serif;
    font-style: normal;
    font-weight: 300;
}

#wrapper{
    margin:0 auto;
    width:100%;
}


#footercontent,
body.search-results #main,
body.single #main,
body.blog #main,
body.error404 #main,
body.search #main{
    max-width:1100px;
	margin: 0 auto;
}

body.single #single_content{
	margin: 0 20px;
}

#main img,
#logo_container img{
	_width:100%;
	_height:auto;
}

#main{
    min-height: 600px;
	font-size: 1.2rem;
}

.clear{
    clear: both;
    display: block;
}

/* typography */
p{
	margin-bottom: .75rem;
	line-height: 1.65rem;
}

h1,h2,h3,h4{
	margin-bottom: .75em;
	font-family: 'Roboto', sans-serif;
	font-weight: 700;
	color: #007782;
}

h1,
.h2-l h2,
.h3-l h3,
.h4-l h4{
    font-size: 2.5rem;
}

h2,
.h1-m h1,
.h3-m h3,
.h4-m h4 {
    font-size: 1.875rem;
}

h3,
.h1-s h1,
.h2-s h2,
.h4-s h4{
    font-size: 1.5rem;
}

h4,
.h1-xs h1,
.h2-xs h2,
.h3-xs h3{
    font-size: 1.2rem;
}

.h1-xl h1,
.h2-xl h2,
.h3-xl h3,
.h4-xl h4,
.h1-xxl h1,
.h2-xxl h2,
.h3-xxl h3,
.h4-xxl h4{
    font-size: 2.625rem;
}

.h1-xxl h1,
.h2-xxl h2,
.h3-xxl h3,
.h4-xxl h4{
    font-size: 3.438rem;
}

ul, ol{
    padding-left:20px;
    margin-bottom:.75em;
}
a{
	color : #007782;
	text-decoration: underline;
}

input[type=button]{
  -webkit-appearance: none;
}
#skip{
	_display:none;	
	position:absolute;
	top:-1000px;
}
#skip:focus{
	_display:block;
	top:20px; 
	z-index:30;
	background-color:lightgray;
	padding:10px 20px;
}
.fl_fixed{
    position: fixed;
    z-index: 10;
    top: 0;
}

a.fl-accordion-button-icon,
a.fl-accordion-button-icon i{
	text-decoration: none;
}

/* FORMLOS Button */
.bb-formlos-button{
    text-align: center;
}

.formlos_btn{
    display: inline-block;
    padding: 1rem;
    color: #fff;
    background-color: #4E4E4E;
    text-decoration: none;
    text-align: center;
}

/* Achtung-Module für Wireframe-Status */

.achtung > .fl-module-content{
    border: 3px solid #C4B586;
    padding: 2rem;
    background-color: #FFF9E6;
}

/* header */
header{
	padding-top: .5rem;
	width:100%;
    background-color: #fff;
}

.header_inner{
	position: relative;
	width:100%;
	max-width:1100px;
	margin:0 auto;
}
body.error404 #main,
body.search #main,
.header_inner{
	padding: 0 20px;
}

#logo_container{
    float: left;
	max-width: 300px;
}

#meta-nav-wrapper{
	float:right;
}

nav#main-nav{
	padding-top: 2rem;
	margin-left: 300px;
}

nav#main-nav > div{
	padding-left: 2rem;
}

nav#meta-nav-wrapper ul,
nav#main-nav ul{
    list-style-type: none;
	display:flex;
    padding-left:0;
    justify-content: flex-end;
    margin-bottom:0;
}

nav#meta-nav-wrapper ul li,
nav#main-nav ul li{
	display:block;
	text-align: center;
	white-space: nowrap;
}

nav#main-nav ul li a{
    width:100%;
    padding:10px 20px;
    display:block;
	text-decoration: none;
}
nav#main-nav ul li:first-child a{
    padding:10px 20px 10px 0;
}
nav#main-nav ul.menu > li:last-child > a{
    padding:10px 0px 10px 20px;
}
nav#main-nav ul.menu > li:last-child  > .sub-menu{
	right:0;
}
nav#main-nav > div > ul > li > a{
	font-size: 1.25rem;
}

nav#main-nav ul li:hover a,
nav#main-nav ul li a:focus,
nav#main-nav ul li.current-menu-item a,
nav#main-nav ul li.current-page-parent > a,
nav#main-nav ul li.current_page_parent > a,
nav#main-nav ul li.current-page-ancestor > a,
nav#main-nav ul li ul.sub-menu li:hover a,
nav#main-nav ul li ul.sub-menu li a:focus,
nav#main-nav ul li ul.sub-menu li.current-menu-item a{
    text-decoration:underline;
}
nav#main-nav ul li:hover > .sub-menu li a,
nav#main-nav ul li:focus > .sub-menu li a{
	text-decoration:none;
}

nav#main-nav ul li ul.sub-menu{
    display:none;
	background-color: #ccc;
	padding: .5rem;
	z-index: 50;
	border: 2px solid #000;
}

nav#main-nav ul li:hover > ul.sub-menu,
nav#main-nav ul li a:focus ~ ul.sub-menu,
nav#main-nav ul li:focus-within ul.sub-menu{
    display:block;
    position:absolute;
}

nav#main-nav ul li ul.sub-menu li{
    display:block;
	text-align: left;
}

nav#main-nav ul li ul.sub-menu li a{
    padding-left: 0;
	padding-right: 0;
}

nav#meta-nav-wrapper ul li{
	padding: .25rem;
}

nav#meta-nav-wrapper ul li:last-child{
	padding-right: 0;
}

nav#meta-nav-wrapper ul li a{
	background-color: #ccc;
	text-decoration: none;
	padding: .25rem;
}

nav#meta-nav-wrapper ul li a:hover{
	background-color: #767676;
	color: #fff;
}

.mobile_nav_container{
	display:none;
}

/* Footer */

footer {
	padding-top: 3rem;
	font-size: .85rem;
}

#footercontent{

}

#footercontent ul{
    display:flex;
    justify-content: space-around;
}

#footercontent ul li{
	display: block;
    width:100%;
    text-align: center;
	list-style: none;
}

#footercontent ul li a{
    width:100%;
    padding:10px 0;
}

.fl-builder-content > .fl-row:not(:first-child){
	margin-top: 1rem;
	margin-bottom: 1rem;
}

/* Info-Blob / Störer / CTA */
#info-blob{
    position: fixed;
    top: 15%;
    _right: 15px;
	right:-800px;
    background-color: rgba(119,119,119,.75);
    z-index: 20;
    color: white;
    width: 250px;
    height: 250px;
    transition: all .2s;
    border: 3px solid white;
    padding: 1rem;
    border-radius: 50%;
    text-align: center;
	_transition:right .5s;
}
#info-blob.show{
	right:15px;
}
#info-blob:hover{
    background-color: rgba(119,119,119,1);
}

#info-blob .info-title{
    font-size: 1.3rem;
    font-weight: bold;
    padding-top: 40px;
    width: 75%;
    margin: 0 auto 1rem auto;
}

#info-blob a{
    color: #fff;
    font-weight: bold;
}
#feedback_form{
	-webkit-box-shadow: inset 0px 10px 5px 0px rgba(0,0,0,0.33);
	-moz-box-shadow: inset 0px 10px 5px 0px rgba(0,0,0,0.33);
	box-shadow: inset 0px 10px 5px 0px rgba(0,0,0,0.33);
    background: #ccc;
}
#feedback_form .gform_wrapper{
    max-width: 850px;
    margin: 0 auto;
    padding: 20px;
}
/*404 - Error*/
body.error404 #main,
body.search #main{
	padding-top: 2rem;
}
div.error404{
    max-width: 740px;
	margin: 0 auto 5rem auto;
}

#error404-lottie-animation{
	max-width: 250px;
	margin: 0 auto;
}

#error404-relatedcontent{
	display: flex;
	padding-top: 1rem;
}

#error404-relatedcontent > div{
	width: 50%;
}

#error404-relatedcontent > div:first-child{
	padding-right: 1rem;
}

#error404-relatedcontent > div:last-child{
	padding-left: 1rem;
}

#error404-sitemap ul li a{
	display: inline-block;
	margin-bottom: .25rem;
}

#error404-sitemap ul.sub-menu{
	margin-bottom: 0;
}

#error404-sitemap .menu-meta-navigation-container > ul > li{
	display: inline-block;
}

#error404-sitemap .menu-meta-navigation-container > ul{
	padding-left: 0;
}

#error404-sitemap .menu-meta-navigation-container > ul > li:after{
	content: ', '
}

#error404-sitemap .menu-meta-navigation-container > ul > li:last-child:after{
	content: ''
}

/* für Desktop ausblenden */
.hamburger {
	display:none;
}


/* Separator-Linie */

.formlos-bb-separator{
	height: 4px;
	margin-left: 0;
	margin-right: 0;
}

.formlos-bb-separator.fl-align-left{
	margin-right: auto;
}

.formlos-bb-separator.fl-align-center{
	margin-right: auto;
	margin-left: auto;
}

.formlos-bb-separator.fl-align-right{
	margin-left: auto;
}

.formlos-bb-separator.fl-separator-primary{
	background-color: #007782;
}

.formlos-bb-separator.fl-separator-secondary{
	background-color: #CCCCCC;
}

/* Template - ? */


/*Cookie Notice*/
#cookie_notice_container{
	border-color: #007782;
}

#cookie_notice_inner a#accept_cookie{
	background-color: #007782;
}
#cookie_notice_content a{
	color: #007782;
}

/*IE Meldung*/
#ie_popup{
	position:fixed;
	left:0;
	top:50%;
	background:#ccc;
	padding:10px;
	font-size:1.25rem;
	max-width:100%;
	width:350px;
	border:2px solid white;
	transition: left .2s;
}
#ie_popup.hide{
	left:-100%;
}
#ie_popup p{
	margin-bottom:0;
}
#close_ie_popup{
	text-decoration:underline;
	display: block;
	text-align: right;
	margin-bottom:10px;
}
#close_ie_popup:hover{
	cursor:pointer;
}
/* Media Queries */

@media (max-width: 1200px)
{
}

@media (max-width: 1140px)
{
	.fl-rich-text,
	.header_inner,
	#footercontent,
	#main{
		padding:0 20px;
	}
}

@media (max-width: 1024px)
{
}

@media (max-width: 980px)
{
}

@media (max-width: 960px)
{
}

@media (max-width: 940px)
{
}

@media (max-width: 840px)
{
}

@media (max-width: 768px)
{
	.mobile_nav_container{
		display:block;
	}
	header #main-nav{
		display:none;
	}
	
	/*
   * Burger Menu
   */

	.hamburger {
		padding: 10px 20px 15px 20px;
		display: inline-block;
		cursor: pointer;
		transition-property: opacity, filter;
		transition-duration: 0.15s;
		transition-timing-function: linear;
		font: inherit;
		color: inherit;
		text-transform: none;
		background-color: white;
		border: 0;
		margin: 0;
		overflow: visible;
		position: fixed;
		top: 20px;
		right: 20px;
		z-index: 125;
		-webkit-box-shadow: 0px 0p 5px 0px rgba(0,0,0,0.25);
		-moz-box-shadow: 0px 0px 5px 0px rgba(0,0,0,0.25);
		box-shadow: 0px 0px 5px 0px rgba(0,0,0,0.25);
	}

	.hamburger:hover {
		_opacity: 0.7;
	}

	.hamburger.is-active:hover {
		_opacity: 0.7;
	}

	.hamburger.is-active .hamburger-inner,
	.hamburger.is-active .hamburger-inner::before,
	.hamburger.is-active .hamburger-inner::after {
		background-color: black;
	}

	.hamburger-box {
		width: 50px;
		height: 56px;
		display: inline-block;
		position: relative;
		font-weight: 500;
		letter-spacing: 1px;
	}

	.hamburger-inner {
		display: block;
		top: 50%;
		margin-top: 24px;
	}

	.hamburger-inner,
	.hamburger-inner::before,
	.hamburger-inner::after {
		width: 50px;
		height: 3px;
		background-color: black;
		_border-radius: 4px;
		position: absolute;
		transition-property: transform;
		transition-duration: 0.15s;
		transition-timing-function: ease;
	}

	.hamburger-inner::before,
	.hamburger-inner::after {
		content: "";
		display: block;
	}

	.hamburger-inner::before {
		top: -10px;
	}

	.hamburger-inner::after {
		bottom: -10px;
	}

	.hamburger--slider .hamburger-inner {
		top: 6px;
	}

	.hamburger--slider .hamburger-inner::before {
		top: 10px;
		transition-property: transform, opacity;
		transition-timing-function: ease;
		transition-duration: 0.15s;
	}

	.hamburger--slider .hamburger-inner::after {
		top: 20px;
	}

	.hamburger--slider.is-active .hamburger-inner {
		transform: translate3d(0, 10px, 0) rotate(45deg);
	}

	.hamburger--slider.is-active .hamburger-inner::before {
		transform: rotate(-45deg) translate3d(-5.71429px, -6px, 0);
		opacity: 0;
	}

	.hamburger--slider.is-active .hamburger-inner::after {
		transform: translate3d(0, -20px, 0) rotate(-90deg);
	}
	
    body.mobile_nav_open{
        overflow:hidden;
    }
    #wrapper.mobile_nav_open{
        
    }
    footer.mobile_nav_open{

    }
    .mobile_nav_container{
        display:block;
    }
    .mobile_nav_container.mobile_nav_open{
        margin-top:0;
        overflow-y: scroll;
        overflow-x:hidden;
        -webkit-overflow-scrolling: touch;
    }
    .mobile_nav_container.left.mobile_nav_open{
        margin-left:0;
        overflow-y: scroll;
        overflow-x:hidden;
        -webkit-overflow-scrolling: touch;
    }
    .mobile_nav_container{
        background: white;
        position:fixed;
        top:0;
        width:100%;
        margin-top:-200%;
        transition:margin .5s;
        height:100%;
        left:0;
        overflow:auto;
        padding:150px 20px 20px 20px;
        z-index:100;
    }
	.mobile_nav_container.left{
		margin-top:0;
		margin-left:-200%;
	}
    .mobile_nav_container div > ul{
		padding-left: 0;
	}
    .mobile_nav_container ul li{
        text-align: left;
		display:block;
		margin-bottom: .75rem;
		font-size: 1.5rem;
	}
    .mobile_nav_container ul li a{ 
		text-decoration: none;
	}
	.mobile_nav_container ul li.current-menu-item > a{ 
		text-decoration: underline;
	}
	.mobile_nav_container ul li.current-menu-parent{ 
		background-color: #ECECEC;
	}
    .mobile_nav_container ul li .sub-menu{
		margin-top: .5rem;
		
	}
	nav#main-nav > div {
		padding-left:0;
	}
	nav#main-nav ul{
		display:block;
	}
	nav#main-nav ul li{
		text-align: left;
	}
	nav#main-nav{
		float:none;
		margin-left:0;
		padding-top:0;
	}
	nav#main-nav ul li:first-child a,
	nav#main-nav ul li:last-child a,
	nav#main-nav ul li a{
		padding:20px;
	}
    .mobile_nav_container nav ul li a{
        color:black;
        border-bottom:0;
        font-size:1.25em;
        font-weight:500;
        letter-spacing:2px;
    }
    
    .mobile_nav_container nav ul li.current-menu-item a span, 
    .mobile_nav_container nav ul li.current_page_parent a span, 
    .mobile_nav_container nav ul li:hover a span{
        border-bottom:0;
        font-weight:500;
    }
    
    .mobile_nav_container nav ul li ul.sub-menu{
        display:block;
        position:relative;
        left:0;
        margin-left:0;
        background:rgba(0,0,0,0);
        width:100%;
        padding:40px 0 0 40px;
    }
    .mobile_nav_container nav ul li ul.sub-menu li{
        float:none;
        width:90%;
    }
    .mobile_nav_container nav ul li ul.sub-menu li a,
    .mobile_nav_container nav ul li ul.sub-menu li a:before{
        background:none !important;
        color:white;
        padding:0;
    }
    
    .mobile_nav_container nav ul li ul.sub-menu li:hover a{
        text-decoration:none;
    }
    .mobile_nav_container nav ul li ul.sub-menu li:hover a .textarea{
        bottom:0;
    }
    .mobile_nav_container nav ul li ul.sub-menu li a .textarea h2 {
        border-bottom:0;
        font-weight:700;
        text-transform:none;
        margin-bottom:.2em;
        padding-bottom:0;
    }
    
    .mobile_nav_container nav ul li ul.sub-menu li a{
        width:100%;
        height:auto;
    }
    .mobile_nav_container nav ul li ul.sub-menu li a .textarea{
       
    }
}

@media (max-width: 640px)
{
}

@media (max-width: 480px)
{
}
