
/* custom.css */

/* ... Design ...
-------------------------------------------------------------------------------------------------*
#right {
  background-color: #ddd;
}
/* ... Design ... END
-------------------------------------------------------------------------------------------------*/



/* ... Header ...
-------------------------------------------------------------------------------------------------*/
#header .header {
}
/* ... Header ... END
-------------------------------------------------------------------------------------------------*/



/* ... Footer ...
-------------------------------------------------------------------------------------------------*/
#footer {
  /* background-image: url(../images/layout/footer.jpg); */
  /* background-position: right bottom; */
  /* background-repeat: no-repeat; */
  /* padding-right: 136px; */
  border-top: 1px solid #D3221D;
}
.footer {
	display: grid;
	grid-template-columns: auto auto 1fr;
	gap: 1em;
}
.footer .content-image {
	align-self: end;
	justify-self: end;
}
/* ... Footer ... END
-------------------------------------------------------------------------------------------------*/



/* ... Sitemap ...
-------------------------------------------------------------------------------------------------*/
.mod_sitemap ul {
  line-height: 2;
}
/* ... Sitemap ... END
-------------------------------------------------------------------------------------------------*/



/* ... Google map ...
-------------------------------------------------------------------------------------------------*/
.routinglink input.text {
  width: 100%;
}
.routinglink .submit {
  margin: 1em 0 0;
}
/* ... Google map ... END
-------------------------------------------------------------------------------------------------*/



/* ... Misc ...
-------------------------------------------------------------------------------------------------*
p a[href$=".pdf"] {
  display: inline-block;
  padding-left: 3.5rem;
  padding-top: 1.5rem;
  position: relative;
}
p a[href$=".pdf"]:before {
  background-image: url(img/icon-pdf.png);
  background-repeat: no-repeat;
  background-size: contain;
  position: absolute;
  left: 0;
  bottom: 0;
  content: "";
  display: block;
  width: 3rem;
  height: 3rem;
  overflow: hidden;
}
.image_container a[href$=".pdf"]:before {
  content: "PDF";
  left: auto;
  right: 0;
  bottom: 0;
}
/* ... Misc ... END
-------------------------------------------------------------------------------------------------*/



/* ... Suche ...
-------------------------------------------------------------------------------------------------*/
.search {
	grid-row: 2 / 3;
	grid-column: 2 / -1;
	justify-self: self-end;
}
/* ... Suche ... END
-------------------------------------------------------------------------------------------------*/



/* ... Tables ...
-------------------------------------------------------------------------------------------------*/
/* ... Tables ... END
-------------------------------------------------------------------------------------------------*/



/* ... Colorbox click 50/50 ...
-------------------------------------------------------------------------------------------------*/
#cboxPrevious,
#cboxNext {
  background: transparent;
  width: 50%;
  height: 100%;
  top: 0;
  margin-top: 0;
}
#cboxPrevious {
  left: 0;
}
#cboxNext {
  right: 0;
}
#cboxPrevious:before,
#cboxNext:before {
  background-image: url("../../assets/jquery/colorbox/1.6.1/images/controls.png");
  position: absolute;
  width: 28px;
  height: 65px;
  top: 50%;
  margin-top: -33px;
  content: '';
}
#cboxPrevious:before {
  background-position: left top;
  left: 5px;
}
#cboxNext:before {
  background-position: right top;
  right: 5px;
}
#cboxPrevious:hover:before {
  background-position: left bottom;
}
#cboxNext:hover:before {
  background-position: right bottom;
}
/* ... Colorbox click 50/50 ... END
-------------------------------------------------------------------------------------------------*/



/* ... Gallery ...
-------------------------------------------------------------------------------------------------
on 620px width:
2col - 304
3col - 198
4col - 145
5col - 114
6col - 93
7col - 78
8col - 66
*
.content-gallery {
}
.content-gallery ul {
  margin: 0 0 0 -2%;
  list-style: none;
  overflow: hidden;
}
.content-gallery li {
  display: block;
  margin: 0 0 2% 2%;
  float: left;
}
.content-gallery img {
  width: 100%;
}
.content-gallery .cols_2 li {
  width: 48%;
}
.content-gallery .cols_3 li {
  width: 31.33%;
}
.content-gallery .cols_4 li {
  width: 23%;
}
.content-gallery .cols_5 li {
  width: 18%;
}
.content-gallery .cols_6 li {
  width: 14.66%;
}
.content-gallery .cols_7 li {
  width: 12.28%;
}
.content-gallery .cols_8 li {
  width: 10.5%;
}
/* ... Gallery ... END
-------------------------------------------------------------------------------------------------*/



/* ... Gallery ...
-----------------------------------------------*/
.content-gallery {
  --gallery-cols: 2;
  --gap-x: 1.5rem;
  --img-x: left;
  --img-y: top;
  --img-object-fit: contain;
}


.content-gallery.img-center {
  --img-x: center;
}
.content-gallery.img-right {
  --img-x: right;
}
.content-gallery.img-middle {
  --img-y: center;
}
.content-gallery.img-bottom {
  --img-y: bottom;
}
.content-gallery.img-cover {
  --img-object-fit: cover;
}


.content-gallery.sponsor-logo-gallery {
  --img-x: center;
  --img-y: center;
  --img-object-fit: contain;
}


.content-gallery .cols_1 {
  --gallery-cols: 1;
}
.content-gallery .cols_2 {
  --gallery-cols: 2;
}
.content-gallery .cols_3 {
  --gallery-cols: 3;
}
.content-gallery .cols_4 {
  --gallery-cols: 4;
}
.content-gallery .cols_5 {
  --gallery-cols: 5;
}
.content-gallery .cols_6 {
  --gallery-cols: 6;
}
.content-gallery .cols_8 {
  --gallery-cols: 8;
}
.content-gallery > ul {
  margin: 0;
  padding: 0;
  list-style: none;
  display: grid;
  grid-template-columns: repeat(var(--gallery-cols), 1fr);
	gap: var(--gap-x);
  justify-items: center;
}
.content-gallery li {
	margin: 0;
	width: 100%;
}
.content-gallery figure {
	overflow: hidden;
	display: flex;
	justify-content: center;
	align-items: center;
	flex-direction: column;
	height: 100%;
}
.content-gallery a {
  /* aspect-ratio: 16/10; */
  overflow: hidden;
  display: flex;
  justify-content: center;
  align-items: center;
	height: 100%;
}
.content-gallery img {
  width: 100%;
  height: 100%;
  object-fit: var(--img-object-fit);
  object-position: var(--img-x) var(--img-y);
}
/* ... Gallery ... END
-----------------------------------------------*/



/* ... Gallery Sponsor Logo ...
-------------------------------------------------------------------------------------------------*
#container .sponsor-logo-gallery .image_container,
.sponsor-logo-gallery a {
  height: 100%;
  overflow: visible;
}
.sponsor-logo-gallery a {
  position: relative;
}
.sponsor-logo-gallery a::after {
  content: '';
  position: absolute;
  inset: 0;
  opacity: 0;
  transition: all .25s ease 0s;
  border: 1px solid red;
}
.sponsor-logo-gallery a:where(:hover, :focus)::after {
  opacity: 1;
}
/* ... Gallery Sponsor Logo ... END
-------------------------------------------------------------------------------------------------*/



/* ... Accordion ...
-----------------------------------------------*/
.content-accordion {
  margin-bottom: .5em;
}
.content-accordion .toggler {
	cursor: pointer;
  font-size: 1.2rem;
  background-color: #D3221D;
	color: #fff;
	padding: .2em .5em;
	display: flex;
	justify-content: space-between;
	align-items: center;
	transition: all .2s ease 0s;
}
.content-accordion .toggler > span {
	display: none;
}
.content-accordion .toggler::after {
	content: '>';
	font-size: 1em;
	transform: rotate(0);
	transition: all .2s ease 0s;
}
.content-accordion .toggler:hover {
	filter: brightness(.9);
}
.content-accordion .toggler.active {
}
.content-accordion .toggler.active:hover {
}
.content-accordion .toggler.active::after {
  transform: rotate(90deg);
}
.accordion {
	padding: 1em;
	border-style: solid;
	border-color: #eee;
	border-width: 0 2px 2px;
	box-sizing: border-box;
	/* background-image: linear-gradient(to right, black 50%, red 50%); */
}
/* ... Accordion ... END
-----------------------------------------------*/



/* ... Gallery ...
-------------------------------------------------------------------------------------------------*
.content-gallery ul {
  margin: 0;
  list-style: none;
}
.content-gallery li {
  display: block;
  margin: 0;
  float: left;
}
/* ... Gallery ... END
-------------------------------------------------------------------------------------------------*/



/* ... Events ...
-------------------------------------------------------------------------------------------------*
.layout_title .header {
  color: #aa143a;
}
.layout_title {
  margin-bottom: 1em;
}
.layout_title p {
  margin-bottom: 0;
}
.layout_details {
  margin-bottom: 1.5rem;
}
.layout_details figure {
  max-width: 235px;
}
/* ... Events ... END
-------------------------------------------------------------------------------------------------*/



/* ... Boxes (right col) ...
-------------------------------------------------------------------------------------------------*/
.box {
  padding: 0 1rem 1rem;
  background-color: #ececec;
}
/* ... Boxes (right col) ... END
-------------------------------------------------------------------------------------------------*/



/* ... Boxes (right col) alt ...
-------------------------------------------------------------------------------------------------*
.box [class^="mod_"] {
  overflow: visible;
  margin-bottom: 1rem;
}
.box [class^="mod_"]:last-child {
  margin-bottom: 0;
}
.box h2 {
  background-color: #aa143a;
  border: 0 none;
  color: #fff;
  font-size: 1rem;
  margin: -10px -10px 0.5em;
  padding: 0 10px;
}
.box h3 {
  font-size: .875rem;
}
.box .last h3:only-child {
  margin-bottom: 0;
}
.box {
  padding: 10px;
  background-color: #f2f2f2;
  font-size: .875rem;
  box-shadow: 0 2px 2px -1px rgba(0, 0, 0, .3);
}
/* ... Boxes (right col) alt ... END
-------------------------------------------------------------------------------------------------*/
