/****************************************************

	SITE: Vaillant Kompetenzpartner KP2017-Styles

	09.01.2018
	grass@mai-multimedia.de 2012

	11.02.2018	Kleine Typo-Update (TM)
	15.02.2018	Anpassungen responsive Header
	14.04.2020  heizungsberatungOnline

******************************************************/


@font-face {
    font-family: 'Roboto';
    src:
            url('../fonts/Roboto/roboto-regular.woff2') format('woff2'),
            url('../fonts/Roboto/roboto-regular.woff') format('woff'),
            url('../fonts/Roboto/roboto-regular.ttf') format('truetype');
    font-weight: normal;
    font-style: normal;
}
@font-face {
    font-family: 'Roboto';
    src:
            url('../fonts/Roboto/roboto-light.woff2') format('woff2'),
            url('../fonts/Roboto/roboto-light.woff') format('woff'),
            url('../fonts/Roboto/roboto-light.ttf') format('truetype');
    font-weight: 300;
    font-style: normal;
}
@font-face {
    font-family: 'Roboto';
    src:
            url('../fonts/Roboto/roboto-medium.woff2') format('woff2'),
            url('../fonts/Roboto/roboto-medium.woff') format('woff'),
            url('../fonts/Roboto/roboto-medium.ttf') format('truetype');
    font-weight: 500;
    font-style: normal;
}
@font-face {
    font-family: 'Roboto';
    src:
            url('../fonts/Roboto/roboto-bold.woff2') format('woff2'),
            url('../fonts/Roboto/roboto-bold.woff') format('woff'),
            url('../fonts/Roboto/roboto-bold.ttf') format('truetype');
    font-weight: bold;
    font-style: normal;
}

@font-face {
    font-family: 'm3symbols';
    src:url('../fonts/m3symbols.eot?t=3');
    src:url('../fonts/m3symbols.eot?t=3') format('embedded-opentype'),
    url('../fonts/m3symbols.woff?t=3') format('woff'),
    url('../fonts/m3symbols.ttf?t=3') format('truetype'),
    url('../fonts/m3symbols.svg?t=3') format('svg');
    font-weight: normal;
    font-style: normal;
}

* {
    margin: 0; padding: 0;
    -moz-box-sizing: border-box;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    -ms-hyphens: auto;
    -webkit-hyphens: auto;
    hyphens: auto;
}

html, body { height: 100%; }

body {
    font-family: 'Roboto', sans-serif;
    line-height: 1.5625;
}
body.noscroll {
    position: fixed;
    overflow-y: scroll;
    width: 100%;
}
h1, h2, h3, h4, h5, li li, li p, td p, td, blockquote p { font-size: 1em; font-weight: 400; }
section { clear: both; }

/****************************************************
	ALLGEMEINE STYLES
******************************************************/

.clear { clear: both; }
.invisible { display: none; }

.clearfix, .cf {
    zoom: 1; }
.clearfix:before, .clearfix:after, .cf:before, .cf:after {
    content: "";
    display: table; }
.clearfix:after, .cf:after {
    clear: both; }

img { border: none; }
.imgLeft { float: left;  clear: left; margin: 2px 10px 10px 0;}
.imgRight { float: right; margin: 4px 0 10px 10px; }

.imgRight img, .imgLeft img { float: none; }
img {
    max-width: 100%;
    height: auto;
}
a.imgRight, a.imgLeft {max-width: 50%;}

figcaption * { margin: 0; padding: 0; }


hr {
    border: 0; /* Fr Firefox und Opera */
    border-top: solid 1px #d0d0d0;
    border-bottom: transparent;
    clear: both;
    margin: 1em 0;
}

h1, h2, h3, h4, p, ul, ol { margin: 1em 0 1em 0; }
h1, .h1 { font-size: 2.25rem; line-height:2.75rem; font-weight: 300; margin-bottom: 0.65em; }
.h1 { display: block; }
p .h1 { margin-top: .75em; }
h1 span { display: block; color: #666; }
#Subtitle { color: #666!important; }
h2 { font-size: 1.5rem; line-height: 2.125rem; }
h3 { font-size: 1.3125rem; line-height: 1.75rem; }

.content ul, .content ol { padding: 0 0 0 1rem; }

.linkButton {
    display: inline-block;
    text-decoration: none;
    font-weight: 300;
}
.more {
    display: inline-block;
    position: relative;
    padding-left: 1em;
}
.more:before {
    content: "c";
    position: absolute;
    display: inline-block;
    left: 0;
    top: 4px;
    line-height: .5em;
    text-decoration: none;
}
a .more {  text-decoration: underline; }
.next { position: relative; padding-right: 1em; }
.next:after {
    content: "c";
    position: absolute;
    right: 0;
    top: 0.25em;
    text-decoration: none;
}
.prev { position: relative; padding-left: 1em; }
.prev:before {
    content: "v";
    position: absolute;
    left: 0;
    top: 0.25em;
    text-decoration: none;
}
.openHide { position: relative; padding-left: 1em; }
.openHide:after {
    content: "d";
    position: relative;
    top: 0.1em;
    right: -10px;
}
.openHide.open:after {
    content: "u";
}

[class^="icon_"]:before, [class*=" icon_"]:before, .more:before, .prev:before, .next:after, .openHide:after, .icon_bubble span:before {
    font-family: m3symbols;
    speak: none;
    font-style: normal;
    font-weight: normal;
    font-variant: normal;
    text-transform: none;
    line-height: 1;

    /* Better Font Rendering =========== */
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
}

.icon_phone:before { content: "a" }
.icon_notdienst:before { content: "s" }
.icon_notdienst1:before { content: "k" }
.icon_bubble span:before { content: "h" }
.icon_bubbles:before { content: "#" }
.icon_marker:before { content: "i" }
.icon_clock:before { content: "j" }
.icon_mail:before { content: "ä" }
.icon_share:before { content: "ö" }
.icon_arrowright:before { content: "c" }
.icon_arrowleft:before { content: "v" }

.icon_facebook:before { content: "f" }
.icon_twitter:before { content: "t" }
.icon_youtube:before { content: "y" }
.icon_googleplus:before { content: "g" }
.icon_xing:before { content: "x" }
.icon_instagram:before { content: "e" }
.icon_pinterest:before { content: "b" }

.icon_0:before { content: "0" }
.icon_1:before { content: "1" }
.icon_2:before { content: "2" }
.icon_3:before { content: "3" }
.icon_4:before { content: "4" }
.icon_5:before { content: "5" }
.icon_6:before { content: "6" }
.icon_7:before { content: "7" }
.icon_8:before { content: "8" }
.icon_9:before { content: "9" }
.icon_10:before { content: "\e900" }

div[class^="icon_"], div[class*=" icon_"] {
    padding-left: 40px;
    position: relative;
}
div[class^="icon_"]:before, div[class*=" icon_"]:before {
    position: absolute;
    font-size: 1.5em;
    left: 0;
    top: 0.125em;
}

.notdienst_label:before { color: #000!important; font-size: 1rem!important; content: "Notdienst: " }

#map {
    height: 300px;
    width: 100%;
}
.routingPage #map {
    height: 500px;
}

.infoBox {
    background-color: #eee;
    padding: 20px 40px;
}

/****************************************************
	Layout
******************************************************/

#wrap { overflow: hidden; }
.innerWrap {
    position: relative;
    max-width: 1360px;
    margin: 0 auto;
}
.content {
    padding: 40px 4.411764705882353%;
}
.contentWrap > .content h1:first-child { margin-top: 0; }

#header {
    border-top: solid 5px #000;
    position: relative;
    z-index: 100;
}
#header .innerWrap {
    z-index: 10;
}
#header .content {
    padding-bottom: 0;
}
#logo {
    float: left;
}
#vaillantLogo {
    float: right;
}
#vaillantFooterLogo { display: none; }



.footer1, .footer2 {
    color: #fff;
    margin: 5px;
}
.footer1 a, .footer2 a {
    color: #fff;
}
.footer1 h4 {
    font-weight: normal;
}
.subNavFooter {
    margin-top: 40px;
}
.footer1 [class^="icon_"], .footer1 [class*=" icon_"] {
    padding-left: 40px;
    position: relative;
}
.footer1 [class^="icon_"]:before, .footer1 [class*=" icon_"]:before {
    position: absolute;
    font-size: 1.5em;
    left: 0;
    top: 0.125em;
}


#footerContactBox, #footerContactForm {
    float: left;
    width: 50%;
    padding: 10px;
}
.mainFooter .innerWrap {
    overflow: hidden;
}
.mainFooter .content {
    margin: 0 -10px;
}
#footerContactBox > div {
    padding-bottom: 2em;
}

.mainFooter.wide #footerContactBox { width: 100% }
.mainFooter.wide #footerContactBox > div { float: left; width: 50%;}

/* Standard */
.standardWrap {
    min-height: 520px;
    margin: 5px;
}
.standardInnerWrap {
    max-width: 1360px;
    margin: 0 auto;
}
.standardWrap .contentWrap {
    position: relative;
    z-index: 10;
    width: 70%;
    float: right;
    min-height: 10px;
}
.contentWrap .content {
    max-width: 800px;
    padding: 70px 30px;
    margin: 0;
}

.standardWrap .contextWrap {
    position: relative;
    z-index: 5;
    width: 30%;
    float: left;
    min-height: 10px;
    padding: 42px 5px 0 0;
}

.standardWrap .fullWidth .contentWrap, .standardWrap .fullWidth .contextWrap { float: none; width: 100%;}
.standardWrap .fullWidth .contentWrap .content { max-width: none; padding: 40px 4.411764705882353%; }
.standardWrap .fullWidth #mainMediaBox { text-align: left; padding: 20px; }
.standardWrap .fullWidth #mainMediaBox figcaption { display: block }

.contentWrap, .contextWrap { min-height: 1px; }
.contextWrap {

}

.contentWrap ul, .contentWrap ol,
.contextWrap ul, .contextWrap ol
{
    padding-left: 1.6em;
}

/****************************************************
	Homepage Elemente
******************************************************/

.catTyp_113 #wrap > section, #homepageVaillantTools > section { margin: 5px; }
.catTyp_113 #keyvisuals  { padding: 0 5px; }
.catTyp_113 #header  { box-shadow: 1px 2px 6px 0 rgba(0,0,0,0.50); }


#homeEditContent {
    position: relative;
    z-index: 75;
}
#homeEditContent .content.withImage { padding-top: 0; padding-left: 0; }
#homeEditContent .content.withImage .contentText {
    float: right;
    width: 68.615384615384615%;
    padding: 40px 0 0 4.807692307692308%;
}
#homeEditContent #mainMediaBox {
    float: left;
    width: 31.384615384615385%;
    padding: 40px 0;
}
#homeEditContent #mainMediaBox figure {
    text-align: center;
}


#homeEditContent .contentText .box1.twoCol {
    float: left;
    width: 68.615384615384615%;
    padding-right: 20px;
}

#homeEditContent .contentText .box2 {
    float: right;
    width: 31.384615384615385%;
    padding-top: .5rem;
}


/****************************************************
	News
******************************************************/

.homeNews ul {
    float: left;
    width: 100%;
    list-style: none;
    padding: 0;
}
.homeNews li {
    float: left;
    width: 50%;
}
.homeNews li:first-child { padding-right: 10px; }
.homeNews li:last-child { padding-left: 10px; }
.homeNews li a {
    position: relative;
    display: inline-block;
    background-color: #fff;
    width: 100%;
    border-left: solid 5px #000;
    text-decoration: none;
    padding: 20px 20px 40px 50px;
    font-size: 1.625em;
    transition: all .5s ease;
    display: flex;
}
.homeNews li a div.newsImage { flex-shrink: 0 }
.homeNews li a:before {
    position: absolute;
    left: 20px;
    top: 18px;
    color: #d0d0d0;
    font-size: 1.5em;
}
.homeNews li a:hover {
    transform: scale(1.02);
    box-shadow:0 1px 6px rgba(0,0,0,.4);
}
.homeNews .more {
    float: right;
}
.homeNews img {

}

/* Listen */
ul.docList { margin: 0; padding: 0; list-style: none; }
ul.docList li {
    position: relative;
    padding: 0 0 1em 30px;
    border-bottom: solid 1px #ddd;
    margin-bottom: 2em;
}
ul.docList li:last-child { border: none; }
ul.docList li:before {
    position: absolute;
    left: 0;
    top: 0;
    color: #d0d0d0;
    font-size: 1.5em;
}
.docListContent { display: flex; }
.docListContent h3 { margin-top: 0; }
.docListContent .docListImgHolder { padding-right: 20px; flex-shrink: 0; margin-top: 5px; }

#siteNav { clear: both; position: relative; padding-top: 2em; }

#siteNav span.prevNext { display: none; }
#siteNav .prev { float: left; }
#siteNav .goList { position: absolute; left: 50%; transform: translateX(-50%); top: 2em;}
#siteNav .next { float: right; }

/****************************************************
	TeaserBoxen Homepage
******************************************************/

.teaserBox {
    background-size: cover;
}

.teaserBox ul {
    list-style: none;
    margin: 0 -5px;
    padding: 0;
}
.teaserBox li {
    float: left;
    position: relative;
    padding: 5px;
    text-align: center;
}

.teaserCount_2 li { width: 50%; }
.teaserCount_3 li, .teaserCount_6 li  { width: 33.33333%; }
.teaserCount_4 li, .teaserCount_7 li, .teaserCount_8 li { width: 25%; }
.teaserCount_5 li, .teaserCount_9 li, .teaserCount_10 li { width: 20%; }
.teaserBox li a {
    display: block;
    position: relative;
    width: 100%;
    height: 100%;
    transition: all .5s ease;
    max-height: 310px;
}
.teaserBox li a:before {
    content: "";
    display: block;
    padding-top: 100%;
}
.teaserBox li a:hover {
    transform: scale(1.02);
    box-shadow:0 1px 6px rgba(0,0,0,.4);
    color: #fff;
}
.teaserBox li a h3 {
    position: absolute;
    width: 100%;
    text-align: center;
    left: 0;
    top: 50%;
    transform: translateY(-50%);
}
.teaserBox li a h3.icon:before {
    display: block;
    font-size: 3rem;
    color: #fff;
    font-weight: 300;
}



/****************************************************
	KontaktButtons Homepage
******************************************************/

#homeContactBoxWrap {
    clear: both;
    position: absolute;
    right: 0;
    top: -185px;
}
.phoneButton {
    position: relative;
    display: block;
    width: 180px;
    height: 180px;
    color: #000;
    text-decoration: none;

    background-color: #eee;
}
.phoneButton span {
    position: absolute;
    left: 0;
    width: 100%;
    text-align: center;
    top: 50%;
    transform: translateY(-50%);
}
.phoneButton span:before {
    display: block;
    font-size: 2rem;
    color: #fff;
    font-weight: 300;
}
.phoneButton a {
    display: block;
    text-decoration: none;
}
.contactPhoneButton {

}
.notdienstPhoneButton {
    margin-top: 5px;
}

/****************************************************
	Mix-Elemente
******************************************************/

.siteAddress {}
.siteNotdienstText {}
.siteNotdienstText b { font-weight: normal; font-size: 1.5em; }
.siteOeffungszeiten {}
#socialMediaBox {}
#socialMediaList {
    list-style: none;
    padding: 0;
    margin: 0;
}
#socialMediaList li { display: inline-block; }
#socialMediaList li a { display: inline-block; width: 50px; padding-top: 50px; overflow: hidden; height: 0; font-size: 0; text-decoration: none; }
#socialMediaList [class^="icon_"]:before, #socialMediaList [class*=" icon_"]:before { color: #d0d0d0; font-size: 50px; }
#socialMediaList li a:hover:before { color: #fff; }

.standardWrap #mainMediaBox {
    /*text-align: right;*/
    float: right;
    margin-bottom: 24px;
}
.standardWrap #mainMediaBox figure { display: inline-block; max-width: 100%; margin-bottom: 5px; }
.standardWrap #mainMediaBox img { }
.standardWrap #mainMediaBox figcaption {
    display: inline-block;
    padding: 15px;
    color: #fff;
    text-align: left;
    margin-top: -6px;
    width: 100%;
}
.standardWrap #mainMediaBox figcaption * { margin: 0; padding: 0; }

#homepageVaillantTools section:nth-child(2n) { background-color: #eee; padding: 5px 0; }

#kpLightBox .content {
    /* padding: 0 0 0 4.411764705882353%; */
    padding-top: 0;
    padding-bottom: 0;
}
#kpLightBox .contentText { float: left; width: 68.615384615384615%; padding: 40px 20px; }
#kpLightBox .contentMedia { float: right; width: 31.384615384615385%; }
#kpLightBox .contentMedia figure { text-align: right; }
#kpLightBox .contentMedia img { display: block; width: 100%; }
#kpLightBox .contentText { font-size: 1.625rem; line-height:2.3rem; font-weight: 300; }

#heizungOnlineBox .content {
    padding: 0 0 0 4.411764705882353%;
}
#heizungOnlineBox .contentText { float: right; width: 68.615384615384615%; padding: 40px 20px; }
#heizungOnlineBox .contentMedia { float: left; width: 31.384615384615385%; }
#heizungOnlineBox .contentMedia figure { text-align: right; }
#heizungOnlineBox .contentMedia img { display: block; width: 100%; }
#heizungOnlineBox .contentText { font-size: 1.625rem; line-height:2.3rem; font-weight: 300; }

#heizungOnlineBox + #kpLightBox { padding-top: 40px; }


#heizungsberatungOnlineBox .content {
    padding: 0 0 0 4.411764705882353%;
}
#heizungsberatungOnlineBox .contentText { float: right; width: 68.615384615384615%; padding: 40px 20px; }
#heizungsberatungOnlineBox .contentMedia { float: left; width: 31.384615384615385%; }
#heizungsberatungOnlineBox .contentMedia figure { text-align: right; }
#heizungsberatungOnlineBox .contentMedia img { display: block; width: 100%; }
#heizungsberatungOnlineBox .contentText { font-size: 1.625rem; line-height:2.3rem; font-weight: 300; }

/* #heizungsberatungOnlineBox + #kpLightBox { padding-top: 40px; } */

#homepageSpezialBox .content {
    padding: 0 0 0 4.411764705882353%;
}
#homepageSpezialBox .contentText { float: right; width: 68.615384615384615%; padding: 40px 20px; }
#homepageSpezialBox .contentMedia { float: left; width: 31.384615384615385%; }
#homepageSpezialBox .contentMedia figure { text-align: right; }
#homepageSpezialBox .contentMedia img { display: block; width: 100%; }
#homepageSpezialBox .contentText { font-size: 1.625rem; line-height:2.3rem; font-weight: 300; }
#homepageSpezialBox .contentText p:first-of-type { margin-top: 0; }

#mediaGalerie ul { float: left; width: 100%; margin: 0 -10px 1em -10px; padding: 0; list-style: none; }
#mediaGalerie li { float: left; padding: 10px; }

#mediaLogos ul { float: left; width: 100%; margin: 0 -10px 1em -10px; padding: 0; list-style: none; }
#mediaLogos li { float: left; padding: 10px; }

#broshureList { float: left; width: 100%;  padding: 0; list-style: none; }
#broshureList li { float: left; padding: 10px 20px; width: 33.33333%; }
#broshureList li:nth-child(3n+1) { clear: both; }
#broshureList li img { box-shadow: 0 2px 6px 0 rgba(0,0,0,0.25); }



/* Medientyp Bild links, text rechts */

.imageWrap.image-left {
    clear: both;
    overflow: auto;
    margin-bottom: 1em;
    padding-bottom: 1em;
    border-bottom: solid 1px #eee;
}
.imageWrap.image-left .imageBox {
    float: left;
    margin-right: 30px;
}
.imageWrap.image-left .textBox {
    overflow: auto;
}
.imageWrap.image-left .textBox h2 {
    margin-bottom: 0;
}

.responsive-video iframe {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
}
.responsive-video {
    position: relative;
    padding-bottom: 56.25%; /* Default for 1600x900 videos 16:9 ratio*/
    padding-top: 0;
    height: 0;
    overflow: hidden;
}



/****************************************************
	Formular
******************************************************/

fieldset { border: none; }
legend { display: none; }
label, input, textarea {
    width: 100%;
    border: none;
    font-family: inherit;
    font-size: inherit;
    color: #fff;
}
input, textarea {
    padding: 0.25em 0.5em;
}
input[type="checkbox"], input[type="radio"] {
    width: auto;
    display: inline-block;
    margin-right: 1em;
}

.button, input[type="submit"], .linkButton, #consent-content button {
    display: inline-block;
    width: auto;
    color: #fff;
    cursor: pointer;
    border-radius: 2em;
    font-size: 1.3125rem;
    line-height:1.75rem;
    box-shadow: 0 2px 6px 0 rgba(0,0,0,0.50);
    padding: 0.375em 1.5em;
    text-decoration: none;
    background-color: #000;
    font-weight: 300;
    border: none;
}
input[type=submit]:disabled {
    box-shadow: none;
    opacity: 0.5;
    cursor: auto;
}
input[type=submit]:disabled:hover {
    transform: none;
}
input[type=checkbox] {
    box-shadow: 0 0 0 4px;
}

#formContent {
    position: relative;
}

.formField {
    margin: 1em 0;
}
.alertBox {
    margin-top: 1em;
}

.formPage label { color: inherit; }
.formPage #formContent { padding: 0; }
.formPage #formContent:before { content: '' }

.contactForm label { color: inherit; }

a.button:active, input[type="submit"]:active, .linkButton:active {
    transform: translate(0, 2px);
    box-shadow: 0 1px 3px 0 rgba(0,0,0,0.25);
}

/****************************************************
	Vaillant Produkte
******************************************************/

#vaillantProdList {
    padding-bottom: 40px;
    max-width: 1105px;
}
#vaillantProdList h2.prodName {
    color: #666;
}
#prodCategorieList {
    padding: 0;
    list-style: none;
    margin: 0 -20px;
}
#prodCategorieList li {
    float: left;
    width: 25%;
    padding: 20px;
}

#prodCategorieList li:nth-child(4n+1) {
    clear: both;
}
#prodCategorieList li img {
    width: 100%;
}

#prodCategorieList h3 {
    margin-bottom: 0.5em;
    font-size: 1em;
    line-height: 1.2;
}
#prodCategorieList .imageBox {
    margin-bottom: 0;
}
#prodCategorieList a {
    text-decoration: none;
}
#prodCategorieList a:active, #prodCategorieList a:hover {
    color: inherit;
}
.prodSubCategorie {
    margin-top: 2em;
}
.prodSubCategorie h2.openHide {
    font-size: 1.3125rem;
    margin-bottom: .5em;
    cursor: pointer;
}

.prodSubCategorie h2.openHide.open {
}
.prodSubCategorie h3 {
    font-size: 1em;
    margin: 0;
}
.prodSubCategorie p {
    margin: 0;
}

.subCategorieTeaserBox {
    overflow: auto;
    background: #bfbfbf;
    padding: 1px 15px;
}
.subCategorieTeaserBox img {
    float: left;
    margin-right: 15px;
}
.subCategorieTeaserBox p {
    padding: 15px;
}

.prodSubCategorie ul {
    margin: 0;
    padding: 0;
    list-style: none;
}
.prodSubCategorie ul li {
    overflow: auto;
    background: #dbdbdb;
    margin: 1px 0;
}
.prodSubCategorie img {
    display: inline-block;
}
.prodSubCategorie  .imageBox {
    float: left;
    width: 67px;
    padding: 5px;
}
.prodSubCategorie .textBox {
    padding: 10px 15px 10px 67px;
}


/****************************************************
	Menu
******************************************************/
#breadcrumpBox {
    max-width: 1360px;
    margin: 0 auto;
    font-size: .875rem;
    padding: 20px 0;
    color: #666666;
}
#breadcrumpBox a { color: #666666; }
#breadcrumpBox a:first-child { margin-left: 4.411764705882353%; }

.catTyp_113 #breadcrumpBox { display: none; }

.navbar-toggle { display: none; }

.exit-off-canvas {
    position: absolute;
    top: 0;
    left: 0;
    z-index: 10000;
    background-color: rgba(0,0,0,0.2);
}


#mainNavWrap {
    clear: both;
    min-height: 40px;
    padding: 30px 0 5px 0;
    margin-left: 28%;
}

#mainNav {
    position: relative;
    z-index: 10;
    display: inline-block;
    list-style: none;
    padding: 0 0 0 20px;
    margin: 0;
    border-left: solid 1px #888888;
    -webkit-backface-visibility: hidden;
    backface-visibility: hidden;
}

#mainNav > li {
    position: relative;
    float: left;
    text-align: left;
}

#mainNav > li#mainNav_2 {
    position: absolute;
    left: -10px;
    transform: translateX(-100%);
}

#mainNav a {
    text-decoration: none;
}

#mainNav li a {
    display: block;
    padding: 5px 10px;
    line-height: 24px;
}

#mainNav ul {
    display: none;
    position: absolute;
    top: 34px;
    list-style: none;
    padding: 10px 0 10px 0;
    background-color: #fff;
    margin: 0;
    /*
    box-shadow: 0 6px 6px 0 rgba(0,0,0,0.25);
    */
}

#mainNav ul li {
    margin: 0;
    border: none;
}

#mainNav li ul a {
    display: block;
    line-height: 1.3;
    padding: 5px 10px;
    white-space: nowrap;
}

#mainNav .icon_bubble span {
    display: inline-block;
    position: relative;
}

#mainNav .icon_bubble span:before {
    position: absolute;
    top: -.25em;
    right: -1em;
}

#mainNav ul {
    overflow: visible!important;
}
#mainNav ul:after {
    position: absolute;
    z-index: -1;
    top: 0;
    transform: translateX(-50%);
    width: 200vw;
    height: 100%;
    content: '';
    background-color: #fff;
    box-shadow: 0 4px 4px 0 rgba(0,0,0,0.25);
    background-clip: padding-box;
}

#mainNav a:hover { color: #ccc; }
#mainNav li.active.sub > a { color: #ddd; }

/****************************************************
    Menu Footer
******************************************************/


#goTop {
    display: none;
    position: fixed;
    z-index: 20;
    right: 0;
    bottom: 0;
    text-decoration: none;
    color: #666;
    font-size: 18px;
    line-height: 50px;
    width: 50px;
    text-align: center;
    background-color: #fff;
    -webkit-box-shadow: 0 0 3px 0 rgba(0,0,0, 0.45);
    -moz-box-shadow:    0 0 3px 0 rgba(0,0,0, 0.45);
    box-shadow:         0 0 3px 0 rgba(0,0,0, 0.45);
}


#footerNav  {
    float: left;
    list-style: none;
    margin: 0;
    padding: 40px 0 0 0;
    font-size: 0.9em;
}
#footerNav a {
    text-decoration: none;
}
#footerNav a:hover {
    text-decoration: underline;
}
#footerNav li {
    float: left;
    padding: 0 10px;
}
#footerNav ul  {
    list-style: none;
    margin: 4px 0 0 0;
    padding: 0;
}
#footerNav ul li {
    float: none;
    padding: 0;
    border: 0;
}


#zertBox {
    position: absolute;
    right: 0;
    top: 0;
    display: inline-block;
    background-color: #fff;
    padding: 10px 20px 0 20px;
    text-align: center;
}
#zertBox a {
    display: block;
}
#vaillantLogoZertBox {
    padding: 5px 0;
}

#spezialLogo {
    float: right;
}

/****************************************************
	Slider
******************************************************/


#keyvisuals {
    position: relative;
    z-index: 25;
    width: 100%;
}

#keyvisuals .slide {
    overflow: hidden;
    max-height: 600px;
    position: relative;
    display: flex;
    align-items: center;
    justify-content: center;
}
#keyvisuals .slide img {
    height: auto;
    width: 100%;
    max-width: none;
    position: relative;

}
#keyvisuals .content {
    padding: 0 60px;
}
#keyvisuals .slide .content {
    position: absolute;
    width: 100%;
    top: 0;
}
#keyvisuals .slideText {
    position: absolute;
    z-index: 10;
    top: 40px;
    left: 60px;
    background-color: #fff;
    padding: 1em 2em;
    font-weight: 300;
}
#keyvisuals .slideText * {
    font-size: 2.25rem;
    line-height: 1.2;

}
#keyvisuals .slideText .linkButton {
    font-size: 1.3125rem;
}
#keyvisuals .slideText p {
    padding: 0;
    margin: 0 0 10px 0;
}


/****************************************************
	21gradBlog
******************************************************/

.vaillantBlogList {
    margin: 0 -20px;
    list-style: none;
    overflow: auto;
}
.vaillantBlogList li {
    float: left;
    width: 33.33333%;
    padding: 0 20px;
}
.vaillantBlogList li img { margin-bottom: 30px; }
.vaillantBlogList li .teaser { margin-bottom: 1em; }
.vaillantBlogMore {
    margin: 0;
    text-align: right;
    padding-top: 30px;
}
.vaillant21grad sup {
    font-size: 0.5em;
    position: relative;
    top: -0.25em;
}
.vaillantBlogDetail {
    max-width: 1000px;
}
.vaillantBlogDetail img.alignright {
    float: right;
    margin-left: 20px;
}
.vaillantBlogDetail img.alignleft {
    float: left;
    margin-right: 20px;
}
.vaillantBlogDetail .content {
    padding: 30px 0;
}
.vaillantBlogDetail ul {
    padding-left: 30px;
}

.vaillantBlogDetail .infobox {
    display: block;
    padding: 14px;
    background-color: #ddd;
    border-radius: 8px;
    margin-bottom: 1.5em;
    overflow: auto;
}

@media only screen and (max-width: 64em) {
    #mainNavWrap { margin-left: -10px; }
    #mainNav { padding: 0; border: none; }
    #mainNav > li#mainNav_2 { position: static; transform: translateX(0); }
    .standardWrap #systemfinderWrap.contentWrap { width: 100%; float: none; }
    .standardWrap #systemfinderWrap.contentWrap .content { max-width: none; padding: 40px 4.411764705882353% }
    #zertBox a { display: inline-block; }
    #vaillantLogoZertBox { padding: 0; margin-right: 10px; }

    #keyvisuals .slideText { top: 20px; left: 0; padding: 10px; }
    #keyvisuals .slideText * { font-size: 1.25rem; }
    #keyvisuals .slideText .linkButton { font-size: 1rem; }
    .homeNews li a { display: inline-block; }
    .standardWrap #mainMediaBox {float: none;}
}
@media only screen and (max-width: 48em) {

    h1, .h1, #kpLightBox .contentText,#heizungOnlineBox .contentText, #heizungsberatungOnlineBox .contentText, #homepageSpezialBox .contentText  { font-size: 1.625rem; line-height: 2.125rem; font-weight: 300; }

    h1 span { display: block; color: #666; }
    h2 { font-size: 1.3125rem; line-height: 1.75rem; }
    h3 { font-size: 1rem; line-height: 1.5rem; }

    #wrap { padding-top: 80px; }

    #header { z-index: 100; height: 80px; position: fixed; width: 100%; top: 0; left: 0; box-shadow: 1px 2px 6px 0 rgba(0,0,0,0.50); background-color: #fff; }
    #logo { height: 35px; }
    #spezialLogo { margin-right: 40px; }
    #spezialLogo img { max-height: 35px; }
    #header .content { padding: 20px; }
    #vaillantLogo { display: none; }
    section.footer2 { background-color: #fff!important; }
    #footerNav { display: none; }
    #zertBox { position: static; float: right; clear: both;}
    #vaillantFooterLogo { display: block; float: right; }
    #vaillantLogoZertBox { display: none!important; }

    #keyvisuals img {max-height: 350px!important; width: auto!important;}

    /* Navigation */
    .exit-off-canvas {
        position: fixed;
        top: 0;
        left: 0;
        z-index: 8;
        background-color: rgba(0,0,0,0.2);
    }
    body.menuActive .exit-off-canvas {
        bottom: 0;
        right: 0;
        width: 100%;
        height: 100%;
    }
    #mainNavWrap { min-height: 0; padding: 0;}

    .navbar-toggle {
        display: block;
        background-color: transparent;
        background-image: none;
        border: none;
        position: absolute;
        z-index: 150;
        top: 12px;
        right: 12px;
        padding: 0;
        cursor: pointer;
    }

    .lines-button {
        display: inline-block;
        padding: 12px 6px;
        transition: .3s;
        cursor: pointer;
        user-select: none;
        border: none;
        background-color: transparent;
        outline: none; }
    .lines-button:hover {
        opacity: 1; }
    .lines-button:hover .lines:before {
        top: 6.85714px; }
    .lines-button:hover .lines:after {
        top: -6.85714px; }
    .lines-button:active {
        transition: .3s; }
    .lines-button .lines {
        display: inline-block;
        width: 24px;
        height: 4px;
        background: #000;
        border-radius: 2px;
        transition: 0.3s;
        position: relative;
        /*create the upper and lower lines as pseudo-elements of the middle line*/ }
    .lines-button .lines:before, .lines-button .lines:after {
        display: inline-block;
        width: 24px;
        height: 4px;
        background: #000;
        border-radius: 2px;
        transition: 0.3s;
        position: absolute;
        left: 0;
        content: '';
        transform-origin: 1.71429px center; }
    .lines-button .lines:before {
        top: 6px; }
    .lines-button .lines:after {
        top: -6px; }
    .lines-button.close .lines {
        /*hide the middle line*/
        background: transparent;
        /*overlay the lines by setting both their top values to 0*/ }
    .lines-button.close .lines:before, .lines-button.close .lines:after {
        transform-origin: 50% 50%;
        top: 0;
        width: 24px; }
    .lines-button.close .lines:before {
        transform: rotate3d(0, 0, 1, 45deg); }
    .lines-button.close .lines:after {
        transform: rotate3d(0, 0, 1, -45deg); }


    #mainNav {
        padding-top: 80px;
        float: none;
        margin-top: 0;
        width: 300px;
        background-color: #fff;
        position: fixed;
        z-index:100;
        height: 100%;
        overflow-x: hidden;
        overflow-y: auto;
        top: 0;
        right: -305px;
        padding-bottom: 40px;
        -webkit-transition: all 0.4s ease;
        transition: all 0.4s ease;
        -webkit-box-shadow: 0 0 3px 0 rgba(0,0,0, 0.45);
        -moz-box-shadow:    0 0 3px 0 rgba(0,0,0, 0.45);
        box-shadow:         0 0 3px 0 rgba(0,0,0, 0.45);
    }
    .menuActive #mainNav {
        right: 0;
    }
    #mainNav li { float: none; }
    #mainNav ul { position: static; padding-left: 20px; }
    #mainNav ul:after { display: none; }

    #mainNav .openSub { position: absolute; top: 0; right: 0;  cursor:pointer; width: 3em; line-height: 2.125rem; z-index: 5; text-align: center; }
    #mainNav .openSub:before { content: "+"; color: #000; font-size: 1.5em; font-weight: bold; }

    #mainNav .active.sub > ul { display: block; }
    #mainNav .active.sub > .openSub:before {content: "-"; color: #000; }


    #homeContactBoxWrap { position: static; padding: 20px 0; overflow: auto; }

    .phoneButton { width: 100%; }
    .two-col .phoneButton { float: left; width: 50%; }
    .notdienstPhoneButton { margin: 0; }

    .homeNews li a { font-size: 1em; display: inline-block; }



    .teaserBox h3 { font-size: 1em; padding: 0 5px; }
    .teaserCount_2 li,
    .teaserCount_3 li, .teaserCount_6 li,
    .teaserCount_4 li, .teaserCount_7 li, .teaserCount_8 li,
    .teaserCount_5 li, .teaserCount_9 li, .teaserCount_10 li { width: 33.33333%; }



    .contentWrap .content { padding: 20px!important; }

    .footerNav .content { padding-bottom: 100px; }

    #prodCategorieList {
        margin: 0 -10px;
    }
    #prodCategorieList li {
        width: 50%;
        padding: 10px;
    }
    #prodCategorieList li:nth-child(4n+1) { clear: none; }
    #prodCategorieList li:nth-child(2n+1) { clear: both; }

    #mediaGalerie li { width: 33.333333%; }
    #mediaLogos li { width: 33.333333%; }

    #broshureList li { width: 50%; }
    #broshureList li:nth-child(3n+1) { clear: none; }
    #broshureList li:nth-child(2n+1) { clear: both; }


    #homeEditContent .content.withImage .contentText {
        float: none;
        width: 100%;
        padding: 0 190px 0 0;
    }
    #homeEditContent #mainMediaBox {
        width: auto;
    }
}
@media only screen and (max-width: 48em) {
    #homeEditContent .contentText.notdienst {
        padding-right: 0 !important;
    }
}
@media only screen and (max-width: 1660px) {
    #homeEditContent .contentText.notdienst {
        padding-right: 160px;
    }
}

@media only screen and (max-width: 40em) {


    #map { display: none; }

    .content { padding: 20px 10px; }

    .catTyp_113 #wrap > section , .standardWrap, #homepageVaillantTools > section { margin: 5px 0; }
    .catTyp_113 #keyvisuals  { padding: 0 0 5px 0; }


    .homeNews ul { margin: 0; }
    .homeNews li { float: none; width: 100%; padding: 0; margin: 10px 0; }
    .homeNews li:first-child, .homeNews li:last-child { padding: 0; }
    .homeNews li a { display: block; width: 100%; }

    .teaserCount_2 li,
    .teaserCount_3 li, .teaserCount_6 li,
    .teaserCount_4 li, .teaserCount_7 li, .teaserCount_8 li,
    .teaserCount_5 li, .teaserCount_9 li, .teaserCount_10 li { width: 50%; }

    .vaillantBlogList { margin: 0; }
    .vaillantBlogList li { float: none; width: 100%; padding: 20px 0; }

    #mainFooter .content { margin: 0; }
    #mainFooter .content > div { float: none; width: 100%; }



    #homeEditContent .contentText { padding-right: 0; }

    #homeEditContent .content.withImage .contentText {
        padding: 20px 10px;
    }
    #homeEditContent #mainMediaBox {
        padding: 20px 10px;
    }
    #homeEditContent .contentText .box1.twoCol, #homeEditContent .contentText .box2 {
        float: none;
        width: 100%;
        padding: 0;
    }
    #homeEditContent .contentText .box2 {
        border-top: solid 1px #cccccc;
        margin-top: 1em;
        padding-top: 1em;
    }



    .standardWrap .contentWrap { float: none; width: 100%; padding: 0; }
    .standardWrap .contextWrap { float: none; width: 100%; padding: 5px; }

    .standardWrap #mainMediaBox { text-align: left; }
    .standardWrap #mainMediaBox figcaption { display: block }
    .contentWrap .content { padding: 20px 10px!important; }

    .imageWrap.image-left .imageBox {
        float: none;
        margin: 0 0 1em 0;
    }

    #kpLightBox .contentText { padding-top: 0; }

    #heizungOnlineBox .contentMedia, #kpLightBox .contentMedia,#heizungOnlineBox .contentText, #kpLightBox .contentText {
        float: none;
        width: 100%;
        padding-left: 0;
        padding-right: 0;
    }
    #heizungOnlineBox .content, #kpLightBox .content { padding: 10px; }


    #heizungsberatungOnlineBox .contentMedia, #kpLightBox .contentMedia, #homepageSpezialBox  .contentMedia,#heizungsberatungOnlineBox .contentText, #kpLightBox .contentText, #homepageSpezialBox  .contentText {
        float: none;
        width: 100%;
        padding-left: 0;
        padding-right: 0;
    }
    #heizungsberatungOnlineBox .content, #kpLightBox .content, #homepageSpezialBox  .content { padding: 10px; }

    #heizungsberatungOnlineBox + #kpLightBox { padding-top: 0; margin-top: 30px; }
    #heizungsberatungOnlineBox + #heizungOnlineBox { padding-top: 0; margin-top: 30px; }
    #kpLightBox + #heizungOnlineBox { padding-top: 0; margin-top: 30px; }

    #keyvisuals .content {
        padding: 0;
        margin-top: -78px;
        margin-bottom: -20px;
    }
    #keyvisuals .slideText {
        position: relative;
        background-color: rgba(255,255,255,.85);
        border-bottom: solid 5px #eee;
    }

    .docListContent { display: block; }

}
@media only screen and (max-width: 25em) {
    #mediaGalerie li { width: 50%; }
    #mediaLogos li { width: 50%; }


}


/****************************************************
	Plugins
******************************************************/

.slick-slider
{
    position: relative;

    display: block;
    box-sizing: border-box;

    -webkit-user-select: none;
    -moz-user-select: none;
    -ms-user-select: none;
    user-select: none;

    -webkit-touch-callout: none;
    -khtml-user-select: none;
    -ms-touch-action: pan-y;
    touch-action: pan-y;
    -webkit-tap-highlight-color: transparent;
}

.slick-list
{
    position: relative;

    display: block;
    overflow: hidden;

    margin: 0;
    padding: 0;
}
.slick-list:focus
{
    outline: none;
}
.slick-list.dragging
{
    cursor: pointer;
    cursor: hand;
}

.slick-slider .slick-track,
.slick-slider .slick-list
{
    -webkit-transform: translate3d(0, 0, 0);
    -moz-transform: translate3d(0, 0, 0);
    -ms-transform: translate3d(0, 0, 0);
    -o-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0);
}

.slick-track
{
    position: relative;
    top: 0;
    left: 0;

    display: block;
}
.slick-track:before,
.slick-track:after
{
    display: table;

    content: '';
}
.slick-track:after
{
    clear: both;
}
.slick-loading .slick-track
{
    visibility: hidden;
}

.slick-slide
{
    display: none;
    float: left;

    height: 100%;
    min-height: 1px;
}
[dir='rtl'] .slick-slide
{
    float: right;
}
.slick-slide img
{
    display: block;
}
.slick-slide.slick-loading img
{
    display: none;
}
.slick-slide.dragging img
{
    pointer-events: none;
}
.slick-initialized .slick-slide
{
    display: block;
}
.slick-loading .slick-slide
{
    visibility: hidden;
}
.slick-vertical .slick-slide
{
    display: block;

    height: auto;

    border: 1px solid transparent;
}
.slick-arrow.slick-hidden {
    display: none;
}

.slick-prev, .slick-next {
    background: transparent none repeat scroll 0 0;
    border: medium none;
    color: transparent;
    cursor: pointer;
    display: block;
    font-size: 0;
    height: 40px;
    line-height: 0;
    outline: medium none;
    padding: 0;
    position: absolute;
    top: 50%;
    transform: translate(0px, -50%);
    width: 40px;
    z-index: 100;
}

.slick-prev::before, .slick-next::before {
    -moz-osx-font-smoothing: grayscale;
    color: #000;
    font-family: "m3symbols";
    font-size: 40px;
    line-height: 1;
    opacity: 0.25;
}
.slick-prev {
    left: 10px;
}
.slick-prev:before {
    content: "p";
}
.slick-next {
    right: 10px;
}
.slick-next:before {
    content: "n";
}
.slick-prev:hover:before, .slick-prev:focus:before, .slick-next:hover:before, .slick-next:focus:before {
    opacity: 1;
}
.slick-dots {
    bottom: 0;
    display: block;
    list-style: none;
    margin: 10px 0;
    padding: 0;
    position: absolute;
    text-align: center;
    width: 100%;
}
.slick-dots li {
    cursor: pointer;
    display: inline-block;
    height: 12px;
    margin: 0 5px;
    padding: 0;
    position: relative;
    width: 12px;
}
.slick-dots li button {
    background: transparent none repeat scroll 0 0;
    border: 0 none;
    color: transparent;
    cursor: pointer;
    display: block;
    font-size: 0;
    height: 12px;
    line-height: 0;
    outline: medium none;
    padding: 5px;
    width: 12px;
}
.slick-dots li button:before {
    content: '';
    display: block;
    background-color: #fff;
    height: 12px;
    left: 0;
    line-height: 0;
    position: absolute;
    top: 0;
    width: 12px;
    border: solid 1px #666;
    border-radius: 50%;
}
.slick-dots li button:hover:before, .slick-dots li button:focus:before, .slick-dots li.slick-active button:before {
    background-color: #000;
    border-color: #000;
}




/* FANCYBOX */

body.compensate-for-scrollbar{overflow:hidden}.fancybox-active{height:auto}.fancybox-is-hidden{left:-9999px;margin:0;position:absolute!important;top:-9999px;visibility:hidden}.fancybox-container{-webkit-backface-visibility:hidden;height:100%;left:0;outline:none;position:fixed;-webkit-tap-highlight-color:transparent;top:0;-ms-touch-action:manipulation;touch-action:manipulation;transform:translateZ(0);width:100%;z-index:99992}.fancybox-container *{box-sizing:border-box}.fancybox-bg,.fancybox-inner,.fancybox-outer,.fancybox-stage{bottom:0;left:0;position:absolute;right:0;top:0}.fancybox-outer{-webkit-overflow-scrolling:touch;overflow-y:auto}.fancybox-bg{background:#1e1e1e;opacity:0;transition-duration:inherit;transition-property:opacity;transition-timing-function:cubic-bezier(.47,0,.74,.71)}.fancybox-is-open .fancybox-bg{opacity:.9;transition-timing-function:cubic-bezier(.22,.61,.36,1)}.fancybox-caption,.fancybox-infobar,.fancybox-navigation .fancybox-button,.fancybox-toolbar{direction:ltr;opacity:0;position:absolute;transition:opacity .25s ease,visibility 0s ease .25s;visibility:hidden;z-index:99997}.fancybox-show-caption .fancybox-caption,.fancybox-show-infobar .fancybox-infobar,.fancybox-show-nav .fancybox-navigation .fancybox-button,.fancybox-show-toolbar .fancybox-toolbar{opacity:1;transition:opacity .25s ease 0s,visibility 0s ease 0s;visibility:visible}.fancybox-infobar{color:#ccc;font-size:13px;-webkit-font-smoothing:subpixel-antialiased;height:44px;left:0;line-height:44px;min-width:44px;mix-blend-mode:difference;padding:0 10px;pointer-events:none;top:0;-webkit-touch-callout:none;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.fancybox-toolbar{right:0;top:0}.fancybox-stage{direction:ltr;overflow:visible;transform:translateZ(0);z-index:99994}.fancybox-is-open .fancybox-stage{overflow:hidden}.fancybox-slide{-webkit-backface-visibility:hidden;display:none;height:100%;left:0;outline:none;overflow:auto;-webkit-overflow-scrolling:touch;padding:44px;position:absolute;text-align:center;top:0;transition-property:transform,opacity;white-space:normal;width:100%;z-index:99994}.fancybox-slide:before{content:"";display:inline-block;font-size:0;height:100%;vertical-align:middle;width:0}.fancybox-is-sliding .fancybox-slide,.fancybox-slide--current,.fancybox-slide--next,.fancybox-slide--previous{display:block}.fancybox-slide--image{overflow:hidden;padding:44px 0}.fancybox-slide--image:before{display:none}.fancybox-slide--html{padding:6px}.fancybox-content{background:#fff;display:inline-block;margin:0;max-width:100%;overflow:auto;-webkit-overflow-scrolling:touch;padding:44px;position:relative;text-align:left;vertical-align:middle}.fancybox-slide--image .fancybox-content{animation-timing-function:cubic-bezier(.5,0,.14,1);-webkit-backface-visibility:hidden;background:transparent;background-repeat:no-repeat;background-size:100% 100%;left:0;max-width:none;overflow:visible;padding:0;position:absolute;top:0;transform-origin:top left;transition-property:transform,opacity;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;z-index:99995}.fancybox-can-zoomOut .fancybox-content{cursor:zoom-out}.fancybox-can-zoomIn .fancybox-content{cursor:zoom-in}.fancybox-can-pan .fancybox-content,.fancybox-can-swipe .fancybox-content{cursor:grab}.fancybox-is-grabbing .fancybox-content{cursor:grabbing}.fancybox-container [data-selectable=true]{cursor:text}.fancybox-image,.fancybox-spaceball{background:transparent;border:0;height:100%;left:0;margin:0;max-height:none;max-width:none;padding:0;position:absolute;top:0;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;width:100%}.fancybox-spaceball{z-index:1}.fancybox-slide--iframe .fancybox-content,.fancybox-slide--map .fancybox-content,.fancybox-slide--pdf .fancybox-content,.fancybox-slide--video .fancybox-content{height:100%;overflow:visible;padding:0;width:100%}.fancybox-slide--video .fancybox-content{background:#000}.fancybox-slide--map .fancybox-content{background:#e5e3df}.fancybox-slide--iframe .fancybox-content{background:#fff}.fancybox-iframe,.fancybox-video{background:transparent;border:0;display:block;height:100%;margin:0;overflow:hidden;padding:0;width:100%}.fancybox-iframe{left:0;position:absolute;top:0}.fancybox-error{background:#fff;cursor:default;max-width:400px;padding:40px;width:100%}.fancybox-error p{color:#444;font-size:16px;line-height:20px;margin:0;padding:0}.fancybox-button{background:rgba(30,30,30,.6);border:0;border-radius:0;box-shadow:none;cursor:pointer;display:inline-block;height:44px;margin:0;padding:10px;position:relative;transition:color .2s;vertical-align:top;visibility:inherit;width:44px}.fancybox-button,.fancybox-button:link,.fancybox-button:visited{color:#ccc}.fancybox-button:hover{color:#fff}.fancybox-button:focus{outline:none}.fancybox-button.fancybox-focus{outline:1px dotted}.fancybox-button[disabled],.fancybox-button[disabled]:hover{color:#888;cursor:default;outline:none}.fancybox-button div{height:100%}.fancybox-button svg{display:block;height:100%;overflow:visible;position:relative;width:100%}.fancybox-button svg path{fill:currentColor;stroke-width:0}.fancybox-button--fsenter svg:nth-child(2),.fancybox-button--fsexit svg:first-child,.fancybox-button--pause svg:first-child,.fancybox-button--play svg:nth-child(2){display:none}.fancybox-progress{background:#ff5268;height:2px;left:0;position:absolute;right:0;top:0;transform:scaleX(0);transform-origin:0;transition-property:transform;transition-timing-function:linear;z-index:99998}.fancybox-close-small{background:transparent;border:0;border-radius:0;color:#ccc;cursor:pointer;opacity:.8;padding:8px;position:absolute;right:-12px;top:-44px;z-index:401}.fancybox-close-small:hover{color:#fff;opacity:1}.fancybox-slide--html .fancybox-close-small{color:currentColor;padding:10px;right:0;top:0}.fancybox-slide--image.fancybox-is-scaling .fancybox-content{overflow:hidden}.fancybox-is-scaling .fancybox-close-small,.fancybox-is-zoomable.fancybox-can-pan .fancybox-close-small{display:none}.fancybox-navigation .fancybox-button{background-clip:content-box;height:100px;opacity:0;position:absolute;top:calc(50% - 50px);width:70px}.fancybox-navigation .fancybox-button div{padding:7px}.fancybox-navigation .fancybox-button--arrow_left{left:0;left:env(safe-area-inset-left);padding:31px 26px 31px 6px}.fancybox-navigation .fancybox-button--arrow_right{padding:31px 6px 31px 26px;right:0;right:env(safe-area-inset-right)}.fancybox-caption{background:linear-gradient(0deg,rgba(0,0,0,.85) 0,rgba(0,0,0,.3) 50%,rgba(0,0,0,.15) 65%,rgba(0,0,0,.075) 75.5%,rgba(0,0,0,.037) 82.85%,rgba(0,0,0,.019) 88%,transparent);bottom:0;color:#eee;font-size:14px;font-weight:400;left:0;line-height:1.5;padding:75px 44px 25px;pointer-events:none;right:0;text-align:center;z-index:99996}@supports (padding:max(0px)){.fancybox-caption{padding:75px max(44px,env(safe-area-inset-right)) max(25px,env(safe-area-inset-bottom)) max(44px,env(safe-area-inset-left))}}.fancybox-caption--separate{margin-top:-50px}.fancybox-caption__body{max-height:50vh;overflow:auto;pointer-events:all}.fancybox-caption a,.fancybox-caption a:link,.fancybox-caption a:visited{color:#ccc;text-decoration:none}.fancybox-caption a:hover{color:#fff;text-decoration:underline}.fancybox-loading{animation:a 1s linear infinite;background:transparent;border:4px solid #888;border-bottom-color:#fff;border-radius:50%;height:50px;left:50%;margin:-25px 0 0 -25px;opacity:.7;padding:0;position:absolute;top:50%;width:50px;z-index:99999}@keyframes a{to{transform:rotate(1turn)}}.fancybox-animated{transition-timing-function:cubic-bezier(0,0,.25,1)}.fancybox-fx-slide.fancybox-slide--previous{opacity:0;transform:translate3d(-100%,0,0)}.fancybox-fx-slide.fancybox-slide--next{opacity:0;transform:translate3d(100%,0,0)}.fancybox-fx-slide.fancybox-slide--current{opacity:1;transform:translateZ(0)}.fancybox-fx-fade.fancybox-slide--next,.fancybox-fx-fade.fancybox-slide--previous{opacity:0;transition-timing-function:cubic-bezier(.19,1,.22,1)}.fancybox-fx-fade.fancybox-slide--current{opacity:1}.fancybox-fx-zoom-in-out.fancybox-slide--previous{opacity:0;transform:scale3d(1.5,1.5,1.5)}.fancybox-fx-zoom-in-out.fancybox-slide--next{opacity:0;transform:scale3d(.5,.5,.5)}.fancybox-fx-zoom-in-out.fancybox-slide--current{opacity:1;transform:scaleX(1)}.fancybox-fx-rotate.fancybox-slide--previous{opacity:0;transform:rotate(-1turn)}.fancybox-fx-rotate.fancybox-slide--next{opacity:0;transform:rotate(1turn)}.fancybox-fx-rotate.fancybox-slide--current{opacity:1;transform:rotate(0deg)}.fancybox-fx-circular.fancybox-slide--previous{opacity:0;transform:scale3d(0,0,0) translate3d(-100%,0,0)}.fancybox-fx-circular.fancybox-slide--next{opacity:0;transform:scale3d(0,0,0) translate3d(100%,0,0)}.fancybox-fx-circular.fancybox-slide--current{opacity:1;transform:scaleX(1) translateZ(0)}.fancybox-fx-tube.fancybox-slide--previous{transform:translate3d(-100%,0,0) scale(.1) skew(-10deg)}.fancybox-fx-tube.fancybox-slide--next{transform:translate3d(100%,0,0) scale(.1) skew(10deg)}.fancybox-fx-tube.fancybox-slide--current{transform:translateZ(0) scale(1)}@media (max-height:576px){.fancybox-slide{padding-left:6px;padding-right:6px}.fancybox-slide--image{padding:6px 0}.fancybox-close-small{right:-6px}.fancybox-slide--image .fancybox-close-small{background:#4e4e4e;color:#f2f4f6;height:36px;opacity:1;padding:6px;right:0;top:0;width:36px}.fancybox-caption{padding-left:12px;padding-right:12px}@supports (padding:max(0px)){.fancybox-caption{padding-left:max(12px,env(safe-area-inset-left));padding-right:max(12px,env(safe-area-inset-right))}}}.fancybox-share{background:#f4f4f4;border-radius:3px;max-width:90%;padding:30px;text-align:center}.fancybox-share h1{color:#222;font-size:35px;font-weight:700;margin:0 0 20px}.fancybox-share p{margin:0;padding:0}.fancybox-share__button{border:0;border-radius:3px;display:inline-block;font-size:14px;font-weight:700;line-height:40px;margin:0 5px 10px;min-width:130px;padding:0 15px;text-decoration:none;transition:all .2s;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;white-space:nowrap}.fancybox-share__button:link,.fancybox-share__button:visited{color:#fff}.fancybox-share__button:hover{text-decoration:none}.fancybox-share__button--fb{background:#3b5998}.fancybox-share__button--fb:hover{background:#344e86}.fancybox-share__button--pt{background:#bd081d}.fancybox-share__button--pt:hover{background:#aa0719}.fancybox-share__button--tw{background:#1da1f2}.fancybox-share__button--tw:hover{background:#0d95e8}.fancybox-share__button svg{height:25px;margin-right:7px;position:relative;top:-1px;vertical-align:middle;width:25px}.fancybox-share__button svg path{fill:#fff}.fancybox-share__input{background:transparent;border:0;border-bottom:1px solid #d7d7d7;border-radius:0;color:#5d5b5b;font-size:14px;margin:10px 0 0;outline:none;padding:10px 15px;width:100%}.fancybox-thumbs{background:#ddd;bottom:0;display:none;margin:0;-webkit-overflow-scrolling:touch;-ms-overflow-style:-ms-autohiding-scrollbar;padding:2px 2px 4px;position:absolute;right:0;-webkit-tap-highlight-color:rgba(0,0,0,0);top:0;width:212px;z-index:99995}.fancybox-thumbs-x{overflow-x:auto;overflow-y:hidden}.fancybox-show-thumbs .fancybox-thumbs{display:block}.fancybox-show-thumbs .fancybox-inner{right:212px}.fancybox-thumbs__list{font-size:0;height:100%;list-style:none;margin:0;overflow-x:hidden;overflow-y:auto;padding:0;position:absolute;position:relative;white-space:nowrap;width:100%}.fancybox-thumbs-x .fancybox-thumbs__list{overflow:hidden}.fancybox-thumbs-y .fancybox-thumbs__list::-webkit-scrollbar{width:7px}.fancybox-thumbs-y .fancybox-thumbs__list::-webkit-scrollbar-track{background:#fff;border-radius:10px;box-shadow:inset 0 0 6px rgba(0,0,0,.3)}.fancybox-thumbs-y .fancybox-thumbs__list::-webkit-scrollbar-thumb{background:#2a2a2a;border-radius:10px}.fancybox-thumbs__list a{-webkit-backface-visibility:hidden;backface-visibility:hidden;background-color:rgba(0,0,0,.1);background-position:50%;background-repeat:no-repeat;background-size:cover;cursor:pointer;float:left;height:75px;margin:2px;max-height:calc(100% - 8px);max-width:calc(50% - 4px);outline:none;overflow:hidden;padding:0;position:relative;-webkit-tap-highlight-color:transparent;width:100px}.fancybox-thumbs__list a:before{border:6px solid #ff5268;bottom:0;content:"";left:0;opacity:0;position:absolute;right:0;top:0;transition:all .2s cubic-bezier(.25,.46,.45,.94);z-index:99991}.fancybox-thumbs__list a:focus:before{opacity:.5}.fancybox-thumbs__list a.fancybox-thumbs-active:before{opacity:1}@media (max-width:576px){.fancybox-thumbs{width:110px}.fancybox-show-thumbs .fancybox-inner{right:110px}.fancybox-thumbs__list a{max-width:calc(100% - 10px)}}

.fancybox-close-small { font-size: 36px; }
.fancybox-close-small:after { font-size: 36px; border-radius: 0; }
.fancybox-arrow::after { background-color: rgba(150, 150, 150, 0.8); }
.fancybox-slide--iframe .fancybox-content { height: 100%; }

.fancybox-toolbar { opacity:1!important; visibility: visible!important; }
.fancybox-button--close { background: #990000; }

@media only screen and (max-width: 40em) {
    .fancybox-slide--iframe .fancybox-content {
        max-width: calc(100% - 10px);
    }
}

/* 2Click-Iframe-Privacy */
div.privacy-msg {
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    width: auto!important;
    height: auto!important;
}
div.privacy-msg p {
    width:95%;
    border: 1px solid black;
    background-color: #fff;
    padding: 5px;
    text-align:center;
    position: relative;
    z-index: 1;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);

    -webkit-box-shadow: 0 10px 6px -6px #777;
    -moz-box-shadow: 0 10px 6px -6px #777;
    box-shadow: 0 10px 6px -6px #777;
}
iframe[data-2click-type] { background-color: #eee; }

/* Consent */

.consent-true {
    overflow: hidden;
}
#consent {
    position: fixed;
    z-index: 999998;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    background-color: rgba(0,0,0,0.5);
}
#consent-content {
    position: fixed;
    z-index: 999999;
    background-color: #fff;
    border-radius: 10px;
    padding: 30px;
    width: 100%;
    max-width: 640px;
    bottom: 20px;
    left: 50%;
    transform: translateX(-50%);
}
.btn {
    float: right;
    margin: 0 10px;
    font-size: 1rem;
}
@media only screen and (min-width: 768px) {
    #consent-content {
        bottom: auto;
        top: 50%;
        left: 50%;
        transform: translateX(-50%) translateY(-50%);
    }
}