html {
	margin: 0;

	width: 100%;
	height: 100%;
}

body {
	margin: 0;
	padding: 0;

	width: 100%;
	height: 100%;
	
	


	color: #fff;
  
  	background-color: #a30b0b;
  	background-image: url(../img/bg-swirl-02a.jpg);
	background-repeat: no-repeat;
	background-size: cover;
	background-position: center center;
}

p {
	margin: 0 0 10px;
}

/* ==========================================================================
   Headlines
   ========================================================================== */
   
h1, h2, h3, h4, h5, h6, .h1, .h2, .h3, .h4, .h5, .h6 {
	font-family: 'PT Sans Narrow', sans-serif;
	font-weight: 400;
}

    
h4, .h4, h5, .h5, h6, .h6 {
    margin-bottom: 10px;
    margin-top: 0px;
}

h1, .h1 {
	font-size: 52px;
	font-weight: bold;
	line-height: 56px;

	color: #fff;
	text-transform: uppercase;
	letter-spacing: 0.01em;
	display: block;
	margin: 0;
}

h2, .h2 {
	font-size: 40px;
	line-height: 46px;
	font-weight: normal;
	margin-top: 0px;
	margin-bottom: 30px;
	color: #fff;
	letter-spacing: 0.01em;
	display: block;

}

h3, .h3 {
  	font-size: 32px;
	line-height: 36px;
	font-weight: bold;
	margin-top: 0px;
	margin-bottom: 0px;
	color: #fff;
	letter-spacing: 0.01em;
	text-align: left;
}

h4, .h4 {
  	font-size: 20px;
	line-height: 26px;
	font-weight: bold;
	margin-top: 10px;
	color: #fff;
	letter-spacing: 0.01em;
	text-align: center;
}

/* ==========================================================================
  BG 
   ========================================================================== */

#bg-cont {
	position: fixed;
	display: block;
	z-index: 1;
	
	top: 0;
	left: 0;
	
	/* 
	margin-top: 20px;
	margin-left: 20px;
	
	
	width:  calc(100% - 40px);
  	height: calc(100vh - 40px);
  	 */
  	 
  	 width: 100%;
  	 height: 100%;
  	 
  	 opacity: 0.7;
  
  	
}
  
.bg-ani {		
    background: linear-gradient(45deg, #ffffff, #a30b0b, #d3d3d3);
    background-size: 600% 600%;

    -webkit-animation: bgAni 16s ease infinite;
    -moz-animation: bgAni 16s ease infinite;
    animation: bgAni 16s ease infinite;
}

@-webkit-keyframes bgAni {
    0%{background-position:0% 23%}
    50%{background-position:100% 78%}
    100%{background-position:0% 23%}
}
@-moz-keyframes bgAni {
    0%{background-position:0% 23%}
    50%{background-position:100% 78%}
    100%{background-position:0% 23%}
}
@keyframes bgAni {
    0%{background-position:0% 23%}
    50%{background-position:100% 78%}
    100%{background-position:0% 23%}
}
 
/* ==========================================================================
Text zentrieren etc
========================================================================== */
   
.divCenter {
  height: calc(100vh - 60px);

  display: flex;
  justify-content: center;
  align-items: center;

}

#txt-cont {
	position: relative;
	z-index: 989;
	
	/* border: 1px solid #000; */
	
}


body.jm-footer-open #txt-cont {
	display: none;
}

#txt-cont a {
	color: #fff;
	text-decoration: none;
}

#txt-cont a:hover {
	color: #fff;
	text-decoration: underline;
}


.vertikal-flex {
	display: flex;
	align-items: center;
	justify-content: center;
	flex-direction: column;

}

.center-center-flex {
	height: 100vh;
	display: flex;
	justify-content: center;
	align-items: center;
}

.col-cont {
	position: relative;
	z-index: 998;
	display: block;
	float: left;
	/* max-width: 60%;
	min-width: 720px; */
	
	/* border: 1px solid #fff; */
}

.col-main {
	text-align: center;
}


.col-left {
	display: block;
	float: left;
	
	/* border: 1px solid #fff; */
}

.col-right {
	display: block;
	float: left;
	
	/* border: 1px solid #fff; */
}

/* ==========================================================================
Footer / Imp etc
========================================================================== */

footer#imp {
    position: fixed;
    display: block;
    
    width: 100%;
    height: 60px;
    background: #fff;
    
    bottom: 0;
    
    overflow: hidden;
    
    text-align: center;
    z-index: 999;

   -webkit-transition: all 0.5s ease-in-out; 
	-moz-transition: all 0.5s ease-in-out; 
	-o-transition: all 0.5s ease-in-out;
	transition: all 0.5s ease-in-out;
}

footer#imp.jm-imp-open {
    position: absolute;

	width: 100%;
    height: 100%;   
	overflow: scroll;

    text-align: center;
    z-index: 990;
    
    top: 0;
    bottom: inherit;
}

footer nav,
.navClose {
	position: relative;
 	width: 100%;
    height: 60px;
    
    overflow: hidden;
    
    background: #a30b0b;
    color: #fff;
    font-size: 15px;
    margin: 0;
    padding: 0;
    text-transform: uppercase;
    
    border-top: 1px solid rgb(255, 255, 255, 0.8);
}

footer#imp.jm-imp-open nav {
	
}

footer .ftNav {
    color: #fff;
    font-size: 16px;
    line-height: 60px;
    margin: 0;
    padding: 0;
    text-transform: uppercase;
}

footer .ftNav a {
	color: #fff;
	text-decoration: none;
}

footer .ftNav a:hover {
	color: #fff;
	text-decoration: underline;
}

footer#imp .navImp,
footer#imp.jm-imp-open .navImp .navClose
 {
	display: block;
}


footer#imp.jm-imp-open nav,
footer#imp .navImp .navClose {
	display: none;
}

footer #ctImp {
	background: #fff;
	position: relative;
	display: none;
	width: 100%;
	height: 0;
}

footer#imp.jm-imp-open #ctImp {
	position: relative;
	display: block;
	height: 100%;
}

#ctImp,
#ctImp p,
#ctImp h1,
#ctImp h4 {
	font-size: 16px;
	color: #000;
	text-align: left; 
}

#ctImp p {
	margin-top: 0;
	margin-bottom: 10px;
}

#ctImp h1 {}

#ctImp h2 {
	font-size: 32px;
	line-height: 38px;
	font-weight: bold;
	margin-top: 5px;
	margin-bottom: 10px;
	color: #a30b0b;
	text-align: left; 
}

#ctImp h3 {
	font-size: 26px;
	line-height: 32x;
	font-weight: bold;
	margin-top: 5px;
	margin-bottom: 10px;
	color: #000;
	text-align: left; 
}

#ctImp h4 {
	font-size: 24px;
	line-height: 30px;
	font-weight: bold;
	margin-top: 5px;
	margin-bottom: 10px;
	color: #000;
	text-align: left; 
}

.hide {
	display: none;
}

footer#imp.jm-imp-open .navClose
 {
 	position: fixed;
    display: block;
    
    width: 100%;
    height: 60px;
   
    left: 0;
    bottom: 0;
    
    overflow: hidden;
    border-top: 1px solid rgb(255, 255, 255, 0.8);
    text-align: center;
    z-index: 999;
}




@media only screen and (max-width: 880px) {
	.col-cont {
		position: relative;
		z-index: 998;
		display: block;
		float: left;
		max-width: 100%;
		min-width: inherit;
	
		padding: 15px;
	}

} /* Querie END */


@media only screen and (max-width: 750px) {
	
	h1, .h1 {
		font-size: 42px;
		line-height: 46px;
	}

	h2, .h2 {
		font-size: 30px;
		line-height: 40px;
	}
	
	h3, .h3 {
		font-size: 22px;
		line-height: 32px;
	}
	
	.col-left {
		margin-bottom: 20px;
	}

} /* Querie END */


@media only screen and (max-width: 420px) {
	.divCenter {
		height: inherit;

	 	display: block;
	  
		
	}


} /* Querie END */

