/* ---------------------------------------------------------
   HTML5 Bones
   This stylesheet contains print styling and a section for 
   you to simply add your own. This is a basic template 
   after all.
   ---------------------------------------------------------*/
body {
    font-family: 'Quicksand';
    font-style: normal;
    font-weight: 300;
    font-size: 20px;
    letter-spacing: 1px;
    line-height: 1.5;
    color: #243949;
}

/* Default link styling */
    a:link { color:#243949; }
    a:visited { color:#243949; }
    a:hover, a:focus { color:#547fa4; }
    a:active { color:#547fa4; }
    
/* ---------------------------------------------------------
   Grid Elements
   ---------------------------------------------------------*/
.grid {
    float:left;
    display: inline-block;
    min-height: 40px;
    position: relative;
}
.grid:first-child {margin-left:0}
.grid:last-child {margin-right:0}
.grid.one {width:6.958333333%;}
.grid.two {width:15.41666667%;}
.grid.three {width:23.875%;}
.grid.four {width:32.33333333%;}
.grid.five {width:40.79166667%;}
.grid.six {width:50%;}
.grid.seven {width:57.70833333%;}
.grid.eight {width:66.16666667%;}
.grid.nine {width:74.625%;}
.grid.ten {width:83.08333333%;}
.grid.eleven {width:91.54166667%;}
.grid.twelve {width:100%; margin-left: 0;}

.clear {clear: both;}
img {max-width: 100%;height: auto;margin-bottom: -7px;}
@media screen and (min-width:768px) and (max-width:1024px) {
.box {width:48%;}     
}
@media screen and (min-width:320px) and (max-width:1024px) {
section {margin: 0; padding: 0 5%;}
.grid:first-child p{padding-left: 0%;}
.grid:last-child p{padding-right: 0%;}
.grid.one {width:100%;}
.grid.two {width:100%;}
.grid.three {width:100%;}
.grid.four {width:100%;}
.grid.five {width:100%;}
.grid.six {width:100%;}
.grid.seven {width:100%;}
.grid.eight {width:100%;}
.grid.nine {width:100%;}
.grid.ten {width:100%;}
.grid.eleven {width:100%;}
.grid.twelve {width:100%;} 
.box {width:98%;}  
}
    
/* ---------------------------------------------------------
   Author's styles
   ---------------------------------------------------------*/
body {
   
    }

h1{font-weight: 300;margin:0;padding-bottom: 20px;}
h2{font-weight: 300;font-size:35px;line-height: 1.2;margin:0}
h3{font-weight: 300;font-size:28px;line-height: 1.2; margin:0 0 15px 0;}

.imprint h1{margin: 25px 0 0 0;}
.imprint h2{margin: 20px 0 0 0;}
.imprint h3{margin: 20px 0 0 0;}
.imprint strong{line-height: 3}
p{margin:0;}
ul{padding: 0 0 0 20px;}
ul li{margin:0 0 15px 0;}
.wrap {    
    max-width: 1110px;
    margin-left: auto;
    margin-right: auto;
}
.text-wrap {    
    margin-left: auto;
    margin-right: auto;
    width: 70%;
    padding: 80px 0;
}
.header{
    height: 550px;
}

.background-image {
    height: 550px;
    background-image: linear-gradient(to top, #d5d4d0 0%, #d5d4d0 1%, #eeeeec 31%, #efeeec 75%, #e9e9e7 100%);
    background-size: cover;
    background-repeat: no-repeat;
    background-position: bottom;
}
.logo {
    margin: 0 auto;
    display: block;
    width: 100%;
    height: auto;
    max-width: 470px;
}
.contact .logo {
    max-width: 340px;
}
.top_bar {
    text-align: right;
    font-size: 25px;
    padding: 20px 20px 40px 0;
    margin: 0;
}

.contact-icon {
    background-size: contain;
    width: 44px;
    height: 44px;
    display: inline-block;
    margin: 0 5px;
    -webkit-transition: background-image 0.2s ease-in-out;
transition: background-image 0.2s ease-in-out;
}

.phone {
    background-image: url(../img/icon_phone.png);    
}
.mail {
    background-image: url(../img/icon_mail.png);    
}
.facebook {
    background-image: url(../img/icon_facebook.png);    
}
.instagram {
    background-image: url(../img/icon_instagram.png);    
}
.phone:hover {
    background-image: url(../img/icon_phone_hover.png);
    -webkit-transition: background-image 0.2s ease-in-out;
transition: background-image 0.2s ease-in-out;
}
.mail:hover {
    background-image: url(../img/icon_mail_hover.png);
    -webkit-transition: background-image 0.2s ease-in-out;
transition: background-image 0.2s ease-in-out;
}
.facebook:hover {
    background-image: url(../img/icon_facebook_hover.png);
    -webkit-transition: background-image 0.2s ease-in-out;
transition: background-image 0.2s ease-in-out;
}
.instagram:hover {
    background-image: url(../img/icon_instagram_hover.png);
    -webkit-transition: background-image 0.2s ease-in-out;
transition: background-image 0.2s ease-in-out;
}

.opener {
    background-image: linear-gradient(120deg, #547fa4 0%, #243949 100%);
    color: #fff;
    text-align: center;
    font-size: 25px;
    padding: 60px 0;
}

.closer {
    background-image: linear-gradient(120deg, #547fa4 0%, #80adb1 100%);
    color: #fff;
    text-align: left;
    padding: 60px 0;
}

.contact {
    background-color: #243949;
    color: #fff;
    font-size: 16px;
    text-align: center;
    padding: 60px 0;
}

.contact a{
    color: #fff;
    text-decoration: underline;
}
.contact a:hover{
    color: #547fa4;
}
hr {
    height:3px;
    width: 5%;
    background-color: #547fa4;
    border: 0;
    float: left;
    margin: 20px 0;
}

.box {
    background: #fff;
    position: absolute;
    width: 100%;
    overflow: hidden;
    height: 100%;
}
.box img{
    width: 100%;
}
.box::after, .box::before {
    content: " ";
    display: table;
}

.box-uneven::before {
    display: block;
    content: "";
    width: 4em;
    height: 4em;
    position: absolute;
    left: -2em;
    top: 50%;
    -webkit-transform: translateY(-50%) rotate(45deg);
    -ms-transform: translateY(-50%) rotate(45deg);
    -o-transform: translateY(-50%) rotate(45deg);
    transform: translateY(-50%) rotate(45deg);
    background: #fff;
    z-index: 1;
}
.box-even::before {
    display: block;
    content: "";
    width: 4em;
    height: 4em;
    position: absolute;
    right: -2em;
    top: 50%;
    -webkit-transform: translateY(-50%) rotate(45deg);
    -ms-transform: translateY(-50%) rotate(45deg);
    -o-transform: translateY(-50%) rotate(45deg);
    transform: translateY(-50%) rotate(45deg);
    background: #fff;
    z-index: 1;
}

.closer .box-even::before {
    background-image: linear-gradient(45deg, #547fa4 0%, #80adb1 100%);
}
.background {
    position: absolute;
    height: 100%;
    width: 100%;
    background-size: cover;
    background-position: center;
}

.grid.six.left{
    float: right;
}
.btn {
    color: #fff!important;
    background-color: #243949;
    border: 2px solid #243949;
    text-decoration: none;
    font-family: 'Raleway', sans-serif;
    text-transform: uppercase;
    font-weight: 200;
    font-size: 22px;
    letter-spacing: 2px;
    padding: 10px 20px;
    transition: 0.25s;
    display: inline-block;
    margin: 30px 0;
}
.btn:hover {
    color: #243949!important;
    background-color: #fff;
    border: 2px solid #243949;
    transition: 0.25s;

}
/* ---------------------------------------------------------
   Media Querys
   ---------------------------------------------------------*/
@media screen and (min-width:320px) and (max-width:1024px) {
body{
    font-weight: 400;
}

h1{font-weight: 400;font-size: 1.5em;padding-bottom: 25px;}
h2{font-weight: 400;}
h3{font-weight: 400;}
.header {
    height: auto;
}
.opener {
    padding: 50px 0;
    font-size: 22px;   
}
.top_bar {
    text-align: center;
    font-size: 20px;
    margin: 0;
}
.box {
    position: absolute;
    bottom: 0;
    float: left;
}
.box-image {
    height: 42vh;
    position: relative;
}
.box-uneven::before {
    left: 50%;
    top: -1em;
    width: 2em;
    height: 2em;
    position: relative;
    transform: translateX(-50%) rotate(45deg);
    -webkit-transform: translateX(-50%) rotate(45deg);
    -ms-transform: translateX(-50%) rotate(45deg);
    -o-transform: translateX(-50%) rotate(45deg);
}
.box-even::before {
    left: 50%;
    top: -1em;
    width: 2em;
    height: 2em;
    position: relative;
    transform: translateX(-50%) rotate(45deg);
    -webkit-transform: translateX(-50%) rotate(45deg);
    -ms-transform: translateX(-50%) rotate(45deg);
    -o-transform: translateX(-50%) rotate(45deg);
}
.closer .box-even::before {
    background-image: linear-gradient(135deg, #80adb1 0%, #80adb1 100%);
}

.background{top:0}
.text-wrap{
    padding: 0;
    width: 90%;
    margin: 10% auto 5% auto;
}

.closer .wrap, .header .wrap, .opener .wrap{
    width: 90%;
    margin-left: auto;
    margin-right: auto;
    text-align: left;
}
hr {width: 10%}
.btn{
        font-size: 18px;
        letter-spacing: 1px;
}
.background-image {
    height: 400px;
}
}