/* @override 
	https://quartierhof-hoengg.ch/files/css/styles.css?*
*/

/* @group Contao */

/* Reset Contao */

body, div, h1, h2, h3, h4, h5, h6, p, blockquote, pre, code, ol, ul, li, dl, dt, dd, figure, table, th, td, form, fieldset, legend, input, textarea {
	margin: 0;
	padding: 0;
}

table {
	border-spacing: 0;
	border-collapse: collapse;
	font-size: inherit;
}

caption, th, td {
	text-align: left;
	vertical-align: top;
}

caption, th {
	font-weight: bold;
}

abbr, acronym {
	font-variant: normal;
	border-bottom: 1px dotted #666;
	cursor: help;
}

blockquote, q {
	quotes: none;
}

fieldset, img {
	border: 0;
}

b, strong {
	font-weight: 700;
}

ul {
	list-style-type: none;
}

li {
	list-style-type: none;
}

sup {
	vertical-align: text-top;
}

sub {
	vertical-align: text-bottom;
}

del {
	text-decoration: line-through;
}

ins {
	text-decoration: none;
}

header, footer, nav, section, aside, article, figure, figcaption {
	display: block;
}

input, button, textarea, select {
	font-family: inherit;
	font-size: 100%;
	font-weight: inherit;
}

pre, code {
	font-family: Monaco,monospace;
}

:focus {
	outline: 0;
}

p > ul {
	margin: 0;
}

/* Layout Contao */

.inside {
	position: relative;
}

.block {
	overflow: hidden;
}

.clear, #clear {
	height: .1px;
	font-size: .1px;
	line-height: .1px;
	clear: both;
}

.invisible {
	width: 0;
	height: 0;
	left: -1000px;
	top: -1000px;
	position: absolute;
	overflow: hidden;
	display: inline;
}

/*
.custom {
	display: block;
	margin-bottom: 30px;
}

#container:after,.custom:after {
	content: "";
	display: block;
	clear: both
}
*/

/* @end */

/* @group Basic */

html {
	font-size: 10px;
	transition: 0.2s;
}

html, body {
	height: 100%;
}

body {
	background: #fff;
	font-family: 'Open Sans', sans-serif;
	color: #444;
}

a {
	text-decoration: none;
	color: #499444;
}

a:hover {
	color: #f60;
}

h1, h2, h3, h4, h5, h6 {
	font-family: 'Roboto Condensed', sans-serif;
	font-weight: 700;
	margin-bottom: 1rem;
}

h1 {
	font-size: 2.8rem;
	line-height: 1.1;
	color: #666;
	margin-bottom: 3rem;
	padding-left: 1rem;
}

h2 {
	font-size: 2.2rem;
	text-transform: uppercase;
}

h3 {
	font-size: 1.7rem;
	line-height: 1.5;
	margin-bottom: 0;
	margin-top: 0;
	font-family: 'Open Sans', sans-serif;
}

p + h3, ul + h3 {
	margin-top: 2rem;
}

p, li {
	font-size: 1.6rem;
	line-height: 1.5;
}

p, ul {
	margin-bottom: 1rem;
}

td, th {
	font-size: 1.6rem;
	line-height: 1.5;
}

img, video {
	max-width: 100%;
	height: auto;
}

.image_container img {
	display: block;
}

/* @end*/

@media screen and (min-width: 1400px) {
	html {
		font-size: 11px;
	}
}

/* @group Layout */

#wrapper {
	display: flex;
	flex-direction: column;
	align-items: center;
	margin: 0;
	min-height: 100%;
}

#keyvisual {
	width: 100%;
	margin: 0 0 3rem;
}

#container {
	width: calc(100% - 3rem);
	max-width: 110rem;
	margin: 0 1.5rem;
	padding: 0;
}

#main {
	padding: 0;
	padding-bottom: 3rem;
}

#header {
	display: block;
	position: fixed;
	top: 0;
	width: 100%;
	display: flex;
	justify-content: center;
	background-color: rgba(0, 0, 0, 0.3);
	z-index: 1000;
	transition: top 0.4s ease-in-out 0s;
}

#header-bar {
	display: flex;
	justify-content: space-between;
	height: 8rem;
	width: calc(100% - 3rem);
	max-width: 110rem;
	margin: 0 1.5rem;
}

#header.hide {
	top: -9rem;
}

#header.visible-top {
	background-color: rgba(0, 0, 0, 0);
}

.home #logo {
	opacity: 1;
	transition: opacity 0.3s ease-in-out 0s;
}

.home #nav-overlay.open #logo {
	opacity: 1;
}

.home .visible-top #logo {
	opacity: 0;
}

/* @group Logo */

#logo {
	display: flex;
	align-items: center;
	top: 0.5rem;
	position: relative;
	text-indent: 0;
	width: auto;
	height: 7rem;
	z-index: 100;
	overflow: hidden;
}

#logo span {
	display: block;
	width: 9.5rem;
	height: 7rem;
	margin-right: 1rem;
	background: url(/files/images/logo-qth-white.svg) no-repeat;
	background-size: 100%;
	background-position: center;
}

#logo a {
	padding: 0;
	margin: 0;
	color: #fff;
	font-size: 2.5rem;
	line-height: 1.1;
	display: block;
	width: 100%;
	height: 2.8rem;
	text-transform: uppercase;
}

#logo #logo a:hover {
	text-decoration: none;
}

/* @end*/

@media screen and (max-width:768px), screen and (max-height:640px) {
	#header-bar {
		height: 6rem;
		margin: 0 2rem;
	}
	
	#logo {
		height: 5rem;
		top: 0.5rem;
		left: 0;
	}
	
	#logo span {
		height: 5rem;
		width: 7rem;
	}
	
	#logo a {
		font-size: 2rem;
		height: 2.3rem;
		text-shadow: 1px 1px 3px #333;
	}
}

/* @group Footer */

#footer {
	display: flex;
	justify-content: center;
	width: 100%;
	background-color: #333;
}

#footer h2 {
	color: rgba(255, 255, 255, 0.7);
}

#footer .inside {
	display: flex;
	width: calc(100% - 3rem);
	max-width: 110rem;
	margin: 0 1.5rem;
	padding: 4rem 0;
	box-sizing: border-box;
}

#footer .mod_customnav {
	flex: 1;
	padding: 0 1.5rem;
	box-sizing: border-box;
}

#footer .mod_customnav strong {
	color: white;
}

@media screen and (max-width:768px), screen and (max-height:640px) {
	#footer .inside {
		display: block;
		padding-bottom: 8rem;
	}
	
	#footer .mod_customnav {
		padding: 0 1rem 1rem;
	}
	
	#copyright {
		position: relative;
		top: auto;
		left: auto;
		width: auto;
		padding: 0;
	}
}

/* @end */

/* @group Form */

.formbody {
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	margin: 1rem 0;
}

label {
	font-weight: bold;
	display: block;
	padding-bottom: 5px;
	font-size: 12px;
}

fieldset {
	width: calc(50% - 1rem);
	padding: 15px 0;
}

fieldset legend {
	position: relative;
	display: block;
	font-size: 20px;
	font-weight: bold;
	display: block;
}

fieldset fieldset {
	width: 100%;
	padding: 0;
}

fieldset fieldset legend {
	font-weight: bold;
	display: block;
	padding-bottom: 5px;
	font-size: 12px;
}

.widget {
	margin-bottom: 20px;
}

input:not([type="radio"]):not([type="checkbox"]), textarea, select, button {
	font-family: inherit;
	font-weight: normal;
	line-height: 1;
	font-size: 16px;
	padding: 0 1rem;
	height: 48px;
	background-color: #fff;
	border: 2px solid rgba(73, 148, 68, 0.5);
	border-radius: 4px;
	width: 100%;
	box-sizing: border-box;
}

input:not([type="radio"]):not([type="checkbox"]):hover, textarea:hover, select:hover, button:hover {
	background-color: rgba(73, 148, 68, 0.1);
}

input:not([type="radio"]):not([type="checkbox"]):focus, textarea:focus, select:focus, button:focus {
	border-color: #499444;
	background: white;
}

select {
	-webkit-appearance: none;
	background-image: url("images/icon-select.png");
	background-repeat: no-repeat;
	background-size: 30px;
	background-position: right center;
}

input.submit, button.submit, input[type="submit"], input[type="reset"] {
	width: auto;
	display: inline-block;
	padding: 0 1.2rem;
	margin-top: 0;
	cursor: pointer;
	background: rgba(73, 148, 68, 0.3);
	transition: 0.3s;
}

input.submit:hover, button.submit:hover, input[type="submit"]:hover, input[type="reset"]:hover {
	border-color: #499444;
	background: #499444;
	color: white;
}

input.submit::after, button.submit::after, input[type="submit"]::after {
	content: "\2192";
	padding-left: 1rem;
}

textarea {
	min-height: 140px;
	padding: 10px;
}

input[type="search"] {
	-webkit-appearance: none;
}

.checkbox_container > span, .radio_container > span {
	display: block;
	padding: 0;
	margin-bottom: 0.4rem;
}

.checkbox_container label, .radio_container label {
	font-weight: normal;
	font-size: 16px;
	padding: 4px;
	display: inline-block;
	margin: 0;
	vertical-align: middle;
}

.checkbox_container + br, .radio_container + br {
	display: none;
}

.tableless input[type="checkbox"], x:-moz-any-link {
	top: -2px;
	position: relative;
}

input[type="radio"], x:-moz-any-link {
	top: 2px;
	position: relative;
}

.submit_container {
	clear: left;
	float: none;
	margin-top: 1em;
	margin-bottom: 1em;
}

span.highlight {
	color: #c00;
}

span.mandatory {
	font-weight: bold;
	color: #f00;
	font-size: 16px;
	padding-left: 5px;
}

p.confirm {
	font-size: 1.3em;
	color: #090;
}

p.error {
	margin-bottom: 6px;
	font-size: 1.1em;
	font-weight: bold;
	color: #f00;
}

input.error[type="text"], input.error[type="password"], textarea.error {
	border-color: #ff8000 !important;
	background-color: #ffd;
}

input.captcha {
	width: 60px;
	margin-right: 6px;
}

span.captcha_text {
	font-size: 13px;
	font-weight: normal;
	color: #777;
}

::-webkit-input-placeholder {
	color: #999;
}

::-moz-placeholder {
	color: #999;
}

:-ms-input-placeholder {
	color: #999;
}

:-moz-placeholder {
	color: #999;
}

@media screen and (max-width:768px), screen and (max-height:640px) {
	fieldset {
		display: block;
		width: 100%;
		padding: 15px;
	}
}

/* @end */

/* @group form checkbox/radio button */

input[type="checkbox"], input[type="checkbox"] + label, input[type="radio"], input[type="radio"] + label {
	display: inline-block;
	vertical-align: middle;
	margin: 0;
	cursor: pointer;
}

input[type="checkbox"] + label, input[type="radio"] + label {
	font-size: 16px;
	line-height: 1;
	color: black;
}

input[type="checkbox"], input[type="radio"] {
	position: relative;
	opacity: 0;
	top: 3px;
	left: 0;
}

input[type="checkbox"] + label, input[type="radio"] + label {
	position: relative;
	margin-bottom: 0;
	margin-left: -13px;
	margin-right: 30px;
}

input[type="checkbox"] + label:before, input[type="radio"] + label:before {
	content: '';
	background: #fff;
	border: 3px solid #ccc;
	border-radius: 0;
	display: inline-block;
	vertical-align: middle;
	width: 12px;
	height: 12px;
	padding: 0.4rem;
	margin-top: -0.3rem;
	margin-right: 1rem;
	text-align: center;
	transition: 0.2s;
}

input[type="checkbox"]:focus + label:before, input[type="radio"]:focus + label:before {
	outline: none;
	border-color: black;
	box-shadow: 0 0 0 1px white, 0 0 0 3px black;
}

input[type="checkbox"]:hover + label:before, input[type="checkbox"]:required:hover + label:before, input[type="radio"]:hover + label:before, input[type="radio"]:required:hover + label:before {
	border-color: black;
	box-shadow: inset 0px 0px 0px 1px black;
}

input[type="checkbox"]:required + label:before, input[type="radio"]:required + label:before {
	background: white;
	border: 1px solid #ccc;
	box-shadow: inset 0px 0px 0px 2px #ccc;
}

input[type="checkbox"]:focus:required + label:before, input[type="radio"]:focus:required + label:before {
	outline: none;
	border-color: #ccc;
	box-shadow: inset 0px 0px 0px 2px #ccc, 0 0 0 1px white, 0 0 0 3px black;
}

input[type="checkbox"]:required:valid + label:before, input[type="radio"]:required:valid + label:before {
	background: white;
	box-shadow: none;
	border: 1px solid #ccc;
}

input[type="radio"] + label:before {
	border-radius: 50%;
}

input[type="radio"]:checked + label:before, input[type="radio"]:required:valid:checked + label:before {
	background: white;
	border-color: #ccc;
	box-shadow: inset 0px 0px 0px 6px #499444;
}

input[type="radio"]:disabled + label {
	color: #eee;
	cursor: not-allowed;
}

input[type="radio"]:disabled + label:before {
	background-color: white;
	box-shadow: none;
	border-color: #eee;
	color: #eee;
	cursor: not-allowed;
}

input[type="radio"]:checked:disabled + label:before {
	background: white;
	box-shadow: inset 0px 0px 0px 6px #eee;
	border-color: #eee;
	color: #eee;
	cursor: not-allowed;
}

input[type="radio"]:checked:focus + label:before {
	background: white;
	box-shadow: inset 0px 0px 0px 6px black, 0 0 0 1px white, 0 0 0 3px black !important;
	border-color: black;
}

input[type="checkbox"]:checked + label:before, input[type="checkbox"]:required:valid:checked + label:before {
	background-image: url('data:image/svg+xml;charset=UTF-8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path fill="white" d="M21,7L9,19L3.5,13.5L4.91,12.09L9,16.17L19.59,5.59L21,7Z" /></svg>');
	background-size: 75%;
	background-repeat: no-repeat;
	background-position: center;
	border-color: #ccc;
	box-shadow: none;
	background-color: #ccc;
}

input[type="checkbox"]:disabled + label {
	color: #eee;
	cursor: not-allowed;
}

input[type="checkbox"]:disabled + label:before {
	background-color: white;
	box-shadow: none;
	border-color: #eee;
	color: #eee;
	cursor: not-allowed;
}

input[type="checkbox"]:checked:disabled + label:before {
	background-color: #eee;
	box-shadow: none;
	border-color: #eee;
	color: #eee;
	cursor: not-allowed;
}

input[type="checkbox"]:checked:focus + label:before {
	background-color: black;
	border-color: black !important;
	box-shadow: 0 0 0 1px white, 0 0 0 3px black;
}

/* @end */

/* @group News */

.mod_newslist > h2 {
	text-transform: uppercase;
}

.home .mod_newslist > h2 {
	text-transform: none;
	border: none;
}

.layout_short, .layout_latest {
	clear: both;
	padding: 8px 0 10px;
	border-top: 1px solid #ccc;
}

.home .layout_short {
	clear: both;
	padding: 4px 0;
	margin-left: 50px;
	border-top: none;
}

.layout_short .info, .layout_latest .info {
	margin-bottom: 0;
	padding: 0;
}

/* AKTUELL */

.layout_latest h3 {
	font-size: 18px;
	line-height: 20px;
	font-weight: bold;
	padding: 0;
	margin: 4px 0;
}

.layout_latest p {
	margin-bottom: 0;
}

.layout_latest p.more {
	display: inline-block;
	margin-top: 7px;
	padding-right: 22px;
	background: url(images/icon-arrow-out.png) no-repeat right 4px;
	background-size: 12px;
}

.layout_full figure, .layout_latest figure {
	display: inline;
	float: left;
	margin: 4px 10px 10px 0;
}

.layout_full .ce_text {
	float: none;
	margin: 4px 10px 10px 0;
}

.layout_latest .mime_icon {
	display: none;
}

.layout_latest .enclosure {
	display: inline-block;
	margin-top: 5px;
	padding-left: 25px;
	background-image: url(images/icon-pdf.png);
	background-repeat: no-repeat;
	background-size: 20px;
}

/* ARCHIV */

.layout_short h3 {
	background-image: url(images/icon-right.png);
	background-repeat: no-repeat;
	background-position: calc(100% + 3px) 1px;
	background-size: 16px;
	margin: 0;
	padding: 0;
	padding-right: 20px;
	line-height: 22px;
}

.layout_short .mime_icon {
	display: none;
}

/* DETAIL */

.layout_full h2 {
	font-size: 22px;
	line-height: 20px;
	font-weight: bold;
	margin-top: 5px;
	margin-bottom: 12px;
	text-transform: uppercase;
}

.layout_full p.info {
	margin-bottom: 18px;
}

/* @end*/

/* @end*/

/* @group map */

#map {
	height: 40vw;
	width: 100%;
}

/* @end*/

@media screen and (max-width:768px), screen and (max-height:640px) {
	#map {
		height: 440px;
	}
}

/* @end*/

.mod_article .mod_newsreader, .mod_article .mod_eventreader {
	margin-left: 0;
	margin-right: 0;
}

/*
.mod_article *[class*="layout_"] > *,
.mod_article *[class*="event_"] > * {
	padding-right: 0;
	margin-right: 0
}
*/

.grid1 {
	width: 8.33%;
}

.grid2 {
	width: 16.66%;
}

.grid3 {
	width: 25.00%;
}

.grid4 {
	width: 33.33%;
}

.grid5 {
	width: 41.66%;
}

.grid6 {
	width: 50.00%;
}

.grid7 {
	width: 58.33%;
}

.grid8 {
	width: 66.66%;
}

.grid9 {
	width: 75.00%;
}

.grid10 {
	width: 83.33%;
}

.grid11 {
	width: 91.66%;
}

.grid12 {
	width: 100%;
}

*[class*="grid"] {
	float: left;
	padding-left: 1.5rem;
	padding-right: 1.5rem;
	display: inline-block;
	box-sizing: border-box;
}

.mod_article[class*="grid"] {
	margin-left: 0;
	margin-right: 0;
}

/*

.mod_article *[class*="ce_"],.mod_article *[class*="mod_"] {
	margin-left: 10px;
	margin-right: 10px
}
*/

@media screen and (max-width:768px), screen and (max-height:640px) {
	*[class*="grid"] {
		float: none !important;
		display: block !important;
		width: auto !important;
		padding: 0 1rem;
		margin: 2rem 0;
	}
	
	*[class*="grid"]:first-child {
		margin-top: 0;
	}
	  /*
		*[class*="offset"] {
			margin-left: 10px !important
		}
		*/
}

/* @group Navigation */

#mainNavi {
	position: relative;
	top: 0;
	left: 50%;
	text-align: center;
	width: 600px;
	margin-left: -300px;
	pointer-events: auto;
}

#mainNavi ul {
	display: inline-block;
	margin: 0;
	background: rgba(255, 255, 255, 0.7);
	border-radius: 0 0 40px 40px;
	border: 1px solid #fff;
	border-top: none;
	padding: 10px 30px 12px 30px;
	min-height: 10px;
	text-align: center;
	transition: 0.5s;
}

#mainNavi ul:hover, #mainNavi.sticky ul {
	background: white;
	border: 1px solid #ccc;
	border-top: none;
	transition: 0.5s;
}

#mainNavi li {
	display: inline-block;
	text-align: center;
	line-height: 1.1;
	font-size: 14px;
	font-weight: bold;
}

#mainNavi li.last {
	margin-right: 0;
}

#mainNavi a, #mainNavi strong {
	display: inline-block;
	padding: 5px 10px;
	text-decoration: none;
	color: #49944c;
	text-transform: uppercase;
	text-align: center;
}

#mainNavi a:hover, #mainNavi strong, #mainNavi a.trail {
	color: #000;
}

#metaNavi {
	position: absolute;
	right: 0;
	top: 70px;
	background: rgba(255, 255, 255, 0.7);
	border-radius: 20px;
	padding: 5px 8px;
}

#metaNavi:hover {
	background: white;
}

#metaNavi ul {
	margin: 0;
	min-height: 10px;
	text-align: left;
}

#metaNavi li {
	display: inline-block;
	text-align: center;
	line-height: 1.1;
	font-size: 13px;
}

#metaNavi a, #metaNavi span {
	display: inline-block;
	padding: 5px 0 5px 0;
	margin: 0 8px;
	text-decoration: none;
	color: #f60;
	text-transform: uppercase;
	text-align: center;
	text-indent: -333px;
	width: 20px;
	overflow: hidden;
}

#metaNavi a:hover, #metaNavi span.active {
	color: #000;
	text-decoration: none;
}

#metaNavi a#linkHome {
	background: url(images/icons-metanavi.png) no-repeat 0 3px;
}

#metaNavi a#linkIns {
	background: url(images/icons-metanavi.png) no-repeat 0 -47px;
}

#metaNavi a#linkMenu {
	background: url(images/icons-metanavi.png) no-repeat 0 -97px;
}

#topmenu .search {
	padding: 9px;
}

#topmenu input.text {
	width: 192px;
}

#topmenu input.submit {
	top: 2px;
	position: relative;
	vertical-align: top;
}

#submenu li {
	line-height: 1.5;
}

#submenu a:hover {
	text-decoration: underline;
}

#submenu ul.level_1 ul {
	margin-bottom: 0;
}

#submenu a.trail {
	color: #333;
}

#submenu .level_2 li {
	padding-left: 18px;
}

.mod_sitemap li {
	line-height: 1.5;
}

.mod_sitemap ul.level_1 ul {
	margin-bottom: 0;
}

.mod_sitemap .level_2 li {
	padding-left: 18px;
}

.pagination {
	margin-top: 1em;
	margin-bottom: 1em;
	padding-top: 1em;
	border-top: 1px solid #ddd;
}

.pagination p {
	width: 30%;
	float: left;
	margin-bottom: 0;
}

.pagination ul {
	width: 70%;
	float: right;
	margin-bottom: 0;
	text-align: right;
}

.pagination li {
	display: inline;
	padding-right: 3px;
	padding-left: 3px;
}

@media screen and (max-width:768px), screen and (max-height:640px) {
	#mainNavi {
		border-bottom: 1px solid #ccc;
		left: 0;
		width: 100%;
		margin-left: 0;
		top: 0;
		text-align: center;
	}
	
	#mainNavi ul {
		display: block;
		margin: 0;
		border-radius: 0;
		padding: 10px 0 12px 0;
	}
	
	#metaNavi {
		display: none;
	}
}

@media (max-width: 574px) {
	#mainNavi ul {
		padding: 7px 0 7px 0;
	}
	
	#mainNavi li {
		font-size: 12px;
	}
}

/* @end */

/* @group groups */

.groups {
	display: flex;
	flex-wrap: wrap;
	margin: 0 1.5rem;
}

.group {
	position: relative;
	display: flex;
	align-items: stretch;
	align-content: stretch;
	width: 25%;
	color: #fff;
	padding: 0;
	aspect-ratio: 4/3;
	box-sizing: border-box;
	background-size: cover;
	background-position: center;
}

.group a {
	position: relative;
	display: flex;
	justify-content: center;
	align-items: center;
	width: 100%;
	transition: 0.4s;
}

.group a h3 {
	display: block;
	color: white;
	padding: 0;
	margin: 0;
	font-size: 2.8rem;
	line-height: 1;
	text-align: center;
	box-sizing: border-box;
	transition: 0.2s;
	text-shadow: 1px 1px black;
}

.group a:hover {
	background-color: rgba(0, 0, 0, 0.4);
}

.group a:hover h3 {
	font-size: 3.2rem;
}

.ce_hyperlink.test-bier {
	position: relative;
	display: flex !important;
	justify-content: stretch;
	align-items: stretch;
	margin: 0;
	width: 25%;
	aspect-ratio: 4/3;
	display: flex;
}

.ce_hyperlink.test-bier a {
	position: relative;
	display: flex;
	justify-content: center;
	align-items: center;
	width: 100%;
	background-color: rgba(0, 0, 0, 0.1);
	transition: 0.4s;
	border: none;
	padding: 0;
	margin: 0;
}

.ce_hyperlink.test-bier a h2 {
	display: flex;
	justify-content: center;
	align-items: center;
	color: white;
	padding: 0;
	width: 100%;
	margin: 0;
	font-size: 2.8rem;
	transition: 0.2s;
	line-height: 1;
	text-align: center;
	box-sizing: border-box;
	text-shadow: 1px 1px black;
	z-index: 2;
}

.ce_hyperlink.test-bier a img {
	position: absolute;
	top: 0;
	left: 0;
	height: 100%;
	width: 100%;
	object-fit: cover;
	z-index: -1;
}

.ce_hyperlink.test-bier a:hover {
	background-color: rgba(0, 0, 0, 0.5);
}

.ce_hyperlink.test-bier a:hover h2 {
	font-size: 3.2rem;
}

@media screen and (max-width:103rem) {
	.ce_hyperlink.test-bier {
		width: 33.33%;
	}
}

@media screen and (max-width:768px), screen and (max-height:640px) {
	.ce_hyperlink.test-bier {
		width: 50%;
	}
	
	.group {
		width: calc(100% / 2);
		height: auto;
		padding-bottom: 30%;
		margin-top: 10px;
	}
	
	.group:hover a {
		height: auto;
	}
}

@media screen and (max-width: 480px) {
	.ce_hyperlink.test-bier {
		width: 100%;
		aspect-ratio: 5/3;
	}
}

/* @end */

/* @group map */

.flex {
	display: flex;
	width: 100%;
	justify-content: space-between;
}

.flex--navi {
	border-top: 1px solid #499444;
	margin-top: 6rem;
}

.flex--navi .ce_hyperlink {
	display: flex;
	width: 25rem;
	justify-content: center;
}

.flex--navi .ce_hyperlink.btn--prev {
	justify-content: flex-start;
}

.flex--navi .ce_hyperlink.btn--next {
	justify-content: flex-end;
}

/* @end*/

/* @group youtube */

.ce_youtube .video_container iframe {
	aspect-ratio: 16 / 9;
	width: 100%;
	height: 100%;
	margin-bottom: 2rem;
}

/* @end*/

#nav-burger {
	width: 6rem;
	height: 8rem;
	display: flex;
	align-items: center;
}

#nav-burger > div {
	width: 100%;
	height: auto;
	transform: scale(0.6);
	cursor: pointer;
}

#nav-burger span {
	display: block;
	width: 100%;
	box-shadow: 0 2px 10px 0 rgba(0, 0, 0, 0.3);
	height: 8px;
	background: #fff;
	transition: all .3s;
	position: relative;
}

#nav-burger span + span {
	margin-top: 14px;
}

#nav-burger.active span:nth-child(1) {
	animation: ease .7s top forwards;
}

#nav-burger.not-active span:nth-child(1) {
	animation: ease .7s top-2 forwards;
}

#nav-burger.active span:nth-child(2) {
	animation: ease .7s scaled forwards;
}

#nav-burger.not-active span:nth-child(2) {
	animation: ease .7s scaled-2 forwards;
}

#nav-burger.active span:nth-child(3) {
	animation: ease .7s bottom forwards;
}

#nav-burger.not-active span:nth-child(3) {
	animation: ease .7s bottom-2 forwards;
}

@keyframes top {
0% {
	top: 0;
	transform: rotate(0);
}

50% {
	top: 22px;
	transform: rotate(0);
}

100% {
	top: 22px;
	transform: rotate(45deg);
}
}

@keyframes top-2 {
0% {
	top: 22px;
	transform: rotate(45deg);
}

50% {
	top: 22px;
	transform: rotate(0deg);
}

100% {
	top: 0;
	transform: rotate(0deg);
}
}

@keyframes bottom {
0% {
	bottom: 0;
	transform: rotate(0);
}

50% {
	bottom: 22px;
	transform: rotate(0);
}

100% {
	bottom: 22px;
	transform: rotate(135deg);
}
}

@keyframes bottom-2 {
0% {
	bottom: 22px;
	transform: rotate(135deg);
}

50% {
	bottom: 22px;
	transform: rotate(0);
}

100% {
	bottom: 0;
	transform: rotate(0);
}
}

@keyframes scaled {
50% {
	transform: scale(0);
}

100% {
	transform: scale(0);
}
}

@keyframes scaled-2 {
0% {
	transform: scale(0);
}

50% {
	transform: scale(0);
}

100% {
	transform: scale(1);
}
}

@media screen and (max-width:768px), screen and (max-height:640px) {
	#nav-burger > div {
		transform: scale(0.4);
		margin-top: -20px;
	}
}

#nav-overlay {
	display: flex;
	justify-content: center;
	position: fixed;
	top: 0;
	left: 0;
	width: 100%;
	background-color: rgba(85, 85, 85, 0.98);
	box-sizing: border-box;
	overflow: hidden;
	z-index: -1;
	opacity: 0;
	padding: 0 1.5rem;
	height: 0;
	transition: z-index 1s, opacity 0.2s, padding 0.2s,  height 0.5s;
}

#nav-overlay.open {
	z-index: 999;
	opacity: 1;
	height: 100%;
}

#nav-overlay.close {
	z-index: -1;
	opacity: 0;
	height: 0;
	transition: z-index 2s, opacity 2s, height 0.5s;
}

#nav-overlay-inside {
	display: flex;
	width: calc(100% - 3rem);
	max-width: 110rem;
	margin: 0 1.5rem;
	padding-top: 10rem;
}

#nav-overlay-inside > nav {
	width: 100%;
	padding: 3rem;
	padding-left: 1rem;
}

#nav-overlay-inside h2 {
	color: white;
	font-size: 24px;
}

#nav-overlay-inside a, #nav-overlay-inside strong {
	display: block;
	padding: 5px 0;
	color: white;
	font-size: 20px;
	text-align: left;
	text-decoration: none;
	border-top: 2px solid transparent;
	border-bottom: 2px solid transparent;
	transition: border 0.4s ease-in-out 0s;
}

#nav-overlay-inside a i, #nav-overlay-inside strong i {
	display: block;
	font-style: normal;
}

#nav-overlay-inside strong, #nav-overlay-inside a:hover {
	border-top: 2px solid white;
	border-bottom: 2px solid white;
}

#search-box {
	float: left;
	width: 50%;
	padding: 0 0;
}

#search-box form {
	position: relative;
	margin: 0;
	line-height: 0;
}

#search-box .search {
	display: block;
	width: 100%;
	padding-top: 4px;
	padding-bottom: 4px;
}

#search-box .submit {
	position: absolute;
	top: 0;
	right: 0;
	width: 30px;
	border: none;
	background: transparent url(images/icon-suche.png) no-repeat center 4px;
	padding: 4px;
	display: inline-block;
}

@media screen and (max-width:103rem) {
	#search-box {
		width: 33.33%;
	}
}

@media screen and (max-width:768px), screen and (max-height:640px) {
	#nav-overlay.open {
		position: fixed;
		height: 100vh;
		overflow-x: hidden;
		overflow-y: auto;
	}
	
	#nav-overlay-inside {
		display: block;
		padding-top: 100px;
		width: 100%;
	}
	
	#nav-overlay-inside a, #nav-overlay-inside strong {
		font-size: 16px;
		display: block;
		padding: 5px 0;
	}
	
	#nav-overlay-inside > nav {
		width: 100%;
		padding: 0;
		padding-bottom: 3rem;
	}
	
	#nav-overlay-inside > nav:last-child {
		padding-bottom: 6rem;
	}
	
	#nav-overlay.close {
		position: fixed;
	}
	
	#search-box {
		clear: both;
		width: 100%;
		padding-top: 10px;
	}
}

@media screen and (max-width: 540px) {
	#nav-overlay-inside a.h1 {
		margin-bottom: 6vw;
	}
	
	#nav-overlay-inside a.h1 i {
		background: url("images/logo-utoplatz-white-mobile.svg") no-repeat;
		background-position: center 2rem;
		height: 36vw;
		background-size: 62%;
	}
}

#link-top {
	position: fixed;
	bottom: 2rem;
	right: 2rem;
	z-index: 99;
	text-indent: -200px;
	font-size: 14px;
	border: 1px solid black;
	outline: none;
	background-color: rgba(255, 255, 255, 0.6);
	background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' width='24' height='24'><path fill='%23444' d='M8,11H11V21H13V11H16L12,7L8,11M4,3V5H20V3H4Z'/></svg>");
	background-position: center;
	background-repeat: no-repeat;
	color: black;
	cursor: pointer;
	padding: 15px;
	width: 40px;
	height: 40px;
	box-sizing: border-box;
	border-radius: 4px;
	opacity: 0;
	overflow: hidden;
	transition: opacity 0.5s, background 0.4s;
}

#link-top.show {
	opacity: 1;
}

#link-top:hover {
	background-color: rgba(0, 0, 0, 0.2);
	background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' width='24' height='24'><path fill='white' d='M8,11H11V21H13V11H16L12,7L8,11M4,3V5H20V3H4Z'/></svg>");
	color: white;
}

/* @group Content */

.marginTop:after {
	content: "";
	display: block;
	clear: both;
}

.ce_text ul {
	margin-left: 3rem;
	margin-bottom: 1rem;
}

.ce_text ul li {
	list-style-type: disc;
	line-height: 1.5;
}

.ce_text ol {
	margin-left: 3rem;
}

.ce_text ol li {
	list-style-type: decimal;
	line-height: 1.5;
}

.pdf_link {
	top: 21px;
	position: relative;
	font-size: 1.1em;
}

.ce_text pre {
	padding: 1rem;
	background-color: #f9f9f9;
	border: 1px solid #ddd;
}

.image_container .caption {
	margin-top: 0;
	padding: 0.5rem 0;
	font-size: 1rem;
	border-bottom: 1px solid #ddd;
}

/* @end */

/* @group Modules */

.mod_randomImage {
	margin-bottom: 1em;
}

.mod_rss_reader div, .listing table.single_record td, .mod_search .context, .mod_faqlist li {
	line-height: 1.5;
}

.mod_login .formbody {
	width: 64%;
}

.mod_login p.login_info {
	margin-top: 1.5em;
}

.mod_login p.error {
	position: relative;
	top: 12px;
	left: 26%;
}

.logout table {
	margin-top: 0.5em;
}

.logout form table td:first-child {
	text-align: left;
}

.mod_glossaryMenu li {
	float: left;
	margin-right: 9px;
}

.mod_glossaryList p.toplink {
	margin-top: 1.5em;
	margin-bottom: 0;
	padding-bottom: 6px;
	font-size: 1.1em;
}

.mod_glossaryList h2 {
	margin-top: 0;
}

.mod_glossaryList dt {
	font-weight: bold;
}

.mod_search .header {
	padding-bottom: 5px;
	border-bottom: 1px solid #ccc;
}

.mod_search input[type="text"], .mod_search input.text {
	width: 50% !important;
}

.mod_search .radio_container {
	margin-top: 10px;
}

.mod_search .radio_container span {
	display: inline;
	padding-right: 20px;
	padding-left: 2px;
}

.mod_search h3 {
	margin-top: 1.5em;
	font-size: 1.4em;
}

.mod_search h3, .mod_search p {
	margin-bottom: 0.25em;
}

.mod_search .relevance {
	color: #999;
}

.mod_search .url {
	color: #999;
}

.mod_search .highlight {
	font-weight: bold;
}

.mod_search .pagination {
	margin-top: 2em;
}

.mod_subscribe .checkbox_container, .mod_unsubscribe .checkbox_container {
	margin-top: 1em;
	margin-bottom: 1em;
}

*:first-child + html .mod_subscribe input.text {
	width: 120px;
}

/* @end */

/* @group dots/atelier */

/*
*[class*="section"] {
	background: transparent url('images/icon-hand-hover.png') no-repeat 875px center;
}
*/

.atelier .ce_text, .atelier .ce_downloads, .atelier .mod_newslist {
	padding-top: 10px;
	padding-bottom: 15px;
}

.atelier .ce_downloads ul {
	margin-left: 45px;
}

.atelier .ce_text p {
	margin-left: 48px;
}

.atelierTop {
	margin-bottom: 10px;
}

.box {
	background: #fff;
	margin: 0px 0 50px;
	height: 30px;
}

.css3-shadow, .css3-gradient {
	position: relative;
	-webkit-box-shadow: 0 1px 1px rgba(0, 0, 0, 0.3);
	box-shadow: 0 2px 1px rgba(0, 0, 0, 0.3);
}

/*==================================================
 * Drop shadow effect with box-shadow
 * ===============================================*/

.css3-shadow:after {
	content: "";
	position: absolute;
	z-index: -1;
	-webkit-box-shadow: 0 0 40px rgba(0, 0, 0, 0.8);
	box-shadow: 0 0 40px rgba(0, 0, 0, 0.8);
	bottom: 0px;
	width: 80%;
	height: 50%;
	-moz-border-radius: 100%;
	border-radius: 100%;
	left: 10%;
	right: 10%;
}

/*==================================================
 * Drop shadow effect with radial gradient
 * ===============================================*/

.css3-gradient:after {
	content: "";
	position: absolute;
	z-index: -1;
	top: 100%;
	bottom: 0;
	width: 120%;
	height: 50px;
	left: -10%;
	right: -10%;
	background: -webkit-radial-gradient(50% -3%, ellipse cover, rgba(0, 0, 0, 0.5), rgba(97, 97, 97, 0) 40%);
	background: radial-gradient(ellipse at 50% -3%, rgba(0, 0, 0, 0.5), rgba(97, 97, 97, 0) 40%);
}

.atelierTop:after {
	content: "";
	clear: both;
	display: block;
}

.atelierTop .ce_text p {
	margin-top: 0;
	margin-left: 0;
}

.atelier .ce_text ul, .atelierTop .ce_text ul {
	margin-top: -15px;
	margin-left: 65px;
}

.orange h2, .green h2, .grey h2, .lightgrey h2 {
	background-color: transparent;
	background-repeat: no-repeat;
	background-position: 1px 3px;
	background-size: 40px;
	padding: 10px 0 10px 48px;
	display: block;
	text-transform: none;
	margin: 0;
}

.lightgrey h2 {
	background-image: url("images/dot-lightgrey.png");
}

.green h2, .orange h2 {
	background-image: url("images/dot-orange.png");
}

.grey h2 {
	background-image: url("images/dot-grey.png");
}

.green h2 em, .blue h2 em, .pink h2 em, .grey h2 em {
	padding-top: 3px;
	display: block !important;
	margin: 0;
	margin-top: -3px;
	font-size: 14px;
	line-height: inherit;
	vertical-align: baseline;
	font-style: normal;
	font-weight: bold;
}

.green h2 em {
	color: #a7ac00;
}

.blue h2 em {
	color: #369aff;
}

.pink h2 em {
	color: #d985c1;
}

.grey h2 em {
	color: #666;
}

/* @end */

/* @group accordion */

.ui-accordion {
	margin-bottom: 20px;
}

.ce_accordion {
	clear: both;
	margin: 0;
}

.ce_accordion .toggler {
	border-top: 1px solid #ccc;
	font-family: 'Roboto Condensed', sans-serif;
	font-weight: 700;
	font-size: 22px;
	line-height: 1.2;
	padding: 12px 0 10px;
	padding-right: 40px;
	cursor: pointer;
	background-image: url("images/arrow-accordion.png");
	background-position: right -5px;
	background-repeat: no-repeat;
	background-size: 30px;
	color: #499444;
}

.ce_accordion .toggler.ui-state-active {
	border-top: 1px solid #000;
	background-position: right -125px;
	color: #333;
}

.ce_accordion .toggler:hover {
	border-top: 1px solid #f60;
	color: #f60;
	background-position: right -65px;
}

.ce_accordion .toggler.ui-state-active:hover {
	border-top: 1px solid #f60;
	color: #f60;
	background-position: right -185px;
}

.news .ce_accordion .toggler {
	font-size: 18px;
	background-position: right -8px;
}

.news .ce_accordion .toggler.ui-state-active {
	background-position: right -128px;
}

.news .ce_accordion .toggler:hover {
	background-position: right -68px;
}

.news .ce_accordion .toggler.ui-state-active:hover {
	background-position: right -188px;
}

.ce_accordion .accordion > div {
	margin: 0 0 20px 0;
	background-color: #fcfcfc;
	overflow: auto;
}

.ce_accordion .accordion > div .grid6 h2 {
	margin: 0 0 10px;
}

.ce_code {
	margin-top: 1.5em;
	padding: 0 2px 0 0;
}

/* @end*/

/* @group slider */

.slide-logo {
	background: #d4e130 !important;
}

.slider-wrapper {
	display: flex;
	overflow: hidden;
	position: relative;
	margin: 0 auto;
	height: 48vw;
}

.slider-wrapper > * {
	width: auto;
	position: relative;
}

.news .slider-wrapper {
	height: 30vw;
}

.news .slider-wrapper .ce_text {
	height: 30vw;
	background: #d4e130;
}

.content-slider {
	overflow: hidden;
	position: relative;
	width: 100%;
}

.content-slider .ce_text {
	display: flex !important;
	justify-content: center;
	align-items: center;
	background: grey;
	height: 48vw;
}

.content-slider .text_container {
	width: 100%;
	padding: 0;
}

.content-slider .image_background {
	position: absolute;
	top: 0;
	width: 100%;
	left: 0;
	height: 48vw;
	z-index: -1;
}

.content-slider .image_background img {
	width: 100%;
	height: 48vw;
	object-fit: cover;
}

.content-slider .ce_text.verein figure.image_background img {
	object-position: center 0;
}

.slide-logo figure.image_background img {
	object-fit: contain;
}

.ce_sliderStart .tns-nav button {
	border: 2px solid #fff;
	background-color: transparent;
}

.ce_sliderStart .tns-nav button.tns-nav-active {
	background-color: white;
}

.content-slider h1, .content-slider h3, .content-slider p {
	color: #fff;
	margin: 0;
	padding: 0 50px;
	text-shadow: 1px 1px 3px #333;
	text-align: center;
	text-transform: uppercase;
}

.content-slider h1, .content-slider h2, .content-slider h3 {
	font-family: 'Roboto Condensed', sans-serif;
	font-weight: 700;
	font-size: 6vw;
	line-height: 1;
	font-weight: 700;
}

.content-slider p {
	font-size: 40px;
	font-size: 2.4vw;
	line-height: 1.1;
	font-weight: 400;
}

.content-slider a {
	display: inline-block;
	padding: 7px 15px 8px;
	background: white;
	text-shadow: none;
	border-radius: 40px;
	line-height: 1;
}

.noSlider .slider-control {
	display: none;
}

@media screen and (max-width:768px), screen and (max-height:640px) {
	.slider-wrapper {
		height: 60vh;
	}
	
	.content-slider .ce_text {
		height: 60vh;
	}
	
	.content-slider h1, .content-slider h3 {
		font-size: 40px;
	}
	
	.content-slider p {
		font-size: 24px;
	}
	
	.content-slider .image_background img {
		width: 100%;
		height: 60vh;
		object-fit: cover;
	}
	
	.news .slider-wrapper {
		height: 30vh;
	}
	
	.news .slider-wrapper .ce_text {
		height: 30vh;
	}
}

/* @end */

/* @end*/

/* @group gallery */

.ce_gallery > ul {
	display: flex;
	flex-wrap: wrap;
	margin: 0 -3px;
	padding: 0;
	overflow: hidden;
	list-style: none;
	width: calc(100% + 6px);
}

.ce_gallery li {
	width: calc(50% - 6px);
	margin: 3px;
	box-sizing: border-box;
	overflow: hidden;
}

.ce_gallery img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	transform: scale(1);
	transition: transform 0.4s;
}

.ce_gallery img:hover {
	transform: scale(1.2);
}

.accordion .ce_gallery {
	padding: 0;
	padding-top: 5px;
	margin: 0;
	margin-bottom: 20px;
}

.ce_gallery.grid6 .image_container .caption {
	display: none;
}

/* @end*/

/* @group gallery */

.ce_downloads {
	margin-top: 30px;
}

.ce_downloads.anmeldung {
	margin-top: 0;
}

.ce_downloads.reports li {
	font-size: 18px;
	line-height: 16px;
	font-family: 'Roboto Condensed', sans-serif;
	font-weight: 700;
	margin-bottom: 0;
	padding: 11px 0 7px;
	border-top: 1px solid #ccc;
}

.ce_downloads img {
	display: none;
	vertical-align: middle;
}

.ce_downloads li {
	font-size: 14px;
	line-height: 1.2;
	font-weight: bold;
}

.ce_downloads a {
	display: block;
	padding: 2px 0 5px 40px;
	background-image: url(images/icon-pdf.png);
	background-repeat: no-repeat;
	background-position: left 2px;
	background-size: 32px;
}

.ce_downloads a:hover {
	background-image: url(images/icon-pdf-hover.png);
}

.ce_downloads a .size {
	color: #ccc;
	display: block;
	font-weight: normal;
}

.ce_downloads a:hover .size {
	color: #444;
}

.ce_downloads .size {
	color: #ccc;
	display: block;
	font-size: 14px;
	padding-top: 2px;
}

/* @end*/

/* @group ce_hyperlink */

.ce_hyperlink {
	margin: 1.5rem 0;
	font-size: 1.5rem;
}

.ce_hyperlink a {
	display: inline-block;
	padding: 0.7rem 1.2rem;
	border: 2px solid #499444;
	border-radius: 5px;
	font-size: inherit;
	text-decoration: none;
	margin-top: 0;
	transition: 0.2s;
}

.ce_hyperlink a:hover {
	color: white;
	background-color: #499444;
}

.ce_hyperlink.btn--next a::after {
	content: "\2192";
	padding-left: 1rem;
}

.ce_hyperlink.btn--prev a::before, .ce_hyperlink.btn--back a::before {
	content: "\2190";
	padding-right: 1rem;
}

.ce_text pre {
	padding: 9px;
	background-color: #f9f9f9;
	border: 1px solid #ddd;
}

/* @end */

.home-special {
	margin: 1rem 0 3rem;
}

.home-special p {
	text-align: center;
	text-transform: uppercase;
	font-size: 2rem;
	line-height: 1.1;
	font-family: 'Roboto Condensed', sans-serif;
}

.home-special p strong {
	font-size: 3rem;
}

@media screen and (max-width:768px), screen and (max-height:640px) {
	.home-special {
		margin: 1rem 0 2rem;
	}
	
	.home-special p {
		font-size: 1.8rem;
	}
	
	.home-special p strong {
		font-size: 2.5rem;
	}
}
