*,
*::before,
*::after {
  box-sizing: border-box;
  color: inherit;
  font-family: inherit;
  line-height: inherit;
}

@font-face {
  font-family: "Atkinson Hyperlegible Next";
  font-display: swap;
  src: url("/assets/fonts/AtkinsonHyperlegibleNextVF.woff2") format("woff2-variations");
  src: url("/assets/fonts/AtkinsonHyperlegibleNextVF.woff2") format(woff2) tech(variations);
  font-weight: 200 800;
  font-stretch: 75% 100%;
}

:root {
  --color-bg: rgb(255 255 255 / 0.9);
  --color1: hsl(81.6 51.02% 80.78%);
  --color2: hsl(165.83 34.29% 58.82%);
  --color3: #7E5CAD;
  --color4: #474E93;
	--color-total: #711c75;
	--color-inprogress: #f3e960;
	--color-accepted: #00c8a5;
	--color-waiting: #f3346f;/* #e48080; */ /* #fc774f;*/
	--color-cancelled: rgb(170 170 170 / 30%);
  --color-full: rgb(228 128 128 / 30%);
  --color-new: rgb(139 236 179 / 30%);
  --gap: 1rlh;
  --gutter: calc(0.5 * var(--gap));

  font-family: "Atkinson Hyperlegible Next";
  font-size: calc(100% + 0.3vw);
  line-height: 1.5;
  quotes: "“" "”" "‘" "”";
  &[lang="de"] {
    quotes: "„" "“" "," "‘";
  }
  -moz-text-size-adjust: none;
  -webkit-text-size-adjust: none;
  scroll-behavior: smooth;
  text-size-adjust: none;
}

:where(body, h1, h2, h3, h4, p, figure, blockquote, dl, dd, ol, ul, li, pre) {
  margin: 0;
}

[role="list"] {
  list-style: none;
  padding: 0;
}

:where(h1, h2, h3, h4) {
  text-wrap: balance;
}

body {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  grid-template-rows: auto 1fr auto;
  min-block-size: 100svh;
}

b {
  color: var(--color3);
  font-weight: 800;
}

em, i {
  font-style: normal;
  font-variation-settings: 'ital' 0.75;
}

h1 {
  font-size: 2em;
}
h2 {
  font-size: 1.5em;
}
h3 {
  font-size: 1.2em;
  line-height: 1.25;
}
[data-styling="section"] {
  background: hsl(from var(--color2) h s 90%);
  margin-block-start: var(--gap);
  inset-block-start: 0;
  padding-block: var(--gutter);
  padding-inline-start: var(--gutter);
  position: sticky;
}

img {
  max-inline-size: 100%;
  block-size: auto;
  display: block;
}
img[data-cover] {
  block-size: 100%;
  inline-size: 100%;
  object-fit: cover;
}

main {
  margin-inline: auto;
  max-inline-size: 60ch;
  padding: var(--gap) var(--gutter);

  @media print {
    max-inline-size: revert;
  }
}
main[data-layout="homepage"] {
  margin: 0;
  max-inline-size: revert;
  padding: 0;
}
main[data-layout="wide"],
main[data-layout="print"] {
  margin: 0;
  max-inline-size: revert;
}

main[data-layout=""],
:where(.stack) {
  & > * + * {
    margin-block-start: var(--gap);
  }
}

section,
#contentinfo {
  display: grid;
  grid-template-columns: [full-start] var(--gap) [main-start] repeat(12, 1fr) [main-end] var(--gap) [full-end];

  * {
    grid-column: main;
  }
}

section[data-layout-padded] {
    padding-block: calc(2 * var(--gap));
}

svg {
  display: block;
}

#banner {
  background: var(--color2);
  padding-block-start: var(--gutter);

  > nav {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    padding: var(--gutter) var(--gap);

    & > div {
      display: flex;
      gap: var(--gutter);
    }

    a {
      border-radius: 2rem;
      /* text-box-trim: trim-both; */
    }
    a[href$="/user/login"] {
      font-weight: 700;
    }
  }

  @media print {
    display: none;
  }
}
#banner-logo {
  margin-inline: auto;
  max-inline-size: 120px;
}
#toggle-user-nav {
  all: unset;
  cursor: pointer;
  font-weight: 700;

  &:target {
    animation: flash 2s ease-out;
    scroll-margin-block-start: 400px;
  }
}
#close-user-nav {
  all: unset;
  color: var(--color-bg);
  cursor: pointer;
  display: inline-block;
  margin-block-end: var(--gap);
}
#userNav {
  background: var(--color3);
  box-shadow: -5px 0 11px 0 rgb(0 0 0 / 0.2);
  height: 100vh;
  inline-size: min(12rem, 100vw);
  padding: var(--gap);
  position: fixed;
  inset-block-start: 0;
  inset-inline-end: 0;
  visibility: visible;
  z-index: 2;

  li + li {
    margin-block-start: var(--gutter);
  }

  a {
    color: var(--color-bg);
  }

  @media (prefers-reduced-motion: no-preference) {
    transition: transform 0.6s cubic-bezier(.68,-0.55,.27,1.55), visibility 0.3s linear;
  }
}
[aria-expanded="false"] + nav {
  transform: translateX(100%);
  visibility: hidden;
}

#contentinfo {
  background: #111;
  color: rgba(255, 255, 255, 0.9);
  row-gap: var(--gutter);
  padding-block: 4vh;

  h4 {
    font-size: 0.75em;
    line-height: 3;
    opacity: 0.5;
    text-transform: uppercase;
  }

  div {
    grid-column: main;

    * + * {
      margin-block-start: var(--gutter);
    }
  }

  a {
    color: rgba(255, 255, 255, 0.9);
    text-decoration: none;
    transition: color .3s ease-out;

    &:hover {
      color: var(--color2);
    }
  }

  @media (width >= 500px) {
    row-gap: initial;

    div:nth-child(1) {
      grid-column: 3 / span 4;
    }

    div:nth-child(2) {
      grid-column: 9 / span 4;
    }
  }

  @media (width >= 1100px) {
    div:nth-child(1) {
      grid-column: 5 / span 3;
    }

    div:nth-child(2) {
      grid-column: 8 / span 3;
    }
    #finePrint {
      grid-column: 8 / -1;
      justify-content: start;
    }
  }

  @media print {
    display: none;
  }
}

#finePrint {
  display: flex;
  flex-wrap: wrap;
  gap: var(--gap);
  grid-column: main;
  justify-content: center;
  margin-block-start: calc(3 * var(--gap));

  a {
    color: rgba(255, 255, 255, 0.3);
    font-size: 0.8em;
    line-height: 2;
    margin: 0;
  }
}

#sectionIntro {
  background: var(--color2);

  div:nth-child(1) {
    container-type: inline-size;
    grid-column: main;
    grid-row: 2;
    place-content: center;

    h1 {
      font-size: 22cqw;
      line-height: 0.8;

      span {
        display: block;
        font-size: 0.2em;
        line-height: 1.5;

        &:last-of-type {
          line-height: inherit;
          text-align: right;
        }
      }
    }

    p:last-of-type {
      padding-block-end: var(--gap);
    }
  }

  div:nth-child(2) {
    grid-column: full;
    grid-row: 1;

    img {
      clip-path: polygon(0 0, 100% 5%, 100% 100%, 0 95%);
    }
  }

  @media (width >= 750px) {
    min-block-size: 80dvh;

    div:nth-child(1) {
      grid-column: 2 / span 4;
      grid-row: 1;
    }

    div:nth-child(2) {
      grid-column: 6 / -1;
      grid-row: 1;

      img {
        clip-path: polygon(0 100%, 20% 0, 100% 40%, 100% 100%);
      }
    }
  }
}

#sectionUpcoming {
  ul {
    color: rgba(255, 255, 255, 0.9);
    display: flex;
    gap: var(--gap);
    grid-column: full;
    margin-block-start: var(--gap);
    overflow-x: auto;
    scroll-snap-type: x mandatory;
    padding-inline: var(--gap);

    li {
      background-color: var(--color3);
      border-radius: var(--gutter);
      flex: 0 0 300px;
      padding: var(--gap);
      position: relative;
      scroll-snap-align: center;
      transition: background-color 0.5s ease-out;

      &:hover {
        background-color: var(--color4);

        div {
          color: rgba(255, 255, 255, 0.7);
        }
      }

      div {
        margin-block-start: calc(1.5 * var(--gap));
        transition: color .5s ease-out;
      }

      time {
        background: var(--color1);
        border-radius: 1em;
        color: rgba(0, 0, 0, 0.7);
        font-size: 0.75em;
        font-weight: 500;
        left: var(--gap);
        line-height: 2;
        padding: 0.3em 0.5em;
        position: absolute;
        text-box-trim: trim-both;
        top: var(--gap);
      }
    }

    a {
      color: inherit;
      cursor: pointer;
      display: block;
      text-decoration: none;
    }
  }
}

#sectionNews {
  background: var(--color2);
  min-block-size: 50dvh;

  >:nth-child(1) {
    grid-row: 2;
    padding-block: var(--gap);

    time {
      color: rgba(255, 255, 255, 0.8);
      font-weight: 700;
    }
  }

  >:nth-child(2) {
    grid-column: full;
    grid-row: 1;
  }

  @media (width >= 1200px) {
    >:nth-child(1) {
      grid-column: 9 / span 4;
      grid-row: 1;
      place-content: center;
    }
    >:nth-child(2) {
      grid-column: full / span 8;
      grid-row: 1;

      img {
        clip-path: polygon(0 20%, 80% 10%, 95% 90%, 0 100%);
      }
    }
  }
}

#sectionTeam {
  img {
    grid-column: main / full-end;
  }
}

#sectionInsta {
  background: var(--color4);
  padding-block: calc(2 * var(--gap));

  ul {
    display: flex;
    flex-wrap: wrap;
    gap: var(--gap);
    grid-column: 2 / -2;
    justify-content: center;

    li {
      aspect-ratio: 4 / 5;
      flex: 1 1 150px;
      overflow: hidden;

      img {
        block-size: 100%;
        inline-size: 100%;
        object-fit: cover;
        transition: transform 0.5s ease-out;
      }

      &:hover img {
        transform: scale(1.2);
      }
    }
  }

  a {
    /* background: var(--color3); */
    border-radius: 2em;
    color: var(--color1);
    display: inline-block;
    font-weight: 700;
    letter-spacing: 0.03em;
    margin-inline: auto;
    padding: var(--gutter) var(--gap);
    position: relative;
    text-decoration: none;
    text-transform: uppercase;
    word-spacing: 0.08em;

    svg {
      position: absolute;
      block-size: 110%;
      display: block;
      inline-size: 100%;
      overflow: visible;
      stroke: var(--color1);
      stroke-width: 3px;
      stroke-linecap: round;
      stroke-linejoin: bevel;
      fill: none;
      top: -7%;
      left: 0
    }
  }
}

.event-grid {
  display: grid;
  gap: var(--gap);
  grid-template-columns: repeat(auto-fill, minmax(300px, 1fr));
}

.event-card {
  border: 2px solid var(--color3);
  border-radius: var(--gutter);
  cursor: pointer;
  padding: var(--gutter);

  p {
    margin-block-start: var(--gap);
  }

  time {
    margin-inline-start: var(--gutter);
  }

  h3:not([data-status=""])::after {
    content: " (" attr(data-status) ")";
  }

  &:has(h3[data-status="Storniert"]) {
    background: var(--color-cancelled);
  }
  &:has(h3[data-status="Ausgebucht"]) {
    background: var(--color-full);
  }
  &:has(h3[data-status="Neu"]) {
    background: var(--color-new);
  }
}


article h1:not([data-status=""])::after {
  content: " (" attr(data-status) ")";
}
article h1[data-status="Storniert"] {
  background: var(--color-cancelled);
}
article h1[data-status="Ausgebucht"] {
  background: var(--color-full);
}
article h1[data-status="Neu"] {
  background: var(--color-new);
}

.with-sidebar {
  display: flex;
  flex-wrap: wrap;
  gap: var(--gap);

  > aside {
    flex-basis: 12rem;
    flex-grow: 1;
  }

  > div {
    flex-basis: 0;
    flex-grow: 999;
    min-inline-size: 60%;
  }
}

[data-highlight="color"] {
  color: var(--color2);
}
[data-highlight="bold"] {
  font-weight: 700;
}

:root {
	--LinkColour: #000000;
	--LinkHoverColor: #888888;
	--BackgroundColour: #FFFFFF;
	--Colour1: #D8F7F1;
	--Colour2: #7EE1CF;
	--Colour3: #711c75;
	--ErrorTextColour: #FFFFFF;
	--ErrorTextBackgroundColour: #FF0000;
	
	--EventStatusTotalSpacesTextColour: white;
	--EventStatusTotalSpacesBackgroundColour: #711c75;
	--EventStatusInProgressTextColour: black;
	--EventStatusInProgressBackgroundColour: #f3e960;
	--EventStatusAcceptedTextColour: black;
	--EventStatusAcceptedBackgroundColour: #00c8a5;
	--EventStatusWaitingListTextColour: black;
	--EventStatusWaitingListBackgroundColour: #f3346f;/* #e48080; */ /* #fc774f;*/
	--EventStatusCancelledTextColour: black;
	--EventStatusCancelledBackgroundColour: #AAAAAA;
}

.ck-source-editing-area textarea { left: 0px; }

@media print { body, input, textarea, select, table, form { font-size: 15px; } }

a,
a:visited,
a:link {
	color: var(--LinkColour);
	text-decoration: none;
}
a:hover {
	color: var(--LinkHoverColor);
}
p a {
  text-decoration: underline !important;
}

.LinkHighlighted, .LinkHighlighted:visited, .LinkHighlighted:link {
	color: var(--Colour3);
	font-weight: bold;
}

.Smaller {
	font-size: 0.9em;
}

.Smaller1 {
	font-size: 0.9em;
}

.Smaller2 {
	font-size: 0.8em;
}

.Smaller3 {
	font-size: 0.7em;
}

.Smaller4 {
	font-size: 0.6em;
}

.Smaller5 {
	font-size: 0.5em;
}

.Larger {
	font-size: 1.1em;
}

.Larger1 {
	font-size: 1.1em;
}

.Larger2 {
	font-size: 1.2em;
}

.Larger3 {
	font-size: 1.3em;
}

.Larger4 {
	font-size: 1.4em;
}

.Larger5 {
	font-size: 1.5em;
}

.LeftAligned {
	text-align: left;
}

.RightAligned {
	text-align: right;
}

.CenterAligned {
	text-align: center;
}

.LeftFloat {
	float: right;
}

.RightFloat {
	float: right;
}

.LeftRightPadding {
	padding: 0px 5px 0px 5px;
}

.LeftRightMargin {
	margin: 0px 5px 0px 5px;
}

.MouseOver:hover {
	background-color: var(--Colour1);
}
.NoBreak {
	white-space: nowrap;
}

.Page {
	border: 1px solid var(--BackgroundColour);
}

.Width150px {
	width: 150px;
}

.Height400px {
	height: 400px;
}

.Header {
	width: 100%;
	height: 88px;
	background-color: var(--Colour1);
	border-top: 5px solid var(--Colour2);
	border-bottom: 5px solid var(--Colour2);
}

.Header .HeaderLeft {
	float: left;
	margin-top: 10px;
	margin-left: 10px;
}

@media print {
	.Header .HeaderLeft {
		display: none;
	}
	.Header .HeaderRight {
		display: none;
	}
	.ModeSelection {
		display: none;
	}
	.GotoTopIcon {
		display: none;
	}
	.LinkButton {
		display: none;
	}
}

.Hidden {
	display: none;
}

.Capitalized {
	text-transform: capitalize;
}

.UpperCase {
	text-transform: uppercase;
}

.LowerCase {
	text-transform: lowercase;
}

@media (max-width: 499px) {
	.Header .HeaderLeft {
		font-size: 2em;
		margin-top: 20px;
	}
}

@media (min-width: 500px) and (max-width: 699px) {
	.Header .HeaderLeft {
		font-size: 3em;
		margin-top: 10px;
	}
}

@media (min-width: 700px) and (max-width: 1199px) {
	.Header .HeaderLeft {
		font-size: 3em;
		margin-top: 10px;
	}
}

@media (min-width: 1200px) {
	.Header .HeaderLeft {
		display: none;
	}
}

.Header .HeaderRight {
	float: right;
	margin-top: 10px;
	margin-right: 10px;
}

@media (max-width: 499px) {
	.Header .HeaderRight {
		font-size: 2em;
		margin-top: 20px;
	}
}

@media (min-width: 500px) and (max-width: 699px) {
	.Header .HeaderRight {
		font-size: 3em;
		margin-top: 10px;
	}
}

@media (min-width: 700px) and (max-width: 1199px) {
	.Header .HeaderRight {
		font-size: 3em;
		margin-top: 10px;
	}
}

@media (min-width: 1200px) {
	.Header .HeaderRight {
		font-size: 3em;
		margin-top: 10px;
	}
}

.Header .HeaderLogo {
	text-align: center;
	margin-top: 10px;
}

/* @media (min-width: 0px)   and (max-width: 299px)  { .Header .HeaderLogo img { width:   0px; height:  0px; padding-top: 0px; } }
@media (min-width: 300px) and (max-width: 349px)  { .Header .HeaderLogo img { width: 110px; height: 53px; padding-top: 10px; } }
@media (min-width: 350px) and (max-width: 399px)  { .Header .HeaderLogo img { width: 153px; height: 75px; padding-top: 0px; } }
@media (min-width: 400px) and (max-width: 449px)  { .Header .HeaderLogo img { width: 153px; height: 75px; padding-top: 0px; } }
@media (min-width: 450px) and (max-width: 1199px) { .Header .HeaderLogo img { width: 153px; height: 75px; padding-top: 0px; } } */

@media (min-width: 0px)   and (max-width: 299px)  { .Header .HeaderLogo img { width:   0px; height:  0px; padding-top: 0px; }  .HeaderLogoImgFade { display: none; } .HeaderLogoImgTrans { display:     ; } }
@media (min-width: 300px) and (max-width: 349px)  { .Header .HeaderLogo img { width: 110px; height: 53px; padding-top: 10px; } .HeaderLogoImgFade { display: none; } .HeaderLogoImgTrans { display:     ; } }
@media (min-width: 350px) and (max-width: 399px)  { .Header .HeaderLogo img { width: 153px; height: 75px; padding-top: 0px; }  .HeaderLogoImgFade { display: none; } .HeaderLogoImgTrans { display:     ; } }
@media (min-width: 400px) and (max-width: 449px)  { .Header .HeaderLogo img { width: 153px; height: 75px; padding-top: 0px; }  .HeaderLogoImgFade { display: none; } .HeaderLogoImgTrans { display:     ; } }
@media (min-width: 450px) and (max-width: 499px)  { .Header .HeaderLogo img { width: 153px; height: 75px; padding-top: 0px; }  .HeaderLogoImgFade { display: none; } .HeaderLogoImgTrans { display:     ; } }
@media (min-width: 500px) and (max-width: 699px)  { .Header .HeaderLogo img { width: 200px; height: 105px; padding-top: 0px; } .HeaderLogoImgFade { display:     ; } .HeaderLogoImgTrans { display: none; } }
@media (min-width: 700px) and (max-width: 1199px) { .Header .HeaderLogo img { width: 250px; height: 132px; padding-top: 0px; } .HeaderLogoImgFade { display:     ; } .HeaderLogoImgTrans { display: none; } }
/* width: 250px; height: 132px; margin-top: 15px; */
@media (min-width: 1200px) {
	.Header .HeaderLogo {
		display: none;
	}
}

.LeftNav {
	position: absolute;
	left: 0px;
	top: 0px;
	width: 340px;
	z-index: 999;
}

.UserNav {
	position: absolute;
	right: 0px;
	top: 100px;
	width: 340px;
	z-index: 999;
	border: 1px solid var(--Colour2);
	background-color: var(--BackgroundColour);
	padding-bottom: 20px;
}

@media (max-width: 499px) {
	.UserNav {
		font-size: 0.5em;
	}
}

@media (min-width: 500px) {
	.UserNav {
		font-size: 0.33em;
	}
}

@media (max-width: 1199px) {
	.LeftNav {
		top: 90px;
		border: 1px solid var(--Colour2);
		background-color: var(--BackgroundColour);
		padding-bottom: 20px;
	}
	.LeftNavHidden {
		display: none;
	}
}

@media (min-width: 1200px) {
	.LeftNav {
		top: 0px;
		border: 0px;
		background-color: none;
	}
	.LeftNavHidden {
		display: inherit;
	}
}

.LeftNav .Logo {
	text-align: center;
	margin-top: 30px;
}

@media (max-width: 1199px) { .LeftNav .Logo { display: none; } }
@media (min-width: 1200px) { .LeftNav .Logo img { width: 250px; height: 132px; margin-top: 15px; } }
/* @media (min-width: 1200px) { .LeftNav .Logo img { width: 300px; height: 159px; margin-top: 15px; } } */

.LeftNav .Title, .UserNav .Title {
	margin-top: 20px;
	text-align: center;
	font-size: 1.75em;
}

.LeftNav .Link, .UserNav .Link {
	margin: 15px 25px 0px 25px;
	padding: 10px;
	cursor: pointer;
	border: 5px solid var(--Colour3);
}

.LeftNav .Link a, .UserNav .Link a {
	padding-left: 85px;
	font-size: 1.5em;
}

.LeftNav .Link .Icon, .UserNav .Link .Icon {
	position: absolute;
	left: 35px;
	font-size: 2.5em;
	background-color: var(--BackgroundColour);
	padding: 5px 5px 0px 5px;
}

.LeftNav .LinkActive, .UserNav .LinkActive {
	margin: 15px 25px 0px 25px;
	padding: 10px;
	cursor: pointer;
	border: 5px solid var(--Colour2);
}

.LeftNav .LinkActive a, .UserNav .LinkActive a {
	padding-left: 85px;
	font-size: 1.5em;
}

.LeftNav .LinkActive .Icon, .UserNav .LinkActive .Icon {
	position: absolute;
	left: 35px;
	font-size: 2.5em;
	background-color: var(--BackgroundColour);
	padding: 5px 5px 0px 5px;
}

.MainContent {
	position: absolute;
	top: 120px;
	padding-bottom: 75px;
	text-align: center;
	min-height: 700px;
}

@media (max-width: 1199px) {
	.MainContent {
		left: 10px;
		width: calc(100% - 20px);
	}
}

@media (min-width: 1200px) {
	.MainContent {
		left: 340px;
		width: calc(100% - 360px);
	}
}

.Footer {
	position: fixed;
	bottom: 0px;
	left: 0px;
	right: 0px;
	text-align: center;
	padding: 5px 0px 5px 0px;
	font-size: 1.2em;
	background-color: var(--Colour1);
	border-top: 5px solid var(--Colour2);
	border-bottom: 5px solid var(--Colour2);
	z-index: 1000;
}

@media print {
	.Footer {
		display: none;
	}
}

@media (max-width: 599px) {
	.Footer {
		font-size: 0.7em;
	}
}

@media (min-width: 600px) and (max-width: 719px) {
	.Footer {
		font-size: 0.8em;
	}
}

@media (min-width: 720px) and (max-width: 799px) {
	.Footer {
		font-size: 0.9em;
	}
}

@media (min-width: 800px) and (max-width: 899px) {
	.Footer {
		font-size: 1.1em;
	}
}

@media (min-width: 900px) {
	.Footer {
		font-size: 1.2em;
	}
}

.Footer a {
	padding: 0px 10px 0px 10px;
}

.StandardBox {
	border: 5px solid var(--Colour3);
}

.ErrorText {
	border-radius: 5px;
	border: 1px solid #FF8888;
	background-color: var(--ErrorTextBackgroundColour);
	color: var(--ErrorTextColour);
	font-weight: bold;
	padding: 5px 10px 5px 10px;
	margin: 10px 10px 10px 10px;
}

.LinkButton,
.LinkButton:visited,
.LinkButton:link {
	border-radius: 5px;
	border: 1px solid var(--color2);
  background: hsl(from var(--color2) h s 90%);
	padding: 5px 10px 5px 10px;
	margin: 5px 5px 5px 5px;
	white-space: nowrap;
	line-height: 2em;
}

.LinkButton:hover {
}

.LinkPointer {
	cursor: pointer;
}

.SpacingTop {
	margin-top: 10px;
}

.SpacingBottom {
	margin-bottom: 10px;
}

.StandardForm {
	width: 300px;
	margin-left: auto;
	margin-right: auto;
}

.StandardForm select,
.StandardForm textarea,
.StandardForm input[type=date],
.StandardForm input[type=text],
.StandardForm input[type=password] {
	border-radius: 5px;
	width: calc(100% - 20px);
	padding: 5px 10px 5px 10px;
	margin: 5px 0px 5px 0px;
}

.StandardForm .InputHeading {
	font-weight: bold;
	text-align: left;
}
.StandardForm .InputHeadingCenter {
	font-weight: bold;
	text-align: center;
}

.StandardForm .InputField {
	padding: 10px 0px 10px 0px;
}

.StandardFormWide {
	width: 100%;
	margin-left: auto;
	margin-right: auto;
}

.StandardFormWide select,
.StandardFormWide textarea,
.StandardFormWide input[type=date],
.StandardFormWide input[type=text],
.StandardFormWide input[type=password] {
	border-radius: 5px;
	width: calc(100% - 20px);
	padding: 5px 10px 5px 10px;
	margin: 5px 0px 5px 0px;
}

.StandardFormWide .InputHeading {
	font-weight: bold;
	text-align: left;
}
.StandardFormWide .InputHeadingCenter {
	font-weight: bold;
	text-align: center;
}

.StandardFormWide .InputField {
	padding: 10px 0px 10px 0px;
}

.GridTextField      {              border:0px; padding: 5px; font-size: 0.75em; }
.GridTextField50px  { width: 50px; border:0px; padding: 5px; font-size: 0.75em; }
.GridTextField100px { width:100px; border:0px; padding: 5px; font-size: 0.75em; }
.GridTextField200px { width:200px; border:0px; padding: 5px; font-size: 0.75em; }
.GridTextField300px { width:300px; border:0px; padding: 5px; font-size: 0.75em; }
.GridTextField400px { width:400px; border:0px; padding: 5px; font-size: 0.75em; }
.GridTextField100percent { width:90%; border:0px; padding: 5px; font-size: 0.75em; }

.GridSelectField { border:0px; padding: 5px; font-size: 0.75em; }

.ListBox {
	display: inline-block;
	width: 280px;
	overflow: hidden;
	margin: 5px;
	font-size: 1em;
	font-weight: normal;
	text-align: center;
	border: 5px solid var(--Colour3);
}

.ListBoxHalfHeight {
	display: inline-block;
	width: 300px;
	height: 120px;
	overflow: hidden;
	margin: 5px;
	font-size: 1em;
	font-weight: normal;
	text-align: center;
	border: 5px solid var(--Colour3);
}

.ListBoxAutoHeight {
	display: inline-block;
	width: 300px;
	overflow: hidden;
	margin: 5px;
	font-size: 1em;
	font-weight: normal;
	text-align: center;
	border: 5px solid var(--Colour3);
}

.ListBoxInactive {
	display: inline-block;
	width: 300px;
	overflow: hidden;
	margin: 5px;
	font-size: 1em;
	font-weight: normal;
	text-align: center;
	border: 5px solid var(--Colour2);
}

.ListBoxFade {
  position: absolute;

  display: block;

  width: 300px;
  background-image: linear-gradient(
    to bottom, 
    rgba(255, 255, 255, 0), 
    rgba(255, 255, 255, 0) 160px, 
    rgba(255, 255, 255, 1) 200px);
}

.ListBox .Title, .ListBoxHalfHeight .Title, .ListBoxAutoHeight .Title, .ListBoxInactive .Title {
	font-weight: bold;
	padding: 10px 10px 10px 10px;
	text-transform: uppercase;
}

.ListBox .Content, .ListBoxHalfHeight .Content, .ListBoxAutoHeight .Content, .ListBoxInactive .Content {
	font-weight: normal;
	padding: 0px 10px 10px 10px;
}
.ListBox .Content p, .ListBoxHalfHeight .Content p, .ListBoxAutoHeight .Content p, .ListBoxInactive .Content p {
	margin: 5px 0px 5px 0px;
}

.ModeSelection {
  margin: 0 !important;
  position: fixed;
  top: 10px;
  right: 10px;
  z-index: 1;
}

.AktuellesSliderHeader {
	font-size: 2em;
	font-weight: bold;
	margin: 40px 0px 20px 0px;
}

.AktuellesSliderItem {
	display: flex;
	align-items: center;
	justify-content: center;
}
/* 
.AktuellesSliderItem .ListBox {
	height: 60px;
	display: flex;
	align-items: center;
	justify-content: center;
}
.AktuellesSliderItem .ListBox .Content {
	display: none;
} */

.EventSliderListBox {
	min-width: 200px;
	min-height: 150px;
	width: 80vh;
	height: calc(100vh - 90px - 200px - 100px);
	max-width: 90vh;
	max-height: 80vh;
}

.EventSliderHeader {
	font-size: 2em;
	font-weight: bold;
	margin: 40px 0px 20px 0px;
}

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

/* .EventSliderItem .ListBox {
	display: block;
	text-align: left;
 	width: 100%;
	height: 100%;
}

.AktuellesSliderItem .ListBox .Title {
}

.AktuellesSliderItem .ListBox .Content {
}
 */
.SliderNavIcon {
	font-size: 4em;
}

.ListBoxesHeader {
	background-color: var(--Colour1);
	border-top: 2px solid var(--Colour2);
	border-bottom: 2px solid var(--Colour2);
	font-size: 1.5em;
	font-weight: bold;
	padding: 5px 0px 5px 0px;
	margin: 5px 0px 5px 0px;
}

.EventBox{
	text-align: left;
}

.EventBox .EventContent {
	/* padding: 5px 15px 5px 15px;
	border: 5px solid var(--Colour3);
	border-radius: 5px;  */
}

.EventStatusSpaces {
	color: var(--EventStatusTotalSpacesTextColour);
	background-color: var(--EventStatusTotalSpacesBackgroundColour);
}

.EventStatusInProgress {
	color: var(--EventStatusInProgressTextColour);
	background-color: var(--EventStatusInProgressBackgroundColour);
}

.EventStatusAccepted {
	color: var(--EventStatusAcceptedTextColour);
	background-color: var(--EventStatusAcceptedBackgroundColour);
}

.EventStatusWaitingList {
	color: var(--EventStatusWaitingListTextColour);
	background-color: var(--EventStatusWaitingListBackgroundColour);
}

.EventStatusCancelled {
	color: var(--EventStatusCancelledTextColour);
	background-color: var(--EventStatusCancelledBackgroundColour);
}

.EventFullyBooked {
	color: #000000;
	background-color: #e48080;
	font-weight: bold;
	padding: 10px;
	margin: 5px 0px 5px 0px;
	border-radius: 5px;
}
.EventCancelled {
	color: var(--EventStatusCancelledTextColour);
	background-color: var(--EventStatusCancelledBackgroundColour);
	font-weight: bold;
	padding: 10px;
	margin: 5px 0px 5px 0px;
	border-radius: 5px;
}
.EventNew {
	color: #000000;
	background-color: #8becb3;
	font-weight: bold;
	padding: 10px;
	margin: 5px 0px 5px 0px;
	border-radius: 5px;
}

.GotoTopIcon {
	position:fixed;
	bottom:0px; 
	right:0px;
	padding : 10px;
	font-size : 25px;
	cursor: pointer;
	z-index: 9999;
}

.DatastoreIcon {
	position:fixed;
	bottom:0px; 
	left:0px;
	padding : 10px;
	font-size : 25px;
	cursor: pointer;
	z-index: 9999;
}


.EventParticipantBox {
	display: inline-block;
	width: 150px;
	min-height: 100px;
	margin: 5px;
	padding: 10px;
	font-size: 1em;
	font-weight: normal;
	text-align: left;
	border: 5px solid var(--Colour3);
}

.AktuellesArticle {
	border: 5px solid var(--Colour3);
	margin-bottom: 10px;
	padding: 10px;
	text-align: left;
}

.AktuellesArticle .Title {
	font-weight: bold;
}
.AktuellesArticle .Date {
	font-weight: bold;
}
.AktuellesArticle .Content {
	font-weight: normal;
}

.AktuellesArticleInaktiv {
	border: 5px solid var(--Colour2);
	margin-bottom: 10px;
	padding: 10px;
	text-align: left;
}

.AktuellesArticleInaktiv .Title {
	font-weight: bold;
}
.AktuellesArticleInaktiv .Date {
	font-weight: bold;
}
.AktuellesArticleInaktiv .Content {
	font-weight: normal;
}

.AdventsCalendarDayBox {
	width: 100px;
	height: 100px;
	background-color: #ff2222;
	color: #ffffff;
}
.AdventsCalendarDayBox .Icon {
	font-size: 2em;
	padding-bottom: 5px;
}
.AdventsCalendarDayBox .Day {
	padding-right: 5px;
	padding-bottom: 5px;
}
.AdventsCalendarDayBox .Day a {
	color: var(--Colour3);
	font-weight: bold;
}

.AdventsCalendarDayPage {

}

@media (min-width:   0px) and (max-width:  350px) { .AdventsCalendarDayPage img { max-width: 280px;} }
@media (min-width: 351px) and (max-width:  450px) { .AdventsCalendarDayPage img { max-width: 330px;} }
@media (min-width: 451px) and (max-width:  550px) { .AdventsCalendarDayPage img { max-width: 430px;} }
@media (min-width: 551px) and (max-width: 9999px) { .AdventsCalendarDayPage img { max-width: 500px;} }

.PixabayMention {
	font-size:0.5em;
}

.ModeSelectionDropDown {
	background-color: white;
	border: 3px solid var(--Colour1);
	padding: 10px 5px;
  position: absolute;
	text-align: right;
  right: 0;
  top: calc(100% + 5px);
}

.Print {
	text-align: right;
}

@media print {
	.Print {
		display: none;
	}
	.NoPrint {
		display: none;
	}
}

@keyframes flash {
  20% {
    background: var(--color1);
  }
  100% {
    background: transparent;
  }
}
::target-text {
  background-color: var(--color4);
  color: #fff;
}

summary {
  cursor: pointer;
}
