/* Stylesheet ========================================================= */
/*
 * - Stylesheets werden in Contao in files/util/css abgelegt
 * - Stylesheets sind thematisch in einzelne Dateien unterteilt
 * - So koennen sie nach Bedarf in den Seitenlayouts eingebunden werden
 * - Contao fasst die einzelnen Dateien fuers Frontend als Gesamtdatei zusammen
 * - und kann auch die Kompression bei der Frontend-Ausgabe uebernehmen
 *
 */

/* == MODIFIZIERTE RESET/NORMALIZE ANGABEN ============================ */
@-ms-viewport {
  width: device-width;
}
article, aside, details, figcaption, figure, footer, header, hgroup, main, nav, section, summary { display: block; }
html { 
  -webkit-box-sizing: border-box;
     -moz-box-sizing: border-box;
          box-sizing: border-box;      
  font-size: 100%;
  -webkit-font-smoothing: antialiased;  
  line-height: 1.4;
  min-height: 100%;
  overflow-y: scroll;  
  -ms-overflow-style: scrollbar;
  -webkit-text-size-adjust: 100%;
      -ms-text-size-adjust: 100%;
}
*, *:before, *:after {
  -webkit-box-sizing: inherit;
     -moz-box-sizing: inherit;
          box-sizing: inherit;
}
body { 
  background: #fff;  
  color: #000;
  font-family: sans-serif;  
  font-kerning: normal;  
  font-size: 100%;    
  -moz-osx-font-smoothing: grayscale;
  font-stretch:normal;
  font-style: normal;
  font-weight: 400;
  line-height: inherit;
  margin: 0;   
  min-height: 100%;
  padding: 0;
  word-spacing: .1em;  
}
h1, h2,h3,h4,h5,h6 {  
  color: inherit;
  font-family: inherit;
  font-style: normal;
  font-stretch: normal;
  font-weight: 400;
  margin: 0;
  padding: 0;   
  position: relative; 
  text-rendering: optimizeLegibility;
  word-wrap: break-word;
}
p {    
  color: inherit;  
  font-size: inherit;  
  letter-spacing: 0;   
  line-height: inherit;
  margin: 0 0 1em 0; 
  padding: 0;    
  text-align: left;
  text-indent: 0;
}
ul { 
  list-style-type: disc; 
}
ol { 
  list-style-type: decimal; 
}
ol[type="a"] { 
  list-style-type: lower-latin; 
}
ul, 
ol, 
dl {     
  color: inherit; 
  font-size: inherit; 
  line-height: inherit;
  margin: 0 0 1em 1em;
  padding: 0;
}
dt { 
  font-weight: 600; 
}
dd { 
  margin:0 0 1em 0.8em; 
}
li { 
  font-size: inherit;
  line-height: inherit;
  margin: 0 0 0 0.8em;
}
a {    
  color: inherit;   
  cursor: pointer;
  font-family: inherit;
  overflow: hidden;
  position: relative;
}
a:link, 
a:visited {
  color: inherit;
  text-decoration: underline;
}
a:hover { 
  text-decoration: none;
}
a:focus, 
a:active { 
  text-decoration: none;
  outline-style: solid;
  outline-width: 0.1875rem;
  outline-color: invert;
  outline-offset: -0.1875rem;
}
b, 
strong {
  font-weight: 600;
}
small {
  font-size: 18px;
  font-size: 1.125rem;
  line-height: 1.3em;
}
i, 
em, 
dfn {
  font-style: italic;
}
audio,
canvas,
video {
  display: inline-block;
} 
audio:not([controls]) {
  display: none;
}
blockquote {
  font-style: italic;     
  font-size: 1.2em;
  margin: 0 0 1em 0;
  padding: 1em;
}
blockquote p:first-of-type:before {
  content: open-quote;
}
blockquote p:last-of-type:after{
  content: close-quote;
}
blockquote p {
  font-weight: 600;
}
blockquote p:last-of-type {
  margin-bottom:0 !important;
}
q { 
  quotes: auto; 
}
/*
blockquote:before, blockquote:after,
q:before, q:after { 
  content: ''; 
  content: none; 
}
*/
dfn {
  font-style: italic;
}
hr {      
  border: 0;
  border-top: 1px solid #555;
  clear: both;  
  display: block;
  height: 1px;
  margin: 1rem 0;
  padding: 0;
}
ins {     
  background-color: #ff9;  
  color: #000;
  text-decoration: none;
}
mark {     
  background-color: #faf5a1;
  color: #000;      
  font-weight: 600;
  text-shadow: none;
}
code, 
kbd,
pre,  
samp {
  font: 1em monospace, monospace;
  _font-family: 'courier new', monospace;
}
pre {
  white-space: pre-wrap;
  word-wrap: break-word;
}
del {
  text-decoration: line-through;
}
small {
  font-size: 0.85em;
}
sub, 
sup {     
  font-size: 0.75em;    
  line-height: 0;
  position: relative;
  vertical-align: baseline;
}
sup {
  top: -0.5em;
}
sub {
  bottom: -0.25em;
}
dd {
  margin: 0 0 0 2em;
  padding: 0;
}
nav ul, 
nav ol {    
  list-style-image: none;
  list-style: none;
  margin: 0;
  padding: 0;
}
img {
  border: 0 solid;   
  height: auto; 
  -ms-interpolation-mode: bicubic;
  max-width: 100%;
  vertical-align: middle;
}
svg:not(:root) {
  overflow: hidden;
}
figure {
  margin: 0;
}
table {
  border-collapse: collapse;
  border-spacing: 0;
  width: 100%;
}
th, td {
  vertical-align: top;
  text-align: left;
}
thead th,
tbody th {
  font-weight: 600;
}
[hidden] {
  display: none;
}
form {  
  color: inherit;
  margin: 0;
}
fieldset {  
  border: 0 solid;
  margin: 0 0 0.25em 0;
  padding: 0;
}
label {
  cursor: pointer;
}
legend {  
  border: 0;
  padding: 0;
}
button, input, select, textarea {  
  font-size: 100%;
  margin: 0;
  vertical-align: baseline;
}
button, input {
  overflow: visible;
}
table button, 
table input {
  overflow: auto;
}
button, 
input[type="button"], 
input[type="reset"], 
input[type="submit"] { 
  -webkit-appearance: button;
  cursor: pointer;
}
input[type="search"] {
  -webkit-appearance: textfield;
}
input[type="search"]::-webkit-search-decoration {
  -webkit-appearance: none
}
button::-moz-focus-inner, 
input::-moz-focus-inner { 
  border: 0;
  padding: 0;
}
textarea {
  overflow: auto;
  resize: vertical;
  vertical-align: top;
}
[placeholder] {
  color: #6A6B6D;
}
::-webkit-input-placeholder {
  color: #6A6B6D;
}
[placeholder]:focus::-webkit-input-placeholder {
  transition: opacity 0.1s 0.1s ease; 
  opacity: 0;
}
::-moz-placeholder {
  color: #6A6B6D;
}
[placeholder]:focus::-moz-placeholder {
  transition: opacity 0.1s 0.1s ease; 
  opacity: 0;
}

::-moz-selection {
  background: #faf5a1;  
  color: #000;
  text-shadow: none;
}
::selection {
  background: #faf5a1;  
  color: #000;
  text-shadow: none;
}

/* == CONTAO BASIS-FRAMEWORK ============================ */
#container, 
.inside {
  position: relative
}
.clear, #clear {    
  clear: both;
  font-size: .1px;
  height: .1px;
  line-height: .1px;
}
.hidden, [hidden] {
	display: none!important
}
.a5-hidden, .invisible, .visuallyhidden {
  border: 0;
  clip: rect(0 0 0 0);
  height: 1px;
  margin: -1px;
  overflow: hidden;
  padding: 0;
  position: absolute;
  white-space: nowrap;
  width: 1px;
  -webkit-clip-path: inset(50%);
  clip-path: inset(50%)
}
.visuallyhidden.focusable:active, .visuallyhidden.focusable:focus {
  clip: auto;
  height: auto;
  left: auto;
  margin-bottom: 0.9375rem;
  overflow: visible;
  position: relative;
  top: auto;
  white-space: inherit;
  width: auto;
  z-index: 700;
  -webkit-clip-path: none;
  clip-path: none;
}
/* Fokus */
:focus:not([tabindex="-1"]) {
  outline-style: solid;
  outline-width: 0.1875rem;
  outline-color: invert;
}
/* Visually Hidden IE9+ */
.a5-visuallyhidden:not(:focus):not(:active) {
    border: 0; 
    clip: rect(0 0 0 0); 
    clip-path: polygon(0px 0px, 0px 0px, 0px 0px);
    -webkit-clip-path: polygon(0px 0px, 0px 0px, 0px 0px);
    height: 1px; 
    margin: -1px;
    overflow: hidden;
    padding: 0;
    position: absolute;
    width: 1px;
    white-space: nowrap;
}
 
/* == SONSTIGE ALLGEMEIN GAENGIGE KLASSEN ============================ */
/* Clearfix-Methode zum Clearen der Float-Umgebungen */
.clearfix:before {
  content: "";
  display: table;
}
.clearfix:after {
  clear: both;
  content: ".";
  display: block;
  font-size: 0;
  height: 0;
  visibility: hidden;
}

/* Skip-Links und versteckte Inhalte */
.ym-skip,
.ym-hideme,
.ym-print {    
  left: -32768px;
  position: absolute;
  top: -32768px;
}
.ym-skip:focus,
.ym-skip:active {  
  background: rgb(0,111,177) !important;
  color: rgb(255,255,255) !important;
  left:0;
  position:static;    
  text-align: center;
  top:0;
  width: 100%;
  z-index: 1000000;
}
.ym-skiplinks {
  background: rgb(0,111,177) !important;
  color: rgb(255,255,255);
  left: -32768px; 
  list-style-type: none;   
  margin: 0;        
  padding: 0;
  position: absolute;
  top: 0;  
  width: 100%;
  z-index: 1000000;
}
.ym-skiplinks .ym-skip:focus,
.ym-skiplinks .ym-skip:active {
  left: 32768px;
  outline:0 none;
  position: absolute;
  width: 100%;
}