html,
body {
  scroll-behavior: smooth;
  margin: 0;
  padding: 0;
  background-color: #231F20;
  font-family: "Lato", "Helvetica Neue", Helvetica, Arial, sans-serif;
}
#top {
  position: fixed;
  z-index: 10;
  width: 100%;
  height: 700px;
  top: 0;
  background-image: url('img/top-bg.jpg');
  background-repeat: no-repeat;
  background-size: cover;
  background-position: center center;
}
#top-logo {
  width: 100%;
  height: 75%;
  margin: 0 0 0 0;
  background-size: 70%;
  background-image: url('img/logo.png');
  background-repeat: no-repeat;
  background-position: center center;
}
@media only screen and (min-width: 600px) {
  #top-logo {
    width: 100%;
    height: 50%;
    margin: 10% 0 0 0;
    background-size: 40%;
    background-image: url('img/logo.png');
    background-repeat: no-repeat;
    background-position: center center;
  }
}
#top-nav {
  position: fixed;
  z-index: 40;
  width: 100%;
  height: 50px;
  top: 0;
  background-color: rgba(255, 255, 255, 0.75);
  text-align: center;
}
#top-nav-bottom {
  position: fixed;
  z-index: 40;
  width: 100%;
  height: 5px;
  top: 55px;
  background-color: rgba(255, 255, 255, 0.75);
  margin: 0;
}
#top-nav nav {
  width: 100%;
  text-align: center;
}

#top-nav nav a {
  position: relative;
  display: inline-block;
  outline: none;
  font-weight: 400;
  font-size: 0.8em;
  font-family: "Lato", "Helvetica Neue", Helvetica, Arial, sans-serif;
  letter-spacing: 1px;
  text-transform: uppercase;
  text-align: center;
  text-decoration: none;
  color: black;
}
@media only screen and (min-width: 600px) {
  #top-nav nav a {
    display: inline-block;
    font-weight: 300;
    font-size: 1.2em;
  }
}
#top-nav nav a:hover {
  font-weight: 400;
}
/* Common button styles */
.button {
  min-width: 80px;
  margin: 8px 6px;
  padding: 10px 8px;
  border: none;
  background: none;
  color: inherit;
  vertical-align: middle;
  position: relative;
  z-index: 1;
  -webkit-backface-visibility: hidden;
  -moz-osx-font-smoothing: grayscale;
  cursor: pointer;
}
@media only screen and (min-width: 600px) {
  .button {
    min-width: 150px;
    margin: 6px 10px;
    padding: 8px 10px;
  }
}
.button:focus {
  outline: none;
}
.button > span {
  vertical-align: middle;
}
/* Ujarak */
.button--ujarak {
  transition: border-color 0.4s, color 0.4s;
}
.button--ujarak::before {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: #fec309;
  z-index: -1;
  opacity: 0;
  transform: scale3d(0.7, 1, 1);
  transition: transform 0.4s, opacity 0.4s;
  transition-timing-function: cubic-bezier(0.2, 1, 0.3, 1);
}
.button--ujarak,
.button--ujarak::before {
  transition-timing-function: cubic-bezier(0.2, 1, 0.3, 1);
}
.button--ujarak:hover {
  color: #000;
  font-weight: 700;
}
.button--ujarak:hover::before {
  opacity: 1;
  transform: translate3d(0, 0, 0);
}
#middle {
  position: relative;
  min-height: 1320px;
  z-index: 20;
  background-color: #231f20;
  background-image: url('img/kettenzug.jpg');
  background-repeat: no-repeat;
  background-size: cover;
  background-position: center top;
  margin-top: 400px;
  text-align: center;
}
@media only screen and (min-width: 600px) {
  #middle {
    margin-top: 700px;
  }
}
#middle h1 {
  padding: 80px 0 30px 0;
  margin: 0;
  color: #fff;
  font-family: "Lato", "Helvetica Neue", Helvetica, Arial, sans-serif;
  font-weight: 300;
  font-size: 32px;
  line-height: 32px;
}
.leistungen {
  position: relative;
  clear: both;
  display: inline-block;
  width: 300px;
  height: 300px;
  margin: 50px;
  background-color: #3c3c3c;
  padding: 0;
  list-style: none;
  text-align: center;
}
#bottom {
  position: relative;
  height: 400px;
  margin: 0 0 15px 0;
  z-index: 30;
  background-color: rgba(255, 255, 255, 0.15);
  text-align: center;
  color: #fff;
  font-family: "Lato", "Helvetica Neue", Helvetica, Arial, sans-serif;
}
#bottom h1 {
  padding: 40px 0 20px 0;
  margin: 0;
  font-weight: 300;
  font-size: 32px;
  line-height: 32px;
  text-transform: uppercase;
}
#bottom .content-box {
  position: relative;
  display: inline-block;
  text-align: left;
  margin: 0 50px;
  font-size: 18px;
  font-weight: 300;
  line-height: 20px;
}
@media only screen and (min-width: 600px) {
  #bottom h1 {
    padding: 80px 0 30px 0;
  }
  #bottom .content-box {
    font-weight: 300;
    font-size: 24px;
    line-height: 20px;
  }
}
#bottom .content-box p img {
  margin: 0 10px 0 0;
}
#bottom .content-box a {
  color: #fff;
  text-decoration: none;
}
#bottom .content-box a.button {
  margin: 0;
  padding: 8px 5px;
}
#bottom .content-box a:hover {
  font-weight: 400;
  color: #000;
}
#bottom-bottom {
  position: relative;
  z-index: 50;
  width: 100%;
  height: 5px;
  bottom: 10px;
  background-color: rgba(255, 255, 255, 0.15);
  margin: 0;
}

/* CARDS */
/* The flip card container - set the width and height to whatever you want. We have added the border property to demonstrate that the flip itself goes out of the box on hover (remove perspective if you don't want the 3D effect */
.flip-card {
  background-color: transparent;
  width: 300px;
  height: 300px;
  margin: 20px;
  padding: 0;
  border: none;
  perspective: 1000px; /* Remove this if you don't want the 3D effect */
}

/* This container is needed to position the front and back side */
.flip-card-inner {
  position: relative;
  width: 100%;
  height: 100%;
  transition: transform 0.8s;
  transform-style: preserve-3d;
}

/* Do an horizontal flip when you move the mouse over the flip box container */
.flip-card:hover .flip-card-inner {
  transform: rotateY(180deg);
}

/* Position the front and back side */
.flip-card-front, .flip-card-back {
  position: absolute;
  width: 100%;
  height: 100%;
  -webkit-backface-visibility: hidden; /* Safari */
  backface-visibility: hidden;
}

/* Style the front side (fallback if image is missing) */
.flip-card-front h2 {
  font-size: 1.5em;
  font-weight: 100;
  text-transform: uppercase;
  font-family: "Lato", "Helvetica Neue", Helvetica, Arial, sans-serif;
  color: white;
  margin-top: -280px;
  z-index: 10;
}
.flip-card-front img {
  z-index: 5;
}
/* Style the back side */
.flip-card-back {  
  background-color: #3c3c3c;
  color: white;
  transform: rotateY(180deg);
}
.flip-card-back h2 {
  font-size: 1.5em;
  font-weight: 100;
  text-transform: uppercase;
  font-family: "Lato", "Helvetica Neue", Helvetica, Arial, sans-serif;
  color: white;
}
.flip-card-back p {
  min-width: 85%;
  font-size: 1em;
  font-weight: 400;
  font-family: "Lato", "Helvetica Neue", Helvetica, Arial, sans-serif;
  text-align: left;
  display: inline-block;
  margin: 0 0 0.35em;
  padding: 0.4em 1em;
  
  background-color: #fec309;
  color: black;
  margin-right: 20px;
}