/* Basic links & types
 * * * * * * * * * * * */

/* Box sizing

html {
  box-sizing: border-box;
}
*, *:before, *:after {
  box-sizing: inherit;
}
*/

/* better font rendering */
html {
    text-rendering: optimizeLegibility;
    -moz-osx-font-smoothing: grayscale;
    -webkit-font-smoothing: antialiased;
    overflow-y: scroll;
}

body {
    background: #fff;
    color: #818181;
    font-family: proxima-nova, sans-serif;
    font-style: normal;
    font-weight: 300;
}

a {
    color: inherit;
    text-decoration: none;
}

a:hover {
    color: #10b0c0;
    text-decoration: underline;
}

h1 {
    font-size: 2em;
}

h2 {
    font-size: 1.7em;

}

h3 {
    font-size: 1.5em;

}

h4 {
    font-size: 1em;

}

h5 {
    font-size: 0.83em;

}

h6 {
    font-size: 0.75em;

}

h1, h2, h3, h4, h5, h6 {
    margin: 0 0 0.5em;
    color: #232323;
    font-style: normal;
}

h1.main-logo {
    font-size: 2em;
    font-weight: 300;
}

h1.main-logo a {
    text-decoration: none;
}

h1.main-logo a:hover {
    text-decoration: none;
    color: initial;
}

hr {
    color: #10b0c0;
    background-color: #10b0c0;
    height: 1px;
    border-width: 0px;
}

img {
    max-width: 100%;
    max-height: 100%;
    width: auto;
    height: auto;
}

figure {
    margin: 0;
    padding: 0;
}

p {
    margin: 0 0 0.5em;
}

/* Common classes
 * * * * * * * * */
.text-center {
    text-align: center;
}

.text-right {
    text-align: right;
}

.text-left {
    text-align: left;
}

.text-justify {
    text-align: justify;
}

.hidden {
    display: none;
}

.hide-text {
    text-indent: 100%;
    white-space: nowrap;
    overflow: hidden;
}

.weight-tiny,
.weight-thin {
    font-weight: 100;
}

.weight-light {
    font-weight: 300;
}

.weight-normal {
    font-weight: 400;
}

.weight-medium {
    font-weight: 500;
}

.weight-bold {
    font-weight: 700;
}

.text-upper {
    text-transform: uppercase;
}

.text-underline {
    text-decoration: underline;
}

.text-container {
    line-height: 1.6;
}

.text-ellipsis {
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.list-nostyle {
    list-style: none;
    margin: 0;
    padding: 0;
}

.center-element {
    text-align: center;
    height: 100%;
}

.center-element:before {
    content: '';
    display: inline-block;
    height: 100%;
    vertical-align: middle;
}

.center-element > .centered {
    display: inline-block;
    vertical-align: middle;
    width: 99%;
}

.block-absolute {
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
}

.float-right {
    float: right;
}

.float-left {
    float: left;
}

/* Layout
 * * * * * */

#main {
    display: flex;
    flex-direction: column;
    max-width: 1144px;
    min-height: calc(100vh - 130px);
    margin: 0 auto;
    margin-top: 130px;
}

#hat {
}

#topmenu {
}

#mainmenu {
    float: right;
}

#mainmenu {
    margin-right: 25px;
}

#topmodule {
}

#basecontent {
    margin-top: 14px;
}

#pathway {
    overflow: hidden;
}

#content {
}

#leftblock {
}

#leftblock h3 {
}

#leftblock ul {
    padding-left: 10px;
    list-style: none;
}

#bottom-blocks {
}

#footer {
    margin-top: auto;
    padding-top: 50px;
}

/* Styling
 * * * * */
#logo {
    float: left;
}

.offset-bottom {
    margin-bottom: 1rem;
}

.offset-bottom2 {
    margin-bottom: 2.8rem;
}

/*
#main{
	overflow:hidden;
	width:100%;
}
#leftbox, #content{
	padding-bottom:10000px;
	margin-bottom:-10000px;
	background:#d7d6d6;
}
*/
/* menu */
ul.menu,
ul.menu ul {
    position: relative;
    margin: 0;
    padding: 0;
    list-style: none;
}

ul.menu a {
    display: block;
    position: relative;
    padding: 6px 12px;
    text-decoration: none;
    transition: all 0.6s ease;
}

#mainmenu ul.menu > li {
    position: relative;
    float: left;
    /*border-left: 1px solid #e2e2e2;*/
    text-transform: uppercase;
    font-size: 20px;
}

#mainmenu ul.menu > li > a {
}

ul.menu a {
    color: #000;
}

ul.menu a:hover {
    background: #e2e2e2;
}

ul.menu li.active > a {

    font-weight: bolder;
    /*background: #00b616;*/
}

/*sub menu items */
#mainmenu .resp ul.menu div.sub-wrap {
    position: absolute;
    overflow: hidden;
    margin: 0 0 0 0;
    background: #fff;

    box-shadow: 0 5px 8px -4px #000;
    z-index: 3;
}

#mainmenu .resp ul.menu ul {
    position: relative;
    padding: 0px 0 0 0;
    margin: 0 0 0 0;
    max-height: 0;
    z-index: 10;
    white-space: nowrap;
    -webkit-transition: max-height 0.1s;
    transition: max-height 0.1s;
}

#mainmenu .resp ul.menu {
    /*min-width: 330px;*/
    float: none;
}

#mainmenu .resp ul.menu ul li {
    padding: 0;
    border-top: 1px solid #e2e2e2;
}

#mainmenu .resp ul.menu > li li a {
    font-size: 90%;
    padding: 6px;
}

#mainmenu .resp ul.menu ul li a:hover {
}

#mainmenu .resp ul.menu li:hover > div > ul {
    -webkit-transition-duration: 0.8s;
    transition-duration: 0.8s;
    max-height: 400px;
}

/* resp menu */
#mainmenu .resp input {
    display: none;
    position: relative;
}

#mainmenu .resp label span {
    display: block;
    width: 34px;
    line-height: 5px;
    border-bottom: 2px solid #000; /*#e5e5e5;*/
    cursor: default;
}

#mainmenu .resp a:hover + label span,
#mainmenu .resp .active > label span {
    border-bottom: 4px solid #fff;
}

#mainmenu .resp label {
    display: block;
    float: right;
    height: 51px;
    position: relative;
    padding: 4px 0 0 22px;
}

/* menu */
#mainmenu,
#mainmenu .module-box {
    border: none;
    float: none;
}

#mainmenu .resp label span {
    cursor: pointer;
}

#mainmenu .resp > label:before {
    display: block;
    position: absolute;
    content: '';
    right: 123%;
    font-size: 1.3em;
    text-transform: uppercase;
}

#mainmenu ul.menu {
    max-height: 0;
    overflow: hidden;
    clear: both;
    -webkit-transition: max-height 0.1s;
    transition: max-height 0.1s;
}

#mainmenu ul.menu > li {
    float: none;
    border-left: none;
    border-top: 1px solid #e2e2e2;
    text-align: center;
    width: 100%;
}

#mainmenu ul.menu > li > a {
    padding: 16px 0;
}

#mainmenu .resp input:checked + ul.menu {
    -webkit-transition-duration: 0.6s;
    transition-duration: 0.6s;
    max-height: 1000px;
}

/*sub menu*/
#mainmenu .resp ul.menu label {
    display: block;
    position: absolute;
    top: 12px;
    right: 10px;
}

#mainmenu .resp ul.menu div.sub-wrap {
    position: relative;
    box-shadow: 0 0 8px -3px #000 inset;
    background: #E5E5E5;
}

#mainmenu .resp ul.menu ul li {
    border-top: 1px solid #fff;
}

#mainmenu .resp ul.menu li:hover > div > ul {
    max-height: 0;
}

#mainmenu .resp ul.menu input:checked + div > ul {
    -webkit-transition-duration: 0.6s;
    transition-duration: 0.6s;
    max-height: 400px;
}

@media only screen and (max-width: 780px) {

    h1.main-logo {
        font-size: 1.4em;
        font-weight: 300;
    }

}


@media only screen and (max-width: 475px) {
    span.pipe {
        display: none;
    }
}

/* */

/* maps */
.map-canvas,
.gmap {
    height: 595px;
    max-width: 1144px;
}

.gmap > .gmap-marker {
    display: none;
}

.map-canvas img,
.gmap img {
    max-width: none;
    max-height: none;
}

.video-box {
    position: relative;
    min-height: 360px;
    margin-bottom: 1em;
}

.video-box > iframe {
    position: absolute;
    width: 100%;
    height: 100%;
}

/*  forms  */
::-webkit-input-placeholder {
    color: #ccc;
    opacity: 1;
}

::-moz-placeholder {
    color: #ccc;
    opacity: 1;
}

:-ms-input-placeholder {
    color: #ccc;
    opacity: 1;
}

input:-moz-placeholder {
    color: #ccc;
    opacity: 1;
}

input[type="text"],
input[type="email"],
textarea {
    padding: 12px 22px;
    border: 1px solid #10b0c0;
    margin: 0 0 8px 0;
    width: 100%;
    box-sizing: border-box;
}

input[type="text"]:focus,
input[type="email"]:focus,
textarea:focus {
    border-color: #0077bb;
    outline: none;
}

p.readmore a,
.button, .btn,
input[type="submit"] {
    display: inline-block;
    font-size: 16px;
    color: #fff;
    background: #007fea;
    border: 2px solid #007fea;
    padding: 8px 23px;
    margin: 8px 0;
    cursor: pointer;

    transition: background-color 0.3s;
}

p.readmore a:hover,
.button:hover, .btn:hover,
input[type="submit"]:hover {
    background-color: #fff;
    color: #007fea;
}

/* front end subform field */
.subform-repeatable table {
    width: 100%;
}

.subform-repeatable th {
    padding-bottom: 1em;
}

.subform-repeatable td {
    vertical-align: top;
}

.subform-repeatable .btn-group > .button {
    box-sizing: border-box;
    font-size: 1em;
    padding: 0.3em;
    width: 30%;
    margin: 0;
    text-align: center;
}

.subform-repeatable .group-add:after {
    content: '+';
}

.subform-repeatable .group-remove:after {
    content: '-';
}

.subform-repeatable .group-move:after {
    content: 'm';
}

/* zwetschke */
#zwetschke-herz {
    font-size: 0.8em;
}

#zwetschke-herz img {
    vertical-align: middle;
    padding: 0 5px 0 5px;
}

/* Newsletter stuff */
#acyarchiveview .contentheading {
    display: none;
}

#acyarchiveview .view-online {
    display: none;
}

#unsubpage {
    padding: 2rem 0;
    line-height: 1.6;
}

#unsubpage .unsuboptions,
#unsubpage form > .unsubdiv {
    padding: 10px;
}

/* Alerts / messages*/
.alert {
    padding: 8px 35px 8px 14px;
    margin-bottom: 18px;
    text-shadow: 0 1px 0 rgba(255, 255, 255, 0.5);
    background-color: #fcf8e3;
    border: 1px solid #fbeed5;
    /*border-radius: 4px;*/
}

.alert {
    color: #c09853;
}

.alert h4,
.alert .close {
    display: none;
}

.alert-success {
    background-color: #dff0d8;
    border-color: #d6e9c6;
    color: #468847;
}

.alert-success h4 {
    color: #468847;
}

.alert-danger,
.alert-error {
    background-color: #f2dede;
    border-color: #eed3d7;
    color: #b94a48;
}

.alert-danger h4,
.alert-error h4 {
    color: #b94a48;
}

.alert-info {
    background-color: #d9edf7;
    border-color: #bce8f1;
    color: #3a87ad;
}

.alert-info h4 {
    color: #3a87ad;
}

.alert-block {
    padding-top: 14px;
    padding-bottom: 14px;
}

.alert-block > p,
.alert-block > ul {
    margin-bottom: 0;
}

.alert-block p + p {
    margin-top: 5px;
}

/* Breadcrumbs */
.breadcrumb {
    padding: 8px 15px;
    margin: 0 0 18px;
    list-style: none;
}

.breadcrumb > li {
    display: inline-block;
}

.breadcrumb > li > .divider {
    padding: 0 5px;
    color: #ccc;
}

.breadcrumb > .active {
    color: #999;
}

/* Pagination */
.pagination,
.pagination-ajaxmore {
    clear: both;
}

.pagination ul {
    display: inline-block;
    margin: 18px 0;
    padding: 0;
    box-shadow: 0 0 2px rgba(0, 0, 0, 0.3);
}

.pagination ul > li {
    display: inline-block;
}

.pagination ul > li > a,
.pagination ul > li > span {
    float: left;
    padding: 4px 12px;
    line-height: 18px;
    text-decoration: none;
    background-color: #fff;
    /*border: 1px solid #ddd;
    border-left-width: 0;*/
}

.pagination ul > li > a:hover,
.pagination ul > li > a:focus,
.pagination ul > .active > a,
.pagination ul > .active > span {
    background-color: #f5f5f5;
}

.pagination ul > .active > a,
.pagination ul > .active > span {
    color: #999;
    cursor: default;
}

.pagination ul > .disabled > span,
.pagination ul > .disabled > a,
.pagination ul > .disabled > a:hover,
.pagination ul > .disabled > a:focus {
    color: #999;
    background-color: transparent;
    cursor: default;
}

.pagination .icon-first:before {
    content: '<';
}

.pagination .icon-previous:before {
    content: '<<';
}

.pagination .icon-next:before {
    content: '>>';
}

.pagination .icon-last:before {
    content: '>';
}

.pagination-centered {
    text-align: center;
}

.pagination-right {
    text-align: right;
}

.pagination-large ul > li > a,
.pagination-large ul > li > span {
    padding: 11px 19px;
    font-size: 16.25px;
}

.pagination-small ul > li > a,
.pagination-small ul > li > span {
    padding: 2px 10px;
    font-size: 12px;
}

.pagination-mini ul > li > a,
.pagination-mini ul > li > span {
    padding: 0 6px;
    font-size: 9.75px;
}

/* cookies popup */
body .cc_container .cc_btn, body .cc_container .cc_btn:visited {
    background-color: #ccc;
}

/* Clear Floated Elements */
.clear {
    clear: both;
    display: block;
    overflow: hidden;
    visibility: hidden;
    width: 0;
    height: 0;
}

.clearfix:after {
    clear: both;
    content: ' ';
    display: block;
    font-size: 0;
    line-height: 0;
    visibility: hidden;
    width: 0;
    height: 0;
}

.clearfix {
    display: inline-block;
}

* html .clearfix {
    height: 1%;
}

.clearfix {
    display: block;
}

/*
* SITE
  *#####################################################################
 */

/*
 * Bottom menu
 */
#bottommenu {
    float: right;
    margin-top: 50px;
    margin-bottom: 20px;
}

#bottommenu ul.menu a {
    padding-left: 12px;
}

#bottommenu ul.menu > li {
    position: relative;
    float: left;
    text-transform: uppercase;
}

#bottommenu ul.menu > li > a {
    font-size: 12px;
    font-weight: 500;
    color: #9e9d9d;
    letter-spacing: 0.1em;
}

#bottommenu ul.menu li.active > a {
    color: #000;
}

/*
 * Google maps
 */
.gmap a {
    color: #10b0c0;
}

/*
 * Text emphasis
 */
strong {
    font-weight: bold;
    color: #000;
}

/*
 * Contact page
 */
.contact-info {
    font-size: 20px;
    line-height: 1.5em;
    color: #232323;
}

.contact-headline {
    margin-bottom: 30px;
}

.contact-subheadline {
    margin-top: 50px;
    margin-bottom: 47px;
}

.contact-address,
.contact-items.key {
    float: left;
}

.contact-items.key {
    width: 130px;
}

.contact-items.key {
    font-weight: 300;
}

.contact-items.value {
    font-weight: 500;
}

.contact-address {
    margin-right: 100px;
}

/*
 * Team page
 */

.team-header {
    margin-top: 70px;
    margin-bottom: 70px;
}

.team-headline {
    margin-left: 85px;
    /*margin-top: 75px;*/
}

.team-headline h2 {
    font-size: 34px;
    font-weight: 600;
    text-transform: uppercase;
}

.team-inner {
    margin-left: 85px;
    margin-top: 75px;
}

.team-list ul {
    list-style: none;
}

.team-list .photo-box {
    float: left;
    margin-bottom: 70px;
}

.team-inner .info-box {
    position: relative;
    float: left;
    height: 356px;
    margin-left: 70px;
}

.team-inner .info-box .props {
    position: absolute;
    bottom: 0;
    width: 100%;
}

.team-member .key,
.team-member .value {
    margin-top: 10px;
    text-transform: uppercase;
    font-size: 14px;
    color: #232323;
}

.team-member .key {
    float: left;
    margin-right: 10px;
}

.team-member .value.position {
    padding-bottom: 15px;
}

/*
 * Home page
 */

.projekt-list {
    box-sizing: border-box;
    position: relative;
    width: 100%;
    margin-top: 100px;
    text-align: center;
    /*overflow: hidden;*/
}

.projekt-list-item figure,
.projekt-list-item img {
    display: block;
    box-sizing: border-box;
    margin: 0;
    padding: 0;
}

figcaption.projekt-list-info {
    position: absolute;
    width: 100%;
    height: 100%;
    left: 0;
    top: 0;
    opacity: 0;
    background: rgba(0, 0, 0, 0.85);
    transition: all 0.6s ease;
}

figcaption.projekt-list-info:hover {
    opacity: 1;
}

.projekt-list-item a {
    position: relative;
    display: block;
}

.projekt-list-item {
    box-sizing: border-box;
    position: relative;
    float: left;
    /*padding-right: 1.5%;*/
    /*padding-bottom: 1.5%;*/
    padding-right: 2%;
    padding-bottom: 2%;
    width: 20%;
    opacity: 1;
}

.projekt-list-info {
    box-sizing: border-box;
    padding-top: 0px;
    transition: all 0.7s ease;
}

.projekt-list-info:hover {
    padding-top: 15%;
}

.projekt-list-item-number {
    letter-spacing: 0.1em;
    font-size: 65px;
    color: #fff;
}

.projekt-list-item-prop {
    display: block;
    font-size: 16px;
    color: #fff;
    max-width: 100%;
    overflow: hidden;
    text-overflow: ellipsis;
}

.projekt-list-item-name {
    margin-top: 10px;
}

.projekt-list-item-street {
    margin-top: 5px;
}

.projekt-list-item-city {
    margin-top: 5px;
}

p.readmore a, .button, .btn, input[type="submit"] {
    display: inline-block;
    font-size: 16px;
    color: #9e9d9d;
    background: #fff;
    border: 1px solid #e5e5e5;
    padding: 8px 23px;
    margin: 8px 0;
    cursor: pointer;
    font-weight: 400;
    text-transform: uppercase;
    transition: background-color 0.3s;
}

p.readmore a:hover, .button:hover, .btn:hover, input[type="submit"]:hover {
    background-color: #e2e2e2;
    color: #9e9d9d;
    text-decoration: none;
}

/*
 * Projekt detail page
 */

.projekt-content-image img {
    max-width: 100%;
    max-height: none;
    width: 1120px;

}

.projekt-detail-header-image {
    margin-top: 90px;
    font-size: 34px;
    text-align: center;
}

.projekt-detail-headline {
    /*font-size: 34px;*/
    font-size: 30px;
    font-weight: 500;
    text-transform: uppercase;
}

.projekt-detail-inner {
    margin-top: 70px;
}

.projekt-detail-inner .text {
    text-align: justify;
}

.projekt-detail-content-top,
.projekt-detail-content-bottom {
    color: #232323;
    font-size: 18px;
    line-height: 2em;
    font-weight: 400;
    margin-top: 40px;
}

.projekt-detail-content-bottom-container {
    margin-top: 106px;
}

.projekt-detail-content-bottom-text-container {
    display: table-cell;
}

.projekt-detail-bottom-image {
    float: left;
    margin-right: 80px;
}

.projekt-detail-button-back {
    display: inline-block;
    margin-top: 30px;
    margin-left: 70px;
}

.projekt-detail-bottom-headline {
    font-size: 30px;
    /*font-weight: 500;*/
    color: #232323;
    /*text-transform: uppercase;*/
}

figure.projekt-content-image {
    text-align: center;
    margin-top: 102px;
}