/* css created and developed by 12bis3.de - zeitgemaess kommunizieren */

/* istok-web-regular - latin */
@font-face {
    font-family: 'Istok Web';
    font-style: normal;
    font-weight: 400;
    src: url('fonts/istok-web-v11-latin-regular.eot'); /* IE9 Compat Modes */
    src: local('Istok Web Regular'), local('IstokWeb-Regular'),
    url('fonts/istok-web-v11-latin-regular.eot?#iefix') format('embedded-opentype'), /* IE6-IE8 */
    url('fonts/istok-web-v11-latin-regular.woff2') format('woff2'), /* Super Modern Browsers */
    url('fonts/istok-web-v11-latin-regular.woff') format('woff'), /* Modern Browsers */
    url('fonts/istok-web-v11-latin-regular.ttf') format('truetype'), /* Safari, Android, iOS */
    url('fonts/istok-web-v11-latin-regular.svg#IstokWeb') format('svg'); /* Legacy iOS */
}
/* istok-web-700 - latin */
@font-face {
    font-family: 'Istok Web';
    font-style: normal;
    font-weight: 700;
    src: url('fonts/istok-web-v11-latin-700.eot'); /* IE9 Compat Modes */
    src: local('Istok Web Bold'), local('IstokWeb-Bold'),
    url('fonts/istok-web-v11-latin-700.eot?#iefix') format('embedded-opentype'), /* IE6-IE8 */
    url('fonts/istok-web-v11-latin-700.woff2') format('woff2'), /* Super Modern Browsers */
    url('fonts/istok-web-v11-latin-700.woff') format('woff'), /* Modern Browsers */
    url('fonts/istok-web-v11-latin-700.ttf') format('truetype'), /* Safari, Android, iOS */
    url('fonts/istok-web-v11-latin-700.svg#IstokWeb') format('svg'); /* Legacy iOS */
}


* {
    margin: 0;
    padding: 0;
    font-family: 'Istok Web', arial, helvetica, sans-serif;
}

html {
    height: 100%;
}

/* -------------
main definitions
--------------*/

body {
    background: #f2f2f2;
    font-size: 0.9375em;
    min-height: 100%;
    color: #000;
    font-weight: 400;
    position: relative;
}



img {
    border: none;
}

a:link, a:visited, a:active {
    color: #007d40;
    text-decoration: none;
}
a:hover, a:focus {
    color: #007d40;
    text-decoration: underline;
}

h1, h2.csc-firstHeader, h3.csc-firstHeader {
    color: #007d40;
    font-size: 1.7333em;
    margin: 0 0 1em 0;
    font-weight:400;
    line-height:120%;
}

ul#skip-links {position: absolute; left: -9999px}

h1#news {
    margin: 0 0 1em 255px;
}

h2 {
    color: #000;
    font-size: 1.2em;
    margin: 1em 0 0.6em 0;
    font-weight: 400;
}
h2:before {
    display: inline-block;
    width: 9px;
    height: 9px;
    content: "";
    background-color:#007d40;
    margin:0 11px 0 -0;
}

.news h2 {
    margin: 0 0 0.5em 0;
    padding-left: 20px;
}
.news h2:before {
    margin:0 11px 0 -20px;
}

h3 {
    color: #000;
    font-size: 1.1333em;
    margin: 1em 0 0.4em 0;
    font-weight: 400;
}

h4 {
    color: #000;
    font-size: 1.06667em;
    margin: 0.8em 0 0.2em 0;
    font-weight: 400;
}

h5 {
    color: #000;
    font-size: 100%;
    margin: 0.8em 0 0.2em 0;
}

h6 {
    color: #000;
    font-size: 100%;
    font-weight: normal;
    margin: 0 0 0.2em 0;
}

p {
    margin: 0 0 0.7em 0;
}

strong, b {
    font-weight: bold;
}

em, i {
    font-style: italic;
}


/* ---------------
layout definitions
----------------*/

#container {
    width: 1000px;
    background: #fff;
    box-sizing:border-box;
    padding: 10px 10px 0 10px;
    margin: 0 auto;
}

#header {
    width: 980px;
    height: 345px;
    background: no-repeat 0 0;
    position: relative;
}

#top-navigation {
    position: absolute;
    right: 0;
    bottom: 0;
    width: 754px;
    background: #007d40;
}

#navigation {
    width: 215px;
    box-sizing:border-box;
    margin-right: 40px;
    float: left;
    margin-bottom:4em;
    position: relative;
}

.projectpage #navigation {
    margin-top: 90px;
}

#content {
    width: 725px;
    float: left;
    padding: 40px 0 10px 0;
    line-height: 150%;
    position: relative;
    margin-bottom: 4em;
}

.start #content {
    width: 795px;
    box-sizing: border-box;
    padding:40px 40px 0 0;
}

#service {
    width: 185px;
    float: left;
    line-height: 140%;
    padding-top:90px;
    margin-bottom: 4em;
}



/* --------------
header defintions
---------------*/

#header #top-navigation p {
    display: none;
}

#header p a {
    color: #fff;
}

#header img {
    position: absolute;
    bottom: 0;
    left: 0;
}

#header #top-navigation ul ul, #header #top-navigation ul ul ul {display: none}


/* ------------------
navigation defintions
-------------------*/

/* first level */

#top-navigation ul {
    list-style-type: none;
    font-size: 1.1333em;
    height: 80px;
    box-sizing:border-box;
    padding-top: 30px;
    padding-left: 13px;
}

#top-navigation ul li {
    position: relative;
    display: inline-block;
}

#top-navigation ul li a {
    display: block;
    padding: 13px 17px;
    color: #fff;
}

#top-navigation ul li a:hover, #top-navigation ul li a:focus, #top-navigation ul li a.aktiv {
    text-decoration: none;
}

#top-navigation ul li a:hover:before, #top-navigation ul li a:focus:before, #top-navigation ul li a.aktiv:before {
    display: inline-block;
    width: 7px;
    height: 7px;
    content: "";
    background: #e2001a;
    margin: 0 6px 0 -13px;
    vertical-align:2px;
}

#header #top-navigation ul li span.is-loading {
    background: url(../Images/ajax-loader.gif) no-repeat 0 0!important;
}

/* second level */

#navigation ul {
    padding-top: 1px;
    font-size: 1em;
    list-style-type: none;
    background: #007d41;
}

#navigation > ul > li {
    border-bottom: 1px solid #fff;
}
#navigation > ul > li:last-of-type {border:none}

#navigation ul li a {
    padding: 0.5em 10px 0.5em 25px;
    font-weight: 400;
    color: #fff;
    display: block;
}
#navigation ul li a:before {
    display: inline-block;
    width: 7px;
    height: 7px;
    content: "";
    background: #fff;
    margin: 0 11px 0 -18px;
    vertical-align:2px;
}

#navigation ul li a:hover, #navigation ul li a:focus, #navigation ul li a.aktiv {
    background: #4ca47a;
    text-decoration:none;
}

#navigation ul li a:hover:before, #navigation ul li a:focus:before, #navigation ul li a.aktiv:before {
    background: #e2001a;
}

#navigation ul ul {
    background: #4ca47a;
    font-size: 0.9333em;
    padding-bottom:0.5em;
}

#navigation ul ul li a {
    padding: 0.2em 10px 0.2em 38px;
    font-weight: 400;
    color: #fff;
    display: block;
}

#navigation ul ul li a:before {
    width: 5px;
    height: 5px;
    margin: 0 9px 0 -14px;
    vertical-align:2px;
}


/* third level */

#navigation ul ul ul {

}

#navigation ul ul ul li {
    background: none;
}

#navigation ul ul ul li a {
    padding: 3px 15px 3px 56px;
    font-weight: normal;

}

#navigation ul ul ul li a:hover, #navigation ul ul ul li a:focus, #navigation ul ul ul li a.aktiv {

}


#top-navigation span {
    text-indent: -9999px;
    display: block;
    font-size: 0;
}



/* ---------------
content defintions
----------------*/


/* news */

dl.news {
    width: 725px;
    margin: 0 0 3em 0;
    overflow: hidden;
}
.start dl.news {
    width: 745px;
    margin-bottom: 1.5em;
}

dl.news dt {
    width: 215px;
    margin-right: 20px;
    float: left;
    padding-bottom: 1px;
    margin-top: 0.1em;
}

dl.news dd {
    width: 490px;
    float: left;
    margin-bottom: 0.2em;
}
.start dl.news dd {
    width: 510px;
    margin-bottom: 2em;
}


#content dl.news dd p {margin-bottom:0; padding-left:20px}

dl.news dd h6 {
    margin-bottom: 0.1em;
    color: #717878;
    font-size: 1em;
    font-weight:400;
    padding-left:20px;
}

dl.news dd p.more-news a:after, div.search p.more-news a:after, h4.abc a:after, dl.contact dd p.info-more:after, ul.pager li.p-right a:after, ul.pager li.p-left a:before, table.sitzungen td a:after, #content ol.tops p.top-more a:after, p.more-event a:after, .images p a:after, .teaserboxes p a:after, #content ul.pagination li:last-of-type a:before {
    background: url(../Images/sprite-24.png) no-repeat transparent 0 0;
    content: "";
    display:inline-block;
    width: 8px;
    height: 15px;
    vertical-align: -3px;
    margin-left:5px;
}
ul.pager li.p-left a:before {
    margin: 0 5px 0 0;
    background-position: -8px 0;
}


#content p.news-archive {
    margin-left: 10px;
}

h6.event {
    border-top: 1px solid #d5d8d9;
    padding-top: 0.6em;
}

h2.event {
    margin: 0.2em 0 0.4em 0;
}

p.more-event {
    margin-top: -0.5em;
}

.teaserboxes {width: 100%; margin: 1.5em 0; overflow: hidden}

.teaserboxes div {float: left; box-sizing: border-box; width: calc(33.3% - 16px) }
.teaserboxes div:nth-of-type(2) {margin: 0 24px;}
.teaserboxes div h3 {padding: 0.4em 10px; background: #007d40; color: #fff; margin-bottom: 1px}
.teaserboxes div img {width: 100%; height: auto; margin-bottom: 0.8em}



/* date */

div.date-detail {
    margin: 0 0 1em 0;
    padding: 1em 0 0 0;
    border-top: 1px solid #007d40;
}

div.date-detail dl {
    width: 725px;
}

div.date-detail dl dt {
    width: 180px;
    float: left;
    clear: left;
    padding: 0 25px 0.5em 0;
}

div.date-detail dl dd {
    width: 520px;
    float: left;
    padding: 0 0 0.5em 0;
}

/* content */

#content ul {
    margin: 0 0 1em 25px;
    list-style-type: square;
}

#content ol {
    margin: 0 0 1em 25px;
}

.image-left {
    float: left;
    margin: 0.3em 0.8em 0.4em 0;
    height: auto;
}

.image-right {
    float: right;
    margin: 0.3em 0 0.4em 0.8em;
    height: auto;
}

.image-big {
    margin: 0 0 1em 0;
    height: auto;
}

.images {
    margin: 0 0 1.5em 0;
    overflow: hidden;
}

.images p {
    clear: left;
    padding-top: 0.8em;
    text-align: right;
}

.images dl, .images > div {
    float: left;
    padding: 0 25px 0 0;
}

.images dl:last-of-type, .images > div:last-of-type {padding:0}

.images dl dd, .image-left dd, .image-right dd, .image-big dd {
    color: #717878;
    font-size: 0.9333em;
}

.grid-teaserbox > div {
    width: 225px;
}

.grid-teaserbox p {
    text-align: left!important;
}
.grid-teaserbox .image-top,
.grid-teaserbox .image-left,
.grid-teaserbox .image-right {
    margin: 0;
    width: 100%;
}


.grid-teaserbox .image-right img {
    max-width: 100%;
    height: auto;
}


img.zoom-in {
    position: absolute;
    margin: 5px 0 0 5px;
    border: none;
}

div.downloads {
    margin: 1.5em 0 1em 0;
    padding-bottom: 0.2em;
}

div.downloads h4 {
    padding-bottom: 0.3em;
    margin-bottom: 0.4em;
    border-bottom: 1px solid #007d40;
    color: #007d40;
    font-size: 110%;
}

#content div.downloads ul {
    margin: 0 0 0 25px;
}

#content div.downloads ul li {
    margin-bottom: 0.3em;
}

a#skip {
    display: inline;
    height: 0;
    left: -1000px;
    overflow: hidden;
    position: absolute;
    top: -1000px;
    width: 0;
}

.gallery dl {
    width: 32%;
    margin-right: 2%;
    display: inline-block;
}

.gallery dl:nth-of-type(3) {
    margin-right: 0;
}
.gallery dl:nth-of-type(n + 4) {
    display: none;
}

.gallery dl img {
    width: 100%;
    height: auto;
}

img#nyroModalImg {
    width: 100%;
    cheight: auto;
}

#closeBut {
    width: 30px!important;
    height: 30px!important;
    z-index: 9100;
}

div#nyroModalContent {
    overflow: visible!important;
}

div#nyroModalContent > div {
    visibility: visible!important;
    margin: 0!important;
    bottom: -44px!important;
    border: none!important;
    background: transparent!important;
    font-size: 16px!important;
    color: #fff!important;
    opacity: 1!important;
    cursor: default!important;
}


/* pager */

#content ul.pager, #content ul.pagination, #content ul.tx-indexedsearch-browsebox {
    padding: 0.8em 0 0 0;
    border-top: 1px solid #e3e4e4;
    margin: 1.2em 0 1em 0;
    list-style-type: none;
}

body.messages #content ul.pager, body.messages ul.pagination {
    padding-left:255px;
    box-sizing:border-box;
    overflow: hidden;
}

#content ul.pager li, #content ul.pagination li {
    float: left;
    width: 33.3%;
    margin-right: 0px !important;
}
#content ul.tx-indexedsearch-browsebox li {
    display: inline-block;
    margin-right: 10px;
}

#content ul.pagination {
    text-align: center;
    vertical-align: middle;
}
#content ul.pagination li {
    width: auto;
    float: none;
    display: inline-block;
}
#content ul.pagination li a {box-sizing: border-box}

#content ul.pagination li:first-of-type a, #content ul.pagination li:last-of-type a {
    white-space: nowrap;
    overflow: hidden;
    width: 10px;
    height: 20px;
    display: inline-block;
    box-sizing: border-box;
    vertical-align: -7px;
    padding: 0;
}

#content ul.pagination li:first-of-type a:before, #content ul.pagination li:last-of-type a:before {
    background: url(../Images/sprite-24.png) no-repeat transparent 1px -1px;
    content: "";
    display: inline-block;
    width: 10px !important;
    height: 15px;
    margin: 0;
}
#content ul.pagination li:first-of-type a:before {
    margin: 0 5px 0 0;
    background-position: -8px 1px;
}

#content ul.pager li a, #content ul.pagination li a, #content ul.tx-indexedsearch-browsebox li a {
    background: none;
    padding: 0;
}

#content ul.pager li.p-center, #content ul.pager li#p-center {
    text-align: center;
}
#content ul.pager li.p-center a, #content ul.pagination li a {
    display: inline-block;
    padding: 0 2px;
}
#content ul.pager li.p-center a:hover, #content ul.pager li.p-center a:focus, #content ul.pager li.p-center a.aktiv, #content ul.pager li#p-center a:hover, #content ul.pager li#p-center a:focus, #content ul.pager li#p-center a.aktiv, #content ul.pagination li a:hover, #content ul.pagination li a:focus {
    border-top: 1px solid #007d40;
    border-bottom: 1px solid #007d40;
    text-decoration: none;
}

#content ul.pagination li a {
    padding: 1px 2px;
}
#content ul.pagination li a:hover, #content ul.pagination li a:focus {
    padding: 0 2px;
}

#content ul.pager li.p-right, #content ul.pager li#p-right {
    text-align: right;
}



/* footer */

#footer {
    clear: both;
    margin-top: 1em;
    height: 125px;
    background:url(../Images/bg-footer-loewe.png) no-repeat bottom left;
    overflow:hidden;
}

#footer p {
    color: #717171;
    font-size:0.9333em;
    padding-top:75px;
}

#footer p a {color: #717171; display: inline-block}
#footer p a.aktiv {text-decoration:underline}


#footer p:first-of-type {
    width: 325px;
    float: left;
    box-sizing:border-box;
    margin-left:255px;
}

#footer p:last-of-type {
    width: 400px;
    float: right;
    box-sizing:border-box;
    text-align:right;
}

#footer p:first-of-type a:before {
    display: inline-block;
    content: "";
    background:url(../Images/sprite-24.png) no-repeat;
    margin-right: 5px;
}

#footer a#print {margin-right: 20px}

#footer a#print:before {
    width: 9px;
    height: 11px;
    background-position: 0 -22px;
}

#footer a#top:before {
    width: 15px;
    height: 8px;
    background-position: -12px -25px;
    vertical-align:2px;
}


/* contact person */

dl.contact {
    width: 725px;
    margin: 0 0 1em 0;
    border-top: 1px solid #007d40;
    padding-top: 0.8em;
}

dl.company {
    width: 725px;
}

dl.contact dt {
    padding-bottom: 0.6em;
    width: 120px;
    margin-right: 30px;
    margin-top: 0.3em;
    float: left;
}

dl.company dt {
    padding-bottom: 0.6em;
    width: 143px;
    padding-right: 30px;
    margin-top: 0.3em;
    float: left;
    text-align: right;
}

dl.people dt {
    display: none;
}

dl.contact dd {
    padding-bottom: 1px;
    width: 575px;
    float: left;
}

dl.people dd {
    padding-left: 10px;
    width: 400px !important;
}

dl.company dd {
    padding-bottom: 1px;
    width: 552px;
    float: left;
}

dl.contact dd h3, dl.company dd h3 {
    margin: 0;
}

dl.contact dd h6, dl.company dd h6 {
    margin: 0 0 0.5em 0;
}

dl.company dd h2 {
    margin: 0 0 0.3em 0;
}

dl.contact p.info-more {
    margin: -0.5em 0 0.5em 0;
}


/* search */

h3.search {
    border-top: 1px solid #007d40;
    margin: -1px 0 0.2em 0;
    padding: 1em 0 0 14px;
    background: url(../Images/bg-headline-2.png) no-repeat 0 1.4em transparent;
}

div.search {
    border-bottom: 1px solid #007d40;
    margin: 0;
    padding: 0 0 1em 14px;
}

#tx_indexedsearch > p {
    display: none;
}

.tx-indexedsearch-text-item-size, .tx-indexedsearch-text-item-crdate, .tx-indexedsearch-text-item-mtime, .tx-indexedsearch-icon {
    display: none;
}
.tx-indexedsearch-info {
    overflow: hidden;
}
.tx-indexedsearch-info dt {
    width: 40px;
    float: left;
}
.tx-indexedsearch-info dd {
    width: calc(100% - 40px);
    float: left;
}
.tx-indexedsearch-res {
    padding-top: 0.5em;
    border-top: 1px solid #007d41;
}



/* sitemap */

#content ul.sitemap {
    list-style-type: none;
    margin: 0 0 1em 0;
}

#content ul.sitemap li {
    margin-bottom: 1em;
}
#content ul.sitemap li a {
    padding: 0 0 0 14px;
}
#content ul.sitemap li a:before {
    display: inline-block;
    width: 7px;
    height: 7px;
    content: "";
    background: #007d40;
    margin: 0 7px 0 -14px;
    vertical-align:2px;
}

#content ul.sitemap ul {
    list-style-type: none;
    margin: 0.2em 0 1.2em 0;
    border-top: 1px solid #007d40;
    padding-top: 0.4em;
}

#content ul.sitemap ul li {
    margin-bottom: 0.4em;
}
#content ul.sitemap ul li a {
    padding: 0 0 0 35px;
}
#content ul.sitemap ul li a:before {
    width: 5px;
    height: 5px;
    background: #000;
    margin: 0 7px 0 -14px;
    vertical-align:3px;
}

#content ul.sitemap ul ul {
    margin: 0 0 0.6em 0;
    border: none;
}

#content ul.sitemap ul ul li {
    margin-bottom: 0.2em;
    font-size: 90%;
}

#content ul.sitemap ul ul li a {
    padding: 0 0 0 60px;
}
#content ul.sitemap ul ul li a:before {
    width: 4px;
    height: 4px;
    margin: 0 7px 0 -14px;
    vertical-align:3px;
}


/* table */

table {
    margin-bottom: 1.2em;
    border-collapse: collapse;
    width: auto;
}

table td, table th {
    padding: 2px 5px;
    vertical-align: top;
}

table thead td, table thead th, table th {
    color: #000;
    text-align: left;
}

table.sitzungen td, table.sitzungen th {
    border: 1px solid #4ca47a;
}

table.sitzungen tr.meeting td, table.sitzungen th {
    border: none;
    border-top: 1px solid #4ca47a;
}

table.sitzungen tr.top td {
    border: none;
    border-top: 1px solid #4ca47a;
}

table.sitzungen thead th {
    color: #fff;
    background: #4ca47a;
    font-weight:400;
}

#content ol.tops {
    font-weight: bold;
}

#content ol.tops li {
    margin-bottom: 0.8em;
}

#content ol.tops p {
    font-weight: normal;
}

#content ol.tops p.top-more {
    margin-bottom: 0.8em;
    border-bottom: 1px solid #d5d8d9;
    padding-bottom: 0.8em;
}


/* vk infocards */

p.abc {
    font-weight: 400;
    margin-bottom: 1.5em;
    font-size:1.1333em;
    background: #e5f2ec;
    padding: 0.4em 5px;
}

p.abc a {
    display:inline-block;
    padding: 0.1em 5px;
    margin: 0 3px;
    border-bottom: 1px solid #e5f2ec;
    border-top: 1px solid #e5f2ec;
}

p.abc span {
    color: #d5d9d9;
    padding-right: 10px;
    display:inline-block;
    padding: 0 8px;
    border-bottom: 1px solid #e5f2ec;
    border-top: 1px solid #e5f2ec;
}

p.abc a.abc-aktiv, p.abc a:hover, p.abc a:focus {
    border-bottom-color: #007d40;
    border-top-color: #007d40;
    text-decoration:none;
}

h2.abc {
    margin-bottom: 1em;
}

form.abc {
    margin: 0 0 1em 0;
    padding: 0 0 0.4em 0;
    border-bottom: 1px solid #007d40;
}

form.abc label {
    font-weight: normal;
    padding-right: 0.5em;
}

h2.abc select {
    padding: 1px;
    width: auto;
}

h4.abc {
    border-top: 1px solid #007d40;
    padding-top: 0.8em;
    padding-bottom: 0.8em;
    margin: 0;
    text-align: right;
}

h4.frvor {
    border-bottom: 1px solid #007d40;
    padding-bottom: 0.8em;
}

h4.abc a {
    display: block;
}
h4.abc:hover {background: #e5f2ec}

h4.abc a span {
    color: #000;
    float: left;
    text-align: left;
}

h2.gr {
    margin: 1.5em 0 0.6em 0;
}

h4.abc a span span {
    float: none;
    font-weight: normal;
    font-size: 90%;
}

dl.company dd h2 span {
    font-size: 85%;
}

dl.sitzung {
    width: 417px;
    margin-bottom: 0.5em;
}

dl.sitzung dt {
    float: left;
    width: 97px;
}

dl.sitzung dd {
    float: left;
    width: 320px;
}

dl.sitzbig {
    margin-bottom: 1em;
}

form#sitzungensuche {
    border-bottom: 1px solid #007d40;
    margin-bottom: 1em;
    padding-bottom: 1.5em;
}

form#sitzungen {
    padding: 1.2em 0 1.5em 0;
    border-bottom: 1px solid #007d40;
    margin-bottom: 1.5em;
}

form#sitzungensuche input, form#sitzungen input {
    color: #007d40;
}
form#sitzungensuche input#keysearch {
    color: #000;
}


/* search box */

#search {
    background: #f2f2f2;
    height: 30px;
    width: 215px;
    overflow: hidden;
    margin: 35px 0 25px 0;
}
#content #search {
    position:absolute;
    top: 35px;
    margin: 0;
    left: 0;
}

#search a {
    display:inline-block;
    width:30px;
    height:30px;
    background:url(../Images/sprite-24.png) no-repeat 5px -36px;
    opacity:1;
    text-indent:-9999px;
    float: left;
}
#search a:hover, #search a:focus, #search form button:hover, #search form button:focus {opacity: 0.7}
#search a:nth-of-type(2) {display:none}

#search form {
    border-left: 2px solid #fff;
    height: 30px;
    width:183px;
    float: left;
}

#search form input[type=text] {
    width: 150px;
    box-sizing:border-box;
    padding: 7px 4px 3px 5px;
    border: none;
    background: none;
}

#search form button {
    width: 30px;
    height: 30px;
    text-indent:-9999px;
    background:url(../Images/sprite-24.png) no-repeat -27px -37px;
    border: none;
    cursor: pointer;
}



/* ---------------
service defintions
----------------*/

#service div {
    margin-bottom: 4px;
    background:#f2f8f5;
    padding: 0.8em 0 0.4em;
}
#service div:first-of-type {padding:0}

#service h5 {
    margin: 0 0 0.3em 0;
    font-size: 1.0667em;
    color: #656565;
    font-weight: 400;
    padding: 3px 10px;
}

#service div:first-of-type h5 {
    background: #e5f2ec;
    margin: 0;
}

#service ul {
    list-style-type: none;
}

#service ul li {
    padding-bottom: 0.1em;
}

#service ul li a {
    display: block;
    background: url(../Images/icon-link-darkgrey.png) no-repeat right center;
    color: #000;
}

#service .lightgrey ul li a {
    background: url(../Images/icon-link-lightgrey.png) no-repeat right center;
}

#service div p {
    padding: 0 10px;
    font-size: 0.8667em;
}

#service p.more-news {
    margin: -0.8em 0 0.4em 0;
    text-align: right;
}

#service p.more-news a {
    background: url(../Images/icon-link-darkgrey.png) no-repeat right center transparent;
    padding-right: 18px;
}

#service .lightgrey p.more-news a {
    background: url(../Images/icon-link-lightgrey.png) no-repeat right center;
}



/* service table */

#service div table {
    border-collapse: collapse;
    margin: 0;
    width: 185px;
    line-height: 150%;
    font-size: 0.8667em;
}

#service div table tbody td {
    padding: 2px 3px;
    background: #e5f2ec;
}

#service div table tbody td {
    text-align: center;
    color: #484549;
}

#service div table thead th {
    background: #007d40;
    text-align: center;
    font-weight: 400;
    color: #fff;
    padding: 3px 3px;
    border-bottom: 1px solid #b7dbca;
}

#service div table thead tr.cal-days th {
    padding: 2px 3px;
    color: #484549;
    font-weight: normal;
    border-bottom: 1px solid #4ca479;
    background: #e5f2ec;
}

#service div table thead th#cal-back {
    text-align: left;
}

#service div table thead th#cal-forw {
    text-align: right;
}

#service div table thead th a {
    display: inline-block;
    background:url(../Images/sprite-24.png) no-repeat;
    width: 8px;
    height: 15px;
    margin-top:2px;
    text-indent:-9999px;
    opacity: 0.7;
}
#service div table thead th#cal-back a {background-position: -31px 0}
#service div table thead th#cal-forw a {background-position: -41px 0; text-align: left;}
#service div table thead th a:hover, #service div table thead th a:focus {opacity: 1}

#service div table tbody td a {
    display: block;
    margin: -2px -3px;
    padding: 2px 0 2px 0;
}

#service div table tbody td a.termin {
    background: #007d40;
    color: #fff;
}

#service div table tbody td a.termin:hover, #service div table tbody td a.termin:focus {
    background: #96ceb3;
    color: #007d40;
    text-decoration: none;
}

#service div table td div.calender-events {
    position: absolute;
    background: #fff;
    border: 1px solid #96ceb3;
    border-bottom: none;
    width: 250px;
    padding: 0 10px;
    text-align: left;
    line-height: 130%;
    margin: -17px 0 0 -252px;
    z-index: 1005;
}

#service div table td div.calender-events h6 {
    font-size: 95%;
    margin-bottom: 0.1em;
    color: #717878;
    padding: 0.6em 0 0 11px;
}
#service div table td div.calender-events h6:before {
    display: inline-block;
    width: 5px;
    height: 5px;
    content: "";
    background: #007d40;
    margin: 0 6px 0 -13px;
    vertical-align:1px;
}


#service div table td div.calender-events h4 {
    margin: 0;
    padding-left: 11px;
    font-weight:400;
    font-size: 1.0667em;
    line-height: 140%;
}

#service div table td div.calender-events a:after {
    background: url(../Images/sprite-24.png) no-repeat transparent 0 0;
    content: "";
    display:inline-block;
    width: 11px;
    height: 15px;
    vertical-align: -3px;
    margin-left:5px;
}

#service div table td div.calender-events p {
    text-align: left;
    border-bottom: 1px solid #96ceb3;
    padding: 0 10px 0.5em 25px;
    margin: 0 -10px;
}


#service div .box {
    line-height: 140% !important;
    padding-bottom: 10px;
}

#service div .box div {
    line-height: 140% !important;
}

#service div .box div.title {
    display: none;
}

#service div.box a.link {
    color: #4ca479 !important;
    padding: 2px !important;
}

#service div.box a.link_home img {
    margin: 2px 0;
}

#service p.all-events {
    text-align: right;
    margin: 0.4em 0 0.1em 0;
}

#service p.all-events a {
    background: url(../Images/icon-link-darkgrey.png) no-repeat right center transparent;
    padding-right: 18px;
}


/* ------------------
formular definitionen
-------------------*/

fieldset {
    border: 1px solid #f0efef;
    margin-bottom: 1.2em!important;
    padding: 10px 10px 0 10px;
}

form {
    margin: 0 0 2em 0;
}

form fieldset {
    padding: 0;
    margin: 2em 0 0 0;
    border: none;
}

form fieldset > div {margin-bottom: 1.2em;}

legend {
    font-size: 100%;
    font-weight: bold;
    color: #000;
}
form fieldset legend {margin-bottom: 0.5em; font-size: 1.25em}

label {
    float: left;
    width: 180px;
    color: #000;
}

input, textarea, select {
    width: 350px;
    font-family: 'Istok Web', arial, helvetica, sans-serif;
    font-size: 100%;
    color: #000;
    padding: 5px;
    box-sizing:border-box;
    border: none;
    background: #f2f2f2;
}
textarea {
    width: 350px;
    height: 170px;
    padding: 5px;
}

p.input-small input {
    width: 50px;
}

select {
    width: 350px;
}

option {
    padding: 0 3px;
    background: transparent;
}

input:hover, input:focus, select:hover, select:focus {
    border-color: #007d40;
    background: #e4e5e6;
}
textarea:hover, textarea:focus {
    border-color: #007d40;
    background: #e4e5e6;
}

input.small {
    width: auto;
    margin-right: 5px;
}

input.radio-check {
    width: auto;
    border: none;
    background: none;
}

input.submit-btn, input[type=submit], button.btn {
    color: #007d40;
    padding: 5px 20px;
    font-weight: 400;
}
button.btn {
    background-color: #007d41;
    color: #fff;
    border: none;
}
form fieldset input[type=submit] {margin-left: 180px}

p.check-radio input, input.check-radio {
    width: auto;
    margin-right: 5px;
    background: none;
    border: none;
    height: auto;
    padding: 0;
}

p.check-radio label {
    width: 380px;
    float: left;
}

.csc-mailform em {
	display: inline;
	margin-left: 5px;
	color: #000;
}

.csc-mailform form ol li {
	margin-bottom: 10px;
}

.csc-mailform .csc-form-element-radiogroup {
	padding-top: 20px;
	margin-bottom: -24px!important;
}

.csc-mailform .csc-form-element-radiogroup ol {
	margin-bottom: 0!important;
	margin-left: 0!important;
	padding-left: 206px!important;
}

.csc-mailform .csc-form-element-radiogroup ol li {
	display: inline-block;
	width: 10%;
	min-width: 100px;
	margin-bottom: 0!important;
}

.csc-mailform .csc-form-element-radiogroup ol li label {
	width: 30px;
}

.csc-mailform .csc-form-element-radiogroup ol li input[type="radio"] {
	width: 20px;
	margin-top: 5px;
}

.csc-mailform .csc-form-element-checkbox {
	max-width: 530px;
	margin-left: 30px;
	overflow: visible;
	list-style: none;
}

.csc-mailform .csc-form-element-checkbox input {
	width: 13px;
	margin-left: -30px;
	margin-right: 12px;
}

.csc-mailform .csc-form-element-submit {
	margin-left: 210px;
}

/* Cookie */
.cc-cookies {
  position: fixed;
  left: 0;
  bottom: 0;
  width: 100%;
  color: #fff;
  background-color: rgba(0, 125, 64, 0.9);
  text-align: center;
  z-index: 999;
  padding: 10px 0 16px 0;
}
.cc-cookies h6 {
	color: #fff;
	font-size: 1.1em;
	font-weight: 700;
	margin-bottom: 10px;
}
.cc-cookies p {
  letter-spacing: 0.5px;
  padding-bottom: 12px;
  margin: 0 auto 10px auto;
  max-width: 1200px;
  line-height: 1.5;
}
.cc-cookies a, .cc-cookies a:link, .cc-cookies a:visited {
  color: #fff;
  text-decoration: none;
  font-weight: 700;
}
.cc-cookies .cc-cookie-accept, .cc-cookies > a:last-of-type {
  border: 1px solid #fff;
  padding: 6px 10px;
  margin: 0 6px;
}
.cc-cookies .cc-cookie-accept:before, .cc-cookies > a:last-of-type:before {
  content: none;
  background: none;
}
.cc-cookies .cc-cookie-accept:hover, .cc-cookies > a:last-of-type:hover {
  color: rgba(0, 125, 64, 0.9);
  background-color: #fff;
}




/* clear me baby */

.clear:after {
    content: ".";
    display: block;
    height: 0;
    clear: both;
    visibility: hidden;
}
.clear {
    display: inline-table;
}
* html .clear {
    height: 1px;
}
* + html .clear {
    height: 1%;
}
.clear {
    display: block;
}


@media screen and (max-width:450px) {
    #header #top-navigation p a {width:18px; height:12px; display:inline-block; background: url(../Images/sprite-24.png) -85px -69px no-repeat; padding: 5px; text-indent:-9999px; text-align:left}
    #header #top-navigation p a:before {display: none;}
    #header #top-navigation p {margin-bottom: 5px}
    #content #search, #navigation #search {top: -5em}
    #service div table {width: 90%; margin: 0 5% 0 5%}

    .grid-teaserbox > div {
        width: 100%;
    }

    #footer {background: none; height: auto}
    #footer p:first-of-type {width: 100%; box-sizing:border-box; margin-left: 0;  padding-top: 10px; float: none}
    #footer p:last-of-type {width: 100%;  float: none; padding-top: 5px; text-align: left}

    .image-right, .image-left, .image-big {width: 100% !important;margin: 0 0 1.2em 0;float: none;}
    .images dl {width: 100% !important; padding: 0; margin: 0 0 0.8em 0}

    .teaserboxes div {float: none; box-sizing: border-box; width: 100%; margin-bottom: 1em;}
    .teaserboxes div:nth-of-type(2) {margin: 0}



}

@media screen and (min-width: 451px) and (max-width:999px) {
    #header #top-navigation p {margin-bottom: 10px}
    #header #top-navigation p a {font-size:1.25em; text-transform: uppercase; padding: 20px 0 20px 20px}
    #header #top-navigation p a:before {width:18px; height:12px; content:""; display:inline-block; background: url(../Images/sprite-24.png) -91px -74px no-repeat; margin-right:5px;}
    #content #search, #navigation #search {top: -5.5em}
    #service div table {width: 70%; margin: 0 15% 0 15%}

    .grid-teaserbox > div {
        width: 30%;
    }

    .grid-teaserbox.images dl {
        width: 100%!important;
    }

    #footer {background-size: 30% auto; height: 80px}
    #footer p:first-of-type {width: 100%; box-sizing:border-box; margin-left: 0; padding-left: 33%; padding-top: 20px; float: none}
    #footer p:last-of-type {width: 100%;  padding-left: 33%; float: none; padding-top: 5px; text-align: left}

    .image-right, .image-left {width: 40% !important}
    .images dl {width: 33.33% !important; padding: 0 5px; float: left; box-sizing:border-box}
    .images dl:first-of-type {padding-left: 0;}
    .images dl:last-of-type {padding-right: 0;}
    .images {overflow: hidden}

}

@media screen and (max-width:600px) {
    #search form {width: 80px;}
    label {display: block; width:100%}
    input, select {width: 100%; box-sizing:border-box}
    textarea {width: 100%; box-sizing:border-box}
    
    
    .csc-mailform .csc-form-element-radiogroup ol {
		padding-left: 0!important;
	}
	
	
	.csc-mailform .csc-form-element-submit {
		margin-left: 0;
	}
}

@media screen and (min-width:451px) and (max-width:600px) {
    .grid-teaserbox > div {
        width: 28%;
    }
}

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

    #container {width: 100%; box-sizing: border-box; padding: 10px}
    #content {width: 100% !important; box-sizing: border-box; margin: 0; float: none; padding: 0 !important; margin-top:3em}
    #header {width: 100%; box-sizing:border-box; background-position: center center; background-size: cover; height: 180px;}
    #service {padding-top: 30px; width: 100%; box-sizing:border-box; margin-bottom:2em}

    .projectpage #navigation {margin-top: 0;}
    #navigation ul {display: none}
    #navigation {width:auto; box-sizing: border-box;margin:0; float: none; position: relative;}

    #header #top-navigation p {display: block; position: relative}
    #header #top-navigation ul  {display: none; position:absolute; background: #007d40; width: 100%; z-index:131; box-sizing:border-box; left: 0; height:auto; text-align: left; padding: 0; border-bottom: 1px solid;}
    #header #top-navigation ul li {float: none; display: list-item; border-top: 1px solid #fff;}
    #header #top-navigation ul li a:before {display: none;}
    #header #top-navigation ul li a {padding: 0.4em 10px; width: calc(100%/1 - 23px);}
    #header #top-navigation ul li span {display: inline-block; width: 23px; height: 23px; float: left; padding: 5px}
    #header #top-navigation ul li span.nav-child {background: url(../Images/sprite-24.png) no-repeat 5px -99px;}
    #header #top-navigation ul li span.nav-child.nav-active {background: url(../Images/sprite-24.png) no-repeat 3px -125px;}
    #header #top-navigation ul ul {position: relative; background: #339766; left: auto; font-size: 0.9444em; padding-left:25px; border: none}
    #header #top-navigation ul ul li {border: none}
    #header #top-navigation ul ul li span {width: 23px; height: 23px; float: left; padding: 2px}
    #header #top-navigation ul ul li span.nav-child {background-position: -34px -99px;}
    #header #top-navigation ul ul li span.nav-child.nav-active {background-position: -35px -127px;}
    #header #top-navigation ul ul ul li a {padding: 0.2em 10px;}

    #header > a {width: 100%; height: auto; box-sizing:border-box; background: #007d40; display: block; position: absolute; bottom:0; left: 0;}
    #header a img {position: relative; width: 30%; z-index: 33}
    #top-navigation {background: none; width: 100%; bottom: 0; right: 0; text-align: right; padding-right:10px; padding-left:30%; box-sizing:border-box; z-index:30}
    #top-navigation a.nav-active, #top-navigation a.aktiv {text-decoration: underline!important;}
    #content #search {left: 33%; margin-bottom: 0; background: none; width: auto; height: auto; z-index: 30}
    #navigation #search {left: 33%; margin-bottom: 0; background: none; width: auto; margin-top: 0; height: auto; position: absolute; z-index: 30}
    #search a {background-position: 0 -68px; width: 28px; height:24px}
    #search form {border: none; display: none; position: relative}
    #search form input[type=text] {color: #fff}
    #search form label {display:none}
    #search form button {display:none}
    #search a:nth-of-type(2) {display:inline-block; background-position: -44px -68px; width: 24px; margin-left: 10px}
    ::-webkit-input-placeholder {color: #fff;}
    :-moz-placeholder {color: #fff;}
    ::-moz-placeholder {color: #fff;}
    :-ms-input-placeholder {color: #fff;}

    dl.news, .start dl.news {width:100%; box-sizing:border-box}
    dl.news dt, .start dl.news dt {width: calc(30%/1 - 20px); box-sizing:border-box}
    dl.news dt img {width: 100%; height: auto }
    dl.news dd, .start dl.news dd {width: 70%; box-sizing: border-box}
    h1#news {margin-left: 0}

    .image-right img, .image-left img, .image-big img, .images img, .image-top img {width: 100%; height: auto}
    dl.image-top {width: 100%}
    dl.image-top-right {width: 100%; max-width:185px}
    dl.company, dl.contact {width: 100%; box-sizing:border-box}
    dl.company dt, dl.contact dt {width: 25%; box-sizing:border-box; padding-right: 15px; margin-right:0}
    dl.company dt img, dl.contact dt img {width: 100%; height: auto; max-width:110px}
    dl.company dd, dl.contact dd {width: 75%; box-sizing:border-box}
    div.date-detail dl {width: 100%;}
    div.date-detail dl dt {width: 100%; box-sizing:border-box; float: none; padding-bottom: 0.1em}
    div.date-detail dl dd {width:100%; margin-bottom:0.5em; float: none}

    #service div:first-of-type {background: #e5f2ec; padding-bottom:1em;}
    #service div:first-of-type h5 {padding-top: 0.3em; padding-bottom:0.3em; text-align: center}

    #content table {width: 100%}



}

@media screen and (min-width: 600px) and (max-width:999px) {

    #service div + div {float: none; width: 100%;}
    #service div + div + div {float: left;width: 50%; min-height: 120px; box-sizing:border-box;}
    #service div + div + div:nth-of-type(even) {border-left: 5px solid #fff}

    #footer {background-size: 200px auto}
    #footer p:first-of-type {padding-left: 220px;}
    #footer p:last-of-type {padding-left: 220px;}

    #footer {height: 125px}
    #footer p:first-of-type {padding-top: 30px;}
}


input.form-check-input {
    width: auto;
    background: none;
    margin-right: 5px;
}

p.form-group {
    overflow: hidden;
}

@media screen and (min-width: 999px) {
    label[for=kontaktforumlar-radiobutton-1-0] {
        padding-left:180px;
    }
    button.btn {
        margin-left: 180px;
    }
}

label[for=kontaktformular-checkbox-1] {
    width: 100%;
}

label[for=kontaktformular-checkbox-1] input.add-on {
    width: auto;
    margin-right: 5px;
}

figure.video {
    width: 100%;
    margin: 1.5em 0;
}

.video-embed {
    margin: 0;
    position: relative;
    /*padding-bottom: 56.25%;*/
    padding-bottom: 72.25%;
    padding-top: 0px;
    height: 0;
    overflow: hidden;
}

.video-embed iframe {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    border: none;
}

.tx-sudhaus7-newsletter {
    margin: 1.5em 0;
}
.tx-sudhaus7-newsletter div {
    margin-bottom: 1em;
    overflow: hidden;
}
.tx-sudhaus7-newsletter input#privacypolicy {
    width: auto;
    float: left;
    margin: 0 10px 10px 0;
}
.tx-sudhaus7-newsletter label[for=privacypolicy] {
    float: right;
    width: calc(100% - 30px);
}
@media screen and (min-width: 1024px) {
    .tx-sudhaus7-newsletter input[type=submit] {
        margin-left: 180px;
    }
}