/* Reset
================================================== */
html, body, div, span, applet, object, iframe, h1, h2, h3, h4, h5, h6, p, blockquote, pre, a, abbr, acronym, address, big, cite, code, del, dfn, em, img, ins, kbd, q, s, samp, small, strike, strong, sub, sup, tt, var, b, u, i, center, dl, dt, dd, ol, ul, li, fieldset, form, label, legend, table, caption, tbody, tfoot, thead, tr, th, td, article, aside, canvas, details, embed, figure, figcaption, footer, header, hgroup, menu, nav, output, ruby, section, summary, time, mark, audio, video {
  margin: 0;
  padding: 0;
  border: 0;
  font-size: 100%;
  font: inherit;
  vertical-align: baseline;
}

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

body {
  line-height: 1;
}

ol, ul {
  list-style: none;
}

blockquote, q {
  quotes: none;
}

blockquote:before, blockquote:after, q:before, q:after {
  content: '';
  content: none;
}

table {
  border-collapse: collapse;
  border-spacing: 0;
}


/* Body & Main
================================================== */
body {
  nowhitespace: afterproperty;
  -webkit-font-smoothing: antialiased;
  -webkit-text-size-adjust: 100%;
  font: 14px/1.6 'Arial', sans-serif;
  color: #000;
}

/* Links */
a {
  color: #ec2c37;

}

a:visited {
  color: #ec2c37;
}

a:hover,
a:focus,
a:active {
  color: #000;
  text-decoration: none;
}

/*set max img width*/
img {
  max-width: 100%;
}


/* Commons
================================================== */

/*clear floats*/
.remove-margin {
  margin-right: 0 !important;
}

.clearfix:after {
  content: ".";
  display: block;
  clear: both;
  visibility: hidden;
  line-height: 0;
  height: 0;
}

.clear {
  clear: both;
}

/*blockquote*/
blockquote {
  position: relative;
  margin: 30px 20px;
  padding-left: 25px;
  font-style: italic;
  font-weight: bold;
  color: #000;
  quotes: "\201C" "\201D" "\2018" "\2019";
}

blockquote:before {
  color: #000;
  content: open-quote;
  font-size: 3em;
  line-height: .1em;
  position: absolute;
  top: 20px;
  left: -10px;
}

blockquote p:last-child {
  margin: 0;
}


/*preformatted text*/
pre {
  background: #fff url("images/pre-bg.png") repeat;
  margin: 40px 0px;
  padding: 25px 20px;
  line-height: 25px;
  border: 1px solid #ddd;
  white-space: pre-wrap;
  white-space: -moz-pre-wrap;
  white-space: -pre-wrap;
  white-space: -o-pre-wrap;
  word-wrap: break-word;
}

ul, ol {
  margin: 0 0 1em 1.5em;
}

ul {
  list-style: disc;
}

ol {
  list-style-type: decimal;
}

ol ol {
  list-style: upper-alpha;
}

ol ol ol {
  list-style: lower-roman;
}

ol ol ol ol {
  list-style: lower-alpha;
}

ul ul, ol ol, ul ol, ol ul {
  margin-bottom: 0;
}

table {
  margin: 0 0 1.5em;
  width: 100%;
}

th {
  font-weight: bold;
  padding: 10px 10px;
}

tr {
  padding: 5px 5px;
}

td {
  padding: 5px 10px;
}

#primary table {
  margin: 0 0 1.5em;
  width: 100%;
  border: 1px solid #ddd;
  border-right: none;
  border-left: none;
  background: #fff;
}

#primary th {
  font-weight: 400;
  padding: 10px 10px;
  background: #fff;
  color: #000;
}

#primary tr {
  padding: 5px 5px;
}

#primary td {
  padding: 5px 10px;
  border-top: 1px solid #ddd;
  border-right: none;
}

/* Typography
================================================== */

/* Headings */
h1, h2, h3, h4, h5, h6 {
  clear: both;
}

h1 {
  font-size: 32px;
}

h2 {
  font-size: 26px;
}

h3 {
  font-size: 20px;
}

h4 {
  font-size: 18px;
}

h5 {
  font-size: 16px;
}

h6 {
  font-size: 14px;
}

p {
  margin: 0 0 20px;
}

p img {
  margin: 0;
}

em {
  font-style: italic;
}

strong {
  font-weight: bold;
}

small {
  font-size: 80%;
}

hr {
  border: solid rgba(0, 0, 0, 0.2);
  border-width: 1px 0 0;
  clear: both;
  margin: 10px 0 30px;
  height: 0;
}

p a, p a:visited {
  line-height: inherit;
}

a:link {
  text-decoration: none;
}

a:focus {
  outline: 0;
}

a {
  outline: 0;
}

p a, p a:visited {
  line-height: inherit;
}

a:focus {
  outline: 0;
}


/* Head */

#masthead {
  position: relative;
}

.site-branding {
  margin-bottom: 20px;
  position: relaitve;
  z-index: 10;
}

#site-logo {
  float: left;
  padding: 15px 15px 0 0;
}

h1#site-title {
  text-transform: uppercase;
  font-weight: 800;
  margin-top: 18px;
  clear: none;
}

h1#site-title a:link, h1#site-title a:visited {
  color: #000;
}

.file-icon {
  display: none;
}

.field-name-field-download {
  border-top: 1px dotted #000;
  width: 290px;
}

/* Menu */

.site-branding .col-sm-6 {
  width: 40%;
}

#masthead .main-menu {
  float: right;
}

.menutoggle {
  width: 36px;
  height: 36px;
  color: #777;
  border: 1px solid #ddd;
  border-radius: 3px;
  line-height: 36px;
  text-align: center;
  background: #fff;
  position: absolute;
  right: 20px;
  top: 25px;
  font-size: 20px;
  display: none;
}

#main-menu {
  padding: 0px 0px;
  margin: 22px 0px 15px;
  height: 45px;
  border-bottom: none;
  float: right;
}

#main-menu ul {
  width: auto;
  float: right;
  list-style: none;
  margin: 0;
  padding: 0 0px;
}

#main-menu li {
  float: left;
  list-style: none;
  margin: 0;
  padding: 0;
  color: #fff;
  font-weight: 400;
}

#main-menu li a {
  color: #000;
  display: block;
  margin: 0;
  padding: 19px 10px 19px 10px;
  text-decoration: none;
  position: relative;
  text-transform: lowercase;
}

#main-menu li a:hover, #main-menu li a:active, #main-menu a.active, #main-menu > ul > li > a.active-trail {
  color: #ec2c37;
}

.page-node .sf-sub-indicator {
  display: none;
}

#main-menu li.expanded a:before {
  padding-right: 3px;
  content: url('../images/menu-leaf.gif');
}

#main-menu li.expanded a:hover:before {
  padding-right: 3px;
  content: url('../images/menu-collapsed.gif');
}


#main-menu li a.active-trail:before {
  padding-right: 3px;
  content: url('../images/menu-expanded.gif');
}

#main-menu li a.active-trail:hover:before {
  padding-right: 3px;
  content: url('../images/menu-expanded.gif');
  color: #ec2c37;
}

#main-menu li a.sf-with-ul {
  padding-right: 10px;
}

#main-menu li ul li a, #main-menu li ul li a:link, #main-menu li ul li a:visited,
#main-menu li ul li ul li a, #main-menu li ul li ul li a:link, #main-menu li ul li ul li a:visited,
#main-menu li ul li ul li ul li a, #main-menu li ul li ul li ul li a:link, #main-menu li ul li ul li ul li a:visited {
  width: 200px;
  margin: 0;
  padding: 10px 10px;
  border-top: 1px dotted #555;
  position: relative;
  font-weight: 400;
}

#main-menu ul li ul li:first-child a, #main-menu ul li ul li ul li:first-child a, #main-menu ul li ul li ul li ul li:first-child a {
  border-top: 1px dotted #555;
  width: 200px;
}

#main-menu li ul li a:hover, #main-menu li ul li ul li a:hover, #main-menu li ul li ul li ul li a:hover {
  background: #fff;
  color: #ec2c37;
  /*  color: #ec2c37; */
}


#main-menu li ul {
  font-size: 12px;
  z-index: 9999;
  position: absolute;
  left: -999em;
  height: auto;
  margin: 0px 0px 0px 0px;
  padding: 5px 0 0 0;
  background: #fff;
  /*  opacity: .9; */
  border-bottom: 1px dotted #555;
}

#main-menu li ul a {
  width: 200px;
}


#main-menu li ul a:hover, #main-menu li ul a:active {
}

#main-menu li ul ul {
  margin: -44px 0 0 160px;
}

#main-menu li:hover ul ul, #main-menu li:hover ul ul ul, #main-menu li.sfHover ul ul, #main-menu li.sfHover ul ul ul {
  left: -999em;
}

#main-menu li:hover ul, #main-menu li li:hover ul, #main-menu li li li:hover ul, #main-menu li.sfHover ul, #main-menu li li.sfHover ul, #main-menu li li li.sfHover ul {
  left: auto;
  width: 200px;
}

#main-menu li:hover, #main-menu li.sfHover {
  position: static;
}

#main-menu > ul > li > a {
  padding: 10px;
}

#block-locale-language {
  float: right;
  height: 50px;
}

#block-locale-language ul li {
  list-style-type: none;
  float: left;
  padding-right: 10px;
}

.locale-untranslated {
  color: #aaa;
}


/* Layout */

#primary, #sidebar {
  padding-top: 20px;
  padding-bottom: 20px;
}

#main-content {
  padding-top: 15px;
}

/* Slider */

#slidebox {
  max-height: 550px;
  position: relative;
  background: #000;
}

.doverlay {
  background: url(images/overlay.png);
  position: absolute;
  width: 100%;
  height: 100%;
  left: 0px;
  top: 0px;
  z-index: 100;
}

img.grayscale {
  filter: url("data:image/svg+xml;utf8,<svg xmlns=\'http://www.w3.org/2000/svg\'><filter id=\'grayscale\'><feColorMatrix type=\'matrix\' values=\'0.3333 0.3333 0.3333 0 0 0.3333 0.3333 0.3333 0 0 0.3333 0.3333 0.3333 0 0 0 0 0 1 0\'/></filter></svg>#grayscale"); /* Firefox 10+, Firefox on Android */
  filter: gray; /* IE6-9 */
  -webkit-filter: grayscale(100%); /* Chrome 19+, Safari 6+, Safari 6+ iOS */
}

.flex-caption {
  width: 800px;
  position: absolute;
  top: 28%;
  left: 50%;
  margin-left: -400px;
  text-align: center;
  z-index: 120;
  color: #fff;
}

.flex-caption h2 {
  text-transform: uppercase;
  font-size: 36px;
  color: #fff;
}

.flex-caption h2 a:link, .flex-caption h2 a:visited {
  color: #fff;
}

.flex-caption p {
  font-size: 16px;
}

a.frmore {
  background: rgba(255, 255, 255, 0.2);
  display: block;
  text-transform: uppercase;
  color: #fff;
  width: 150px;
  border: 1px solid #fff;
  padding: 5px 0px;
  margin: 10px auto;
  font-weight: bold;
  color: #fff !important;
}

a.frmore:hover {
  background: #ec2c37;
  display: block;
  text-transform: uppercase;
  color: #fff;
  width: 150px;
  border: 1px solid #fff;
  padding: 5px 0px;
  margin: 10px auto;
  font-weight: bold;
  color: #fff !important;
}

#preface-area {
  background: none;
  padding: 0;
}

.preface-block {
  color: #fff;
  text-align: center;
}


.preface-block .block > h2 {
  font-size: 24px;
  font-weight: bold;
}

#header-block, #footer-block {
  padding: 20px 0 0;
}


#bottom {
  padding: 20px 0px 40px 0px;
  background: #3b3b3b;
  border-top: 5px solid #ec2c37;
}

.footer-block {
  color: #aaa;
}

.footer-block .block > h2 {
  font-size: 16px;
  margin-bottom: 10px;
  padding: 10px 0px;
  color: #fff;
  text-transform: uppercase;
}

/* Footer */

.site-footer {
  padding: 10px 10px;
  background: #292929;
  font-size: 12px;
}

.fcred {
  padding: 10px 10px;
  color: #bbb;
}

.fcred a:link, .fcred a:visited {
  color: #fff;
}

/* =Content
----------------------------------------------- */

.node h2.title a, h1.page-title {
  color: #000000;
  font-size: 32px;
  font-weight: 500;
  margin-bottom: 20px;
  margin-top: 10px;
  line-height: 120%;
  border-bottom: 1px dotted #000;
  padding-bottom: 5px;
}

#content .node-teaser {
  padding-bottom: 30px;
  border-bottom: 1px solid #DDDDDD;
  margin-bottom: 15px;
}

.node-teaser img {
  border: 1px solid #CCCCCC;
  padding: 6px;
  height: auto;
  max-width: 97.4%;
  margin: 0.5em 1em 0.5em 0;
  float: left;
}

.page-node #content-wrap img {
  /*  border: 1px solid #CCCCCC; */
  padding: 0;
  height: auto;
  margin: 0.5em 1em 0.5em 0;
  border-radius: 10px 0 10px 0;
}

.node-type-aktuelles #content-wrap img {
  border: none;
  padding-left: 20px;
  height: auto;
  margin: 0.5em 1em 0.5em 0;
  position: relative;
  float: right;
}

.node-type-aktuelles .field-name-body {
  width: 50%;
}

#block-views-aktuelles-block-2 .views-field-field-bild {
  text-align: right;
}

#block-views-aktuelles-block-2 .views-field-field-bild img {
  border: none;
  padding-left: 20px;
  height: auto;
  margin: 0.5em 0 0.5em 0;
  width: 600px;
}

#block-views-aktuelles-block-2 .views-field-body {
  float: left;
}

.region-content-top {
  margin-bottom: 20px;
}

#sidebar .block {
  margin-bottom: 30px;
}

#sidebar .block > h2 {
  font-size: 20px;
  color: #000;
  margin-bottom: 15px;
  font-weight: 400;
}

.preface-block .block, .footer-block .block, .region-footer .block, .region-header .block, .region-content-top .block {
  margin-bottom: 30px;
}


/* -------------- Form Elements  ------------- */

fieldset {
  background: #ffffff;
  border: 1px solid #cccccc;
  margin-top: 10px;
  margin-bottom: 32px;
  padding: 0 0 10px;
  position: relative;
  top: 12px; /* Offsets the negative margin of legends */
  -khtml-border-radius: 4px;
  -moz-border-radius: 4px;
  -webkit-border-radius: 4px;
  border-radius: 4px;
}

.fieldset-wrapper {
  margin-top: 25px;
}

.node-form .vertical-tabs .fieldset-wrapper {
  margin-top: 0;
}

.filter-wrapper {
  top: 0;
  padding: 1em 0 0.2em;
  -khtml-border-radius-topright: 0;
  -khtml-border-radius-topleft: 0;
  -moz-border-radius-topright: 0;
  -moz-border-radius-topleft: 0;
  -webkit-border-top-left-radius: 0;
  -webkit-border-top-right-radius: 0;
  border-top-left-radius: 0;
  border-top-right-radius: 0;
}

.filter-help a {
  font-size: 0.857em;
  padding: 2px 20px 0;
}

.filter-wrapper .form-item label {
  margin-right: 10px;
}

.filter-wrapper .form-item {
  padding: 0 0 0.5em 0.5em;
}

.filter-guidelines {
  padding: 0 1.5em 0 0.5em;
}

fieldset.collapsed {
  background: transparent;
  -khtml-border-radius: 0;
  -moz-border-radius: 0;
  -webkit-border-radius: 0;
  border-radius: 0;
}

fieldset legend {
  background: #dbdbdb;
  border: 1px solid #ccc;
  border-bottom: none;
  display: block;
  height: 2em;
  left: -1px;
  line-height: 2;
  padding: 0;
  position: absolute;
  text-indent: 10px;
  text-shadow: 0 1px 0 #fff;
  top: -12px;
  width: 100%;
  -khtml-border-radius-topleft: 4px;
  -moz-border-radius-topleft: 4px;
  -webkit-border-top-left-radius: 4px;
  border-top-left-radius: 4px;
  -khtml-border-radius-topright: 4px;
  -moz-border-radius-topright: 4px;
  -webkit-border-top-right-radius: 4px;
  border-top-right-radius: 4px;
}

fieldset.collapsed legend {
  -khtml-border-radius: 4px;
  -moz-border-radius: 4px;
  -webkit-border-radius: 4px;
  border-radius: 4px;
}

fieldset .fieldset-wrapper {
  padding: 0 10px;
}

fieldset .fieldset-description {
  margin-top: 5px;
  margin-bottom: 1em;
  line-height: 1.4;
  font-style: italic;
}

input {
  margin: 2px 0;
  padding: 4px;
}

input, textarea {
  font-size: 0.929em;
}

textarea {
  line-height: 1.5;
}

textarea.form-textarea, select.form-select {
  padding: 4px;
}

input.form-text, textarea.form-textarea, select.form-select {
  border: 1px solid #ccc;
}

.password-suggestions ul li {
  margin-left: 1.2em;
}

.form-item {
  margin-bottom: 1em;
  margin-top: 2px;
}

.form-item label {
  font-size: 0.929em;
}

.form-type-radio label, .form-type-checkbox label {
  margin-left: 4px;
}

.form-type-radio .description, .form-type-checkbox .description {
  margin-left: 2px;
}

.form-actions {
  padding-top: 10px;
}

/* Contact Form */

.contact-form #edit-name {
  width: 100%;
  -moz-box-sizing: border-box;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
  -khtml-border-radius: 4px;
  -moz-border-radius: 4px;
  -webkit-border-radius: 4px;
  border-radius: 4px;
}

.contact-form #edit-mail {
  width: 100%;
  -moz-box-sizing: border-box;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
  -khtml-border-radius: 4px;
  -moz-border-radius: 4px;
  -webkit-border-radius: 4px;
  border-radius: 4px;
}

.contact-form #edit-subject {
  width: 100%;
  -moz-box-sizing: border-box;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
  -khtml-border-radius: 4px;
  -moz-border-radius: 4px;
  -webkit-border-radius: 4px;
  border-radius: 4px;
}

.contact-form #edit-message {
  width: 100%;
  -moz-box-sizing: border-box;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
  -khtml-border-top-left-radius: 4px;
  -khtml-border-top-right-radius: 4px;
  -moz-border-radius-topleft: 4px;
  -moz-border-radius-topright: 4px;
  -webkit-border-top-left-radius: 4px;
  -webkit-border-top-right-radius: 4px;
  border-top-left-radius: 4px;
  border-top-right-radius: 4px;
}

.contact-form .resizable-textarea .grippie {
  width: 100%;
  -moz-box-sizing: border-box;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
  -khtml-border-bottom-left-radius: 4px;
  -khtml-border-bottom-right-radius: 4px;
  -moz-border-radius-bottomleft: 4px;
  -moz-border-radius-bottomright: 4px;
  -webkit-border-bottom-left-radius: 4px;
  -webkit-border-bottom-right-radius: 4px;
  border-bottom-left-radius: 4px;
  border-bottom-right-radius: 4px;
}

/* Comment form */

.comment-form label {
  float: left;
  font-size: 0.929em;
}

.comment-form input, .comment-form .form-select {
  margin: 0;
  -khtml-border-radius: 4px;
  -moz-border-radius: 4px;
  -webkit-border-radius: 4px;
  border-radius: 4px;
}

.comment-form .form-type-textarea label {
  float: none;
}

.comment-form .form-item,
.comment-form .form-radios,
.comment-form .form-type-checkbox,
.comment-form .form-select {
  margin-bottom: 10px;
  overflow: hidden;
}

.comment-form .form-type-checkbox,
.comment-form .form-radios {
  margin-left: 120px;
}

.comment-form .form-type-checkbox label,
.comment-form .form-radios label {
  float: none;
  margin-top: 0;
}

.comment-form input.form-file {
  width: auto;
}

.comment-form .form-text {
  display: block;
  margin: 0;
  width: 100%;
  -moz-box-sizing: border-box;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
}

.comment-form .form-item .description {
  font-size: 0.786em;
  line-height: 1.2;
  margin-left: 120px;
}

#content h2.comment-form {
  margin-bottom: 0.5em;
}

.comment-form .form-textarea {
  -khtml-border-radius-topleft: 4px;
  -khtml-border-radius-topright: 4px;
  -moz-border-radius-topleft: 4px;
  -moz-border-radius-topright: 4px;
  -webkit-border-top-left-radius: 4px;
  -webkit-border-top-right-radius: 4px;
  border-top-left-radius: 4px;
  border-top-right-radius: 4px;
}

.comment-form fieldset.filter-wrapper .fieldset-wrapper,
.comment-form .text-format-wrapper .form-item {
  margin-top: 0;
  margin-bottom: 0;
}

.filter-wrapper label {
  width: auto;
  float: none;
}

.filter-wrapper .form-select {
  min-width: 120px;
}

.comment-form fieldset.filter-wrapper .tips {
  font-size: 0.786em;
}

#comment-body-add-more-wrapper .form-type-textarea label {
  margin-bottom: 0.4em;
}

#edit-actions input {
  margin-right: 0.6em;
}

/* Other Overrides */

div.password-suggestions {
  border: 0;
}

.ui-widget-overlay {
  background: #222222;
  opacity: 0.7;
}

div.vertical-tabs .vertical-tabs-panes fieldset.vertical-tabs-pane {
  padding: 1em;
}

#forum .name {
  font-size: 1.083em;
}

#forum .description {
  font-size: 1em;
}

/* Form Buttons */

button,
input[type="submit"],
input[type="reset"],
input[type="button"] {
  /* IE10 */
  background-image: -ms-linear-gradient(top, #FFFFFF 0%, #E3E3E3 100%);
  /* Mozilla Firefox */
  background-image: -moz-linear-gradient(top, #FFFFFF 0%, #E3E3E3 100%);
  /* Opera */
  background-image: -o-linear-gradient(top, #FFFFFF 0%, #E3E3E3 100%);
  /* Webkit (Safari/Chrome 10) */
  background-image: -webkit-gradient(linear, left top, left bottom, color-stop(0, #FFFFFF), color-stop(1, #E3E3E3));
  /* Webkit (Chrome 11+) */
  background-image: -webkit-linear-gradient(top, #FFFFFF 0%, #E3E3E3 100%);
  /* Proposed W3C Markup */
  background-image: linear-gradient(top, #FFFFFF 0%, #E3E3E3 100%);
  /* IE6-9 */
  filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#FFFFFF', endColorstr='#E3E3E3');

  border: 1px solid #dbdbdb;
  -moz-border-radius: 6px;
  -webkit-border-radius: 6px;
  -o-border-radius: 6px;
  -ms-border-radius: 6px;
  -khtml-border-radius: 6px;
  border-radius: 6px;
  -moz-box-shadow: inset 0 1px 0 0 white;
  -webkit-box-shadow: inset 0 1px 0 0 white;
  -o-box-shadow: inset 0 1px 0 0 white;
  box-shadow: inset 0 1px 0 0 white;
  color: #333333;
  text-shadow: 0 1px 0 white;
  position: relative;
  font-weight: bold;
  padding: 4px .8em 5px .8em;
  font-size: 13px;
}

button:hover,
input[type="submit"]:hover,
input[type="reset"]:hover,
input[type="button"]:hover {
  /* IE10 */
  background-image: -ms-linear-gradient(top, #DBDBDB 0%, #F2F2F2 100%);
  /* Mozilla Firefox */
  background-image: -moz-linear-gradient(top, #DBDBDB 0%, #F2F2F2 100%);
  /* Opera */
  background-image: -o-linear-gradient(top, #DBDBDB 0%, #F2F2F2 100%);
  /* Webkit (Safari/Chrome 10) */
  background-image: -webkit-gradient(linear, left top, left bottom, color-stop(0, #DBDBDB), color-stop(1, #F2F2F2));
  /* Webkit (Chrome 11+) */
  background-image: -webkit-linear-gradient(top, #DBDBDB 0%, #F2F2F2 100%);
  /* Proposed W3C Markup */
  background-image: linear-gradient(top, #DBDBDB 0%, #F2F2F2 100%);
  /* IE6-9 */
  filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#DBDBDB', endColorstr='#F2F2F2');

  -moz-border-radius: 6px;
  -webkit-border-radius: 6px;
  -o-border-radius: 6px;
  -ms-border-radius: 6px;
  -khtml-border-radius: 6px;
  border-radius: 6px;
  -moz-box-shadow: inset 0 1px 0 0 white;
  -webkit-box-shadow: inset 0 1px 0 0 white;
  -o-box-shadow: inset 0 1px 0 0 white;
  box-shadow: inset 0 1px 0 0 white;
  cursor: pointer;
}

button.full-width,
input[type="submit"].full-width,
input[type="reset"].full-width,
input[type="button"].full-width {
  width: 100%;
  padding-left: 0 !important;
  padding-right: 0 !important;
  text-align: center;
}


#block-search-form {
  padding-bottom: 7px;
}

#block-search-form .content {
  margin-top: 0;
}

#search-form .form-item-keys label {
  display: block;
}


ol.search-results {
  padding-left: 0;
}

.search-results li {
  border-bottom: 1px solid #d3d7d9;
  padding-bottom: 0.4285em;
  margin-bottom: 0.5em;
}

.search-results li:last-child {
  border-bottom: none;
  padding-bottom: none;
  margin-bottom: 1em;
}

.search-results .search-snippet-info {
  padding-left: 0;
}


.meta {
  margin: 5px 0 10px 0;
}

.meta a {
  color: #999;
}

.meta a:hover {
  color: #000;
}

.meta li {
  display: inline;
  margin-right: 5px;
  margin-right: 10px;
}

.meta strong {
  font-weight: 600;
  color: #111;
}

.meta li:last-child {
  margin-right: 0;
  padding-right: 0;
  background: none;
}

.links li a {
  background-color: #E7E5E3;
  color: #100100;
  padding: 4px 5px;
  border-radius: 4px;
  text-shadow: 1px 1px #fff;
  font-weight: normal;
}

.links li a:hover {
  background-color: #D7D5D3;
  color: #100101;
}


/*-------------------------------------------*
/* Fix CKEditor style
/*-------------------------------------------*/
#content table.cke_editor {
  background: transparent;
  border: 0;
}

#content table.cke_editor td {
  background: transparent;
  padding: 0;
  border: 0;
}

/*-------------------------------------------*
/* Poll, Buttons, Form
/*-------------------------------------------*/
.poll .vote-form .choices .title {
  font-size: 14px;
  font-weight: normal;
  line-height: 2;
}

.poll .vote-form .choices {
  margin: 0;
}

.form-item label {
  font-size: 13px;
  font-weight: bold;
}

/*-------------------------------------------*
/* Menus and item lists
/*-------------------------------------------*/
.item-list ul {
  margin: 0;
  padding: 0 0 0 1.5385em;
}

.item-list ul li {
  margin: 0;
  padding: 0;
}

ul.menu li {
  margin: 0;
  padding: 0;
}

ul.inline {
  clear: both;
}

ul.inline li {
  margin: 0;
  padding: 0;
}

/*-------------------------------------------*
/* Admin Tabs
/*-------------------------------------------*/
.tabs-wrapper {
  /*  border-bottom: 1px solid #b7b7b7; */
  margin: 0 0 5px 0;
}

ul.primary {
  border: none;
  margin: 0;
  padding: 0;
}

ul.primary li a {
  background: #fff;
  border: 1px solid #ec2c37;
  display: block;
  float: left;
  line-height: 1.5385em;
  margin: 0;
  padding: 0 1em;
  border-radius: 5px 0 5px 0;
  margin: 0 5px 5px 0;;
}

ul.primary li a.active {
  background: #ec2c37;
  border: 1px solid #ec2c37;
  color: #fff;
}

ul.primary li a:hover {
  background: #ec2c37;
  text-decoration: none;
  color: #fff;
  border: 1px solid #ec2c37;
}

ul.secondary {
  background: #666;
  border-bottom: none;
  clear: both;
  margin: 0;
  padding: 0;
}

ul.secondary li {
  border-right: none;
}

ul.secondary li a, ul.secondary li a:link {
  border: none;
  color: #ccc;
  display: block;
  float: left;
  line-height: 1.5385em;
  padding: 0 1em;
}

ul.secondary li a:hover, ul.secondary li a.active {
  background: #888;
  color: #fff;
  text-decoration: none;
}

ul.secondary a.active {
  border-bottom: none;
}

ul.inline, ul.links.inline {
  margin-left: 0;
}

/*-------------------------------------------*
/* Tabs and Tags
/*-------------------------------------------*/
.field-name-field-tags {
  margin: 0 0 10px 0;
}

.field-name-field-tags a {
  background: #ec2c37;
  margin-right: 5px;
  margin-bottom: 5px;
  border-radius: 2px;
  color: #fff;
  padding: 2px 6px;
}

.field-name-field-tags a:hover {
  background: #111;
  color: #fff;
}

.field-name-field-tags div {
  display: inline;
}


/*-------------------------------------------*
/* Profile
/*-------------------------------------------*/
.profile {
  margin: 1.5385em 0;
}

.profile dd {
  margin-bottom: 1.5385em;
}

.profile h3 {
  border: none;
}

.profile dt {
  margin-bottom: 0;
}

.password-parent {
  width: 36em;
}

/* Comments */

.comment h2.title {
  margin-bottom: 1em;
}

.comment div.user-picture img {
  margin-left: 0;
}

.comment {
  margin-bottom: 20px;
  display: table;
  vertical-align: top;
}

.comment .attribution {
  display: table-cell;
  padding: 0 35px 0 0;
  vertical-align: top;
  overflow: hidden;
}

.comment .attribution img {
  margin: 0;
  border: 1px solid #d3d7d9;
}

.comment .attribution .username {
  white-space: nowrap;
}

.comment .comment-submitted p {
  margin: 4px 0;
  font-size: 1.071em;
  line-height: 1.2;
}

.comment .comment-submitted .comment-time {
  font-size: 0.786em;
}

.comment .comment-submitted .comment-permalink {
  font-size: 0.786em;
  text-transform: lowercase;
}

.comment .content {
  font-size: 0.929em;
  line-height: 1.6;
}

.comment .comment-arrow {
  background: url(images/comment-arrow.gif) no-repeat 0 center transparent;
  border-left: 1px solid;
  border-right: 1px solid;
  height: 40px;
  margin-left: -36px;
  margin-top: 15px;
  position: absolute;
  width: 22px;
}

.comment .comment-text {
  padding: 0 25px 10px 35px;
  display: table-cell;
  vertical-align: top;
  position: relative;
  width: 100%;
  border-left: 1px solid #d3d7d9;
}

.comment .indented {
  margin-left: 40px;
}

.comment-unpublished {
  margin-right: 5px;
  padding: 5px 2px 5px 5px;
}

.comment .comment-text .comment-arrow {
  border-left: 1px solid #ffffff;
  border-right: 1px solid #ffffff;
}


/*-------------------------------------------*
/* Forum
/*-------------------------------------------*/
.field-name-taxonomy-forums div {
  display: inline;
  margin-top: 4px;
}

.field-name-taxonomy-forums .field-items {
}

#forum .title {
  font-size: 16px;
}

#forum .submitted {
  font-size: 12px;
  font-family: Lucida Grande, Verdana, Arial, sans-serif;
  background: transparent;
  padding: 0;
}

#forum .container {
  background: #a1a1a1;
  color: #fff;
}

#forum .container a {
  color: #000;
  font-weight: bold;
}

#forum div.indent {
  margin-left: 2px;
}

.forum-starter-picture {
  float: left;
  padding: 4px;
  border: 1px solid #d9d9d9;
  margin: 5px 7px 5px 0;
}

#forum th {
  background: #434343;
  text-shadow: none;
  color: #fff;
}

#forum th a {
  color: #fff;
}

#forum td.forum .icon, #forum .icon div {
  background: url(images/no-new-posts.png) no-repeat;
  width: 35px;
  height: 35px;
}

#forum .name a {
  font-size: 16px;
}

.responsive-menus.responsified span.toggler {
  background: none;
  border-radius: 0;
  box-shadow: none;
  color: #333;
  cursor: pointer;
  display: block;
  font-size: 2.3em;
  outline: medium none;
  padding: 1px;
  text-align: right;
  position: relative;
  top: -112px;
  border-bottom: 0;
}

.responsive-menus.responsified.responsive-toggled span.toggler {
  border-bottom: 0;
  border-bottom-left-radius: 0;
  border-bottom-right-radius: 0;
}

#block-views-aktuelles-block .views-row, #block-views-aktuelles-block-3 .views-row {
  position: relative;
  float: left;
  margin-right: 20px;
  width: 270px;
  height: 420px;
}

#block-views-aktuelles-block-1 .views-row {
  margin-bottom: 20px;
}

#block-views-aktuelles-block-2 .views-field-body {
  padding-bottom: 100px;
  font-size: 120%;
}

#block-views-aktuelles-block .views-field-title, #block-views-aktuelles-block-2 .views-field-title, #block-views-aktuelles-block-3 .views-field-title {
  font-size: 21px;
  line-height: 120%;
  height: 85px;
  border-bottom: 1px dotted #000;
  margin-bottom: 10px;
}

#block-views-aktuelles-block .views-field-body, #block-views-aktuelles-block-3 .views-field-body {
  height: 105px;
  border-bottom: 1px dotted #000;
  margin-bottom: 10px;
}

#block-views-aktuelles-block-1 .views-field-title {
  font-size: 18px;
  line-height: 120%;
  height: auto;
  padding-bottom: 5px;
  border-bottom: 1px dotted #000;
  margin-bottom: 10px;
}


#block-views-aktuelles-block-1 .views-field-body p {
  margin-bottom: 0;
}

#block-views-aktuelles-block-1 .views-row {
  padding-bottom: 0;
  height: auto;
}

#block-views-aktuelles-block-2 .views-row {
  border-bottom: 1px dotted #ec2c37;
  margin-bottom: 30px;
}

.blankpic {
  width: 270px;
  height: 110px;
  background: #ccc;
  border: 1px solid #CCCCCC;
  padding: 0;
  margin: 0.5em 1em 1em 0;
  border-radius: 10px 0 10px 0;
}

.blanktext {
  width: 280px;
  height: 80px;
  background: #ccc;
  border: 1px solid #eee;
  padding: 0;
  margin: 0.5em 1em 1em 0;
}

.views-field-view-node {
  font-size: 12px;
}

.views-field-view-node:after {
  content: url('../images/menu-collapsed.gif');
}

#block-views-aktuelles-block-2 .views-field-body {
  width: 40%;
}

/* Bildergalerien grid layout */
.bildergalerie-teaser.views-row {
  width: 270px;
  height: 380px; /* Fixed height to prevent grid layout issues */
  float: left;
  margin-right: 10px;
  margin-bottom: 20px;
  overflow: hidden; /* Hide overflow if content is too long */
}

.bildergalerie-teaser .views-field-field-bilder {
  width: 270px;
  margin-bottom: 5px;
}

.bildergalerie-teaser .views-field-field-bilder img {
  width: 270px;
  height: 200px;
  display: block;
  object-fit: cover;
}

.bildergalerie-teaser .views-field-title {
  font-size: 16px;
  line-height: 130%;
  height: 55px; /* Fixed height */
  overflow: hidden; /* Hide overflow text */
  border-bottom: 1px dotted #000;
  padding-top: 5px;
  padding-bottom: 5px;
}

.bildergalerie-teaser .views-field-title a {
  color: #333;
  text-decoration: none;
  display: block;
  overflow: hidden;
  text-overflow: ellipsis;
}

.bildergalerie-teaser .views-field-title a:hover {
  color: #c41e3a;
  text-decoration: underline;
}

.bildergalerie-teaser .views-field-body {
  height: 105px; /* Fixed height */
  overflow: hidden; /* Hide overflow text */
  border-bottom: 1px dotted #000;
  padding-top: 5px;
  padding-bottom: 5px;
  font-size: 14px;
  line-height: 1.4;
}

/* Clear floats - target the parent container */
.js-view-dom-id-e44de61014adcfa7549a3a60bb7342e09b95f2332791dbc38c887b7769d67dab:after,
.views-element-container:after {
  content: "";
  display: table;
  clear: both;
}

/* Drupal 7 compatibility */
.field-name-field-bilder .field-item {
  width: 280px;
  float: left;
  margin-right: 10px;
}

/* Drupal 11 - Full bildergalerie image grid */
/* Target colorbox images in bildergalerie content */
.content > div > div > a.colorbox {
  width: 200px;
  height: 200px;
  float: left;
  margin-right: 15px;
  margin-bottom: 15px;
  display: block;
  overflow: hidden;
}

.content > div > div > a.colorbox img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}

/* Clear floats after colorbox grid */
.content > div:has(> div > a.colorbox):after {
  content: "";
  display: table;
  clear: both;
}


.field-name-field-bilder-page {
  float: right;
}

.view-ansprechpartner .views-field-title {
  font-size: 21px;
  border-bottom: 1px dotted #000;
  width: 200px;
}

.view-ansprechpartner .views-field-field-position {
  height: 45px;
}

.view-ansprechpartner .views-row {
  width: 200px;
  height: 460px;
  float: left;
  border-bottom: 1px dotted #000;
  margin-right: 30px;
}

.views-field-edit-node {
  clear: both;
  margin: 5px 5px 15px 0;
}


.views-field-edit-node a {
  color: #ec2c37;
  background: #fff;
  padding: 5px;
  border-radius: 5px 0 5px 0;
  border: 1px solid #ec2c37;
}

.views-field-edit-node a:hover {
  color: #fff;
  background: #ec2c37;
  padding: 5px;
  border-radius: 5px;
  border: 1px solid #ec2c37;
}

.adding {
  clear: both;
  margin: 5px 5px 15px 0;
  border-radius: 5px 0 5px 0;
}


.adding a {
  color: #ec2c37;
  background: #fff;
  padding: 5px;
  border-radius: 5px 0 5px 0;
  border: 1px solid #ec2c37;
}

.adding a:hover {
  color: #fff;
  background: #ec2c37;
  padding: 5px;
  border-radius: 5px 0 5px 0;
  border: 1px solid #ec2c37;
}

.not-logged-in .adding {
  display: none;
}

.node-type-page .field-name-body {
  float: left;
  width: 60%;
}

.front .field-name-body, .page-node-11 .field-name-body, .page-node-10 .field-name-body {
  width: 100%;
}

#block-views-bildergalerien-block .views-field-title {
  font-size: 16px;
  line-height: 130%;
  height: 55px;
  border-bottom: 1px dotted #000;
  padding-top: 5px;
}

#block-views-bildergalerien-block .views-field-body {
  height: 105px;
  border-bottom: 1px dotted #000;
  padding-top: 5px;
}

@media screen and (max-width: 1144px) {

  .node-type-aktuelles .field-name-body {
    width: 40%;
  }

  #block-views-aktuelles-block-2 .views-field-body {
    width: 30%;
  }

}

@media screen and (max-width: 960px) {

  .node-type-aktuelles .field-name-body {
    width: 100%;
  }

  #block-views-aktuelles-block-2 .views-field-body {
    width: 100%;
  }

  .node-type-page .field-name-body {
    float: left;
    width: 50%;
  }
}

@media screen and (max-width: 768px) {
  html {
    font-size: 60%;
  }

  h1#site-title {
    text-align: center;
  }

  #site-logo {
    padding-top: 0;
  }

  .flex-caption {
    display: none;
  }

  .node-type-aktuelles #content-wrap img {
    border: none;
    padding-left: 20px;
    width: 100%;
    height: auto;
    margin: 0.5em 1em 0.5em 0;
    clear: both;
  }

  .node-type-aktuelles .field-name-body {
    width: 100%;
  }

  .node-type-page .field-name-body {
    clear: both;
    width: 100%;
  }

  .field-name-field-bilder-page {
    float: left;
  }
}

/* Bildergalerien Layout - matches Drupal 7 style */
.view-bildergalerien .views-row {
  width: 280px;
  float: left;
  margin-right: 10px;
  margin-bottom: 15px;
}

.view-bildergalerien .views-field-title {
  font-size: 16px;
  line-height: 130%;
  height: 55px;
  border-bottom: 1px dotted #000;
  padding-top: 5px;
}

.view-bildergalerien .views-field-title a {
  color: #333;
  text-decoration: none;
}

.view-bildergalerien .views-field-title a:hover {
  color: #c41e3a;
  text-decoration: underline;
}

.view-bildergalerien .views-field-field-bilder {
  width: 280px;
  margin-bottom: 5px;
}

.view-bildergalerien .views-field-field-bilder img {
  width: 290px;
  height: 200px;
  display: block;
}

/* Clear floats after view content */
.view-bildergalerien .view-content:after {
  content: "";
  display: table;
  clear: both;
}

/* Aktuelles Archive - Grid Layout for news teasers */
/* Use specific class for teaser grid items */
.aktuelles-teaser-grid {
  width: 270px;
  height: 450px; /* Fixed height to prevent grid gaps */
  float: left;
  margin-right: 10px;
  margin-bottom: 30px;
  overflow: hidden; /* Hide overflow content */
}

.aktuelles-teaser-grid article {
  width: 100%;
  height: 100%;
  display: flex;
  flex-direction: column;
}

.aktuelles-teaser-grid header {
  flex-shrink: 0;
  margin-bottom: 5px; /* Reduced from 10px */
}

.aktuelles-teaser-grid h2.title {
  font-size: 18px;
  line-height: 130%;
  height: 50px; /* Fixed height for title */
  overflow: hidden;
  margin-bottom: 0;
  flex-shrink: 0;
}

.aktuelles-teaser-grid .content {
  font-size: 14px;
  line-height: 1.4;
  flex-grow: 1; /* Take remaining space */
  overflow: hidden;
  display: flex;
  flex-direction: column;
}

/* Image styling in teaser */
.aktuelles-teaser-grid .content > div:first-child {
  flex-shrink: 0;
  margin-bottom: 10px;
}

.aktuelles-teaser-grid .content img {
  width: 100%;
  height: 200px;
  display: block;
  object-fit: cover;
}

.aktuelles-teaser-grid footer {
  margin-top: 10px;
  flex-shrink: 0;
}

/* Remove ul bullet from "Weiterlesen" link */
.aktuelles-teaser-grid footer ul.links {
  list-style: none;
  padding-left: 0;
  margin-left: 0;
}

.aktuelles-teaser-grid footer ul.links li {
  list-style: none;
  list-style-type: none;
}

/* Clear floats for aktuelles views */
.views-element-container:after {
  content: "";
  display: table;
  clear: both;
}

/* Pagination for aktuelles archive - display above and below grid */
nav.pager {
  clear: both;
  width: 100%;
  float: none;
  margin-bottom: 20px;
  margin-top: 20px;
}

/* Ansprechpartner Grid Layout */
.ansprechpartner-item {
  width: 240px;
  float: left;
  margin-right: 30px;
  margin-bottom: 30px;
  text-align: center;
}

.ansprechpartner-item .views-field-field-portrait {
  margin-bottom: 10px;
}

.ansprechpartner-item .views-field-field-portrait img {
  width: 200px;
  height: 260px;
  display: block;
  margin: 0 auto;
}

/* Fallback image for missing portraits */
.ansprechpartner-item .views-field-field-portrait:empty::before,
.ansprechpartner-item .views-field-field-portrait .field-content:empty::before {
  content: "";
  display: block;
  width: 200px;
  height: 260px;
  margin: 0 auto;
  background-image: url('/sites/default/files/default_images/UnknownMan-e1388503455324.jpg');
  background-size: cover;
  background-position: center;
}

.ansprechpartner-item .views-field-title {
  font-size: 18px;
  margin-bottom: 5px;
}

.ansprechpartner-item .views-field-field-position {
  font-size: 14px;
  margin-bottom: 5px;
  color: #666;
}

.ansprechpartner-item .views-field-field-e-mail {
  font-size: 14px;
}

.ansprechpartner-item .views-field-field-e-mail a {
  color: #ec2c37;
  text-decoration: none;
}

.ansprechpartner-item .views-field-field-e-mail a:hover {
  text-decoration: underline;
}

/* Language Switcher - discreet footer link list
================================================== */
#language-switcher-region {
  text-align: center;
  padding-top: 12px;
}

#language-switcher-region .block {
  margin: 0;
}

#language-switcher-region ul.links,
#language-switcher-region ul[class*="language-switcher"] {
  list-style: none;
  padding: 0;
  margin: 0;
}

#language-switcher-region ul.links li,
#language-switcher-region ul[class*="language-switcher"] li {
  display: inline-block;
  margin: 0;
  padding: 0;
}

#language-switcher-region ul.links li + li::before,
#language-switcher-region ul[class*="language-switcher"] li + li::before {
  content: "·";
  margin: 0 8px;
  color: #999;
}

#language-switcher-region ul.links li a,
#language-switcher-region ul[class*="language-switcher"] li a {
  font-size: 13px;
  text-decoration: none;
  color: #888;
}

#language-switcher-region ul.links li a:hover,
#language-switcher-region ul[class*="language-switcher"] li a:hover {
  color: #ec2c37;
  text-decoration: underline;
}

#language-switcher-region ul.links li.is-active a,
#language-switcher-region ul[class*="language-switcher"] li.is-active a {
  color: #ec2c37;
  cursor: default;
  text-decoration: none;
}

/* Page content type: images embedded right, body text full width */
.page-images-right {
  float: right;
  width: 290px;
  margin: 0 0 20px 20px;
}

/* Fixed-size image boxes: each image is scaled DOWN only to fit (aspect
   ratio preserved), centered with whitespace padding, so no single image
   breaks the uniform appearance. Small images (e.g. the Kyudo Kanji) are
   never upscaled. */
.page-sidebar-image {
  width: 290px;
  height: 200px;
  margin-bottom: 15px;
  background: #fff;
  display: flex;
  align-items: center;
  justify-content: center;
}

/* Let the image be a direct flex child so it is centered by the box above. */
.page-sidebar-image a {
  display: contents;
}

.page-sidebar-image img {
  max-width: 100%;
  max-height: 100%;
  height: auto;
}

/* Clear floats so the images column doesn't overflow the article */
.node-page .content:after {
  content: "";
  display: table;
  clear: both;
}

@media (max-width: 767px) {
  .page-images-right {
    float: none;
    width: 100%;
    margin: 0 0 20px 0;
  }

  /* Mobile: drop the fixed box, images render full width at natural ratio */
  .page-sidebar-image {
    width: 100%;
    height: auto;
    background: none;
    display: block;
  }

  .page-sidebar-image a {
    display: block;
  }

  .page-sidebar-image img {
    max-width: none;
    max-height: none;
    width: 100%;
    height: auto;
  }
}

/* ---------------------------------------------------------------------------
   Kalender event page (node.kalender full view)
   Clean details list for event type / location / announcement, and a heading
   above the recurring date table. See node--kalender--full.html.twig.
   --------------------------------------------------------------------------- */
.kalender-details {
  margin: 20px 0;
  border-top: 2px solid #ec2c37;
}

.kalender-details__item {
  display: flex;
  gap: 15px;
  padding: 10px 0;
  border-bottom: 1px solid #e0e0e0;
}

.kalender-details__label {
  flex: 0 0 150px;
  font-weight: bold;
  color: #333333;
}

.kalender-details__value {
  flex: 1;
  min-width: 0;
}

.kalender-zeit__label {
  font-size: 20px;
  margin: 25px 0 12px;
  padding-bottom: 6px;
  border-bottom: 2px solid #ec2c37;
}

@media (max-width: 767px) {
  .kalender-details__item {
    flex-direction: column;
    gap: 4px;
  }

  .kalender-details__label {
    flex: none;
  }
}
