@charset "UTF-8";
/* CSS Document */
*{
	margin: 0;
	padding: 0;
	border: none;
	position: relative;
	color: #ffffff;
	text-decoration: none;
	font-family: "OpenSans-Regular";
	font-size: 15px;
	line-height: 1.5;
}

@font-face {
	font-family: "OpenSans-Bold";
   	src: url("../fonts/OpenSans-Bold.ttf") format("truetype");
	font-weight: bold;
}
@font-face {
	font-family: "OpenSans-Regular";
   	src: url("../fonts/OpenSans-Regular.ttf") format("truetype");
	font-weight: normal;
}
html{
	scroll-behavior: smooth;
	background-image: linear-gradient(90deg, #0aace5, #b2b2b2, #b2b2b2, #0aace5);
	background-attachment: fixed;
	background-size:  cover;
	background-repeat: no-repeat;
}
body{
	width: 100vw;
	overflow-x: hidden;
}
#content{
	max-width: 1280px;
	display: grid;
	grid-template-columns: 1fr 1fr 1fr 1fr 1fr 1fr 1fr 1fr 1fr 1fr 1fr;
	grid-template-rows: auto auto auto auto auto auto;
	margin: 0 auto;
	top: -10vh;
	position: unset;
}
#nav-background{
  background-color: #ffffff;
  width: 100%;
  height: 10vh;
  z-index: 2;
  filter: drop-shadow( 0px 0px 10px #000000 );
  display: block;
}
#content-nav{
	max-width: 1280px;
	display: grid;
	grid-template-columns: 1fr 1fr 1fr 1fr 1fr 1fr 1fr 1fr 1fr 1fr 1fr;
	margin: 0 auto;
}
nav{
	display: flex;
	grid-column-start: 1;
	grid-column-end: 12;
	grid-row-start: 1;
	justify-content: space-around;
	align-items:   baseline;
	height: 10vh;
	top: 2vh;
}

nav div{
	display: flex;
	width: 100%;
	justify-content: center;
}
nav a{
	color: #666666;
	font-weight: bold;
}
#stroke-blue{
	display: block;
	height: 3px;
	background-color: #0580b6;
	width:  170%;
	position:  absolute;
	bottom: -2vh;
	left: 15%;
}
#stroke-gray{
	display: block;
	height: 3px;
	background-color: #666666;
	width: 170%;
	position: absolute;
	bottom: -2vh;
	left: 15%;
}
#hero{
	
	position: relative;
	width: 100vw;
	display: block;
	overflow: hidden;
	height: 93vh;
}
.hero-img{
	background-size: cover;
	width: 100%;
	height: 100vh;
	top: 0;
	position: absolute;
}
.hero-frank-gmbh{
	background-image: url("../img/hero-frank-gmbh.jpg");
	background-position: center;
}
.hero-frank-gbr{
	background-image: url("../img/hero-frank-gbr.jpg");
	background-position: bottom;
}
#hero-frank-gmbh1{
	animation: fadeGmbh1 70s infinite;
}
@keyframes fadeGmbh1{
  0%{margin: 0 0 0 0;}
  14%{margin: 0 0 0 -100%;}
	28%{margin: -100vh 0 0 -100%;}
	42%{margin: -100vh 0 0 0;}
	56%{margin: -100vh 0 0 100%;}
	70%{margin: 0 0 0 100%;}
	100%{margin: 0 0 0 0;}
}
#hero-frank-gmbh2{
	animation: fadeGmbh2 70s infinite;
}
@keyframes fadeGmbh2{
	0%{margin: -100vh 0 0 100%;}
	14%{margin: 0 0 0 100%;}
  28%{margin: 0 0 0 0;}
  42%{margin: 0 0 0 -100%;}
	56%{margin: -100vh 0 0 -100%;}
	70%{margin: -100vh 0 0 0;}
	100%{margin: -100vh 0 0 100%;}
}
#hero-frank-gmbh3{
	animation: fadeGmbh3 70s infinite;
}
@keyframes fadeGmbh3{
	0%{margin: -100vh 0 0 -100%;}
	14%{margin: -100vh 0 0 0;}
	28%{margin: -100vh 0 0 100%;}
	42%{margin: 0 0 0 100%;}
	56%{margin: 0 0 0 0;}
  70%{margin: 0 0 0 -100%;}
  100%{margin: -100vh 0 0 -100%;}
}
#hero-frank-gbr1{
	animation: fadeGbr1 70s infinite;
}
  @keyframes fadeGbr1{
	0%{margin: 0 0 0 100%;}
  14%{margin: 0 0 0 0;}
  28%{margin: 0 0 0 -100%;}
	42%{margin: -100vh 0 0 -100%;}
	56%{margin: -100vh 0 0 0;}
	70%{margin: -100vh 0 0 100%;}
	100%{margin: 0 0 0 100%;}
}
#hero-frank-gbr2{
	animation: fadeGbr2 70s infinite;
}
  @keyframes fadeGbr2{
	0%{margin: -100vh 0 0 0;}
	14%{margin: -100vh 0 0 100%;}
	28%{margin: 0 0 0 100%;}
	42%{margin: 0 0 0 0;}
  56%{margin: 0 0 0 -100%;}
	70%{margin: -100vh 0 0 -100%;}
	100%{margin: -100vh 0 0 0}
}
#hero-frank-gbr3{
	animation: fadeGbr3 70s infinite;
}
  @keyframes fadeGbr3{
  0%{margin: 0 0 0 -100%;}
	14%{margin: -100vh 0 0 -100%;}
	28%{margin: -100vh 0 0 0;}
	42%{margin: -100vh 0 0 100%;}
	56%{margin: 0 0 0 100%;}
	70%{margin: 0 0 0 0;}
  100%{margin: 0 0 0 -100%;}
}
.hero-img img{
	top: 20px;
	height: 7vh;
	padding: 3vh;
	display: block;
	background-color: #ffffff;
	float: right;
	margin-right: 25px;
}
.hero-img a{
	width: 100%;
	height: 93vh;
	display: block;
	cursor: pointer;
	z-index: 1;
}
.hero-img a i{
	top: 60vh;
	display: flex;
	justify-content: center;
	font-size: 7vh;
	color: rgba(255, 255, 255, 1);
	width: 100vw;
}
.section{
	grid-column-start: 1;
	grid-column-end:  12;
	width:  100%;
	display: grid;
	padding-top: 6vh;
	grid-auto-columns:   calc( 100% /12);
}
#back-to-top-bttn{
	display: flex;
	z-index: 1;
	position: fixed;
	bottom: 14vh;
	right: 4vw;
	filter: drop-shadow( 0px 0px 5px rgba(0, 0, 0, 0.4) );
}
#back-to-top-bttn i{
	font-size: 7vh;
	background-color: #666666;
	border-radius: 50%;
}
#frank-gmbh{
	grid-row-start: 1;
	background-color: #0580b6;
}
#frank-gbr{
	grid-row-start: 3;
	background-color: #666666;
}
#gemeinsame-referenzen{
	grid-row-start: 4;
	background-color: #0580b6;
	height: 56vh;
	grid-template-rows: 10vh 35vh 11vh;
}
#kontakt{
	grid-row-start: 5;
	background-color: #ffffff;
	height: 25vh;
	grid-template-rows: 5vh 20vh;
}
#kontakt h1, #kontakt h2, #kontakt p{
	color: #666666;
}
#impressum{
	grid-row-start: 6;
	background-color: #0580b6;
	grid-template-rows: 5vh 49vh;
}
#datenschutzerklaerung{
	grid-row-start: 7;
	background-color: #666666;
	grid-template-rows: max-content auto;
	padding-bottom: 10vh;
}
footer{
	width: 100%;
	height: 4vh;
	display: flex;
	position: fixed;
	bottom: 0;
	z-index: 1;
	filter: drop-shadow( 0px 0px 5px rgba(0, 0, 0, 0.4) );
	background-color: #ffffff;
	left: 0;
}
#footer-content{
	grid-row-start: 8;
	grid-column-start: 1;
	grid-column-end: 12;
	width: 100%;
	max-width: 1280px;
	display: flex;
	margin: 0 auto;
}
footer #footer-content a{
	color: #666666;
	font-weight: bold;
	align-self: center;
	margin: 0 0 0 calc( 100% / 12 );
}
.img-left-small{
	overflow: hidden;
	display: flex;
	justify-content: center;
	height: 40vh;
	grid-column-start: 1;
	grid-column-end: 7;
	grid-row-start: 1;
	grid-row-end: 2;
}
.img-left-small img{
	display:  block;
	min-width: 120%;
	width: 100%;
}
#frank-gmbh .img-left-small img{
	align-self: center;
}
#frank-gbr .img-left-small img{
	align-self: flex-end;
}
.txt-column-4-right{
	grid-column-start: 8;
	grid-column-end: 13;
	grid-row-start: 1;
	grid-row-end: 2;
	width: 100%;
}
.txt-column-4-left{
	grid-column-start: 2;
	grid-column-end: 6;
	grid-row-start: 2;
	grid-row-end: 4;
	width: 100%;
}
.txt-column-4-after{
	grid-column-start: 7;
	grid-column-end: 11;
	grid-row-start: 2;
	grid-row-end: 4;
	width: 100%;	
}
.txt-column-2-right{
	grid-column-start: 10;
	grid-column-end: 12;
	grid-row-start: 2;
	grid-row-end: 3;
}
.txt-column-2-right-slider{
	width: calc( 100% / 12 * 2.7 );
	left: calc( 100% / 12 * 9 );
	top: -35vh;
}
.txt-column-2-left{
	grid-column-start: 2;
	grid-column-end: 4;
	grid-row-start: 1;
	grid-row-end: 2;
}
.txt-column-2-left-slider{
	width: calc( 100% / 12 * 2 );
	left: calc( 100% / 12 * 1 );
	top: -35vh;
}
h1{
	font-family: "OpenSans-Bold";
	font-weight: bold;
	font-size: 30px;
}
#kontakt h1, #impressum h1, #datenschutzerklaerung h1{
	grid-column-start: 2;
	grid-column-end: 8;
	grid-row-start: 1;
	grid-row-end: 2;
	width: 100%;
}
h2{
	font-family: "OpenSans-Regular";
	font-weight: normal;
	font-size: 30px;
}
.slider{
	grid-column-start: 1;
	grid-column-end: 13;
	grid-row-start: 2;
	grid-row-end: 5;
	overflow-x: hidden;
	display: flex;
	position: relative;
	overflow-y: hidden;
	height: 60vh;
}
.slider-top{
	grid-column-start: 1;
	grid-column-end: 13;
	grid-row-start: 1;
	grid-row-end: 4;
	overflow: hidden;
	display: flex;
	position: relative;
}
.mySlides1, .mySlides2,.mySlides3{
	height: 100%;
	min-width: 100%;
	display:  block;
	flex-direction: row;
	position: relative;
	overflow: visible;
}
.slider-img-mask, .slider-img-mask-2{
	height: 45vh;
	overflow: hidden;
	width: calc( 100% / 12 * 8);
	display: flex;
	justify-content: center;
	flex-direction: row;
}
.slider-img-mask{
 background-color: #666666;
}
.slider-img-mask-2{
 background-color: #0580b6;
}
.slider-img-mask img, .slider-img-mask-2 img{
align-self: center;
height: 100%;
}
.slider-bttn-left, .slider-bttn-right, .slider-bttn-left-2, .slider-bttn-right-2{
	position: absolute;
	font-size: 7vh;
	color: rgba(255, 255, 255, 0.8);
	cursor: pointer;
}
.slider-bttn-left{
	top: 65%;
	left: 2%;
}
.slider-bttn-right{
	top: 65%;
	left: calc( 100% / 12 * 7);
}
.slider-bttn-left-2{
	bottom: 28vh;
	left: calc( ( 100% / 12 * 4 ) + 2% );
}
.slider-bttn-right-2{
	bottom: 28vh;
	left: calc( 100% / 12 * 11);
}
.slide{
	animation-name: slide;
	animation-duration: 2s;
}
@keyframes slide {

		0% {
      transform: translateX(-2%);
			opacity: 0;
    }
	
    100% {
      transform: translateX(0%);
			opacity: 1;
    }
}
.slide2{
	animation-name: slide2;
	animation-duration: 2s;
	height: min-content;
}
@keyframes slide2 {

		0% {
      transform: translateX(2%);
			opacity: 0;
    }
	
    100% {
      transform: translateX(0%);
			opacity: 1;
    }
}
.dot1, .dot2, .dot3 {
  cursor: pointer;
  height: 15px;
  width: 15px;
  background-color: #ffffff;
  border-radius: 50%;
  display: inline-block;
  transition: background-color 0.5s ease;
	margin: 0 10px;
}
.dot1:hover, .dot1.active{
	background-color: #666666;
}
.dot2:hover, .dot2.active{
	background-color: #0580b6;
}
.dots{
	top: -885%;
	grid-column-start: 1;
	grid-column-end: 9;
	grid-row-start: 4;
	grid-row-end: 4;
	display: flex;
	justify-content: center;
}
#google-map-frank-gmbh{
	grid-column-start: 2;
	grid-column-end: 6;
	grid-row-start: 3;
	grid-row-end: 3;
	width: 100%;
	height: 35vh;
}
#google-map-frank-gbr{
	grid-column-start: 7;
	grid-column-end: 11;
	grid-row-start: 3;
	grid-row-end: 3;
	width: 100%;
	height: 35vh;
}

p{
	margin: 10px 0 30px 0;
}
h2{
	margin: 0 0 20px 0;
}
.slider h2{
	margin: 20px 0 20px 0;
}
li{
	list-style: decimal;
	margin: 5px 0 5px 1rem;
}
.c-hamburger{
	display: none;
}

.cc_container .cc_message{
	color: #666666;
}
.cc_container a,
.cc_container a:visited {
 z-index: 1;
 font-size: 1em;
}






.cookie-container{
	position: fixed;
	bottom: -1000000%;
	/*left: 0;*/
	right: 15px;
	/*background: #2f3640;*/
	background: #fff;
	/*color: #f5f6fa;*/
	color: #2f3640;
	/*padding: 0 32px;*/
	padding: 0;
	height: auto;
	width: 360px;
	z-index: 500;

	transition: 400ms;
	-webkit-box-shadow: 0 -2px 16px #2f3640;
	-moz-box-shadow: 0 -2px 16px #2f3640;
	box-shadow: 0 -2px 16px #2f3640;
	-webkit-border-radius: 15px;
	-moz-border-radius: 15px;
	border-radius: 15px;
}
.cookie-container.active {
	bottom: 15px;
}
.cookie-container .info-text{
	padding: 15px;
}
.cookie-container .info-text h3{
	font-size: 24px !important;
	color:#2f3640;
	font-weight: 700;
	line-height: 1;
	letter-spacing: normal;
	margin: 0 0 12px;
}
.cookie-container p{
	font-size: 14px !important;
	color: #000000
}
.cookie-container .cookie-categories-wrapper{
	color:#323335;

}
.cookie-container .cookie-categories-wrapper .category-list {
	list-style: none;
	padding: 0 16px;
	margin: 0;
	max-height: 320px;
	overflow-y: auto;
}
.cookie-container .cookie-categories-wrapper .category-list .category{
	-webkit-border-radius: 8px;
	border-radius: 8px;
	background-color: #eee;
	padding: 12px;
	color: #323335;
	margin-bottom: 8px;
	position: relative;
	list-style:none;
	margin-left:0;
	font-size: 16px;
}

.cookie-container .cookie-btn {
	background: #0580b6;
	border: 0;
	color: #f5f6fa;
	padding: 12px 48px;
	font-size: 18px;
	margin-bottom: 8px;
	-webkit-border-radius: 8px;
	-moz-border-radius: 8px;
	border-radius: 8px;

	cursor: pointer;
	width: 100%;
}
.cookie-container .cookie-btn.color-sub{
	background: #ccc;
	margin-bottom: 10px;
}

.cookie-container .cookie-btn:disabled{
	cursor: not-allowed;
	color: #ccc;
	background: #eee;
}

.cookie-container .toggle {
	margin:0 0 0 0rem;
	position: relative;
	display: inline-block;
	width: 4rem;
	height: 2rem;
	vertical-align: middle;
	margin-right: 15px;
}

.cookie-container .toggle input {
	display: none;
}

.cookie-container .roundbutton {
	position: absolute;
	top: 0;
	left: 0;
	bottom: 0;
	right: 0;
	width: 100%;
	/*background-color: #33455e;*/
	background-color: #ccc;
	display: block;
	transition: all 0.3s;
	border-radius: 3.4rem;
	cursor: pointer;
}
.cookie-container .name {
	vertical-align: middle;
	display: inline-block;
	color: #000000
}

.cookie-container .roundbutton:before {
	position: absolute;
	content: "";
	height: 1.4rem;
	width: 1.4rem;
	border-radius: 100%;
	display: block;
	left: 0.3rem;
	bottom: 0.3rem;
	background-color: white;
	transition: all 0.3s;
}

.cookie-container input:checked + .roundbutton {
	background-color: #0580b6;
}

.cookie-container input:checked + .roundbutton:before  {
	transform: translate(2rem, 0);
}

.cookie-container .button-wrapper{
	padding: 0 15px;
}

.cookieBannerLinks {
	color: #0580b6;
}

#cookieOverlay {
	position: fixed; /* Sit on top of the page content */
	display: none; /* Hidden by default */
	width: 100%; /* Full width (cover the whole page) */
	height: 100%; /* Full height (cover the whole page) */
	top: 0;
	left: 0;
	right: 0;
	bottom: 0;
	background-color: rgba(0,0,0,0.5); /* Black background with opacity */
	z-index: 450; /* Specify a stack order in case you're using a different order for other elements */
	cursor: pointer; /* Add a pointer on hover */
}