/* @package mrhide26 */

html {
  scroll-behavior: smooth;
}

body {
  padding: 0;
  margin: 0;
  color: black;
  font-family: 'Helvetica', sans-serif;
  font-size: 14px;
}

/* MAIN & DEFAULT */

hidden {
  display: none;
}

a {
  color: black;
  text-decoration: none;
  position: relative;
}
.next_content a::after,
.footer_c_item a::after,
.sim_info_wrap a::after {
  content: '';
  width: 100%;
  height: 1px;
  position: absolute;
  top: 14px;
  background: black;
  left: 0;
  filter: blur(1.2px);
  opacity: 0.5;
  transition:
    opacity 0.4s ease,
    filter 0.2s ease;
}
.footer_c_item a::after {
  top: 12px;
}

.sim_info_wrap a:hover::after,
.next_content a:hover::after,
.footer_c_item a:hover::after {
  filter: blur(0px);
  opacity: 1;
}

a.extern_link::after {
  content: '\2198';
  width: unset;
  height: unset;
  position: relative;
  top: unset;
  background: transparent;
  filter: none;
  opacity: 1;
  margin-left: 6px;
  top: -2px;
  transform: rotate(-90deg);
  display: inline-block;
}

p {
  line-height: 20px;
  font-size: 14px;
  letter-spacing: 0.5px;
  font-weight: lighter;
}

h1 {
  position: fixed;
  text-align: center;
  width: 100vw;
  top: 10vh;
  z-index: -1;

  filter: blur(3px);
}

h2 {
  font-size: 20px;
  font-weight: normal;
}

.next_content h2 {
  margin-top: 28px;
}

#main_wrap {
  display: grid;
  grid-template: repeat(5, 100vh) auto / 4vh 66vw 1fr;
  width: 100vw;
  height: 100vh;
  justify-content: center;
  align-items: center;
  overflow-x: hidden;
  overflow-y: scroll;
  scroll-snap-type: y mandatory;
  scroll-behavior: smooth;
  background: white;
}

#main_wrap.nerdstuff {
  grid-template: auto / 4vh 66vw 1fr;
}

.mobile #main_wrap.nerdstuff {
  grid-template: auto / 1fr;
  display: flex;
  flex-direction: column;
  height: auto;
  padding: 8px;
  box-sizing: border-box;
}
.page_default #main_wrap {
  height: unset;
  grid-template: repeat(5, auto) auto / 4vh 66vw 1fr;
}

.page_default footer {
  padding: 2vw calc(2vw + 4vh);
}

.page_default #main_wrap nav {
  position: fixed;
  width: 220px;
  right: 12vw;
}

#the_simulator,
#service,
#fokus,
#kontakt,
#fussnoten {
  scroll-snap-align: start;
}

#no_anim {
  position: fixed;
  top: 0;
  left: 0;
  width: 8px;
  height: 8px;
  background: black;
  border: 4px solid white;
  opacity: 0;
  transition: opacity 1.5s ease;
  z-index: 999999999;
}

#no_anim:hover {
  opacity: 1;
}

/* ##### Main navigation #### */

#main_wrap nav {
  position: sticky;
  top: 0;
  grid-row: 1;
  grid-column: -2;
  align-self: flex-start;
  justify-self: flex-start;
  z-index: 1000;
  width: 100%;
}

#main_wrap nav ul {
  list-style: none;
  padding: 20px 2vw 2vw 3vw;
  margin: 0;
  height: 160px;
}

#main_wrap nav li {
  filter: blur(1.2px);
  opacity: 0.4;
  position: absolute;
  top: 12px;
  transition:
    opacity 0.4s ease,
    filter 0.2s ease,
    top 0.4s ease;
}

#main_wrap nav li.active,
#main_wrap nav li.current-menu-item {
  filter: blur(0px);
  opacity: 1;
  top: 34px;
}

.page_default #main_wrap nav li.active {
  filter: blur(1.2px);
  opacity: 0.4;
  top: 12px;
}

#main_wrap nav:hover li:nth-of-type(1) {
  top: 12px;
}
#main_wrap nav:hover li:nth-of-type(2) {
  top: 34px;
}
#main_wrap nav:hover li:nth-of-type(3) {
  top: 56px;
}
#main_wrap nav:hover li:nth-of-type(4) {
  top: 78px;
}
#main_wrap nav:hover li:nth-of-type(5) {
  top: 100px;
}
#main_wrap nav:hover li:nth-of-type(6) {
  top: 122px;
}
#main_wrap nav:hover li:nth-of-type(7) {
  top: 144px;
}
#main_wrap nav:hover li:nth-of-type(8) {
  top: 166px;
}
#main_wrap nav:hover li:nth-of-type(9) {
  top: 188px;
}
#main_wrap nav:hover li:nth-of-type(10) {
  top: 210px;
}
#main_wrap nav:hover li:nth-of-type(11) {
  top: 232px;
}
#main_wrap nav:hover li:nth-of-type(12) {
  top: 254px;
}
#main_wrap nav:hover li:nth-of-type(13) {
  top: 276px;
}

#main_wrap nav li a {
  display: block;
  padding: 4px 2px 4px 0px;
  font-weight: bold;
}

#main_wrap nav li:hover {
  filter: blur(0px);
  opacity: 1;
}

/* LANG SWITCH */

#lang_switch {
  grid-row: 1;
  grid-column: -2;
  align-self: flex-start;
  justify-self: center;
  position: absolute;
  top: 0;
  left: 11vw;
  padding: 12px 0 0 0;
  margin: 0;
  list-style: none;
  z-index: 1001;
}

.nerdstuff #lang_switch {
  left: 16vw;
}

/* #lang_switch li {
  filter: blur(1.5px);
  opacity: 0.2;
  transition: opacity 0.4s ease, filter 0.2s ease, top 0.4s ease;
} */
/* #lang_switch li:hover {
  filter: blur(0px);
  opacity: 1;
} */
#lang_switch li.current-lang {
  filter: blur(0px);
  opacity: 1;
  cursor: pointer;
}
#lang_switch li a {
  text-transform: uppercase;
}

.nerd_stuff #lang_switch li a {
  text-transform: unset;
}

#lang_switch li.current-lang {
  cursor: default;
  top: 34px;
}

/* SIDE TAG */

#side_tag {
  position: fixed;
  top: 0;
  right: -5px;
  z-index: 10000;
  /* opacity: 0.2; */
}
#side_tag > span {
  position: absolute;
  font-size: 10vh;
  text-transform: uppercase;
  font-weight: bold;
  top: 10px;
  right: 0px;
  white-space: nowrap;
  filter: blur(1.2px);
  opacity: 0.2;
  transition:
    opacity 0.9s ease,
    filter 0.9s ease,
    right 0.6s ease;
  writing-mode: tb;
  transform: rotate(180deg);
}
#side_tag > span:nth-of-type(4) {
  text-transform: none;
}
#side_tag:hover > span {
  filter: blur(0px);
  opacity: 0.9;
}
#side_tag:hover > span:nth-of-type(1) {
  right: 1vh;
}
#side_tag:hover > span:nth-of-type(2) {
  right: 12vh;
}
#side_tag:hover > span:nth-of-type(3) {
  right: 23vh;
}
#side_tag:hover > span:nth-of-type(4) {
  right: 34vh;
}
.sidetagbackdrop {
  width: 0;
  height: 100vh;
  background: white;
  opacity: 0;
  pointer-events: none;
  transition:
    opacity 0.6s ease,
    width 0.2s 0.2s ease;
}
.sidetagbackdrop.darker {
  background: #e0e0e0;
}
#side_tag:hover > .sidetagbackdrop,
#side_tag_nerd:hover > .sidetagbackdrop {
  transition:
    opacity 0.6s ease,
    width 0.2s 0s ease;
  width: 32.2vw;
  opacity: 1;
}

/* SIDE TAG NERD */

#side_tag_nerd {
  position: fixed;
  top: 0;
  right: -5px;
  z-index: 10000;
  /* opacity: 0.2; */
}
#side_tag_nerd > span {
  position: absolute;
  writing-mode: tb;
  font-size: 33vh;
  text-transform: uppercase;
  font-weight: bold;
  top: 10px;
  right: 2vh;
  white-space: nowrap;
  filter: blur(1.2px);
  opacity: 0.2;
  transition:
    opacity 0.9s ease,
    filter 0.9s ease,
    right 0.6s ease;
  overflow: hidden;
  width: 10vh;
  transform: rotate(180deg);
}

#side_tag_nerd > span:nth-of-type(1) {
  /* right: 2vh; */
  line-height: 0vh;
}
#side_tag_nerd > span:nth-of-type(2) {
  /* right: 12vh; */
  line-height: 20vh;
}
#side_tag_nerd > span:nth-of-type(3) {
  /* right: 22vh; */
  line-height: 40vh;
  /* line-height: 22vh; */
}

#side_tag_nerd:hover > span:nth-of-type(1) {
  right: 2.05vh;
}

#side_tag_nerd:hover > span:nth-of-type(2) {
  right: 12vh;
}

#side_tag_nerd:hover > span:nth-of-type(3) {
  right: 22vh;
}

#side_tag_nerd:hover > span {
  filter: blur(0px);
  opacity: 0.9;
}

/* SIDE TAG KONTAKT LINKS */

#kontakt_links {
  position: fixed;
  bottom: 0px;
  right: 22vw;
  list-style: none;
  z-index: 10002;
  padding: 0;
}

#kontakt_links li {
  max-height: 0px;
  overflow: hidden;
  transition: max-height 0.4s ease;
}

#side_tag:hover #kontakt_links li,
#side_tag_nerd:hover #kontakt_links li {
  max-height: 22px;
}

#kontakt_links li a {
  display: block;
  padding: 4px 2px 4px 0px;
  font-weight: bold;
  filter: blur(1.2px);
  opacity: 0.6;
  transition:
    opacity 0.4s ease,
    filter 0.2s ease;
}

#kontakt_links li:hover a {
  filter: blur(0px);
  opacity: 1;
}

/* CONTENT */

.next_content ul {
  list-style: none;
}

.next_content ul li {
  padding: 4px;
}

/* SIMULATION NAVIGATOR */

#sim_navigator {
  display: none;
  grid-row: 1;
  grid-column: -2;
  align-self: flex-end;
  justify-self: flex-start;
  padding-left: 3vw;
  z-index: 1;
}

#sim_navigator a {
  padding: 0 14px 3vw 14px;
  font-size: 24px;
  display: inline-block;
}

#sim_navigator > a:nth-child(3) {
  font-size: 20px;
  transform: rotate(90deg);
  padding: 14px 1px 14px 1px;
}

#sim_navigator > a.go_close {
  font-size: 26px;
}

#sim_navigator > a.go_play {
  height: 17px;
  padding: 0 12px;
  width: 20px;
  margin-left: 9px;
}

#sim_navigator > a.go_play[data-playing='true'] {
  background: url(../img/pause.png) center / contain no-repeat;
}

#sim_navigator > a.go_play[data-playing='false'] {
  background: url(../img/play.png) center / contain no-repeat;
}

/* SIMULATOR */

.simulator_wrap {
  display: none;
  grid-row: 1;
  grid-column: 2;
  position: relative;
  position: relative;
  transition:
    left 0.8s ease,
    height 0.8s ease;
  overflow: hidden;
  height: 81vh;
  left: 0vw;
  margin-top: 12vh;
  z-index: 1;
}

.simulator_wrap.left {
  left: -100vw;
}
.simulator_wrap.right {
  left: 100vw;
}
.simulator_wrap.geclosed {
  height: 0;
}

.sim_inner_controls {
  display: grid;
  align-items: center;
  width: 54vw;
  height: 30px;
  background: darkgrey;
  padding-left: 1vw;
  padding-right: 1vw;
  grid-template-columns: 30px 1fr 30px 30px;
  position: absolute;
  box-sizing: border-box;
  box-shadow: 0px 1px 2px;
  border-top-left-radius: 22px;
  border-top-right-radius: 22px;
  top: 5vw;
  left: 6vw;
}

.the_simulator {
  width: 54vw;
  height: 35vw;
  overflow: scroll;
  box-shadow:
    0 0 0 2px black,
    0 0 0 3vw white,
    0 0 0 calc(3vw + 2px) black;
  border-radius: 22px;
  padding-top: 30px;
  margin: 5vw 4vw 5vw 6vw;
  scroll-behavior: smooth;
}

.sim_inner_controls a {
  grid-row: 1;
  justify-self: center;
  font-size: 22px;
}

.sim_inner_controls a:nth-of-type(1) {
  grid-column: 1;
  font-size: 28px;
}

.sim_inner_controls a:nth-of-type(2) {
  background: white;
  border-radius: 2px;
  padding: 4px 8px 2px 8px;
  grid-column: 1/4;
  font-size: 14px;
}
.sim_inner_controls a:nth-of-type(2)::before {
  content: 'https://';
  color: grey;
}
.sim_inner_controls a:nth-of-type(3) {
  grid-column: 3;
}

.the_simulator img {
  width: 100%;
  height: auto;
  margin-bottom: -4px;
}

.sim_info_wrap {
  grid-row: 1;
  grid-column: 3;
  width: 25vw;
  justify-self: flex-start;
  transition:
    opacity 0.4s ease,
    filter 0.4s ease;
}
.sim_info_wrap.dont_left {
  filter: blur(1.2px);
  opacity: 0.035;
}
.sim_info_wrap.dont_right {
  filter: blur(1.2px);
  opacity: 0.035;
  pointer-events: none;
}

.sim_info_wrap.show_anyway {
  filter: blur(0);
  opacity: 1;
  pointer-events: all;
}

/* NO SCROLLING */

.fichsed .the_simulator {
  overflow: hidden;
}

/* SIMULATOR FOR MOBIL */

.klein .the_simulator {
  width: 22vw;
  height: 38vw;
  border-radius: 12px;
  margin: 2vw 4vw 5vw 4vw;
  box-shadow:
    0 0 0 2px black,
    0 0 0 1vw white,
    0 0 0 calc(1vw + 2px) black;
}

.klein .sim_inner_controls {
  padding-left: 4px;
  padding-right: 4px;
  width: 22vw;
  border-top-left-radius: 12px;
  border-top-right-radius: 12px;
  top: 2vw;
  left: 4vw;
}

.klein .sim_inner_controls a:nth-of-type(2) {
  padding: 4px 4px 3px 6px;
  font-size: 10px;
}

.klein .sim_inner_controls a:nth-of-type(2)::before {
  content: '';
}

.klein .sim_inner_controls a:nth-of-type(1) {
  font-size: 24px;
}

.klein .sim_inner_controls a {
  font-size: 18px;
}

.simulator_wrap.klein {
  margin-left: 23vw;
  margin-right: 13vw;
}

/* SIMULATOR ÜBERSICHT */

.kunden_ubersicht {
  grid-row: 1;
  grid-column: 2;
  height: 100vh;
  padding: 2vw 5vw 2vw 0vw;
  display: grid;
  grid-template: repeat(4, 1fr) / repeat(auto-fit, minmax(12vh, 1fr));
  grid-auto-flow: dense;
  box-sizing: border-box;
  align-items: flex-start;
}

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

.kunden_play > button {
  display: block;
  width: 42px;
  height: 42px;
  padding: 12px;
  background: url(../img/play.png) 54% / 25% no-repeat;
  border: none;
  border-radius: 6px;
  transition:
    opacity 0.4s ease,
    filter 0.2s ease;
  cursor: pointer;
  opacity: 0.4;
  box-shadow:
    0 0 0 2px lightgrey,
    0 0 0 1vw white,
    0 0 0 calc(1vw + 2px) lightgrey;
}

.kunden_play > button:hover {
  opacity: 1;
  filter: blur(0px);
}

.kunden_kunde {
  grid-column: span 2;
  perspective: 40vw;
  transform-style: preserve-3d;
  opacity: 1;
  transition: opacity 0.4s ease;
}

.kunden_kunde.klein {
  grid-column: span 1;
}

.kunden_kunde.nochladen {
  opacity: 0;
}

.kunden_kunde h3 {
  position: absolute;
  text-align: center;
  width: calc(100% - 3vw);
  top: 40%;
  z-index: -1;
  font-size: 12px;
}

.kunden_kunde.klein h3 {
  width: calc(90% - 3vw);
  hyphens: auto;
  left: 21%;
}

/* MINI SIM */

.mini_sim_wrap {
  position: relative;
  padding: 62px;
  perspective: 650px;
}

.klein .mini_sim_wrap {
  padding: 72px 42px;
}

.mini_sim {
  position: absolute;
  overflow: hidden;
  box-shadow:
    0 0 0 2px lightgrey,
    0 0 0 1vw white,
    0 0 0 calc(1vw + 2px) lightgrey;
  border-radius: 12px;
  margin: 1vw;
  box-sizing: border-box;
  transition: transform 0.5s ease;
  transform: rotate3d(0.5, 1, 0, 40deg);
}

.kunden_kunde:hover .mini_sim {
  transform: rotate3d(-0.5, 0.8, 0, 0deg);
}

.klein .mini_sim {
  box-shadow:
    0 0 0 2px lightgrey,
    0 0 0 0.4vw white,
    0 0 0 calc(0.4vw + 2px) lightgrey;
  margin: 0.5vw;
  border-radius: 8px;
}

.mini_sim_back {
  position: absolute;
  box-shadow:
    0 0 0 2px lightgrey,
    0 0 0 1vw white,
    0 0 0 calc(1vw + 2px) lightgrey;
  border-radius: 12px;
  margin: 1vw;
  box-sizing: border-box;
  transition: transform 0.5s ease;
  transform-style: preserve-3d;
  transform: rotate3d(0.5, 1, 0, 40deg) translateZ(-12px);
}
.kunden_kunde:hover .mini_sim_back {
  transform: rotate3d(-0.5, 0.8, 0, 0deg) translateZ(-20px);
}

.klein .mini_sim_back {
  box-shadow:
    0 0 0 0.4vw white,
    0 0 0 calc(0.4vw + 2px) lightgrey;
  border-radius: 8px;
  margin: 0.5vw;
  transform: rotate3d(0.5, 1, 0, 40deg) translateZ(-10px);
}

.mini_sim_back img {
  width: 100%;
  height: auto;
  opacity: 0;
}

.mini_sim img,
.mini_sim_back img {
  margin-bottom: -5px;
}

.mini_sim img {
  width: 100%;
  height: auto;
}

/* FUSS */

.fuss_arm {
  position: absolute;
  left: calc(50% - 15px);
  bottom: 0%;
  transform-style: preserve-3d;
  transform: rotate3d(1, 0, 0, -8deg);
  transition: transform 0.4s 0s ease;
}

.kunden_kunde:hover .fuss_arm {
  transition: transform 0.6s 0s ease;
  transform: rotate3d(1, 0, 0, 18deg);
}

.fuss_arm > div {
  border: 1px solid rgba(0, 0, 0, 0.3);
  position: absolute;
  background: white;
}

.fuss_arm .vorn {
  height: 50px;
  width: 30px;
  transform: translateZ(-10px);
}

.fuss_arm .links {
  height: 50px;
  width: 12px;
  transform: translateZ(-22px) translateX(-2px) rotateY(90deg);
  left: 0px;
  bottom: -53px;
}

.fuss_arm .unten_oben {
  width: 110px;
  height: 60px;
  transform: translateY(0%) translateZ(-10px) rotateX(90deg);
  bottom: -84px;
  left: -38px;
}

.fuss_arm .unten_links {
  width: 60px;
  height: 4px;
  bottom: -58px;
  left: -68px;
  transform: translateY(0%) translateZ(-10px) rotateY(90deg);
}

.fuss_arm .unten_vorne {
  width: 110px;
  height: 4px;
  transform: translateY(0%) translateZ(20px) rotateX(0deg);
  bottom: -58px;
  left: -38px;
}

/* INFO  */

#info_wrap {
  display: none;
  background: white;
  border: 1px solid black;
  display: grid;
}

.cue_card {
  border: 2px solid grey;
  border-radius: 16px;
  padding: 22px;
}

.cue_card:nth-of-type(1) {
  grid-column: span 3;
  border-top-left-radius: 0;
  border-bottom-left-radius: 0;
  border-left-width: 0;
}

.cue_card:nth-of-type(2) {
  grid-column: span 2;
  border-top-right-radius: 0;
  border-bottom-right-radius: 0;
  border-right-width: 0;
}

.cue_card:nth-of-type(3) {
  grid-column: span 2;
  grid-row: 3;
}

/* FAHNE */

#service {
  grid-column: 1/3;
  grid-row: 2;
  width: 100%;
  height: 100vh;
  grid-template-columns: repeat(auto-fit, 700px);
  grid-auto-rows: 70px;
}

#backdrop_content {
  grid-column: 1/3;
  grid-row: 2;
  width: 50%;
  padding: 9vw 0vw 9vw 5vw;
  align-self: flex-end;
  z-index: 1;
}

#backdrop_content_2 {
  grid-column: 3/5;
  grid-row: 2;
  width: 50%;
  padding: 9vw 2vw;
  align-self: center;
  z-index: 1;
}
#backdrop_content_2 ul {
  padding: 0;
  margin: 0;
  padding-left: 1vw;
}

.box {
  height: 80px;
  width: 20px;
  border: 2px solid black;
  transform: rotate(45deg);
}

#service svg {
  padding: 0;
  margin: 0;
}

.leine {
  stroke: black;
  stroke-width: 2;
  fill: none;
  transform: rotate(0deg);
  animation-duration: 18s;
  animation-iteration-count: infinite;
  transform-origin: left;
}

.losgehts .leine {
  animation-name: schwimmen;
}

@keyframes schwimmen {
  0% {
    transform: rotate(0deg);
  }
  50% {
    transform: rotate(3.8deg);
  }
  100% {
    transform: rotate(0deg);
  }
}

/* SQUARES */

#fokus {
  grid-column: 1/3;
  grid-row: 3;
  display: grid;
  width: 60%;
  height: 100vh;
  grid-template-columns: repeat(auto-fit, 70px);
  grid-auto-rows: 70px;
  background: #ddd;
  overflow: hidden;
}

#backdrop_zwei_content {
  grid-column: 2/4;
  grid-row: 3;
  width: 40vw;
  margin-left: 44vw;
}

.box_zwei {
  height: 60px;
  width: 60px;
  border: 2px solid black;
  transform: rotate(45deg);
  animation-duration: 30s;
  animation-iteration-count: infinite;
  animation-timing-function: cubic-bezier(0.45, 0, 0.55, 1);
}

.losgehts .box_zwei {
  animation-name: drehen;
}

@keyframes drehen {
  from {
    transform: rotate(45deg);
  }
  to {
    transform: rotate(135deg);
  }
}

/* WABEN */

#kontakt {
  grid-column: 1/4;
  grid-row: 4;
  height: 100vh;
  width: 100%;
  margin: 0;
  align-items: flex-end;
  overflow: hidden;
  position: relative;
}

#backdrop_vier_content {
  grid-column: 2/4;
  grid-row: 4;
  width: 84vw;
  margin-left: 3vw;
  margin-top: 15vh;
  align-self: flex-start;
  z-index: 1;
}

#the_backdrop_vier {
  transform: rotate(12deg);
  height: 60%;
  width: 100%;
  display: flex;
  position: absolute;
  top: 60%;
  left: -10%;
  overflow: visible;
}

#the_backdrop_vier svg {
  padding: 0;
  margin: auto;
}

@keyframes coleur {
  0% {
    transform: translate(0px, 0px);
  }
  2% {
    transform: translate(2px, 4px);
  }
  14% {
    transform: translate(0px, 0px);
  }
  100% {
    transform: translate(0px, 0px);
  }
}

.losgehts .hexagon {
  animation-name: coleur;
}

.hexagon {
  animation-duration: 20s;
  animation-iteration-count: infinite;
  transform-origin: left;
  fill: white;
  transition: fill 1.8s 6s ease;
}
.hexagon:hover {
  animation-name: unset;
  fill: #737782;
  transition: fill 1.8s 0s ease;
}

/* LATE NIGHT STRIPES */

#backdrop_funf {
  grid-column: 1/3;
  grid-row: 1;
  position: relative;
  display: grid;
  width: calc(100vw + 70px);
  height: 100%;
  grid-template-columns: repeat(auto-fit, 70px);
  grid-auto-rows: 70px;
  width: 100vw;
}

#backdrop_funf .box {
  position: absolute;
  width: 120px;
  height: 0.8vh;
  background: white;

  animation-name: none;
  animation-duration: 15s;
  animation-iteration-count: infinite;
  animation-timing-function: linear;
  animation-fill-mode: backwards;

  transform: none;
  border: none;
}

@keyframes puls {
  0% {
    left: -100vw;
  }
  100% {
    left: 100vw;
  }
}

.losgehts #backdrop_funf .box {
  animation-name: puls;
}

/* KONTAKT */

/* overlay */

.wpcf7-form ul#allContacts,
.wpcf7-form ul#alleKontakte {
  grid-row: 3/5;
  grid-column: 1/3;
  margin: 0;
  display: flex;
  list-style: none;
  justify-content: space-between;
  margin-right: 7vw;
  position: relative;
  top: 0;
  left: 0;
  transition:
    top 0.6s ease,
    left 0.6s ease;
}

.wpcf7-form ul#allContacts.verschoben,
.wpcf7-form ul#alleKontakte.verschoben {
  top: -25vh;
  left: -2vw;
  justify-content: flex-start;
}

#allContacts.verschoben li div,
#alleKontakte.verschoben li div {
  display: none;
}

#allContacts.verschoben li:first-of-type,
#alleKontakte.verschoben li:first-of-type {
  display: none;
}

#allContacts li div,
#alleKontakte li div {
  margin-top: 12px;
  font-size: 12px;
  cursor: pointer;
}

#allContacts li a::after,
#alleKontakte li a::after {
  content: unset;
}

#allContacts li a div,
#alleKontakte li a div {
  position: relative;
}

#allContacts li a div::after,
#alleKontakte li a div::after {
  content: '';
  width: 100%;
  height: 1px;
  position: absolute;
  top: 12px;
  background: black;
  left: 0;
  filter: blur(1.2px);
  opacity: 0.5;
  transition:
    opacity 0.4s ease,
    filter 0.2s ease;
}

#allContacts li a div:hover::after,
#alleKontakte li a div:hover::after {
  filter: blur(0px);
  opacity: 1;
}

#allContacts li,
#alleKontakte li {
  margin-right: 12px;
}

#thePost,
#theMail {
  position: relative;
}

#thePost::after,
#theMail::after {
  content: 'copied';
  position: absolute;
  bottom: -20px;
  left: 0;
  width: 100%;
  text-align: center;
  opacity: 0;
  transition: opacity 0.3s ease;
}

#thePost.itsdone::after,
#theMail.itsdone::after {
  opacity: 1;
}

/* FORM */

.wpcf7-form {
  display: grid;
  grid-template-columns: repeat(2, 50%);
  grid-template-rows: repeat(3, auto);
  grid-gap: 1.5vw;
  height: 34vh;
}

.wpcf7-form > p {
  margin: 0;
  display: none;
}

.wpcf7-form > p:nth-of-type(1) {
  grid-row: 1;
  grid-column: 1;
}

/* consent */

.wpcf7-form-control-wrap label {
  display: grid;
  gap: 0.1rem;
}

.wpcf7-form > p:nth-of-type(2) {
  grid-row: 2;
  grid-column: 1;
  display: grid;
  grid-template-columns: 1fr 4fr;
  padding-right: 12px;
  font-size: 12px;
}

.wpcf7-form > p:nth-of-type(3) {
  grid-row: 1/4;
  grid-column: 2;
}

.wpcf7-form > p:nth-of-type(4) {
  grid-row: 3;
  grid-column: 1;
}

.wpcf7-form > p:nth-of-type(5) {
  grid-row: 4;
  grid-column: 2;
}

.wpcf7-email,
.wpcf7-textarea,
.wpcf7-submit,
.captcha-image {
  width: 100%;
  height: 100%;
  padding: 8px;
  box-sizing: border-box;
  font-family: inherit;
  font-size: 14px;
  line-height: 18px;
  letter-spacing: 0.6px;
  border: 2px solid #f4f4f4 !important;
  background: none;
}

.wpcf7-textarea {
  resize: none;
}

.kc_captcha path {
  stroke-width: 18px;
  fill: none;

  fill: #bfbfbf;
}

.your-consent label {
  display: flex;
  flex-direction: column;
  cursor: pointer;
}

.your-consent label input {
  margin-bottom: 8px;
}

.wpcf7 .wpcf7-submit:disabled {
  cursor: not-allowed;
  filter: blur(1px);
  opacity: 0.7;
}

.captcha-image {
  padding: 8px;
  text-align: center;
}

.captcha-image svg {
  padding: 0 !important;
  width: 30px !important;
  height: 30px !important;
}

.captcha-image label {
  margin: 10px 1.4vw 0px 1.4vw;
}

.captcha-image .cf7ic_instructions span {
  color: #000 !important;
  font-weight: bold !important;
}

.captcha-image > span {
  text-align: left;
}

/* ##### Nerd #### */

.mobile #side_tag_nerd > span:nth-of-type(1) {
  line-height: 31vh;
  right: 1vh;
  width: 25vh;
}

.mobile #side_tag_nerd > span:nth-of-type(2) {
  display: none;
}

.mobile #side_tag_nerd > span:nth-of-type(3) {
  display: none;
}

#nerdfootermobil > div:nth-child(2) {
  grid-column: 1;
  grid-row: 1;
  align-self: center;
}

#nerdfootermobil #menu-nerd,
#nerdfootermobil #menu-nernd-en,
#nerdfootermobil #lang_switch {
  padding-left: 8px;
  list-style: none;
}

#nerdfootermobil #menu-nerd li a,
#nerdfootermobil #menu-nernd-en li a,
#nerdfootermobil #lang_switch li a {
  display: block;
  padding: 4px 2px 4px 0px;
  font-weight: bold;
}

#nerd_content {
  grid-column-start: 2;
  padding-left: 0;
}

.page-template-page-nerd .menu-footer-menue-container {
  align-self: flex-end;
  grid-column: span 2;
  padding: 0.6rem;
}
.page_default #nerd_content {
  padding: 2vw;
}

.mobile #nerd_content {
  grid-column-start: 1;
}

.mobile #side_tag_nerd {
  position: relative;
  top: 0;
  right: 0;
  z-index: 10000;
  grid-column: 2;
}

.mobile #side_tag_nerd {
  height: 100vh;
  margin-top: 3rem;
}

#kontakt_links_mnerd {
  display: none;
}

.mobile .nerdstuff footer {
  grid-template-rows: 100vh;
}

/* NERD FRONTPAGE */

.nerd_front {
  display: grid;
  grid-template-rows: repeat(1, 2.5vw);
  grid-template-columns: repeat(8, 2.5vw);
  gap: 0.2rem;
  grid-auto-flow: dense;
  margin-right: 2vw;
}

h4.nerd_item.landscape {
  margin: 0;
  /* rotate: -90deg;
  transform-origin: bottom left;
  translate: 50% 100%;
  text-align: right; */
}

.nerd_front h4 span.more_nerd {
  display: inline-block;
  transform: rotate(90deg);
  margin: 6px 0;
  font-size: 14px;
  cursor: pointer;
}

.wp-block-image.nerd_item {
  margin: 0;
}

.nerd_item.square {
  grid-column: span 1;
  grid-row: span 1;
}

.nerd_item.landscape {
  grid-column: span 2;
  grid-row: span 1;
}

.nerd_item.potrait {
  grid-column: span 1;
  grid-row: span 2;
}

.nerd_item img {
  margin: 0;
  height: 100%;
  width: 100%;
  object-fit: cover;
  padding: 0;
}

/* .nerd_front .wp-block-image.size-medium img {
  width: 80px;
  padding-right: 22px;
  height: auto;
  display: block;
  margin-bottom: 4px;
} */

/* .nerd_front .wp-block-image.size-medium img {
  width: 100px;
} */

/* .nerd_front > a {
  display: block;
} */

/* NERD PAGE */

.nerd_page {
  display: grid;
  grid-template-rows: repeat(5, 12vw);
  grid-template-columns: repeat(5, 12vw);
  gap: 0.2rem;
  grid-auto-flow: dense;
  font-family: ui-monospace, 'Cascadia Code', 'Source Code Pro', Menlo, Consolas, 'DejaVu Sans Mono', monospace;
}

.mobile .nerd_page {
  grid-template-columns: repeat(3, 31vw);
  grid-template-rows: repeat(5, 31vw);
}

.nerd_preview {
  position: relative;
}

.nerd_preview.in_white {
  color: white;
}

.nerd_preview.square {
  grid-column: span 1;
  grid-row: span 1;
}

.nerd_preview.square.doppelt {
  grid-column: span 2;
  grid-row: span 2;
}

.nerd_preview.landscape {
  grid-column: span 2;
  grid-row: span 1;
}

.nerd_preview.potrait {
  grid-column: span 1;
  grid-row: span 2;
}

.nerd_page img {
  padding-right: 0;
  margin: 0;
  height: 100%;
  width: 100%;
  object-fit: cover;
  padding: 0;
  transition: filter 0.3s;
}

.nerd_preview:hover img {
  filter: opacity(0.2);
}

.nerd_preview.in_white:hover img {
  filter: brightness(0.2);
}

.nerd_page .wp-block-image {
  display: flex;
  flex-direction: column;
  margin-bottom: 22px;
  align-items: flex-end;
}

.nerd_preview h2 {
  font-size: 1.4rem;
  opacity: 0;
  position: absolute;
  inset: 0;
  display: flex;
  justify-content: center;
  align-items: center;
}

.nerd_preview:hover h2 {
  opacity: 1;
}

.atc_title {
  position: absolute;
  bottom: 0;
  width: 100%;
  padding: 0.3rem 0;
  text-align: center;
  text-wrap: balance;
  z-index: 1;
}

/* FOOTER */

footer {
  grid-column: 1/4;
  grid-row: 5;
  height: 100vh;
  width: 100%;
  display: grid;
  grid-template-rows: 60vh 40vh;
  grid-template-columns: min-content 1fr;
  color: black;
  background: #e0e0e0;
  overflow: hidden;
  z-index: 1;
}

.footer_content {
  grid-row: 2;
  grid-column: 2;
  display: grid;
  grid-template-columns: 2fr 5fr 1fr 3fr 3fr 6vh;
  grid-gap: 2vw;
  align-items: flex-end;
  padding: 1vw;
  background: #fff6ab;
}

.nerdstuff a::after {
  content: unset;
}

.page_default footer {
  height: unset;
  display: block;
  padding: 2vw calc(2vw + 4vh);
}

footer,
.footer_c_item p {
  font-size: 12px;
  line-height: 15px;
  margin: 0;
}

.footer_c_item h4 {
  writing-mode: tb;
  transform: rotate(180deg);
  text-align: right;
}

.footer_c_item img {
  width: 70%;
}

.footer_c_item .wp-block-image {
  margin: 0 0 1em;
  margin: 0;
}

.footer_c_item figcaption {
  width: 80px;
  hyphens: auto;
}

.menu-footer-menue-container ul,
.menu-footer-menu-en-container ul {
  list-style: none;
  margin: 0;
  padding: 0;
}

/* .menu-footer-menue-container ul li:nth-last-of-type(2),
.menu-footer-menu-en-container ul li:nth-last-of-type(2) {
  margin-top: 15px;
} */

.menu-footer-menue-container ul li a,
.menu-footer-menu-en-container ul li a {
  letter-spacing: 1.2px;
  font-weight: lighter;
  font-size: 0.66rem;
}

#the_simulator {
  background: #fff;
}

.wp-block-image.size-large,
.wp-block-image.size-full {
  position: relative;
  margin: 8px;
}

footer .is-style-rounded img {
  max-width: unset;
  width: 100%;
  /* transform: scale(0.5); */
  /* transform-origin: top right; */
  /* transform: scale(1) translateY(0%); */
  /* filter: grayscale(1) contrast(0.9) brightness(1.2); */
  /* transition: transform 0.5s ease, filter 0.5s ease; */
  z-index: 1;
  position: relative;
  top: 0;
  right: 0;
}

/* footer .is-style-rounded img:hover {
  transition: transform 2s ease, filter 2s ease;
  filter: grayscale(1) contrast(1) brightness(1);
  transform: scale(2) translate(25%, -50%);
} */

/* CHANGE PARENTS */

.footer_content {
  background: white;
}

#backdrop_funf {
  background: #e0e0e0;
}

#backdrop_funf,
.footer_content {
  transition: background 0.5s ease;
}

.bildhover #backdrop_funf,
.bildhover .footer_content {
  background: #90b292;
  background: #7fabc3;
  background: lightblue;
  transition: background 2s ease;
}

.footer_c_item {
  transition: color 0.5s ease;
}

.footer_c_item .wp-block-image.size-medium {
  margin: 0 0 1em;
  margin: 0;
  width: 110px;
  flex-shrink: 0;
}

.footer_c_item .wp-block-image.size-medium a::after,
div.footer_c_item:nth-child(2) > a::after {
  content: unset;
}

.menu-footer-menue-container ul li a {
  transition: color 0.5s ease;
}

.bildhover .footer_c_item a {
  opacity: 1;
  transition: opacity 0.5s ease;
}

.bildhover .footer_c_item {
  color: #90b292;
  color: #7fabc3;
  color: lightblue;
  transition: color 2s ease;
}

.bildhover .footer_c_item a {
  opacity: 0;
  transition: opacity 2s ease;
}

.bildhover .menu-footer-menue-container ul li a {
  color: #90b292;
  color: #7fabc3;
  color: lightblue;
  transition: color 2s ease;
}

/* Desktop */
@media only screen and (max-width: 1400px) and (min-height: 1000px) {
  .kunden_ubersicht {
    grid-template: repeat(5, 1fr) / repeat(auto-fit, minmax(8vh, 1fr));
  }
}

/* iPad */
@media only screen and (max-width: 768px) {
  .wpcf7-form ul#allContacts,
  .wpcf7-form ul#alleKontakte {
    flex-wrap: wrap;
  }
}

/* ALLE KUNDEN */

.alleKunden {
  align-self: flex-end;
  justify-self: center;

  grid-column: span 2;
}

.alleKunden a {
  padding: 42px;
  display: block;
  font-weight: bold;
  opacity: 0.4;
  transition:
    opacity 0.4s ease,
    filter 0.2s ease;
}

.alleKunden a:hover {
  filter: blur(0);
  opacity: 1;
}

.alleKunden a::after {
  content: ' \279C';
  font-size: 0.8rem;
}

/* ALL CLIENTS 23 */

#all_clients_by_year {
  grid-column: 1/-2;
  margin: 24vh 10vw 3vh 10vw;
  align-self: flex-start;
  width: 50vw;
  display: grid;
  grid-template-columns: auto auto;
  grid-column-gap: 2vw;
  justify-content: flex-start;
}

#all_clients_by_year > * {
  grid-column: 2;
}

#all_clients_by_year > *:last-child {
  margin-bottom: 12vh;
}

#all_clients_by_year > .one_year {
  grid-column: 1;
}

#the_month {
  font-size: 51px;
  grid-column: 1/-1;
  margin-bottom: 2rem;
  opacity: 0.8;
  filter: blur(2px);
  font-weight: bold;
  margin-left: -2px;
  margin-top: 30vh;
}

.mobile #the_month {
  display: none;
}

.one_year {
  font-size: 28px;
  border-left: none;
  border-right: none;
  margin: 0;
  padding: 0;
  border-top: none;
  position: sticky;
  top: 3vh;
  background: hsla(0, 0%, 100%, 0.5);
  backdrop-filter: blur(1px);
  font-weight: bold;
}

.mobile .one_year {
  font-size: 48px;
  top: 53px;
  z-index: -1;
}

.one_client,
.one_client.simmy {
  display: grid;
  grid-template-columns: 11rem 1fr;
  grid-template-rows: min-content 1fr;
  grid-column-gap: 2vw;
  align-items: flex-start;
  margin-bottom: 2vw;
}

.one_client.simmy h3::after {
  content: unset;
}

#all_clients_by_year img {
  width: 100%;
  height: auto;
  border: 0.5px solid #ececec;
}

#all_clients_by_year .klein img {
  width: 50%;
  margin-left: 25%;
}

#all_clients_by_year p {
  margin: 0;
  font-size: 11px;
  line-height: 14px;
}

#all_clients_by_year h3 {
  margin: 0 0 4px;
}

#all_clients_by_year .client_link,
.m_img_wrap.client_link {
  grid-row: 1/-1;
  grid-column: 1;
}

#all_clients_by_year a.client_link {
  display: block;
  justify-self: stretch;
  align-self: stretch;
}

.m_img_wrap.client_link {
  max-height: unset;
  height: 8.8rem;
  margin: 0;
  box-shadow: none;
  border-radius: 0;
}

.client_content {
  margin-top: 0.1rem;
}

#project_filter {
  grid-column: -2;
  align-self: flex-end;
  justify-self: flex-start;
  grid-row: 1;
  display: grid;
  grid-template-columns: auto auto;
  margin-bottom: 2vh;
  position: sticky;
  top: 14vh;
  margin-left: 3vw;
}

#project_filter h3 {
  grid-column: 1/-1;
  margin: 1rem 0 0.2rem 0;
}

/* External Link */

.ext_link_button {
  display: inline-block;
  width: 0.7rem;
  height: 0.7rem;
  background-color: red;
  background: url(../img/icon-external.svg) center / 90% no-repeat;
  position: relative;
  top: 1px;
  left: 5px;
}

/* Radio button */

input[type='radio'] {
  -webkit-appearance: none;
  appearance: none;
  background-color: #fff;
  margin: 6px 6px 6px 0;
  height: 10px;
  width: 10px;
  border: 1px solid #000;
  position: relative;
  max-width: unset !important;
  align-self: center;
  border-radius: 50%;
  animation: pulse 0.2s ease 0.2s 1;
  transform-origin: center;
  transition: background-color 0s 0.3s;
}

input[type='radio']:checked {
  animation: pulse_back 0.4s ease 0s 1;
  transition: background-color 0s 0.2s;
  background-color: #000;
}

@keyframes pulse {
  50% {
    transform: scale(0.2);
  }
  100% {
    transform: scale(1);
  }
}

@keyframes pulse_back {
  50% {
    transform: scale(0.2);
  }
  100% {
    transform: scale(1);
  }
}

#project_filter label,
#project_filter .label_wrap {
  align-self: center;
  cursor: pointer;
}

#project_filter input {
  justify-self: flex-start;
  cursor: pointer;
}

#project_filter #pf_entwickler,
#project_filter label[for='pf_entwickler'] {
  cursor: not-allowed;
}

/* ##### Smartphone #### */

body.mobile {
  padding-top: 0;
  display: block;
  scroll-snap-type: unset;
  overflow-y: scroll;
  scroll-behavior: unset;
  position: relative;
}

#headerBlackline {
  position: fixed;
  top: 12px;
  left: 0;
  width: 100vw;
  height: 3px;
  background: black;
  z-index: 2010;
}

#headerMenuButton {
  position: fixed;
  height: 46px;
  top: 0;
  left: 0;
  width: 100vw;
  background: transparent;
  border: none;
  z-index: 4000;
}

#mobArrowUp {
  position: fixed;
  top: 45px;
  left: calc(50vw - 32px);
  width: 64px;
  height: 64px;
  padding-top: 5px;
  font-size: 52px;
  transform: rotate(-90deg);
  color: black;
  display: flex;
  justify-content: center;
  align-items: center;
  z-index: 4000;
}

#mobArrowDown {
  position: fixed;
  bottom: 35px;
  left: calc(50vw - 32px);
  width: 64px;
  height: 64px;
  display: flex;
  justify-content: center;
  align-items: center;
  font-size: 52px;
  transform: rotate(90deg);
  color: black;
  z-index: 4000;
}

/* NAVI */

.mobile nav {
  position: fixed;
  top: 212px;
  left: 8px;
  width: 100%;
  z-index: 2010;
}

.mobile nav ul {
  height: 120px;
  padding: 20px 2vw 2vw 0;
  list-style: none;
  margin: 0;
}

.mobile nav li {
  top: 12px;
  position: absolute;
  font-weight: bold;
  filter: blur(0px);
  transition:
    opacity 0.4s ease,
    filter 0.2s ease,
    top 0.4s ease,
    height 0.4s ease;
  overflow: hidden;
}

.mobile nav.packed {
  pointer-events: none;
}

.mobile nav.packed li.active {
  opacity: 1 !important;
  top: 12px !important;
}

.mobile nav li:nth-of-type(1) {
  top: 12px;
}
.mobile nav li:nth-of-type(2) {
  top: 39px;
}
.mobile nav li:nth-of-type(3) {
  top: 66px;
}
.mobile nav li:nth-of-type(4) {
  top: 93px;
}
.mobile nav li:nth-of-type(5) {
  top: 120px;
}

.mobile #kontakt_links li a {
  filter: blur(0px);
  opacity: 1;
  font-weight: bold;
}

.mobile #side_tag {
  position: static;
  height: 100vh;
}

.mobile #side_tag > span {
  display: block;
  height: 36px;
  filter: blur(0px);
  opacity: 0.9;
  font-size: 42px;
  position: fixed;
  transition: none;
  transform-origin: unset !important;
  writing-mode: unset;
  z-index: 2010;
  transform: rotate(270deg);
  text-align: right;
}

.mobile .sidetagbackdrop {
  position: fixed;
  top: 0;
  left: 0;
  width: 100vw !important;
  background: white;
  z-index: 2000;
  height: 45px;
  opacity: 1;
}

.mobile #side_tag > span:nth-of-type(1) {
  transform-origin: bottom;
  transform-origin: top;
  width: 363px;
  right: -152px;
  top: 172px;
}

.mobile #side_tag > span:nth-of-type(2) {
  right: 0px;
  top: 228px;
  transform-origin: center;
  width: 138px;
}

.mobile #side_tag > span:nth-of-type(3) {
  right: -12px;
  top: 72px;
  width: 162px;
}

.mobile #side_tag > span:nth-of-type(4) {
  right: -104px;
  top: 204px;
  text-transform: uppercase;
  width: 426px;
}

.mobile #side_tag > span:nth-of-type(5) {
  right: 136px;
  top: 10px;
  font-size: 36px;
  letter-spacing: -1.2px;
  text-transform: none;
  writing-mode: unset;
  transform: scale(0.6);
  text-align: center;
  height: 42px;
  width: 170px;
}

.mobile #lang_switch {
  position: relative;
  left: unset;
  height: unset;
}

.mobile #lang_switch li.lang-item {
  top: -210px;
}

.mobile #lang_switch li.current-lang {
  top: -236px;
}

.mobile #kontakt_links {
  right: unset !important;
  left: unset;
  bottom: unset;
  position: relative;
  margin-top: 22px;
}

.mobile #kontakt_links li {
  max-height: unset;
}

.mobile #kontakt_links li a {
  padding: 9px 2px 4px 0px;
}

/* KUNDEN */

.m_kunde {
  position: relative;
  display: flex;
  flex-direction: column;
  align-items: center;
  margin-bottom: 22px;
}

.m_kunde img {
  height: auto;
  max-width: 100%;
  width: auto;
  margin-bottom: -8px;
}

.m_img_wrap {
  position: relative;
  width: auto;
  overflow: hidden;
  box-shadow:
    0 0 0 2px lightgrey,
    0 0 0 3vw white,
    0 0 0 calc(3vw + 2px) lightgrey;
  border-radius: 12px;
  margin: calc(3vw + 8px);
  box-sizing: border-box;
}

.m_img_wrap {
  max-height: 64vw;
  overflow-y: scroll;
  pointer-events: none;
}

/* Hide scrollbar for Chrome, Safari and Opera */
.m_img_wrap::-webkit-scrollbar {
  display: none;
}

/* Hide scrollbar for IE, Edge and Firefox */
.m_img_wrap {
  -ms-overflow-style: none; /* IE and Edge */
  scrollbar-width: none; /* Firefox */
}

.m_img_wrap.fichsed {
  max-height: unset;
  overflow-y: hidden;
}

.m_img_wrap.fichsed.smartphone {
  max-width: 65vw;
}

.m_kunde:nth-child(8) {
  margin-top: 18vh;
}

.m_kunde h3 {
  width: 100%;
  margin: 0;
  padding: 42px 8px 32px 8px;
  box-sizing: border-box;
  justify-self: flex-start;
  white-space: nowrap;
  overflow: hidden;
}

.m_kunde h3::after {
  content: '\2015\2015\2015\2015\2015\2015\2015\2015\2015\2015\2015\2015\2015\2015\2015\2015\2015\2015\2015\2015\2015\2015\2015\2015\2015\2015\2015\2015\2015\2015\2015\2015\2015\2015\2015\2015\2015\2015\2015\2015\2015\2015\2015\2015\2015\2015\2015\2015\2015\2015\2015\2015\2015\2015\2015\2015\2015\2015\2015\2015\2015\2015\2015\2015\2015\2015\2015\2015';
  margin-left: 6px;
  letter-spacing: -6px;
  font-size: 16px;
}

.m_kunde p {
  padding: 0 8px;
  margin-top: 8px;
}

.m_k_content {
  position: relative;
}

.m_read_more {
  width: 100%;
  display: flex;
  justify-content: space-evenly;
  align-items: center;
  height: 40px;
  position: relative;
  text-shadow: 0px 0px 10px white;
}

.m_read_more a,
.m_read_more button {
  line-height: 20px;
  font-size: 12px;
  letter-spacing: 0.5px;
  background: transparent;
  border: none;
  text-decoration: underline;
}

.mobile .alleKunden a {
  filter: none;
  opacity: 1;
  text-align: center;
}

/* PAGES */

.m_page_two {
  display: grid;
  grid-template: auto / 1fr;
  width: 100vw;
  justify-content: center;
  align-items: center;
  overflow-x: hidden;
}

.mobile #service {
  grid-column: 1;
  grid-row: 1;
  width: 100vw;
  height: 50vh;
  margin-bottom: -25vh;
  padding-top: 62px;
}

@media screen and (orientation: landscape) {
  .mobile #service {
    grid-column: 1;
    grid-row: 1;
    width: 60vw;
    height: 90vh;
    margin-bottom: -85vh;
    padding-top: 62px;
    margin-left: 40vw;
  }
}

.mobile #backdrop_content {
  grid-column: 1;
  width: 86%;
  margin-top: 20vh;
  padding: 0;
}

.mobile #backdrop_content_2 {
  grid-column: 1;
  grid-row: 3;
  padding: 0 0 22px 8px;
  width: 100%;
  display: flex;
}

.mobile .next_content ul {
  list-style: none;
  width: 100%;
  display: block;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
}

.mobile #fokus {
  grid-column: 1;
  grid-row: 1;
  width: 120%;
  height: 39vh;
}

.mobile #fokus::before {
  content: '';
  width: 100%;
  height: 48px;
  background: white;
  position: absolute;
  z-index: 1;
}

.mobile #backdrop_zwei_content {
  grid-column: 1;
  width: 100%;
  margin-left: 0;
}
.mobile .next_content h2,
.mobile .next_content p {
  padding-left: 8px;
  padding-right: 8px;
}

.mobile #backdrop_vier_content {
  width: 100%;
  margin-left: 0;
  margin-top: 72px;
}

.mobile .wpcf7-form ul#allContacts,
.mobile .wpcf7-form ul#alleKontakte {
  padding: 0;
  margin: 0 8px;
  box-sizing: border-box;
  width: calc(100vw - 16px);
}

.mobile .wpcf7-form ul#allContacts li,
.mobile .wpcf7-form ul#alleKontakte li {
  padding: 0;
  margin: 0;
}

.mobile .wpcf7-form ul#allContacts p,
.mobile .wpcf7-form ul#alleKontakte p {
  padding: 0;
  margin: 0;
}

.mobile .wpcf7-form ul#allContacts,
.mobile .wpcf7-form ul#alleKontakte {
  display: grid;
  justify-content: center;
  grid-template-columns: 1fr 1fr;
}

.mobile .next_content a::after,
.mobile .footer_c_item a::after {
  filter: none;
}

/* CONTACT */

.mobile #allContacts li div,
.mobile #alleKontakte li div {
  margin-bottom: 32px;
}

.mobile #allContacts li a div::after,
.mobile #alleKontakte li a div::after {
  width: 88%;
  filter: none;
}

.mobile .wpcf7-form ul#allContacts.verschoben,
.mobile .wpcf7-form ul#alleKontakte.verschoben {
  display: none;
}

.mobile #kontakt {
  height: unset;
}

.mobile #the_backdrop_vier {
  height: 80%;
  width: 110%;
  top: 70%;
}

@media screen and (orientation: landscape) {
  .mobile #the_backdrop_vier {
    top: 70%;
  }
}

.mobile #backdrop_vier_content {
  margin-bottom: 62px;
}

.mobile .wpcf7-form {
  height: unset;
  margin-bottom: 50vh;
  grid-template-columns: 1fr;
}

.mobile .wpcf7-form > p:nth-of-type(2) {
  grid-row: 3;
  grid-column: 1;
  margin: 10px 0;
}

.mobile .wpcf7-form > p:nth-of-type(3) {
  grid-row: 2;
  grid-column: 1;
}

.mobile .wpcf7-form > p:nth-of-type(4) {
  grid-row: 4;
}

.mobile .wpcf7-form > p:nth-of-type(5) {
  grid-row: 5;
  grid-column: 1;
}

.mobile .your-consent label {
  margin-right: 12px;
}

.mobile .captcha-image svg {
  width: 50px !important;
  height: 50px !important;
}

.mobile .captcha-image label {
  width: 80px !important;
}

.mobile .wpcf7-email,
.mobile .wpcf7-textarea,
.mobile .wpcf7-submit,
.mobile .captcha-image {
  border: 1px solid #000 !important;
}

/* ALLE KUNDEN */

.mobile #all_clients_by_year {
  margin: 30vh 2vw 2vw;
  padding-top: 50vw;
  grid-template-columns: 100%;
  grid-row-gap: 9vw;
  width: 96vw;
}

.mobile #all_clients_by_year > * {
  grid-column: 1;
}

.mobile .one_client {
  grid-template-columns: 46vw 1fr;
}

/* FOOTER */

.mobile footer {
  grid-column: 1;
  grid-row: 5;
  height: unset;
  width: 100%;
  display: grid;
  grid-template-rows: auto 50vh;
  grid-template-columns: 1fr 1fr;
  color: black;
  background: white;
  padding-top: 72px;
}

.mobile .footer_content {
  grid-row: 1;
  grid-column: 1;
  display: flex;
  grid-template-columns: 1fr;
  grid-gap: 0;
  padding: 8px;
  flex-direction: column;
  box-sizing: border-box;
  width: 100vw;
}

.mobile .menu-footer-menue-container,
.mobile .menu-footer-menu-en-container {
  width: 100%;
  margin-top: 12px;
  grid-column: 1;
}

.mobile .menu-footer-menue-container ul,
.mobile .menu-footer-menu-en-container ul {
  height: 24px;
  display: flex;
  justify-content: space-evenly;
  width: 100%;
}

.mobile .menu-footer-menue-container ul li,
.mobile .menu-footer-menu-en-container ul li {
  height: 32px;
  display: inline;
  margin-top: 0 !important;
}

.mobile .footer_c_item {
  width: 100%;
}

.mobile .wp-block-image.size-large,
.mobile .wp-block-image.size-full {
  text-align: right;
  height: 120px;
  width: 100%;
}

.mobile #backdrop_funf {
  grid-row: 2;
  background: #e0e0e0;
  overflow: hidden;
}

.mobile .footer_c_item:nth-child(2) {
  display: block;
  overflow-x: unset;
}

.mobile .footer_c_item.nerdstuff {
  display: flex;
  overflow-x: scroll;
  /* -webkit-overflow-scrolling: touch; */
  width: 100%;
  min-height: 160px;
}

.mobile footer .is-style-rounded img {
  transition:
    transform 3s ease,
    filter 3s ease;
  position: absolute;
  top: 0;
  right: 0;
  transform: scale(0.3) translateY(0%);
  filter: grayscale(0) contrast(0.8) brightness(1.2);
}

.mobile .kunden_ubersicht {
  grid-template: repeat(4, 1fr) / repeat(auto-fit, minmax(60px, 1fr));
}

.mobile .sim_info_wrap.dont_right {
  opacity: 0;
}

.mobile #main_wrap nav {
  right: 10vh;
}

.mobile #main_wrap nav {
  right: 14vh;
}

@media only screen and (max-width: 810px) and (min-width: 415px) {
  .mobile .wp-block-image img {
    max-width: 90%;
  }

  .mobile footer .is-style-rounded img {
    max-width: 24%;
  }

  .mobile #backdrop_content {
    width: 56%;
    margin-top: 17vh;
  }

  .mobile footer.thisistheend .is-style-rounded img {
    transform: scale(1.5) translate(-30%, 30%);
  }

  .mobile .menu-footer-menue-container ul {
    height: 24px;
  }

  .mobile .footer_content {
    padding: 18px;
  }

  .mobile .wpcf7-form ul#allContacts,
  .mobile .wpcf7-form ul#alleKontakte {
    margin: 0 18px;
  }

  .mobile .next_content h2,
  .mobile .next_content p {
    padding-left: 18px;
    padding-right: 18px;
  }

  .mobile #backdrop_content_2 {
    padding: 0 0 22px 18px;
  }

  .m_kunde p {
    padding: 0 18px;
  }

  .m_kunde h3 {
    padding: 12px 18px;
  }

  .m_img_wrap {
    margin: calc(3vw + 18px);
  }

  .mobile nav {
    left: 18px;
  }
}

/* fin */
