[data-theme="light"],
:root:not([data-theme="dark"]) {
  --header-shadow: rgba(245, 252, 255, 0.95);
  --pico-h4-color: #202328;
  --pico-color: #202328;
  --background-2: oldlace;
}

@font-face {
  font-display: swap;
  font-family: 'Figtree';
  font-style: normal;
  font-weight: 400;
  src: url('./fonts/figtree-v5-latin-regular.woff2') format('woff2');
}

@font-face {
  font-display: swap;
  font-family: 'Figtree';
  font-style: italic;
  font-weight: 400;
  src: url('./fonts/figtree-v5-latin-italic.woff2') format('woff2');
}

@font-face {
  font-display: swap;
  font-family: 'Figtree';
  font-style: normal;
  font-weight: 700;
  src: url('./fonts/figtree-v5-latin-700.woff2') format('woff2');
}

@font-face {
  font-display: swap;
  font-family: 'Figtree';
  font-style: italic;
  font-weight: 700;
  src: url('./fonts/figtree-v5-latin-700italic.woff2') format('woff2');
}

.shade-block {
  display: inline-block;
  background-color: var(--header-shadow);
  padding: 0.3rem;
  border-radius: 5px;
}

.shade {
  text-shadow:0 0 1rem rgba(0, 0, 0, 0.7);
  padding: 0;
}

.header-shadow {
  background-color: var(--header-shadow);
  padding-block: var(--pico-block-spacing-vertical);
  margin-bottom: 5rem;

}

.color-highlight {
  color: orangered !important;
}

.highlight {
  display: inline-block;
  background-color: orangered !important;
  color: white !important;
  padding: 0.3rem;
}

.hero1 {
  background-image: url('./img/alltag-erleichtern.jpg');
  background-size: cover;
  background-position: center center;
  padding: 0 0 14rem 0;
  margin: 0;
}

.hero {
  padding: 2.5rem 0;
  margin: 0;
}

.hero.contrast {
  background-color: orangered;
}

.hero.contrast p, .hero3.contrast h4 {
  color: white;
}

.center {
  text-align: center;
}

.block {
  padding: 3rem;
}

.pb0 { padding-bottom: 0; }

.mt4 { margin-top: 4rem; }
.mt3 { margin-top: 3rem; }
.mt2 { margin-top: 2rem; }
.mt1 { margin-top: 1rem; }
.mt0 { margin-top: 0; }


.sp4 { padding: 4rem 0; }
.sp3 { padding: 3rem 0; }
.sp2 { padding: 2rem 0; }
.sp1 { padding: 1rem 0; }

.p4 { padding: 4rem; }
.p3 { padding: 3rem; }
.p2 { padding: 2rem; }
.p1 { padding: 1rem; }
.p05 { padding: 0.5rem; }
.p0 { padding: 0; }


.pt3 { padding-top: 3rem; }
.pt2 { padding-top: 2rem; }

.bg2 { background-color: var(--background-2); }

.skip-link {
  position: absolute;
  top: -45px;
  left: 0;
  background-color: var(--pico-background-color);
  padding: 8px;
  text-decoration: none;
  z-index: 100;
}

.skip-link:focus {
  top: 0;
  /* outline: solid 3px orangered; */
  border-radius: 3px;
}

::selection {
  background-color: orangered;
  color: #fff;
}

:focus {
  outline-color: dodgerblue;
  outline-offset: 4px;
}

html, body {
  background-color: #fffbf2;
  color: rgb(15,17,18);
}

body, h1, h2, h3, h4, h5, h6 {
  font-family: 'Figtree', sans-serif;
}

h3, h4, h5 {
  margin-bottom: 0.6rem;
}

hgroup > * {
  margin-bottom: 0.2rem;
}

a:not(.secondary):link {
  color: orangered;
}

a:not(.secondary):visited {
  color: orangered;
}

a:not(.secondary):hover {
  color: orangered;
  /* border-bottom: 2px solid rgb(15,17,18); */
}

a:not(.secondary):active {
  color: rgb(209, 0, 0);
}


section h2 {
  padding-top: 2rem;
}

h1 a, h2 a, h3 a, h4 a, h5 a, h6 a  {
  display: inline-block;
  padding-left: 0.2rem;
  visibility: hidden;
  filter: grayscale();
  opacity: 0.5;
  text-decoration: none;
}

h2:hover a, h3:hover a, h4:hover a, h5:hover a, h6:hover a {
  visibility: visible;
}

button {
  display: block;
}

label{
  display: block;
  padding: 1rem 0;
}

input, textarea {
  display: block;
  width: 100%;
  padding: 1rem;
  margin-top: 0.5rem;
  /*border: 3px solid rgba(250, 128, 114, 0.234);*/
  border-radius: 0.5rem;
  font-family: inherit;
  font-size: inherit;
  font-weight: inherit;
  line-height: inherit;
  color: inherit;
  background-color: #fff;
}

.flex {
  display: flex;
}

.wrap {
  flex-wrap: wrap;
}

.space-between {
  justify-content: space-between;
}

.align-right {
  text-align: right;
}

.disable-select {
  user-select: none;
}

.muted {
  opacity: 0.5;
}

.dark { display: none; }

.photo {
  width: 150px;
  height: 150px;
  border-radius: 100%;
  outline: 0;
}

.thumb {
  max-height: 400px;

}

.logo {
  display: flex;
  align-items: center;
}

.logo img {
  margin: 3px;
  height: 40px;
  width: auto;
}


.tech-logos {
  display: flex;
  flex-direction: column;
  justify-content: center;

}

.tech-logos>div {
  display: flex;
  justify-content: center;
  max-width: 100%;
  flex-wrap: wrap;
}

.tech-logos img {
  height: 4rem;
  background-color: white;
  border-radius: 5px;
  margin: 0.5rem;
}

.tech-logos>.large>img {
  height: 8rem;
}

.circle {
  border-radius: 100% !important;
}

button[type="submit"] {
  width: auto;
  color: white;
  background-color: orangered;
  border-radius: 1.5rem;
  border: none;
  font-size: large;
  padding: 0.7rem 3rem;
  cursor: pointer;
  box-shadow: 2px 2px 3px 1px rgba(83, 54, 0, 0.325);
  margin: 1rem 0;
  font-family: inherit;
  touch-action: manipulation;
  transition: box-shadow .2s, transform .1s, background-color .1s;
  user-select: none;
}

button[type="submit"]:active {
  background-color: rgb(235, 63, 0);
  transform: scale(.98);
}
button[type="submit"]:hover {
  background-color: rgb(238, 64, 0);
}

body>footer {
  margin-top: 1rem;
  background-color: var(--background-2);
}

footer .logo img {
  height: 34px;
  margin: 1rem 0;
}

.current {
  text-decoration: underline !important;
}

.copyright {
  background-color: orangered;
  text-align: center;
  color: white;
  font-size: small;
  padding: 2px;
  /* border-top: rgb(49, 55, 69) solid 2px;
  border-top: rgb(72, 78, 97) solid 2px;*/
  border-top: orange solid 3px;
}

.only-mobile {
  display: none;
}


@media only screen and (max-width: 1280px ) {
  header nav {
    flex-direction: column;
    display: block;
    width: 100%;
  }

  header .menu {
    flex-wrap: wrap;
    text-align: center;
    align-items: center;
    justify-content: space-evenly;
  }

  header li {
    padding: 0;
  }

  header li a {
    display: block;
    padding: 0.9rem 1rem;
  }

  header .logo {
    width: 100%;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 0.3rem 1rem;
  }

  footer li {
    padding: 0.3rem 1rem;
  }

  .logo img {
    height: 40px;
  }

  .only-mobile {
    display: block;
  }

  .hide-mobile {
    display: none;
  }
}

@media only screen and (max-width: 1024px ) {
  .logo img {
    height: 30px;
  }
}

@media only screen and (prefers-color-scheme: dark) {
  :root:not([data-theme]) {
    --header-shadow: rgba(0, 0, 0, 0.85);
    --pico-h4-color: #dee3ed;
    --pico-color: #dee3ed;
    --background-2: #294245;
  }

  textarea, input {
    background-color: rgb(28,33,44)
  }

  html, body {
    background-color: #0e1718;
    color: #f8fafc;
  }

  .tech-logos img {
    background-color: rgb(35, 40, 51);
  }

  .dark { display: block }
}

.glitch-wrapper {
   display: flex;
   width: 100%;
   align-items: center;
   gap: 0.3rem;
   justify-content: center;
}

.glitch {
   position: relative;
   animation: shift 4s ease-in-out infinite alternate;
   z-index: 1;
}

@media (prefers-reduced-motion: reduce) {
  .glitch { animation: none; }
  .glitch:before { display: none; }
  .glitch:after { display: none; }
}

.glitch:before {
   content: attr(data-glitch);
   position: absolute;
   top: 0;
   left: -2px;
   text-shadow: -2px 0 #00ffb6;
   width: 100%;
   overflow: hidden;
   clip: rect(0, 900px, 0, 0);
   animation: noise-before 5s infinite linear alternate-reverse;
}

.glitch:after {
   content: attr(data-glitch);
   position: absolute;
   top: 0;
   left: 2px;
   text-shadow: 2px 0 #ff0084;
   width: 100%;
   overflow: hidden;
   clip: rect(0, 900px, 0, 0);
   animation: noise-after 5s infinite linear alternate-reverse;
}

@keyframes noise-before {
   0% {
      clip: rect(61px, 9999px, 52px, 0);
   }

   5% {
      clip: rect(33px, 9999px, 144px, 0);
   }

   10% {
      clip: rect(121px, 9999px, 115px, 0);
   }

   15% {
      clip: rect(144px, 9999px, 162px, 0);
   }

   20% {
      clip: rect(62px, 9999px, 180px, 0);
   }

   25% {
      clip: rect(34px, 9999px, 42px, 0);
   }

   30% {
      clip: rect(147px, 9999px, 179px, 0);
   }

   35% {
      clip: rect(99px, 9999px, 63px, 0);
   }

   40% {
      clip: rect(188px, 9999px, 122px, 0);
   }

   45% {
      clip: rect(154px, 9999px, 14px, 0);
   }

   50% {
      clip: rect(63px, 9999px, 37px, 0);
   }

   55% {
      clip: rect(161px, 9999px, 147px, 0);
   }

   60% {
      clip: rect(109px, 9999px, 175px, 0);
   }

   65% {
      clip: rect(157px, 9999px, 88px, 0);
   }

   70% {
      clip: rect(173px, 9999px, 131px, 0);
   }

   75% {
      clip: rect(62px, 9999px, 70px, 0);
   }

   80% {
      clip: rect(24px, 9999px, 153px, 0);
   }

   85% {
      clip: rect(138px, 9999px, 40px, 0);
   }

   90% {
      clip: rect(79px, 9999px, 136px, 0);
   }

   95% {
      clip: rect(25px, 9999px, 34px, 0);
   }

   100% {
      clip: rect(173px, 9999px, 166px, 0);
   }
}

@keyframes noise-after {
   0% {
      clip: rect(26px, 9999px, 33px, 0);
   }

   5% {
      clip: rect(140px, 9999px, 198px, 0);
   }

   10% {
      clip: rect(184px, 9999px, 89px, 0);
   }

   15% {
      clip: rect(121px, 9999px, 6px, 0);
   }

   20% {
      clip: rect(181px, 9999px, 99px, 0);
   }

   25% {
      clip: rect(154px, 9999px, 133px, 0);
   }

   30% {
      clip: rect(134px, 9999px, 169px, 0);
   }

   35% {
      clip: rect(26px, 9999px, 187px, 0);
   }

   40% {
      clip: rect(147px, 9999px, 137px, 0);
   }

   45% {
      clip: rect(31px, 9999px, 52px, 0);
   }

   50% {
      clip: rect(191px, 9999px, 109px, 0);
   }

   55% {
      clip: rect(74px, 9999px, 54px, 0);
   }

   60% {
      clip: rect(145px, 9999px, 75px, 0);
   }

   65% {
      clip: rect(153px, 9999px, 198px, 0);
   }

   70% {
      clip: rect(99px, 9999px, 136px, 0);
   }

   75% {
      clip: rect(118px, 9999px, 192px, 0);
   }

   80% {
      clip: rect(1px, 9999px, 83px, 0);
   }

   85% {
      clip: rect(145px, 9999px, 98px, 0);
   }

   90% {
      clip: rect(121px, 9999px, 154px, 0);
   }

   95% {
      clip: rect(156px, 9999px, 44px, 0);
   }

   100% {
      clip: rect(67px, 9999px, 122px, 0);
   }
}

@keyframes shift {
   0%, 40%, 44%, 58%, 61%, 65%, 69%, 73%, 100% {
      transform: skewX(0deg);
   }

   41% {
      transform: skewX(10deg);
   }

   42% {
      transform: skewX(-10deg);
   }

   59% {
      transform: skewX(8deg) skewY(5deg);
   }

   60% {
      transform: skewX(-8deg) skewY(-3deg);
   }

   63% {
      transform: skewX(10deg) skewY(-5deg);
   }

   70% {
      transform: skewX(-8deg) skewY(-5deg);
   }

   71% {
      transform: skewX(8deg) skewY(-8deg);
   }
}

.hidden {display: none;}
