@charset "UTF-8";
/* =================================================================== 
 * Table Of Contents:
 * # SETTINGS
 *	  ## Fonts
 *    ## Colors
 *    ## HTML & Body
 *    ## Text Elements
 *    ## Links
 *    ## Styling Elements
 *    ## Lines
 * # PAGE CONTAINERS AND SECTION ELEMENTS
 * # HEADER & NAVIGATION
 * # HERO SECTION
 * # ABOUT SECTION
 * # CONTACT SECTION
 * # FOOTER
 * # DATENSCHUTZ
 * # MEDIA QUERIES
 *    ## Page Containers Media Queries
 *    ## Header & Navigation Media Queries
 *    ## Hero Section Media Queries
 *    ## About Section Media Queries
 *    ## Contact Section Media Queries
 *    ## Datenschutz Media Queries
 *    ## Lines Media Queries
 * # ANIMATIONS
 *    ## Line Animation
 * ------------------------------------------------------------------ */

/* ===================================================================
 * # SETTINGS
 *
 *
 * ------------------------------------------------------------------- */

/* ------------------------------------------------------------------- 
 * ## Fonts
 * ------------------------------------------------------------------- */

/* montserrat-100 - latin */
@font-face {
  font-display: swap;
  font-family: "Montserrat";
  font-style: normal;
  font-weight: 100;
  src: url("../fonts/montserrat-v29-latin/montserrat-v29-latin-100.woff2")
    format("woff2"); /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
}

/* montserrat-100italic - latin */
@font-face {
  font-display: swap;
  font-family: "Montserrat";
  font-style: italic;
  font-weight: 100;
  src: url("../fonts/montserrat-v29-latin/montserrat-v29-latin-100italic.woff2")
    format("woff2"); /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
}

/* montserrat-200 - latin */
@font-face {
  font-display: swap;
  font-family: "Montserrat";
  font-style: normal;
  font-weight: 200;
  src: url("../fonts/montserrat-v29-latin/montserrat-v29-latin-200.woff2")
    format("woff2"); /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
}

/* montserrat-200italic - latin */
@font-face {
  font-display: swap;
  font-family: "Montserrat";
  font-style: italic;
  font-weight: 200;
  src: url("../fonts/montserrat-v29-latin/montserrat-v29-latin-200italic.woff2")
    format("woff2"); /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
}

/* montserrat-300 - latin */
@font-face {
  font-display: swap;
  font-family: "Montserrat";
  font-style: normal;
  font-weight: 300;
  src: url("../fonts/montserrat-v29-latin/montserrat-v29-latin-300.woff2")
    format("woff2"); /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
}

/* montserrat-300italic - latin */
@font-face {
  font-display: swap;
  font-family: "Montserrat";
  font-style: italic;
  font-weight: 300;
  src: url("../fonts/montserrat-v29-latin/montserrat-v29-latin-300italic.woff2")
    format("woff2"); /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
}

/* montserrat-regular - latin */
@font-face {
  font-display: swap;
  font-family: "Montserrat";
  font-style: normal;
  font-weight: 400;
  src: url("../fonts/montserrat-v29-latin/montserrat-v29-latin-regular.woff2")
    format("woff2"); /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
}

/* montserrat-italic - latin */
@font-face {
  font-display: swap;
  font-family: "Montserrat";
  font-style: italic;
  font-weight: 400;
  src: url("../fonts/montserrat-v29-latin/montserrat-v29-latin-italic.woff2")
    format("woff2"); /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
}

/* montserrat-500 - latin */
@font-face {
  font-display: swap;
  font-family: "Montserrat";
  font-style: normal;
  font-weight: 500;
  src: url("../fonts/montserrat-v29-latin/montserrat-v29-latin-500.woff2")
    format("woff2"); /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
}

/* montserrat-500italic - latin */
@font-face {
  font-display: swap;
  font-family: "Montserrat";
  font-style: italic;
  font-weight: 500;
  src: url("../fonts/montserrat-v29-latin/montserrat-v29-latin-500italic.woff2")
    format("woff2"); /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
}

/* montserrat-600 - latin */
@font-face {
  font-display: swap;
  font-family: "Montserrat";
  font-style: normal;
  font-weight: 600;
  src: url("../fonts/montserrat-v29-latin/montserrat-v29-latin-600.woff2")
    format("woff2"); /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
}

/* montserrat-600italic - latin */
@font-face {
  font-display: swap;
  font-family: "Montserrat";
  font-style: italic;
  font-weight: 600;
  src: url("../fonts/montserrat-v29-latin/montserrat-v29-latin-600italic.woff2")
    format("woff2"); /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
}

/* montserrat-700 - latin */
@font-face {
  font-display: swap;
  font-family: "Montserrat";
  font-style: normal;
  font-weight: 700;
  src: url("../fonts/montserrat-v29-latin/montserrat-v29-latin-700.woff2")
    format("woff2"); /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
}

/* montserrat-700italic - latin */
@font-face {
  font-display: swap;
  font-family: "Montserrat";
  font-style: italic;
  font-weight: 700;
  src: url("../fonts/montserrat-v29-latin/montserrat-v29-latin-700italic.woff2")
    format("woff2"); /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
}

:root {
  --font-1: "Montserrat", Verdana, sans-serif;
}

/* ------------------------------------------------------------------- 
* ## Colors
* ------------------------------------------------------------------- */

:root {
  --color-1: hsl(0, 0%, 95%); /*	#f2f2f2 */
  --color-2: hsl(270, 100%, 2%); /* #05000A */
  --color-3: hsla(
    0,
    0%,
    95%,
    0.5
  ); /* #f2f2f2 mit Opacity 0.5, für Navigation Links */
  --color-4: hsl(270, 100%, 2%, 0.5); /* für normale Links */
  --color-5: hsla(250, 20%, 60%, 0.2); /* Background for line-Animation */
  --color-6: hsl(270, 100%, 25%); /*  	#400080, Accent Color */
  --color-7: hsla(0, 0%, 95%, 0.15); /* für Elevation von Projektimages */
  --color-8: hsl(270, 50%, 20%); /* für box-shadow von Projektcontainern */
  --blend-factor: 0;
}

/* ------------------------------------------------------------------- 
* ## HTML & Body
* ------------------------------------------------------------------- */

* {
  box-sizing: border-box;
  font-family: var(--font-1);
  font-weight: 300;
  scroll-behavior: smooth;
}

html,
body {
  width: 100%;
  height: 100%;
  scroll-behavior: smooth;
}

body {
  color: var(--color-2);
  background-color: var(--color-1);
}

/* ------------------------------------------------------------------- 
* ## Text Elements
* ------------------------------------------------------------------- */

div,
dl,
dt,
dd,
ul,
ol,
li,
h1,
h2,
h3,
h4,
h5,
h6,
pre,
form,
p,
blockquote,
th,
td {
  color: var(--color-2);
  cursor: default;
  margin: 0;
}

h2:after {
  content: "";
  display: block;
  position: relative;
  background-image: linear-gradient(
    75deg,
    hsl(270deg 100% 25%) 0%,
    hsl(273deg 100% 24%) 7%,
    hsl(276deg 100% 23%) 14%,
    hsl(280deg 100% 22%) 21%,
    hsl(283deg 100% 21%) 28%,
    hsl(286deg 100% 21%) 35%,
    hsl(290deg 100% 20%) 42%,
    hsl(293deg 100% 19%) 49%,
    hsl(296deg 100% 18%) 56%,
    hsl(300deg 100% 17%) 64%,
    hsl(303deg 100% 16%) 71%,
    hsl(306deg 100% 15%) 78%,
    hsl(309deg 100% 14%) 86%,
    hsl(313deg 100% 13%) 93%,
    hsl(316deg 100% 12%) 100%
  );
  border-radius: 10px;
  height: 0.25rem;
  top: 1rem;
  left: 2px;
  width: 60%;
}

/* ------------------------------------------------------------------- 
* ## Links
* ------------------------------------------------------------------- */

a {
  text-decoration: none;
  color: var(--color-2);
  margin: 0;
  padding: 0;
}

a.nav-link {
  width: fit-content;
  font-size: 1rem;
  padding-left: 0.5rem;
}

a.nav-link:focus,
a.nav-link:hover,
a.nav-link:active {
  color: var(--color-3);
}

a.nav-link:after {
  content: "";
  display: block;
  position: relative;
  background: var(--color-1);
  height: 1px;
  top: 0.5rem;
  width: 90px;
}

/* ------------------------------------------------------------------- 
* ## Styling Elements
* ------------------------------------------------------------------- */

.elevation {
  box-shadow: 6px 8px 25px 0px rgba(0, 0, 0, 0.5);
}

/* ------------------------------------------------------------------- 
 * ## Lines
 * ------------------------------------------------------------------- */

.lines {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  height: 100%;
  min-height: 100vh;
  max-height: 100vh;
  width: 20vw;
  z-index: -1;
}

.line {
  position: absolute;
  width: 1.5px;
  height: 100%;
  top: 0;
  left: 2rem;
  background: var(--color-5);
  overflow: hidden;
}

.line:after {
  content: "";
  display: block;
  position: absolute;
  height: 15vh;
  width: 100%;
  top: -50%;
  left: 0;
  background: linear-gradient(
    to bottom,
    var(--color-1) 0%,
    var(--color-1) 100%
  );
  -webkit-animation: drop 7s 0s infinite;
  animation: drop 7s 0s infinite;
  -webkit-animation-fill-mode: forwards;
  animation-fill-mode: forwards;
  -webkit-animation-timing-function: cubic-bezier(0.4, 0.26, 0, 0.97);
  animation-timing-function: cubic-bezier(0.4, 0.26, 0, 0.97);
}

.line:nth-child(1) {
  margin-left: 4rem;
}

.line:nth-child(1):after {
  -webkit-animation-delay: 2s;
  animation-delay: 2s;
}

.line:nth-child(3) {
  margin-left: 8rem;
}

.line:nth-child(3):after {
  -webkit-animation-delay: 2.5s;
  animation-delay: 2.5s;
}

/* ===================================================================
 * # PAGE CONTAINERS AND SECTION ELEMENTS
 *
 *
 * ------------------------------------------------------------------- */

.page-container {
  width: 100%;
  position: relative;
  min-height: 100vh;
  padding: 0;
  margin: 0;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: space-between;
}

#first-page {
  width: 100%;
  position: relative;
  min-height: 100vh;
  margin: 0;
  padding: 2rem;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
}

.first-page-background {
  width: 100%;
  height: 100%;
  top: 0;
  left: 0;
  position: absolute;
  background-image: url("/assets/svg/hero-background.svg");
  background-repeat: no-repeat;
  background-size: cover;
  z-index: -2;
}

#second-page {
  width: 100%;
  margin: 0;
  padding: 2rem 0 5rem 0;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
}

#third-page {
  width: 100%;
  margin: 0;
  padding: 2rem 0 10rem 0;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  position: relative;
  overflow: hidden;
}

.third-page-background {
  width: 100vw;
  height: 100%;
  position: absolute;
  bottom: 8rem;
  left: 0;
  background-image: url(../assets/svg/third-page-background.svg);
  background-size: cover;
  background-repeat: no-repeat;
  z-index: -1;
}

#fourth-page {
  width: 100%;
  margin: 0;
  padding: 2rem 0 5rem 0;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
}

.section-title {
  font-weight: 500;
  margin: 0;
  font-size: 2rem;
  padding: 0 0 2rem 0;
  width: fit-content;
}

.section-pretitle {
  font-size: 1.3rem;
  color: var(--color-6);
  padding: 0;
  margin: 0;
}

/* ===================================================================
 * # HEADER & NAVIGATION
 *
 *
 * ------------------------------------------------------------------- */

#header-container {
  width: 100%;
  display: flex;
  background-color: transparent;
  position: relative;
}

.navbar {
  width: 100%;
}

#container-fluid {
  padding: 0;
}

button.navbar-toggler {
  padding: 0;
}

/* ===================================================================
 * # HERO SECTION
 *
 *
 * ------------------------------------------------------------------- */

#hero-container {
  width: 100%;
  display: flex;
  flex-direction: column;
  align-items: center;
  padding-left: 0.5rem;
}

.hero-horizontal-rule {
  color: var(--color-3);
  border-top-width: 2px;
  border-radius: 10px;
}

.hero-title-container {
  width: 100%;
  word-wrap: break-word;
}

.hero-pretitle {
  font-size: 1.2rem;
  margin: 0;
  color: var(--color-1);
}

.hero-title {
  font-weight: 400;
  margin: 0;
  font-size: 3rem;
  padding-bottom: 2rem;
  line-height: 4rem;
  color: var(--color-1);
  word-break: break-word;
  letter-spacing: 0.5rem;
}

.hero-text {
  display: flex;
  flex-direction: column;
  align-items: end;
  font-size: 1rem;
  font-weight: 400;
  margin: 0;
}

.hero-text > p {
  margin: 0;
  color: var(--color-1);
}

#hero-socials-container {
  width: 100%;
  display: flex;
  flex-wrap: wrap;
  align-items: center;
}

.hero-social-list {
  flex: 1;
  list-style: none;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: space-between;
  margin: 0;
  padding: 0;
}

.hero-scroll-down {
  flex: 2;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
}

.hero-scroll-down > a {
  display: flex;
  flex-direction: column;
  align-items: center;
  text-decoration: none;
}

.fa-arrow-down {
  color: var(--color-1);
}

div.border {
  color: var(--color-1);
  width: 50px;
  height: 50px;
  display: flex;
  align-items: center;
  justify-content: center;
  transition: transform 0.3s;
}

div.border:hover {
  transform: scale(0.9);
}

/* ===================================================================
 * # ABOUT SECTION
 *
 *
 * ------------------------------------------------------------------- */

.about-section {
  width: 100%;
  display: flex;
  flex-direction: column;
  align-items: center;
  padding: 0 2rem;
}

.about-text-container {
  width: 100%;
  display: flex;
  flex-direction: column;
  padding-bottom: 2rem;
}

p.first-about-text {
  margin: 2rem 0;
  text-align: end;
}

p.second-about-text {
  margin: 2rem 0;
  padding-left: 2px;
}

p.third-about-text {
  margin: 2rem 0;
  text-align: end;
}

/* ===================================================================
 * # PROJECTS SECTION
 *
 *
 * ------------------------------------------------------------------- */

.projects-section {
  width: 100%;
  display: flex;
  flex-direction: column;
  align-items: center;
  padding: 0 2rem;
}

.projects-text-container {
  width: 100%;
  display: flex;
  flex-direction: column;
  padding-bottom: 2rem;
}

.project-container {
  width: 100%;
  display: flex;
  flex-direction: column;
  margin-bottom: 8rem;
  padding: 1.5rem;
  gap: 2rem;
  box-shadow: 0px 0px 0px 1px var(--color-8);
  border-radius: 10px;
}

.project-item-one {
  display: flex;
  width: 100%;
  align-items: center;
  justify-content: center;
}

.project-img {
  width: 100%;
  max-width: 500px;
}

.project-item-two {
  width: 100%;
}

.caption-title {
  font-size: 1.2rem;
  padding-bottom: 1.5rem;
  font-weight: 600;
  color: var(--color-1);
}

.caption-text {
  font-size: 1rem;
  color: var(--color-1);
}

.caption-button-container {
  width: 100%;
  display: flex;
  align-items: center;
  gap: 1.5rem;
  margin-top: 2rem;
}

.caption-button {
  font-size: 1rem;
  color: var(--color-6);
  box-shadow: 1px 1px 8px 1px var(--color-7);
  transition: ease-in 0.18s;
}

.caption-button:hover {
  color: var(--color-6);
  box-shadow: 1px 2px 0px 2px var(--color-6);
  transform: scale(0.98);
}

/* ===================================================================
 * # CONTACT SECTION
 *
 *
 * ------------------------------------------------------------------- */

.contact-section {
  width: 100%;
  display: flex;
  flex-direction: column;
  align-items: center;
  padding: 0 2rem;
}

.contact-text-container {
  width: 100%;
  word-wrap: break-word;
  display: flex;
  flex-direction: column;
  padding-bottom: 2rem;
}

.first-contact-text {
  margin: 1rem 0;
  padding-left: 2px;
  align-self: center;
  text-align: center;
}

.second-contact-text {
  margin: 1rem 0;
  padding-left: 2px;
  align-self: center;
  text-align: center;
}

.mail-icon {
  width: 30px;
  height: 30px;
}

#contact-icons {
  width: 40px;
  height: 40px;
  transition: opacity 0.5s ease-in-out;
}

/* ===================================================================
 * # FOOTER
 *
 *
 * ------------------------------------------------------------------- */

#footer-container {
  width: 100%;
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 3rem 2rem 1rem 2rem;
  background-color: var(--color-2);
}

.footer-credits {
  padding-left: 2px;
  flex-grow: 16;
  color: var(--color-1);
}

a.footer-link {
  color: var(--color-1);
}

.footer-socials {
  flex-grow: 1;
}

.social-list {
  width: 100%;
  list-style: none;
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin: 0;
  gap: 10px;
}

.social-icon {
  width: 30px;
  height: 30px;
}

.social-icon:focus,
.social-icon:hover,
.social-icon:active {
  opacity: 0.5;
}

.footer-link {
  text-decoration: none;
}

.footer-link:focus,
.footer-link:hover,
.footer-link:active {
  color: var(--color-3);
}

/* ===================================================================
 * # DATENSCHUTZ
 *
 *
 * ------------------------------------------------------------------- */

#datenschutz-page {
  width: 100%;
  color: var(--color-2);
  background-color: var(--color-1);
  margin: 0;
  padding: 0;
}

#datenschutz-container {
  width: 100%;
  padding-bottom: 2rem;
  margin: 0 auto;
  display: flex;
  flex-direction: column;
}

#datenschutz-container h3 {
  margin-top: 2rem;
}

#datenschutz-container p {
  font-size: 1rem;
}

.datenschutz-title {
  font-weight: 500;
  margin: 0;
  font-size: 2.5rem;
  padding: 2rem 0;
  width: fit-content;
  text-shadow: var(--color-2) 1px 0 3px;
}

#datenschutz-page .page-container #footer-container {
  background-color: var(--color-1);
  background-image: none;
}

#datenschutz-page .page-container #footer-container .footer-credits,
#datenschutz-page .page-container #footer-container .footer-link {
  color: var(--color-2);
}

#datenschutz-page .page-container #footer-container .footer-link:hover {
  color: var(--color-3);
}

/* ===================================================================
 * # MEDIA QUERIES
 *
 *
 * ------------------------------------------------------------------- */

/* ===================================================================
 * ## Page Containers Media Queries
 * ------------------------------------------------------------------- */

@media screen and (min-width: 740px) {
  .third-page-background {
    bottom: 10rem;
  }
}

@media screen and (min-width: 992px) {
  #first-page {
    align-items: center;
  }

  #second-page {
    align-items: center;
  }

  #third-page {
    align-items: center;
  }

  .third-page-background {
    bottom: 12.5rem;
  }

  #fourth-page {
    align-items: center;
  }

  .section-pretitle {
    font-size: 1.8rem;
  }

  .section-title {
    font-size: 2.5rem;
  }
}

@media screen and (min-width: 2200px) {
  .section-pretitle {
    font-size: 1.8rem;
  }

  .section-title {
    font-size: 3rem;
  }

  .third-page-background {
    bottom: 14rem;
  }
}

@media screen and (min-width: 2800px) {
}

@media screen and (min-width: 3200px) {
  .third-page-background {
    bottom: 18rem;
  }
}

/* ===================================================================
 * ## Header & Navigation Media Queries
 * ------------------------------------------------------------------- */

@media screen and (min-width: 576px) {
  span.navbar-toggler-icon {
    width: 45px;
    height: 45px;
  }

  a.nav-link {
    font-size: 1.2rem;
  }

  a.nav-link:after {
    content: "";
    display: block;
    position: relative;
    background: var(--color-1);
    height: 1px;
    top: 0.5rem;
    width: 100px;
  }
}

@media screen and (min-width: 992px) {
  #navbar-nav {
    display: flex;
    flex-direction: column;
    align-items: flex-end;
  }

  a.nav-link {
    width: fit-content;
    text-align: end;
    position: relative;
    padding: 0;
    font-size: 1.6rem;
  }

  a.nav-link:after {
    bottom: 0;
    top: auto;
    content: "";
    display: block;
    height: 2px;
    left: 50%;
    position: absolute;
    background: var(--color-1);
    transition: width 0.3s ease 0s, left 0.3s ease 0s;
    width: 0;
  }

  .nav-link:hover:after {
    width: 100%;
    left: 0;
  }
}

@media screen and (min-width: 3200px) {
  #header-container {
    padding-bottom: 15rem;
  }
}

/* ===================================================================
 * ## Hero Section Media Queries
 * ------------------------------------------------------------------- */

@media screen and (min-width: 576px) {
  .hero-title {
    font-size: 4rem;
  }
}

@media screen and (min-width: 740px) {
  .hero-title {
    font-size: 4.5rem;
  }
}

@media screen and (min-width: 992px) {
  #hero-container {
    width: 70%;
  }

  .hero-horizontal-rule {
    width: 50%;
  }

  .hero-pretitle {
    font-size: 2rem;
  }

  .hero-title {
    font-size: 8rem;
    line-height: 8rem;
  }

  .hero-socials {
    width: 8rem;
  }

  .hero-text {
    font-size: 1.5rem;
  }

  .hero-techstack-container {
    width: 70%;
  }
}

@media screen and (min-width: 2200px) {
  .hero-techstack-container {
    width: 50%;
  }
}

@media screen and (min-width: 3200px) {
  .hero-techstack-container {
    width: 40%;
  }
}

/* ===================================================================
 * ## About Section Media Queries
 * ------------------------------------------------------------------- */

@media screen and (min-width: 992px) {
  .about-section {
    width: 70%;
  }

  p.first-about-text {
    width: 65%;
    align-self: start;
    text-align: end;
    margin: 2rem 0;
    font-size: 1.3rem;
  }

  p.second-about-text {
    width: 65%;
    align-self: end;
    margin: 2rem 0;
    font-size: 1.3rem;
  }

  p.third-about-text {
    width: 65%;
    align-self: start;
    text-align: end;
    margin: 2rem 0;
    font-size: 1.3rem;
  }
}

/* ===================================================================
 * ## Projects Section Media Queries
 * ------------------------------------------------------------------- */

@media screen and (min-width: 992px) {
  .projects-section {
    width: 70%;
  }

  .project-item-two {
    width: 100%;
  }

  .caption-title {
    font-size: 2rem;
    line-height: auto;
  }

  .caption-text {
    font-size: 1.3rem;
  }

  .caption-button {
    font-size: 1.2rem;
  }
}

@media screen and (min-width: 1400px) {
  .project-container {
    flex-direction: row;
  }

  .project-item-one {
    width: 50%;
  }

  .project-item-two {
    width: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
  }
}

@media screen and (min-width: 1800px) {
  .project-container {
    width: 80%;
  }
}

@media screen and (min-width: 2200px) {
  .project-item-one {
    padding: 4rem;
  }

  .project-img {
    max-width: 700px;
  }
}

/* ===================================================================
 * ## Contact Section Media Queries
 * ------------------------------------------------------------------- */

@media screen and (min-width: 992px) {
  .contact-section {
    width: 70%;
  }

  .first-contact-text {
    font-size: 1.5rem;
  }

  .second-contact-text {
    font-size: 1.5rem;
  }
}

/* ===================================================================
 * ## Datenschutz Media Queries
 * ------------------------------------------------------------------- */

@media screen and (min-width: 992px) {
  #datenschutz-container {
    width: 70%;
  }
}

@media screen and (min-width: 3200px) {
  .datenschutz-title {
    font-size: 3.5rem;
  }

  p > #datenschutz-container {
    font-size: 1.5rem;
  }
}

/* ===================================================================
 * ## Lines Media Queries
 * ------------------------------------------------------------------- */

@media screen and (min-width: 1800px) {
  .line:nth-child(1) {
    margin-left: 8rem;
  }

  .line:nth-child(3) {
    margin-left: 16rem;
  }
}

@media screen and (max-width: 992px) {
  .line:nth-child(1) {
    visibility: hidden;
  }

  .line:nth-child(3) {
    visibility: hidden;
  }
}

/* ===================================================================
 * # ANIMATIONS
 *
 *
 * ------------------------------------------------------------------- */

/* ------------------------------------------------------------------- 
* ## Line Animation
* ------------------------------------------------------------------- */

@keyframes drop {
  0% {
    top: -50%;
  }
  100% {
    top: 110%;
  }
}

@-webkit-keyframes drop {
  0% {
    top: -50%;
  }
  100% {
    top: 110%;
  }
}

@-moz-keyframes drop {
  0% {
    top: -50%;
  }
  100% {
    top: 110%;
  }
}
