/*
=======================================================================================================================
 Styles
=======================================================================================================================
*/

* {
	box-sizing: border-box;
	-webkit-text-size-adjust: 100%;
	}

html {
	font-size: 24px;
	line-height: 1.5;
	-webkit-font-smoothing:antialiased;
	-moz-osx-font-smoothing:grayscale;
	font-smoothing:antialiased;
	}

body {
	font-family: "Titillium Web", sans-serif;
	font-size: 1rem;
	font-weight: 300;
	color: #333;
	background: #fff;
	padding: 0;
	margin: 0;
	}

h1 {font-weight: 700; font-size: 2.75rem; line-height: 1.0; color:#fff; padding: 0 0 25px 0; margin: 0; text-shadow: 0px 0px 13px rgba(0,0,0,0.4);}
h1::after {content: ""; border-bottom: 1px solid rgba(255,255,255,0.5); display: block; width: 120px; padding: 40px 0 0 0; margin: 0 auto; text-align: center;}
.h1-small { font-weight: 300; font-size: 1.5rem; line-height: 1.3; display: inline-block; }

h2 {font-weight: 300; font-size: 1.85rem; line-height: 1.0; color:#333; padding: 0px 0 30px 0; margin: 0;}
h2::after {content: ""; border-bottom: 1px solid rgba(0,0,0,0.2); display: block; width: 100px; padding: 40px 0 0 0;}
h2.center { text-align: center; }
h2.center::after { margin: 0 auto; }

h3 {font-weight: 300; font-size: 1.6rem; line-height: 1.5; color:#fff; padding: 0px 0 20px 0; margin:0;}
.h3-text {padding: 10px 0 20px 25px; margin: 25px 0 10px; border-left: 1px solid rgba(255,255,255,0.4);}

h4 {font-weight: 600; font-size: 1rem; line-height: 1.5; color:#fff; padding: 25px 0 15px 0; margin:0;}

p {font-size: 1rem; line-height: 1.5; padding: 15px 0; margin: 0;}

a, a:link, a:visited { text-decoration: none; color: #e1734b; transition: all 0.2s ease-out 0s;}
a:hover, a:active { text-decoration: none; color: #c15a3f; transition: all 0.2s ease-out 0s;}

ul, ol {margin: 0px 0; padding: 0;}
li {margin: 0px 0; padding: 0;}

ul.ul-list {

    padding: 0 0 0 30px;
}

/* Elemente */

.color {color: #e1734b;}
.rel {position: relative;}
 hr {border: 0; width: 100%; height: 1px; background-color: #dfdfdf; margin: 50px 0;} 

img {max-width: 100%; display: block;}
strong {font-weight: 600;}

/* Aufzählung Box */

ul.box { margin: 15px 0 15px 10px !important; padding: 0; list-style-type: none;}
ul.box li { margin: 12px 0 12px 0; padding-left: 25px; position: relative;}
ul.box li::before {border-radius: 50%; content: ""; display: block; width: 13px; height: 13px; left: 0; position: absolute; top: 15px; background-color: #e1734b; }

/* Linkbutton */

a.button-full {display: inline-block; font-size: 0.85em; font-weight: 300; background-color: #fff; color: #e1734b; padding: 12px 25px 14px; margin: 20px 10px -10px 15px;
-webkit-box-shadow: 0px 5px 25px 0px rgba(0,0,0,0.2); -moz-box-shadow: 0px 5px 25px 0px rgba(0,0,0,0.2); box-shadow: 0px 5px 25px 0px rgba(0,0,0,0.2); transform: skewX(-15deg);}

a.button-full:hover {background-color: #c15a3f; color: #fff; padding: 12px 35px 14px;}

/* Bildtext */

.image-text {
    position: absolute;
    display: inline-block;
    font-size: 0.85em;
    line-height: 1rem;
    border: 0px solid #fff;
    padding: 13px 20px 15px;
    left: 50px;
    right: 50px;
    bottom: 30px;
    z-index: 100;
    color: #eee;

    background-color: rgba(0, 0, 0, .66);
    -webkit-backdrop-filter: blur(15px) saturate(1.8);
    -moz-backdrop-filter: blur(15px) saturate(1.8);
    -o-backdrop-filter: blur(15px) saturate(1.8);
    backdrop-filter: blur(15px) saturate(1.8);

    strong { color: #e1734b; }
}

/*
=======================================================================================================================
  PAGE STYLES
=======================================================================================================================
*/

/* BGs */

.bg-gray {background-color: #f5f5f5;}
.bg-white {background-color: #fff;}
.bg-white h3 {color:#333;}
.bg-white h4 {color:#e1734b;}

.bg-black {background-color: #000; color: #fff;}
.bg-black h2 { color: #fff; }
.bg-black h2::after { border-bottom-color: #e1734b; }
.bg-black p {}

.bg-blue {background-color: #e1734b; color: #fff;}
.bg-blue ul.box li::before { background-color: currentColor; }

/* Text */

.text-bigbox {padding: 100px 100px 120px 100px;}
.text-smallbox {padding: 100px 50px 120px 50px;}
.text-verysmallbox {padding: 50px;}
.text-footer {padding: 25px 25px;}

blockquote {

    margin: 25px 0;
    padding: 0 25px;
    border-left: 2px solid #e1734b;
}

/* Banner */

#banner {padding: 0; margin: 0 auto; width: 100%; z-index:10; }

#banner .banner-top {position: absolute; top: 0; right: 0; max-width: 100%; height:350px; margin: 0 auto; z-index: 11;}
#banner .banner-logo { position: absolute; max-width: 280px; display: block; right: 90px; top: 50px; z-index: 12; }
#banner .banner-logo a { display: block; }

#banner select#language-selector {

    display: block;
    appearance: none;
    -webkit-appearance: none;
    -moz-appearance: none;
    -o-appearance: none;

    font-family: inherit;
    font-size: var(--lang-selector-font-size, 18px);
    line-height: 1.2;
    color: inherit;

    margin: var(--lang-selector-margin-top, 60px) 0 0 auto;
    padding: 10px calc(10px + 12px + 10px) 10px 10px;

    border: none;
    background: transparent;
    background-color: rgba(225, 115, 75, .15);
    background-image: url('../images/arrow-down-thick.svg');
    background-size: 12px auto;
    background-position: right 10px top 50%;
    background-repeat: no-repeat;
}

#banner .intro-text {position: absolute; display: inline-block; max-width: 720px; left: 0; right: 0; bottom: 0; top: 30%; margin: 0 auto; text-align: center; color: #fff; font-size: 1.65rem; line-height: 1.1; z-index: 13;}
#banner .intro-text p {text-shadow: 0px 0px 13px rgba(0,0,0,0.9);}

/* footer */

#footer {background-color: #f5f5f5; padding: 80px 0 100px; margin: 0; color: #333;}
#footer h4 { color: inherit; }
#footer .logo-footer {display: block; margin: 0; max-width: 340px; }

/* bottom */

#bottom {background-color: #fff; padding: 13px 50px; margin: 0; text-align:center;}
#bottom p {font-size: 0.85em; }

/*
=======================================================================================================================
  Media Queries
=======================================================================================================================
*/

/* Big Desktop
====================================================================== */

@media only screen and (min-width: 1921px) {

    html {font-size: 29px;}

    #banner .banner-top {height: 400px;}
    #banner .banner-logo {max-width: 330px; right: 70px; top: 50px;}


}

/* Middle Desktop
====================================================================== */
@media only screen and (min-width: 1281px) and (max-width: 1650px) {

    :root { --lang-selector-margin-top: 40px; }

    h3 {font-size: 1.4rem; line-height: 1.3;}
	
}

/* Tablet
====================================================================== */
@media only screen and (min-width: 900px) and (max-width: 1280px) {


    :root { --lang-selector-margin-top: 30px; --lang-selector-font-size: 16px; }

    html {font-size: 22px;}

    #banner .banner-top {height: 250px;}

    #banner .banner-logo {max-width: 220px; right: 50px; top: 30px;}

    #banner .intro-text {width: 50%; max-width: 720px;}

    .text-bigbox, .text-smallbox {padding: 75px 50px;}

    .text-footer {padding: 10px 30px;}
	
}

/* Phablet
====================================================================== */
@media only screen and (min-width: 600px) and (max-width: 899px) {

    :root { --lang-selector-margin-top: 20px; --lang-selector-font-size: 16px; }
    html {font-size: 19px;}

    h1 {padding: 0 0 20px 0 !important; }

    h1::after {padding: 30px 0 0 0 !important;}

    h2 {padding: 0px 0 10px 0;}

    h2::after {padding: 25px 0 0 0;}

    .h3-text {padding: 10px 0 15px 25px; margin: 00px 0 10px;}

    p, li {-ms-hyphens: auto; -webkit-hyphens: auto; hyphens: auto;}

    #banner .banner-top {height: 240px;}

    #banner .banner-logo {max-width: 220px; right: 50px; top: 30px;}

    #banner .intro-text {width: 60%; max-width: 720px;}

    .text-bigbox, .text-smallbox {padding: 50px 50px;}

    .text-footer {padding: 10px 50px;}

    #footer {padding: 40px 0 60px;}

}

/* Phone
====================================================================== */
@media only screen and (max-width: 599px) {

    :root { --lang-selector-margin-top: 25px; --lang-selector-font-size: 16px; }
    html {font-size: 17px;}

    h1 {font-size: 2.25rem; padding: 0 0 10px 0 !important;}

    h1::after {padding: 25px 0 0 0 !important;}

    h2 {font-size: 1.65rem; padding: 0px 0 5px 0;}

    h2::after {padding: 20px 0 0 0;}

    h3 {font-size: 1.4rem;}

    .h3-text {padding: 10px 0 15px 25px; margin: 00px 0 10px;}

    p, li {-ms-hyphens: auto; -webkit-hyphens: auto; hyphens: auto;}

    ul.box { margin: 10px 0 10px 0 !important;}

    ul.box li::before {top: 6px;}

    #banner .banner-top {height: 230px;}

    #banner .banner-logo {max-width: 200px; right: 30px; top: 20px;}
    #banner .intro-text {width: 90%; max-width: 350px;}

    .text-bigbox, .text-smallbox {padding: 40px 30px 50px;}

    .text-footer {padding: 10px 30px;}

    .image-text {padding: 12px 15px; left: 20px; right: 20px; bottom: 20px;}

    #footer {padding: 40px 0; }

    #bottom {padding: 10px 30px; text-align: left;}

}