@charset "utf-8";

/* colors:
  green #93bf20
  newsletter green #93c01f
  search orange (~golddrop) #ee7d00
  contact (~french rose) #e94b93
  fb blue (st-tropaz) #23599a
  wirtschaftsblau #20a4d6
  socialmedia blue (connect3) #66b1e5
  focus indicator1 (~mulberry) #c756a0
  flickr gray #9c9b9b
  button gray #ccc
  light bg gray #dfe1df
  dark bg gray #999 (#939393)
  -------------------
  ~pistachio (old tulln green) #96bf0d
  ~mulberry #c756a0
  blue #0095da
  ~ecstasy orange #f58220
  darkergreen #77a020
  -------------------
  tg1 #63a61c
  tg2 #cee59e
  ora #f58220
  vio #c756a0
  blu #0095da
  gr1 #999
  gr2 #ccc
*/

.accessbility-visible {
    visibility: visible !important;
}

.contact-infobox a {
	color: #fff !important;
}

.logo {
	display: inline-block;
    margin: 0;
    padding: 0;
    margin-top: -1.9em;
}

.hidden, [hidden] { display: none; }
.needs-javascript, .switched-off { display: none !important; }
.invisible { visibility: hidden !important; }
.stay-away { /* hidden for checkbox/radio */
  -webkit-transform: scale(0); transform: scale(0);
  height: 1px; /* Apple Voice needs 1px */
  position: absolute; overflow: hidden;
  opacity: 0;
  clip: rect(0, 0, 0, 0);
}

.flip   { transform: scaleY(-1); }
.mirror { transform: scaleX(-1); }
.nobr   { white-space: nowrap; }
.right-floater { display: inline-block; float: right; }

main { display: block; }

img { max-width: 100%; height: auto; } /* height: auto added js2016-10-20, wegen typo3 */

a:link { color: #93bf20; }
a:visited { color: #6c9404 /*#617f16 (~olivedrab=#6b8e23) */; }

a:focus { outline: 2px dotted #c756a0;/*mulberry was: red;*/ }
.grey a:focus { outline: 4px dotted #c756a0;/*mulberry was: red;*/ } /* overflow: hidden => not for services */
a:focus:not(:-moz-focusring) { outline: 0 none !important; }
a:hover { cursor:pointer; }
button:hover { cursor:pointer; }
.quick label:hover { cursor:pointer; }
select:hover { cursor:pointer; }
.idx a:hover { background-color: #727070; }

body,
pre {
	font-family: Titillium, Arial, Helvetica, sans-serif;
}
body {
  margin: 0; padding: 0;
  /*outline-color: #c756a0;// was: red;*/
  /* Arial, Helvetica, Geneva, Verdana, Tahoma, Segoe UI, Futura, Gill Sans, DejaVu Sans, Liberation Sans,
     Kalimati, Nimbus Sans L */
}

.i > * {
  font-family: Titillium, Arial, Helvetica, sans-serif;
  font-weight: normal; font-style: normal;
  font-variant: normal; text-transform: none;
}

h1, h2, .h2, h3, .h3, h5, .h5,
.mmenu-btn > span, .mmenu-btn ~ ul,
footer .copyright-line,
.switch-lang, legend,
nav.leiste, nav.nur-leiste, .idx, dl.with-h dt,
.shop [id^="p-shop"] p, .company-index .nur-leiste,
.services .scrollarea > a, .mysituation .label-text
{
  font-family: "Titillium", sans-serif;
  font-weight: normal;
}
.hb, h4, .companylist-abc .prolog, .i {
  font-family: "Titillium", sans-serif;
  font-weight: bold;
}
input[type="search"] {
  -webkit-appearance: textfield;
}
.login-btn form > strong:first-of-type,
[class^="formwtbl-"] th, [class^="formwtbl-"] input[type="file"] + label {
  font-family: "Titillium", sans-serif;
  /*font-weight: 600;*/
  font-weight: normal;
  letter-spacing: .02em;
}

.input-opening-hours b {
	font-weight: normal;
}

h4 { margin-bottom: 0; }
h4 + *, .news-detail h4 + p { margin-top: .1em; }

/* Formulare */
input, textarea, button, select {
  font-family: Titillium, Arial, Helvetica, sans-serif;
  /*font-size: .95em;*/
  font-size: 1em;
  padding: .15em;
  box-shadow: none;
  border-radius: 0;
  border: 1px solid #999;
}
input, textarea, select { background-color: white; color: #6c6c6c; /*color: black;*/ /* added 2016-10-04 */ }


button[type="submit"], button[type="reset"] {
  font-family: "Titillium", sans-serif;
  /*font-weight: 600;*/
  font-weight: 900;
  letter-spacing: .08em;
}
/*^-2016-10-03*/
select > option { font-size: 1em; }

/*select { border: 0 none; } // rm js2016-10-27 */
select[multiple] { font-size: 1em; border: 1px solid #999; } /* .events */
select[multiple] > option { font-size: .95em; }

[placeholder]::-moz-placeholder { color: #6c6c6c; opacity: 1; }
[placeholder]::-webkit-input-placeholder { color: #6c6c6c; }
[placeholder]:-ms-input-placeholder { color: #6c6c6c; }
/* ^- moved js2016-09-12 (from content.css):
      Hinweise: Placeholdertext in schwarz kann zu m?glicherweise Verwirrung
                f?hren, da a) gleich wie Eingabe & b) zu wenig Distanz zu
                eingekastelten ?berschriften (insbesondere da oft auf
                explizite Label verzichtet wurde.
      Verwendet auf Hauptseite in .events, ...
*/

h1 { font-size: 2em; }
h2, .as-h2 { font-size: 1.25em; } /* was: 1.5em .h2 ??? XXX */
.h2.leiste { font-size: 1em; text-transform: none; }
.h2.leiste .h2 { font-size: 1.25em; } /* XXX */
h3, .h3, .h3green { font-size: 1.17em; }
h4 { font-size: 1em; }

.green, .grey, .white, .lightgrey { margin: 0; padding: 1px 0; /* margin collapse barrier */ clear: both; }
.grey h3, .grey h2, .green h3, .green h2, .lightgrey h3, .lightgrey h2,
.grey .h2.leiste, .green .h2.leiste, .lightgrey .h2.leiste  {
  box-sizing: border-box; width: 100%; text-align: center;
  background-color: white; color: #93bf20;
  margin: 1em 0 0 0;
}

body[class] main aside h3 { /* undo, XXX */
  width: auto; background-color: inherit; color: inherit; margin: inherit;
}

h2, .h2, .as-h2, h3, .h3green, h4, h5, button { text-transform: uppercase; } /* 2016-09-12, ext 2016-09-15 */

main .white h3.imp, .h3green { color: #93bf20; font-weight: normal; }
.h3green { color: #93bf20; font-weight: bold; }


dd audio {
  margin-top: .5em;
}


nav.leiste, nav.nur-leiste {
  box-sizing: border-box; width: 100%;
  margin: 1em 0;/* 0 0;*/
  padding: .2em 1em .1em 1em; /* XXX */
}
nav.nur-leiste { margin: 0; padding: .2em 0 .1em 0; }

.grey nav.leiste, .green nav.leiste, .lightgrey nav.leiste {
  background-color: white; color: #93bf20;
}

.hold, footer { max-width: 62em; margin: 0 auto; }
.hold > .inner { padding: 0 1em; }

.grey { background-color: #999; }
.lightgrey { background-color: #dfe1df; /*#DFE1DF,#ddd,#eee*/}
.green, .white h2, .white .h2.leiste, .white nav.leiste { background-color: #93bf20; }
.white h1, .white .h1.leiste { background-color: #93bf20; }

main h2 { margin: 1em 0 0.5em; }
main > .white:first-child .inner > h2:first-child,
main > .white:first-child .inner > .h2.leiste:first-child
       { margin: .2em 0 1em; } /* .breadcrumbs count as space XXX */
       
.without-breadcrumbs main > .white:first-child .inner > h2:first-child,
.without-breadcrumbs main > .white:first-child .inner > .h2.leiste:first-child { margin-top: 1em; }


.white h2, .white .h2.leiste, .white h1, .white .h1.leiste, .white nav.leiste, .grey nav.nur-leiste  {  color: white; }
.white h2, .grey h2, .lightgrey h2, .white h1, .grey h1, .lightgrey h1  {
  text-align: center;
  font-size: 1.25em;
  font-weight: bold;
  letter-spacing: 0.03em;
  padding: 0.03em 0 0.01em;
  text-transform: uppercase;
}

.grey + .grey { /* XXX sonst Vorsicht, manchmal direkt aneinander ok */
  margin-top: 1em;
}

footer .copyright-line {
  text-align: right; text-transform: uppercase;
  margin: 0 1em; padding: 0.3em 0em;
  border: 1px solid #ccc; border-left: none; border-right: none;
}


.footer-nav {
  display: -webkit-flex; display: flex;
  max-width: calc(100% - .8em); /* FF bug */
}
.footer-nav > div {
  -webkit-flex: 1 1 auto;
  flex: 1 1 auto;
} /* was: missing, added js2016-09-15 */

.footer-nav a { color: inherit; text-decoration: none; line-height: 1.6em; display: inline-block; }
.footer-nav a img {
  display: inline-block;
  height: 1.2em;
  width: auto;
  margin: .2em .25em .2em 0;
  vertical-align: top;
}
.footer-nav a:focus, .footer-nav a:hover, .footer-nav a:active { color: #93bf20; }
.footer-nav ul, .footer-nav address { list-style-type: none; padding: 0; margin: 0; }
.footer-nav li { margin: 0; }
/*.footer-nav > * { border-left: 1px solid #ccc; } */
.footer-nav > *:first-child {  }
.footer-nav > * { border-right: 1px solid #ccc;  padding: 0 1em; margin: 1em 0; }
.footer-nav > *:last-child { border-right: none; /*padding-right: 0;*/ }
.footer-nav h4 { margin: 0; }

form.search {
  display: -webkit-flex; display: flex;
  -webkit-flex-flow: row nowrap;
  flex-flow: row nowrap;
  -webkit-justify-content: center;
  justify-content: center;
  -webkit-align-items: stretch;
  align-items: stretch;
  border: solid 1px #ccc;
}
form.search > input,
form.search > .twitter-typeahead > input {
	border: 0;
	font-family: inherit;
	font-size: .9em;
	line-height: 1.88889em;
	height: 2.22222em;
	max-width: 100%;
  margin: 0;
}
form.search > .twitter-typeahead > .tt-menu {
  width: 100%;
  text-align: left;
}
form.search > .twitter-typeahead > .tt-menu .tt-suggestion {
  padding: .2em;
}
form.search > button {
	border: 0;
	background-color: #ccc;
	font-family: inherit;
	font-size: 1em;
	line-height: 1em;
	padding: .5em;
	width: 2em;
	height: 2em;
	display: block;
}
form.search.search > button img[src*="enter-arrow"] {
  height: 1em;
  width: auto; width: .71em; /* changed wegen edge */
  padding: 0; border: none; outline: none;  color: #ccc;
  /*pointer-events: none; margin: -1px;*/
}
form.search.search > button img[src*="pfeil-rechtsorange."] {
	height: 1em;
	width: .543668em;
	border: 0;
	outline: none;
	color: #ccc;
	line-height: 1em;
	padding: 0 .228166em;
	display: block;
}
form.search.search > button:focus { background-color: #c756a0;/*mulberry was: red;*/ outline: 0 none; }
form.search.search > button:focus:not(:-moz-focusring) { background-color: #ccc; }
form.form.search.search > button::-moz-focus-inner { outline: 0 none; border: 0; padding: 0; } /*XXX doesn't work*/

.stretch-group {
  display: -webkit-flex; display: flex;
  -webkit-flex-flow: row wrap;
  flex-flow: row wrap;
  -webkit-justify-content: space-between;
  justify-content: space-between;
  -webkit-align-content: stretch;
  align-content: stretch;
  margin-right: -.5em; /* instead of: .stretch-group>:last-child{margin-right:0;}*/
}
.stretch-group > * {
  -webkit-flex: 1 1 auto; flex: 1 1 auto;
  margin-right: .5em;
}

.chkbox-group > label { white-space: nowrap; margin-right: .5em; }
.chkbox-group { margin-right: -0.5em; }

/* Filetype */
a.file::before { /* was: after: Designaenderung 2016-09-09 */
  width: 1.1em;
  padding-right: .1em; /* was: -left */
  display: inline-block;
  vertical-align: middle;
}
a.file[href$=".pdf"]::before, a.file[href*=".pdf?"]::before, a.file[href*=".pdf#"]::before
{ content: url('../Images/symbols/filetype_pdf-rd.svg');
}

.photocredit {
  float: right;
  font-size: .8em;
  color: #333;
  padding: .3em 0;
}

.breadcrumbs {
  font-size: .8em; list-style-type: none; color: #333;
  display: -webkit-flex; display: flex; -webkit-flex-flow: row wrap; flex-flow: row wrap;
  margin: 0; padding: .3em 0;
}
.breadcrumbs li::after { content: ' >\a0'; }
.breadcrumbs li:last-child::after { content: none; }
.breadcrumbs li a { text-decoration: none; color: inherit; }

.without-breadcrumbs .breadcrumbs { display: none; }

.breadcrumb a:first-child {
	margin-left: 0px;
}
.breadcrumb a {
	margin-left:2px;
	margin-right: 2px;
}
@media (max-width: 40em) {
	.photocredit {
		width: 100%;
		font-size: .6em;
	}
	.breadcrumbs {
		width:100%;
		font-size: .6em;
	}
}


/* <ul> gibt sich als <p> aus falls nur ein Item */
main ul { padding: 0; }  main li { margin-left: 1.1em; }
main ul.only-by-plural > li:first-child:last-child { margin-left: 0; list-style-type: none; }

.adD { opacity: .5; } /* "/Donau" etc. */

.i { position: relative; top: -0.1em; }
.i::before {
   content: 'i'; display: inline-block;
   font-size: 1.1em;
   height: 1em; width: 1em; padding: .1em; line-height: 1;
   border-radius: 50%;
   background-color: #999; color: white;
   text-align: center; vertical-align: middle;
   margin: 0 0 0 0.5em;
}
.i > * {
  position: absolute; _top: 1em;
  display: none; font-size: 1em;
  background-color: white; border: 1px solid #ccc;
  padding: .2em .3em;
}
.i.on-the-right > * { right: 0; }
.i.on-the-left > * { left: 0; }
.i:hover > *, .i:active > *, .i:focus > * { display: block; }


/****************************
 *	STYLING 2 Columns		*
 ****************************/
 .content-container {
	 width: 100%;
	 max-width: 62em;
	 margin: 0 auto;
 }
 .content-container .content-left {
	 width: 70%;
	 float: left;
 }
 .content-container .content-right {
	 width: 30%;
	 float: left;
 }
 /*.content-left .inner, .content-right .inner {
	 width: 50%;
	 float: left;
 }*/
 @media (max-width: 40em) {
	.content-container .content-left, .content-container .content-right {
		width: 100%;
	}
 }

 .text h3 {
	 /*margin-top: 20px !important;*/
	 margin-bottom: 0px;
	 font-size: 1.17em;
	 font-weight: bold;
	 letter-spacing: 0.03em;
 }
.text.layout1 h3 {
	color: #93bf20;
	font-size: 1.3em;
	font-weight: 900;
	margin-top: 20px;
	margin-bottom: 0px;
	letter-spacing: 0.03em;
}
.text.layout1 h4 {
	margin-top: 20px;
	margin-left: 35px;
}
.text.layout1 p {
	margin-left: 35px;
	margin-bottom: 0px;
}
.text.layout1 .contenttable {
	margin-left: 35px;
}
.text.layout1 .contenttable tr > td:first-child {
	font-weight: 900;
	color: #4c4c4c;
}

/****************************
 *	STYLING Title 2 Columns		*
 ****************************/
.title2columns {
	max-width: 62em;
	width:100%;
	margin:0 auto;
}
.title2columns .content-header {
	
}
.title2columns .content-header h2 {
	text-align: center;
	font-size: 1.25em;
	font-weight: bold;
	letter-spacing: 0.03em;
	padding: 0.03em 0 0.01em;
	text-transform: uppercase;
	background-color: #93bf20;
	color: #fff;
  margin: .2em 0 1em;
}
.title2columns .content-left h2, .title2columns .content-right h2 {
	background-color: #fff;
	color: #93bf20;
	text-align: left;
	letter-spacing: 0.03em;
}
.title2columns .content-left .department-heading h2 {
	text-align:center;
	background-color: #93bf20;
	color: #fff;
}

/* aside: news-detail, ... */
.news-detail article aside, .info-detail article aside, .flow-grp aside {
  float: right;
  max-width: 33%; box-sizing: border-box;
  margin: 0.5em 0 1em 1.5em;
}
.news-detail article aside figure { margin: 0; }
.news-detail article figcaption { font-size: .85em; }
.news-detail article section, .info-detail article section { text-align: justify; }

@media (min-width: 55em) {
  .news-detail article section, .info-detail article section  /*, .flow-grp aside + *  */ { overflow: hidden; } /* bfc */
  .flow-grp aside + * > * { overflow: visible; } /* XXX don't help */
}
@media (max-width: 40em) {
  .news-detail article, .info-detail article, .flow-grp { display: -webkit-flex; display: flex; -webkit-flex-flow: column; flex-flow: column; }
  .news-detail article aside, .info-detail article aside, .flow-grp aside { float: none; order: 2; max-width: none; margin-left: 0; }
  .info-detail article section, .flow-grp.flow-grp aside + * { max-width: none; }
}

.powermail_submit {
	background-color: #93bf20;
    color: white;
    padding: 0.2em .7em;
    border: 0 none;
	text-transform: uppercase;
	font-weight: bold;
}
.powermail_reset {
	background-color: #999;
    color: white;
    padding: 0.2em .7em;
    border: 0 none;
	text-transform: uppercase;
	font-weight: bold;
}

.fe-lightgrey .powermail_reset {
	float: left;
    margin-right: 1em;
}
.fe-lightgrey .powermail_fieldwrap_type_reset, .fe-lightgrey .powermail_fieldwrap_type_submit {
	margin-top: 1em;
}

.ui-autocomplete {
	background-color: #fff;
	max-width:58em;
	padding-left: 0.6em;
	border-left: 1px solid #999;
	border-bottom: 1px solid #999;
	border-right: 1px solid #999;
	max-height: 15em;
	overflow: auto;
	box-sizing: border-box;
	z-index: 9999;
}
.ui-autocomplete li {
	list-style-type: none;
	padding: .15em;
}
.ui-autocomplete li:hover {
	background: #93bf20;
	cursor:pointer;
}
@media (max-width: 20em) {
	ol {
		padding: 0;
	}
}

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

.ce-textpic.ce-right.ce-intext.ce-nowrap {
display: flex;
    flex-direction: row-reverse;
}
@media(max-width:990px) {
.ce-textpic.ce-right.ce-intext.ce-nowrap {
display: flex;
    flex-direction: column;
}
}