/*
Theme Name: GeneratePress Child
Theme URI: http://deine-website.com
Description: Child Theme für GeneratePress
Author: Dein Name
Author URI: http://deine-website.com
Template: generatepress
Version: 1.0.0
*/

/* Hier kannst du deine eigenen Styles hinzufügen */
html {
	scroll-behavior: smooth;
}
html, body {
	overflow-x:hidden;
}
.one-container .site-content {
	padding-top:0;
}

.fade-in {
	opacity:0;
	transition: all 1.3s ease;
	position:relative;
	z-index:1;
}
.fade-in.in-view {
	opacity:1;
	transition: all 1.3s ease;
}
.fade-in.two.in-view {
	transition-delay: .5s;
}
.fade-in.three.in-view {
	transition-delay: 1s;
}

.slide-up {
	opacity:0;
	transform:translatey(50px);
	transition: opacity 1.2s linear, transform 1.4s ease;
	
}
.slide-up.in-view {
	opacity:1;
	transform:translatey(0);
	transition: opacity 1.2s linear, transform 1.4s ease;
}


header.site-header {
	position:absolute;
	top:0;
	left:0;
	width:100%;
	z-index:2
}
.home .header-widget,
.single .site-logo, .single .main-navigation,
body:not(.home) .site-logo, body:not(.home) .main-navigation{
	display:none;
}
.single .header-widget, body:not(.home) .header-widget {
	width:100%;
}
.nav-float-right .header-widget {
	margin-left:0;
}

ul#menu-single {
	display:flex;
	justify-content:flex-end;
	margin-top:25px;
}
ul#menu-single li a{
	font-size:20px;
	font-weight:500;
	margin: 0 5px;
	padding:7px 30px;
	text-decoration:none;
}
ul#menu-single li:last-child a{
	color:#fff;
	background:#00A9DA;
	border-radius:5px;
	box-shadow: 1px 3px 4px rgba(0,0,0,.2);
}
ul#menu-single li:last-child a:hover {
	opacity:.85;
}

a, a:hover {
	transition: all .3s ease;
}
.viewport {
	height:100vh;
	position:relative;
}
.viewport::before {
	position:absolute;
	content:'';
	top:0;
	left:0;
	width:100%;
	height:100%;
	background:rgba(0,0,0,.2);
	z-index:1
}

.viewport div {
	//position:relative;
	z-index:2;
	color:#fff
}

.viewport h1 {
  font-size:60px;
  opacity:0;
  position: relative;
  text-transform: uppercase;
  background: linear-gradient(90deg, rgba(255, 255, 255, 1), rgba(255, 255, 255, 0.1),rgba(255, 255, 255, 1));
  background-size: 450% auto;
  background-clip: text;
  -webkit-background-clip: text;
  color: transparent;
  animation: shine 1s linear forwards;
}
.viewport h1 span {
	color:#00a9da
}
.viewport p, .viewport h1 span {
	opacity:0;
	width:85%;
	animation: fadeIn 1s 1s linear forwards;
}
.viewport .cta-button {
	opacity:0;
	background: transparent !important;
	animation: fadeIn 1s 1.2s linear forwards;
}
.viewport .cta-button a{
	background: transparent !important;
	text-shadow: 1px 1px 4px rgba(0,0,0,.2);
}
.viewport .cta-button a:hover{
	background: #41a9d5 !important;
}
@keyframes shine {
  0% {
    background-position: 100% ;
	  opacity:1;
  }
  100% {
    background-position: 0% ;
	  opacity:1;
  }
}
@keyframes fadeIn {
  0% {
    opacity:0;
  }
  100% {
    opacity:1;
  }
}

.point {
	position:absolute;
	width:30px;
	height:20px;
	background:#F0C871;
	filter:blur(10px);
	border-radius: 50%;
	opacity:0;
}

.point-1 {
	left:49%;
	top:17%;
	animation:light 0.5s 1s ease-in-out forwards;
}
.point-2 {
	left:49%;
	top:23%;
	width:20px;
	height:10px;
	animation:light 0.5s 1.2s ease-in-out forwards;
}
.point-3 {
	left:49%;
	top:26%;
	width:20px;
	height:10px;
	animation:light 0.5s 1.4s ease-in-out forwards;
}
.point-4 {
	left:49%;
	top:29%;
	width:10px;
	height:5px;
	animation:light 0.5s 1.6s ease-in-out forwards;
}
.point-5 {
	left:49%;
	top:32%;
	width:10px;
	height:5px;
	animation:light 0.5s 1.8s ease-in-out forwards;
}
.point-6 {
	left:49%;
	top:35%;
	width:10px;
	height:5px;
	animation:light 0.5s 2s ease-in-out forwards;
}
.point-7 {
	left:49%;
	top:38%;
	width:10px;
	height:5px;
	animation:light 0.5s 2.2s ease-in-out forwards;
}
.point-8 {
	left:49%;
	top:41%;
	width:10px;
	height:5px;
	animation:light 0.5s 2.4s ease-in-out forwards;
}
@keyframes light {
  0% {
    opacity:0 ;
  }
  100% {
    opacity:1 ;
  }
}

.single h1 {
	font-size:24px;
	font-family:'Saira Condensed', sans-serif;
	color:#575756;
}
.single h1 strong {
	color:#00A9DA;
}
h2 {
	display:inline-block;
	position:relative;
	padding-bottom:10px;
}

h2::after {
	position:absolute;
	content:'';
	bottom:0;
	left:50px;
	width:100%;
	height:4px;
	background:#00A9DA;
	border-radius:3px;
}

h3 {
	text-shadow:2px 2px 4px rgba(0,0,0,.3);
}

h5 {
	display:inline-block;
	position:relative;
	padding:0 15px 5px;
	font-weight:500;
	border-bottom: 2px solid #00A9DA;
}


.cta {
	background-position:right;
	background-size:60%;
	background-repeat:no-repeat !important;
	border-left: 5px solid #00A9DA;
	border-radius:10px ;
	position:relative
}

.cta::before, .cta::after {
	position:absolute;
	content:'';
	height:100%;
	
}
.cta::before {
	top:0;
	left:-2px;
	width:25%;
	border-top: 5px solid #00A9DA;
	border-radius:10px 0 0 10px;
}
.cta::after {
	bottom:0;
	left:-2px;
	width:45%;
	border-bottom: 5px solid #00A9DA;
	border-radius:0 0 2px 10px;
}

.cta h2::after {
	display:none;
}

.ow-button-base .sowb-button {
	padding:12px 30px !important;
	font-weight:600;
	font-size:20px !important;
}

.row {
	display:flex;
	flex-wrap:wrap;
	justify-content:space-between;
}

.col-4 {
	width:calc(33.33% - ( 0.5 * 30px ) );
}

.news-container .news-img{
	height:165px;
	border:3px solid #fff;
	border-radius:5px;
	box-shadow:0 4px 4px rgba(0,0,0,.2);
	background-size:cover;
	background-position:center;
}

.news-container a {
	color:#575756;
	font-weight:500;
	text-decoration:none;
}

.news-container-text {
	padding-top:10px;
	padding-left:10px;
}

.kontakt {
	position:relative;
}

.kontakt h4.widget-title {
	position:absolute;
	right:158px;
	bottom:0;
	color:#fff;
	font-size:16px;
	background:#003A4B;
	padding:15px 50px 15px 30px;
	margin-bottom:0;
	border-radius:5px 0 0 5px;
}

.single-img {
	background-size:cover;
	background-position:center;
	height:320px;
	border-radius:10px;
	margin-top:130px
}
.single table,
.single tr,
.single td{
	border:none;
}
.single th, .single td {
	padding:5px;
	line-height:1.7;
	vertical-align:top;
}
.single table tr td:first-child{
	font-weight:300;
}
.single table li {
	margin-bottom:0;
}
.is-right-sidebar {
	width:100%;
}
.is-right-sidebar .widget {
	padding:0;
}
.site-footer {
	position:relative;
	font-size:15px;
}

.footer-widgets-container {
	padding-top:30px;
	padding-bottom:30px;
}

.footer-widget-1 img {
	width:155px;
}

.footer-widget-4 img {
	position:absolute;
	bottom:0;
	max-width:420px !important;
}
footer .copyright-bar {
	display:none
}
.inside-site-info {
	justify-content:flex-start
}
@media only screen and (max-width:1200px) {
	.inside-footer-widgets>div {
		flex:unset;
	}
}

@media only screen and (max-width:968px) {
	.inside-footer-widgets {
		flex-wrap:wrap;
	}
	.inside-footer-widgets>div {
		width:50%;
		margin: 10px 0;
	}
}

@media only screen and (max-width:600px) {
	.viewport h1 {
		font-size:30px;
	}
	.footer-widget-4 img {
		position:relative;
	}
	.inside-footer-widgets>div {
		margin:0;
	}
}