html
{
    -webkit-text-size-adjust: 100%;
    -webkit-font-smoothing: antialised;
}

body, textarea, input, select, th, td
{
    font-family: "PT-Sans", sans-serif;
    font-size: 5vw;
}

body, textarea, th, td, a
{
    color: #fff000;
}

body
{
     line-height: 1.2;
     margin-top: 5em;
     background-color: #004c92;
}

img
{
    vertical-align: bottom;
}

h1
{
    position: absolute;
    clip: rect( 1px, 1px, 1px, 1px );
}

h2
{
    margin: 0 0 1em 0;
    font-size: 7vw;
    font-style: italic;
}

h3
{
    margin: 0 0 1em 0;
    font-size: 7vw;
    font-style: italic;
}

a
{
    text-decoration: none;
    font-weight: bold;
}

a:hover,
a:focus,
a:active
{
    text-decoration: underline;
}

p
{
    margin-bottom: 1em;
}

address
{
    margin: 0 0 1em 0;
}

address.main
{
    font-weight: bold;
}

label.must:after
{
    content: ' *';
}

#contact input.error
{
    border: 1px solid red;
}

.texterror
{
    display: none;
}

.half
{
    width: calc( 50% - 1.5vw );
    float: left;
}

.half:nth-child(2n)
{
    padding-left: 2vw;
}

.half:nth-child(2n):after
{
    content: '';
    display: table;
    clear: both;
}

section,
footer
{
    padding: 3vw;
}

.navigation-footer__item {
    display: inline-block;
    margin-right: 1em;
}

.color1
{
    color: #fff000;
    background-color: #004c92;
}
.color1 h2,
.color1 h3,
.color1 p,
.color1 div,
.color1 ul,
.color1 a
{
    color: #fff000;
}

.color2
{
    color: #004c92;
    background-color: #fff000;
}
.color2 h2,
.color2 h3,
.color2 p,
.color2 div,
.color2 ul,
.color2 a
{
    color: #004c92;
}

#nav
{
    position: fixed;
    top: 0;
    width: 100%;

    background-color: #004c92;
    transition: background-color 1s;

    overflow: hidden;
    z-index: 10001;
    opacity: 0;

    height: auto;
    min-height: 56px;
    text-align: left;
    padding-top: 8px;
}

#nav:target
{
    opacity: 0.9;
    background-color: #fff000;
    transition: background-color 1s;
}

#nav a
{
    visibility: hidden;
    color: #004c92;
    text-decoration: none;
    transition: color 0.250s;
    margin-right: 1.3vw;
}

#nav a.active
{
    text-decoration: underline;
}

#nav:target a
{
    visibility: visible;
}

#smallscreen--open-menu,
#smallscreen--close-menu
{
    width: 50px;
    height: 40px;
    position: fixed;
    top: 0.4em;
    left: 2%;
    z-index: 10002;
    background-color: #004c92;
}

#smallscreen--close-menu
{
    display: none;
}

#smallscreen--open-menu hr,
#smallscreen--close-menu hr
{
    border: none;
    height: 2px;
    background: #fff000;
    margin: 8px;
}
#smallscreen--close-menu hr
{
    background: #fff;
}

#smallscreen--close-menu hr
{
    transform: rotate( -45deg ) translate( -7px, 7px );
}
#smallscreen--close-menu hr + hr
{
    transform: rotate( 45deg ) translate( 0, 0px );
}

#nav:target ~ #smallscreen--open-menu
{
    display: none;
}

#nav:target ~ #smallscreen--close-menu
{
    display: block;
}

#nav:target ~ #language
{
    display: none;
}

#nav ul
{
    padding: 0.2em 3vw 0.2em calc( 60px + 2vw );
}

#nav li
{
    display: inline-block;
}

#language
{
    position: fixed;
    top: 8px;
    right: 8px;

    background-color: #004c92;
    transition: background-color 1s;

    z-index: 10003;
}

#language ul
{
    margin: 0.2em 0.4em;
}

#language a
{
    text-decoration: none;
}

#hero h2
{
    font-size: 6.5vw;
    display: block;
    width: 83vw;
    margin: 5vw auto 0 auto;
    text-align: center;
    color: #fff000;
}

#hero h2 > div
{
    border-top: 1px solid #fff000;
    font-size: 5vw;
    text-align: right;
    font-weight: normal;
}

#hero img
{
    display: block;
    margin: 0 auto;
    width: 80%;
    height: auto;
}

#hero p
{
    font-size: 4.5vw;
    font-weight: bold;
}

#unique ul
{
    list-style: none;
}

#unique li
{
    margin: 0 0 1em 0;
}

#unique img
{
    display: block;
    width: 100%;
    height: auto;
    border: 1px solid #004c92;
    margin: 0 0 1em 0;
}

#unique p
{
    font-size: 6vw;
    text-align: center;
}

#simple h2
{
    text-align: center;
    padding: 2em 0;
    margin: 0;
}

#step123 ul
{
    list-style: none;
}

#step123 li
{
    margin: 0 0 1em 0;
}

#step123 img
{
    display: block;
    width: 100%;
    height: auto;
    margin: 0 0 1em 0;
}

#step123 p
{
    font-size: 6vw;
    text-align: center;
}

#step123 p.small
{
    font-size: 4vw;
    text-align: center;
}

#occasions
{
    padding: 0;
    position: relative;
}

#occasions img
{
    display: block;
    width: 100%;
    height: auto;
}

#occasions h2
{
    font-size: 5vw;
    position: absolute;
    bottom: 3vw;
    right: 3vw;
    padding: 1vw;
    padding-left: 8vw;
    background-color: #fff000;
    background-color: rgba( 255, 240, 0, 0.7 );
    margin: 0;
}

#occasions h2 div
{
    font-weight: normal;
}

#production
{
    padding: 0;
    position: relative;
}

#production img
{
    display: block;
    width: 100%;
    height: auto;
}

#production div
{
    position: absolute;
    top: 3vw;
    left: 3vw;
    right: 3vw;
    bottom: 3vw;
    padding: 1vw;
    background-color: #fff000;
    background-color: rgba( 255, 240, 0, 0.7 );
    border-radius: 1vw;
    overflow: scroll;
}

#production h2
{
    font-size: 6vw;
}

#production p
{
    font-weight: bold;
    margin: 0 0 1em 0;
}

#production ul
{
    margin: 0 0 0 1em;
}

#production li
{
    padding-bottom: 1vw;
}

#references h2
{
    font-size: 6vw;
    margin: 0;
}

#references .owl-controls
{
    position: absolute;
    top: -50px;
    right: 0;
}

#references .owl-theme .owl-controls .owl-page span
{
    background-color: #fff000;
}

#references img
{
    display: block;
    width: 100%;
    height: auto;
}

#scores h2
{
    text-align: center;
    padding: 2em 0;
    margin: 0;
}

#price img
{
    display: block;
    width: 100%;
    height: auto;
    margin: 1em 0;
}

#price ul
{
    margin: 0 0 0 1em;
}

#price li
{
    padding-bottom: 1vw;
}

#price p
{
    font-size: 3vw;
}

#price .price-productinfo_header
{
    background-color: #fff000;
    color: #004c92;
    padding: 0.8vw;
    font-size: 4vw;
}

#price .price-productinfo_wrapper
{
    overflow-x: auto;
}

#price .price-productinfo
{
    border: 2px solid #fff000;
    width: 100%;
}

#price .price-productinfo th
{
    text-align: left;
    font-weight: normal;
    padding: 0.1vw;
}

#price th.price-productinfo_headcenter,
#price td.price-productinfo_center
{
    text-align: center;
}

#price .price-productinfo th,
#price .price-productinfo td
{
    border: 1px solid #fff000;
    font-size: 4vw;
}


#contact h2
{
    padding: 1em 0;
    margin: 0;
}

#contact h3
{
    font-size: 5vw;
    margin: 0;
}

#contact .hotline,
#contact .fax
{
    display: inline-block;
    padding: 0 2em 2em 3em;
    font-style: italic;
}

#contact .hotline,
#contact .fax,
#contact .hotline a,
#contact .fax a
{
    color: #000;
    font-weight: bold;
}

#contact .hotline
{
    padding-top: 0.8em;
    background-image: url("../static/content/hotline.png");
    background-size: 100% auto;
    background-repeat: no-repeat;
}

#contact label
{
    display: block;
}

#contact input
{
    display: block;
    width: 100%;
    border: 0;
    padding: 0;
    margin-bottom: 0.3em;
}

#contact input[type="submit"]
{
    text-transform: uppercase;
    color: #004c92;
    font-weight: bold;
    width: auto;
    background-color: transparent;
    margin-left: auto;
}

.subsection-imprint footer,
.subsection-imprint footer a,
.subsection-dataprotection footer,
.subsection-dataprotection footer a
{
    background-color: #fff000;
    color: #004c92;
}
