* {
  margin: 0;
  padding: 0;
  box-sizing: border-box;
}
:root {
  --header1: calc(1.7rem + 1vw);
  --header2: calc(2rem + 1vw);
  --header3: calc(0.5rem + 1vw);
  --social: calc(0.4rem + 1vw);
  --text: calc(0.8rem + 1vw);
  --link-desktop: calc(0.1rem + 1vw);
  --link-tablet: calc(0.2rem + 1vw);
  --link-mobile: calc(4rem + 1vw);
  --text-color: #242929;
}

html {
  font-size: 62.5%;
  width: 100%;
}
body {
  width: 100%;
}

a {
  color: black;
  text-decoration: none;
}

/*Navigationsleiste*/
header {
  position: fixed;
  background: white;
  height: 4vw;
  width: 100%;
  z-index: 6;
}

#hamburger {
  display: none;
}

nav {
  display: flex;
  align-items: center;
  height: 4vw;
}

#logo {
  font-family: Gruppo;
  font-size: var(--header1);
  width: 45%;
  justify-content: flex-start;
  padding: 0 0 0 2%;
  color: var(--text-color);
  z-index: 3;
}

.link-active {
  font-weight: bold;
  border-style: none none solid none;
  border-width: 1px;
}

nav ul {
  list-style: none;
  width: 55%;
  padding: 1vh 1.4% 0 0;
  display: flex;
  justify-content: flex-end;
}

nav ul li {
  padding: 0 0 0.2vw 0;
  margin: 0.6%;
  font-size: var(--link-desktop);
  font-family: Lato;
}

/*Gallary - Flexbox*/

.gallery img {
  width: 23.7%;
  height: 13.3vw;
  object-fit: cover;
  margin: 0.2%;
  cursor: pointer;
}

.gallery {
  display: flex;
  justify-content: center;
  flex-wrap: wrap;
  padding: 5vh 0 4vh 0;
  width: 100%;
}

.image-gallery .popup-image {
  position: fixed;
  top: 0;
  left: 0;
  background-color: rgba(0, 0, 0, 0.9);
  height: 100%;
  width: 100%;
  z-index: 8;
  display: none;
}

.image-gallery .popup-image img {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  width: 60vw;
}

.image-gallery .popup-image span {
  position: absolute;
  top: 0;
  right: 2rem;
  font-size: 6rem;
  font-weight: bolder;
  color: white;
  cursor: pointer;
  z-index: 5;
}

/*Gallery Grid-box*/

.image-gallery-grid {
  padding: 4vh 2vw 4vh 2vw;
}

.grid-wrapper img {
  max-width: 100%;
  height: auto;
  vertical-align: middle;
  display: inline-block;
  cursor: pointer;
}

.grid-wrapper > div {
  display: flex;
  justify-content: center;
  align-items: center;
}

.grid-wrapper > div > img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.grid-wrapper {
  display: grid;
  grid-gap: 5px;
  grid-template-columns: repeat(auto-fit, minmax(250px, 1fr));
  grid-auto-rows: 200px;
  grid-auto-flow: dense;
}

.grid-wrapper .wide {
  grid-column: span 2;
}

.grid-wrapper .tall {
  grid-row: span 2;
}

.grid-wrapper .big {
  grid-column: span 2;
  grid-row: span 2;
}

.image-gallery-grid .popup-image {
  position: fixed;
  top: 0;
  left: 0;
  background-color: rgba(0, 0, 0, 0.9);
  height: 100%;
  width: 100%;
  z-index: 8;
  display: none;
}

.image-gallery-grid .popup-image img {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  width: 70%;
}

.popup-image-container {
  width: 100%;
  height: 100%;
}

.image-gallery-grid .popup-image span {
  position: absolute;
  top: 0;
  right: 2rem;
  font-size: 6rem;
  font-weight: bolder;
  color: white;
  cursor: pointer;
  z-index: 5;
}

/*Contact*/

.contact {
  display: flex;
  justify-content: center;
  align-items: center;
}

.contact-container {
  position: relative;
  background: url("/img/Contact/img-2.jpg");
  background-size: cover;
  width: 100%;
  height: 94vh;
  margin: 6vh 0 0 0;
}

.form-container {
  position: absolute;
  /*background: rgba(173, 246, 246, 0.208);*/
  background: rgba(255, 255, 255, 0.2);
  color: white;
  top: 10%;
  left: 10vw;
  width: 40%;
  height: 60%;
  border-radius: 3%;
  border: solid rgba(255, 255, 255, 0.2);
}

.form-contact {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: space-evenly;
  font-family: Gruppo;
  font-size: var(--text);
  width: 100%;
  height: 100%;
}

.form-contact input {
  background: rgba(255, 255, 255, 0.2);
  color: rgb(244, 235, 227);
  border: none;
}

.form-contact textarea {
  background: rgba(255, 255, 255, 0.2);
  color: rgb(244, 235, 227);
  width: 80%;
}

.text-container {
  position: absolute;
  width: 20vw;
  right: 5vw;
  top: 25vh;
}
.text-contact {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-items: center;
  z-index: 4;
}

.text-container h2 {
  font-size: var(--header2);
  font-family: Gruppo;
  font-weight: bold;
  z-index: 4;
}

.text-container p {
  font-size: var(--text);
  font-family: Gruppo;
  margin: calc(1rem + 1vw) 0 0 0;
  text-align: center;
  z-index: 4;
}

.contact-effect {
  background: white;
  border-radius: 50% 0 0 50%;
  width: 38vw;
  height: 94vh;
  position: absolute;
  right: 0%;
  top: 0%;
  z-index: 2;
}
.button-contact {
  background: rgba(0, 0, 0, 0.6);
  color: white;
  font-family: Gruppo;
  font-weight: bold;
  padding: 1.5rem 6rem;
  border-style: none;
  border-radius: 1rem;
  font-size: 2rem;
  cursor: pointer;
}
.button-contact:hover {
  background: rgba(0, 0, 0, 0.8);
}

/*About*/

.about {
  display: flex;
  flex-direction: column;
  width: 100%;
}

.img-about {
  width: 96%;
}

.about h2 {
  font-size: var(--header2);
  font-family: Gruppo;
  font-weight: bold;
}

.about p {
  font-size: var(--text);
  font-family: Gruppo;
  z-index: 2;
  margin: calc(1rem + 1vw) 0 0 0;
}

.whoami {
  width: 100%;
  padding: 0 2%;
}

.whoami-container {
  position: relative;
  height: 80vh;
  background: url("/img/about/img-1-b.jpg");
  background-size: cover;
  margin: 6rem 0 0 0;
}

.whoami-effect {
  border-radius: 0% 0% 0% 100%;
  background: white;
  width: 60vw;
  height: 40vh;
  position: absolute;
  right: 0;
  top: 0;
  z-index: 3;
}
.whoami-text {
  width: 40%;
  text-align: center;
  position: absolute;
  top: 2%;
  right: 3%;
  z-index: 4;
}

.whoami-selfie {
  border-radius: 100% 100% 100% 100%;
  background: url("/img/about/img-4.jpg");
  background-size: cover;
  width: 20vw;
  height: 20vw;
  position: absolute;
  top: 30%;
  right: 10%;
  z-index: 4;
}

.mygear {
  width: 100%;
  padding: 0 2%;
}

.mygear-container {
  position: relative;
  height: 80vh;
  background: url("/img/about/img-2-b.jpg");
  background-size: cover;
  margin: 6rem 0 0 0;
}

.mygear-effect {
  border-radius: 0% 0% 100% 0%;
  background: white;
  width: 60vw;
  height: 40vh;
  position: absolute;
  top: 0;
  left: 0;
  z-index: 3;
}

.mygear-text {
  width: 40vw;
  position: absolute;
  top: 2%;
  left: 3%;
  text-align: center;
  z-index: 4;
}

.myportfolio {
  width: 100%;
  padding: 0 2%;
  margin: 0 0 4rem 0;
}

.myportfolio-container {
  position: relative;
  height: 80vh;
  background: url("/img/about/img-3-b.jpg");
  background-size: cover;
  margin: 6rem 0 0 0;
}

.myportfolio-effect {
  border-radius: 0% 0% 0% 100%;
  background: white;
  width: 60vw;
  height: 40vh;
  position: absolute;
  top: 0;
  right: 0;
  z-index: 3;
}

.myportfolio-text {
  width: 40vw;
  position: absolute;
  top: 2%;
  right: 3%;
  text-align: center;
  z-index: 4;
}

/*Footer*/

footer {
  display: flex;
  align-items: center;
  position: fixed;
  bottom: 0;
  background: white;
  height: 4vh;
  width: 100%;
  z-index: 8;
}

.social {
  display: flex;
  justify-content: flex-start;
  padding: 0 0 0 2%;
  width: 50%;
  font-size: var(--social);
  font-family: Gruppo;
}

.social a {
  padding: 0 2% 0 0;
}

.copyright {
  display: flex;
  justify-content: flex-end;
  width: 50%;
}

footer div p {
  font-size: var(--social);
  font-family: Gruppo;
  padding: 0 2vw 0 0;
}
