/* open-sans-300 - latin */
@font-face {
  font-family: 'Open Sans';
  font-style: normal;
  font-weight: 300;
  src: url('../fonts/open-sans-v34-latin-300.eot'); /* IE9 Compat Modes */
  src: local(''),
       url('../fonts/open-sans-v34-latin-300.eot?#iefix') format('embedded-opentype'), /* IE6-IE8 */
       url('../fonts/open-sans-v34-latin-300.woff2') format('woff2'), /* Super Modern Browsers */
       url('../fonts/open-sans-v34-latin-300.woff') format('woff'), /* Modern Browsers */
       url('../fonts/open-sans-v34-latin-300.ttf') format('truetype'), /* Safari, Android, iOS */
       url('../fonts/open-sans-v34-latin-300.svg#OpenSans') format('svg'); /* Legacy iOS */
}
/* open-sans-regular - latin */
@font-face {
  font-family: 'Open Sans';
  font-style: normal;
  font-weight: 400;
  src: url('../fonts/open-sans-v34-latin-regular.eot'); /* IE9 Compat Modes */
  src: local(''),
       url('../fonts/open-sans-v34-latin-regular.eot?#iefix') format('embedded-opentype'), /* IE6-IE8 */
       url('../fonts/open-sans-v34-latin-regular.woff2') format('woff2'), /* Super Modern Browsers */
       url('../fonts/open-sans-v34-latin-regular.woff') format('woff'), /* Modern Browsers */
       url('../fonts/open-sans-v34-latin-regular.ttf') format('truetype'), /* Safari, Android, iOS */
       url('../fonts/open-sans-v34-latin-regular.svg#OpenSans') format('svg'); /* Legacy iOS */
}
/* open-sans-500 - latin */
@font-face {
  font-family: 'Open Sans';
  font-style: normal;
  font-weight: 500;
  src: url('../fonts/open-sans-v34-latin-500.eot'); /* IE9 Compat Modes */
  src: local(''),
       url('../fonts/open-sans-v34-latin-500.eot?#iefix') format('embedded-opentype'), /* IE6-IE8 */
       url('../fonts/open-sans-v34-latin-500.woff2') format('woff2'), /* Super Modern Browsers */
       url('../fonts/open-sans-v34-latin-500.woff') format('woff'), /* Modern Browsers */
       url('../fonts/open-sans-v34-latin-500.ttf') format('truetype'), /* Safari, Android, iOS */
       url('../fonts/open-sans-v34-latin-500.svg#OpenSans') format('svg'); /* Legacy iOS */
}
/* open-sans-600 - latin */
@font-face {
  font-family: 'Open Sans';
  font-style: normal;
  font-weight: 600;
  src: url('../fonts/open-sans-v34-latin-600.eot'); /* IE9 Compat Modes */
  src: local(''),
       url('../fonts/open-sans-v34-latin-600.eot?#iefix') format('embedded-opentype'), /* IE6-IE8 */
       url('../fonts/open-sans-v34-latin-600.woff2') format('woff2'), /* Super Modern Browsers */
       url('../fonts/open-sans-v34-latin-600.woff') format('woff'), /* Modern Browsers */
       url('../fonts/open-sans-v34-latin-600.ttf') format('truetype'), /* Safari, Android, iOS */
       url('../fonts/open-sans-v34-latin-600.svg#OpenSans') format('svg'); /* Legacy iOS */
}
/* open-sans-700 - latin */
@font-face {
  font-family: 'Open Sans';
  font-style: normal;
  font-weight: 700;
  src: url('../fonts/open-sans-v34-latin-700.eot'); /* IE9 Compat Modes */
  src: local(''),
       url('../fonts/open-sans-v34-latin-700.eot?#iefix') format('embedded-opentype'), /* IE6-IE8 */
       url('../fonts/open-sans-v34-latin-700.woff2') format('woff2'), /* Super Modern Browsers */
       url('../fonts/open-sans-v34-latin-700.woff') format('woff'), /* Modern Browsers */
       url('../fonts/open-sans-v34-latin-700.ttf') format('truetype'), /* Safari, Android, iOS */
       url('../fonts/open-sans-v34-latin-700.svg#OpenSans') format('svg'); /* Legacy iOS */
}
/* open-sans-800 - latin */
@font-face {
  font-family: 'Open Sans';
  font-style: normal;
  font-weight: 800;
  src: url('../fonts/open-sans-v34-latin-800.eot'); /* IE9 Compat Modes */
  src: local(''),
       url('../fonts/open-sans-v34-latin-800.eot?#iefix') format('embedded-opentype'), /* IE6-IE8 */
       url('../fonts/open-sans-v34-latin-800.woff2') format('woff2'), /* Super Modern Browsers */
       url('../fonts/open-sans-v34-latin-800.woff') format('woff'), /* Modern Browsers */
       url('../fonts/open-sans-v34-latin-800.ttf') format('truetype'), /* Safari, Android, iOS */
       url('../fonts/open-sans-v34-latin-800.svg#OpenSans') format('svg'); /* Legacy iOS */
}
._font_opensans {
  font-family: 'Open Sans', sans-serif;
}
@-webkit-keyframes bounce {
  0%,
  20%,
  53%,
  80%,
  100% {
    transition-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
    transform: translate3d(0, 0, 0);
  }
  40%,
  43% {
    transition-timing-function: cubic-bezier(0.755, 0.05, 0.855, 0.06);
    transform: translate3d(0, -30px, 0);
  }
  70% {
    transition-timing-function: cubic-bezier(0.755, 0.05, 0.855, 0.06);
    transform: translate3d(0, -15px, 0);
  }
  90% {
    transform: translate3d(0, -4px, 0);
  }
}
@keyframes bounce {
  0%,
  20%,
  53%,
  80%,
  100% {
    transition-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
    transform: translate3d(0, 0, 0);
  }
  40%,
  43% {
    transition-timing-function: cubic-bezier(0.755, 0.05, 0.855, 0.06);
    transform: translate3d(0, -30px, 0);
  }
  70% {
    transition-timing-function: cubic-bezier(0.755, 0.05, 0.855, 0.06);
    transform: translate3d(0, -15px, 0);
  }
  90% {
    transform: translate3d(0, -4px, 0);
  }
}
body,
html {
  margin: 0;
  padding: 0;
}
input,
button,
textarea {
  outline: none !important;
}
b {
  color: #2067a5 !important;
}
.splide__slide {
  float: left;
}
h1.header {
  color: #fff;
  font-weight: bold;
  display: inline-block;
  position: relative;
  padding-bottom: 10px;
  padding-left: 5px;
  text-transform: uppercase;
  font-weight: 900;
}
.menu-overlay,
#overlay {
  background-color: #000;
  opacity: 0.7;
  position: fixed;
  top: 0;
  left: 0;
  z-index: 1500;
  width: 100%;
  height: 100%;
  display: none;
}
.button {
  color: #fff;
  background-color: #2067a5;
  border: 2px solid #2067a5;
  text-transform: uppercase;
  padding: 10px 40px;
  font-weight: bold;
}
.button:hover {
  background-color: #fff;
  color: #2067a5;
}
.pt-150 {
  padding-top: 150px;
}
.color-main {
  color: #2067a5 !important;
}
.modal {
  position: fixed;
  top: 10px;
  left: 50%;
  transform: translateX(-50%);
  z-index: 1501;
}
.modal .close {
  position: absolute;
  top: 5px;
  right: 14px;
  cursor: pointer;
  font-size: 25px;
}
.modal .close:hover {
  color: #2067a5;
}
._bg_default_cover {
  background-position: center;
  background-repeat: no-repeat;
  background-size: cover;
}
.error {
  border: 1px dashed red;
}
header {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 70px;
  line-height: 70px;
  z-index: 1000;
  transition: all 0.3s ease;
}
header.scrolled {
  background-color: #fff;
}
header.scrolled .hamburger-container #hamburger {
  color: #2067a5;
}
header.scrolled ul.menu li a {
  transition: all 0.3s ease;
  color: #2067a5;
}
header.scrolled ul.menu li a:hover {
  color: #fff;
}
@media screen and (max-width: 500px) {
  header {
    height: 50px;
  }
}
header .logo img {
  height: 55px;
  margin-top: 8px;
  vertical-align: top;
}
@media screen and (max-width: 500px) {
  header .logo img {
    height: 40px;
  }
}
header .hamburger-container {
  text-align: right;
  display: none;
  width: 100%;
}
@media screen and (max-width: 1000px) {
  header .hamburger-container {
    display: inline-block;
  }
}
header .hamburger-container #hamburger {
  line-height: 10px;
  vertical-align: top;
  padding-top: 13px;
  border: none;
  background-color: transparent;
  color: #fff;
  font-size: 30px;
}
header .menu {
  text-align: right;
  padding-left: 0;
  list-style: none;
  transition: 0.3s ease all;
}
header .menu .close {
  display: none;
}
@media screen and (max-width: 1000px) {
  header .menu .close {
    display: block;
    position: absolute;
    top: 6px;
    top: -14px;
    left: 10px;
    font-size: 30px;
  }
}
@media screen and (max-width: 1000px) {
  header .menu {
    position: fixed;
    z-index: 1600;
    top: 0;
    right: 0;
    height: 100%;
    width: 80%;
    background-color: #fff;
    left: 100%;
    overflow-y: auto;
  }
  header .menu a {
    text-align: left !important;
  }
  header .menu.opened {
    left: 20%;
  }
}
header .menu li {
  float: left;
  height: 100%;
  color: #fff;
  cursor: pointer;
  position: relative;
}
@media screen and (max-width: 500px) {
  header .menu li {
    float: none;
  }
}
header .menu li i.arrow {
  position: absolute;
  right: 10px;
  top: 50%;
  transform: translateY(-50%);
}
header .menu li.button-video {
  padding-top: 10px;
  margin-left: 30px;
  white-space: nowrap;
}
header .menu li.button-video:hover {
  background-color: transparent !important;
}
header .menu li.button-video a {
  display: flex;
  align-items: center;
  justify-content: center;
  border: 3px solid #2067a5;
  background-color: #fff;
  font-weight: bold;
  color: #000;
  text-transform: uppercase;
  height: 50px;
  border-radius: 40px;
}
@media screen and (max-width: 500px) {
  header .menu li.button-video a {
    width: 70%;
  }
}
header .menu li.button-video a:hover {
  background-color: #2067a5;
}
header .menu li:hover {
  background-color: #2067a5;
  color: #fff;
}
header .menu li:hover a {
  color: #fff;
}
header .menu li:hover li a {
  color: #2067a5;
}
@media screen and (max-width: 1000px) {
  header .menu li {
    line-height: 40px;
    display: block !important;
    font-weight: bold;
    height: unset;
  }
  header .menu li a {
    color: #2067a5 !important;
    background-color: #fff !important;
  }
  header .menu li:first-of-type {
    margin-top: 20px;
  }
}
header .menu li ul {
  list-style: none;
  padding-left: 0;
  background-color: #fff;
  text-align: left;
  display: none;
}
header .menu li ul li {
  font-size: 12px;
  line-height: 40px;
  display: block;
  width: 100%;
  white-space: nowrap;
}
header .menu li ul li:hover > ul {
  top: 0px;
  left: 100%;
  width: auto;
}
header .menu li ul li a {
  color: #2067a5;
  text-align: left;
}
header .menu li ul li a:hover {
  color: #fff;
}
@media screen and (max-width: 1000px) {
  header .menu li ul {
    display: block !important;
    position: relative !important;
    top: unset !important;
    left: unset !important;
    right: unset !important;
    width: 100% !important;
    height: unset !important;
    padding-left: 30px;
    margin-top: -20px;
  }
  header .menu li ul li {
    font-weight: normal !important;
  }
  header .menu li ul li a {
    background-color: #fff !important;
    color: #2067a5 !important;
  }
  header .menu li ul a {
    color: #2067a5 !important;
  }
}
header .menu li:hover > ul {
  display: block;
  position: absolute;
  top: 100%;
  width: 140%;
  left: 0;
}
header .menu li a {
  height: 100%;
  display: block;
  padding: 0 30px;
  text-align: center;
  color: #fff;
  text-decoration: none;
  text-transform: uppercase;
}
@media screen and (max-width: 1000px) {
  header .menu li a {
    color: #2067a5;
  }
}
@media screen and (max-width: 1300px) {
  header .menu li a {
    font-size: 13px;
  }
}
.content {
  font-family: 'Open Sans', sans-serif;
}
.content .full-height {
  position: relative;
  background-position: center;
  background-repeat: no-repeat;
  background-size: cover;
}
.content .full-height .container {
  position: relative;
  height: 100%;
  z-index: 2;
}
.content .full-height .overlay {
  z-index: 1;
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  opacity: 0.3;
  background-color: #000;
}
.content .main .arrow {
  position: absolute;
  bottom: 30px;
  left: calc(50% - 25px);
  color: #2067a5;
  background-color: #fff;
  width: 50px;
  height: 50px;
  border-radius: 50%;
  text-align: center;
  box-sizing: border-box;
  padding-top: 2px;
  font-size: 30px;
  cursor: pointer;
  -webkit-animation: bounce 1s forwards infinite;
  animation: bounce 1s forwards infinite;
  -webkit-animation-delay: 1s;
  animation-delay: 1s;
}
.content .main .arrow:hover {
  background-color: #aaa;
}
.content .main .headers {
  padding-top: 13%;
  text-align: center;
}
@media screen and (max-width: 500px) {
  .content .main .headers {
    padding-top: 150px;
  }
}
.content .main .headers img {
  width: 800px;
  margin-bottom: 40px;
}
@media screen and (max-width: 500px) {
  .content .main .headers img {
    width: 60%;
  }
}
.content .main .headers h1 {
  font-size: 70px;
  font-weight: 900;
  color: #fff;
}
@media screen and (max-width: 1000px) {
  .content .main .headers h1 {
    font-size: 60px;
  }
}
@media screen and (max-width: 500px) {
  .content .main .headers h1 {
    font-size: 30px;
  }
}
.content .main .headers p {
  color: #fff;
  max-width: 60%;
  font-size: 20px;
  display: inline-block;
}
@media screen and (max-width: 500px) {
  .content .main .headers p {
    font-size: 12px;
    padding: 10px 30px;
  }
}
.content .goods {
  background-position: center;
  background-repeat: no-repeat;
  background-size: cover;
  padding-top: 100px;
  position: relative;
}
.content .goods .overlay {
  z-index: 1;
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  opacity: 0.3;
  background-color: #000;
}
.content .goods .container {
  position: relative;
  height: 100%;
  z-index: 2;
}
.content .goods .good {
  margin-bottom: 45px;
  width: 95%;
  margin-left: 2.5%;
  background-color: #fff;
  padding: 20px;
  position: relative;
}
.content .goods .good .action-icon {
  position: absolute;
  top: 8px;
  left: -5px;
  width: 100px;
  height: 100px;
}
.content .goods .good .action-icon svg {
  width: 100%;
  height: 100%;
}
.content .goods .good img {
  width: 100%;
}
.content .goods .good h3 {
  border-bottom: 3px solid #2067a5;
  margin-top: 20px;
  color: #333;
  font-weight: bold;
  padding-bottom: 20px;
}
.content .goods .good p {
  color: #aaa;
  padding-top: 20px;
  font-size: 13px;
}
.content .goods .good button {
  color: #fff;
  background-color: #2067a5;
  border: 2px solid #2067a5;
  text-transform: uppercase;
  padding: 10px 40px;
  font-weight: bold;
  width: 100%;
}
.content .goods .good button:hover {
  background-color: #fff;
  color: #2067a5;
}
.content .portfolio {
  margin-top: 140px;
  margin-bottom: 40px;
}
.content .portfolio h1.header {
  color: #2067a5;
}
.content .portfolio p {
  color: #aaa;
}
.content .portfolio .works {
  margin-top: 30px;
  margin-bottom: 70px;
  overflow-y: auto;
}
.content .portfolio .works .box {
  float: left;
  overflow: hidden;
  height: 150px;
}
.content .portfolio .works .box img {
  height: 100%;
  transition: 0.2s ease all;
  cursor: zoom-in;
}
.content .portfolio .works .box img:hover {
  transform: scale(1.05);
}
.content .contact {
  margin-top: 140px;
  margin-bottom: 40px;
}
.content .contact h1.header {
  color: #2067a5;
}
.content .contact p {
  color: #aaa;
}
.content .contact iframe {
  width: 100%;
  height: 645px;
}
.content .contact .info p {
  margin-left: 2rem;
  color: #555;
}
.content .contact .info p .fa {
  color: #2067a5;
  margin-right: 10px;
  margin-left: -2rem;
}
.content .contact .info a {
  color: #555;
  text-decoration: none;
}
.content .contact .info a:hover {
  color: #2067a5;
}
.content .contact .info a .fa {
  color: #2067a5;
  margin-right: 10px;
}
.content .contact h3 {
  margin-top: 30px;
  margin-bottom: 10px;
}
.content .contact form label {
  font-size: 12px;
  display: block;
}
.content .contact form input,
.content .contact form textarea {
  width: 100%;
  margin-bottom: 10px;
}
.content .contact form .datenschutz {
  -webkit-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none;
  margin-bottom: 30px;
}
.content .contact form .datenschutz input[type=checkbox] {
  width: unset;
  display: inline-block;
  margin-bottom: 0;
}
.content .contact form textarea {
  min-height: 100px;
}
.content .contact form button {
  background-color: #2067a5;
  color: #fff;
  border: 2px solid #2067a5;
  text-transform: uppercase;
  font-size: 16px;
  padding: 5px 20px;
}
.content .contact form button:hover {
  background-color: #fff;
  color: #2067a5;
}
.text-markup {
  padding: 25px;
}
footer {
  background-color: #666;
  position: relative;
  color: #ddd;
  padding: 50px 0;
}
@media screen and (max-width: 500px) {
  footer {
    padding: 15px;
  }
}
footer img.logo {
  width: 100%;
}
@media screen and (max-width: 500px) {
  footer img.logo {
    width: 80%;
    margin-bottom: 20px;
  }
}
footer h3 {
  color: #fff;
  padding-bottom: 20px;
}
@media screen and (max-width: 1000px) {
  footer h3 {
    padding-bottom: 0;
    margin-bottom: 5px;
    margin-top: 20px;
  }
}
footer ul {
  list-style: none;
  padding-left: 0;
}
footer ul li {
  margin-top: 5px;
}
footer ul li i {
  margin-right: 12px;
}
footer ul li a {
  color: #ddd;
  text-decoration: none;
}
footer ul li a:hover {
  color: #2067a5;
}
footer ul li.addressdetails {
  margin-left: 2rem;
}
footer ul li.addressdetails i {
  margin-left: -2rem;
}
#zoom-modal {
  background-color: #fff;
}
#zoom-modal .img {
  height: 100%;
  width: 100%;
  display: flex;
  justify-content: center;
  align-items: center;
}
#zoom-modal .img img {
  max-height: 95%;
  max-width: 95%;
}
#zoom-modal .next,
#zoom-modal .prev {
  top: 50%;
  position: absolute;
  transform: translateY(-50%);
  right: 20px;
  font-size: 50px;
  cursor: pointer;
  max-width: 100px;
}
#zoom-modal .next:hover {
  color: #2067a5;
}
#zoom-modal .prev {
  left: 20px;
}
#zoom-modal .prev:hover {
  color: #2067a5;
}
#thanks-modal {
  max-width: 430px;
  width: 90%;
  height: 200px;
  padding: 30px;
  background-color: #fff;
  text-align: center;
}
