@import url('https://fonts.googleapis.com/css?family=Montserrat:300,400,700&display=swap');
*{
  padding: 0;
  margin: 0;
	box-sizing: border-box;
	
}

html {
  font-size: 10px;
  font-family: 'Montserrat', sans-serif;
  scroll-behavior: smooth;
  background-color: #222;
}
body, html {
	overflow-X: hidden;
}

.container {
  width: 100%;
  height: auto;
  display: flex;
  align-items: center;
  justify-content: center;
}

/* Navigation Bar Section */
#nav-bar {
	height: auto;
	width: 100%;
	position: fixed;
	z-index: 100;
	background-color: #222;
}

.nav-bar {
	background-color: #222;
	left: 0;
	top: 0;
	padding: 1rem 5rem;
	width: 100%;
	display: flex;
	align-items: center;
	justify-content: space-between;
}

.nav-bar .brand img {
	height: 80px;
  width: 80px;
}

.nav-bar .nav-list {
	display: flex;
	align-items: center;
	justify-content: center;
}

.nav-bar .nav-list .hamburger {
	border: 2px solid lightgrey;
	border-radius: 50%;
	display: flex;
	align-items: center;
	justify-content: center;
	height: 70px;
	width: 70px;
	transition: .3s ease transform;
	cursor: pointer;
}

.nav-bar .nav-list .hamburger.active {
	transform: rotate(360deg);
}

.nav-bar .nav-list .hamburger.active .bar:before {
	top: 0;
	transform: rotate(45deg);
}

.nav-bar .nav-list .hamburger.active .bar:after {
	top: 0;
	transform: rotate(-45deg);
}

.nav-bar .nav-list .hamburger.active .bar {
	background-color: transparent;
}

.nav-bar .nav-list .hamburger .bar {
	height: 2px;
	width: 30px;
	background-color: lightgray;
	position: relative;
	display: flex;
}

.nav-bar .nav-list .hamburger .bar::before,
.nav-bar .nav-list .hamburger .bar::after {
	content: '';
	position: absolute;
	left: 0;
	height: 100%;
	width: 100%;
	background-color: lightgrey;
	transition: .3s ease all;
}

.nav-bar .nav-list .hamburger .bar::before {
	top: 8px;
}

.nav-bar .nav-list .hamburger .bar::after {
	bottom: 8px;
}

.nav-bar .nav-list ul {
	position: absolute;
	width: 100%;
	top: 0;
	left: 0;
	background-color: rgb(46, 45, 45);
	padding: 5rem 0;
	transform: translateY(-100%);
	transition: .3s ease transform;
	text-align: center;
	z-index: -1;
}

.nav-bar .nav-list ul li {
	list-style: none;
	display: block;
	position: relative;
}

.nav-bar .nav-list ul li:hover:after {
	transform: translateX(-50%) scale(1);
}

.nav-bar .nav-list ul li:after {
	content: '';
	position: absolute;
	width: 5rem;
	height: .2rem;
	background-color: red;
	left: 50%;
	transform: translateX(-50%) scale(0);
	bottom: 0;
	transition: .3s ease transform;
}

.nav-bar .nav-list ul li a {
	font-size: 1.8rem;
	text-decoration: none;
	text-transform: uppercase;
	color: lightgrey;
	display: block;
	letter-spacing: .15rem;
  padding: 2rem 3rem;
}

.nav-bar .nav-list.open ul {
	transform: translateY(90px);
}
/* END Navigation Bar Section */

/* Landing Section */
.landing {
  min-height: 80vh;
  width: 100%;
  padding-top: 10rem;
  background-color: #222;
  display: flex;
  flex-direction: column-reverse;
  justify-content: center;
  align-items: center;
}

.landing .landing-info {
  width: 100%;
  text-align: center;
}

.landing .landing-info .landing-info-heading {
  font-size: 5rem;
  font-weight: 500;
  color: lightgrey;
}

.landing .landing-info .landing-info-subheading {
  font-size: 1.6rem;
  text-transform: uppercase;
  letter-spacing: .5rem;
  color: lightgrey;
}

.landing .landing-info .landing-info-button {
  margin-top: 30px;
  margin-right: 30px;
  margin-bottom: 30px;
  padding: 2rem 5rem;
  display: inline-block;
  font-size: 1.6rem;
  text-transform: uppercase;
  color: #fffffa;
  text-decoration: none;
  letter-spacing: .6rem;
	background-color: #111;
  transition: 0.3s ease all;
  overflow: hidden;
  border: 2px solid grey;
}

.landing .landing-info .landing-info-button:hover {
  color: black;
  background: whitesmoke;
	box-shadow: 0 0 10px whitesmoke, 0 0 40px whitesmoke, 0 0 80px whitesmoke;
  border: 2px solid white;
}

.landing .landing-img {
  height: auto;
  width: 80%;
  margin-bottom: 3rem;
}

.landing .landing-img img {
  height: 100%;
  width: 100%;
}
/* END Landing Section */

/* Explain Section */
.explain {
  min-height: 80vh;
  width: 100%;
  padding-top: 10rem;
  justify-content: center;
  background-color: #111;
	display: flex;
	flex-direction: column-reverse;
  justify-content: center;
  align-items: center;
}

.explain .explain-video {
  height: auto;
  width: 100%;
	margin-bottom: 3rem;
  
}
.explain .explain-video video {
  height: 100%;
	width: 100%;
	border-radius: none;
}

.explain .explain-info {
  width: 80%;
  text-align: center;
}

.explain .explain-info .explain-info-heading {
  font-size: 5rem;
  font-weight: 300;
	color: lightgrey;
	transition: 1s ease all;
}

.explain:hover .explain-info .explain-info-heading {
	text-shadow: 0 0 4px white;
	transition: 0.7s ease all;
}

.explain .explain-info .explain-info-text {
  font-size: 1.6rem;
  letter-spacing: .1rem;
  color: lightgrey;
}

.explain .explain-info .explain-info-text-mini {
  font-size: 1.0rem;
  letter-spacing: .1rem;
  color: lightgrey;
}

.explain .explain-info .explain-button {
	margin-top: 10px;
  margin-bottom: 50px;
  padding: 1.5rem 2.5rem;
  display: inline-block;
  font-size: 1.6rem;
  text-transform: uppercase;
  color: #fffffa;
  text-decoration: none;
  letter-spacing: .6rem;
	background-color: #111;
  transition: 0.3s ease all;
  overflow: hidden;
	border: 2px solid grey;
}

.explain .explain-info .explain-button:hover {
  color: black;
  background: whitesmoke;
	box-shadow: 0 0 10px whitesmoke, 0 0 20px whitesmoke, 0 0 50px whitesmoke;
  border: 2px solid white;
}

.explain .icons {
	display: flex;
	justify-content: space-around;
	margin-top: 20px;
	text-align: center;
}

.explain .icons .icon {
	flex-basis: 260px;
}

.explain .icons .icon p {
	font-size: 16px;
	margin-top: 20px;
	margin-bottom: 20px;
	color: lightgray;
}

.explain .icons .icon i {
	color: lightgray;
	font-size: 4rem;
}
/* END Explain Section */

/* Sale Section */
.sale-container {
	min-height: 60px;
	background-color: #666;
	padding: 10px;
  display: flex;
  flex-direction: column;
	justify-content: center;
  align-items: center;
	
}

.sale-text {
	margin: 10px;;
	text-align: center;
  font-size: 2rem;
  letter-spacing: .1rem;
	text-shadow: 0px 1px 1px rgba(255,255,255,0.3), 0px -1px 1px rgba(0,0,0,.4);
	color: #333;
	font-weight: 800;
}

.countdown {
	margin: 10px;
	width: 19rem;
  font-size: 2rem;
  letter-spacing: .2rem;
	text-shadow: 0px 1px 1px rgba(255,255,255,0.3), 0px -1px 1px rgba(0,0,0,.4);
	color: #333;
	font-weight: 800;
}
/* END Sale Section */

/* Contact Section */
.contact {
	margin-top: 7rem;
	background-color: #222;
	flex-direction: column;
}

.contact .contact-box {
	width: 90%;
	max-width: 600px;
	margin: auto;
	padding: 0 10px;
	overflow: hidden;
}

.contact .contact-box .contact-header {
	text-align: center;
	color: grey;
	font-size: 40px;
	transition: 0.5s ease all;
}


.contact:hover .contact-box .contact-header {
	color: whitesmoke;
	transition: 0.5s ease all;
	text-shadow: 0 0 5px grey;
}

.contact .contact-box .contact-data {
	text-align: center;
	color: grey;
	font-size: 15px;
	transition: 0.5s ease all;
}

.contact:hover .contact-box .contact-data {
	color: whitesmoke;
	transition: 0.5s ease all;
	text-shadow: 0 0 5px grey;
}
.contact .contact-box .form-group {
	width: 100%;
	margin-top: 20px;
	color: whitesmoke;
}

.contact .contact-box .form-group input, textarea {
	font-family: 'Montserrat', sans-serif;
	font-size: 15px;
	text-decoration: none;
	display: block;
	width: 100%;
	box-sizing: border-box;
	margin: 16px 0;
	border: 0;
	background: #111;
	padding: 20px 40px;
	outline: none;
	color: #ddd;
	transition: 0.5s;
}

.contact .contact-box .form-group input:focus, textarea:focus {
	box-shadow: 0 0 1px 1px rgba(255,0,0,0.3);
}

.contact .contact-box .form-group input:hover, textarea:hover {
	color: whitesmoke;
	text-shadow: 0 0 10px whitesmoke;
}

.contact .contact-box .form-group textarea {
	resize: vertical;
}

.contact .contact-box .contact-button {
  padding: 2rem 5rem;
	font-size: 1.5rem;
  text-decoration: none;
	letter-spacing: .2rem;
	float: right;
	background: #111;
	color: whitesmoke;
	padding: 12px 50px;
	border-radius: 20px;
	cursor: pointer;
	transition: 0.5s;
	border: 1px solid transparent;
}

.contact .contact-box .contact-button:hover {
	background-color: black;
	border: 1px solid rgba(255,0,0,0.3);
}

#status {
	text-align: center;
	width: 90%;
	max-width: 600px;
	padding: 10px;
	margin: 0 auto;
	margin-top: 5px;
	margin-bottom: 5px;
	border-radius: 8px;
}

#status.success {
	background-color: lightgreen;
	animation: status 4s ease forwards;
}

#status.error {
	background-color: red;
	color: white;
	animation: status 4s ease forwards;
}

@keyframes status {
	0%{
		opacity: 1;
		pointer-events: all;
	}
	90%{
		opacity: 1;
		pointer-events: all;
	}
	100%{
		opacity: 0;
		pointer-events: none;
	}
}
/* END Contact Section */

/* Review Section */
.review-container {
	background-color: #111;
	color: white;
}

.review-container .heading {
	font-size: 60px;
	color: white;
	text-align: center;
}

.review-container .heading span {
	font-style: italic;
	font-size: 30px;
}

.review-container .profiles {
	display: flex;
	justify-content: space-around;
	margin: 20px 80px;
}

.review-container .profiles .profile {
	flex-basis: 260px;
}

.review-container .profiles .profile .profile-img {
	height: 260px;
	width: 260;
	border-radius: 50%;
	filter: grayscale(100%);
	cursor: pointer;
	transition: 400ms;
}

.review-container .profiles .profile:hover .profile-img {
	filter: grayscale(0);
}


.review-container .profiles .profile .username {
	margin-top: 30px;
	font-size: 35px;
}

.review-container .profiles .profile h5 {
	font-size: 18px;
	font-weight: 100;
	letter-spacing: 3px;
	color: #ccc;
	transition: .5s ease all;
}

.review-container .profiles .profile:hover h5 {
	color: rgba(255,0,0,0.7);
	transition: .5s ease all;
}

.review-container .profiles .profile p {
	font-size: 16px;
	margin-top: 20px;
	margin-bottom: 20px;
	text-align: justify;
}
/* END Review Section */


/* Image Section*/
.image-container {
	padding: 30px;
	padding-bottom: 10px;
	background-color: #111;
}

#slider {
	overflow: hidden;
	margin-bottom: 20px;
}

#slider figure {
	position: relative;
	width: 500%;
	margin: 0;
	left: 0;
	animation: 20s slider infinite;
}

#slider figure img {
	width: 20%;
	float: left;
}

@keyframes slider {
	0% {
		left: 0;
	}
	20% {
		left: 0;
	}
	25% {
		left: -100%;
	}
	45% {
		left: -100%
	}
	50% {
		left: -200%
	}
	70% {
		left: -200%;
	}
	75% {
		left: -300%;
	}
	95% {
		left: -300%;
	}
	100% {
		left: -400%;
	}
}
/* END Image Section*/

/* Service Section*/
.service-container {
	display: flex;
	/*background-color: #111*/
	flex-direction: column;
}

.service {
  min-height: 40vh;
  width: 100%;
  justify-content: center;
	display: flex;
  justify-content: center;
  align-items: center;
	flex-direction: column;
}

.service-text-link {
  font-size: 1.2rem;
  color: lightgrey;
}

.service-info-heading {
  font-size: 5rem;
  font-weight: 300;
	color: lightgrey;
	transition: 1s ease all;
}

.service-text {
	padding: 0 30px 0 30px;
  font-size: 1.2rem;
  letter-spacing: .1rem;
  color: lightgrey;
}

.service-button {
	margin-top: 10px;
  margin-bottom: 50px;
  padding: 1.5rem 2.5rem;
  display: inline-block;
  font-size: 1.6rem;
  text-transform: uppercase;
  color: #fffffa;
  text-decoration: none;
  letter-spacing: .6rem;
	/*background-color: #111;*/
  transition: 0.3s ease all;
  overflow: hidden;
	border: 2px solid grey;
}

.service-button:hover {
  color: black;
  background: whitesmoke;
	box-shadow: 0 0 10px whitesmoke, 0 0 5px whitesmoke, 0 0 10px whitesmoke;
  border: 2px solid white;
}
/* END Service Section*/

/* Footer Section */
.footer {
  min-height: 20vh;
  width: 100%;
  background-color: black;
  color: white;
  flex-direction: column;
  text-align: center;
  padding: 2rem;
}

.footer .footer-contact .footer-contact-info {
  font-size: 1.4rem;
  padding-top: 10px;
  letter-spacing: .2rem;
}

.footer .footer-social-follow .footer-social-icon a {
  color: white;
  font-size: 3rem;
  margin: .4rem;
  display: inline-block;
}

.footer-data {
	float: right;
	margin-left: auto;
	margin-right: 0;
}

.footer-data a {
	text-decoration: none;
  color: white;
  font-size: 1.3rem;
	margin: .4rem;
}
/* END Footer Section */

/* Media query for desktop and tab */
@media only screen and (min-width:768px) {
  .nav-bar .nav-list .hamburger {
		display: none;
  }
  
	.nav-bar {
		width: 80%;
  }
  
	.nav-bar .nav-list ul {
		transform: translateX(0);
		position: initial;
		padding: 0;
		z-index: initial;
		background-color: transparent;
  }
  
	.nav-bar .nav-list ul li {
		display: inline-block;
	}

  .landing {
    height: 100vh;
    flex-direction: row;
    padding-left: 10%;
    justify-content: center;
    align-items: center;
  }

  .landing .landing-info {
    max-width: 30%;
    text-align: left;
  }

  .landing .landing-info .landing-info-subheading {
    font-size: 1.3rem;
    letter-spacing: .5rem;
  }

  .landing .landing-img {
		margin-top: 5rem;
    margin-left: 50px;
    min-width: 300px;
    max-width: 600px;

	}

  .explain .explain-info .explain-info-subheading {
    font-size: 1.3rem;
    letter-spacing: .5rem;
  }

  .explain .explain-video {
		width: 80%;
	}
	
	.explain .explain-video video {
		border-radius: 15px;
	}

	.service-text {
		max-width: 60%;
	}
}

#slider {
	overflow: hidden;
	margin: 0 30% 20px 30%;
}
/* END Media query for desktop and tab */

/* Media Query for Desktop ONLY */
@media only screen and (min-width:1200px) {
  .landing .landing-info .landing-info-heading {
    font-size: 6rem;
	}
	
	.explain{
		flex-direction: row;
	}

	.explain .explain-info {
		margin-right: 2%;
		margin-left: 10%;
		text-align: left;
	}

	.explain .explain-info ul{
		text-align: left;
	}

	.explain .explain-info .explain-info-heading {
    font-size: 6rem;
	}
	
	.explain .explain-video {
		margin-right: 2%;
	}

	.explain .explain-video video {
		border-radius: 15px;
	}

	.service-container {
		flex-direction: row;
	}

	.service-info-heading {
    font-size: 6rem;
	}

}
/* END Media Query for Desktop ONLY */

/* Media Query for Phone and Tablet */
@media only screen and (max-width: 1150px) {
  .profiles {
    flex-direction: column;
  }

  .profile {
    display: flex;
    flex-direction: column;
    align-items: center;
  }

  .profile p {
    text-align: center;
    margin: 20px 60px 80px 60px;
    font-size: 20px;
  }

	#slider {
		margin: 0;
		margin-bottom: 20px;
	}
}
/* END Media Query for Phone and Tablet */

/* Media Query for Tablet */
@media only screen and (max-width: 900px) {
  .review-container .heading {
    font-size: 40px;
    color: white;
    text-align: center;
  }

  .review-container .heading span {
    font-size: 15px;
  }

  .profiles {
    margin: 20px 0;
  }

  .profiles .profile p {
    margin: 20px 10px 80px 10px;
  }

	.icons {
    flex-direction: column;
		height: 400px;
  }

	.icon {
    display: flex;
    flex-direction: column;
    align-items: center;
  }
}
/* END Media Query for Tablet */



/*############################################################################################################*/
/*Externe Pages*/

/* Formatierung */
.formatierung_h1 {
	font-size: 4rem;
	color: lightgrey;
	padding: 0 70px 0 70px;
  letter-spacing: .1rem;
}

.formatierung_h2 {
	font-size: 3rem;
	color: lightgrey;
	padding: 40px 70px 0 70px;
  letter-spacing: .1rem;
}

.formatierung_h3 {
	font-size: 15px;
	color: lightgrey;
	padding: 40px 70px 0 70px;
  font-size: 1.7rem;
  letter-spacing: .1rem;
}

/* END Formatierung */

/* Impressum / Datenschutz */
.impressum-datenschutz-container {
	margin-top: 130px;
	margin-bottom: 130px;
	width: 100%;
	height: 100%;
	align-items: center;
}

.impressum-datenschutz-text {
	padding: 0 70px 0 70px;
  font-size: 1.2rem;
  letter-spacing: .1rem;
  color: lightgrey;
}

.impressum-datenschutz-text a {
	text-decoration: none;
  font-size: 1.2rem;
  letter-spacing: .1rem;
  color: lightgrey;
}
/* END Impressum */

/* Explain Section */
.story {
  min-height: 80vh;
  width: 100%;
  padding-top: 15rem;
	padding-bottom: 10rem;
  justify-content: center;
  background-color: #111;
	display: flex;
	flex-direction: column-reverse;
  justify-content: center;
  align-items: center;
}

.story .story-img {
	float: left;
	margin: 0 20px 10px 0;
	width: 300px;
	height: auto;
	border-radius: 20px;
	box-shadow: 0 0 10px rgba(255, 255, 255, 0.1), 0 0 10px rgba(255,255,255,0.1), 0 0 20px rgba(255,255,255,0.1);
	-webkit-transform: scaleX(-1);
  transform: scaleX(-1);
}

.story .story-img img {
  height: 100%;
  width: 100%;
}

.story .story-info {
  width: 80%;
  text-align: justify;
}

.story .story-info .story-info-heading {
  font-size: 5rem;
  font-weight: 300;
	color: lightgrey;
	transition: 1s ease all;
}

.story .story-info .story-info-text {
  font-size: 1.6rem;
  letter-spacing: .1rem;
  color: lightgrey;
}

.story .story-info .story-info-text-mini {
  font-size: 1.0rem;
  letter-spacing: .1rem;
  color: lightgrey;
}

.story .story-info ul {
	text-align: block;
	font-size: 1.6rem;
  letter-spacing: .1rem;
  color: lightgrey;
	list-style-type: square;
  list-style-position: inside;
	margin: 0;
	padding: 0;
}
/* END Explain Section */

/* Company Section */
.company {
  min-height: 80vh;
  width: 100%;
  justify-content: center;
	display: flex;
	flex-direction: column-reverse;
  justify-content: center;
  align-items: center;
}

.company .company-info {
  width: 80%;
  text-align: block;
}

.company .company-info .company-info-heading {
  font-size: 5rem;
  font-weight: 300;
	color: lightgrey;
	transition: 1s ease all;
}

.company .company-info .company-info-text {
  font-size: 1.6rem;
  letter-spacing: .1rem;
  color: lightgrey;
}

.company .company-info .company-info-text-mini {
  font-size: 1.0rem;
  letter-spacing: .1rem;
  color: lightgrey;
}

.company .company-info ul {
	text-align: block;
	font-size: 1.6rem;
  letter-spacing: .1rem;
  color: lightgrey;
	list-style-type: square;
  list-style-position: inside;
	margin: 0;
	padding: 0;
}
/* END Company Section */

/*END Externe Pages*/