﻿/*
 * Webseitenschutz - style.css (utf-8)
 * - https://werner-zenk.de
 */

@charset "UTF-8";

:root {
  --font-family: system-ui, -apple-system, "Segoe UI", "Roboto", "Ubuntu", "Cantarell", "Noto Sans", "Verdana", "Arial",
    sans-serif;
  --size-300: clamp(0.7rem, 0.66rem + 0.2vw, 0.8rem);
  --size-400: clamp(0.88rem, 0.83rem + 0.24vw, 1rem);
  --size-500: clamp(1.09rem, 1rem + 0.47vw, 1.33rem);
  --size-600: clamp(1.37rem, 1.21rem + 0.8vw, 1.78rem);
  --size-700: clamp(1.71rem, 1.45rem + 1.29vw, 2.37rem);
  --size-800: clamp(2.14rem, 1.74rem + 1.99vw, 3.16rem);
  --size-900: clamp(2.67rem, 2.07rem + 3vw, 4.21rem);
  --size-1000: clamp(3.34rem, 2.45rem + 4.43vw, 5.61rem);
  color-scheme: light dark;
}

html {
  background-color: rgb(208, 208, 246);
  scroll-behavior: smooth;
  cursor: Default;
}

body {
  font-family: var(--font-family);
  font-size: 1.1rem;
  color: #000000;
  background-color: #ffffff;
  padding: 0.5rem;
  margin: 50px Auto 10px Auto;
  max-width: 45rem;
  scroll-behavior: smooth;
  box-shadow: 0px 0px 25px 0px #b5b5b5;
}

header {
  background-color: #ececec;
  text-align: Center;
  padding: 0.5rem;
  font-size: var(--size-700);
  user-select: None;
}

nav {
  background-color: #f5f5f5;
  text-align: Center;
  padding: 0.5rem;
  word-spacing: 8px;
}

article {
  background-color: #f5f5f5;
}

a:link,
a:visited {
  color: #4169e1;
}

h1 {
  font-size: var(--size-500);
  font-weight: Normal;
  background-color: #ececec;
  padding: 0.2rem 0 0.2rem 0.5rem;
}

h2 {
  font-size: var(--size-400);
  font-weight: Normal;
  background-color: #ececec;
  padding: 0.2rem 0 0.2rem 0.5rem;
}

h3 {
  font-size: var(--size-300);
  font-weight: Normal;
  background-color: #ececec;
  padding: 0.2rem 0 0.2rem 0.5rem;
}

figure > img,
figure > a > img {
  display: Inline;
  max-width: 100%;
  height: Auto;
  object-fit: contain;
  box-shadow: 0px 0px 5px 2px #595959;
}

/* Formular */
form {
  background-color: #f5f5f5;
  padding: 0.5rem;
}

select {
  border-radius: 5px;
  font-family: var(--font-family);
  font-size: 1.1rem;
  padding: 4px 10px;
}

:focus-visible {
  outline: Solid 1px #4169e1;
}

input[type="text"],
input[type="password"],
input[type="number"],
input[type="email"],
input[type="button"],
input[type="tel"],
input[type="reset"],
input[type="submit"],
button[type="button"],
button[type="reset"],
button[type="submit"] {
  border: Solid 1px #9a9a9a;
  border-radius: 5px;
  font-family: var(--font-family);
  font-size: 1rem;
  padding: 5px 10px;
}

button[type="submit"],
button[type="reset"],
input[type="button"] {
	background: #37c275;
  color: #ffffff;
  transition: background-color .2s ease-in-out;
}

button:focus,
button:hover {
	box-shadow: 0 .3em 0.6em rgba(95, 204, 89, 0.8);
	background: #37c275;
  cursor: pointer;
}

button[type="submit"]:hover,
button[type="reset"]:hover,
input[type="button"]:hover {
	background: #37c275;
  cursor: pointer;
  font-size: 2rem;
}

button {
  font-size: 1rem;
}
 /* Stil für Button 1 */
.button1 {
  background-color: blue;
  color: white;
  padding: 10px 20px;
  border: 10px solid darkblue;
  border-radius: 10px;
  font-size: 32px;
}

/* Stil für Button 2 */
.button2 {
  background-color: green;
  color: white;
  padding: 8px 15px;
  border: 6px solid darkgreen;
  border-radius: 10px;
  font-size: 14px;
}

.button3 {
  background-color: #80d0f2;
  color: black;
}


input[type="checkbox"],
input[type="radio"],
input[type="range"],
progress {
  accent-color: #4169e1;
}

input[type="checkbox"]:checked + label {
  color: #4169e1;
}

label {
  white-space: nowrap;
}

label:hover {
  color: #4169e1;
}

.ok {
  color: #ffffff;
  background-color: #0094d2;
  padding: 15px;
}

.ko {
  color: #ffffff;
  background-color: #ee0000;
  padding: 15px;
}

.info {
  font-size: 0.85rem;
  font-style: Oblique;
  background-color: #ffffee;
  padding: 5px;
}

.fett {
  font-size: 1.5rem;
}

.hellgruen {
  color: rgb(9, 122, 24);  
  }

.status {
  color: #ffffff;
  background-color: #2ab16d;
  padding: 15px;
}

.pflichtfeld {
  color: #ff0000;
}

.hilfetext {
  font-family: var(--font-family);
  font-size: 0.9rem;
  font-style: Oblique;
  color: #009726;
}

.flex { 
  display: flex; 
  justify-content: center; 
  align-items: center;
  }
      
.mittig {
  text-align: center;
  }


footer {
  text-align: Center;
  background-color: #ececec;
  padding: 0.5rem;
  margin-top: 1rem;
  user-select: None;
}

/* Anpassung an Geräte */
@media screen and (max-width: 55rem) {
  body {
    max-width: 45rem;
    padding: 0.5rem;
  }
  article {
    min-height: 15rem;
  }
}

@media screen and (min-width: 65rem) {
  body {
    max-width: 55rem;
    padding: 1.5rem;
  }
}

@media screen and (min-width: 90rem) {
  body {
    max-width: 85rem;
    padding: 2.5rem;
  }
}

@media screen and (min-width: 120rem) {
  body {
    max-width: 110rem;
    padding: 3rem;
  }
}

@media (prefers-color-scheme: dark) {
  html {
    background-color: #232323;
  }

  body {
    color: #ffffff;
    background-color: #000000;
  }

  header {
    background-color: #686868;
  }

  nav {
    background-color: #9b9b9b;
  }

  form {
    background-color: #686868;
  }

  h1,
  h2 {
    background-color: #686868;
  }

  footer {
    background-color: #686868;
  }
}
