/* Reset and Base Styles */
* {
  margin: 0;
  padding: 0;
}

html {
  font-size: 12pt;
  height: auto !important;
  height: 100%;
  min-height: 100%;
}

body {
  font-size: 62.5%;
  padding: 2.25em 3em;
  font-family: "Verdana", "Arial", "Helvetica Neue", "Helvetica", Sans-Serif;
  height: auto !important;
  height: 100%;
  min-height: 100%;
}

img {
  display: block;
}

.invisible {
  visibility: hidden;
}

.hidden {
  display: none;
}

/* Media Viewport */
@-ms-viewport {
  width: device-width;
}

@viewport {
  width: device-width;
}

/* HTML5 Element Display */
article,
aside,
details,
figcaption,
figure,
footer,
header,
hgroup,
nav,
section {
  display: block;
}

audio,
canvas,
video {
  display: inline-block;
  *display: inline;
  *zoom: 1;
}

audio:not([controls]) {
  display: none;
}

[hidden] {
  display: none;
}

/* Links */
a img {
  border: none;
}

/* Header Styles */
header {
  position: relative;
  width: 100%;
  max-width: 40em;
  margin: 0 auto;
  text-align: left;
}

header #logo {
  position: relative;
}

header #logo a:before {
  content: " ";
  position: absolute;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  z-index: 100;
}

header #logo img,
header #logo object {
  display: block;
  border: none;
  width: 100%;
}

header nav {
  margin-top: 2.25em;
}

header nav ul {
  position: relative;
  list-style: none;
  display: inline-block;
}

header nav ul:after {
  content: ".";
  display: block;
  height: 0;
  clear: both;
  visibility: hidden;
}

* html header nav ul {
  height: 1px;
}

header nav ul li {
  float: left;
}

header nav ul li a {
  font-size: 1.5em;
  text-decoration: none;
  padding-bottom: 0.2em;
  border-bottom-width: 0.2em;
}

header nav ul li a.active {
  border-bottom-style: solid;
}

header nav ul li:after {
  font-size: 1.5em;
  content: "|";
  margin: 0 0.6em;
}

header nav ul li:last-child:after {
  content: "";
  margin: 0;
}

header nav ul ul {
  position: absolute;
  left: 0;
  top: 4.2em;
  width: 100%;
  z-index: 1000;
}

/* Start Section */
.start {
  padding-top: 0;
  position: relative;
  width: 57em;
  margin: 0 auto;
  text-align: left;
}

@media screen and (min-width: 630px) {
  .start {
      width: 57em;
  }
}

@media screen and (max-width: 630px) {
  .start {
      width: 100%;
  }
}

@media screen and (min-width: 930px) and (min-height: 930px) {
  .start {
      width: 77em;
  }
}

@media screen and (min-width: 1100px) and (min-height: 1100px) {
  .start {
      width: 97em;
  }
}

.start img,
.start object {
  display: block;
  border: none;
  width: 100%;
}

/* Section Styles */
section {
  position: relative;
  padding: 6em 0;
}

section .content {
  position: relative;
  width: 37em;
  margin: 0 auto;
  text-align: left;
}

@media screen and (min-width: 630px) {
  section .content {
      width: 57em;
  }
}

@media screen and (min-width: 830px) {
  section .content {
      width: 77em;
  }
}

@media screen and (min-width: 1030px) {
  section .content {
      width: 97em;
  }
}

section,
section .size-M {
  margin-bottom: 1.6875em;
}

.profile section h1 {
  color: white;
}
section h1,
section h2,
section h3,
section p,
section li,
section .size-M h1,
section .size-M h2,
section .size-M h3,
section .size-M p,
section .size-M li {
  font-size: 1.5em;
  line-height: 1.5em;
}

section li li,
section li p,
section .size-M li li,
section .size-M li p {
  font-size: 1em;
  margin-bottom: 0;
}

section h2,
section .size-M h2 {
  margin-top: 1.5em;
  margin-bottom: 0;
}

section .size-L {
  margin-bottom: 3.0375em;
}

section .size-L h1,
section .size-L h2,
section .size-L h3,
section .size-L p,
section .size-L li {
  font-size: 3em;
  line-height: 1.35em;
}

section .size-L li li,
section .size-L li p {
  font-size: 1em;
  margin-bottom: 0;
}

section hgroup,
section .size-M hgroup {
  display: inline-block;
  width: 60%;
  margin-bottom: 1.5em;
}

section hgroup:after,
section .size-M hgroup:after {
  content: ".";
  display: block;
  height: 0;
  clear: both;
  visibility: hidden;
}

* html section hgroup,
* html section .size-M hgroup {
  height: 1px;
}

section hgroup h1,
section .size-M hgroup h1 {
  font-weight: normal;
  font-size: 3em;
}

@media screen and (max-width: 830px) {
  section hgroup h1,
  section .size-M hgroup h1 {
      font-size: 2.5em;
  }
}

@media screen and (max-width: 630px) {
  section hgroup h1,
  section .size-M hgroup h1 {
      font-size: 2em;
  }
}

@media screen and (max-width: 400px) {
  section hgroup h1,
  section .size-M hgroup h1 {
      font-size: 1.5em;
  }
}

section hgroup h1 br,
section .size-M hgroup h1 br {
  clear: left;
}

section hgroup h1 span,
section .size-M hgroup h1 span {
  display: block;
  float: left;
  padding: 0 0.3em 0 0.2em;
  margin-left: -0.2em;
  margin-bottom: 0.1em;
}

section b {
  font-weight: normal;
  padding: 0 0.2em;
  margin: -0.2em;
}

/* Image Classes */
.img-left {
  display: block;
  float: left;
  margin-right: 3em;
  margin-bottom: 2.25em;
  width: 10em;
}

.img-left img {
  width: 100%;
}

@media screen and (min-width: 630px) {
  .img-left {
      width: 17em;
  }
}

@media screen and (min-width: 1030px) {
  .img-left {
      width: 27em;
  }
}

.img-left img {
  display: block;
}

.img-centered {
  position: relative;
  margin: 1.5em auto;
  display: block;
  width: 37em;
}

.img-centered img {
  width: 100%;
}

.img-bottom {
  display: block;
  margin-left: -3em;
  margin-right: -3em;
  overflow: hidden;
  z-index: -1;
}

.img-bottom img {
  position: relative;
  display: block;
  width: 100%;
  min-width: 1024px;
}

@media screen and (max-width: 1024px) {
  .img-bottom img {
      left: -512px;
      margin-left: 50%;
  }
}

/* Background */
#background {
  z-index: -1;
  overflow: hidden;
  position: fixed;
}

#background div {
  position: absolute;
}

#background,
#background div {
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}

#background img {
  display: block;
  width: 100%;
}

/* Footer */
footer {
  position: relative;
  width: 37em;
  margin: 0 auto;
  text-align: left;
  clear: both;
  display: none;
}

footer small.powered {
  display: none;
}

@media screen and (max-width: 400px) {
  body {
      padding: 1.5em 2.25em;
  }

  header,
  footer,
  .content {
      width: auto;
  }

  header nav ul li a {
      font-size: 1.3em;
  }

  section .content {
      width: auto;
  }

  section,
  section .size-M {
      margin-bottom: 1.372em;
  }

  section h1,
  section h2,
  section h3,
  section p,
  section li,
  section .size-M h1,
  section .size-M h2,
  section .size-M h3,
  section .size-M p,
  section .size-M li {
      font-size: 1.3em;
      line-height: 1.52em;
  }

  section li li,
  section li p,
  section .size-M li li,
  section .size-M li p {
      font-size: 1em;
      margin-bottom: 0;
  }

  section .size-L {
      margin-bottom: 2.175em;
  }

  section .size-L h1,
  section .size-L h2,
  section .size-L h3,
  section .size-L p,
  section .size-L li {
      font-size: 2em;
      line-height: 1.45em;
  }

  section .size-L li li,
  section .size-L li p {
      font-size: 1em;
      margin-bottom: 0;
  }

  .img-left {
      width: 7em;
  }

  .img-centered {
      width: 100%;
  }
}


.lang-toggle {
  position: fixed;
  top: 0rem;
  right: 1em;
  display: flex;
  gap: 0.5rem;
}

.lang-toggle li {
  list-style: none;
  padding: 0;
  margin: 0;
}

/* Ensure only the active language content is displayed */
.lang-de, .lang-en {
  display: none;
}

.text-base {
  font-size: 16pt!important;
}

.text-l {
  font-size: 20pt!important;
}

.text-xl {
  font-size: 24pt!important;
}

.leading-15 {
  line-height: 1.5!important;
}

.mt-4 {
  margin-top: 1rem!important;
}

.mt-6 {
  margin-top: 1.5rem!important;
}

.mt-8 {
  margin-top: 2rem!important;
}

.mt-12 {
  margin-top: 3rem!important;
}

.text-bold {
  font-weight: bold;
}

.text-normal {
  font-weight: normal;
}

.text-white {
  color: #fff;
}

.text-dark {
  color: #83736e!important;
}

.text-current {
  color: currentColor!important;
}

.block {
  display: block;
}

@media screen and (min-width: 600px) {
  .vita {
    display: flex;
    align-items: flex-start;
    gap: 2rem;
  }
.vita {
  display: flex;
  align-items: flex-start;
  gap: 2rem;
}

.vita .img-left {
  flex: 0 0 auto;
}

.vita .content-right {
  flex: 1;
}
}



/* Default stacked layout for mobile */
.media {
  display: flex;
  flex-direction: column;
  margin-bottom: 2rem;
}

.media__img {
  margin-bottom: 1rem;
}

.media__img img {
  max-width: 100%;
  filter: sepia(100%) hue-rotate(350deg) saturate(25%);
}

.media__img:hover img {
  filter: none;
}

.media__content {
  width: 100%;
}

/* Switch to horizontal layout for larger screens */
@media screen and (min-width: 768px) {
  .media {
    flex-direction: row;
    align-items: flex-start;
  }

  .media__img {
    flex: 0;
    margin-right: 2rem;
    margin-bottom: 0;
  }

  .media__img img {
    max-width: 300px;
  }

  .media__content {
    flex: 1 1 auto;
  }
}



.accordion-header {
  background: none;
  border: none;
  outline: none;
  cursor: pointer;
  padding: 0.5em 0.25em;
  width: 100%;
  text-align: left;
  font-size: 16px;
  transition: background-color 0.3s;
}

.accordion-header h4 {
    font-weight: bold;
    display: inline-block;
    background-color: #fcb034;
    padding: 0.5em 0.5em;
}

.accordion-header h4:hover {
  background-color: white;
}

.accordion-content {
  max-height: 0;
  overflow: hidden;
  transition: max-height 0.3s ease, padding 0.3s ease;
  margin-bottom: 0.5em;
}

.accordion-content p {
  margin: 0 0 0 -0.5em;
}



.image-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 10px;
  /* max-width: 1200px; */
  margin: 0 auto;
  /* height: 600px; */
}

.image-grid .large-image {
  height: 100%;
}

.image-grid .large-image img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.image-grid .small-images {
  display: grid;
  grid-template-columns: 1fr 1fr;
  grid-template-rows: 1fr 1fr;
  gap: 10px;
}

.image-grid .small-image {
  width: 100%;
  height: 100%;
}

.image-grid .small-image img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}


@media screen and (max-width: 768px) {
  .image-grid {
    grid-template-columns: 1fr;
    gap: 10px;
  }
  
  .image-grid .small-images {
    grid-template-columns: 1fr;
    grid-template-rows: repeat(4, 1fr);
  }
}



.backbutton a {
  font-size: 12pt!important;
  text-decoration: none;
}

.backbutton a:hover {
  text-decoration: underline;
}