/* www.infofactory.ch*/
@import url('https://fonts.googleapis.com/css?family=Nunito:300,400,600,700');
/*RESET STYLE OF BROWSER START */
html, body, div, span, applet, object, iframe,
h1, h2, h3, h4, h5, h6, p, blockquote, pre,
a, abbr, acronym, address, big, cite, code,
del, dfn, em, img, ins, kbd, q, s, samp,
small, strike, strong, sub, sup, tt, var,
b, u, i, center,
dl, dt, dd, ol, ul, li,
fieldset, form, label, legend,
table, caption, tbody, tfoot, thead, tr, th, td,
article, aside, canvas, details, embed,
figure, figcaption, footer, header, hgroup,
menu, nav, output, ruby, section, summary,
time, mark, audio, video {
    margin: 0;
    padding: 0;
    border: 0;
    vertical-align: baseline;
}

article, aside, details, figcaption, figure,
footer, header, hgroup, menu, nav, section {
    display: block;
	position:relative;
}

figure {
    margin: 0 !important;
}

html,
body {
    min-height: 100%;
	background: #FFF;
}

body {
    cursor: default;
	overflow-x: hidden;
	-ms-scroll-limit-x-max: 100%;
}

section {
	overflow: hidden;
}

ol, ul {
    list-style: none;
	margin-bottom:0 !important;
}

blockquote, q {
    quotes: none;
}
hr{
	height: 0;
	margin: 0 0 20px 0;
	border:none;
	border-top: 1px solid #bbb;
}
input {
    margin: 0;
    padding: 0;
    border-width: 0;
}

img {
    max-width: 100%;
    max-height: 100%;
    object-fit: cover;
    vertical-align: top;
}
*:focus {
    outline: none !important;
}
input, button, a, .button, footer span, 
.social-icons a:hover i  {
	-webkit-transition: all 500ms ease;
    -moz-transition: all 500ms ease;
    -o-transition: all 500ms ease;
    transition: all 500ms ease;
}
button, .button {
    cursor: pointer;
}
body, a, h2, .lauftext, .mpfusszeile, .untertitel, .bildlegende, h1, .titel, .leerzeilen, .aufzaehlungtitel, .aufzaehlungtext{
	font-family: 'Nunito', sans-serif;
	font-size: 16px;
	line-height: 24px;
	color: #333;
	text-decoration: none;
}
h1, .titel {
	font-size: 24px;
	line-height: 28px;
	color: #87be55;
	font-weight: bold;
	margin: 0 0 10px 0;
}
.mpg-bg-img{
	background-size: cover;
	background-position: center;
}
.mpg-fullWidthContainer.mpg-bg-img .mpg-bg-img .mpg-content{
	background: none !important;
}
h2{
	font-size: 20px;
	margin: 0 0 5px 0;
	color: #717171
}
.h2-green{
	font-size: 20px;
	margin: 0 0 5px 0;
	color: #87be55
}

.content ul li,
#main ul li{
	position: relative;
	padding-left: 20px;
}
.content ul li:before,
#main ul li:before{
	content: '';
	display: block;
	height: 6px;
	width: 6px;
	border-radius: 50%;
	background: #333;
	position: absolute;
	left: 2px;
	top: 12px;
}

.btn{
	display: inline-block;
	border: none;
	font-family: 'Nunito', sans-serif;
	font-size: inherit;
	padding: 10px 25px;
}
.btn-full, .btn-full-grey{
	display: block;
	width: 100%;
	text-align: center;
	background-color: #87be55;
	color:  #fff;
}
.btn-round{
	border-radius: 20px;
}

.btn-green, .btn-success{
	background-color: #87be55;
	color:  #fff;
}
.btn-grey, .btn-full-grey{
	background-color: #717171;
	color: #fff;
}


#wrapper .mpInputCol input[type="text"], #wrapper .mpInputCol input[type="date"], #wrapper .mpInputCol input[type="number"], #wrapper .mpInputCol input[type="file"], #wrapper .mpInputCol input[type="text.email"], #wrapper .mpInputCol select, #wrapper .mpInputCol textarea {
	background-color: #ddd;
	border: none;
	border-radius: 0;
}
#wrapper .mpInputCol .notValid{
	background-color: #717171 !important;
}

#wrapper .mpInputCol input.notValid {
	color: #fff;
}
#wrapper .alertMsgWrap {
    background: #dc6c0b;
    padding: 15px;
    box-sizing: border-box;
    box-shadow: 1px 1px 5px 0 rgba(0,0,0,.4);
    border-radius: 0px;
    z-index: 50;
    border: none;
    color: #fff;
}
#wrapper .alertMsgWrap:before{
	background-color: #dc6c0b;
	border:none;
}
#wrapper .alertMsgText{
	font-size: 15px;
}

/*==================Box Styles=========================*/
#wrapper{	
}
/*Header*/
#header{
	padding: 15px 0;
	position: relative;
	z-index: 15;
	position: sticky;
	position: -webkit-sticky;
	top: 0;
	background: #fff;
}
#header.fixed{
	transition: all 450ms;
	box-shadow: 0 0 15px -2px rgba(0,0,0,.4);
}
#header .row{
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	/*align-items: flex-end;*/
}
#header .column{
	display: flex;
	flex-direction: column;
	justify-content: center;
}
/*Logo*/
#logo{
	height: 75px;
	width: 75px;
	background-image: url(bg-iwo-logo.jpg);
	background-repeat: no-repeat;
	background-size: 75px;
}
#logo a{
	display: block;
	height: 100%;
}
.serviceNav{
	display: none;
    justify-content: flex-end;
    margin-bottom: auto;
}
#langNav{
	border-left: 1px solid #e5e9e1;
}
#headerNav ul, #langNav ul{
	display: flex;
}
.serviceNav ul li a{
	color: #888;
	transition: all 400ms;
	font-size: 16px;
	line-height: 20px;
	font-weight: 400;
	display: block;
}
#headerNav > ul > li > a,
#langNav > ul > li > a{
	padding: 15px 10px 10px 10px;
	background-color: #efefef;	

}
.serviceNav ul li a.active{
	color: #87be55;
}
.serviceNav ul li{
	line-height: 20px;
	position: relative;
}
.serviceNav ul li a:hover{
	color:  #87be55;
}
#headerNav ul.lvl-2{
	display: none;
    padding: 15px 25px 10px 25px;
    position: absolute;
    box-shadow: 0 0 8px 0 rgba(0,0,0,.2);
    z-index: 5;
    background: #87be55;
    top: 45px;
}
#headerNav li:hover > ul.lvl-2{
	display: block;

}
#headerNav ul.lvl-2 li a{
	padding: 0 0 5px 0;
	display: block;
	color: rgba(255,255,255,.7);
	transition: color 300ms;
	min-width: 180px;
	padding: 5px 0; 
}
#headerNav ul.lvl-2 li a:hover{
	color: rgba(255,255,255,1);
}
#headerNav > ul > li:first-child > a{
    background: #87be56;
    padding: 15px 15px 10px 15px;
    border-radius: 0 0 0 15px;
    box-shadow: 0 0 12px 0 rgba(0,0,0,.4);
}
#headerNav > ul > li:first-child:hover > a{
	border-radius: 0;
}
#headerNav > ul > li:first-child > a{
	color: #fff;
}
.serviceNav{
    transform: translate(0, -15px);
    position: relative;
    z-index: 4;	
}
/*Navigation*/
#mainNav{
	margin-left: auto;
	display: none;
	margin-bottom: 15px;
}
#mainNav ul.lvl-1{
	display: flex;
	flex-wrap: wrap;
}
#mainNav ul.lvl-1 > li > a{
	padding: 15px 0 35px 25px;
	font-size: 20px;
	font-weight: 700;
	transition: all 300ms;
	color:  #4c4c4c;
}
#mainNav ul.lvl-1 > li > a:hover, 
#mainNav ul.lvl-1 > li.active > a{
	color: #87be55;
}
#mainNav ul.lvl-1 li{
	position: relative;
}
#mainNav ul.lvl-1 ul, #mobileNav ul.lvl-1 ul{
	display: none;
}
#mainNav ul.lvl-1 li:hover > ul{
	display: block;
}
#mainNav ul.lvl-2{
	position: absolute;
	top: 50px;
	left: 0px;
	background: #87be55;
	padding: 25px;
	box-shadow: 0 0 15px -2px rgba(0,0,0,.4);
}
#mainNav ul.lvl-2 li a{
	color: rgba(255,255,255,.7);
	transition: all 400ms;
	min-width: 250px;
	display: block;
	font-size: 18px;
	line-height: 1.2;
	padding: 4px 0;
}
#mainNav ul.lvl-2 li:hover > a,
#mainNav ul.lvl-2 li.active > a{
	color: rgba(255,255,255,1);
}





#mobileNav{
	position: fixed;
    top: 0;
    left: 0;
    height: 100vh;
    background: #87be55;
    z-index: 50;
    min-width: 260px;
    box-shadow: 0 0 25px -4px rgba(0,0,0,.6);
    left: -300px;
    width: 300px;
    transition: all 250ms;
    padding: 20px 15px;
}
#mobileNav.open{
    width: 80%;
    left: 0;

}
#mobileNav{
	display: flex;
	flex-direction: column;
}
#mobileNav .navWrap{
	overflow-y: auto;
	height: 100%
}
#mobileNav ul li a{
	color: rgba(255,255,255,.7);
	transition: all 400ms;
	display: block;
	line-height: 18px;
	padding-top: 10px;
}
#mobileNav li{
	position: relative;
}
#mobileNav ul.lvl-1 > li{
	/*background-color: rgba(255,255,255,.1);*/
	margin-bottom: 10px;
	/*padding: 6px;*/
	min-height: 40px;
/*	display: flex;
	flex-direction: column;
	justify-content: center;*/
	padding-right: 40px;
}
#mobileNav ul.lvl-2 li a{
	padding:5px 0 5px 20px;
}
#mobileNav ul.lvl-2 li a:before{
	/*content: '';
	height: 2px;
	width: 12px;
	position: absolute;
	left: 10px;
	top: 13px;
	background: rgba(255,255,255,.7);
	transition: all 400ms;*/
}
#mobileNav ul.lvl-1 .active > ul{
	display: block;
}
#mobileNav li:hover > a,
#mobileNav li.active > a{
	color: #fff;
}
#mobileNav li:hover > a:before{
	background:  #fff;
}
#mobileNav .touchBtn{
	position: absolute;
	right: 0;
	top: 0;
	height: 40px;
	width: 40px;
	background: rgba(255,255,255,.3);
	cursor: pointer;
}
#mobileNav .touchBtn .mtbArrow{
	transform: rotate(180deg);
	height: 100%;
	transition: all 400ms;
}
#mobileNav .touchBtn.open .mtbArrow{
	transform: rotate(0);
}
#mobileNav .touchBtn .mtbArrow:after,
#mobileNav .touchBtn .mtbArrow:before{
	content : '';
	background: #fff;
	height: 3px;
	width: 20px;
	transform: rotate(45deg);
	position: absolute;
	top: 17px;
	left: 17px;
}
#mobileNav .touchBtn .mtbArrow:before{
	transform: rotate(-45deg);
	left: 5px;
}
#mobileNavOpener{
	position: absolute;
	right: 15px;
	/*bottom: 40px;*/
	height: 40px;
	width: 40px;
	cursor: pointer;
	transition: all 450ms cubic-bezier(0.175, 0.885, 0.32, 1.275);
}
#mobileNavOpener:hover{
	transform: scale(1.1);
	height: 42px;
}
#mobileNavOpener > div{
	height: 4px;
	width: 100%;
	background: #717171;
	position: absolute;
	top: 50%;
	margin-top: -2px;
	transition: all 450ms cubic-bezier(0.175, 0.885, 0.32, 1.275);
}
#mobileNavOpener:before,
#mobileNavOpener:after{
	content: '';
	display: block;
	height: 4px;
	width: 100%;
	background: #717171;
	position: absolute;
	top: 8px;
	transition: all 450ms cubic-bezier(0.175, 0.885, 0.32, 1.275);
}
#mobileNavOpener:after{
	top: auto;
	bottom: 8px;
}
#mobileNavOpener.open > div{
	transform: scale(0);
}
#mobileNavOpener.open:before{
	transform: rotate(45deg);
	top: 19px;
}
#mobileNavOpener.open:after{
	transform: rotate(-45deg);
	bottom: 19px;
}
/*Galerie*/
#gallery{
	padding: 45px 0;
	background: #87be55;
	/*margin-bottom: 45px;*/
}
#wrapper .swiper-button-prev,
#wrapper .swiper-button-next{
	background: none;
	font-size: 30px;
	color: #fff;
}
#wrapper .swiper-pagination-bullet{
	background: #fff;
	opacity: 1;
}
#wrapper .swiper-pagination-bullet-active{
	background: #87be55;
}
.swiper-container.member .swiper-wrapper{
	margin: 0 -20px;
	display: flex;
}
.swiper-container.member .swiper-slide{
	width: auto !important;
	padding: 0 20px;
}
.column.quote .mpg-content{
	position: relative;
}
.column.quote{
	padding-bottom: 0;
}
.column.quote > .mpg-content{
	padding-top: 25px;
	border-top: 1px solid #bbb;
}
.column.quote .mpg-content:hover .mpg-ckEditor:nth-child(2){
	opacity: 1;
	display: flex;
	/*align-items: center;*/
}
.column.quote .mpg-content .mpg-ckEditor:nth-child(2) .mpCkEditorItem{
	background-color: rgba(135,190,85,.9);
	width: 100%;
	color: #fff;
	padding: 22px;
    line-height: 22px;
    display: flex;
    justify-content: center;
    align-items: center;
}
.column.quote .mpg-content .mpg-ckEditor:nth-child(2) .mpCkEditorItem p:before,
.column.quote .mpg-content .mpg-ckEditor:nth-child(2) .mpCkEditorItem p:after{
	font-family: "Font Awesome 5 Pro";
    font-weight: 900;
    -moz-osx-font-smoothing: grayscale;
    -webkit-font-smoothing: antialiased;
    display: inline-block;
    font-style: normal;
    font-variant: normal;
    text-rendering: auto;
    line-height: 1;
	content: '\f101';
	font-size: 19px;
	margin-right: 20px;
	transform: scale(1.8) translate(4px, -1px);
}
.column.quote .mpg-content .mpg-ckEditor:nth-child(2) .mpCkEditorItem p:after{
	content: '\f100';
	margin-right: 0;
	margin-left: 5px;
	transform: scale(1.8) translate(4px, 2px);
}
@media (min-width: 1200px) {
.column.quote .mpg-content .mpg-ckEditor:nth-child(2){
	position: absolute;
	width: 100%;
	height: 100%;
	top: 0;
	left: 0;
	opacity: 0;
	transition: opacity 250ms;
}
.column.quote{
	padding-bottom: 15px;
}
.column.quote > .mpg-content{
	padding-top: 0;
	border-top: none
}
}
/*Content*/
#content{
}
.row{
	position: relative;
	z-index: 10;
}
.formBuilder .row{
	z-index: auto;
}
#wrapper .lightCaption h3{
	font-size: 16px;
}
/*Footer*/
#footer{
}
#footer .bg-grey, #footer .bg-green{
	padding: 0;
}
#footer .mpg-fullWidthContainer.bg-grey, #footer .mpg-fullWidthContainer.bg-green{
	padding: 20px;
}
 #footer h3{
 	font-size: 20px;
 }
 #footer p,  #footer a{
 	font-size: 16px;
 	line-height: 20px;
 }
#footer .btn{
	padding: 0;
}
.column{
	padding-bottom: 15px;
}

/*Styles fort grid*/

.teaserText{
	font-size: 20px;
	line-height: 24px;
	font-weight: 500;
}
.teaserText .column{
	justify-content: center;
}

.bg-grey,
.mpg-fullWidthContainer.bg-grey{
	background-color: #717171;
}
.bg-green,
.mpg-fullWidthContainer.bg-green{
	background-color: #87be55;
}
.bg-grey, .bg-green,
.mpg-fullWidthContainer.bg-grey,
.mpg-fullWidthContainer.bg-green{
	padding: 45px 0;
}
.mpg-fullWidthContainer.bg-grey .bg-grey,
.mpg-fullWidthContainer.bg-green .bg-green{
	background: none;
	padding: 0;
}
.bg-grey *,
.bg-green *{
	color: #fff;
}
#wrapper .bg-green ul li:before,
#wrapper .bg-grey ul li:before{
	background: #fff;
}

#wrapper .padding-bottom-s,
#wrapper .space-bottom-s{
	padding-bottom: 10px;
}
#wrapper .padding-bottom-m,
#wrapper .space-bottom-m{
	padding-bottom: 25px;
}
#wrapper .padding-bottom-l,
#wrapper .space-bottom-l{
	padding-bottom: 45px;
}
#wrapper .padding-top-s,
#wrapper .space-top-s{
	padding-top: 10px;
}
#wrapper .padding-top-m,
#wrapper .space-top-m{
	padding-top: 25px;
}
#wrapper .padding-top-l,
#wrapper .space-top-l{
	padding-top: 45px;
}



.inside,
.column.inside{
	width: 100%;
	padding: 0 15px;
	flex: none;
}
@media (min-width: 768px) {
.inside,
.column.inside{
	padding: 0;
	width: 700px;
	margin: auto;
}
}

@media (min-width: 992px) {

.bg-grey, .bg-green{
	padding: 85px 0;
}
#wrapper .padding-bottom-s,
#wrapper .space-bottom-s{
	padding-bottom: 20px;
}
#wrapper .padding-bottom-m,
#wrapper .space-bottom-m{
	padding-bottom: 45px;
}
#wrapper .padding-bottom-l,
#wrapper .space-bottom-l{
	padding-bottom: 85px;
}
#wrapper .padding-top-s,
#wrapper .space-top-s{
	padding-top: 20px;
}
#wrapper .padding-top-m,
#wrapper .space-top-m{
	padding-top: 45px;
}
#wrapper .padding-top-l,
#wrapper .space-top-l{
	padding-top: 85px;
}
.column{
	padding-bottom: 0;
}
.teaserText{
	font-size: 26px;
	line-height: 32px;
}
.serviceNav{
	display: flex;
}
#mainNav{
	display: block;
}
#logo{
	height: 150px;
	width: 150px;
	background-size: 150px;
	transition: all 450ms;
}
.fixed #logo{
	height: 90px;
	width: 90px;
	background-size: 90px;
}
#mobileNav{
	display: none !important;
}
#mobileNavOpener{
	display: none;
	bottom: 80px;
}
#gallery,
.bg-rotate-left,
.bg-rotate-right{
	padding: 80px 0 50px 0;
	position: relative;
	z-index: 1;
	/*margin-top: -30px !important;*/
	/*margin-bottom: 80px;*/
}
#gallery:before,
.bg-rotate-left:before, 
.bg-rotate-right:before,
.mpg-fullWidthContainer.bg-rotate-left:before,
.mpg-fullWidthContainer.bg-rotate-right:before{
	content: '';
    height: 150px;
    width: 210%;
    background: #fff;
    position: absolute;
    top: -150px;
    transform: rotate(-3deg);
    left: -15px;
    z-index: 5;
}
.bg-rotate-right:before,
.mpg-fullWidthContainer.bg-rotate-right:before{
	transform: rotate(3deg);
	left: auto;
	right: -15px;
}
.mpg-fullWidthContainer.bg-rotate-left .bg-rotate-left:before,
.mpg-fullWidthContainer.bg-rotate-right .bg-rotate-right:before{
	display: none;
}
.inside,
.column.inside{
	width: 900px;
}
body, a, h2, .lauftext, .mpfusszeile, .untertitel, .bildlegende, h1, .titel, .leerzeilen, .aufzaehlungtitel, .aufzaehlungtext{
	font-size: 20px;
	line-height: 30px;
}
h1, .titel {
	font-size: 45px;
	line-height: 50px;
	margin-bottom: 20px;
}
h2{
	font-size: 28px;
	line-height: 34px;
	margin-bottom: 15px;
}

.h2-green{
	font-size: 28px;
	line-height: 34px;
	margin-bottom: 15px;
	color: #87be55
}
}

@media (min-width: 1200px) {
.inside,
.column.inside{
	width: 1150px;
}
}