/*
grün: rgba(64, 128, 0, 1)
rot: rgba(220, 42, 27, 1)
*/

@import 'fonts.css';
@import 'font-awesome.min.css';

/*-- global --*/
h1, h2, h3, h4, h5 {
    display: inline-block;
    margin-top: 20px;
}

h1 {
    font-size: 3.5rem;
    margin-bottom: 2rem;
}

h2 {
    font-size: 2.4rem;
    margin-bottom: 1.5rem;
}

h3 {
    font-size: 1.8rem;
    margin-bottom: 1.5rem;
}

h4 {
    font-size: 1.4rem;
    font-weight: bold;
}

h5 {
    font-size: 1.2rem;
    font-weight: bold;
}

h2.sub:after, h3.sub:after, h4.sub:after, h5.sub:after {
    content: '';
    display: block;
    margin-left: 5px;
    margin-right: -5px;
    margin-top: 3px;
    border-bottom: 1px solid rgba(64, 128, 0, 1);
}

a {
    color: rgba(220, 42, 27, 1);
}

a:focus,
a:hover,
a:active {
    color: rgba(220, 42, 27, 1);
}

div.indent {
    margin-left: 2rem;
}

ul > li:first-child {
    margin-top: 0 !important;
}


body {       
    color: #444444;
    font-family: 'Open Sans', sans-serif !important;
    background-color: #efefef;
}

.page-wrapper {
    width: 85vw;
    padding-left: 30px;
    padding-right: 30px;
    background-color: white;
}

#main-content > div {
    margin-bottom: 3rem;
}

#main-content > div:last-child {
    margin-bottom: 0;
}

@media (max-width: 767px) {
    .page-wrapper {
        width: 100%;
        padding: 0 30px;
    }
}

/*-- navbar --*/

.navbar {
    margin-bottom: 15px;
}

.navbar-default {
    background-color: transparent;
    border: none;
}

.navbar-header {
    width: 100%;
    padding: 1rem 0;
}

.navbar-image {
    float: left;
    width: 50%;
    max-width: 400px;
    min-width: 250px;
    height: auto;
    margin-right: 15px;
}

.top-linklist > li {
    display: inline-block;
    list-style: none;
}

.top-linklist > li::before {
    content: '|';
    margin: 0 .5rem;
    color: rgba(64, 128, 0, 1);
    font-size: 1.25rem;
    vertical-align: top;
}

.top-linklist > li:first-child::before {
    content: none;
    margin: 0;
}

.top-linklist > li > a {
    font-size: 1.5rem;
    text-transform: uppercase;
    color: rgba(64, 128, 0, 1);
}

.navbar-toggle {
    margin-right: 0;
}

.navbar-default .navbar-header {
    padding: 3rem 15px;
    border-bottom: 1px solid rgba(220, 42, 27, 1);
}

.navbar-default .navbar-collapse {
    width: 100%;
    padding-left: 0;
    padding-right: 0;
    border-top: none;
    border-bottom: 1px solid rgba(220, 42, 27, 1);
    background-color: #dfdfdf;
}

.navbar-default .navbar-nav > li.current > a,
.navbar-default .navbar-nav > .dropdown.current > a {
    color: white;
    background-color: rgba(64, 128, 0, 1);
}

.navbar-default .navbar-nav > li.current ~ li.active > a,
.navbar-default .navbar-nav > .dropdown.current > a {
    color: white;
    background-color: rgba(64, 128, 0, 1);
}

.navbar-default .navbar-nav > li > .navbar-link {
    color: #444444;
    font-size: 1.5rem;
    text-transform: uppercase;
}

.navbar-default .navbar-nav > li > .navbar-link:focus,
.navbar-default .navbar-nav > li > .navbar-link:hover,
.navbar-default .navbar-nav > li > .navbar-link:active,
.navbar-default .navbar-nav > li.active > .navbar-link,
.navbar-default .navbar-nav > li.active > .navbar-link:focus,
.navbar-default .navbar-nav > li.active > .navbar-link:hover,
.navbar-default .navbar-nav > li.active > .navbar-link:active,
.navbar-default .navbar-nav > li.open > .navbar-link,
.navbar-default .navbar-nav > li.open > .navbar-link:focus,
.navbar-default .navbar-nav > li.open > .navbar-link:hover,
.navbar-default .navbar-nav > li.open > .navbar-link:active {
    color: white;
    background-color: rgba(64, 128, 0, 1);
}

@media (max-width: 767px) {
    .navbar-default .navbar-nav {
        width: 100%;
        margin-left: 0;
    }

    .navbar-default .navbar-nav:first-child {
            margin-bottom: 0;
    }
    .navbar-default .navbar-nav:last-child {
            margin-top: 0;
    }
    .navbar-default .navbar-nav > li li {
            padding-right: 0;
    }
}

@media (min-width: 768px) {
    .navbar-default .navbar-nav.navbar-xs {
        display: none;
    }
}

/*-- searchbox --*/

.searchbox {
    clear: right;
    margin: 1.5rem -5px 0 0;
    padding: 0;
    border: none;
}

.searchbox .input-group {
    width: 100%;
    max-width: 275px;
}

.input-group-lg>.form-control,
.input-group-lg>.input-group-addon,
.input-group-lg>.input-group-btn>.btn {
    height: 3.5rem;
    font-size: 1.5rem;
}

.searchbox .input-group-btn > .btn {
    border-left: none;
    -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075);
            box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075);
    font-size: 1.5rem;
    padding: 6px 12px;
}

.searchbox .form-control:focus {
    -webkit-box-shadow: none;
            box-shadow: none;
    border-color: #cccccc;
}

/*-- megamenu --*/

.navbar-nav > .dropdown {
    position: static !important;
}

.megamenu {
    left: 0 ;
    right: 0;
    margin-top: -1px !important;
    padding: 4rem 1rem 2rem 5rem;
    border: none;
    box-shadow: none;
    background-color: rgba(64, 128, 0, 1);
    border-radius: initial;
}

.megamenu > li > ul {
    padding: 0;
    margin: 0;
}

.megamenu > li > ul > li {
    font-size: 1.5rem;
    line-height: 2.25;
    text-transform: uppercase;
    list-style: none;
}

.megamenu .navbar-link {
    display: block;
    padding: 3px .5rem;
    clear: both;
    margin: 1rem 0;
    color: white;
    border-bottom: 1px solid white;
    font-size: 1.35rem;
}

.megamenu .navbar-link:hover {
    color: #444444;
    background-color: rgba(255,255,255,.9);
    text-decoration: none;
}

.megamenu h2 {
    margin: 0 0 2rem 0;
    color: white;
    font-size: 2.5rem;
    font-weight: 300;
}

.megamenu p {
    color: white;
    font-size: 1.5rem;
    font-weight: 300;
}

@media (max-width: 767px) {

    .megamenu {
        margin: 0;
        padding: 0;
    }

    .megamenu > li:last-child {
        border-bottom: 1px solid rgba(64, 128, 0, 1);
    }
    
    .megamenu > li > ul > li {
        line-height: 1.75;
    }

    .megamenu .navbar-link {
        margin: 0;
        padding: .75rem 1.5rem;
        color: #444444;
        font-size: 1.35rem;
        font-weight: normal;
        border: none;
    }

    .megamenu .navbar-link:focus,
    .megamenu .navbar-link:hover,
    .megamenu .navbar-link:active {
        color: #ffffff;
        background-color: rgba(64, 128, 0, 1);
        text-decoration: none;
    }

}

/*-- header image --*/

.header-image .image-wrapper {
    height: 22vw;
    margin-bottom: 15px;
}

@media (max-width: 767px) {
    .header-image .image-wrapper {
        height: 30vw;
    }
}

/*-- carousel --*/

.carousel {
    height: 22vw;
    margin-bottom: 45px;
}

.carousel .carousel-inner {
    height: 100%;
}

.carousel .carousel-inner .item{
    height: 100%;
}

.carousel .carousel-inner .item .carousel-caption {
    color: #333333;
    background-color: rgba(255, 255, 255, .6);
    left: 0;
    right: 0;
    bottom: 0;
    padding: 10px 15px;
    text-align: left;
}

.carousel .carousel-inner .item .carousel-caption p {
    display: inline-block;
    margin: 0;
    font-size: 1.5rem;
    text-shadow: none;
}

.carousel .carousel-inner .item .carousel-caption p+p:before {
    content: "\2013";
    margin-left: 1rem;
    margin-right: 1rem;
}

.carousel .carousel-indicators {
    top: 100%;
    left: 10%;
    width: 80%;
    margin: 0;
    line-height: 2.5;
}

.carousel .carousel-indicators > li {
    width: 12px;
    height: 12px;
    margin: 1px 3px;
    border: 1px solid rgba(173,173,173,1);
}

.carousel .carousel-indicators > li:hover,
.carousel .carousel-indicators > li:active {
    border: 1px solid rgba(68,68,68,1);
}

.carousel .carousel-indicators > li.active {
    background-color: rgba(173,173,173,1);
}

.carousel .carousel-indicators > li.active:hover,
.carousel .carousel-indicators > li.active:active {
    background-color: rgba(68,68,68,1);
}

.carousel .carousel-control.left,
.carousel .carousel-control.right {
    top: 100%;
    width: 10%;
    font-weight: normal;
    color: #adadad;
    text-shadow: none;
    background: none;
    opacity: 1;
}

.carousel .carousel-control.left {
    margin-left: 30px;	
    text-align: left;
}

.carousel .carousel-control.right {
    margin-right: 30px;
    text-align: right;
}

.carousel .carousel-control.left:hover,
.carousel .carousel-control.left:active,
.carousel .carousel-control.right:hover,
.carousel .carousel-control.right:active {
	color: #444444;
}

@media (max-width: 767px) {

    .carousel {
        height: 30vw;
    }

    .carousel .carousel-inner .item .carousel-caption {
            display: none;
    }
    
    .carousel .carousel-control.left {
        margin-left: 0;    
        padding-left: 15px;
    }

    .carousel .carousel-control.right {
        margin-right: 0;    
        padding-right: 15px;
    }

    .carousel .carousel-indicators {
        display: none;
    }

}

/*-- breadcrumbs --*/

.breadcrumbs ul{
    padding-left: 15px;
    border-top: 1px solid #dfdfdf;
    border-bottom: 1px solid #dfdfdf;
    line-height: 2;
}

.breadcrumbs-item {
    display: inline-block;
    margin: 0;
    font-size: 1.5rem;
}

.breadcrumbs-item:before {
    content: '/';
    padding: 0 .5rem;
}

.breadcrumbs-item:first-child:before {
    content: '';
    padding: 0;
}

.breadcrumbs-item > a {
    padding: 0;
    background-color: transparent;
    color: #444444;
}

.breadcrumbs-item > a:focus,
.breadcrumbs-item > a:hover,
.breadcrumbs-item > a:active {
    color:  rgba(64, 128, 0, 1);
}

/*-- content cols --*/

#main-content {
    margin-top: 2.5rem;
}

@media (max-width: 1999px) {
    #main-content {
        margin-top: 1.5rem;
    }
}

#main-content > div[class*="col-"] > div:first-child > *:first-child {
    margin-top: 0;
}

/*-- subnavigation --*/

.subnavigation ul {
    margin: 0 0 3rem -15px;
    padding: 0;
    list-style: none;
}

.subnavigation li {
    margin: .5rem 0;
    font-size: 1.5rem;
    line-height: 2.25;
    background-color: #dfdfdf;
    text-transform: uppercase;
    font-weight: 300;
}

.subnavigation li.current-menu-item,
.subnavigation li:focus,
.subnavigation li:hover,
.subnavigation li:active {	
    background-color:  rgba(64, 128, 0, 1);
}

.subnavigation li.current-menu-item,
.subnavigation li> a {
    display: block;
    padding-left: 1.5rem;
    text-decoration: none;
    color: #444444;
}

.subnavigation li.current-menu-item,
.subnavigation li:focus > a,
.subnavigation li:hover > a,
.subnavigation li:active > a {
    color: #ffffff;
}

/*--- tx_news ---*/

.news .news-list-view {
    padding-top: 1rem;
}

.news .news-archive-link {
    margin-top: 3rem;
}

.news .news-archive-link i {
    margin-right: .5rem;
}

/*-- pagination --*/

.news .news-list-view .page-navigation .paginator .previous {
    margin-right: 1rem;
}

.news .news-list-view .page-navigation .paginator .next,
.news .news-list-view .page-navigation .paginator .last {
    margin-left: 1rem;
}

/*-- news-list items -*/

.news .news-list-item {
    position: relative;
    min-height: 140px;
    margin-top: 3rem;
    margin-bottom: 3rem;
    margin-left: 0;
    padding: 0;
    box-shadow: 0 1px 3px rgba(0,0,0,0.1), 0 1px 2px rgba(0,0,0,0.2);
    //box-shadow: 0 1px 3px rgba(0,0,0,0.12), 0 1px 2px rgba(0,0,0,0.24);
}

.news .news-list-item:first-child {
    margin-top: 0;
}

@media (max-width: 767px) {
    .news .news-list-item {
        min-height: 180px;
        padding-top: 2rem;
    }
}

.news .news-list-item .extra-box {
    min-width: 140px;
    background-position: center;
    background-size: cover;
}

.news .news-list-item .news-date {
    position: absolute;
    top: .75rem;
    left: -0.5rem;
    padding: .25rem 1.5rem;
    color: white;
    background-color: rgba(220, 42, 27, 1);
}

.news .news-list-item .news-date-xs {
    display: none;
    position: absolute;
    top: -1rem;
    left: -0.5rem;
    padding: .25rem 1.5rem;
    color: white;
    background-color: rgba(220, 42, 27, 1);
}

@media (max-width: 767px) {
    .news .news-list-item .news-date-xs {
        display: inline-block;
    }
}

.news .news-list-item h3 {
    margin: 1rem 0 2rem 0;
}

.news .news-list-item .teaser-text {
    padding-right: 1rem;
    padding-bottom: 2rem;
    line-height: 1.5;
}

.news .news-list-item .more-link {
    position: absolute;
    bottom: 1rem;
    right: 1rem;
}

.news .news-list-item .more-link i {
    margin-right: .5rem;
}

/*-- news-list-council --*/

.news .news-list-item.news-list-council {
    padding-top: 2.5rem;
}

.news .news-list-item.news-list-council .news-date {
    position: absolute;
    top: -.5rem;
    left: -.5rem;
}

/*-- news-details --*/

.news.news-single {
    margin-left: -15px;
    margin-right: -15px;
}

.news.news-single .article {
    margin-top: 1.5em;
}

.news.news-single .news-text-wrap {
    line-height: 1.5;
}

.news.news-single .news-img-wrap {
    float: none;
    width: auto;
    margin: 0 -15px 0 15px;
}

.news.news-single .news-img-wrap figure {
    margin-bottom: 2rem;
}

.news.news-single .news-img-wrap figure:last-child {
    margin-bottom: 0;
}

.news.news-single .news-img-wrap a {
    position: relative;
    float: none;
    padding: 0;
    background: none;
    border: none;
}

.news.news-single .news-img-wrap figcaption {
    padding: 1rem 0 0;
}

.news.news-single .news-img-wrap figcaption .news-img-caption {
    color: #666666;
}

.news.news-single .news-date {
    font-size: 1.5rem;
    color: #666666;
}

.news.news-single .headline {
    margin-bottom: 1rem;
}

.news.news-single .news-related-wrap {
    margin: 2.5rem 0;
    padding-left: 2rem;
    border-left: 2px solid #dfdfdf;
}

.news.news-single .news-related {
    display: block;
    width: auto;
    margin: 2rem 0;
    padding: 0;
    border: none;
}

.news.news-single .news-related:first-child {
    margin-top: 0;
}

.news.news-single .news-related:last-child {
    margin-bottom: 0;
}

.news.news-single .news-related h4 {
    margin-top: 0;
    font-weight: bold;
}

.news.news-single .news-related ul {
    margin-bottom: 0;
    padding-left: 0;
    list-style-type: none;
}

.news.news-single .news-related ul li:last-child {
    margin-bottom: 0;
}

.news.news-single .news-related ul li span {
    margin-bottom: .5rem;
    color: #666666;
    border: none;
}

.news.news-single .news-related-files li > span > a,
.news.news-single .news-related-links li > a {
    margin-right: 1rem;
    padding-right: 1rem;
    word-break: break-all;
}

.news.news-single .news-related-news .news-related-news-date {
    margin-right: 1rem;
    padding-right: 1rem;
}

.news.news-single .news-backlink {
	margin: 2.5rem 0;
}

@media (max-width: 991px) {
    .news.news-single .news-img-wrap {
	margin-left: 0;
	margin-right: 0;
    }
}

/*-- news-date-menu --*/

.news-menu-view {
	padding-top: 1rem;
}

.news-menu-view .panel-group {
    margin-bottom: 0;
}

.news-menu-view .panel {
    margin: 1rem 0 !important;
    border: none;
    border-radius: 0;
    background: none;
    box-shadow: none;
}

.news-menu-view .panel:first-child {
    margin-top: 0 !important;
}

.news-menu-view .panel:last-child {
    margin-bottom: 0 !important;
}

.news-menu-view .panel-heading {
    padding: .5rem;
    border: none;
    border-radius: 0;
    background: none;
}

.news-menu-view .panel-title {
    font-size: 1.4rem;
    color: rgba(220, 42, 27, 1);
}

.news-menu-view .panel-title a:focus {
    text-decoration: none;
}

.news-menu-view .panel-body {
    padding: 0 3rem;
}

.news-menu-view ul {
	margin: 1rem 0;
	padding: 0;
	list-style-type: none;
}

.news-menu-view ul > li {
	margin: 1rem 0;
}

/*-- event-list --*/

.news .event-date-picker {
	margin: 1rem -15px 4rem;
}

.news .event-date-picker h4 {
	margin: 0;
}

.news .event-date-picker .prev i {
	margin-right: .5rem;
}

.news .event-date-picker .next i {
	margin-left: .5rem;
}

/*-- event-list items --*/

.news .event-list-item {
	margin: 2rem 0;
	padding: 0;
}

.news .event-list-item:first-child {
	margin-top: 0;
}

.news .event-list-item .news-date {
	padding-left: 0;
	color: #999999;
	line-height: 1;
	text-align: left;
	//text-align: center;
	//vertical-align: top;
}

.news .event-list-item .news-date .news-date-start,
.news .event-list-item .news-date .news-date-end {
	display: inline-block;
	float: right;
	text-align: center;
}

.news .event-list-item .news-date .day {
	display: block;
	font-size: 2.25rem;
}

.news .event-list-item .news-date .month {
	font-size: 1.25rem;
	text-transform: uppercase;
}

.news .event-list-item .news-date .event-spacer {
	display: inline-block;
	float: right;
	line-height: 1.42857143;
	margin: 0 .5rem;
	//padding-bottom: 3rem;
	//vertical-align: middle;
}

.news .event-list-item h3 {
	margin: 0 0 .25rem 0;
	font-size: 1.5rem;
	font-weight: 600;
}

.news .event-list-item p {
	margin: .25rem 0 0 0;
}

.news .event-list-item .teaser-text {
	margin: .5rem 0;
	font-style: italic;
}

.news .event-list-item .more-link {
	margin-top: .25rem;
}

.news .event-list-item .more-link i {
	margin-right: .5rem;
}

/*-- event-list items 'home' --*/
.news .event-list-item.event-list-home .news-date {
	text-align: center;
}

.news .event-list-item.event-list-home .news-date .news-date-start,
.news .event-list-item.event-list-home .news-date .news-date-end {
	float: none;
}

.news .event-list-item.event-list-home .news-date .event-spacer {
	float: none;
	width: 100%;
	margin: .25rem 0;
	vertical-align: middle;
}

/*-- event-details --*/

.news.news-single .event-organizer h4,
.news.news-single .event-location h4 {
	margin-top: 0;
}

.news.news-single .event-organizer p,
.news.news-single .event-location p {
	padding-left: 1rem;
}

.news.news-single .event-organizer,
.news.news-single .event-location {
	margin-bottom: 2rem;
}

/*--- tt_address ---*/

/*-- address-links-list  --*/
.address-links-list {
	list-style-type: none;
	padding-left: 1.5rem;
	margin: 1rem 0 3rem;
}

.address-links-list > li {
	line-height: 1.75;
}

/*-- address list items--*/

.address-list .address {
	margin-bottom: 3rem;
}

.address-list .address:last-child {
	margin-bottom: 0;
}

.address-list .address h3 {
	display: block;
	padding-bottom: .5rem;
	border-bottom: 1px solid #dfdfdf;
}

.address-list .address .details-link a > i {
	margin-right: .5rem;
}

/*-- address details --*/

.address-details .back-link {
	margin-top: 2rem;
}

.address-details .back-link a > i {
	margin-right: .5rem;
}

.address-details .company-description {
	margin-top: 3rem;
        line-height: 1.5 !important;
}

.address-details .company-image {
	margin-top: 2rem;
}

.address-details .company-description ul {
	list-style-position: inside;
	list-style-type: square;
	padding-left: .5rem;
}

.address-details .company-description ul li {
	line-height: 1.75;
}

.address-details .ce-gallery {
	min-width: 0;
	max-width: 100%;
}

.address-details .ce-gallery .ce-column {
	float: right;
	clear: right;
    max-width: 100%;
    margin: 0 0 10px 0;
}

.address-details .ce-gallery .ce-column figure {
    display: block;
}


@media (max-width: 767px) {

	.address-details .company-image {
		margin-top: .5rem;
	}

	.address-details .ce-gallery .ce-column {
		float: left;
		clear: left;
	}
}

/*-- shared styles list-/detail-view --*/

.address-list .address .company-header,
.address-details .company-header {
	margin-bottom: .5rem;
}

.address-list .address .company-info,
.address-details .company-info {
	padding-left: 3rem;
}

.address-list .address .contact-header,
.address-details .contact-header {
	margin-bottom: .5rem;
}

.address-list .address .contact-header,
.address-details .contact-header {
	margin: 1rem 0;
}

.address-list .address .company-contact,
.address-details .company-contact {
	margin-bottom: 1rem;
}

.address-list .address .company-contact > span,
.address-details .company-contact > span {
	display: block;
}

.address-list .address .company-contact .contact-mail,
.address-details .company-contact .contact-mail {
	margin-top: .5rem;
}

.address-list .address .details-link a > i,
.address-details .back-link a > i {
	margin-right: .5rem;
}

.address-list .address .company-image > img,
.address-details .company-image > img {
	max-width: 100%;
	height: auto;
}

/*--- footer ---*/

footer {
    background-color: #333333;
    margin-left: -30px !important;
    margin-right: -30px !important;
    margin-top: 5rem;
    padding: 4rem 30px;
    border: none;
    color: white;
}

footer a:after {
    color: white;
}

/*--- content elements ---*/

/*- textpic -*/
.ce-textpic {
    width: 100%;
}

.ce-textpic p {
    line-height: 1.5;
}

.ce-textpic.ce-intext {
    overflow: visible;
}

.ce-textpic.ce-nowrap {
    overflow: hidden;
    clear: right;
}

.ce-textpic ul {
    list-style-position: inside;
    list-style-type: square;
    padding-left: .5rem;
}

.ce-textpic ul li {
    line-height: 1.75;
}

.ce-textpic .ce-gallery {
    max-width: 33%;
    min-width: 250px;
    margin-bottom: 1rem;
}

.ce-textpic.ce-left .ce-gallery {
    margin-right: 2.5rem;
    margin-left: 0;
    clear: left;
}

.ce-textpic.ce-left .ce-gallery .ce-column:last-child {
    float: left;
}

.ce-textpic.ce-right .ce-gallery .ce-column:first-child {
    //float: right;
    //margin-left: 0;
}

.ce-textpic.ce-right .ce-gallery {
    margin-left: 2.5rem;
    margin-right: 0;
    clear: right;
    float: right;
}

.ce-textpic.ce-above .ce-gallery {
    margin-left: 0;
    margin-right: 0;
}

.ce-textpic.ce-center .ce-gallery {
    margin: 0 auto 1rem;
}

.ce-textpic .ce-gallery .ce-column {
    margin: 0 0 1rem 0;
}

.ce-textpic .ce-gallery figcaption {
    display: block;
    margin: .5rem 0 1rem .5rem;
    font-size: 1.25rem;
    color: #666666;
}

.ce-textpic .ce-gallery .image-embed-item {
    max-width: 100%;
    height: auto;
}

.ce-textpic.ce-nowrap .ce-gallery {
    margin-top: 6.5rem;
}

.ce-textpic .ce-gallery[data-ce-columns="2"],
.ce-textpic .ce-gallery[data-ce-columns="3"],
.ce-textpic .ce-gallery[data-ce-columns="4"],
.ce-textpic .ce-gallery[data-ce-columns="5"],
.ce-textpic .ce-gallery[data-ce-columns="6"],
.ce-textpic .ce-gallery[data-ce-columns="7"],
.ce-textpic .ce-gallery[data-ce-columns="8"] {
    float: none;
    //clear: none;
    max-width: 100%;
    margin: 0 0 1rem 0;
}

.ce-textpic .ce-gallery .ce-column {
    max-width: 100%;
    padding-right: 1rem;
}

.ce-textpic .ce-gallery .ce-column:last-child {
    //padding: 0;
}

.ce-textpic .ce-gallery[data-ce-columns="2"] .ce-column {
    max-width: 50%;
}

.ce-textpic .ce-gallery[data-ce-columns="3"] .ce-column {
    max-width: 33%;
}

.ce-textpic .ce-gallery[data-ce-columns="4"] .ce-column {
    max-width: 25%;
}

.ce-textpic .ce-gallery[data-ce-columns="5"] .ce-column {
    max-width: 20%;
}

.ce-textpic .ce-gallery figure.image {
    display: block;
}

.ce-textpic .ce-bodytext p.align-justify {
    text-align: justify;
}

@media (max-width: 767px) {

    .ce-textpic .ce-gallery,
    .ce-textpic .ce-gallery .ce-column {
        width: 100% !important;
        max-width: 100%;
        margin-left: 0 !important;
        //margin-right: 0 !important;
        padding: 0 !important;
    }

    .ce-textpic.ce-intext .ce-bodytext {
        width: 100%;
    }

}

/*- table / textpic-table -*/

.address-details .company-description table,
.contenttable,
.ce-table {
    width: auto;
	min-width: 50%;
	max-width: 100%;
	margin-bottom: 3rem;
	margin-left: -0.5rem;
	border-collapse: separate;
	border-spacing: .25rem .35rem;
	table-layout: fixed;
}

@media (max-width: 767px) {
	.address-details .company-description table,
        .contenttable,
	.ce-table {
		min-width: 100%;
	}
}

.address-details .company-description table th,
.contenttable th,
.ce-table th {
	padding: .5rem;
}

.address-details .company-description table td,
.contenttable td,
.ce-table td {
	padding: .5rem;
	vertical-align: top;
	background-color: #dfdfdf;
    	border: none;
}

.address-details .company-description table tr:nth-child(even) td,
.contenttable tr:nth-child(even) td,
.ce-table tr:nth-child(even) td {
	background-color: #ebebeb;
}

.address-details .company-description table tfoot td,
.contenttable tfoot td,
.ce-table tfoot td {
	background-color: transparent;
}

.address-details .company-description table caption,
.contenttable caption,
.ce-table caption {
	caption-side: bottom;
	margin-left: .5rem;
	font-size: 1.25rem;
	color: #666666;
}

/*- menu / sitemap -*/

.frame-type-menu_section > ul {
    list-style: none;
    padding: 0;
}

.frame-type-menu_section > ul ul {
    list-style-type: none;
    padding-left: 1.5rem;
    margin: 1rem 16.6666% 3rem 0;
    columns: 2;
    -moz-columns: 2;
    -webkit-columns: 2;
}

.frame-type-menu_section > ul ul > li {
    margin: .5rem 0;
}

@media (max-width: 767px) {
    .frame-type-menu_section > ul ul > li {
        width: 100%;
    }
}

@media (max-width: 479px) {
    .frame-type-menu_section > ul ul  {
        columns: 1;
        -moz-columns: 1;
        -webkit-columns: 1;
    }
}

/*- linklist -*/

.ce-uploads {
	margin: 2rem 0 2rem .5rem;
}

.ce-uploads li {
	line-height: 1.25;
}

.ce-uploads .ce-uploads-filesize,
.ce-uploads .ce-uploads-description {
	display: inline-block;
	margin-left: 16px;
}

/*- contact-form -*/

#kontaktformular-298 .form-group,
#kontaktformular-298 p {
    width: 50rem;
}

#kontaktformular-298 textarea {
    height: 15rem;
}

#kontaktformular-298 button {
    margin-top: 2rem;
    padding: 10px 15px;
    border: 1px solid rgba(64, 128, 0, 1);
    background-color: rgba(64, 128, 0, 1);
}

#kontaktformular-298 button:hover,
#kontaktformular-298 button:active,
#kontaktformular-298 button:focus {
    margin-top: 2rem;
    padding: 10px 15px;
    color: rgba(64, 128, 0, 1);
    background-color: transparent;
}

@media (max-width: 767px) {

    #kontaktformular-298 .form-group,
    #kontaktformular-298 p {
        width: 100%;
    }
}

/*-- search results --*/
.tx-indexedsearch-browsebox {
	padding: 0;
}

.tx-indexedsearch-browsebox > li {
	display: inline-block;
	list-style-type: none;
	margin-right: 1rem;
}

/*-- login / logout --*/
.tx-felogin-pi1 fieldset label {
    width: 125px;
}

.tx-felogin-pi1 legend {
    display: none;
}

.tx-felogin-pi1 form {
    margin: 1rem 0;
}

.tx-felogin-pi1 form div {
    margin-top: 1rem;
}

/*-- mask elements --*/

/*- mt-gallery -*/

.mt-gallery .picture figure figcaption {
	margin: .5rem 0 1rem .5rem;
	font-size: 1.25rem;
	color: #666666;
}

.mt-gallery .thumbnails {
	margin-top: 1.5rem;
}

.mt-gallery .thumbnail {
	padding: .5rem;
	margin-bottom: 1.5rem;
	border: 1px solid white;
	border-radius: 0;
	-webkit-filter: grayscale(100%);
	filter: grayscale(100%);
	transform: translateZ(0)
}

.mt-gallery .thumbnail:hover {
	-webkit-filter: none;
	filter: none;
}

.mt-gallery .thumbnail.active {
	-webkit-filter: none;
	filter: none;
	border: 1px solid #e3e3e3;
}

/*-- helpers --*/

/* make .col-* inside row equal height */
 .is-table-row {
	display: table;
}

.is-table-row div[class*="col-"] {
	float: none;
	display: table-cell;
	vertical-align: top;
}

/* crop images inside .cropped-image container */
.cropped-image {
	position: relative;
	display: block;
	max-width: 100%;
	height: auto;
	overflow: hidden;
}

.cropped-image img {
	position: absolute;
	left: 50%;
	top: 50%;
	height: auto;
	width: 100%;
	-webkit-transform: translate(-50%,-50%);
	    -ms-transform: translate(-50%,-50%);
	  	    transform: translate(-50%,-50%);
}

.cropped-image img.portrait {
	width: auto;
	height: 100%;
}

/* google maps */
#google-map {
	width: 100%;
	height: 450px;
	margin-bottom: 3rem;
}

@media (max-width: 1199px) {
	#google-map {
		height: 350px;
	}
}

/* file-download icons by mime-types in attribute type */
a:after {
	font-family: FontAwesome;
	display: inline-block;
	margin-left: 3px;
	color: #666666;
}

a:hover:after {
	color: rgba(220, 42, 27, 1);
}

a[href^="http"]:after {
	content: "\f08e";
	font-size: 80%;
}

a[href^="mailto"]:after {
	content: "\f003";
	font-size: 90%;
}

a[type]:after {
	content: "\f016";
}

a[type^="image"]:after {
	content: "\f1c5";
}

a[type^="video"]:after {
	content: "\f1c8";
}

a[type^="text"]:after {
	content: "\f1f6";
}

a[type^="audio"]:after {
	content: "\f1c7";
}

a[type^="application"][type*="word"]:after {
	content: "\f1c2";
}

a[type^="application"][type$="excel"]:after {
	content: "\f1c3";
}

a[type="application/pdf"]:after,
a[href$=".pdf"]:after
 {
	content: "\f1c1";
}

a[type^="application"][type*="compress"]:after,
a[type^="application"][type*="zip"]:after {
	content: "\f1c6";
}

/* back-to-top Button */
.back-to-top {
	background:rgba(64, 128, 0, 1);
	opacity: 0.8;
	border-radius: 5px;
	position: fixed;
	bottom: 25px;
	right: 35px;
	padding: 1em;
}

@media (max-width: 767px) {
	.back-to-top {
		right: 30px;
	}
}

a.back-to-top{
	color:#efefef;
}

/* Lightbox custom*/
a.lightbox {
	z-index: 0;
}

#lightboxOverlay {
	opacity: .85;
}

#lightbox .lb-outerContainer {
	border-radius: 0;
}

#lightbox .lb-image {
	border-radius: 0;
	border: 2px solid #fff;
}

#lightbox .lb-data .lb-caption {
	font-size: 1.5rem;
	font-weight: 400;
	line-height: 2.5rem;
	color: #fff;
}

#lightbox .lb-data .lb-number {
	display: none !important;
}

#lightbox .lb-nav a.lb-prev,
#lightbox .lb-nav a.lb-next {
	width: 10%;
	background-position-y: 50%;
	opacity: .7;
	transition: opacity .4s
}

#lightbox .lb-nav a.lb-prev:hover,
#lightbox .lb-nav a.lb-next:hover {
	opacity: 1;
}





