* {
  margin: 0;
  padding: 0;
  scroll-behavior: smooth;
}

@font-face {
  font-family: "Poppins";
  src: url(../fonts/PoppinsRegular.ttf);
}

@font-face {
  font-family: "PoppinsBold";
  src: url(../fonts/PoppinsBold.ttf);
}

@font-face {
  font-family: "Manrope";
  src: url(../fonts/ManropeRegular.woff);
}


header {
  position: fixed;
  width: 100%;
  height: 80px;
  background: #fff;
  box-shadow: rgb(200, 200, 200) 0px 0px 50px;
  font-family: "Poppins";
  top: 0;
  left: 0;
  z-index: 100;
}

header #logo {
  position: absolute;
  left: 30px;
  top: 1px;
  font-family: "PoppinsBold";
  font-size: 40px;
}

header #logo p {
  font-family: "Poppins";
  font-size: 17px;
  margin-top: -18px;
  color: rgb(70, 70, 120);
}

.blue {
  color: rgb(10, 100, 200);
}

header nav {
  position: absolute;
  right: 20px;
  top: 0;
  display: flex;
  height: 80px;
  align-items: center;
  justify-content: space-evenly;
  width: 40%;
}

header nav a {
  text-decoration: none;
  color: #000;
  letter-spacing: 3px;
  font-family: "Poppins";
  position: relative;
  font-weight: bold;
  text-transform: uppercase;
  font-size: 15px;
}

header nav a:hover {
  color: rgb(10, 100, 200);
}

#landingPage {
  top: 0;
  left: 0;
  height: 100vh !important;
  width: 100%;
  background: #fff;
  position: absolute;
}

#imgSlider {
  width: 100%;
  height: calc(80% - 80px);
  top: 80px;
  position: absolute;

  display: grid;
  grid-template-columns: repeat(4, 1fr);
  grid-template-rows: auto;
}

#imgSlider img {
  width: 100%;
  height: 100%;
  object-fit: cover;

  position: relative;
  border: none;
}

#imgFilter {
  width: 100%;
  height: calc(80% - 80px);
  top: 80px;
  position: absolute;
  background: rgba(30, 30, 40, 0.7);
  z-index: 1;
}

#heroText {
  position: absolute;
  right: 0;
  top: 50%;
  font-family: "Manrope";
  text-transform: uppercase;
  color: #fff;
  text-align: center;
  font-size: 2vw;
  z-index: 2;
  margin-right: 40px;
  letter-spacing: 1px;
  line-height: 3vw;
}

#btnContainer {
  position: absolute;
  width: 100%;
  height: 20%;
  bottom: 0;
  left: 0;
  display: flex;
  justify-content: center;
  align-items: center;

}

#leistungenBtn {
  position: relative;
  
  width: 350px;
  height: 60px;
  border: none;
  outline: none;
  background: rgb(10, 100, 200);
  color: #fff;
  font-family: 'PoppinsBold';
  font-weight: normal;
  border-radius: 30px;
  font-size: 20px;
  text-transform: uppercase;
  cursor: pointer;
  letter-spacing: 1px;
  z-index: 10;
  transition: background .2s linear;
}


#leistungenBtn:hover {
  background: rgb(30, 90, 180);
}

#leistungenBtn::after {
  content: "";
  position: absolute;
  right: 30px;
  width: 10px;
  height: 10px;
  top: 20px;
  border-bottom: 2px solid #fff;
  border-right: 2px solid #fff;
  transform: rotate(45deg);
}


#leistungenPage {
  top: 100vh;
  left: 0;
  height: 200vh !important;
  width: 100%;
  background: #fff;
  position: absolute;
  z-index: 0;
}

.line {
  height: 92.7%;
  width: 3px;
  background: rgb(10, 100, 200);
  left: calc(50% - 1px);
  position: absolute;
  top: -5%;
  z-index: 0;
}



#boxes {
  width: 100%;
  height: 200vh;
  position: absolute;
  display: grid;
  grid-template-columns: 1fr 1fr;
  grid-template-rows: repeat(4, 1fr);
  justify-content: stretch;
  align-content: stretch;
}

.box {
  width: 100%;
  height: 100%;
  position: relative;
  display: flex;
  justify-content: center;
  align-items: center;
}

.box .boxContent {
  position: absolute;
  width: 75%;
  height: 90%;
  background: #fff;
  left: 12.5%;
  z-index: 2;
  border: 2px solid #000;
  font-family: "Poppins";
  display: flex;
  align-items: center;
  justify-content: center;
}
.boxContent:before {
  content: "";
  width: 16.5%;
  background: #fff;
  position: absolute;
  height: 3px;
  z-index: 0;
  right: calc(-16.5%);
  top: 50%;
  background: rgb(10, 100, 200);
}

.boxContent p {
  font-family: "Poppins";
  padding: 35px;
  text-align: left;
  line-height: 2vw;
  font-size: 1.05vw;
  width: 90%;
  position: relative;
}

#boxOne {
  grid-row: 1 / 2;
  grid-column: 2 / 3;
}

#boxTwo {
  grid-row: 2 / 3;
  grid-column: 1 / 2;
}

#boxThree {
  grid-row: 3 / 4;
  grid-column: 2 / 3;
}

#boxFour {
  grid-row: 4 / 5;
  grid-column: 1 / 2;
}

.boxContent h4 {
  font-size: 1.5vw;
  margin: 0 20px;
  font-family: "PoppinsBold";
  font-weight: normal;
}

#boxOne .boxContent::before,
#boxThree .boxContent::before {
  left: calc(-16.5% - 2px);
  right: 0;
}

#contactPage {
  top: 300vh;
  left: 0;
  height: 50vh;
  width: 100%;
  background: #fff;
  position: absolute;
  z-index: 0;
}

#contactPage h2 {
  text-align: center;
  top: 50px;
  position: absolute;
  font-family: 'Poppins';
  color: rgb(10, 100, 200);
  font-size: 32px;
  width: 100%;
}

#contactPage #contactBox {
  position: absolute;
  width: 300px;
  height: 300px;
  top: 150px;
  background: #fff;
  left: calc(50% - 150px);
  font-family: 'Poppins';
  list-style-type: none;
  text-align: center;
  display: flex;
  font-size: 24px;
  justify-content: center;
  align-items: center;
}


footer {
  top: 350vh;
  width: 100%;
  height: 50%;
  background: rgb(10, 20, 50);
  position: absolute;
  color: #fff;
  font-family: "Poppins";
}

footer #logo {
  left: 100px;
  top: 50px;
  position: absolute;
  font-size: 45px;
  font-family: "PoppinsBold";
}

footer #logo p {
  color: rgb(200, 200, 250);
  font-size: 20px;
  margin-top: -15px;
  font-family: "Poppins";
}

footer #copyright {
  bottom: 20px;
  position: absolute;
  width: 100%;
  height: 20px;
  text-align: center;
}

footer #links {
  position: absolute;
  left: 100px;
  top: 150px;

  height: calc(100% - 200px);
}

footer #links a {
  text-decoration: none;
  color: #fff;
  font-size: 16px;
  display: block;
  line-height: 32px;
}

footer #footerRight {
  position: absolute;
  right: 100px;
  top: 150px;
  text-align: right;
  line-height: 32px;
}

#contactPage > a {
  position: absolute;
  top: -80px;
}

#leistungenPage > a {
  position: absolute;
  top: -15%;
}
