/* Variables */

:root {
  --color1: #008D8E; /* Türkis */
  --color2: #16A4C9; /* Blau */
  --color3: #E30045; /* Rot */
  --color-grey: #3a3a3a;
  --background-color-old: #C8F0FF;
  --background-color: whitesmoke;

  --topmenu-height: 100px;

  --size-h1: 3em;
  --size-h2: 2.5em;
  --size-h3: 1.9em;
  --size-h4: 1.2em;
  --size-normal: 1em;

  --progressbar-height: 25px;

  --footer-top: -38px;

  --sidebar-width: 350px;
}

/* RESET */

html, body, div, span, applet, object, iframe,
h1, h2, h3, h4, h5, h6, p, blockquote, pre,
a, abbr, acronym, address, big, cite, code,
del, dfn, em, img, ins, kbd, q, s, samp,
small, strike, strong, sub, sup, tt, var,
b, u, i, center,
dl, dt, dd, ol, ul, li,
fieldset, form, label, legend,
table, caption, tbody, tfoot, thead, tr, th, td,
article, aside, canvas, details, embed,
figure, figcaption, footer, header, hgroup,
menu, nav, output, ruby, section, summary,
time, mark, audio, video {
	margin: 0;
	padding: 0;
	border: 0;
	font-size: 100%;
	font: inherit;
	vertical-align: baseline;
}
/* HTML5 display-role reset for older browsers */
article, aside, details, figcaption, figure,
footer, header, hgroup, menu, nav, section {
	display: block;
}
body {
	line-height: 1;
}
blockquote, q {
	quotes: none;
}
blockquote:before, blockquote:after,
q:before, q:after {
	content: '';
	content: none;
}
table {
	border-collapse: collapse;
	border-spacing: 0;
}

ul {
  list-style: disc;
  padding-left: 2em;
}

ul li {
  padding-bottom: 0.4em;
}

footer ul,
nav ul {
  list-style: none;
  padding-left: 0;
}

footer ul li,
nav ul li {
  padding-bottom: 0;
}

p {
  text-align: justify;
}

/* Make images responsive */
img {
  max-width: 100%;
}

/**********/
/* STYLES */
/**********/

/* General structure */

@font-face {
  font-family: frutiger;
  src: url(../fonts/frutiger.otf);
}

@font-face {
  font-family: bebas-neue;
  src: url(../fonts/bebas-neue.otf);
}

body {
  background-color: var(--background-color);
  font-family: frutiger;
}

a {
  color: inherit;
  text-decoration: none;
  border-bottom: 1px dotted black;
}

a:hover {
  border-bottom: 1px solid black;
}

h1, h2, h3, h4, h5 {
  padding-top: 0.5em;
  padding-bottom: 0.7em;
}

.heading-box h2.subheader {
  font-size: var(--size-h2);
}

p.subheader {
  border-bottom: none;
  margin-bottom: 1em;
}

p.subheader:hover a {
  border-bottom: 1px solid black;
}

p.subheader i {
  padding-right: 0.3em;
  position: relative;
  transition: transform 0.5s ease;
}

p.subheader:hover i {
  transform: translateX(-0.3em);
}

p,
ul li {
  font-family: sans-serif;
  padding-bottom: 0.8em;
  letter-spacing: 0.02rem;
  line-height: 1.3em;
}

em {
  font-style: italic;
  font-size: 0.95em;
}

strong {
  font-weight: bold;
}

q {
  font-style: italic;
}

.center-width {
  width: 900px;
  margin: auto;
  padding: 20px 15px;
}

.textbox {
  width: 870px;
  margin: auto;
  padding: 40px 30px;
}

.full-width {
  width: 100%;
}

.textbox h2,
.textbox h3,
.textbox h4,
.textbox h5,
.textbox p {
  padding-left: 20px;
  padding-right: 20px;
}

.bg-color1 {
  background-color: var(--color1);
}

.bg-color2 {
  background-color: var(--color2);
}

.bg-color3 {
  background-color: var(--color3);
}

.headline {
  margin-bottom: -50px;
  /* //background-color: white; */
}

.visdp {
  margin-top: 3em;
  font-size: 0.8em;
}

ol {
  list-style-type: decimal;
  padding-left: 40px;
}

ol li {
  padding-bottom: 0.8em;
  font-family: sans-serif;
  letter-spacing: 0.02rem;
  line-height: 1.3em;
}

ol li:last-child {
  padding-bottom: 0.2em;
}

/* FORMS AND TABLES */

table {
  width: 100%;
}

tr {
  border-bottom: 2px dotted black;
}
tr:last-child {
  border-bottom: none;
}

td, th {
  padding: 15px;
  vertical-align: middle;
  border-right: 2px dotted black;
}
td:last-child,
th:last-child {
  border-right: none;
}

th {
  font-size: 1.2em;
  font-style: italic;
}

.page-end {
  height: 5em;
}

td img {
  padding: 10px;
}

.image-cell {
  font-size: 1.8em;
}

.image-cell a {
  border-bottom: none;
}

.image-cell fa-solid,
.image-cell fa-light,
.image-cell fa-regular {
  padding: 10px;
}


input[type=text],
input[type=date] {
  padding: 5px;
  background: inherit;
  border: none;
  border-bottom: 2px solid black;
}

::placeholder {
  color: black;
  opacity: 0.7;
  font-style: italic;
}
:-ms-input-placeholder {
  color: black;
  opacity: 0.7;
  font-style: italic;
}
::-ms-input-placeholder {
  color: black;
  opacity: 0.5;
  font-style: italic;
}

input[type=text],
input[type=date],
textarea {
  min-width: 50%;
  width: 300px;
}

textarea {
  background: inherit;
  border: 2px solid black;
}

input[type=submit],
input[type=reset],
.cancel-button {
  background: inherit;
  border: 2px solid black;
  padding: 15px;
  font-size: 1em;
  font-weight: bold;
  box-shadow: none;
  transition: transform 300ms ease-in-out, box-shadow 400ms ease, background 100ms ease;
  -ms-transition: transform 300ms ease-in-out, box-shadow 400ms ease, background 100ms ease;
  -o-transition: transform 300ms ease-in-out, box-shadow 400ms ease, background 100ms ease;
  -moz-transition: transform 300ms ease-in-out, box-shadow 400ms ease, background 100ms ease;
  -webkit-transition: transform 300ms ease-in-out, box-shadow 400ms ease, background 100ms ease;
  transition: transform 300ms ease-in-out, box-shadow 400ms ease, background 100ms ease;
  transform-origin: top left;
  -moz-transform-origin: top left;
  -o-transform-origin: top left;
  -webkit-transform-origin: top left;
}

input[type=submit]:hover,
input[type=reset]:hover,
.cancel-button:hover {
  cursor: pointer;
  box-shadow: 0 1rem 1rem rgba(0,0,0,0.3);
  border: 2px solid black;
}

form p {
  padding-top: 20px;
  padding-bottom: 10px;
}

form {
  padding-bottom: 2em;
}

h1 {
  font-size: var(--size-h1);
  padding-bottom: 20px;
}

h2 {
  font-size: var(--size-h2);
}

h3 {
  font-size: var(--size-h3);
}

h4 {
  font-size: var(--size-h4);
}

/* Header */

#interceptor {
  position: absolute;
  top: 40px;
}

#header {
  height: 180px;
  margin-left: auto;
  margin-right: auto;
  width: 50px;
  position: relative;
}

.verdi-angle {
  position: fixed;
  top: 0;
  left: 0;
  width: calc(50vw - 270px);
  height: calc(50vw * 0.115 + 113px);
  transform-origin: bottom left;
  -ms-transform-origin: bottom left;
  -moz-transform-origin: bottom left;
  -o-transform-origin: bottom left;
  -webkit-transform-origin: bottom left;
  transform: rotate(-7deg) translate(0, 0);
  -ms-transform: rotate(-7deg) translate(0, 0);
  -webkit-transform: rotate(-7deg) translate(0, 0);
  z-index: 25;
  transition: transform 0.3s ease;
}

.is-stuck .verdi-angle {
  position: fixed;
  transform: rotate(-7deg) translate(-126px, -64px);
  -ms-transform: rotate(-7deg) translate(-126px, -64px);
  -webkit-transform: rotate(-7deg) translate(-126px, -64px);
}

.title {
  top: 80px;
  left:calc(50vw - 670px);
  position: fixed;
  z-index: 25;
  transition: transform 0.3s ease;
}

.is-stuck .title {
  transform: scale(0.7) translate(-105px, -55px);
}

.title h1 {
  font-family: bebas-neue;
  color: whitesmoke;
  font-weight: bold;
  letter-spacing: 0.05em;
  padding-top: 0;
  font-size: 3em;
}

.title a {
  text-decoration: none;
  border-bottom: none;
}

.verdi-logo {
  position: fixed;
  top: -2px;
  right: max(calc(50vw - 600px), 0px);
  overflow: hidden;
  z-index: 25;
  /* transition: right 0.3s ease; */
  transition: transform 0.3s ease;
  transform: translateX(0);
}

.is-stuck .verdi-logo {
  transform: translateX(-90px) translateY(10px);
}

.verdi-logo img {
  width: 200px;
  position: relative;
  white-space: nowrap;
  max-width: none;
  transition: width 0.3s ease;
}

.is-stuck .verdi-logo img {
  width: 100px;
}

.verdi-logo::before {
  background: url(../img/verdi-logo.png);
  position: absolute;
  top:88px;
  left:7px;
  content: " ";
  background-size: 100% 100%;
  width: 85px;
  height: 85px;
  float: left;
  transition: width 0.3s ease, height 0.3s ease, top 0.3s ease, left 0.3s ease;
}

.is-stuck .verdi-logo::before {
  width: 42px;
  height: 42px;
  top: 44px;
  left: 3px;
}

#menu {
  position: sticky;
  top: 0;
  background-color: inherit;
  height: fit-content;
  width: 100%;
  z-index: 20;
  margin-bottom: 35px;
}

#menu .center-width {
  transition: width 0.3s ease;
  height: var(--topmenu-height);
  padding: 0;
  width: 800px;
  display: flex;
  align-items: center;
}

#menu ul {
  list-style: none;
  display: flex;
  justify-content: space-around;
  padding-top: 1em;
  padding-bottom: 1em;
  width: 100%;
}

#menu ul li {
  transition: font-size 0.3s ease;
  display: block;
  font-size: 1.5em;
}

#menu ul li a {
  position: relative;
  border-bottom: none;
  font-family: bebas-neue;
  letter-spacing: 0.05em;
}

#menu ul li a::after {
  content: '';
  position: absolute;
  bottom: -5px;
  left: 0;
  width: 0;
  height: 4px;
  background: var(--color1);
  transition: width 0.3s ease;
}

#menu ul li a:hover::after,
#menu ul li a.currently-active::after {
  width: 100%;
}

/* Video */

#video ol {
  list-style: none;
  padding-top: 1em;
  font-size: 2em;
}

#video ol li {
  padding: 0.2em;
}

#video p {
  text-align: center;
}

#video p {
  padding-top: 50px;
  font-size: 1.5em;
}

.forderungen li {
  position: relative;
}

.forderungen li::before {
  position: absolute;
  top:0.2em;
  left:-1.3em;
  content: " ";
  background: url(../img/arrow.png);
  background-size: 100% 100%;
  width: 1em;
  height: 1em;
  float: left;
}

.forderungen li {
  margin-left: 3em;
}

/* Boxgrid */

.heading-box h2,
.ausstellung-content h2 {
  font-size: var(--size-h1);
  color: var(--color1);
  text-align: center;
  padding-top: 0.1em;
  text-align: left;
  font-family: bebas-neue;
  letter-spacing: 0.05em;
  padding-bottom: 0;
}

.ausstellung-content h2 {
  padding-bottom: 0.5em;
  color: black;
}

.boxgrid {
  margin-top: 0;
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(350px, 1fr));
  grid-template-rows: auto;
  grid-gap: 2rem;
  margin-bottom: 50px;
}

.boxgrid-element {
  color: var(--color1);
  border: 3px solid;
  padding: 15px;
}

.boxgrid-element h3 {
  text-align: center;
}

.boxgrid-element h3 i {
  display: block;
  padding-bottom: 0.5em;
  font-size: 1.5em;
}

.boxgrid-element.single-element {
  cursor: pointer;
}

.single-element:hover {
  color: var(--background-color);
  background-color: var(--color1);
  border-color: var(--color1);
}

.single-element a {
  text-decoration: none;
}

/* Angled Image */

.img-top-angle {
  background-size: cover;
  clip-path: polygon(0 calc(0.1227845609 * 100vw), 100% 0, 100% 100%, 0% 100%);
}

.img-bottom-angle {
  background-size: cover;
  clip-path: polygon(0 0, 100% 0, 100% calc(1000px - (0.1227845609 * 100vw)), 0% 100%);
}

#demo1 {
  background-image: url(../img/P1000756.jpg);
}

#demo2 {
  background-image: url(../img/P1000768.jpg);
}

#bg3 {
  background-image: url(../downloads/24-09-18/bg.jpg);
  margin-top: 0; 
  height: 900px;
}

.angled-bg {
  background-repeat: no-repeat;
  background-position: center;
  background-attachment: fixed;
  overflow: hidden;
  width: 100%;
  height: 1000px;
  margin: auto;
  margin-top: 50px;
}

@media (hover: none) {
   .angled-bg {
       background-attachment: initial;
   }
}

/* Icon List */

.heading-box .icon-list {
  margin-top: 1em;
  padding-left: 1em;
}

.heading-box .icon-list-small {
  margin-top: 0.5em;
  padding-left: 0.3em;
}

.icon-list li,
.icon-list-small li {
  display: flex;
  align-items: center;
}

.icon-list li {
  margin-bottom: 1.5em;
}

.icon-list-small li {
  margin-bottom: 1em;
}

.icon-list li p {
  padding-bottom: 0;
}

.icon-list li .fa-icon,
.icon-list-small li .fa-icon {
  color: var(--color2);
  width: 1px;
}

.icon-list li .fa-icon {
  margin-right: 2em;
  font-size: 2em;
}

.icon-list-small li .fa-icon {
  margin-right: 1.7em;
  font-size: 1.3em;
}

.date {
  text-align: right;
  font-style: italic;
}

/* Progress Bar */


@keyframes signingProgress {
  from {
    width: var(--pb-start);
  }
  to {
    width: var(--pb-end);
  }
}

.progressbar-outer {
  background-color: var(--color1);
  width: 100%;
  display: table;
  clip-path: polygon(calc(100% - var(--progressbar-height)) 0, 100% 50%, calc(100% - var(--progressbar-height)) 100%, 0 100%, 0 0);
  position: relative;
}

.progressbar-text.right {
  right: 40px;
}

.progressbar-text.left {
  left: 30px;
}

.progressbar-text {
  color: whitesmoke;
  font-family: frutiger;
  letter-spacing: normal;
  line-height: normal;
  padding-bottom: 0;
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
}

.progressbar-inner {
  background-color: var(--color3);
  padding-left: 30px;
  animation-name: signingProgress;
  animation-timing-function: ease-out;
  animation-duration: 8s;
  width: var(--pb-end);
  display: table-cell;
}

.pb-arrow {
  background-color: var(--color1);
  height: 0;
  width: 0;
  border-left: var(--progressbar-height) solid var(--color3);
  border-top: var(--progressbar-height) solid var(--color1);
  border-bottom: var(--progressbar-height) solid var(--color1);
  border-right: 0;
  display: table-cell;
}

.pb-details-container {
  margin-top: 1.5em;
  display: grid;
  grid-template-columns: 1fr 1fr;
  column-gap: 2em;
}

.pb-list h3 {
  font-size: var(--size-h4);
  font-family: bebas-neue;
  letter-spacing: 0.03em;
  text-align: center;
  color: var(--color-grey);
  margin-bottom: 1em;
}

.pb-list ul {
  margin-left: 2em;
  margin-right: 2em;
}

.pb-list ul li {
  color: var(--color-grey);
  padding-bottom: 0.9em;
  line-height: 1.3em;
  font-size: var(--size-normal);
}

.pb-list ul li i {
  padding-right: 0.4em;
}

.readmore-box {
  display: none;
}

.readmore-box + .pb-details-container > .more {
  max-height: 0;
  transition: visibility 0s, max-height 1.5s ease;
  -ms-transition: visibility 0s, max-height 1.5s ease;
  -o-transition: visibility 0s, max-height 1.5s ease;
  -moz-transition: visibility 0s, max-height 1.5s ease;
  -webkit-transition: visibility 0s, max-height 1.5s ease;
  overflow: hidden;
}

.readmore-box:checked + .pb-details-container > .more {
  max-height: 200px;
}

.readmore-button {
  width: fit-content;
  padding: 1.5em;
  display: block;
  margin-bottom: 2.5em;
  margin-top: 2em;
  margin-left: auto;
  margin-right: auto;
  background-color: var(--color1);
  border: 3px solid var(--color1);
}

.readmore-button:hover {
  background-color: inherit;
}

.readmore-button > a {
  font-size: var(--size-h4);
  color: white;
  text-align: center;
  width: 100%;
  display: block;
  border-bottom: none;
}

.readmore-button > a:hover {
  border-bottom: none;
}

.readmore-button:hover > a {
  color: var(--color1);
}

.readmore-button > a > i {
  padding-left: 0.5em;
  padding-right: 0.5em;
  transition: transform 0.5s linear;
  -ms-transition: transform 0.5s linear;
  -o-transition: transform 0.5s linear;
  -moz-transition: transform 0.5s linear;
  -webkit-transition: transform 0.5s linear;
}

.readmore-button > a > .text {
  display: inline;
}

.readmore-button > a > .text::after {
  content: "Mehr anzeigen";
  font-size: var(--size-normal);
  font-family: frutiger;
  text-align: center;
}

.readmore-box:checked + .pb-details-container + .readmore-button > a > i {
  transform-origin: center;
  -ms-transform-origin: center;
  -moz-transform-origin: center;
  -o-transform-origin: center;
  -webkit-transform-origin: center;
  transform: rotate(180deg);
  -ms-transform: rotate(180deg);
  -webkit-transform: rotate(180deg);
}

.readmore-box:checked + .pb-details-container + .readmore-button > a > .text::after {
  content: "Weniger anzeigen";
}

/* Postkarte */

#postkarte:hover {
  border: 5px solid var(--color1);
}

/* Actionbuttns */

.actionbutton {
  text-decoration: none;
  background-color: var(--color3);
  display: block;
  padding: 50px;
  color: white;
  text-align: center;
  font-size: var(--size-h3);
  /* text-shadow: -1px 1px 36px; */
  /* transform: rotate(-7deg); */
  margin-top: 100px;
  border: 3px solid var(--color3);
  box-shadow: 0 1rem 1rem rgb(0 0 0 / 30%);
}

.actionbutton.little {
  box-shadow: none;
  padding: 30px;
  font-size: var(--size-h4);
  margin-top: 0;
}

.boxgrid .actionbutton {
  display: flex;
  justify-content: center;
  align-items: center;
}

.actionbutton.no-space {
  margin-top: 0;
  margin-bottom: 0;
}

.actionbutton:hover {
  /* //background-color: rgba(227, 0, 69, 0.5); color3 with opacity */
  border: 3px solid var(--color1);
}

.actionbutton i {
  margin-right: 0.6em;
}

.actionbutton.small {
  padding: 30px;
}

/* PM grid */

#presse {
  display: flex;
  flex-direction: column;
}

#presse li {
  list-style: none;
  border-bottom: 1px solid #D0D0D0;
}

#presse li:last-child {
  border-bottom: none;
}

#presse li a {
  display: flex;
  flex-direction: row;
  align-items: center;
  gap: 2em;
  justify-content: space-between;
  padding: 25px;
  text-decoration: none;
  border: none;
}

#presse li a p {
  font-size: var(--size-h4);
  text-align: left;
  padding-bottom: 0;
}

#presse li a p:last-child {
  font-size: var(--size-normal);
  text-align: right;
  width: 30em;
}

#presse li a p:first-child {
  font-size: calc(var(--size-h4) + 0.7em);
}

#presse li a span {
  display: inline-block;
}

#presse li a:hover {
  background-color: #D0D0D0;
}

/* Slideshow */

.slideshow {
  display: block;
  position: relative;
  margin-left: auto;
  margin-right: auto;
  width: 900px;
  padding: 20px 15px;
  /* //background-color: var(--color1) */
}

.slide {
  width: 100%;
  position: absolute;
  z-index: 1;
  top: 50px;
  left: 50px;
  display: none;
  transition: 1s ease-in-out;
  -ms-transition: 1s ease-in-out;
  -o-transition: 1s ease-in-out;
  -moz-transition: 1s ease-in-out;
  -webkit-transition: 1s ease-in-out;
  /* //box-shadow: 0px 0px 5px var(--color2);
  //filter: blur(4px); */
}

.slide img {
  width: 100%;
}

.slide h3,
.slide p {
  color: var(--color2);
  opacity: 0;
  transition: 1s ease-in-out;
  -ms-transition: 1s ease-in-out;
  -o-transition: 1s ease-in-out;
  -moz-transition: 1s ease-in-out;
  -webkit-transition: 1s ease-in-out;
  text-align: center;
  font-family: frutiger;
}

.slide h3 {
  padding-top: 20px;
  padding-bottom: 10px;
  font-size: 1.2em;
  /* //font-family: bebas-neue;
  //color: var(--color3) */
}

#active p,
#active h3 {
  opacity: 1;
}

#active {
  position: relative;
  display: block;
  width: 100%;
  z-index: 3;
  visibility: visible;
  top: 0;
  left: 0;
  /* //filter: blur(0); */
  opacity: 1;
}

#s1 {
  top: 0;
  left: 0;
  display: block;
  transform: matrix(0.8, 0, 0, 0.8, 350, 20);
  -webkit-transform: matrix(0.8, 0, 0, 0.8, 350, 20);
  z-index: 2;
  /* //opacity: 0; */
}

#s-1 {
  top: 0;
  left: 0;
  display: block;
  transform: matrix(0.8, 0, 0, 0.8, -350, 20);
  -webkit-transform: matrix(0.8, 0, 0, 0.8, -350, 20);
  z-index: 2;
}

#s2 {
  top: 0;
  left: 0;
  display: block;
  transform: matrix(0.65, 0, 0, 0.65, 600, 30);
  -webkit-transform: matrix(0.65, 0, 0, 0.65, 600, 30);
  z-index: 1;
}

#s-2 {
  top: 0;
  left: 0;
  display: block;
  transform: matrix(0.65, 0, 0, 0.65, -600, 30);
  -webkit-transform: matrix(0.65, 0, 0, 0.65, -600, 30);
  z-index: 1;
}

.slideshow-button {
  border: none;
  cursor: pointer;
  margin: 0;
  position: absolute;
  top: 300px;
  -ms-transform: translateY(-50%);
  -webkit-transform: translateY(-50%);
  transform: translateY(-50%);
  height: 50px;
  width: 50px;
  font-size: 2em;
  color: white;
  background-color: var(--color2);
  /* //box-shadow: -1px -1px 15px black; */
  z-index:5;
}

.slideshow-button:hover {
  background-color: var(--color1);
}

.arrow-left {
  left: -50px;
}

.arrow-right {
  right: -50px;
}

/* POLITIKER_INNEN  */

.politiker-innen {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(200px, 1fr));
  gap: 3rem;
}

.politiker-in {
  width: 100%;
  height: 320px;
  background-color: transparent;
  perspective: 1000px;
}

.pol-inner {
  width: 100%;
  height: 100%;
  position: relative;
  transition: transform 0.8s;
  transform-style: preserve-3d;
}

.politiker-in:hover .pol-inner {
  transform: rotateY(-180deg);
}

.pol-front,
.pol-back {
  position: absolute;
  -webkit-backface-visibility: hidden;
  backface-visibility: hidden;
}

.pol-front {
  width: 100%;
  height: 100%;
}

.pol-front img {
  width: 100%;
  height: 320px;
  object-fit: cover;
  object-position: top;
}

.pol-front figcaption {
  position: absolute;
  background-color: var(--color2);
  padding: 10px;
  bottom: 0;
}

.pol-back {
  text-align: center;
  background-color: var(--color2);
  transform: rotateY(-180deg);
  padding: 20px;
  height: calc(100% - 40px);
  width: calc(100% - 40px);
}

.pol-back p {
  text-align: left;
}

.pol-back img {
  border-radius: 50%;
  height: 75px;
  width: 75px;
  object-fit: cover;
  object-position: top;
  margin-left: auto;
  margin-right: auto;
  margin-top: 10px;
  margin-bottom: 15px;
  display: block;
}

.pol-back .name,
.pol-back .name + p {
  font-family: frutiger;
  font-size: var(--size-h4);
}

.pol-back .name {
  padding-bottom: 0;
}

/**********
Wanderausstellung
**********/

.layout {
  width: min(100vw, 1700px);
  max-width: 100%;
  /* display: flex; */
  justify-content: space-around;
  margin-left: auto;
  margin-right: auto;
}

.ausstellung-content {
  width: 700px;
  padding-left: 2em;
  padding-right: 2em;
  margin-bottom: 5em;
  margin-left: auto;
  margin-right: auto;
}

.ausstellung-content h1,
.ausstellung-content h2 {
  padding-top: 0.5em;
  color: var(--color1);
}

.sidebar,
.sidebar-label {
  width: var(--sidebar-width);
}

.sidebar {
  flex-shrink: 0;
  display: flex;
  flex-direction: column;
  height: 100vh;
  overflow-y: auto;
  overflow-x: hidden;
  gap: 0.4em;
  position: fixed;
  top: 280px;
  left: calc(50vw - 750px);
  max-height: calc(100vh - 280px);
  transition: transform 0.3s ease;
  z-index: 150;
}


#menu.is-stuck ~ .layout .sidebar {
  transform: translateY(-100px);
  max-height: calc(100vh - 180px);
}

.sidebar a:first-child {
  margin-bottom: 2em;
}

.sidebar a:last-child {
  margin-bottom: 1em;
}

.sidebar a,
.sidebar-label  {
  border-bottom: none;
  display: flex;
  align-items: center;
  position: relative;
  overflow: hidden;
  font-size: 1em;
  padding: 1em;
  flex-shrink: 0;
  color: whitesmoke;
  gap: 0.5em;
}

.sidebar a::after {
  content: '';
  position: absolute;
  inset: 0;
  background-color: var(--color2);
  z-index: -2;
}

.sidebar a::before {
  content: '';
  position: absolute;
  inset: 0;
  background-color: var(--color1);
  transform: translateX(-100%);
  transition: transform 0.3s ease;
  z-index: 1;
}

.sidebar a:hover::before,
.sidebar .active::before {
  border-bottom: none;
  /* background-color: var(--color2); */
  transform: translateX(0);
}

.sidebar span,
.sidebar-label span {
  flex: 1;
  line-height: 1.3;
}

.sidebar span,
.sidebar i,
.sidebar-label span,
.sidebar-label i {
  z-index: 2;
}

#sidebar-toggle,
.sidebar-label {
  display: none;
}

.grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(300px, 1fr));
  gap: 2em;
  margin-top: 2em;
}

.grid > * {
  padding-top: 2em;
  padding-right: 2em;
  padding-left: 2em;
  padding-bottom: 1em;
  color: whitesmoke;
  display: flex;
  justify-content: center;
  flex-direction: column;
}

.grid > * i {
  color: whitesmoke;
  margin-left: auto;
  margin-right: auto;
  display: block;
  width: fit-content;
  margin-bottom: 1em;
}

.grid > * h5 {
  font-size: 1.5em;
  line-height: 1.3;
  padding-top: 0.3em;
  margin-left: auto;
  margin-right: auto;
  text-align: center;
}

.grid > * p {
  text-align: center;
}

.grid > * i::before {
  font-family: "Font Awesome 6 Pro";
  font-weight: 400;
}

.grid > * i::after {
  font-size: 1em;
  font-family: frutiger;
  padding-left: 0.5em;
}

.grid > a,
.grid > label {
  position: relative;
  overflow: hidden;
  cursor: pointer;
  border-bottom: none;
}

.grid > a::before,
.grid > label::before {
  content: '';
  position: absolute;
  inset: 0;
  background-color: rgba(255, 255, 255, 0.2);
  transform: translateX(-100%);
  transition: transform 0.3s ease;
  z-index: 1;
}

.grid > a:hover::before,
.grid > label:hover::before {
  transform: translateX(0);
}

.grid label {
  background-color: var(--color2);
}

.glossar,
.grid .vernetzung {
  background-color: #888b87;
}

.glossar i::before {
  content: "\e1ca";
}

.glossar i::after {
  content: "Glossar";
}

.vernetzung i::after {
  content: "Vernetzung";
}

.signal i::before {
  /* font-family: "Font Awesome 6 Brands";
  content: "\e663"; */
  content: "\f075";
}

.email i::before {
  content: "\f0e0";
}

.kontakte-vor-ort i::before {
  content: "\f086";
}

.selfie i::after {
  content: "Selfie";
}

.selfie i::before {
  content: "\f030";
}

.download {
  background-color: var(--color3);
}

.download i::before {
  content: "\f019";
}

.download i::after {
  content: "Download";
}

.diskussionsimpuls {
  background-color: #008D8E;
}

.diskussionsimpuls i::before {
  content: "\f059";
}

.diskussionsimpuls i::after {
  content: "Diskussionsimpuls";
}

.further-read i::before {
  font-family: "Font Awesome 6 Brands";
  content: "\f4d5";
}

.further-read i::after {
  content: "Weiterlesen";
}

.further-video i::before {
  content: "\f03d";
}

.further-video i::after {
  content: "Video";
}

.cb-info-block,
#cb-block-101,
#cb-block-102,
#cb-block-103,
#cb-block-104 {
  display: none;
}

.info-block-wrapper {
  display: grid;
  overflow: hidden;
  grid-template-rows: 0fr;
  transition: grid-template-rows 0.4s ease-out;
}

.cb-info-block:checked ~ .info-block-wrapper,
#cb-block-101:checked + .info-block-wrapper,
#cb-block-102:checked + .info-block-wrapper,
#cb-block-103:checked + .info-block-wrapper,
#cb-block-104:checked + .info-block-wrapper  {
  grid-template-rows: 1fr;
}

.info-block {
  border: 1px solid var(--color2);
  padding: 1em;
  margin-top: 2em;
  overflow: hidden;
}

.info-block h4 {
  scroll-margin-top: var(--topmenu-height);
}

#block-101,
#block-102,
#block-103 {
  border-color: #888b87;
}

.img-block {
  display: flex;
  align-items: center;
  margin-bottom: 1em;
  gap: 1em;
}

.ausstellung-content img {
  max-width: 200px;
}

#fotoaktion {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(160px, max-content));
  gap: 1em;
}

#fotoaktion .foto-container img.foto {
  max-width: 100%;
  cursor: pointer;
  aspect-ratio: 1 / 1;
  object-fit: cover;
}

#foto-modal-img {
  max-width: 80vw;
  max-height: 80vh;
}

/* Open state of the dialog  */
dialog[open] {
  opacity: 1;
  transform: scale(1);
}

/* Closed state of the dialog   */
dialog {
  opacity: 0;
  transform: scale(0.5);
  transition: all 0.4s ease-out allow-discrete;
}

/* Before open state  */
/* Needs to be after the previous dialog:open rule to take effect,
    as the specificity is the same */
@starting-style {
  dialog[open] {
    opacity: 0;
    transform: scale(0.5);
  }
}

/* Transition the :backdrop when the dialog modal is promoted to the top layer */
dialog::backdrop {
  background-color: transparent;
  transition: all 0.4s ease-out allow-discrete;
}

dialog[open]::backdrop {
  background-color: rgb(0 0 0 / 35%);
  cursor: pointer;
}

/* This starting-style rule cannot be nested inside the above selector
because the nesting selector cannot represent pseudo-elements. */
@starting-style {
  dialog[open]::backdrop {
    background-color: transparent;
  }
}



.aktuell {
  border: 3px solid var(--color2);
  margin-bottom: 40px;
}

.success,
.error {
  padding: 2em;
  margin-bottom: 1em;
}

.success {
  background-color: rgb(97, 176, 97);
}

.error {
  background-color: rgb(226, 117, 117);
}

.center-width.aktuell {
  padding: 0;
}

.aktuell label a h2 {
  font-family: bebas-neue;
  text-align: center;
  font-size: var(--size-h1);
  padding: 0.6em;
}

.aktuell label {
  cursor: pointer;
}

.aktuell-readmore-box {
  display: none;
}

.aktuell-readmore-box + .aktuell > .aktuell-more {
  max-height: 0;
  transition: visibility 0s, max-height 1.5s ease;
  -ms-transition: visibility 0s, max-height 1.5s ease;
  -o-transition: visibility 0s, max-height 1.5s ease;
  -moz-transition: visibility 0s, max-height 1.5s ease;
  -webkit-transition: visibility 0s, max-height 1.5s ease;
  overflow: hidden;
}

.aktuell-readmore-box:checked + .aktuell > .aktuell-more {
  max-height: 2500px;
  padding: 15px;
}

.aktuell-readmore-box + .aktuell label a h2 {
  color: var(--color2);
}

.aktuell-readmore-box + .aktuell:hover label a h2,
.aktuell-readmore-box:checked + .aktuell label a h2 {
  background-color: var(--color2);
  color: white;
}

.aktuell-readmore-box:checked + .aktuell {
  color: black;
}

.aktuell label a h2 i {
  padding-left: 0.5em;
  padding-right: 0.5em;
  transition: transform 0.5s linear;
  -ms-transition: transform 0.5s linear;
  -o-transition: transform 0.5s linear;
  -moz-transition: transform 0.5s linear;
  -webkit-transition: transform 0.5s linear;
}

.aktuell-readmore-box:checked + .aktuell label a h2 i {
  transform-origin: center;
  -ms-transform-origin: center;
  -moz-transform-origin: center;
  -o-transform-origin: center;
  -webkit-transform-origin: center;
}

.aktuell-readmore-box:checked + .aktuell label a h2 i:first-child {
  transform: rotate(90deg);
  -ms-transform: rotate(90deg);
  -webkit-transform: rotate(90deg);
}

.aktuell-readmore-box:checked + .aktuell label a h2 i:last-child {
  transform: rotate(-90deg);
  -ms-transform: rotate(-90deg);
  -webkit-transform: rotate(-90deg);
}

.aktuell-more h2 {
  font-family: bebas-neue;
  text-align: center;
  letter-spacing: 0.04em;
}

.aktuell-more p,
.aktuell-more h4,
.aktuell-more td {
  color: var(--color-grey);
}

.aktuell-more td {
  vertical-align: top;
}

.img-box {
  float: right;
  margin: 2em; 
  margin-right: 0; 
  max-width: 400px;
}


/* MODAL */

.img-modal-checkbox {
    display: none;
}

label > img {
    cursor: pointer;
}

.img-modal {
    position: fixed;
    top: 0;
    left: 0;
    display: flex;
    justify-content: center;
    flex-direction: column;
    gap: 2em;
    align-items: center;
    z-index: 300;
    height: 100%;
    width: 100%;
    pointer-events: none;
}

.img-modal h1,
.img-modal h2,
.img-modal h3,
.img-modal h4,
.img-modal h5 {
    font-family: 'Trebuchet MS', sans-serif;
    text-transform: none;
}

#image1-modal-background,
#image2-modal-background {
    pointer-events: none;
    opacity: 0;
    transition: opacity 0.3s ease;
    position: fixed;
    top: 0;
    left: 0;
    background: rgba(0, 0, 0, 0.5);
    width: 100%;
    height: 100%;
    z-index: 200;
}

/* When checkbox is checked, show modal */
#image1-toggle:checked ~ .img-modal.image1 > .img-modal-content,
#image1-toggle:checked ~ .img-modal.image1 > .img-modal-close-button,
#image2-toggle:checked ~ .img-modal.image2 > .img-modal-content,
#image2-toggle:checked ~ .img-modal.image2 > .img-modal-close-button {
    pointer-events: auto;
    opacity: 1;
    transform: scale(1);
    transition: transform 0.3s ease;
}

#image1-toggle:checked ~ #image1-modal-background,
#image2-toggle:checked ~ #image2-modal-background {
    pointer-events: auto;
    opacity: 1;
    transition: opacity 0.3s ease;
}

.img-modal-content {
    background: var(--bg);
    pointer-events: none;
    opacity: 0;
    transform: scale(0.95);
    transition: transform 0.3s ease;
    padding: 2rem;
    max-width: 95%;
    width: 800px;
    height: 80vh;
    overflow: auto;
    color: var(--dark-green);
    z-index: 300;
}

.img-modal-content h1 {
    width: 100%;
}

.img-modal-content p {
    margin-bottom: 1em;
}

.img-modal-content img {
    margin-left: auto;
    margin-right: auto;
    max-width: 100%;
}

.img-modal-content:has(img) {
    width: min(95%, 900px);
    /* max-width: fit-content; */
    padding: 1rem;
    height: auto;
}

.img-modal-link {
    cursor: pointer;
    text-decoration: underline;
}

.img-modal-close-button {
    pointer-events: none;
    opacity: 0;
    transform: scale(0.95);
    padding: 0.5rem 1rem;
    font-family: 'Trebuchet MS', sans-serif;
    font-size: 1.5rem;
    color: var(--dark-green);
    background-color: var(--bg);
    border-radius: 5px;
    cursor: pointer;
    z-index: 350;
    background-color: whitesmoke;
}

/* FOOTER */

#footer {
  position: fixed;
  bottom: -80px;
  right: -110px;
  height: 222px;
  width: 750px;
  overflow: hidden;
  transition: transform 0.3s ease-out;
  -ms-transition: transform 0.3s ease-out;
  -o-transition: transform 0.3s ease-out;
  -moz-transition: transform 0.3s ease-out;
  -webkit-transition: transform 0.3s ease-out;
  z-index: 10;
}

#footer:hover {
  /* bottom: 0px;
  right: 0; */
  transform: translate(-20px, -70px);
  -webkit-transform: translate(-20px, -70px);
  -ms-transform: translate(-20px, -70px);
}

.footer-element {
  position: absolute;
  transform-origin: top left;
  -ms-transform-origin: top left;
  -moz-transform-origin: top left;
  -o-transform-origin: top left;
  -webkit-transform-origin: top left;
  transform: rotate(-7deg);
  -ms-transform: rotate(-7deg);
  -webkit-transform: rotate(-7deg);
  width: 600px;
  height: 200px;
  box-shadow: -1px -1px 15px black;
}

.main-footer ul {
  padding: 50px;
  padding-top: 30px;
  transform-origin: top left;
  -ms-transform-origin: top left;
  -moz-transform-origin: top left;
  -o-transform-origin: top left;
  -webkit-transform-origin: top left;
  transform: rotate(7deg);
  -ms-transform: rotate(7deg);
  -webkit-transform: rotate(7deg);
}

.main-footer ul li a {
  text-decoration: none;
  border-bottom: none;
  color: white;
  font-family: frutiger;
}

.main-footer ul li {
  text-transform: uppercase;
  padding: 10px;
  margin-bottom: 0.4em;
}

.main-footer ul li:hover a {
  color: var(--color1);
}

.main-footer {
  top: 44px;
  right: -278px;
}

.secondary-footer {
  top: 94px;
  right: -117px;
  z-index: -1;
}

.tertiary-footer {
  position: absolute;
  top: 130px;
  right: -4px;
  z-index: -2;
}

@media(max-width: 1500px) {
  .sidebar {
    left: 0;
  }

  .ausstellung-content {
    margin-left: var(--sidebar-width);
  }
}

@media(max-width: 1450px) {
  .title {
    top: 91px;
    left: calc(50vw - 580px);
  }

  .is-stuck .title {
    transform: scale(0.7) translate(-113px, -51px);
  }

  .title h1 {
    font-size: 2.3em;
  }
}

@media(max-width: 1300px) {
  #menu.is-stuck .center-width {
    width: 55vw;
  }
  #menu.is-stuck ul li {
    font-size: 1.3em;
  }

  .is-stuck .verdi-angle {
    transform: rotate(-7deg) translate(-75px, -64px);
    -webkit-transform: rotate(-7deg) translate(-75px, -64px);
    -moz-transform: rotate(-7deg) translate(-75px, -64px);
  }

  .is-stuck .title {
    transform: scale(0.7) translate(-44px, -62px);
  }
}

@media(max-width: 1200px) {
  #header {
    height: 0;
  }

  .verdi-angle {
    width: 29vw;
    height: calc(4vw + 59px);
  }

  .is-stuck .verdi-angle {
    transform: rotate(-7deg) translate(0, 0);
    -webkit-transform: rotate(-7deg) translate(0, 0);
    -moz-transform: rotate(-7deg) translate(0, 0);
  }

  .verdi-logo {
    right: min(50px, 5vw);  
  }

  .verdi-logo img {
    width: 100px;
  }

  .verdi-logo::before {
    width: 42px;
    height: 42px;
    top: 44px;
    left: 3px;
  }

  .is-stuck .verdi-logo,
  .verdi-logo {
    transform: none;
  }

  .title {
    top: 26px;
    left: calc(29vw - 240px);
  }

  .is-stuck .title {
    transform: none;
  }

  .title h1 {
    font-size: 1.8em;
  }

  #menu .center-width,
  #menu.is-stuck .center-width {
    height: fit-content;
    width: min(100vw, 800px);
    padding-left: 0;
    padding-right: 0;
    padding-bottom: 20px;
    padding-top: 95px;
  }

  #menu ul {
    padding-bottom: 0;
  }

  .sidebar {
    top: 180px;
    max-height: calc(100vh - 180px);
  }

  #menu.is-stuck ~ .layout .sidebar {
    transform: translateY(-20px);
    max-height: calc(100vh - 180px + 20px);
  }

  #footer {
    bottom: -130px;
    right: -180px;
    height: 222px;
    width: 450px;
  }

  #footer:hover {
    transform: translate(0px, -1.8em);
    -webkit-transform: translate(0px, -1.8em);
    -moz-transform: translate(0px, -1.8em);
  }

  .main-footer ul {
    font-size: 0.8em;
    padding-left: 27px;
    padding-top: 15px;
  }

  .main-footer ul li {
    margin-bottom: 0.5em;
    padding: 0;
  }

  .secondary-footer {
    top: 68px;
    right: -231px;
  }

  .tertiary-footer {
    top: 87px;
    right: -195px;
  }
}

@media(max-width: 1100px) {
  :root {
    --sidebar-width: 300px;
  }

  .ausstellung-content {
    flex: 1;
  }

  .sidebar a,
  .sidebar-label {
    font-size: 0.83em;
  }

  .ausstellung-content {
    width: auto;
  }
}

@media(max-width: 970px) {
  .center-width {
    width: calc(100vw - 30px);
    padding-left: 15px;
    padding-right: 15px;
  }

  .textbox {
    width: calc(100vw - 60px);
    padding-left: 30px;
    padding-right: 30px;
  }
}

@media(max-width: 900px) {
  .title {
    top: 31px;
    left: calc(29vw - 200px);
  }

  .title h1 {
    font-size: 1.5rem;
  }

  .sidebar-label {
    display: flex;
    z-index: 50;
    position: sticky;
    left: 0;
    top: calc(50vw * 0.1 + 112px);
    /* transform: translate(calc(50vw - 350px), calc(50vh - 50%)); */
    background-color: var(--color2);
    color: whitesmoke;
    transition: transform 0.3s ease;
  }

  .sidebar-label span {
    padding-left: 1em;
    line-height: 1.3;
  }

  .sidebar,
  #menu.is-stuck ~ .layout .sidebar {
    position: fixed;
    z-index: 50;
    transform: translate(-50%, -100%);
    transition: transform 0.3s ease;
    left: 50%;
    top: 0;
    padding-top: 2em;
    padding-bottom: 2em;
    height: calc(100vh - 4em);
    max-height: 100vh;
  }

  /* Slide in when checkbox is checked */
  #sidebar-toggle:checked ~ .layout .sidebar {
    transform: translateX(-50%);
  }

  #sidebar-toggle:checked ~ .sidebar-label {
    width: 1em;
    height: 1em;
    transform: translate(calc(50vw - 50% - 200px), 0px);
  }

  #sidebar-toggle:checked ~ .sidebar-label span {
    display: none;
  }

  /* Optional: dim backdrop when sidebar is open */
  .layout::after {
    content: "";
    position: fixed;
    inset: 0;
    background: rgba(0, 0, 0, 0.4);
    opacity: 0;
    pointer-events: none;
    transition: opacity 0.25s ease;
    z-index: 49;
  }

  #sidebar-toggle:checked ~ .layout::after {
    opacity: 1;
    pointer-events: auto;
  }
  
  .ausstellung-content {
    margin-left: auto;
  }
}

@media(max-width: 800px) {
  .verdi-angle {
    width: 232px;
    height: 91px;
  }

  .title {
    left: 32px;
  }

  #menu {
    margin-bottom: 20px;
  }
}

@media(max-width: 768px) {
  @media (orientation: landscape) {
    .textbox {
      margin-top: 20px;
    }
  }
  :root {
    --size-h1: 2.5em;
    --size-h2: 2em;
    --size-h3: 1.5em;
    --size-h4: 1.2em;
  }
  body {
    font-size: 0.9em;
  }
}

@media(max-width: 650px) {
  :root {
    --size-normal: 0.9em;
  }

  body {
    font-size: 0.85em;
  }

  .textbox {
    margin-top: 20px;
  }
}

@media(max-width: 550px) {
  .verdi-angle {
    width: 175px;
    height: 60px;
  }

  .title {
    left: 39px;
    top: 20px;
  }

  .title h1 {
    font-size: 1rem;
  }

  .is-stuck .verdi-logo,
  .verdi-logo {
    transform: scale(0.7);
    right: 0;
    top: -20px;
  }

  #menu {
    margin-bottom: 0;
  }

  #menu .center-width,
  #menu.is-stuck .center-width {
    padding-top: 60px;
  }

  #menu ul li,
  #menu.is-stuck ul li {
    font-size: 1.3em;
  } 

  .img-box {
    max-width: 100%;
    margin: 0;
    margin-bottom: 1em;
  }

  .sidebar-label {
    top: 9.5em;
  }

  #footer {
    width: 350px;
    height: 200px;
  }

  #footer:hover {
    transform: translate(-1em, -1.8em);
    -moz-transform: translate(-1em, -1.8em);
    -webkit-transform: translate(-1em, -1.8em);
  }

  .main-footer {
    top: 31px;
    right: -326px;
  }

  .main-footer ul {
    padding-left: 1.8em;
    padding-top: 1.2em;
  }

  .secondary-footer {
    top: 54px;
    right: -296px;
  }

  .tertiary-footer {
    top: 68px;
    right: -272px;
  }
}


@media(max-width: 500px) {
  #sidebar-toggle:checked ~ .layout .sidebar {
    transform: translateX(calc(50vw - 320px));
  }

  #sidebar-toggle:checked ~ .sidebar-label {
    transform: translate(calc(100vw - 370px), 0px);
  }
}

@media(max-width: 450px) {
  #menu ul li,
  #menu.is-stuck ul li {
    font-size: 1em;
  }
}


@media(max-width: 400px) {
  :root {
    --size-h3: 1.2em;
  }

  body {
    font-size: 0.8em;
  }

  #menu ul li,
  #menu.is-stuck ul li {
    font-size: 0.8em;
  }

  .sidebar,
  .sidebar-label,
  #menu.is-stuck ~ .layout .sidebar {
    width: 250px;
  }

  #sidebar-toggle:checked ~ .layout .sidebar {
    transform: translateX(calc(50vw - 270px));
  }

  #sidebar-toggle:checked ~ .sidebar-label {
    transform: translate(calc(100vw - 320px), 0px);
  }
}

@media(max-width: 385px) {
  :root {
    --size-h3: 1em;
  }

  .boxgrid {
    display: block;
  }

  .boxgrid .actionbutton,
  .boxgrid-element {
    margin-bottom: 15px;
  }
}