/*! normalize.css v8.0.1 | MIT License | github.com/necolas/normalize.css */

/* Document
   ========================================================================== */

/**
 * 1. Correct the line height in all browsers.
 * 2. Prevent adjustments of font size after orientation changes in iOS.
 */

html {
  line-height: 1.15; /* 1 */
  -webkit-text-size-adjust: 100%; /* 2 */
  font-family: "Roboto Mono", serif;
  font-weight: 400;
}

/* Sections
   ========================================================================== */

/**
 * Remove the margin in all browsers.
 */

body {
  margin: 0;
}

/**
 * Render the `main` element consistently in IE.
 */

main {
  display: block;
}

/**
 * Correct the font size and margin on `h1` elements within `section` and
 * `article` contexts in Chrome, Firefox, and Safari.
 */

h1 {
  text-align: center;
  font-size: clamp(1.15rem, 2vw, 2rem);
  margin: 40px 0;
}

h2 {
  font-size: clamp(0.9rem, 1.75vw, 1.5rem);
}
h3 {
  font-size: clamp(0.85rem, 1.5vw, 1.4rem);
}
h4 {
  font-size: clamp(0.8rem, 1.25vw, 1.35rem);
}
h5 {
  font-size: clamp(0.8rem, 1.25vw, 1rem);
  margin: 0;
}
h1,
h2,
h3,
h4,
h5 {
  margin-top: 40px;
}

p,
a,
td,
tr,
li,
textarea,
button {
  font-size: clamp(0.75rem, 1.15vw, 1rem);
}

pre {
  font-size: clamp(0.75rem, 1.15vw, 1rem);
}

figcaption {
  font-size: clamp(0.65rem, 1vw, 0.9rem);
  font-style: italic;
}

/* Grouping content
   ========================================================================== */

/**
 * 1. Add the correct box sizing in Firefox.
 * 2. Show the overflow in Edge and IE.
 */

hr {
  box-sizing: content-box; /* 1 */
  height: 0; /* 1 */
  overflow: visible; /* 2 */
}

/**
 * 1. Correct the inheritance and scaling of font size in all browsers.
 * 2. Correct the odd `em` font sizing in all browsers.
 */

pre,
code {
  color: blue;
  font-family: monospace, monospace; /* 1 */
  /* font-size: 1em; */ /* 2 */
}

/* Text-level semantics
   ========================================================================== */

/**
 * Remove the gray background on active links in IE 10.
 */

a {
  background-color: transparent;
  text-decoration: none;
}

/**
 * 1. Remove the bottom border in Chrome 57-
 * 2. Add the correct text decoration in Chrome, Edge, IE, Opera, and Safari.
 */

abbr[title] {
  border-bottom: none; /* 1 */
  text-decoration: underline; /* 2 */
  text-decoration: underline dotted; /* 2 */
}

/**
 * Add the correct font weight in Chrome, Edge, and Safari.
 */

b,
strong {
  font-weight: bolder;
}

/**
 * 1. Correct the inheritance and scaling of font size in all browsers.
 * 2. Correct the odd `em` font sizing in all browsers.
 */

code,
kbd,
samp {
  font-family: monospace, monospace; /* 1 */
  /* font-size: 1em;  */
  font-size: clamp(0.75rem, 1.25vw, 1rem);
}

/**
 * Add the correct font size in all browsers.
 */

small {
  font-size: 80%;
}

/**
 * Prevent `sub` and `sup` elements from affecting the line height in
 * all browsers.
 */

sub,
sup {
  font-size: 75%;
  line-height: 0;
  position: relative;
  vertical-align: baseline;
}

sub {
  bottom: -0.25em;
}

sup {
  top: -0.5em;
}

/* Embedded content
   ========================================================================== */

/**
 * Remove the border on images inside links in IE 10.
 */

img {
  border-style: none;
}

/* Forms
   ========================================================================== */

/**
 * 1. Change the font styles in all browsers.
 * 2. Remove the margin in Firefox and Safari.
 */

button,
input,
optgroup,
select,
textarea {
  font-family: inherit; /* 1 */
  /* font-size: 100%; */ /* 1 */
  line-height: 1.15; /* 1 */
  margin: 0; /* 2 */
}

/**
 * Show the overflow in IE.
 * 1. Show the overflow in Edge.
 */

button,
input {
  /* 1 */
  overflow: visible;
}

/**
 * Remove the inheritance of text transform in Edge, Firefox, and IE.
 * 1. Remove the inheritance of text transform in Firefox.
 */

button,
select {
  /* 1 */
  text-transform: none;
}

/**
 * Correct the inability to style clickable types in iOS and Safari.
 */

button,
[type="button"],
[type="reset"],
[type="submit"] {
  -webkit-appearance: button;
}

/**
 * Remove the inner border and padding in Firefox.
 */

button::-moz-focus-inner,
[type="button"]::-moz-focus-inner,
[type="reset"]::-moz-focus-inner,
[type="submit"]::-moz-focus-inner {
  border-style: none;
  padding: 0;
}

/**
 * Restore the focus styles unset by the previous rule.
 */

button:-moz-focusring,
[type="button"]:-moz-focusring,
[type="reset"]:-moz-focusring,
[type="submit"]:-moz-focusring {
  outline: 1px dotted ButtonText;
}

/**
 * Correct the padding in Firefox.
 */

fieldset {
  padding: 0.35em 0.75em 0.625em;
}

/**
 * 1. Correct the text wrapping in Edge and IE.
 * 2. Correct the color inheritance from `fieldset` elements in IE.
 * 3. Remove the padding so developers are not caught out when they zero out
 *    `fieldset` elements in all browsers.
 */

legend {
  box-sizing: border-box; /* 1 */
  color: inherit; /* 2 */
  display: table; /* 1 */
  max-width: 100%; /* 1 */
  padding: 0; /* 3 */
  white-space: normal; /* 1 */
}

/**
 * Add the correct vertical alignment in Chrome, Firefox, and Opera.
 */

progress {
  vertical-align: baseline;
}

/**
 * Remove the default vertical scrollbar in IE 10+.
 */

textarea {
  overflow: auto;
}

li {
  margin: 10px 0;
}

/**
 * 1. Add the correct box sizing in IE 10.
 * 2. Remove the padding in IE 10.
 */

[type="checkbox"],
[type="radio"] {
  box-sizing: border-box; /* 1 */
  padding: 0; /* 2 */
}

/**
 * Correct the cursor style of increment and decrement buttons in Chrome.
 */

[type="number"]::-webkit-inner-spin-button,
[type="number"]::-webkit-outer-spin-button {
  height: auto;
}

/**
 * 1. Correct the odd appearance in Chrome and Safari.
 * 2. Correct the outline style in Safari.
 */

[type="search"] {
  -webkit-appearance: textfield; /* 1 */
  outline-offset: -2px; /* 2 */
}

/**
 * Remove the inner padding in Chrome and Safari on macOS.
 */

[type="search"]::-webkit-search-decoration {
  -webkit-appearance: none;
}

/**
 * 1. Correct the inability to style clickable types in iOS and Safari.
 * 2. Change font properties to `inherit` in Safari.
 */

::-webkit-file-upload-button {
  -webkit-appearance: button; /* 1 */
  font: inherit; /* 2 */
}

/* Interactive
   ========================================================================== */

/*
 * Add the correct display in Edge, IE 10+, and Firefox.
 */

details {
  display: block;
}

/*
 * Add the correct display in all browsers.
 */

summary {
  display: list-item;
}

/* Misc
   ========================================================================== */

/**
 * Add the correct display in IE 10+.
 */

template {
  display: none;
}

/**
 * Add the correct display in IE 10.
 */

[hidden] {
  display: none;
}

/* Homepage */
.main-container {
  height: 100vh;
  position: fixed;
  left: 0;
  right: 0;
  top: 0;
  bottom: 0;

  background-image: url("https://res.cloudinary.com/dpsp4tpjd/image/upload/v1740741464/blog/main_xjmbms.jpg"); /* Bildquelle */
  background-size: cover; /* Deckt den gesamten Bereich ab */
  background-position: center; /* Zentriert das Bild */
  background-repeat: no-repeat; /* Verhindert Wiederholung */
}

.hp-content {
  height: 100%;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  display: flex;
  box-sizing: border-box;
}
.hp-content > * {
  color: white;
  text-align: center;
}

.hp-content > a {
  text-align: center;
  margin: auto;
  font-size: clamp(1rem, 2vw, 1.5rem);
  text-decoration: none;
  text-transform: uppercase;
  margin: 40px 0;
  letter-spacing: 0.1rem;
  padding: 10px;
  font-weight: 600;
  border: 1px solid rgba(255, 255, 255, 0.266);
  transition: 200ms all ease-in-out;
  background-color: rgb(163, 134, 98);
}

.hp-content > a:hover {
  box-shadow: 0 0 10px -3px gold;
  background-color: #a3866286;
}

.bg {
  z-index: -1;
  position: fixed;
  left: 0;
  right: 0;
  top: 0;
  bottom: 0;
  background-color: black;
  opacity: 0.6;
}
/* Homepage END */

nav {
  box-sizing: border-box;
  display: flex;
  align-items: center;
  padding: 10px;
  height: 70px;
  width: 100%;
  background-color: #98866c;
  color: white;
}

nav a {
  color: white;
  font-size: clamp(1rem, 1.5vw, 1.3rem);
  transition: 200ms all ease-in-out;
}
nav a:hover {
  color: orange;
}

main {
  min-height: calc(100vh - 60px);
  background-color: #f7f1e9;
  display: flex;
  flex-direction: column;
}

.layout-div {
  width: 90%;
  max-width: 1800px;
  margin: 40px auto;
}

.parts {
  margin: 40px 0;
  display: flex;
  flex-wrap: wrap;
  gap: 40px;
}
.parts a {
  margin-right: 10px;

  /* text-decoration: underline; */
  align-items: center;
}

.todo {
  margin: 0;
  font-weight: 500;
  color: rgb(188, 107, 202);
}

.logo {
  display: flex;
  margin-left: auto;
  font-size: 2rem;
  letter-spacing: 0.2rem;
  color: orange;
  font-weight: 600;
  padding-bottom: 10px;
}
.logo-center {
  border-bottom: 3px solid orange;
}

.project-overview {
  width: 100%;
  margin: 40px 0;
}

.main-card-div {
  margin-top: auto;
  padding: 0 !important;
  display: flex;
  align-items: end;
  justify-content: space-between;
}
.date {
  margin: 0;
  color: #b4b4b4;
}

.no-image {
  margin: auto;
  max-width: 200px;
  min-width: 120px;
  width: 30%;
}
.all-projects .card div {
  padding: 20px;
}

.card {
  box-sizing: border-box;
  background-color: white;
  /* padding: 20px; */
  border-radius: 10px;
  border: 1px solid rgb(208, 207, 207);
  display: grid;
  grid-template-columns: 3fr 1fr;
  margin-bottom: 20px;
  width: 100%;
  max-width: 1400px;

  height: 250px;
  overflow: hidden;
}

.card > div:first-of-type {
  /* border-right: 1px solid rgb(180, 180, 180); */
  box-sizing: border-box;
  /* padding: 10px; */
  margin-right: 20px;
  display: flex;
  flex-direction: column;
  justify-content: start;
}
.card p {
  line-height: 1.15rem;
}
.card h5 {
  margin-top: 0;
}

.go-btn {
  text-transform: capitalize;
  margin-top: auto;
  background-color: #98866c;
  color: white;
  padding: 10px;
  width: fit-content;
  transition: 200ms all ease-in-out;
}
.go-btn:hover {
  background-color: #98866ce0;
}

.card-status {
  border-bottom: 1px solid rgb(226, 224, 224);
  display: flex;

  color: #98866c;
  font-weight: 700;
}

.card-status > * {
  margin-left: 10px;
  font-size: clamp(0.8rem, 1.5vw, 1.2rem);
}
.card-status .status-done {
  color: rgb(85, 186, 85);
}
.card-status .status-open {
  color: rgb(207, 103, 103);
}
.card-status .status-progress {
  color: rgb(227, 163, 66);
}

.card-title {
  text-transform: uppercase;
}
.card-date {
  /* border-bottom: 1px solid rgb(226, 224, 224); */
  color: #b4b4b4;
  width: fit-content;
}

footer {
  box-sizing: border-box;
  border-top: 2px solid #98866c;
  padding: 20px;
  background-color: #f7f1e9;
  display: flex;
  justify-content: space-between;
}

.parts .no-image {
  margin: 50px auto;
}

@media screen and (max-width: 660px) {
  .all-projects .card {
    grid-template-columns: none;
    height: auto !important;
    grid-template-rows: 1fr 1fr;
  }

  .all-projects .card > div:first-of-type {
    order: 2;
    margin: 0;
  }

  footer {
    flex-direction: column-reverse;
    align-items: center;
  }
}

.sub-project h2 {
  text-decoration: underline;
}
.sub-project span {
  font-size: clamp(0.75rem, 1.15vw, 1rem);
}
.back {
  display: block;
  margin: 20px 0 40px 0;
  color: white;
  background-color: #98866c;
  padding: 10px;
  width: fit-content;
  transition: 200ms all ease-in-out;
}

.back:hover {
  background-color: #98866ce0;
  /* background-color: white; */
}

.table-section {
  width: 100%;

  overflow: auto;
}
table {
  background-color: white;
  max-width: 1200px;
  /* min-width: fit-content; */
}
tr,
th,
td {
  padding: 2px 5px;

  white-space: nowrap; /* Verhindert Zeilenumbruch */
  overflow: hidden; /* Verhindert das Überlaufen des Texts */
}

section {
  margin: 40px 0;
}

.card-text {
  margin-bottom: 20px;
}
.parts .card {
  display: flex;
  flex-direction: column-reverse;
  width: 90%;
  width: 450px;
  min-width: 270px;

  height: fit-content;
}

.parts .card .card-title {
  padding: 10px;

  border-top: 1px solid rgb(226, 224, 224);
}

.parts .card .card-text {
  padding: 10px;

  margin-bottom: 0;

  border-bottom: 1px solid rgb(226, 224, 224);
}
.parts .card > div {
  margin: 0;
}

.parts .card > div > div {
  margin: 10px;
  align-items: end;
  justify-content: space-between;
  display: flex;
}

.parts .card > div > div p {
  margin: 0;
  padding: 10px;
}

.page-title {
  text-align: center;
  text-transform: uppercase;
  letter-spacing: 0.1rem;
}

.project-reason {
  margin: 40px 0 80px 0;
}

figure {
  margin: 40px 0;
}

pre {
  color: white;
  background-color: #2c2c2c;
  padding: 20px;
  border-radius: 5px;
  overflow-x: auto;
  font-family: "Courier New", Courier, monospace;
}

/* comment section */

.comment-section {
  border-top: 2px solid #98866c;
  padding-top: 100px;
  display: flex;
  flex-direction: column;
  background-color: #f7f1e9;
}

.comment-section > div {
  width: 90%;
  margin: auto;
}
.comment-section .comment-info {
  margin: 5px 0 20px 0;
  color: rgb(212, 69, 69);
}
.comment-section button {
  background-color: #98866c;
  color: white;
  padding: 10px;
  border: none;
  margin-top: 10px;
  width: fit-content;
  transition: 200ms all ease-in-out;
  cursor: pointer;
}
.comment-section button:hover {
  background-color: #98866cd0;
}
.comment-section form {
  box-sizing: border-box;
  display: flex;
  flex-direction: column;
  /* align-items: end; */
  width: 100%;
  margin: auto;
  max-width: 800px;
}

.comment-section textarea {
  box-sizing: border-box;
  padding: 10px;
  border: 1px solid #a7a7a7;
  /* height: 350px; */
  /* margin: 20px 0; */
  /* resize: none; */
  width: 100%;
  max-width: 100%;
  border-radius: 10px;
  height: 80px;
}

.single-comment {
  box-sizing: border-box;
  background-color: white;
  border: 1px solid #a7a7a7;
  padding: 10px;
  width: 100%;
  display: flex;
  flex-direction: column;
  margin: 20px 0;

  border-radius: 10px;
  display: flex;
  align-items: start;
  justify-content: space-between;
}

.single-comment h2,
.single-comment h3,
.single-comment h5,
.single-comment p {
  line-break: anywhere;
  margin: 0;
}

.single-comment h5 {
  width: 100%;
  padding-bottom: 10px;
  border-bottom: 1px solid rgba(180, 180, 180, 0.811);
}

.single-comment p {
  font-size: clamp(0.6rem, 1vw, 0.75rem);
  margin-left: auto;
  margin-top: 20px;
  color: #b4b4b4;
  white-space: nowrap;
}

.all-comments {
  width: 100%;
  max-width: 800px;
  margin: 80px auto;
}
/* Allgemeines Styling für Alerts */
.alert {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 12px 18px;
  border-radius: 8px;
  margin-bottom: 20px;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.1);
  font-size: 16px;
  font-family: "Arial", sans-serif;
  animation: fadeIn 0.5s ease-in-out;
  max-width: 800px;
  margin-left: auto;
  margin-right: auto;
}
.alert span {
  font-size: clamp(0.75rem, 1.15vw, 1rem);
}

/* Erfolgsmeldung (grün) */
.alert.success {
  background-color: #a8d5ba; /* Blasses Grün */
  color: #2a4d32; /* Dunkleres Grün für den Text */
}

/* Fehlermeldung (rot) */
.alert.error {
  background-color: #f8b7b7; /* Blasses Rot */
  color: #9c3c2d; /* Dunkleres Rot für den Text */
}

/* Informationsmeldung (blau) */
.alert.info {
  background-color: #a2c8f7; /* Blasses Blau */
  color: #2e4c8c; /* Dunkleres Blau für den Text */
}

/* Close-Button */
.close-btn {
  cursor: pointer;
  font-size: 18px;
  color: #333; /* Dunklerer Text für den Close-Button */
  cursor: pointer;
  margin-left: 15px;
  transition: color 0.2s ease-in-out;
}

.close-btn:hover {
  color: #555; /* Leicht abgedunkelter Farbton für den Hover-Effekt */
}

/* Fade-in-Effekt für das Alert */
@keyframes fadeIn {
  0% {
    opacity: 0;
    transform: translateY(-20px);
  }
  100% {
    opacity: 1;
    transform: translateY(0);
  }
}

/* .click-here {
  font-size: clamp(1.5rem, 2vw, 2.2rem);
  font-weight: 700;
  color: #2c2c2c;
} */

/* Grundstyle des Links */
.click-here {
  font-size: 24px;
  font-weight: bold;
  color: #3498db;
  text-decoration: none;
  position: relative;
  padding: 5px 10px;
  display: inline-block;
  opacity: 0;
  animation: showText 1s forwards, highlight 1s 0.5s forwards;
}

/* Fade-in für den Text */
@keyframes showText {
  0% {
    opacity: 0;
  }
  100% {
    opacity: 1;
  }
}

/* Animation des "Hervorhebens" des Textes */
@keyframes highlight {
  0% {
    text-shadow: 0 0 5px #fff, 0 0 10px #fff, 0 0 15px #3498db, 0 0 20px #3498db;
  }
  50% {
    text-shadow: 0 0 5px #fff, 0 0 10px #fff, 0 0 15px #e74c3c, 0 0 20px #e74c3c;
  }
  100% {
    text-shadow: 0 0 5px #fff, 0 0 10px #fff, 0 0 15px #3498db, 0 0 20px #3498db;
  }
}

/* Das Pfeilsymbol erscheint nach einer kurzen Verzögerung */
.click-here::before {
  content: "👉";
  font-size: 30px;
  color: #e74c3c;
  opacity: 0;
  position: absolute;
  left: -55px; /* Pfeil links vom Text */
  top: 0;
  animation: showArrow 1s 0.8s forwards;
}

/* Animation des Pfeilsymbols */
@keyframes showArrow {
  0% {
    opacity: 0;
    transform: translateX(0);
  }
  100% {
    opacity: 1;
    transform: translateX(10px); /* Pfeil bewegt sich nach rechts */
  }
}
