/*
Theme Name: ratiocalor
Theme URI: http://www.ratiocalor.eu
Author: Richard Stickel
Author URI: http://www.richardstickel.de
Version: 1.0
*/



html {
	-webkit-text-size-adjust: 100%;
	-ms-text-size-adjust: 100%;
	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;
	word-wrap: normal;
    position: relative;
    -webkit-tap-highlight-color: rgba(0,0,0,0);
    height: 100%;
}
body {
    background-attachment: fixed;
    background-size: cover;
    color: #005a5f;
    font-family: "acumin-pro-condensed","Arial Narrow","Arial",Helvetica,sans-serif;
    font-size: 21px;
    font-weight: 200;
    line-height: 1.3em;
    margin: 0;
    padding: 0 2%;
    position: relative;
}
.background {
    background-position: center center;
    background-size: cover;
    height: 100%;
    left: 0;
    position: fixed;
    top: 0;
    width: 100%;
    z-index: -1000;
}
img{
	width: 100%;
	display: block;
	margin: 0;
    height: auto;
    -ms-interpolation-mode: bicubic;
    image-rendering: optimizeQuality;
}
#leer {
    min-height: 240px;
}


/* Formate */

a{
    color: #87B726;
    text-decoration: none;
    font-weight: bold;
}
p a:hover{
    text-decoration: underline;
}

p {
    margin: 0 0 15px;
}

h1 {
}

h2 {
    font-size: 35px;
    margin: 0 0 10px;
    text-transform: uppercase;
}

li {
    padding-bottom: 8px;
}
strong {
    font-weight: bold;
}
.infokasten {
    background: #168896 none repeat scroll 0 0;
    color: #fff;
    padding: 11px 20px 20px;
}

/* Foto */
figure {
    margin: 0 0 30px;
}
figure.rechts {
    float: right;
    margin-left: 40px;
    width: calc(50% - 20px);
}
figure.links {
    float: left;
    margin-right: 40px;
    width: calc(50% - 20px);
}
figcaption {
    font-size: 15px;
    font-weight: 600;
    padding: 7px 0;
}
figure > img {
    border-left-style: solid;
    border-left-width: 5px; 
    width: calc(100% - 5px);
}


/* Formular */
input, textarea {
    -moz-appearance: none;
    background-color: #fff;
    border: 1px solid #8bc4cb;
    border-radius: 0;
    box-shadow: none;
    color: #005a5f;
    font-family: "acumin-pro-condensed","Arial Narrow","Arial",Helvetica,sans-serif;
    font-size: 21px;
    font-weight: 200;
    margin-bottom: 12px;
    padding: 5px 20px 10px;
    width: calc(50% - 40px);
}
textarea {
    width: calc(100% - 40px);
}

label {
    font-size: 14px;
    font-weight: 700;
}
input[type="submit"] {
    border: medium none;
    box-shadow: none;
    color: #fff;
    cursor: pointer;
    display: block;
    font-weight: 700;
    padding: 6px 25px 11px;
    text-transform: uppercase;
    width: auto;

    background: #005a5f; /* Old browsers */
    background: -moz-linear-gradient(left, #005a5f 0%, #168795 100%); /* FF3.6-15 */
    background: -webkit-linear-gradient(left, #005a5f 0%,#168795 100%); /* Chrome10-25,Safari5.1-6 */
    background: linear-gradient(to right, #005a5f 0%,#168795 100%); /* W3C, IE10+, FF16+, Chrome26+, Opera12+, Safari7+ */
    filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#005a5f', endColorstr='#168795',GradientType=1 ); /* IE6-9 */
}


/* Team */
.team {
    margin-bottom: 30px;
}
.teaminfo, .teaminfo a {
    color: #fff;
    font-weight: 200;
}
.teaminfo {
    padding: 10px 18px 1px;
}
.teaminfo strong {
    text-transform: uppercase;
}


/* Layout */

.content {
    margin: 0 auto;
    max-width: 1050px;
    padding: 0 2%;
}
header .content {
    max-width: 1150px;
}
.tile {
    background-color: white;
    box-shadow: 0 0 10px rgba(0, 0, 0, 0.25);
    margin-bottom: 50px;
    padding: 44px 50px;
}


/* Gridsystem */

.gs{
	padding: 0;
	display: inline-block;
	vertical-align: top;
	float: left;
    width: 100%;
}
.gs-2-3{
    width: 65.666%;
}
.gs-1-3 {
    margin: 0 3% 30px 0;
    width: 31.333%;
}
.gs-1-3:nth-child(3) {
    margin: 0;
}
.gs-1-3-team {
    margin: 0 0 0 3%;
}
.clear{
	clear: both;
}
.innerpadding {
    padding: 0 20px;
}

/* Gradient */
.gradient{
    color: #fff;
}
.gradient-1{
    background: #005a5f; /* Old browsers */
    background: -moz-linear-gradient(25deg, #005a5f 0%, #168795 85%); /* FF3.6-15 */
    background: -webkit-linear-gradient(25deg, #005a5f 0%,#168795 85%); /* Chrome10-25,Safari5.1-6 */
    background: linear-gradient(25deg, #005a5f 0%,#168795 85%); /* W3C, IE10+, FF16+, Chrome26+, Opera12+, Safari7+ */
    filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#005a5f', endColorstr='#168795',GradientType=1 ); /* IE6-9 fallback on horizontal gradient */
}
.gradient-2{
    background: #005a5f; /* Old browsers */
    background: -moz-linear-gradient(left, #005a5f 0%, #168795 100%); /* FF3.6-15 */
    background: -webkit-linear-gradient(left, #005a5f 0%,#168795 100%); /* Chrome10-25,Safari5.1-6 */
    background: linear-gradient(to right, #005a5f 0%,#168795 100%); /* W3C, IE10+, FF16+, Chrome26+, Opera12+, Safari7+ */
    filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#005a5f', endColorstr='#168795',GradientType=1 ); /* IE6-9 */
}
.gradient-3{
    background: #005a5f; /* Old browsers */
    background: -moz-linear-gradient(right, #005a5f 0%, #168795 100%); /* FF3.6-15 */
    background: -webkit-linear-gradient(right, #005a5f 0%,#168795 100%); /* Chrome10-25,Safari5.1-6 */
    background: linear-gradient(to left, #005a5f 0%,#168795 100%); /* W3C, IE10+, FF16+, Chrome26+, Opera12+, Safari7+ */
    filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#005a5f', endColorstr='#168795',GradientType=1 ); /* IE6-9 */
}




/* Header */
header {
    background-color: #fff;
    background-image: url(images/topbar-linie.png);
    background-size: 100% auto;
    background-position: bottom;
    background-repeat: no-repeat;
    height: 50px;
    position: fixed;
    width: 100%;
    z-index: 100;
    box-shadow: 0 0 10px rgba(0, 0, 0, 0.25);
    left: 0;
}
header a{
    color: #005A5F;
    font-weight: 300;
    border: medium none;
}
#logo {
    background-color: #fff;
    box-shadow: 0 0 10px rgba(0, 0, 0, 0.25);
    display: block;
    float: left;
    padding: 70px 37px 22px 35px;
    transition: all 0.5s ease 0s;
    width: 300px;
    margin-left: 14px;
}
#logo.schrumpf {
    padding-top: 22px;
    width: 200px;
}
nav {
    float: right;
}
nav li {
    float: left;
    letter-spacing: 0.02em;
    list-style: outside none none;
    padding: 10px 0 8px 28px;
}

/* Bild */
.bild {
    position: relative;
}
.bildunterschrift {
    background-image: url("images/layer-bildunterschrift.png");
    background-repeat: no-repeat;
    background-size: 100% 100%;
    bottom: 0;
    color: #fff;
    font-size: 30px;
    line-height: 1.2em;
    padding: 60px 40px 15px;
    position: absolute;
    text-align: right;
    width: calc(100% - 80px);
}
.bu_titel {
    text-transform: uppercase;
    font-weight: bold;
}

/* Referenzen */

.galerie {
    position: relative;
}

.swiper-container {
  width: 100%;
  height: auto;
}
.swiper-container img {
  width: 100%;
}
.swiper-slide {
    width: 33.333%;
}
.swiper-slide-inner{
    transition: all 0.25s ease 0s;
    transform: scale(0.8);
    color: #005A5F;
    background: #fff;
    padding: 20px;
    box-shadow: 0 0 10px rgba(0, 0, 0, 0.25);
    width: 250px;
    max-width: 70%;
    margin: 0 auto;
}
.swiper-slide-active .swiper-slide-inner {
    transform: scale(1);
}
.swiper-button-prev {
  background-image: url(images/prev.svg);
  background-size: auto 100%;
  height: 50px;
  width: 50px;
  background-position: top;
  left: 0;
}
.swiper-button-next {
  background-image: url(images/next.svg);
  background-size: auto 100%;
  height: 50px;
  width: 50px;
  background-position: top;
  right: 0;
}
hr {
    border-bottom: 0 none;
    border-top: 1px solid #005a5f;
}
.logo {
    background-position: center center;
    background-repeat: no-repeat;
    background-size: contain;
    height: 130px;
    margin: 10px 20px 10px;
    position: relative;
    width: calc(100% - 40px);
}
.projektbeschreibung {
    margin-top: 20px;
}

#impressum {
    display: none;
}
#impressumslink {
    cursor: pointer;
}


footer {
    height: auto;
    width: 100%;
    z-index: 100;
    box-shadow: 0 0 10px rgba(0, 0, 0, 0.25);
    left: 0;
    position: absolute;
}
.bottombar-linie {
    background-image: url("images/bottombar-linie.png");
    background-position: left top;
    background-repeat: no-repeat;
    background-size: 55% auto;
    display: inline-block;
    width: 100%;
}
footer li, footer li a {
    color: #fff;
    font-weight: 300;
}

#cookie-notice {
    bottom: 20px;
    position: fixed;
    z-index: 100000;
    padding: 0;
    font-weight: 400;
    font-size: 18px;
    width: calc(100% - 30px);
    left: 0;
    display: block;
    background-color: transparent !important;
}
.cookie-notice-container {
    background-color: rgb(221, 221, 221);
    margin: 20px;
    padding: 15px 15px 22px;
    width: auto;
}
#cn-accept-cookie {
    color: #174710;
    background-color: #87B726;
    padding: 3px 16px 4px;
    margin: 0 0 0 10px;
    float: right;
}




/* Mobile Menu */

.burgerbutton {
    cursor: pointer;
    display: none;
    float: right;
    height: 30px;
    padding: 17px 17px 19px;
    position: absolute;
    right: 0;
    width: 30px;
}
.burgerbutton-linie {
    background: #207a7f none repeat scroll 0 0;
    height: 2px;
    margin-bottom: 5px;
    transition: all 0.4s ease 0s;
    width: 100%;
}


.burgerbutton.active .burgerbutton-linie:nth-child(1) {
    -webkit-transform: translateY(7px) rotate(45deg);
    -ms-transform: translateY(7px) rotate(45deg);
    transform: translateY(7px) rotate(45deg);
}
.burgerbutton.active .burgerbutton-linie:nth-child(2) {
    width: 0;
    margin-left: 50%;
}
.burgerbutton.active .burgerbutton-linie:nth-child(3) {
    -webkit-transform: translateY(-7px) rotate(-45deg);
    -ms-transform: translateY(-7px) rotate(-45deg);
    transform: translateY(-7px) rotate(-45deg);
}



/* Admin */
#adminlinks > div {
    display: inline-block;
    font-size: 15px;
    font-style: normal;
    padding-right: 10px;
    padding-top: 8px;
}



@media (max-width: 1150px) {
    #logo {
        padding-top: 34px;
        width: 230px;
    }
}

@media (max-width: 1000px) {
    header {
        min-height: 59px;
        height: auto;
    }
    #logo, #logo.schrumpf {
        box-shadow: none;
        margin: 11px 0 0 10px;
        padding: 0;
        width: 150px;
    }
    .burgerbutton {
        display: block;
    }
    header nav{
        display: none;
        float: left;
        padding: 15px 0 30px;
        clear: both;
    }
    nav li {
        float: none;
        padding: 10px 0 8px 45px;
    }
    .gs-2-3 {
        width: 100%;
    }
    input, textarea {
        width: calc(100% - 40px);
    }
    .gs-1-3-team {
        width: 100%;
        margin: 0;
    }
    
    .swiper-button-prev {
        height: 30px;
        left: -28px;
    }
    .swiper-button-next {
        height: 30px;
        right: -28px;
    }
    footer nav {
        float: left;
        padding-bottom: 20px;
    }
    footer li {
        padding: 15px 20px 0;
    }
}


@media (max-width: 800px) {
    h2 {
        font-size: 29px;
    }
    .tile {
        padding: 20px;
    }
    .bildunterschrift {
        background: #005a5f; /* Old browsers */
        background: -moz-linear-gradient(left, #005a5f 0%, #168795 100%); /* FF3.6-15 */
        background: -webkit-linear-gradient(left, #005a5f 0%,#168795 100%); /* Chrome10-25,Safari5.1-6 */
        background: linear-gradient(to right, #005a5f 0%,#168795 100%); /* W3C, IE10+, FF16+, Chrome26+, Opera12+, Safari7+ */
        filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#005a5f', endColorstr='#168795',GradientType=1 ); /* IE6-9 */
        font-size: 23px;
        padding: 10px 20px 15px;
        position: relative;
        width: auto;
    }
    .row .gs-1-3 {
        float: none;
        height: auto!important;
        margin: 0 0 15px;
        width: 100%;
    }
    .row .gs-1-3 img {
        float: left;
        width: 200px;
    }
    .row .gs-1-3 .innerpadding {
        overflow: hidden;
        padding-top: 12px;
        width: auto;
    }
    .swiper-slide {
        width: 100%;
    }
}


@media (max-width: 600px) {
    .row .gs-1-3 img {
        width: 150px;
    }
}

@media (max-width: 450px) {
    .row .gs-1-3 img {
        width: 100%;
    }
}

@media (min-width: 1000px) {
    header nav{
        display: block!important;
    }
}
