// =============================================================================
//   Reset CSS
// =============================================================================
html, body, div, span, applet, object, iframe,
h1, h2, h3, h4, h5, h6, p, blockquote, pre,
a, abbr, acronym, address, big, cite, code,
del, dfn, em, img, ins, kbd, q, s, samp,
small, strike, strong, sub, sup, tt, var,
b, u, i, center,
dl, dt, dd, ol, ul, li,
fieldset, form, label, legend,
table, caption, tbody, tfoot, thead, tr, th, td,
article, aside, canvas, details, embed, 
figure, figcaption, footer, header, hgroup, 
menu, nav, output, ruby, section, summary,
time, mark, audio, video {
	margin: 0;
	padding: 0;
	border: 0;
	font-size: 100%;
	font: inherit;
	vertical-align: baseline;
	}
/* HTML5 display-role reset for older browsers */
article, aside, details, figcaption, figure, 
footer, header, hgroup, menu, nav, section {
	display: block;
}
body {
	line-height: 1;
}
ol, ul {
	list-style: none;
}
blockquote, q {
	quotes: none;
}
blockquote:before, blockquote:after,
q:before, q:after {
	content: '';
	content: none;
}
table {
	border-collapse: collapse;
	border-spacing: 0;
}

// ########################################################## COLORS	

@color-link: #FF8000;
@color-grey: #888;
@color-rot: #EE4938;
@color-hintergrund: #FFF;
@color-highlight: #FF6600;
@colorIcon: black;
@colorIconHighlight: #CDCDCD;
@color-text-default: #878787;
@color-chocolate: #4A2B17;

// ########################################################## FONTS 
@charset "UTF-8";
@font-face {
	font-family: "GildaDisplay";
    src: url("../fonts/GildaDisplay-Regular.ttf") format('truetype'); //PT_Serif-Web-Regular.ttf
}
@font-face {
	font-family: "OpenSansCondLight";
    src: url("../fonts/OpenSans-CondLight.ttf") format('truetype');
}

.fontLight (@size: 20px) {
	font-family: OpenSansCondLight, Trebuchet MS;
	line-height: 100%;
	font-size: @size;
	color: @color-text-default
}
.fontSmall (@size: 13px) {
	font-family: Arial, Trebuchet MS;
	font-weight: 400;
	font-size: @size;
	color: #000;
    line-height: 20px;
}
.fontNormal (@size: 20px) {
	font-family: Arial, Trebuchet MS;
	font-weight: 400;
	line-height: 35px;
	font-size: @size;
	color: @color-text-default;
}
.fontLarge (@size: 36px) {
	font-family: OpenSansCondLight, Trebuchet MS;
	font-weight: 400;
	line-height: 100%;
	font-size: @size;	
}
.fontExtraLarge (@size: 42px) {
	font-family: OpenSansCondLight, Trebuchet MS;
	font-size: @size;
}
// ########################################################## ICONS

.icon { 
	background-repeat: no-repeat;
	padding-left: 3vw;
	background-size: contain; 
}
.icon.email { background-image: url(../img/icon_email.svg); }
.icon.phone {  background-image: url(../img/icon_phone.svg); }
.icon.facebook {  background-image: url(../img/icon_facebook.svg); }
.icon.serious {  background-image: url(../img/icon_serious.svg); }
.icon.chevron-left {  background-image: url(../img/icon_chevron-left.svg); }
.icon.chevron-right {  background-image: url(../img/icon_chevron-right.svg); }
.icon.grid {  background-image: url(../img/icon_grid.svg); }

// ########################################################## HELPING FUNCTIONS

.rounded-corners (@radius: 5px) {
	border-radius: @radius;
	-webkit-border-radius: @radius;
	-moz-border-radius: @radius;
}
.shadow (@attr) {
	-moz-box-shadow: @attr;
	-webkit-box-shadow: @attr;
	box-shadow: @attr;
}
.transform (@transform) {
	-webkit-transform: @transform;
	-moz-transform: @transform;
	-o-transform: @transform;
	-ms-transform: @transform;
	transform: @transform;
}
.transform-style (@transformstyle) {
	-webkit-transform-style: @transformstyle;
	-moz-transform-style: @transformstyle;
	transform-style: @transformstyle;
}	
.transition (@transition) {
	-webkit-transition: @transition;
	-moz-transition: @transition;
	-o-transition: @transition;
	-ms-transition: @transition;
	transition: @transition;
}
.box-sizing (@boxSizing) {
	box-sizing: @boxSizing;
	-moz-box-sizing: @boxSizing;
}
.flexbox {
	display:-moz-flex;
	display:-webkit-flex;
	display: flex;
}
.flexbasis (@prozent) {
  -webkit-flex-basis: @prozent;
  flex-basis: @prozent;
}
.align-items (@value) {
	-webkit-align-items: @value;
	align-items: @value;
}
.align-content (@value) {
	-webkit-align-content: @value;
	align-content: @value;
}
.justify-content (@value) {
	-webkit-justify-content: @value;
	justify-content: @value;
}
.background-gradient () {
	background: -moz-linear-gradient(top, rgba(255,255,255,0.9) 0%, rgba(255,255,255,1) 100%); /* FF3.6+ */
	background: -webkit-linear-gradient(top, rgba(255,255,255,0.9) 0%,rgba(255,255,255,1) 100%); /* Chrome10+,Safari5.1+ */
	background: -ms-linear-gradient(top, rgba(255,255,255,0.9) 0%,rgba(255,255,255,1) 100%); /* IE10+ */
	background: linear-gradient(to bottom, rgba(255,255,255,0.9) 0%,rgba(255,255,255,1) 100%); /* W3C */
}
.clearfix:after {
    content: ".";
    clear: both;
    display: block;
    visibility: hidden;
    height: 0px;
}
// The micro clearfix http://nicolasgallagher.com/micro-clearfix-hack/
.clearfix() {
	*zoom:1;
	
	&:before,
	&:after {
	    content:"";
	    display:table;
	}
	&:after {
	    clear:both;
	}
}

// ////////////////////////////////////////////////////////// DEFAULT STYLING
html {
	font-size: 100%;
}
body {
	margin-left: auto;
	margin-right: auto;
	background-color: @color-hintergrund;
}
a {
	text-decoration: none;
	color: @color-link;
}
a:hover { color: @color-rot; }
strong {
	font-weight: bold;
}
img {
  max-width: 100%;
}
a.btn {
    cursor: pointer;
    display: inline-block;
    background-color: #FF9326;
    .fontLight();
    color: white;
    font-weight: 800;
    padding: 7px 15px 7px 15px; 
    text-align: center;
	margin: 20px auto 0 auto;
	letter-spacing: 0.1rem;
    text-shadow: 1px 1px #FF6600;
    border: 2px solid #FF9326;
}
a.btn:hover {
	border: 2px solid white;
	transition-property: all;
	transition-duration: 0.3s;	
}
p { line-height: 2.3vw; }
strong { color: black; }
.chevron::before {
	border-style: solid;
	border-width: 2px 2px 0 0;
	content: '';
	display: inline-block;
	height: 0.45em;
	left: 0.15em;
	position: relative;
	top: 5px;
	transform: rotate(-45deg);
	vertical-align: top;
	width: 0.45em;
}

.chevron.right:before {
	left: 0;
	transform: rotate(45deg);
}
// ////////////////////////////////////////////////////////// header
header { 
	margin: 30px auto 0 auto;
	width: 1110px;
    height: 100px;

	a.logo {
		height: 70px; 
        width: 150px;
        background: url(../img/logo.png) no-repeat center center;
		display: block;
        float: left;
		text-indent: -9999px;		
        margin-right: 50px;
        padding-left: 10px;
	}
	a.logo:hover { 
        opacity: 0.4; 
        transition: all 0.25s ease 0s;
    }
	///////////////////////// section navi	
	span:first-of-type {
        display: block;
        height: 40px;
        .fontLarge;
        color: #bbb;
    }
    nav { 
			display: block;
            height: 30px;
            float: left;
		ul { 
			list-style-type: none;
			width: auto;
			.fontLight();
            font-weight: 600;
			li {
				display: inline-block;
                margin-right: 25px;
				a { 
                    color: #666;
                    height: 30px;
                    display:table-cell;
                    vertical-align:bottom;			
					&:hover { 
						color: @color-highlight; 
					}
				}
			}
			li.active a { color: @color-highlight; }
		}
	}
	span:last-of-type { 
        .fontLight();
        height: 30px;
        line-height: 36px;
        float: right;
    }    
}
// ////////////////////////////////////////////////////////// wrapper
.wrapper { 
     display: block;
     width: 1100px;
     margin: 0 auto;
     padding-left: 10px;
 }
// ////////////////////////////////////////////////////////// headline
#headline { 
    width: 100%;
    min-width: 1110px;
    overflow:hidden;
    background-color: @color-grey;
    h1 {
        display:block;
        width: 1110px;
        margin: 30px auto;
        .fontExtraLarge(); 
        color: white;
        padding-left: 10px;
    }
    margin-bottom: 40px;
}

// ////////////////////////////////////////////////////////// intro
#intro { 
	.box-sizing(border-box);
    width: 100%;
    min-width: 1110px;
    overflow:hidden;
    background-color: @color-grey;
    .column { 
        width: 600px; 
        float: left;
    }
    h1 { 
        display:block;
        width: 600px;
        margin: 30px 0 15px 0;
        .fontExtraLarge(); 
        font-weight: 600;
        color: white;
    }
    p { 
        .fontNormal();
        width: 600px;
        color: white;
    }
    margin-bottom: 20px;
    img { float:right;
        
    }
    a.btn { 
        display:inline-block;
        
    }
}
// ////////////////////////////////////////////////////////// teaser
#teaser { 
	.box-sizing(border-box);
    .column { 
        width: 30%; 
        float: left;
        padding-right: 40px;
        .box-sizing(border-box);
    }
    .column:nth-child(1) { width: 40%; }
    .column:nth-child(3) { padding-right: 0px; }
    h2 { 
        display:block;
        margin: 40px 0 8px 0;
        .fontLarge(25px); 
        font-weight: 600;
    }
    p { 
        .fontNormal(18px);
        line-height: 19px;
        margin-bottom: 15px;
    }
    margin-bottom: 40px;
    img { 
        float:left;
        margin: 20px 20px 35px 0; 
    }
    a { 
        .fontLight();
        color: @color-link;
    }
}
// ////////////////////////////////////////////////////////// aktuell
#aktuell { 
    .box-sizing(border-box);
    padding: 0 60px 40px 60px;
    width: 1110px;
    overflow:hidden;
    margin: 0 auto 60px auto;
    background-color: @color-grey;
    h1 {
        display:block;
        width: 1110px;
        margin: 30px auto;
        .fontExtraLarge(); 
        color: white;
    }
    img {
        border: 5px solid white; 
        margin-right: 6px;
    }
    img:last-of-type {
        margin-right: 0px;
    } 
    figure { 
        display: inline-block;
        float: left;
        margin-bottom: 20px;
        margin-right: 10px;
    }
    figure figcaption {
        .fontSmall();
        color: black;
        border-radius: 0 0 3px 3px;
    }     
}
// ////////////////////////////////////////////////////////// article
article { 
	overflow: hidden;
    width: 1110px;
	.box-sizing(border-box);
	
    padding-left: 10px;
    margin: 0 auto 0 auto;
	h1 {
		.fontLarge();
		text-align: center; 
		display: block;
		margin: 0;
		margin-bottom: 20px
	}
	h2 {
		.fontLarge();
		margin-top:15px;
		margin-bottom:15px;
		color: black;
		margin-left: 450px;
		line-height: 45px;
	}
    figure { 
		clear:both;
        min-height: 100%;
        width:400px;
        float: left;
        margin-right: 50px; 
        margin-bottom: 50px;
		margin-left: 0px;
    }
    figure figcaption {
        padding: 2px 4px 2px 0px;
        .fontLight();
		line-height: 28px;
        border-radius: 0 0 3px 3px;
    }  

	p { 
		margin-left: 450px;
		.fontNormal();
		padding-bottom: 20px;
		line-height: 30px;
	}
    //p.wide { width: 80%; }
	p:last-of-type { 
		padding-bottom: 0vw; 
	}
	ul li {
		.fontNormal();
	}
}
// ////////////////////////////////////////////////////////// footer
footer { 
    hr { 
        background-color: white;
        border: none;
        height: 1px;
        margin: 0 auto 15px auto;
    }
    clear:both;
    background-color: @color-link;  
    height: 200px;
    padding-top: 10px;
    min-width: 1110px;
    margin-top:80px;
    form {
        p { line-height: 28px; margin-bottom: 5px; }
        input { 
            border: none;
            background-color: white;
            height: 25px;
            width: 150px;
        }
		#input_website { display: none; }
        label { 
            height: 25px;
            width: 60px;
            display: block;
            float: left;
        } 
        button {
            margin: 10px 0 0 60px;
            background-color: @color-link;
            border: solid 1px white;
            height: 25px;
            width: 150px;  
            color: white;
        }
        button:hover { cursor: pointer; opacity: 0.5; }
		#test_email { position: absolute; left: -999em; }

    }
    
    p, span { .fontSmall(); }
    .column { 
        float: left;
        margin-bottom: 10px;
        h3 {
            .fontLight(23px);
            color: #333;
            font-weight: 600;
            margin-bottom: 20px;
            text-transform: uppercase;
        }
    }
    .column:nth-child(1) {
        width: 50%; 
        p { 
            display: block;
            width: 40%;
            float:left; 
        }
        a, a:hover { color: black; }
    }
    .column:nth-child(2) {
        width: 30%; 
        img { 
            float: left; 
            margin-right: 20px;
        }
    }
    .column:nth-child(3) {
        width: 20%; 
    }  
    span {
        clear: both; 
        display: block;
        color: white;
        a, a:hover { color: white; }
    }
}