﻿/**
 * LFV Schutterwald e.V.
 *
 * Default stylesheet for the website of LFV Schutterwald e.V.
  *
 * @project LFV Schutterwald e.V.
 * @version 2.0
 * @author Nico Wiedemann
 * @copyright 2010
 *
 * @colordef #f4e631 rgb(244, 230, 49) yellow
 * @colordef #005193 rgb(0, 81, 147) darkblue
 * @colordef #cdcdcd rgb(205, 205, 205) light gray
 */

/* @section Imports */
@import url(gallery.css);

:root {
  /* design colors */
  --color-yellow: #f4e631;
  --color-yellow-transparent-barely: rgb(244, 230, 49, 0.9);
  --color-yellow-transparent: rgb(244, 230, 49, 0.6);
  --color-yellow-transparent-light: rgb(244, 230, 49, 0.2);
  --color-yellow-toned: #beb400;
  --color-darkblue: #005193;
  --color-darkblue-transparent-barely: rgb(0, 81, 147, 0.9);
  --color-darkblue-transparent: rgb(0, 81, 147, 0.6);
  --color-darkblue-transparent-light: rgb(0, 81, 147, 0.2);
  --color-darkblue-toned: #3d71b7;
  --color-lightgray: #cdcdcd;
  --color-lightgray-transparent-barely: rgb(205, 205, 205, 0.9);
  --color-lightgray-transparent: rgb(205, 205, 205, 0.6);
  --color-lightgray-transparent-light: rgb(205, 205, 205, 0.2);

  /* base colors */
  --color-shadow: rgba(0, 0, 0, 0.25);
  --color-black: #000000;
  --color-gray: #808080;
  --color-ultralightgray: #f0f0f0;
  --color-white: #ffffff;
  --color-disabled: #808080;
  --color-error: #990000;

  /* category colors */
  --color-category-yellow: var(--color-yellow);
  --color-category-yellow-text: var(--color-black);
  --color-category-darkblue: var(--color-darkblue);
  --color-category-darkblue-text: var(--color-white);
  --color-category-pink: #ff599e;
  --color-category-pink-text: var(--color-black);
  --color-category-cyan: #00e8ff;
  --color-category-cyan-text: var(--color-black);
  --color-category-green: #7dcd00;
  --color-category-green-text: var(--color-white);
  --color-category-orange: #ff8c00;
  --color-category-orange-text: var(--color-black);
  --color-category-purple: #a200ff;
  --color-category-purple-text: var(--color-white);
  --color-category-teal: #006c7d;
  --color-category-teal-text: var(--color-white);
  --color-category-brown: #b6ac75;
  --color-category-brown-text: var(--color-black);

  /* other styles */
  --shadow: 3px 3px 5px var(--color-shadow);
  --shadow-inset: inset 0 0 10em var(--color-shadow);
  --shadow-inset-light: inset 1px 1px 3px var(--color-shadow);

  --transition-fast: all 0.15s ease-in;
  --transition-fast-delay: all 0.15s 0.1s ease-in;
  --transition-default: all 0.3s ease-in;
  --transition-default-delay: all 0.3s 0.2s ease-in;
  --transition-slow: all 0.6s ease-in;
  --transition-slow-delay: all 0.6s 0.3s ease-in;

  --border-radius: 0.5rem;
  --border-radius-large: 1rem;
}

/**
 * @section Imports
 */
/*
Copyright (c) 2007, Yahoo! Inc. All rights reserved.
Code licensed under the BSD License:
http://developer.yahoo.net/yui/license.txt
version: 2.2.2
*/
body,
div,
dl,
dt,
dd,
ul,
ol,
li,
h1,
h2,
h3,
h4,
h5,
h6,
pre,
form,
fieldset,
input,
textarea,
p,
blockquote,
th,
td {
  margin: 0;
  padding: 0;
}
table {
  border-collapse: collapse;
  border-spacing: 0;
}
fieldset,
img {
  border: 0;
}
address,
caption,
cite,
code,
dfn,
em,
strong,
th,
var {
  font-style: normal;
  font-weight: normal;
}
ol,
ul {
  list-style: none;
}
caption,
th {
  text-align: left;
}
h1,
h2,
h3,
h4,
h5,
h6 {
  font-size: 100%;
  font-weight: normal;
}
q:before,
q:after {
  content: "";
}
abbr,
acronym {
  border: 0;
}

/**
 * @section Basics
 */
.hidden {
  display: none;
}

strong,
b {
  font-weight: bold;
}
em,
i {
  font-style: italic;
}
strong em,
em strong,
b em,
em b,
strong i,
i strong,
b i,
i b {
  font-style: italic;
  font-weight: bold;
}

a {
  text-decoration: none;
  color: var(--color-darkblue);
}
a:focus,
a:hover,
a:active {
  text-decoration: underline;
}
a:focus {
  outline: solid 1px var(--color-darkblue-transparent-light);
}
a.none {
  color: inherit;
}
a[href^="mailto:"],
a.email,
a.document {
  background-position: left center;
  background-repeat: no-repeat;
}
a[href^="mailto:"],
a.email {
  background-image: url(data:data:image/webp;base64,UklGRtAAAABXRUJQVlA4TMQAAAAvFcACEBq3sW2rSo2r/3K+QQcXd6uA6OLyZ17EkEQn4QgAQCDKtXNqss0vaGqyJntudM3War7BNfWCNtt1NNq2TY26De2MGI65/1bWsAFEzUILXDI1SBuEMnECzuRqBl9S0F0CMCoMPnzZR01J4r+DMkhE8K9Gp+yRFRT3UpAl/4HmrAcRov7IohFpqCoC3hb6Ki6W78mptXD5ooSW08ZaWI9AqxPjqyl8yfOPKmrQ7WSzj8LI+gQpmZL4DSy+sx/4e4MJ);
  padding-left: 25px;
}
a.document {
  background-image: url(data:image/webp;base64,UklGRpwAAABXRUJQVlA4TI8AAAAvC8ADEGegoJGk5vvTO8bw7wUbagMASWhQJxzb/59UQQAQiG7v/aUashXq/l2QuKMIIooAUngHAOD//4eHnP4lvc5eilGs0YKMWntYaOoAkPctwCayrVZvqBi6WMXH0YEaJKDlO44WIvqvsG0bpO0YDpEHFbYT9f5cN8Ky6j0Y9d77NyZ8uvLdzn+PAIzcFAA=);
  padding-left: 15px;
}

.note {
  background: transparent url(/img/error.png) left 15px no-repeat;
  padding: 1em 1em 0.5em 80px;
  min-height: 45px;
}
.note + .note {
  background: none;
  margin-top: -1.2em;
  min-height: 0;
}
.error {
  background: transparent url(/img/error.png) left 15px no-repeat;
  color: var(--color-error);
  font-family: Consolas, Courier New, monospace;
  min-height: 80px;
  overflow: visible;
  padding: 1em 1em 0.5em 80px;
}
.error + .error {
  margin-top: -1em;
}

br.clear {
  clear: both;
  line-height: 0;
  height: 0px;
}
div.spacer {
  clear: both;
  margin-bottom: 6em;
}
div.spacer.half {
  font-size: 50%;
}

/**
 * Micro Clearfix Hack
 * @see http://nicolasgallagher.com/micro-clearfix-hack/
 */
.cf:before,
.cf:after {
  content: " ";
  display: table;
}
.cf:after {
  clear: both;
}

form:before,
form:after {
  content: " ";
  display: table;
}
form:after {
  clear: both;
}

span.date {
  float: right;
}

a.nextPage,
a.prevPage {
  color: var(--color-darkblue);
  font-size: 0.8em;
  font-weight: bold;
  padding: 0.2em 0.6em;
}
a.nextPage:hover,
a.nextPage:focus,
a.prevPage:hover,
a.prevPage:focus {
  background-color: var(--color-lightgray-transparent);
}
a.disabled {
  color: var(--color-disabled);
}
img {
  max-width: 100%;
}
img.left {
  float: left;
  margin-right: 1.3em;
}
img.right {
  float: right;
  margin-left: 1.3em;
}
img.center {
  display: block;
  margin: 1em auto 1.3em auto;
}
img.shadow {
  box-shadow: var(--shadow);
}
div.subtitleContainer {
  position: relative;
  text-align: center;
}
div.subtitle {
  background-color: var(--color-lightgray-transparent-barely);
  border-radius: 5px;
  box-shadow: 0px 0px 5px var(--color-shadow);
  color: var(--color-darkblue);
  font-size: 0.9em;
  padding: 0.6em 0.8em 0.8em 0.8em;
  position: absolute;
  bottom: 50px;
  left: 40px;
  right: 40px;
  text-align: left;
}
main.page ul,
main.page ol {
  margin-left: 1.3em;
}
main.page ul {
  list-style: disc;
}
ol {
  list-style: decimal;
}
main.page li {
  margin-bottom: 0.3em;
}
.legal {
  font-size: 0.9em;
}

/**
 * @section Layout
 */
body {
  background-color: var(--color-yellow);
  font-family: Calibri, Arial, Helvetica, Sans, sans-serif;
}

#wrapper {
  background-color: #ffffff;
  box-shadow: 0 0 30px var(--color-shadow);
  display: flex;
  flex-wrap: nowrap;
  margin: 0px auto;
  max-width: 1290px;
}

main {
  box-sizing: border-box;
  background: transparent url(/img/contentBg2.png) right top no-repeat;
  flex-grow: 1;
  hyphens: auto;
  line-height: 1.35;
  min-height: 350px;
  min-height: 100vh;
  position: relative;
  width: calc(100% - 300px); /* IE11-Fix */
  order: 2;
  padding: 16px 40px 40px 0px;
}
main > * {
  box-sizing: initial;
}

div.subHeader {
  font-size: 0.9em;
  line-height: 1.8;
  margin-bottom: 1.5em;
  padding-left: 2.5em;
  text-indent: -2.5em;
}

div.subHeader a {
  background-color: var(--color-lightgray-transparent-light);
  color: var(--color-darkblue);
  display: inline-block;
  font-weight: bold;
  margin: 0px 0.25em 0.25em;
  padding: 3px 6px;
  text-indent: 0;
  white-space: nowrap;
}

div.subHeader a:hover,
div.subHeader a:focus,
div.subHeader a:active,
div.subHeader a.active {
  background-color: var(--color-yellow-transparent);
}

div.subHeader a.active {
  color: var(--color-black);
  text-decoration: underline;
}

aside {
  display: block;
  order: 1;
  width: 300px;
}

aside > * {
  padding: 12px 20px 16px 20px;
}

aside #logo {
  margin-top: -12px;
  margin-left: -15px;
  outline: none;
}

.oversize {
  box-shadow: 0px 2px 6px var(--color-shadow);
  border-top-left-radius: 10px;
  border-bottom-left-radius: 10px;
  margin-left: -40px;
  margin-right: -40px;
  margin-bottom: 1.5em;
}

/**
 * @section Navigation & Sidebar
 */
aside nav {
  display: block;
  font-size: 1.1em;
}

aside nav ul ul {
  margin-left: 0.4em;
}

aside nav li.subnav > a {
  font-weight: bold;
}

aside nav li {
  padding: 1px 1em 3px 20px;
  text-indent: -1em;
}

aside nav ul ul li {
  font-size: 0.9em;
  padding-top: 1px;
  padding-bottom: 1px;
}

aside nav a,
aside nav a:link,
aside nav a:visited {
  color: var(--color-black);
  text-decoration: none;
}

aside nav a:hover,
aside nav a:focus,
aside nav a:active {
  color: var(--color-darkblue);
}

aside nav li.active > a {
  font-weight: bold;
}

aside .teaser {
  position: relative;
  padding-left: 65px;
  padding-right: 60px;
  text-align: center;
  display: flex;
  flex-direction: column;
  gap: 0.25em;
}
aside .teaser h3 {
  font-size: 19px;
  font-weight: bold;
  letter-spacing: -0.03em;
  position: absolute;
  top: 33%;
  left: 33px;
  transform: translate(-50%, 0) rotate(-90deg);
}

aside .teaser a {
  display: flex;
  flex-direction: column;
  gap: 0.25em;
  transition: var(--transition-default-delay);
  border-radius: var(--border-radius);
  color: var(--color-black);
  padding: 0.5em 0.75em;
}
aside .teaser a:hover,
aside .teaser a:focus,
aside .teaser a:focus-within,
aside .teaser a:active {
  background-color: var(--color-yellow-transparent);
  transition: var(--transition-default);
  text-decoration: none;
}
aside .teaser span {
  display: block;
  max-width: 175px;
  text-overflow: ellipsis;
  overflow: hidden;
}
@media (max-width: 990px) {
  aside .teaser span {
      max-width: 280px;
  }
}
aside .teaser .title {
  font-weight: bold;
}
aside .teaser a:hover .title,
aside .teaser a:focus .title,
aside .teaser a:active .title {
  text-decoration: underline;
}
aside .teaser .details {
  font-size: 0.8em;
}
aside .teaser .intro {
  text-align: left;
  font-size: 0.8em;
}

/* TODO: mobile teaser */

aside .social {
  display: flex;
  font-size: 1.5rem;
  justify-content: space-evenly;
  padding-right: 30%;
}
.social a,
.social a:link,
.social a:visited {
  color: var(--color-black);
  text-decoration: none;
}

.social a:hover,
.social a:focus,
.social a:active {
  color: var(--color-darkblue);
}
.social span {
  display: none;
}

@media (max-width: 990px) {
  aside .social {
    padding-right: 20px;
  }
}

/**
 * @section Text Content
 */
p {
  margin-top: 0.3em;
  margin-bottom: 0.7em;
}

h1,
h2,
h3,
h4,
h5,
h6 {
  clear: both;
  margin-top: 1em;
  margin-bottom: 0.5em;
}

h1 {
  font-size: 2em;
  font-weight: bold;
  margin-top: 1.5em;
}

h2 {
  font-size: 1.6em;
}

h3 {
  font-size: 1.4em;
}

h4 {
  font-size: 1.2em;
}

h5 {
  clear: none;
  font-size: 1.1em;
  font-weight: bold;
}

h6 {
  clear: none;
  font-weight: bold;
}

/**
 * @section Highlights
 */

#highlights {
  box-shadow: var(--shadow);
  border-radius: 8px;
  display: block;
  list-style: none;
  height: 400px;
  margin: 0;
  position: relative;
  overflow: hidden;
  padding: 0;
  width: 100%;
}
.highlight {
  background-position: center;
  background-size: cover;
  border-radius: 8px;
  box-shadow: var(--shadow-inset);
  height: 100%;
  margin: 0;
  padding: 0;
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  z-index: 10;
}
.highlight.ex-current {
  z-index: 90;
}
.highlight.current {
  z-index: 100;
}
.highlight h2,
.highlight section {
  background-color: var(--color-lightgray-transparent-barely);
  box-shadow: 2px 2px 6px var(--color-shadow);
  border-top-right-radius: 8px;
  border-bottom-right-radius: 8px;
  display: inline-block;
  max-width: 80%;
  padding: 8px 15px 8px 30px;
  left: -100%;
  transition: left 0.3s 0.1s ease-out;
}
.hover .highlight h2,
.hover .highlight section,
.highlight:hover h2,
.highlight:hover section,
.highlight:focus h2,
.highlight:focus section {
  left: 0;
  transition-delay: 0.3s;
}
.highlight h2 {
  margin: 0 !important;
  padding-bottom: 4px;
  position: absolute;
  top: 20px;
}
.highlight section {
  position: absolute;
  bottom: 15px;
}
.highlight section a.more {
  float: right;
  margin-left: 1em;
}
#highlights .indicators {
  position: absolute;
  top: 10px;
  right: 20px;
  z-index: 200;
}
#highlights .indicator {
  display: inline-block;
  border: none;
  padding: 0;
  margin: 0 2px;
  font-size: 1px;
  border-radius: 50% 50%;
  width: 9px;
  height: 9px;
  background-color: var(--color-darkblue-toned);
  cursor: pointer;
}
#highlights .indicator.current {
  background-color: var(--color-darkblue);
}

/**
  * @section Vereinsmitteilungen
  */

section.news h3 {
  clear: left;
}
section.news ul.categories {
  display: flex;
  float: right;
}
ul.categories li {
  --slant: 10px;
  --border-radius: 6px;
  --padding: 8px;
  --spacing: -3px;
  background-color: var(--color-darkblue-transparent-light);
  box-shadow: var(--shadow-inset-light);
  cursor: default;
  font-size: 0.9em;
  list-style: none;
  margin: 0.2em var(--spacing);
  padding: 0.25em calc(var(--slant) + var(--padding) / 2);
  clip-path: polygon(
    var(--slant) 0,
    100% 0,
    calc(100% - var(--slant)) 100%,
    0 100%
  );
}
ul.categories li:first-child {
  clip-path: polygon(0 0, 100% 0, calc(100% - var(--slant)) 100%, 0 100%);
  padding-left: var(--slant);
  border-top-left-radius: var(--border-radius);
  border-bottom-left-radius: var(--border-radius);
}
ul.categories li:last-child {
  clip-path: polygon(var(--slant) 0, 100% 0, 100% 100%, 0 100%);
  padding-right: var(--slant);
  border-top-right-radius: var(--border-radius);
  border-bottom-right-radius: var(--border-radius);
}
/* single category */
ul.categories li:first-child:last-child {
  clip-path: none;
  padding-left: var(--slant);
  padding-right: var(--slant);
  border-radius: var(--border-radius);
}
ul.categories li.verein {
  background-color: var(--color-category-yellow);
  color: var(--color-category-yellow-text);
}
ul.categories li.wettkampf {
  background-color: var(--color-category-darkblue);
  color: var(--color-category-darkblue-text);
}
ul.categories li.training {
  background-color: var(--color-category-purple);
  color: var(--color-category-purple-text);
}
ul.categories li.erfolg {
  background-color: var(--color-category-cyan);
  color: var(--color-category-cyan-text);
}
ul.categories li.jugend {
  background-color: var(--color-category-pink);
  color: var(--color-category-pink-text);
}
ul.categories li.galerie {
  background-color: var(--color-category-teal);
  color: var(--color-category-teal-text);
}

/**
 * @section Partners
 */

div.partner {
  font-size: 0.9em;
  margin: 2em auto 1em;
  min-height: 65px;
  position: relative;
  text-align: center;
}
div.partner:before {
  color: rgb(77, 77, 77);
  content: "Anzeige";
  font-size: 0.8em;
  position: absolute;
  top: -5px;
  right: -8px;
  transform: rotate(6deg);
}
div.partner a {
  font-style: italic;
}
div.partner img {
  max-width: 100%;
}

/**
 * @section Forms
 */
form {
  display: block;
  padding: 5px;
}

label {
  clear: both;
  color: var(--color-gray);
  display: block;
  float: left;
  font-size: 0.8em;
  font-weight: bold;
  margin-top: 0.3em;
  margin-right: 10px;
  padding-right: 16px;
  text-align: right;
  width: 174px;
}

label.surround {
  clear: none;
  color: var(--color-gray);
  margin-right: 0;
  text-align: left;
  width: auto;
}
label.surround input {
  position: relative;
  top: -3px;
}

label[title] {
  background: transparent url(/img/labelInfo.png) right 1px no-repeat;
}

label.required::after {
  content: " *";
  font-size: 0.8em;
  vertical-align: super;
  position: relative;
}
label.required:focus::after,
label.required:hover::after {
  content: " Pflichtfeld";
  font-variant: small-caps;
}

.errors {
  background: transparent url(/img/error.png) 115px 5px no-repeat;
  margin-bottom: 1em;
  min-height: 80px;
}
.errors > * {
  margin-left: 206px;
  width: auto;
}
.errors label {
  color: var(--color-error);
  text-align: left;
}

input,
textarea,
select,
fieldset,
output,
progress,
form button,
.fakeFormField {
  float: left;
  margin-top: 0.3em;
  width: 230px;
}

input.wide,
textarea.wide,
select.wide,
fieldset.wide,
output.wide,
progress.wide,
form button.wide,
.fakeFormField.wide {
  width: 430px;
}

input.narrow,
textarea.narrow,
select.narrow,
fieldset.narrow,
output.narrow,
progress.narrow,
form button.narrow,
.fakeFormField.narrow {
  width: 130px;
}

input.tight,
textarea.tight,
select.tight,
fieldset.tight,
output.tight,
progress.tight,
form button.tight,
.fakeFormField.tight {
  width: 50px;
}

input.date {
  border: none;
  background: transparent url(/img/dpPicker.png) right 2px no-repeat;
  cursor: pointer;
  width: 88px;
}
input.datetime {
  border: none;
  background: transparent url(/img/dpPicker.png) right 2px no-repeat;
  cursor: pointer;
  width: 108px;
}
input[type="date"] {
  border: none;
  background: transparent;
  cursor: pointer;
  width: 128px;
}
input[type="datetime"] {
  border: none;
  background: transparent;
  cursor: pointer;
  width: 158px;
}
input + output {
  font-size: 0.8em;
  margin-left: 0.5em;
}

input.delete {
  color: var(--color-error);
}

input[type="checkbox"],
input[type="radio"] {
  margin-top: 0.4em;
  width: 20px;
}

input[disabled] {
  -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=25)";
  filter: alpha(opacity=25);
  opacity: 0.25;
}

input[readonly] {
  background: none;
  border: none;
}

input:invalid,
textarea:invalid {
  color: var(--color-error);
}

textarea {
  height: 6em;
}

textarea.richtext {
  height: 6em;
  width: 430px;
}

textarea.richtext.wide {
  height: 9em;
}
/* hack to allow niceedit panels to be able to hide */
textarea.richtext.hidable {
  display: none !important;
}

label.indented {
  color: inherit;
  font-weight: normal;
  padding-left: 200px;
  text-align: left;
}
label.indented input[type="checkbox"],
label.indented input[type="radio"] {
  margin-top: 0.2em;
}

label.richtext {
  min-height: 60px;
}

div.nicEditToolbar {
  float: left;
  margin-top: 0.2em;
}
*[unselectable="on"] input,
*[unselectable="on"] select {
  width: 184px;
}
.nicEdit-main * {
  margin-right: 19px;
}
.nicEdit-pane {
  width: 562px !important;
}

fieldset {
  border: solid thin var(--color-lightgray);
  margin-bottom: 0.3em;
  padding-bottom: 0.6em;
}
legend {
  color: var(--color-darkblue);
  font-size: 0.8em;
  font-weight: bold;
  margin-left: 1em;
  padding: 2px 0.5em;
}

.choices {
  margin-bottom: 0;
}
.choices input {
  float: none;
}
.choices__inner {
  min-height: auto;
  padding: 0;
}
.choices__item {
  padding: 7.5px 7.5px 3.75px;
}

/**
 * @section Tables
 */

table {
  background-color: var(--color-ultralightgray);
  box-shadow: var(--shadow);
  margin: 0.5em 2% 1em 2%;
  width: 96%;
}
table td {
  vertical-align: text-top;
}
table thead,
table tfoot {
  background-color: var(--color-darkblue);
  box-shadow: var(--shadow);
  color: var(--color-lightgray);
}
table thead {
  border-radius: 3px 3px 0px 0px;
  font-size: 0.9em;
  font-weight: bold;
}
table thead.sticky {
  position: sticky;
  top: 0;
}
table tfoot {
  border-radius: 0px 0px 3px 3px;
  font-size: 0.7em;
}
table tfoot.sticky {
  position: sticky;
  bottom: 0;
}
table tbody tr:first-child td {
  padding-top: 6px;
}
table tbody tr:last-child td {
  padding-bottom: 9px;
}
table td {
  padding: 2px 4px;
}
table td:first-child {
  padding-left: 8px;
}
table td:last-child {
  padding-right: 8px;
}
table thead td,
table tfoot td {
  padding-top: 4px;
  padding-bottom: 4px;
}
table tbody > tr:nth-child(2n) {
  background-color: var(--color-lightgray-transparent-barely);
}
table tbody > tr:hover {
  background-color: var(--color-yellow-transparent);
  color: var(--color-darkblue);
}
table tbody > tr:hover:nth-child(2n) {
  background-color: var(--color-yellow-transparent);
}
table thead h2 {
  font-size: 1.2em;
  font-weight: bold;
  margin-top: 0;
  margin-bottom: 0;
}
table thead a small {
  opacity: 0;
  transition: opacity 0.1s linear;
}
table thead a:hover small,
table thead a:focus small {
  opacity: 1;
}
@media (hover: none) {
  table thead a small {
    opacity: 1;
  }
}

/**
 * @section Admin
 */
div.subHeader a.backLink {
  background: transparent url(/img/backLink.png) 3px 3px no-repeat;
  margin-right: 8em;
  padding: 4px 8px 4px 24px;
}

div.subHeader a.logoutLink {
  background: transparent url(/img/logoutLink.png) 3px 2px no-repeat;
  margin-left: 1em;
  padding: 4px 8px 4px 24px;
}

div.subHeader a.overviewLink {
  background: transparent url(/img/overviewLink.png) 2px 2px no-repeat;
  margin-right: 2em;
  padding: 4px 8px 4px 26px;
}

div.subHeader a.backLink:hover,
div.subHeader a.backLink:focus,
div.subHeader a.backLink:active,
div.subHeader a.logoutLink:hover,
div.subHeader a.logoutLink:focus,
div.subHeader a.logoutLink:active,
div.subHeader a.overviewLink:hover,
div.subHeader a.overviewLink:focus,
div.subHeader a.overviewLink:active {
  background-color: var(--color-yellow-transparent);
}

details.help {
  float: right;
}
details.help[open] {
}
details.help:not([open]) {
}
details.help summary {
  background-color: var(--color-yellow);
  border: solid 2px var(--color-darkblue);
  border-radius: 15px;
  color: var(--color-darkblue);
  list-style-type: none;
  position: absolute;
  top: 60px;
  right: 40px;
  cursor: pointer;
  text-align: center;
  height: 3em;
  width: 3em;
  user-select: none;
  margin-left: 0.5em;
  margin-bottom: 0.5em;
}
details.help[open] summary {
  background-color: var(--color-darkblue);
  color: var(--color-yellow);
}
details.help summary::-webkit-details-marker {
  display: none;
}
details.help summary::marker {
  display: none;
}
details.help summary:before {
  display: block;
  font-weight: bold;
  font-size: 1.2em;
  content: "?";
  text-align: center;
}
details.help[open] summary:before {
  content: "×";
}
details.help summary span {
  font-size: 0.75em;
}
details.help > div {
  background: white;
  border: solid 2px black;
  border-radius: 15px;
  box-shadow: 3px 6px 6px var(--color-shadow);
  width: 30em;
  max-width: 80%;
  max-width: calc(80% - 70px);
  padding: 0.5em 1em;
  position: absolute;
  top: 90px;
  right: 70px;
  z-index: 1000;
}

ul#adminPanel li {
  display: inline;
  float: left;
}

ul#adminPanel li a {
  background-repeat: no-repeat;
  background-size: 140px 110px;
  border-radius: 5px;
  color: var(--color-darkblue);
  display: block;
  font-size: 1.2em;
  font-weight: bold;
  height: 60px;
  margin: 8px 5px;
  padding-top: 50px;
  padding-left: 140px;
  text-decoration: none;
  width: 166px;
}

ul#adminPanel li a:hover,
ul#adminPanel li a:focus,
ul#adminPanel li a:active {
  background-color: var(--color-darkblue);
  color: var(--color-yellow);
}

ul#editGalleries,
ul#editPages,
ul#editNavigation {
}
ul.tree {
  float: left;
  font-size: 0.9em;
  font-weight: bold;
  list-style: none !important;
  margin-top: 0.3em;
  margin-left: 1em;
  width: 400px;
}
ul.tree li {
  line-height: 1.75;
  margin-top: 1px;
  margin-bottom: 2px;
}
ul.tree a {
  color: var(--color-darkblue);
  position: relative;
  top: 1px;
}
ul.tree a.control {
  padding: 0 2px;
  text-decoration: none;
}
ul.tree a.control,
ul.tree a.status {
  margin-left: 2px;
}
ul.tree a.control:hover,
ul.tree a.control:focus,
ul.tree a.control:active {
  text-decoration: none;
  background-color: var(--color-darkblue);
  border-radius: 2px;
  color: var(--color-yellow);
}
ul.tree a.status {
  cursor: default;
  text-decoration: none;
}
ul.tree span.subline {
  font-weight: normal;
  font-size: 0.8em;
  margin-left: 4px;
  display: block;
}
ul.tree li.visibility-invisible a {
  color: var(--color-disabled);
  font-weight: normal;
}
ul.tree li.visibility-visible a {
  font-weight: normal;
}
ul.tree > :first-child {
  padding-top: 5px;
}
ul.tree ul.tree > :first-child {
  padding-top: 0px;
}
ul.tree span.info {
  float: right;
  font-size: 0.9em;
  font-weight: normal;
  margin-right: 3px;
}
ul.tree a.toggle {
  background: transparent url(/img/toggle.png) left center no-repeat;
  display: block;
  float: right;
  height: 20px;
  padding: 0;
  position: relative;
  top: -2px;
  width: 20px;
}
ul.tree a.toggle.active {
  background-position: right center;
}
ul.tree div.updown {
  display: block;
  float: right;
  height: 14px;
  position: relative;
  width: 13px;
}
ul.tree a.up,
ul.tree a.down {
  background: transparent url(/img/upDown.png) center center no-repeat;
  display: block;
  height: 7px;
  padding: 0;
  width: 13px;
}
ul.tree a.up {
  background-position: right top;
  position: absolute;
  top: 0px;
}
ul.tree a.up.disabled {
  background-position: left top;
}
ul.tree a.down {
  background-position: right bottom;
  position: absolute;
  top: 7px;
}
ul.tree a.down.disabled {
  background-position: left bottom;
}

form#editGallery,
form#removeImage {
  position: relative;
}

form#editGallery .preview,
form#removeImage .preview {
  position: absolute;
  top: 13px;
  right: 13px;
}

li.logEntry {
  background-color: var(--color-lightgray-transparent-light);
  border-color: var(--color-lightgray);
  border-style: dotted;
  border-width: thin;
  border-radius: 3px;
  color: var(--color-black);
  margin: 0.5em 7px 0.75em;
  padding: 2em 1em 0.5em;
  position: relative;

  transition-delay: 0.2s;
  transition-duration: 0.2s;
  transition-property: background-color, border-color, color;
}
li.logEntry:hover {
  background-color: var(--color-yellow-transparent-light);
  border-color: var(--color-darkblue);
  color: var(--color-black);

  transition-delay: 0s;
  transition-duration: 0.4s;
}

li.logEntry span {
  color: var(--color-darkblue);
  font-size: 0.9em;
  position: absolute;
  top: 0.8em;
}
li.logEntry .module {
  font-weight: bold;
  left: 1.11em;
}
li.logEntry .action {
  left: 11.11em;
}
li.logEntry .time {
  right: 1.11em;
}
li.logEntry .ip {
  opacity: 0;
  top: auto;
  bottom: 1.45em;
  right: 1.11em;

  transition-delay: 0s;
  transition-duration: 0.2s;
  transition-property: opacity;
}
li.logEntry:hover .ip {
  opacity: 1;
  transition-delay: 0.2s;
  transition-duration: 0.4s;
}
li.logEntry .module,
li.logEntry .action {
  text-transform: capitalize;
}
li.logEntry .log {
  white-space: pre-line;
}

li.reservation {
  list-style: square;
  margin-left: 1.2em;
}
li.reservation.rejected {
  color: var(--color-disabled);
  text-decoration: line-through;
}
li.reservation .user:after {
  content: ":";
}
li.reservation .user,
li.reservation .purpose,
li.reservation .period {
  margin-right: 0.3em;
}
li.reservation button.reject {
  background: none;
  border: none;
  color: var(--color-error);
  text-decoration: underline;
  cursor: pointer;
}

ul.threads {
  margin: 0;
}
ul.threads > li {
  border: solid 1px var(--color-lightgray);
  background-color: var(--color-lightgray-transparent-light);
  margin-bottom: 1em;
  padding: 10px 20px;
}
ul.threads > li > h3 {
  background-image: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABQAAAAUCAYAAACNiR0NAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAyBpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuMC1jMDYwIDYxLjEzNDc3NywgMjAxMC8wMi8xMi0xNzozMjowMCAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZVJlZiMiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIENTNSBXaW5kb3dzIiB4bXBNTTpJbnN0YW5jZUlEPSJ4bXAuaWlkOkI5RDUyNkM5M0E5NjExRTM4RkI2REU0NjU0MUJEOEE5IiB4bXBNTTpEb2N1bWVudElEPSJ4bXAuZGlkOkI5RDUyNkNBM0E5NjExRTM4RkI2REU0NjU0MUJEOEE5Ij4gPHhtcE1NOkRlcml2ZWRGcm9tIHN0UmVmOmluc3RhbmNlSUQ9InhtcC5paWQ6QjlENTI2QzczQTk2MTFFMzhGQjZERTQ2NTQxQkQ4QTkiIHN0UmVmOmRvY3VtZW50SUQ9InhtcC5kaWQ6QjlENTI2QzgzQTk2MTFFMzhGQjZERTQ2NTQxQkQ4QTkiLz4gPC9yZGY6RGVzY3JpcHRpb24+IDwvcmRmOlJERj4gPC94OnhtcG1ldGE+IDw/eHBhY2tldCBlbmQ9InIiPz6fwZTjAAAA5UlEQVR42mJcsGABAxSIAXEWA3lgWnx8/CsQgxFqINgwMTExNXJMe/Xq1S2YoSzIhhkZGW0TFxf/SIphL1++5D937pwX0NCshQsXTmOixDAQAOkB6YX6LosJWYLM8EPRy0JIMdA7ukBv6YDYnp6eywmpZyEijHSA4RMJ5RI0kImByoDqBmL1MjD6NxESB8bqcmxhSh8XgmyHsT9//qzz/ft3XXRxYFK5QrSByF7Zvn17JMxAYpLNEI1lLN5fTrILQaUGua5C1gsycBqoPAMVQeQYilR8gctEmhSwYDGoSymuAgACDAAR8Xf0MFgKYQAAAABJRU5ErkJggg==);
  background-position: right center;
  background-repeat: no-repeat;
  cursor: pointer;
  margin: 0;
}
ul.threads > li.open > h3 {
  background-image: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABQAAAAUCAYAAACNiR0NAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAyBpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuMC1jMDYwIDYxLjEzNDc3NywgMjAxMC8wMi8xMi0xNzozMjowMCAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZVJlZiMiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIENTNSBXaW5kb3dzIiB4bXBNTTpJbnN0YW5jZUlEPSJ4bXAuaWlkOkJFRUVENEZEM0E5NjExRTM4NERDQ0RBMEQzMkQ3RDc5IiB4bXBNTTpEb2N1bWVudElEPSJ4bXAuZGlkOkJFRUVENEZFM0E5NjExRTM4NERDQ0RBMEQzMkQ3RDc5Ij4gPHhtcE1NOkRlcml2ZWRGcm9tIHN0UmVmOmluc3RhbmNlSUQ9InhtcC5paWQ6QkVFRUQ0RkIzQTk2MTFFMzg0RENDREEwRDMyRDdENzkiIHN0UmVmOmRvY3VtZW50SUQ9InhtcC5kaWQ6QkVFRUQ0RkMzQTk2MTFFMzg0RENDREEwRDMyRDdENzkiLz4gPC9yZGY6RGVzY3JpcHRpb24+IDwvcmRmOlJERj4gPC94OnhtcG1ldGE+IDw/eHBhY2tldCBlbmQ9InIiPz7xbeISAAAAtklEQVR42mJcsGABAxSIAXEWA3lgWnx8/CsQgxFqINgwMTExNXJMe/Xq1S2YoSzIhhkZGW0TFxf/SIphL1++5D937pwX0NCshQsXTmOixDAQAOkB6YX6LosJWYLM8EPRy8RAZTACDWTBJgiM/k2ENAJjdbmnp+fygXEhJyfnZUIaubi4XhFtYFhYWPVosiHdQFCpQa4hyHpBBk4DlWegIogcQ5GKL3CZSJMCFiwGdSnFVQBAgAEAzEZXaBejjtwAAAAASUVORK5CYII=);
}
ul.threads > li ul.posts {
  padding-top: 1em;
}
ul.threads > li ul.posts li {
  margin-bottom: 1.5em;
  padding-top: 1.2em;
  position: relative;
}
ul.threads > li ul.posts li.reply {
  font-size: 0.9em;
  margin-left: 20px;
  margin-right: 20px;
}
ul.threads > li ul.posts li .user,
ul.threads > li ul.posts li .time {
  font-size: 0.8em;
  position: absolute;
  top: 0;
}
ul.threads > li ul.posts li .user {
  left: 0;
}
ul.threads > li ul.posts li .time {
  right: 0;
}
ul.threads > li ul.posts li.reply label {
  width: 100px;
}
ul.threads > li ul.files {
}
ul.threads > li ul.files li {
  background-image: url(data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iaXNvLTg4NTktMSI/Pg0KPCEtLSBHZW5lcmF0b3I6IEFkb2JlIElsbHVzdHJhdG9yIDE1LjEuMCwgU1ZHIEV4cG9ydCBQbHVnLUluIC4gU1ZHIFZlcnNpb246IDYuMDAgQnVpbGQgMCkgIC0tPg0KPCFET0NUWVBFIHN2ZyBQVUJMSUMgIi0vL1czQy8vRFREIFNWRyAxLjEvL0VOIiAiaHR0cDovL3d3dy53My5vcmcvR3JhcGhpY3MvU1ZHLzEuMS9EVEQvc3ZnMTEuZHRkIj4NCjxzdmcgdmVyc2lvbj0iMS4xIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHhtbG5zOnhsaW5rPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIiB4PSIwcHgiIHk9IjBweCIgd2lkdGg9IjI0cHgiDQoJIGhlaWdodD0iMzJweCIgdmlld0JveD0iMCAwIDI0IDMyIiBzdHlsZT0iZW5hYmxlLWJhY2tncm91bmQ6bmV3IDAgMCAyNCAzMjsiIHhtbDpzcGFjZT0icHJlc2VydmUiPg0KPGcgaWQ9IkxheWVyXzEiPg0KPC9nPg0KPGcgaWQ9ImRvd25sb2FkIj4NCgk8Zz4NCgkJPHJlY3QgeT0iMjcuNDMiIHN0eWxlPSJmaWxsOiM0RTRFNTA7IiB3aWR0aD0iMjQiIGhlaWdodD0iNC41NyIvPg0KCQk8cG9seWdvbiBzdHlsZT0iZmlsbDojNEU0RTUwOyIgcG9pbnRzPSIxNiwxOC4yODUgMTYsMCA4LDAgOCwxOC4yODUgNCwxOC4yODUgMTIuMDEyLDI3LjQzIDIwLDE4LjI4NSAJCSIvPg0KCTwvZz4NCjwvZz4NCjwvc3ZnPg0K);
  background-size: contain;
  background-position: left center;
  background-repeat: no-repeat;
  display: inline-block;
  padding-top: 0;
  padding-left: 1.2em;
  margin-right: 0.5em;
}

ul.pager {
  text-align: center;
  margin-bottom: 1em;
}
ul.pager li {
  display: inline-block;
  color: var(--color-darkblue);
  margin: 0 0.1em;
  padding: 0.1em 0.3em;
}
ul.pager li a {
  color: inherit;
}
ul.pager li.current {
  background-color: var(--color-darkblue);
  color: var(--color-yellow);
  font-weight: bold;
}
ul.pager li.disabled {
  color: var(--color-disabled);
}
ul.pager li.disabled a {
  cursor: default;
}

/**
 * @section Calendar
 */

.calendar {
  width: 100%;
}
.calendar > header {
  align-items: center;
  display: flex;
  flex-wrap: nowrap;
  font-size: 1.5em;
  justify-content: space-between;
}
.calendar > header div {
  text-align: center;
  min-width: 22%;
}
.calendar > header div:first-child {
  text-align: left;
}
.calendar > header div:last-child {
  text-align: right;
}
.calendar > header h2 {
  margin: 0;
}
.calendar > div {
  align-items: flex-start;
  background-color: transparent !important;
  display: flex;
  flex-wrap: wrap;
  justify-content: space-around;
  margin-bottom: 1.5em;
  width: 100%;
}
.calendar .month {
  display: table;
  flex-grow: 0.0833;
  line-height: 1.5;
  margin: 0.5em;
  min-width: 290px;
  width: auto;
}
.calendar .month thead {
  color: var(--color-white);
  text-align: center;
}
.calendar .month thead td {
  padding-top: 6px;
}
.calendar .day {
  text-align: center;
}
.calendar .day a {
  color: var(--color-black);
}
.calendar .day.past a,
.calendar .day.oldMonth a,
.calendar .day.newMonth a {
  color: var(--color-lightgray);
  cursor: default;
}
.calendar .day.reserved:not(.oldMonth):not(.newMonth):not(.past) {
  background-color: var(--color-yellow);
}
.calendar .day.reserved:not(.oldMonth):not(.newMonth):not(.past) a {
  color: var(--color-darkblue);
  font-weight: bold;
}
.calendar .day.reserved:not(.oldMonth):not(.newMonth).past a {
  color: var(--color-darkblue-toned);
  font-weight: bold;
}

/**
 * @section CheckListBox
 */

.cidsi {
  background: var(--color-white);
  border: 1px solid var(--color-lightgray);
  height: auto !important;
  margin-top: 4px !important;
  width: 231px !important;
  float: left;
}
.cidsi.wide {
  width: 430px !important;
}
.cidsi.dual {
  width: 216px !important;
}
.cidsi.dual:not(:first-of-type) {
  border-left-width: 0px;
}

.cidsi li:not(.group-label) label:hover,
.cidsi label.cidsi-checked {
  background-color: var(--color-yellow-transparent) !important;
  color: var(--color-darkblue);
}

.cidsi li label {
  border-top: 1px dashed var(--color-lightgray);
  color: var(--color-black);
  cursor: pointer;
  display: block;
  margin: 0 !important;
  padding: 3px 10px 7px 38px !important;
  text-align: left !important;
  text-indent: -35px;
  /*width: 183px!important;*/
  width: 100% !important;
  box-sizing: border-box;
}
.cidsi.dual li label {
  width: 169px !important;
}
.cidsi.allow li label {
  color: #005d00;
}
.cidsi.deny li label {
  color: #5d0000;
}
.cidsi li:first-child label {
  border-top: none;
}
.cidsi li label[title] {
  background: transparent;
}
.cidsi li.first-of-group:not(:first-child) label {
  border-top: 3px double var(--color-lightgray);
}
.cidsi li.group-label label {
  padding-top: 6px !important;
  font-weight: normal;
  background-color: var(--color-lightgray);
}
.cidsi li.group-label + li.first-of-group label {
  border-top: none;
}
.cidsi li label input {
  float: none !important;
  position: relative;
  top: 1px;
}
* html .checklist label {
  height: 1%;
}

/**
 * @section Press
 */
ul#articles {
  list-style: none;
}
ul#articles li {
  background: transparent url(/img/press.png) left 0.5em no-repeat;
  display: block;
  margin: 0.5em 0;
  min-height: 130px;
  padding-left: 140px;
  padding-top: 0.5em;
}
ul#articles li h2 {
  font-style: italic;
  font-weight: bold;
  margin: 0 !important;
}
ul#articles li span {
  display: block;
  width: 15.5em;
}
ul#articles li a {
  display: inline-block;
  margin-top: 0.5em;
}

/**
 * @section Training
 */
ul.training li {
  list-style: none;
  border-left: solid transparent 0px;
  padding: 0 0 4px 9px;
}
ul.training.unter5 li {
  border-color: var(--color-category-orange);
}
ul.training.leichtathletik li {
  border-color: var(--color-category-teal);
}
ul.training.jugend li {
  border-color: var(--color-category-pink);
}
ul.training.fitness li {
  border-color: var(--color-category-green);
}
ul.training li dt {
  display: inline-block;
  font-size: 0.9em;
  font-style: italic;
}
ul.training li dt:after {
  content: ":";
}
ul.training li dd {
  display: inline-block;
  margin-right: 6px;
}

/**
 * @section Trainerteam
 */
ul#trainerteam {
  list-style: none;
  margin-bottom: 0.5em;
  margin-left: 0;
}
ul#trainerteam li {
  background-size: 80%;
  background-position: center;
  background-repeat: no-repeat;
  border: solid 2px transparent;
  display: inline-block;
  height: 176px;
  margin-bottom: -0.3em;
  position: relative;
  width: 126px;
  transition: all 0.666s 0.25s;
}
ul#trainerteam li:hover,
ul#trainerteam li:active {
  background-size: 100%;
  transition-delay: 0s;
}
ul#trainerteam li span {
  background-color: var(--color-lightgray-transparent-barely);
  border-radius: 5px;
  box-shadow: 0px 0px 5px var(--color-shadow);
  color: var(--color-darkblue);
  font-size: 0.9em;
  line-height: 1;
  opacity: 0;
  padding: 0.6em 0.8em 0.8em 0.8em;
  position: absolute;
  top: 85%;
  left: 50%;
  text-align: center;
  transform: translate(-50%, 0);
  transition: opacity 0.2s 0.1s;
  width: 90px;
  z-index: 100;
}
ul#trainerteam li:hover span,
ul#trainerteam li:active span {
  opacity: 1;
  transition: opacity 0.3s;
}

/**
 * @section Records
 */
table.records tbody sup {
  font-size: 0.6em;
}
table.records tbody sup[title] {
  cursor: help;
}
table.records tfoot sup {
  padding-left: 1.5em;
  padding-right: 0.2em;
}
table.records tfoot sup:first-child {
  padding-left: 0.2em;
}

/**
 * @section Route
 */
div.map {
  height: 350px;
}
#route-directions {
  margin-top: 2em;
}

/**
 * @section Calendar
 */
.events,
main.page .events {
  margin: 0;
  list-style: none;
}
.event,
main.page .event {
  clear: both;
  margin-bottom: 2em;
}
.event h3 {
  clear: none;
}
.event .place {
  font-variant: small-caps;
  margin-top: -0.2em;
}
.events.front .event {
  margin-bottom: 0.5em;
}
.events.front .event .date {
  float: left;
  width: 220px;
}
.events.front .event .title {
  float: left;
  font-size: 1em;
}
.events.front .event .place {
  clear: left;
  float: left;
}
.event > .description {
  min-height: 20px;
}
.event.canceled .title {
  text-decoration: line-through;
  text-decoration-color: var(--color-darkblue);
  text-decoration-style: double;
}
.events.front .event.canceled .title {
  text-decoration-style: solid;
}

.attachments,
main.page .attachments,
.helpsList,
main.page .helpsList {
  margin-left: 0;
  list-style: none;
  display: flex;
  flex-wrap: wrap;
}

.helpOverview li {
  display: inline;
}
.helpOverview li:not(:last-child)::after {
  content: ",";
}

li.attachment {
  box-sizing: border-box;
  margin-bottom: 0.25em;
  border-radius: 5px;
  min-height: 47px;
  overflow: hidden;
  position: relative;
  margin-right: 1%;
  width: 49%;
}
li.attachment figure {
  background-repeat: no-repeat;
  background-position: center center;
  background-size: contain;
  margin: 0;
  pointer-events: none;
  position: absolute;
  top: 5px;
  left: 5px;
  height: 37px;
  width: 64px;
}
li.attachment > a {
  color: inherit;
  display: flex;
  flex-direction: column;
  justify-content: center;
  padding: 0 10px 0 80px;
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  text-decoration: none;
  transition: background-color 0.25s linear;
}
li.attachment > a:hover,
li.attachment > a:focus,
li.attachment > a:active {
  background-color: var(--color-yellow-transparent-light);
}
li.attachment span.title {
  font-weight: bold;
}
li.attachment > a:hover span.title,
li.attachment > a:focus span.title,
li.attachment > a:active span.title {
  text-decoration: underline;
}
li.attachment span.subline {
  font-size: 0.8em;
  text-decoration: none !important;
}
li.attachment > .tools {
  position: absolute;
  top: auto;
  right: 0;
  bottom: -2em;
  left: auto;
  transition: bottom 0.25s linear;
}
li.attachment:hover > .tools,
li.attachment:focus > .tools {
  position: absolute;
  bottom: 0;
}
li.attachment > .tools > form {
  display: none;
}
li.attachment > .tools > a {
  display: inline-block;
  padding: 5px 10px;
  height: auto;
}
li.attachment > .tools > a:hover,
li.attachment > .tools > a:focus {
  background-color: var(--color-shadow);
}
li.attachment > .tools > a.delete {
  color: var(--color-error);
}
li.attachment.link figure {
  background-image: url(/events/icons/link.png);
}
.admin li.attachment > a:hover::before,
.admin li.attachment > a:focus::before {
  position: absolute;
  top: 2px;
  right: 4px;
  font-size: 0.75em;
  max-width: 80%;
  text-overflow: ellipsis;
  overflow: hidden;
  white-space: nowrap;
}
.admin li.attachment.link > a:hover::before,
.admin li.attachment.link > a:focus::before {
  content: attr(href);
}
li.attachment.document figure {
  background-image: url(/events/icons/document.png);
}
li.attachment.document.pdf figure {
  background-image: url(/events/icons/pdf.png);
}
li.attachment.document.music figure {
  background-image: url(/events/icons/music.png);
}
li.attachment.document.image figure {
  background-image: url(/events/icons/image.png);
}
li.attachment.document.movie figure {
  background-image: url(/events/icons/movie.png);
}
li.attachment.document.archive figure {
  background-image: url(/events/icons/archive.png);
}
li.attachment.document.documentpage figure {
  background-image: url(/events/icons/document.png);
}
li.attachment.document.spreadsheet figure {
  background-image: url(/events/icons/spreadsheet.png);
}
li.attachment.document.presentation figure {
  background-image: url(/events/icons/presentation.png);
}
li.attachment.document.calendar figure {
  background-image: url(/events/icons/calendar.png);
}

.admin li.attachment.document > a:hover::before,
.admin li.attachment.document > a:focus::before {
  content: attr(data-filename);
}

li.attachment.gallery figure {
  background-image: url(/events/icons/image.png);
}

li.attachment.press figure {
  background-image: url(/img/press.png);
}

li.helps {
  box-sizing: border-box;
  font-size: 0.9em;
  padding: 0 1em 0 0.5em;
  width: 49%;
  margin-right: 1%;
}
li.helps .title {
  width: 100%;
  display: block;
  font-size: 1.2em;
  font-weight: bold;
}
li.helps .progress {
  display: block;
  height: 23px;
  border-radius: 5px;
  margin-left: -0.5em;
  margin-right: -1em;
}
li.helps .amount {
  text-shadow: var(--color-white) 0px 0px 5px;
  font-size: 13px;
  margin: 3px 0.5em;
  float: right;
}
li.helps .description {
  padding: 1em 0;
  width: 100%;
}
li.helps .description :first-child {
  margin-top: 0;
}
li.helps .description :last-child {
  margin-bottom: 0;
}
li.helps .contact a {
  float: right;
}
li.helps .contact button {
  background: transparent;
  border: none;
  color: var(--color-darkblue);
  cursor: pointer;
  float: right;
}
li.helps .contact button:hover span,
li.helps .contact button:focus span,
li.helps .contact button:active span {
  text-decoration: underline;
}

/**
 * @section Unsere Erfolge
 */
main.athlete #achievement-search {
  position: relative;
}
main.athlete #achievement-search * {
  box-sizing: border-box;
}
main.athlete #achievement-search input[type="search"] {
  background-color: var(--color-lightgray-transparent);
  border-radius: 20px;
  border: none;
  box-shadow: var(--color-shadow) 2px 2px 6px;
  font-size: 1.2em;
  outline: none;
  padding: 0.2em 0.25em;
  position: absolute;
  top: 150px;
  left: 50%;
  text-align: center;
  transform: translate(-50%, 0);
  transition: all 0.25s linear;
  min-width: 200px;
  max-width: 95%;
  width: 45%;
}
main.athlete #achievement-search:hover input[type="search"],
main.athlete #achievement-search:focus input[type="search"],
main.athlete #achievement-search input[type="search"]:hover,
main.athlete #achievement-search input[type="search"]:focus {
  background-color: var(--color-white);
  box-shadow: var(--color-shadow) 2px 2px 6px;
}
main.athlete #achievement-search #autoComplete_list {
  position: static;
  margin: 0;
  width: auto;
  display: flex;
  flex-wrap: wrap;
  align-items: flex-start;
  align-content: flex-start;
}
main.athlete #achievement-search .autoComplete_result {
  border-radius: 0 !important;
  border: none;
  clear: none;
  color: inherit;
  cursor: pointer;
  font-size: 1em;
  margin: 0 0.25em 0.25em 0;
  padding: 2px 5px;
  max-width: none;
  width: 49%;
}
main.athlete #achievement-search .autoComplete_result:hover,
main.athlete #achievement-search .autoComplete_result:focus,
main.athlete #achievement-search .autoComplete_result:focus-within {
  background-color: var(--color-yellow);
}
main.athlete #achievement-search .autoComplete_result.no_result {
  width: auto;
}
main.athlete #achievement-search .autoComplete_highlighted {
  color: inherit;
  font-weight: bold;
}

section.athlete > .athlete {
  box-sizing: border-box;
  margin-top: 2em;
  padding: 1em 1em;
  padding-left: 125px;
  position: relative;
  min-height: 120px;
}
section.athlete > .athlete h2 {
  margin-top: 0.25em;
}
section.athlete > .athlete .image {
  background-color: var(--color-lightgray);
  background-position: center center;
  background-repeat: no-repeat;
  background-size: cover;
  border-radius: 45px;
  box-shadow: var(--shadow-inset-light);
  height: 130px;
  position: absolute;
  left: 15px;
  top: 15px;
  width: 90px;
}
section.athlete > .athlete > span {
  display: block;
}
section.athlete > .athlete .image:after {
  content: "";
  display: block;
  padding-right: 100%;
}
section.athlete > .athlete .home:before {
  content: "Wohnort: ";
}
section.athlete > .athlete .ageClass:before {
  content: "Altersklasse: ";
}
section.athlete > .athlete .year:before {
  content: "Jahrgang: ";
}
section.event > span {
  display: block;
}
section.event > .date {
  float: none;
}
section.event > .date:before {
  content: "Datum: ";
}
section.event > .place:before {
  content: "Ort: ";
  font-variant: normal;
}

.achievements {
  display: flex;
  flex-wrap: wrap;
}
.events > .event,
.achievements > .achievement {
  display: inline-block;
  margin: 0;
  margin-bottom: 0.5em;
  margin-right: 1%;
  width: 49%;
}
main.page > .events > .event {
  width: 99%;
}
.achievements > .event {
  margin-bottom: 0;
  width: 100%;
}
.achievements > .event h3 {
  margin-bottom: 0;
}
.achievements > .event div {
  margin-bottom: 1em;
  position: relative;
  padding-left: 1em;
}
.card .date {
  float: none;
}
.achievements > .event .date {
  float: none;
}
.achievements > .event .date:before {
  content: "am ";
  font-variant: normal;
}
.achievements > .event .place:before {
  content: "in ";
  font-variant: normal;
}
.card {
  background-color: var(--color-white);
  border-radius: 2px;
  box-sizing: border-box;
  padding: 0.5em 2em;
  position: relative;
  box-shadow: 1px 1px 4px var(--color-shadow),
    0 0 15px rgba(0, 0, 0, 0.025) inset;
}
.event.card .event,
.achievement.card .athlete {
  box-sizing: border-box;
  background-color: var(--color-yellow);
  margin: -0.5em -2em 1em -2em;
  padding: 0.6em 1em;
  padding-left: 75px;
  position: relative;
}
.event.card .event:only-child,
.achievement.card .athlete:only-child {
  margin-bottom: -0.5em;
}
section.athlete .achievement.card .athlete {
  padding-top: 0;
  padding-bottom: 0;
  height: 5px;
}
section.athlete .achievement.card .athlete > * {
  display: none;
}
.event.card .event a,
.achievement.card .athlete a {
  display: block;
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
}
.event.card .event .title,
.achievement.card .athlete .name {
  display: block;
  font-weight: bold;
  font-size: 1.25em;
  margin-bottom: -0.2em;
}
.event.card .event .image,
.achievement.card .athlete .image {
  background-color: var(--color-darkblue);
  background-position: center 15%;
  background-repeat: no-repeat;
  background-size: cover;
  border-radius: 50%;
  box-shadow: var(--shadow-inset-light);
  height: 42px;
  position: absolute;
  left: 15px;
  top: 50%;
  transform: translate(0, -50%);
  width: 42px;
}
.event.card .event .image:after,
.achievement.card .athlete .image:after {
  content: "";
  display: block;
  padding-right: 100%;
}
.achievement.card .athlete .home:after {
  content: ",";
}
.achievement.card .athlete .ageClass:before {
  content: "Altersklasse ";
}
.achievement.card .athlete .year:before {
  content: " (";
}
.achievement.card .athlete .year:after {
  content: ")";
}
.event.card .event .date,
.achievement.card .athlete .image,
.achievement.card .athlete .home,
.achievement.card .athlete .year,
.achievement.card .athlete .ageClass {
  cursor: default;
  font-size: 0.9em;
  user-select: none;
}
.card > div {
  margin: 0;
  margin-bottom: 0.5em;
}
.card > div:last-child {
  margin-bottom: 1em;
}
.event.card > .achievement,
.achievement.card > .achievement,
.achievement.card > .event {
  padding-left: 44px;
  padding-top: 4px;
  position: relative;
  display: flex;
  flex-wrap: wrap;
  align-items: baseline;
}
.event.card > .achievement:before,
.achievement.card > .achievement:before,
.achievement.card > .event:before {
  content: "";
  background-repeat: no-repeat;
  background-size: contain;
  background-position: center;
  height: 30px;
  position: absolute;
  top: 0;
  left: 0;
  width: 30px;
}

.event.card > .achievement:before,
.achievement.card > .achievement:before {
  background-image: url(/img/svg/noun_clipboard_520741.svg);
}
.achievement.card > .achievement > .discipline:after {
  content: ": ";
}
.achievement.card > .achievement > .rank:before {
  content: " (";
}
.achievement.card > .achievement > .rank:after {
  content: ")";
}

.achievement.card > .event:before {
  background-image: url(/img/svg/noun_MapMarker_2317903.svg);
}
.achievement.card > .event > .title a {
  color: inherit;
}
.achievement.card > .event > .title {
  order: 1;
  display: block;
  width: 100%;
}
.achievement.card > .event > .date {
  float: none;
  order: 2;
}
.achievement.card > .event > .date:after {
  content: " in ";
}
.achievement.card > .event > .place {
  order: 3;
}

.event.card > .event > .place:before {
  content: " / ";
  font-variant: normal;
}
.event.card > .event > .title {
  overflow-x: hidden;
  text-overflow: ellipsis;
}

.achievement.card .tags li {
  background-position: left center;
  background-repeat: no-repeat;
  background-size: contain;
  display: inline-block;
  float: left;
  height: 1.8em;
  padding-left: 1.8em;
  position: relative;
  transition: all 0.35s linear;
}
.achievement.card .tags:hover li,
.achievement.card .tags:focus li {
  padding-left: 2em;
  padding-right: 0.2em;
}
.achievement.card .tags li span {
  display: none;
  line-height: 1.8em;
  opacity: 0;
  transition: inherit;
  width: 0;
}
.achievement.card .tags:hover li span,
.achievement.card .tags:focus li span {
  display: inherit;
  opacity: 1;
  width: auto;
}
.achievement.card .tags li .icon {
  background-color: rgb(205, 205, 205);
  position: absolute;
  top: 0;
  left: 0;
  bottom: 0;
  width: 1.8em;
}
.achievement.card .tags:hover li .icon,
.achievement.card .tags:focus li .icon {
  background-color: rgb(0, 81, 147);
}
.achievement.card .tags li.personalbest .icon {
  -webkit-mask-image: url(/img/svg/achievements_personalbest.svg);
  mask-image: url(/img/svg/achievements_personalbest.svg);
}
.achievement.card .tags li.champion .icon {
  -webkit-mask-image: url(/img/svg/achievements_champion.svg);
  mask-image: url(/img/svg/achievements_champion.svg);
}
.achievement.card .tags li.first .icon {
  -webkit-mask-image: url(/img/svg/achievements_first.svg);
  mask-image: url(/img/svg/achievements_first.svg);
}
.achievement.card .tags li .title {
  position: absolute;
  top: 0;
  left: 0;
  bottom: 0;
  width: 1.8em;
}
.achievement.card .tags:hover li .title,
.achievement.card .tags:focus li .title {
  display: none;
}

/**
 * Discipline Icons
 * @see https://thenounproject.com/prosymbols/collection/olympic-glyph-icons/
 */

/**
 * @section Satzung
 */

#satzung,
#satzung ol {
  list-style-type: none;
  margin-left: 0 !important;
}
#satzung {
  counter-reset: abschnitt paragraph;
  margin-bottom: 3em;
}
#satzung li {
  text-indent: -2em;
  padding-left: 2em;
}
#satzung li::before {
  display: inline-block;
  text-align: right;
  padding-right: 0.3em;
  width: calc(2em - 0.3em);
}
#satzung > p,
#satzung ol > p {
  margin-left: 2em;
  margin-bottom: 0.3em;
}
#satzung > h2:not(:first-child) {
  margin-top: 2em;
}
#satzung > h2::before {
  content: counter(abschnitt, upper-latin) ". ";
  counter-increment: abschnitt;
}
#satzung > li {
  margin-bottom: 2em;
  font-weight: bold;
}
#satzung > li::before {
  content: "§ " counter(paragraph) " ";
  counter-increment: paragraph;
}
#satzung > li > ol {
  font-weight: normal;
  counter-reset: absatz;
}
#satzung > li > ol > li::before {
  content: counter(absatz) ". ";
  counter-increment: absatz;
}
#satzung > li > ol > li > ol {
  counter-reset: absatzliste;
}
#satzung > li > ol > li > ol > li {
  margin-bottom: 0;
}
#satzung > li > ol > li > ol > li::before {
  content: counter(absatzliste, lower-latin) ") ";
  counter-increment: absatzliste;
}

/**
 * @section Vereins-App
 */

.app-stores {
  background-image: url(/img/upload/_3d842cd0-61ff-43cb-af43-de4115ad410f.webp);
  background-size: cover;
  background-position: center 20%;
  display: flex;
  align-items: flex-end;
  flex-direction: column;
  justify-content: center;
  min-height: 340px;
  padding: 1em 40px;
}
.app-stores a {
  width: 160px;
}
.app-stores a.qrcode {
  aspect-ratio: 1;
  background: var(--color-white);
  border-radius: 10px;
  line-height: 0;
  margin-bottom: 1em;
}
.app-stores a.qrcode img {
  border-radius: inherit;
}
.app-stores a.store {
  min-height: 40px;
}
.app-stores a > img {
  width: 100%;
}
@media (max-width: 990px) {
  .app-stores {
    align-items: center;
  }
}

/**
 * @section Mobile View
 */

@media (max-width: 990px) {
  body {
    background-color: var(--color-white);
  }
  #wrapper {
    flex-wrap: wrap;
    box-shadow: none;
  }
  main {
    flex-basis: 100%;
    width: auto;
    order: 1;
    padding-left: 40px;
  }
  aside {
    flex-basis: 100%;
    order: 2;
    width: auto;
  }
  aside #logo {
    display: block;
    margin: 0 auto;
    text-align: center;
  }
  aside nav,
  aside .teaser {
    margin-left: auto;
    margin-right: auto;
    max-width: 300px;
    width: auto;
  }
  ul#trainerteam li {
    height: 140px;
    width: 100px;
  }
  li.article {
    background-size: 60px;
    padding-left: 60px;
  }
  li.article h2 {
    font-size: 1em;
    padding-left: 0;
    text-indent: 0;
  }
  li.attachment,
  li.helps,
  .achievements > .achievement,
  .events > .event {
    margin-right: 0;
    width: 100%;
  }
  .card {
    padding-left: 1em;
    padding-right: 1em;
  }
  .event.card .event,
  .achievement.card .athlete {
    margin-left: -1em;
    margin-right: -1em;
  }
  .achievement.card .athlete .ageClass:before {
    content: "";
  }
  table.records {
    font-size: 0.8em;
    margin-right: -20px;
    margin-left: -20px;
    width: calc(100% + 40px);
  }
  .calendar .day {
    padding: 1px 2px;
    font-size: 0.9em;
  }
  label {
    float: none;
    text-align: left;
  }
  label.richtext {
    min-height: auto;
  }
  input.wide,
  textarea.wide,
  textarea.richtext,
  select.wide,
  fieldset.wide,
  progress.wide,
  form button.wide,
  .fakeFormField.wide {
    width: 98%;
  }
  ul.tree {
    box-sizing: border-box;
    width: 98%;
  }
  li.attachment {
    min-height: 94px;
  }
  li.attachment > .tools {
    position: absolute;
    bottom: 0;
  }
  .cidsi.wide {
    width: 98% !important;
  }
  main.athlete #achievement-search input[type="search"] {
    background-color: var(--color-white);
    box-shadow: var(--color-shadow) 2px 2px 6px;
    margin: -0.5em 10% 1em;
    position: static;
    transform: none;
    width: 80%;
  }
  main.athlete #achievement-search #autoComplete_list {
  }
  main.athlete #achievement-search .autoComplete_result {
    float: none;
    width: 100%;
  }
  .oversize {
    border-top-left-radius: 0;
    border-bottom-left-radius: 0;
  }
}
