/* open-sans-300 - latin */
@font-face {
    font-family: 'Open Sans';
    font-style: normal;
    font-weight: 300;
    src: url('../fonts/opensans/open-sans-v34-latin-300.eot'); /* IE9 Compat Modes */
    src: local(''),
    url('../fonts/opensans/open-sans-v34-latin-300.eot?#iefix') format('embedded-opentype'), /* IE6-IE8 */
    url('../fonts/opensans/open-sans-v34-latin-300.woff2') format('woff2'), /* Super Modern Browsers */
    url('../fonts/opensans/open-sans-v34-latin-300.woff') format('woff'), /* Modern Browsers */
    url('../fonts/opensans/open-sans-v34-latin-300.ttf') format('truetype'), /* Safari, Android, iOS */
    url('../fonts/opensans/open-sans-v34-latin-300.svg#OpenSans') format('svg'); /* Legacy iOS */
}

/* open-sans-regular - latin */
@font-face {
    font-family: 'Open Sans';
    font-style: normal;
    font-weight: 400;
    src: url('../fonts/opensans/open-sans-v34-latin-regular.eot'); /* IE9 Compat Modes */
    src: local(''),
    url('../fonts/opensans/open-sans-v34-latin-regular.eot?#iefix') format('embedded-opentype'), /* IE6-IE8 */
    url('../fonts/opensans/open-sans-v34-latin-regular.woff2') format('woff2'), /* Super Modern Browsers */
    url('../fonts/opensans/open-sans-v34-latin-regular.woff') format('woff'), /* Modern Browsers */
    url('../fonts/opensans/open-sans-v34-latin-regular.ttf') format('truetype'), /* Safari, Android, iOS */
    url('../fonts/opensans/open-sans-v34-latin-regular.svg#OpenSans') format('svg'); /* Legacy iOS */
}

/* open-sans-500 - latin */
@font-face {
    font-family: 'Open Sans';
    font-style: normal;
    font-weight: 500;
    src: url('../fonts/opensans/open-sans-v34-latin-500.eot'); /* IE9 Compat Modes */
    src: local(''),
    url('../fonts/opensans/open-sans-v34-latin-500.eot?#iefix') format('embedded-opentype'), /* IE6-IE8 */
    url('../fonts/opensans/open-sans-v34-latin-500.woff2') format('woff2'), /* Super Modern Browsers */
    url('../fonts/opensans/open-sans-v34-latin-500.woff') format('woff'), /* Modern Browsers */
    url('../fonts/opensans/open-sans-v34-latin-500.ttf') format('truetype'), /* Safari, Android, iOS */
    url('../fonts/opensans/open-sans-v34-latin-500.svg#OpenSans') format('svg'); /* Legacy iOS */
}

/* open-sans-600 - latin */
@font-face {
    font-family: 'Open Sans';
    font-style: normal;
    font-weight: 600;
    src: url('../fonts/opensans/open-sans-v34-latin-600.eot'); /* IE9 Compat Modes */
    src: local(''),
    url('../fonts/opensans/open-sans-v34-latin-600.eot?#iefix') format('embedded-opentype'), /* IE6-IE8 */
    url('../fonts/opensans/open-sans-v34-latin-600.woff2') format('woff2'), /* Super Modern Browsers */
    url('../fonts/opensans/open-sans-v34-latin-600.woff') format('woff'), /* Modern Browsers */
    url('../fonts/opensans/open-sans-v34-latin-600.ttf') format('truetype'), /* Safari, Android, iOS */
    url('../fonts/opensans/open-sans-v34-latin-600.svg#OpenSans') format('svg'); /* Legacy iOS */
}

/* open-sans-700 - latin */
@font-face {
    font-family: 'Open Sans';
    font-style: normal;
    font-weight: 700;
    src: url('../fonts/opensans/open-sans-v34-latin-700.eot'); /* IE9 Compat Modes */
    src: local(''),
    url('../fonts/opensans/open-sans-v34-latin-700.eot?#iefix') format('embedded-opentype'), /* IE6-IE8 */
    url('../fonts/opensans/open-sans-v34-latin-700.woff2') format('woff2'), /* Super Modern Browsers */
    url('../fonts/opensans/open-sans-v34-latin-700.woff') format('woff'), /* Modern Browsers */
    url('../fonts/opensans/open-sans-v34-latin-700.ttf') format('truetype'), /* Safari, Android, iOS */
    url('../fonts/opensans/open-sans-v34-latin-700.svg#OpenSans') format('svg'); /* Legacy iOS */
}

/* open-sans-800 - latin */
@font-face {
    font-family: 'Open Sans';
    font-style: normal;
    font-weight: 800;
    src: url('../fonts/opensans/open-sans-v34-latin-800.eot'); /* IE9 Compat Modes */
    src: local(''),
    url('../fonts/opensans/open-sans-v34-latin-800.eot?#iefix') format('embedded-opentype'), /* IE6-IE8 */
    url('../fonts/opensans/open-sans-v34-latin-800.woff2') format('woff2'), /* Super Modern Browsers */
    url('../fonts/opensans/open-sans-v34-latin-800.woff') format('woff'), /* Modern Browsers */
    url('../fonts/opensans/open-sans-v34-latin-800.ttf') format('truetype'), /* Safari, Android, iOS */
    url('../fonts/opensans/open-sans-v34-latin-800.svg#OpenSans') format('svg'); /* Legacy iOS */
}

/* open-sans-300italic - latin */
@font-face {
    font-family: 'Open Sans';
    font-style: italic;
    font-weight: 300;
    src: url('../fonts/opensans/open-sans-v34-latin-300italic.eot'); /* IE9 Compat Modes */
    src: local(''),
    url('../fonts/opensans/open-sans-v34-latin-300italic.eot?#iefix') format('embedded-opentype'), /* IE6-IE8 */
    url('../fonts/opensans/open-sans-v34-latin-300italic.woff2') format('woff2'), /* Super Modern Browsers */
    url('../fonts/opensans/open-sans-v34-latin-300italic.woff') format('woff'), /* Modern Browsers */
    url('../fonts/opensans/open-sans-v34-latin-300italic.ttf') format('truetype'), /* Safari, Android, iOS */
    url('../fonts/opensans/open-sans-v34-latin-300italic.svg#OpenSans') format('svg'); /* Legacy iOS */
}

/* open-sans-italic - latin */
@font-face {
    font-family: 'Open Sans';
    font-style: italic;
    font-weight: 400;
    src: url('../fonts/opensans/open-sans-v34-latin-italic.eot'); /* IE9 Compat Modes */
    src: local(''),
    url('../fonts/opensans/open-sans-v34-latin-italic.eot?#iefix') format('embedded-opentype'), /* IE6-IE8 */
    url('../fonts/opensans/open-sans-v34-latin-italic.woff2') format('woff2'), /* Super Modern Browsers */
    url('../fonts/opensans/open-sans-v34-latin-italic.woff') format('woff'), /* Modern Browsers */
    url('../fonts/opensans/open-sans-v34-latin-italic.ttf') format('truetype'), /* Safari, Android, iOS */
    url('../fonts/opensans/open-sans-v34-latin-italic.svg#OpenSans') format('svg'); /* Legacy iOS */
}

/* open-sans-500italic - latin */
@font-face {
    font-family: 'Open Sans';
    font-style: italic;
    font-weight: 500;
    src: url('../fonts/opensans/open-sans-v34-latin-500italic.eot'); /* IE9 Compat Modes */
    src: local(''),
    url('../fonts/opensans/open-sans-v34-latin-500italic.eot?#iefix') format('embedded-opentype'), /* IE6-IE8 */
    url('../fonts/opensans/open-sans-v34-latin-500italic.woff2') format('woff2'), /* Super Modern Browsers */
    url('../fonts/opensans/open-sans-v34-latin-500italic.woff') format('woff'), /* Modern Browsers */
    url('../fonts/opensans/open-sans-v34-latin-500italic.ttf') format('truetype'), /* Safari, Android, iOS */
    url('../fonts/opensans/open-sans-v34-latin-500italic.svg#OpenSans') format('svg'); /* Legacy iOS */
}

/* open-sans-600italic - latin */
@font-face {
    font-family: 'Open Sans';
    font-style: italic;
    font-weight: 600;
    src: url('../fonts/opensans/open-sans-v34-latin-600italic.eot'); /* IE9 Compat Modes */
    src: local(''),
    url('../fonts/opensans/open-sans-v34-latin-600italic.eot?#iefix') format('embedded-opentype'), /* IE6-IE8 */
    url('../fonts/opensans/open-sans-v34-latin-600italic.woff2') format('woff2'), /* Super Modern Browsers */
    url('../fonts/opensans/open-sans-v34-latin-600italic.woff') format('woff'), /* Modern Browsers */
    url('../fonts/opensans/open-sans-v34-latin-600italic.ttf') format('truetype'), /* Safari, Android, iOS */
    url('../fonts/opensans/open-sans-v34-latin-600italic.svg#OpenSans') format('svg'); /* Legacy iOS */
}

/* open-sans-700italic - latin */
@font-face {
    font-family: 'Open Sans';
    font-style: italic;
    font-weight: 700;
    src: url('../fonts/opensans/open-sans-v34-latin-700italic.eot'); /* IE9 Compat Modes */
    src: local(''),
    url('../fonts/opensans/open-sans-v34-latin-700italic.eot?#iefix') format('embedded-opentype'), /* IE6-IE8 */
    url('../fonts/opensans/open-sans-v34-latin-700italic.woff2') format('woff2'), /* Super Modern Browsers */
    url('../fonts/opensans/open-sans-v34-latin-700italic.woff') format('woff'), /* Modern Browsers */
    url('../fonts/opensans/open-sans-v34-latin-700italic.ttf') format('truetype'), /* Safari, Android, iOS */
    url('../fonts/opensans/open-sans-v34-latin-700italic.svg#OpenSans') format('svg'); /* Legacy iOS */
}

/* open-sans-800italic - latin */
@font-face {
    font-family: 'Open Sans';
    font-style: italic;
    font-weight: 800;
    src: url('../fonts/opensans/open-sans-v34-latin-800italic.eot'); /* IE9 Compat Modes */
    src: local(''),
    url('../fonts/opensans/open-sans-v34-latin-800italic.eot?#iefix') format('embedded-opentype'), /* IE6-IE8 */
    url('../fonts/opensans/open-sans-v34-latin-800italic.woff2') format('woff2'), /* Super Modern Browsers */
    url('../fonts/opensans/open-sans-v34-latin-800italic.woff') format('woff'), /* Modern Browsers */
    url('../fonts/opensans/open-sans-v34-latin-800italic.ttf') format('truetype'), /* Safari, Android, iOS */
    url('../fonts/opensans/open-sans-v34-latin-800italic.svg#OpenSans') format('svg'); /* Legacy iOS */
}


h2, h4 {
    font-weight: 300
}

.nav a:hover, a:hover, body a {
    text-decoration: none !important
}

#main, h3 {
    padding-top: 1em
}

.align_center, .align_left {
    top: .5em;
    position: relative
}

.nav-tree li a, blockquote {
    color: #777
}

#footer, .breadcrumbs, .languages {
    font-size: 80%
}

.align_center, .align_left, header, header .container {
    position: relative
}



* {
    box-sizing: border-box
}

body, input[type=text], td, textarea {
    font-family: Montserrat, serif;
    color: #444
}

.justtextbox td {
    vertical-align: top !important
}

.justtextbox table {
    border: 0 !important;
    color: #000
}

img {
    max-width: 100%
}

h2 {
    font-size: 1.8rem
}

h3 {
    border-top: 0 solid #eee;
    color: #575759
}

body a {
    color: #333;
    border-bottom: 0 solid #ccc
}

.nav a:hover, a:hover {
    color: #c00;
    border-color: none
}

blockquote {
    margin-left: 0;
    padding-left: 1.5em;
    padding-right: 2em;
    border-left: 4px solid #ddd;
    font-style: italic
}

code, pre {
    background: #eee;
    border: 1px solid #ddd
}

pre {
    font-size: 14px;
    line-height: 1.4em;
    padding: 1em;
    border-left: 4px solid #ddd
}

.topnav, .topnav li {
    list-style: none;
    padding: 0;
    margin: 0
}

.topnav li {
    float: left;
    margin-right: 1em;
    margin-bottom: 1em
}

.topnav a {
    padding: .25em .5em;
    text-decoration: none;
    display: block;
    background: #eee;
    color: #333;
    border: 1px solid #eee
}

.languages, .languages li {
    padding: 0;
    margin: 0;
    list-style: none
}

.topnav a:hover, .topnav li.current a {
    background: #ddd;
    border-color: #ddd
}

#footer, #main {
    clear: both;
    border-top: 1px solid #eee
}

.topnav li.edit a {
    background: 0 0
}

.languages {
    float: right;
    width: 30%
}

.languages li {
    display: inline-block
}

.languages a {
    padding: 0 .5em;
    border: none;
    display: inline;
    border-left: 1px solid #ccc
}

.languages li.current a, .nav a {
    font-weight: 700
}

.languages li:first-child a {
    border: none;
    padding-left: 0
}

form.search {
    margin: 0;
    width: none;
    padding-bottom: 1em
}

.nav li, figure {
    margin: 1em 0
}

form.search input {
    margin: 0;
    padding: .25em .5em;
    border: 1px solid #ccc;
    width: 100%
}

.breadcrumbs {
    width: 70%;
    float: left;
    clear: both;
    padding: 10px 15px
}

.breadcrumbs span:after {
    content: ">";
    color: #999;
    padding-left: .5em;
    padding-right: .25em
}

#main {
    margin-top: 1em
}

#content {
    width: 85%
}

#content, #sidebar {
    padding-bottom: 2em
}

body.has-sidebar #content {
    width: 65%;
    float: left
}

body.has-sidebar #sidebar {
    width: 35%;
    padding-left: 5%;
    float: left
}

.nav {
    margin-left: 0;
    padding-left: 0;
    list-style: none
}

.nav .nav {
    padding-left: 1.5em;
    list-style: disc
}

#sidebar img + blockquote, .nav-tree li {
    margin-top: 0
}

.nav-tree li {
    margin-bottom: 0
}

.nav .current > a {
    color: #333
}

.align_left {
    float: left;
    margin: 0 1em .5em 0;
    max-width: 50%
}

.align_right {
    float: right;
    margin: 0 0 .5em 1em;
    max-width: 50%
}

.align_center {
    display: block;
    margin: 1em auto
}

figure {
    display: table;
    width: 1px
}

figure img {
    display: table-row;
    margin-bottom: .5em
}

figure figcaption {
    display: table-row;
    font-size: smaller;
    color: #777;
    line-height: 1.4em
}

#FormBuilder_shop .InputfieldEmail, #FormBuilder_shop .InputfieldTextarea {
    margin: 0 0 1.5em;
    width: 100%
}

#FormBuilder_shop .Inputfield_firma, #FormBuilder_shop .Inputfield_kontakt_name, #FormBuilder_shop .Inputfield_plz_ort, #FormBuilder_shop .Inputfield_strasse_hausnummer {
    width: 32%;
    margin: 0 21px 1.5em 0
}

#FormBuilder_shop .Inputfield_anfragegrund, #FormBuilder_shop .Inputfield_telefonnummer {
    width: 32%;
    margin: 0 0 1.5em
}

@media only screen and (max-width: 1366px) {
    .FormBuilder #FormBuilder input[type=text] {
        width: auto
    }
}

@media only screen and (max-width: 767px) {
    .breadcrumbs, .languages {
        margin-bottom: 1em
    }

    #content, .languages, .topnav, form.search {
        width: 100%
    }

    .topnav {
        float: none;
        clear: both
    }

    .breadcrumbs {
        margin-top: 0
    }

    body, td, textarea {
        font-size: 100%
    }

    body.has-sidebar #content, body.has-sidebar #sidebar {
        float: none;
        width: 100%;
        padding: 0
    }

    form.search {
        float: none;
        padding-bottom: 0
    }

    #sidebar {
        border-top: 1px solid #eee;
        padding-top: 1em
    }

    .align_center, .align_left, .align_right {
        display: block;
        float: none;
        margin: 1em auto;
        max-width: 100%
    }
}

@media only screen and (min-width: 1200px) {
    body, td, textarea {
        font-size: 115%
    }
}

.nav-link-current {
    color: #c00;
    font-weight: 700;
    padding: 0 18px
}

.element-focusable:focus {
    clip: auto;
    overflow: visible;
    height: auto
}

.bypass-to-main:focus {
    top: 0;
    left: 0;
    width: 100%;
    height: 40px;
    line-height: 40px;
    text-align: center;
    background: #333;
    color: #fff
}

#wrap_Inputfield- {
    display: none
}

#wrap_kontakt_submit button {
    text-align: center;
    padding: 15px;
    font-size: 25px;
    width: 100%;
    border: 0
}

#wrap_shop_submit {
    border: 0
}

@media only screen and (min-width: 900px) {
    #FormBuilder_kontakt .InputfieldEmail, #FormBuilder_kontakt .InputfieldTextarea {
        margin: 0 0 1.5em;
        width: 100% !important
    }

    #FormBuilder_kontakt .Inputfield_firma, #FormBuilder_kontakt .Inputfield_kontakt_name, #FormBuilder_kontakt .Inputfield_plz_ort, #FormBuilder_kontakt .Inputfield_strasse_hausnummer {
        width: 32% !important;
        margin: 0 21px 1.5em 0
    }

    #FormBuilder_kontakt .Inputfield_anfragegrund, #FormBuilder_kontakt .Inputfield_telefonnummer {
        width: 32% !important;
        margin: 0 0 1.5em
    }

    .Inputfield_anfragegrund, .Inputfield_brennstoff, .Inputfield_e_mail, .Inputfield_firma, .Inputfield_kontakt_name, .Inputfield_land, .Inputfield_leistung, .Inputfield_plz_ort, .Inputfield_strasse_hausnummer, .Inputfield_telefonnummer {
        float: left
    }

    .kontakt_submit, .shop_submit {
        margin: 0;
        width: 100%
    }

    .Inputfield_rechenaufgabe {
        float: left;
        margin: 0 0 1.5em
    }

    #singleimage {
        width: 30%;
        float: right;
        margin: 0 0 30px 30px;
        border-radius: 5px
    }
}

@media only screen and (max-width: 899px) {
    #FormBuilder_kontakt .InputfieldEmail, #FormBuilder_kontakt .InputfieldTextarea {
        margin: 0 0 1.5em;
        width: 100% !important
    }

    #FormBuilder_kontakt .Inputfield_firma, #FormBuilder_kontakt .Inputfield_kontakt_name, #FormBuilder_kontakt .Inputfield_plz_ort, #FormBuilder_kontakt .Inputfield_strasse_hausnummer {
        width: 100% !important;
        margin: 0 21px 1.5em 0
    }

    #FormBuilder_kontakt .Inputfield_anfragegrund, #FormBuilder_kontakt .Inputfield_telefonnummer {
        width: 100% !important;
        margin: 0 0 1.5em
    }

    .Inputfield_anfrage, .Inputfield_anfragegrund, .Inputfield_brennstoff, .Inputfield_e_mail, .Inputfield_firma, .Inputfield_kontakt_name, .Inputfield_land, .Inputfield_leistung, .Inputfield_plz_ort, .Inputfield_strasse_hausnummer, .Inputfield_telefonnummer, .kontakt_submit, .shop_submit {
        width: 100% !important;
        margin: 10px 0
    }

    .Inputfield_rechenaufgabe {
        width: 100% !important;
        margin: 10px 0 !important
    }

    #singleimage {
        width: 100%;
        float: none;
        margin: 0;
        border-radius: 5px
    }
}

#projektbild-singleimage {
    width: 100%;
    border-radius: 20px
}

header video {
    object-fit: cover;
    position: absolute;
    top: 50%;
    left: 50%;
    min-width: 100%;
    min-height: 100%;
    width: 100%;
    height: auto;
    z-index: 0;
    -ms-transform: translateX(-50%) translateY(-50%);
    -moz-transform: translateX(-50%) translateY(-50%);
    -webkit-transform: translateX(-50%) translateY(-50%);
    transform: translateX(-50%) translateY(-50%)
}

header {
    background-color: #000;
    height: 75vh;
    min-height: 25rem;
    width: 100%;
    overflow: hidden;
    margin-top: 45px
}

header .container {
    z-index: 2
}

header .overlay {
    position: absolute;
    top: 0;
    left: 0;
    height: auto;
    width: 100%;
    background-color: #000;
    opacity: .5;
    z-index: 1
}

@media screen and (min-width: 768px) and (max-width: 1023px) {
    header {
        margin-top: 0
    }
}

@media screen and (min-width: 1024px) and (max-width: 1100px) {
    header {
        margin-top: 0
    }
}

@media (pointer: coarse) and (hover: none) {
    header {
        margin-top: 50px
    }

    header video {
        position: absolute;
        top: 50%;
        left: 50%;
        min-width: 100%;
        min-height: 100%;
        width: auto;
        height: auto;
        z-index: 0;
        -ms-transform: translateX(-50%) translateY(-50%);
        -moz-transform: translateX(-50%) translateY(-50%);
        -webkit-transform: translateX(-50%) translateY(-50%);
        transform: translateX(-50%) translateY(-50%)
    }
}