body { position: relative; overflow-x: hidden; height: auto !important; }
.block-overlay { z-index: 100000000; }


.container-1440, .cms .container												{ width: 100%; max-width: 1440px; margin: 0 auto; }
.container-1280																	{ width: 100%; max-width: 1280px; margin: 0 auto; }
.container-1380																	{ width: 100%; max-width: 1380px; margin: 0 auto; }
.container, .container-fluid, .container-lg, .container-md, .container-sm, .container-xl, .container-xxl { padding: 0 !important; }
@media (min-width: 992px){
.container-sm																		{ max-width: 1000px !important; }

.shop main																			{ padding: 0 16px; }
.shop main .cms																	{ margin: 0 -16px; }
}
@media (max-width: 1440px){
.container-1380																	{ max-width: calc(100vW - 60px); }
}

#content																				{ max-width: 100vW; overflow-x: hidden; }
.cms #content																		{ padding-bottom: 80px; }

.shop #content a																	{ color: var(--schwarz); text-decoration: none; cursor: pointer;}
.shop #content a:hover															{ color: var(--rot); text-decoration: none; }

/* Chatbot */
#h-chat																				{ display: block; position: fixed; z-index: 800; bottom: 31px; right: 38px; }
body.footer-visible #h-chat													{ position: absolute; bottom: var(--bottom); }



#hc-toggler																			{ position: relative; z-index: 2; display: flex; justify-content: center; align-items: center; width: 65px; height: 65px; border-radius: 50%; background: var(--gelb); box-shadow: 3px 3px 4px rgba(0, 0, 0, 0.08); font-size: 30px; cursor: pointer; }
.access #hc-toggler																{ background: var(--hellblau); color: white; }


#h-chat #hc-toggler i															{ overflow: hidden; }
#h-chat.show #hc-toggler i														{ font-size: 20px; }
#h-chat.show #hc-toggler i:before											{ content: "\e90f"; }
#hc-sub																				{ display: none; position: absolute; z-index: 1; right: -18px; bottom: 0; min-width: 310px; padding-bottom: 97px; }
#h-chat.show #hc-sub																{ display: block; }
#hc-sub ul																			{ position: relative; margin: 0; padding: 8px 16px; background: var(--hellgrau); box-shadow: var(--schattenunten); }
#hc-sub ul:before																	{ display: block; content: ""; position: absolute; z-index: 1; bottom: -16px; right: 35px; width: 30px; height: 30px; transform: rotate(45deg); box-shadow: var(--schattenunten); background-color: var(--hellgrau); }
#hc-sub ul:after																	{ display: block; content: ""; position: absolute; z-index: 2; left: 0; bottom: 0; right: 0; height: 30px; background-color: var(--hellgrau); }
#hc-sub ul li																		{ position: relative; z-index: 3; margin: 0; padding: 1px 0 0 0; background: var(--hellgrau); list-style: none; }
#hc-sub ul li:before																{ display: block; content: ""; position: absolute; left: 65px; top: 0; right: 0; height: 1px; background: white; }
#hc-sub ul li:first-child														{ padding: 0; }
#hc-sub ul li:first-child:before												{ display: none; }
#hc-sub ul li a																	{ display: flex; align-items: center; padding: 8px 0; color: var(--schwarz) !important; text-decoration: none; }
#hc-sub ul li a i																	{ display: flex; align-items: center; justify-content: center; width: 45px; height: 45px; line-height: 45px; text-align: center; margin-right: 20px; background: white; border-radius: 50%; box-shadow: var(--schattenunten); font-size: 1.25rem; transition: all 0.5s; }
#hc-sub ul li a span																{ width: calc(100% - 65px); font: 23px/25.3px "FSDillonMedium"; white-space: nowrap; }
#hc-sub ul li a:hover i															{ background: var(--schwarz); color: white; }


#hc-default { position: relative; z-index: 1; }
#hc-default ul { height: 139px; overflow: hidden; transition: height 0.3s; }
#hc-default:before																{ display: block; content: ""; position: absolute; z-index: 1; bottom: -16px; right: 35px; width: 30px; height: 30px; transform: rotate(45deg); box-shadow: var(--schattenunten); background-color: var(--hellgrau); }
#hc-default:after																	{ display: block; content: ""; position: absolute; z-index: 2; left: 0; bottom: 0; right: 0; height: 30px; background-color: var(--hellgrau); }
#hc-sub #hc-default ul:before																	{ display: none; }
#hc-sub #hc-default ul:after																	{ display: none; }
#hc-sub #hc-default ul li:first-child:before { display: block; }

#h-chat.semiopen #hc-sub														{ display: block; }
#hc-bonus { position: relative; z-index: 2; padding: 16px 16px 8px 16px; background-color: var(--hellgrau); }
.hcb-main { width: calc(100% - 45px); padding: 0 0 0 16px; }
.hcb-image { width: 45px; height: 45px; padding: 3px 0 0 0; background: white; border-radius: 50%; box-shadow: var(--schattenunten); overflow: hidden; }
.hcb-image img { width: 45px; height: 42px; border-radius: 50%; object-position: center; object-fit: cover; }

.hcb-title { width: 100%; height: 45px; font: 23px/45px "FSDillonMedium"; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; transition: height 0.3s; }
.hcb-text { font: 17px/20px "FSDillon"; }
.hcb-text b { font: 17px/20px "FSDillonMedium" !important; }
.hcb-bonus { height: var(--vH); font: 17px/20px "FSDillon"; transition: height 0.3s; overflow: hidden; }
.hcb-bonus a { display: inline-block; color: var(--schwarz); text-decoration: none; border-bottom: 1px dashed transparent; }
.hcb-bonus a:first-child { padding-top: 8px; }
.hcb-bonus a:hover { text-decoration: none; border-bottom: 1px dashed var(--schwarz); }

#h-chat.semiopen .hcb-title { height: 0; }
#h-chat.semiopen .hcb-bonus { height: 0; }
#h-chat.semiopen #hc-default ul { height: 0; }
#h-chat.semiopen #hc-sub ul li:first-child:before { display: none; }

#hbc-close { width: 24px; min-width: 24px; height: 24px; margin-left: 8px; padding-top: 4px; line-height: 20px; text-align: center; background: white; border-radius: 50%; box-shadow: var(--schattenunten); overflow: hidden; font-size: 12px; cursor: pointer; }




/* Sortiment 10/11 */
#sortiment-10 a																	{ text-decoration: none; }
main a.stufe10-box-b-link														{ border: none !important; }
main a.stufe10-box-b-link:hover,
main a.stufe10-box-b-link:hover > div										{ color: var(--rot) !important; }
main .stufe10-box-b a															{ color: var(--schwarz) !important; }
main .stufe10-box-b a:hover													{ color: var(--rot) !important; }
main .stufe10-box-b a > i														{ color: inherit !important; }

/* Sortiment 13 */
main .stufe13-box a																{ border: none !important; }
main #filter-reset *																{ font-size: 16px; }
.btn-submenu > div ul li.current,
.btn-submenu > div ul li:hover												{ background: var(--rot); }

/* Crump */
#cms-crump																			{ font-size: 16px; }
#cms-crump a																		{ color: var(--schwarz); text-decoration: none; }
#cms-crump a:hover																{ color: black; text-decoration: underline dashed black; text-decoration-thickness: 0.5px; text-underline-offset: 5px; }
#cms-crump a:after																{ border-color: var(--schwarz) !important; }
#cms-crump li:last-child span													{ color: black; text-decoration: underline; text-decoration-thickness: 0.5px; text-underline-offset: 5px; }
#crump																				{ position: relative; padding: 20px 260px 0 1.5rem; font-size: 16px; overflow: visible !important; }
#crump a																				{ color: var(--schwarz); text-decoration: none; }
#crump a:hover																		{ color: black; text-decoration: underline dashed black; text-decoration-thickness: 0.5px; text-underline-offset: 5px; }
#crump a:after																		{ border-color: var(--schwarz) !important; }
#crump div.crump-last															{ color: black; text-decoration: underline; text-decoration-thickness: 0.5px; text-underline-offset: 5px; }

#crump-pn																			{ position: absolute !important; z-index: 10; right: 40px; }
#crump-pn button																	{ width: 48px; height: 48px; padding: 0 !important; margin-left: 20px; border-radius: 24px !important; background: white !important; color: var(--schwarz) !important; }
#crump-pn button:hover															{ background: var(--hellgrau) !important; }
#crump-pn button i																{ font-size: 28px; line-height: 46px; }
body.loaded #crump-pn button													{ transition: all 0.3s; }

/* Category */
.cat .align-content-stretch > article > div,
.cat .align-content-stretch > article > div > div,
.cat .align-content-stretch > article > div > div > div.art { height: 100%; }

/* Article */
.hasler-aktionenaktuell > .container										{ padding: 50px 20px !important; }
.hasler-aktionenaktuell article												{ padding: 20px; }
@media screen and (max-width: 959px){
.hasler-aktionenaktuell > .container										{ padding: 30px 10px !important; }
.hasler-aktionenaktuell article												{ padding: 10px; }
}

.navislider-container															{ margin: -10px; }
.navislider-container .splide__pagination									{ display: none; }
.navislider-container .splide__arrow										{ top: calc(50% - 46px ); width: 55px; height: 55px; opacity: .6; background: white; box-shadow: 0px 2px 4px rgba(0, 0, 0, 0.06); }
.navislider-container .splide__arrow--prev								{ left: -20px; }
.navislider-container .splide__arrow--next								{ right: -20px; }
.navislider-box																	{ text-decoration: none; color: var(--schwarz) !important; padding: 10px; }
.navislider-box:hover .navislider-title									{ background: var(--gelb); }
.navislider-box:hover .navislider-text										{ background: var(--gelb); }
.access .navislider-box:hover .navislider-title							{ background: var(--blau); }
.access .navislider-box:hover .navislider-text							{ background: var(--blau); }

/*.navislider-box:hover.navislider-box-button .navislider-title		{ background: transparent; }*/
.navislider-box:hover.navislider-box-button .navislider-text		{ background: transparent; }
.loaded .navislider-box.navislider-box-button .navislider-text		{ transition: padding 0.3s; }
.navislider-box.navislider-box-button .navislider-text				{ padding-top: 20px !important; padding-bottom: 20px !important; }
.navislider-box:hover.navislider-box-button .navislider-text		{ background: transparent; padding-top: 30px !important; padding-bottom: 10px !important; }

body.zutritt .navislider-box:hover .navislider-title					{ background: var(--blau); }
.navislider-title																	{ min-height: 92px; }
.navislider-title h4																{ text-align: center; }
.navislider-image > div															{ padding: 42%; }

#content .navi-box																{ margin: -0.5rem !important; }
#content .navi-box li															{ padding: 0.5rem; list-style: none; }
#content .navi-box li > div													{ position: relative; padding: 39%; }
#content .navi-box li > div > a												{ display: block; position: absolute; left: 0; top: 0; right: 0; bottom: 0; background: rgba(61,61,63,0.5); transition: all 0.3s; color: white !important; text-decoration: none; text-shadow: 0px 4px 4px rgba(0, 0, 0, 0.25); }
#content .navi-box li > div > a:hover										{ background: rgba(0,0,0,0.8); }
#content .navi-box li.box > div > a > div									{ min-height: 65%; padding: 15px 20px; }
#content .navi-box li.box > div > a > div.h-100-30						{ position: relative; min-height: 100%; width: 100%; padding: 15px 20px; align-items: center; }
#content .navi-box li.box > div > a > div.h-100-30 > div:nth-of-type(2) { display: flex; align-items: center; justify-content: center; position: absolute; left: 20px; bottom: 15px; right: 20px; }
#content .navi-box li.box > div > a > div.h-100-30 > div:nth-of-type(2) i { width: 25px; height: 25px; margin-left: 1rem; background: rgba(255,255,255,0.6); border-radius: 12.5px; text-shadow: none; color: var(--schwarz); font-size: 15px; line-height: 25px; padding-left: 1px; }


#content .navi-box li > div > a .text-schattentext						{ padding: 3px 0; }
.loaded #content .navi-box li > div > a .text-schattentext			{ transition: padding 0.3s; }
#content .navi-box li > div > a:hover .text-schattentext				{ padding: 0 0 6px 0; }


#content .navi-box .h0															{ font-size: 1.6rem; }


#content .navi-box.navi-pg-fancy												{ margin: -48px -0.5rem 0 -0.5rem !important; }


#content .navi-box.navi-pg-fancy li > div									{ padding: 0; }
#content .navi-box.navi-pg-fancy li > div > a							{ position: static; }
#content .navi-box.navi-pg-fancy li:first-child a						{ padding: 30px; }

#content .navi-box.navi-pg-fancy li:nth-child(2) a > div,
#content .navi-box.navi-pg-fancy li:nth-child(3) a > div,
#content .navi-box.navi-pg-fancy li:nth-child(4) a > div				{ position: relative; height: 100% !important; padding: 40px 0; align-items: center; }
#content .navi-box.navi-pg-fancy li:nth-child(2) a > div > div:nth-child(2),
#content .navi-box.navi-pg-fancy li:nth-child(3) a > div > div:nth-child(2),
#content .navi-box.navi-pg-fancy li:nth-child(4) a > div > div:nth-child(2)	{ position: absolute; left: 0; bottom: 10px; right: 0; }


@media screen and (min-width: 960px){
#content .navi-box.navi-pg-fancy li											{ width: 33.3333%; }
#content .navi-box.navi-pg-fancy li:first-child							{ width: 100%; }
#content .navi-box.navi-pg-fancy li a										{ min-height: 100%; height: 27.8vW; max-height: 403px; }
#content .navi-box.navi-pg-fancy li:first-child a						{ min-height: 0; height: 40.625vW; max-height: 450px; }
#content .navi-box.navi-pg-fancy li:first-child a > div				{ max-width: 50%; }
}
@media screen and (max-width: 959px){
#content .navi-box.navi-pg-fancy li											{ width: 50%; }
#content .navi-box.navi-pg-fancy li:first-child							{ width: 100%; }
#content .navi-box.navi-pg-fancy li a										{ min-height: calc(50vW - 2.5rem); height: 100%; }
#content .navi-box.navi-pg-fancy li:first-child a						{ min-height: 40.625vW; }
#content .navi-box.navi-pg-fancy li:nth-child(4)						{ display: none; }
}

#content .navi-box.navi-pg-box li.box > div > a > div.h-100-30 > div:nth-of-type(2) { opacity: 0; transition: opacity 0.3s; }
#content .navi-box.navi-pg-box li.box > div > a:hover > div.h-100-30 > div:nth-of-type(2) { opacity: 1; }

#content .navi-icon																{ max-width: 1200px; margin: 0 auto; }
#content .navi-icon > div														{ margin: -10px; }
#content .navi-icon > div > ul												{ display: flex; flex-wrap: wrap; margin: 0; padding: 0; }
#content .navi-icon > div > ul > li											{ width: 33.3333%; margin: 0; padding: 10px; list-style: none; }
#content .navi-icon > div > ul > li > a									{ display: flex; align-items: center; color: var(--schwarz); text-decoration: none; }
#content .navi-icon > div > ul > li > a i									{ width: 60px; font-size: 28px; }
#content .navi-icon > div > ul > li > a span								{ width: calc(100% - 60px); }

.hasler-zutrittsexperten														{ padding-top: 80px; background: linear-gradient(to bottom,white 0%,white 40%,var(--blau) 40%,var(--blau) 100%); }
.hasler-unternehmen,
.hasler-article-bg-inset-top													{ background: linear-gradient(to bottom,white 0%,white 250px,var(--gelb) 250px,var(--gelb) 100%) !important; }
.hasler-whitegray																	{ padding-top: 80px; padding-bottom: 40px; background: linear-gradient(to bottom,white 0%,white 50%,var(--hellgrau) 50%,var(--hellgrau) 100%); }
@media screen and (max-width: 1440px){
.hasler-unternehmen,
.hasler-article-bg-inset-top													{ background: linear-gradient(to bottom,white 0%,white 18vW,var(--gelb) 18vW,var(--gelb) 100%) !important; }
}																{ padding-top: 80px; padding-bottom: 40px; background: linear-gradient(to bottom,white 0%,white 50%,var(--hellgrau) 50%,var(--hellgrau) 100%); }
@media screen and (max-width: 768px){
.hasler-zutrittsexperten														{ padding-top: 40px; background: linear-gradient(to bottom,white 0%,white 30%,var(--blau) 30%,var(--blau) 100%); }
#content .navi-box .h0															{ font-size: 23px; }
}



.hasler-article-bg-inset-top .artbox										{ background: none !important; }

.hasler-noimagepadding															{ padding: 40px; }
.hasler-noimagepadding .p-3													{ padding: 0 !important; }
.hasler-noimagepadding .p-3.block_10000									{ padding: 4rem !important; }

@media (max-width: 991px){
.hasler-noimagepadding .p-3.block_10000									{ padding: 2rem !important; }
}

.hasler-noimagepadding .p-2													{ padding: 0 !important; }
.hasler-noimagepadding .p-2.block_10000									{ padding: 20px !important; }
.hasler-noimagepadding .p-2.block_10000 + .block_10000				{ padding: 0 20px 20px 20px !important; }

.hasler-mobile-50percent

.branch-borderbox																	{ border: 1px solid var(--hellgrau); }
.branch-borderbox > div:last-child											{ width: calc(100% + 2px); margin: auto -1px -1px -1px; }
@media (max-width: 991px){
.branch-borderbox > div.px-40p												{ padding-left: 0px !important; padding-right: 0px !important; }
}

.hasler-art-bgimg																	{ padding: 2rem; }
@media (max-width: 991px){
.hasler-art-bgimg																	{ padding: 1rem; }
.hasler-art-bgimg .p-4															{ padding: 0.5rem !important; }
}

/*.hasler-art-bgimgboxwhitestripe												{ padding: 2rem; }
.hasler-art-bgimgboxwhitestripe .art_image								{ position: relative; padding: 17.7%; margin-bottom: 113px; }
.hasler-art-bgimgboxwhitestripe .art_image picture						{ position: absolute; left: 0; top: 0; right: 0; bottom: 0; }
.hasler-art-bgimgboxwhitestripe .art_image picture img				{ width: 100%; height: 100%; object-fit: cover; }
.hasler-art-bgimgboxwhitestripe > div > div > .art						{ position: absolute; left: 0; top: 0; right: 0; bottom: 0; padding: 0 !important; }
.hasler-art-bgimgboxwhitestripe > div > div > .art > div				{ margin-bottom: -113px; padding: 40px 116px 40px 40px !important; background: rgba(235, 239, 240, 0.95); }*/

.art_tpl_1126 																		{ padding: 2rem; }
.art_tpl_1126 .art_image														{ position: relative; padding: 17.7%; margin-bottom: 113px; }
.art_tpl_1126 .art_image picture												{ position: absolute; left: 0; top: 0; right: 0; bottom: 0; }
.art_tpl_1126 .art_image picture img										{ width: 100%; height: 100%; object-fit: cover; }
.art_tpl_1126 > div > div > .art												{ position: absolute; left: 0; top: 0; right: 0; bottom: 0; padding: 0 !important; }
.art_tpl_1126 > div > div > .art > div										{ margin-bottom: -113px; padding: 40px 116px 40px 40px !important; background: rgba(235, 239, 240, 0.95); }




.haslericon-white-80																{ display: flex; justify-content: center; align-items: center; width: 80px; height: 80px; background: white; border-radius: 40px; font-size: 42px; }
.hasler-consulting																{ color: var(--schwarz) !important; text-decoration: none !important; border: none !important; }

.hasler-newsletter																{ max-width: calc(100vW - 100px); margin: 0 auto; padding-bottom: 40px; }
.hasler-newsletter > div > div > div.art_image							{ background-size: auto 100% !important; background-position: left center; }
.hasler-newsletter > div > div > div.art_image img						{ object-position: left center; }


@media screen and (max-width: 959px){
.hasler-newsletter																{ max-width: calc(100vW - 40px); }
}

.hasler-newsletter > div > div > div.art									{ min-height: 365px; }
.hasler-newsletter .nl-register-text										{ position: absolute; left: 480px; top: 0; padding: 0 40px; width: 480px; line-height: 45px; }
.hasler-newsletter input														{ background: white !important; }
.hasler-newsletter #newslettercancel										{ display: block !important; width: 45px; height: 45px; background: white; line-height: 45px; text-align: center; cursor: pointer; color: var(--dunkelgrau); }

/*.pop-container																		{ margin: 0 -144px 0 0; overflow: hidden; }
.pop-container > div																{ margin:0; }*/
.pop-box																				{ background: white; color: var(--schwarz) !important; text-decoration: none; transition: all 0.3s; font-family: 'FSDillonBold'; font-size: 20px; }
.pop-box:hover																		{ background: var(--gelb) !important; text-decoration: none; }

.pop-box .boxtitle																{ font-size: 20px !important; }
.pop-container	 .splide__arrow--prev										{ left: 2rem !important; }
.pop-container	 .splide__arrow--next										{ right: 2rem !important; }

/*
.pop-container	 .splide__arrow--next										{ left: calc(100vW - 2rem - 55px) !important; right: auto !important; }

@media screen and (min-width: 992px){
.pop-container	 .splide__arrow--next										{ left: calc(100vW - 2rem - 87px) !important; }
}*/

/*
.pop-container > div																{ margin: 0 -80px 0 -160px; }
.pop-container .splide__pagination											{ display: none; }
.pop-container .splide__arrow													{ top: calc(50% - 47.5px); width: 55px; height: 55px; opacity: .6; background: white; box-shadow: 0px 2px 4px rgba(0, 0, 0, 0.06); }
.pop-container .splide__arrow--prev											{ left: 180px; }
.pop-container .splide__arrow--next											{ right: 100px; }
@media (max-width: 768px){
.pop-container																		{ margin: -20px -40px; overflow: hidden; }
.pop-container > div																{ margin: 0 -140px 0 -20px; }
.pop-container .splide__arrow--prev											{ left: 40px; }
.pop-container .splide__arrow--next											{ right: 160px; }
}*/

.cms_accordion 																	{ width: 100%; }
.cms_accordion_container + .cms_accordion_container					{ margin-top: -20px !important; }
.cms_accordion_container + .cms_accordion_container .art.p-3		{ padding-top: 2px !important; }


.cms_accordion_container + .cms_accordion_container .cms_accordion_header		{ border-top: 1px solid white; }
.accordion-item + .accordion-item .cms_accordion_header		{ border-top: 1px solid white; }
.cms_accordion_header															{ padding-right: 20px; cursor: pointer; }
.cms .accordion-button::after														{ display: none !important; }
.cms_accordion_header .fas.fa-chevron-up									{ display: inline-block; width: 30px; height: 30px; margin-left: 15px; background: rgba(255,255,255,0.6); text-align: center; line-height: 30px; font-size: 16px; border-radius: 50%; transition: all 0.3s; }
.cms_accordion_header:hover .fas.fa-chevron-up							{ background: rgba(255,255,255,1); }
.cms_accordion.closed .cms_accordion_header .fas.fa-chevron-up		{ transform: rotate(180deg); }
.cms_accordion .cms_accordion_header.collapsed .fas.fa-chevron-up		{ transform: rotate(180deg); }
.cms_accordion_body																{ overflow: hidden; }
.cms_accordion_body > div														{ margin: 0 -20px; }
.cms_accordion.closed .cms_accordion_body									{ height: 0 !important; }
body.loaded .cms_accordion .cms_accordion_body							{ transition: all 0.3s; }


@media screen and (max-width: 768px){
.cms_accordion_body > div														{ margin: 0 -10px; }
}



@media screen and (max-width: 1439px){
.hasler-newsletter .nl-register-text										{ display: none !important; }
}
@media screen and (max-width: 991px){
.cat_image																			{ display: none !important; }
}

.block_20001 .cms_img a															{ display: block; position: relative; height: 100%; color: var(--schwarz); text-decoration: none; border: none; }
.block_20001.col-lg-5 .cms_img a												{ padding: 44.3%; }
.block_20001.col-lg-7 .cms_img a												{ padding: 31.13%; }
.block_20001 .cms_img a .cms_title											{ display: flex; justify-content: start; align-items: center; position: absolute; z-index: 4; left: 0; bottom: 0; right: 0; padding: 0 110px 0 35px; background: rgba(255,255,255,0.8); line-height: 1.3; min-height: 90px; font-size: 30px; font-family: 'FSDillonBold'; transition: all 0.3s; }
.block_20001 .cms_img a .cms_title:after									{ display: block; content: "\e909"; position: absolute; top: calc(50% - 20px); right: 35px; width: 40px; height: 40px; text-align: center; font: 16px/40px "icomoon"; font-weight: 400; background: white; border-radius: 50%; }
.block_20001 .cms_img a:hover .cms_title									{ background: var(--gelb); }
.block_20001 .cms_img a picture												{ position: absolute; z-index: 1; top: 0; left: 0; bottom: 0; right: 0; line-height: 1px; }
.block_20001 .cms_img a picture img											{ width: 100%; height: 100%; object-fit: cover; }

.block_20002 .cms_img															{ height: 100%; }
.block_20002 .cms_img a															{ display: block; position: relative; height: 100%; padding: 50%; color: var(--schwarz); text-decoration: none; border: none; }
.block_20002 .cms_img a .cms_title											{ display: block; justify-content: start; align-items: center; position: absolute; z-index: 4; left: 0; bottom: 0; right: 0; padding: 15px 20px; line-height: 1.3; background: var(--gelb); transition: all 0.3s; }
.block_20002 .cms_img a:hover .cms_title									{ background: var(--schwarz); color: white; }
.block_20002 .cms_img a picture												{ position: absolute; z-index: 1; top: 0; left: 0; bottom: 0; right: 0; line-height: 1px; }
.block_20002 .cms_img a picture img											{ width: 100%; height: 100%; object-fit: cover; }

.block_20003 .cms_img															{ height: 100%; }
.block_20003 .cms_img a															{ display: block; position: relative; height: 100%; padding: 50%; color: var(--schwarz); text-decoration: none; border: none; }
.block_20003 .cms_img a .cms_title											{ display: block; position: absolute; z-index: 4; top: 0; left: 0; bottom: 0; right: 0; line-height: 1.3; transition: all 0.3s; }
.block_20003 .cms_img a:hover .cms_title .bg-hellgrau					{ background: var(--schwarz); color: white; }
.block_20003 .cms_img a picture												{ position: absolute; z-index: 1; top: 0; left: 0; bottom: 0; right: 0; line-height: 1px; }
.block_20003 .cms_img a picture img											{ width: 100%; height: 100%; object-fit: cover; }

.block_20004 .cms_img															{ height: 100%; }
.block_20004 .cms_img a															{ display: block; position: relative; height: 100%; padding: 25%; color: var(--schwarz); text-decoration: none; border: none; }
.block_20004 .cms_img a:before												{ display: block; content: ""; position: absolute; z-index: 2; top: 0; left: 0; bottom: 0; right: 0; background: var(--schwarz); opacity: 0.5; transition: all 0.3s; }
.block_20004 .cms_img a:hover:before										{ opacity: 0.8; }
.block_20004 .cms_img a .cms_title											{ position: absolute; z-index: 4; top: 0; left: 0; bottom: 0; right: 0; line-height: 1.3; }
.block_20004 .cms_img a .cms_title .fas.fa-chevron-right				{ display: inline-block; width: 30px; height: 30px; margin-left: 15px; background: rgba(255,255,255,0.6); text-align: center; line-height: 30px; font-size: 16px; border-radius: 50%; }
.block_20004 .cms_img a picture												{ position: absolute; z-index: 1; top: 0; left: 0; bottom: 0; right: 0; line-height: 1px; }
.block_20004 .cms_img a picture img											{ width: 100%; height: 100%; object-fit: cover; }
									



section.hasler-quote																{ overflow-x: hidden; }
section.hasler-quote .cat_image												{ display: flex !important; flex-wrap: wrap; justify-content: center; align-items: flex-start; left: 0; right: 0; }
section.hasler-quote .cat_image picture									{ position: static; order: 1; display: block; margin: 0 auto; width: 100%; max-width: 1440px; height: 15vW; }
section.hasler-quote .cat_image:before										{ order: 2; display: block; content: ""; width: 100%; max-width: 1440px; height: calc(100% - 30vW); background: #ebeff0; }
section.hasler-quote .cat_image:after										{ order: 2; display: block; content: ""; width: 100%; max-width: 1440px; height: 15vW; background: url("/www_partner/pages/img/zitat.svg") no-repeat center bottom; background-size: 100% auto; overflow: hidden; }
section.hasler-quote .cat_image img											{ object-fit: 100% auto; object-position: center top; }
.hasler-quote > div > div														{ min-height: 40vW; padding: 40px 0; }

@media screen and (min-width: 1401px){
.hasler-quote > div > div														{ min-height: 640px; padding: 40px 0; }
section.hasler-quote .cat_image picture									{ height: 320px; }
section.hasler-quote .cat_image:before										{ height: calc(100% - 640px); }
section.hasler-quote .cat_image:after										{ height: 320px; }
section.hasler-quote .cat_image												{ left: calc(50vW - 720px); right: calc(50vW - 720px); }
}





article > .cms_border															{ max-width: 1140px; margin: 0 auto; border: none !important; }
article > div > div > .cms_border											{ padding: 100px 120px !important; border-width: 1px !important; border-style: solid !important; }


@media screen and (max-width: 1200px){
article > .cms_border															{ max-width: calc( 100vW - 40px); }
}
@media screen and (max-width: 959px){
article > .cms_border															{ max-width: calc( 100vW - 20px); }
}


hr																						{ margin: 0; opacity: 1; height: 2px !important; background: var(--hellgrau); }

.hasler-article-filiale-det-whitetogray									{ padding: 40px 0 80px 0; background: linear-gradient(to bottom,white 0%, white 40%, var(--hellgrau) 40%, var(--hellgrau) 100%); }

/* MODAL */
#modal .modal-dialog-scrollable .modal-content,
#modal .modal-dialog-scrollable .modal-content *						{ border-radius: 0 !important; }

#modal .modal-dialog-scrollable .modal-content							{ border: 0; background: var(--hellgrau); }
#modal .modal-dialog-scrollable #frmCipher .form-floating				{ border: 0; background: white; }
#modal .modal-dialog-scrollable .modal-header							{ padding: 25px 25px 0 40px; border: 0; }

#modal .modal-dialog-scrollable .modal-header button.close			{ position: relative; width: 44px; padding: 55px 0 0 0 !important; text-align: center; font: 20px/22px "FSDillonMedium"; color: white; border: none !important; background: none !important; }

#modal .modal-dialog-scrollable .modal-header button.close:before	{ display: block; content: ""; position: absolute; left: calc(50% - 22px); top: 0; width: 44px; height: 44px; border-radius: 50% !important; border: 0; background: white; box-shadow: 0px 2px 4px rgba(0, 0, 0, 0.06); opacity: 1; transition: all 0.3s; }
#modal .modal-dialog-scrollable .modal-header button.close:hover:before	{ background: white; }
#modal .modal-dialog-scrollable .modal-header button.close:after	{ display: block; content: "\e90f"; position: absolute; left: 0; top: 0; right: 0; font: 16px/44px "icomoon"; text-align: center; color: var(--schwarz50) !important; transition: all 0.3s; }
/*#modal .modal-dialog-scrollable .modal-header button.close:hover:after	{ color: white !important; }*/
#modal .modal-dialog-scrollable .modal-header button.close span	{ display: none; line-height: 24px; padding-bottom: 0; }
#modal .modal-dialog-scrollable .modal-header button.close span.txt	{ display: block; text-align: center; margin: 0 -75px; }

/*
#modal .modal-dialog-scrollable .modal-header button.close			{ width: 45px; height: 45px; border-radius: 50% !important; border: 0; background: white; color: var(--schwarz50) !important; box-shadow: 0px 2px 4px rgba(0, 0, 0, 0.06); opacity: 1; transition: all 0.3s; }
#modal .modal-dialog-scrollable .modal-header button.close:hover	{ background: white; color: var(--schwarz50) !important; opacity: 1; }
#modal .modal-dialog-scrollable .modal-header button.close span	{ display: none; line-height: 24px; padding-bottom: 0; }
#modal .modal-dialog-scrollable .modal-header button.close:before	{ display: block; content: "\e90f"; font: 16px/24px "icomoon"; }
*/

#modal .modal-dialog-scrollable .modal-body								{ padding: 40px; }
#modal .modal-dialog-scrollable .modal-footer							{ padding: 30px 40px; background: var(--gelb); border: 0; }
#modal .modal-dialog-scrollable .modal-footer .btn-primary			{ color: var(--schwarz) !important; background: white !important; border-color: white !important; border-radius: 4px !important; }
#modal .modal-dialog-scrollable .modal-footer .btn-primary:hover	{ color: white !important; background: var(--schwarz) !important; border-color: var(--schwarz) !important; }

#modal .modal-dialog.carousel .modal-content								{ background: none; overflow: visible !important; }
#modal .modal-dialog.carousel .modal-header								{ position: relative; z-index: 10; height: 0; padding: 0; border: 0; }
#modal .modal-dialog.carousel .modal-header button						{ position: absolute; top: 0; right: 0; }
#modal .modal-dialog.carousel .modal-body									{ display: flex; justify-content: center; align-items: center; padding: 0; }
#modal .modal-dialog.carousel .carousel-container-outer				{ width: 100%; max-width: 1260px; }
#modal .modal-dialog.carousel .carousel-container						{ padding: 30.6%; }
#modal .modal-dialog.carousel .carousel									{ position: absolute; left: 0; top: 0; right: 0; bottom: 0; padding: 0 150px 115px 150px; }
#modal .modal-dialog.carousel .carousel-inner div						{ height: 100%; }
#modal .modal-dialog.carousel .carousel-inner > div > div > div	{ padding: 55px 88px; background: white; }
#modal .modal-dialog.carousel .carousel-inner iframe					{ width: 100%; height: 100%; }

#modal .carousel-control-pn													{ display: flex; align-items: center; width: 150px; opacity: 1 !important; }
#modal .carousel-control-pn.carousel-control-prev						{ justify-content: start; }
#modal .carousel-control-pn.carousel-control-next						{ justify-content: end; }
#modal .modal-content .carousel-control-pn i								{ display: block; width: 55px; height: 55px; line-height: 55px; border-radius: 50% !important; background: rgba(255, 255, 255, 0.8); box-shadow: var(--schattenunten); color: var(--schwarz); text-shadow: none; }
#modal .carousel-indicators													{ position: absolute !important; left: 0; bottom: 0; right: 0; }
#modal .carousel-indicators button											{ position: block; border: 0; width: 65px !important; margin: 0 15px; }
#modal .carousel-indicators button > div									{ position: relative; padding: 50%; background: white; }
#modal .carousel-indicators button > div > div							{ position: absolute; left: 4px; top: 4px; right: 4px; bottom: 4px; }

.modal																				{ z-index: 10550; }
.modal-backdrop																	{ z-index: 10500; }

@media (min-width: 992px){
.modal-lg, .modal-xl 															{  max-width: 900px; }
}


@media screen and (max-width: 959px){

#modal .modal-dialog-scrollable .modal-header button.close			{ margin: 20px 20px 0 0 !important; }

.modal-fullscreen.carousel														{ width: 100vW; height: 100vH; margin: 0; }
#modal .modal-dialog.carousel .carousel-container						{ padding: 50%; }
#modal .modal-dialog.carousel .carousel									{ padding: 0 20px 85px 20px; }
#modal .carousel-indicators button											{ width: 10.6666vW !important; margin: 0 12px; opacity: 1; }
#modal .modal-content .carousel-control-pn								{ z-index: 999999; width: calc(10.6666vW + 20px); height: 100% !important; align-items: end !important; opacity: 1; }
#modal .modal-content .carousel-control-pn span							{ width: 10.6666vW !important; height: 10.6666vW !important; }
#modal .modal-content .carousel-control-prev span						{ margin: 0 0 0 20px; }
#modal .modal-content .carousel-control-next span						{ margin: 0 20px 0 0; }
#modal .modal-content .carousel-control-pn span i						{ width: 10.6666vW !important; height: 10.6666vW !important; line-height: 11.6666vW !important; background: white; }

}


/* TOAST */
.toast-container .toast-header												{ height: 0; padding: 0; background: none; }
.toast-container .toast-header strong										{ display: none !important; }
.toast-container .toast-header button										{ position: absolute; top: 0; right: 0; width: 60px; line-height: 60px; font-size: 24px; color: var(--schwarz); }
.toast-container .toast-header button:hover								{ background: none !important; color: var(--schwarz); }
.toast-container .toast															{ position: relative; display: flex; align-items: center; width: 410px; max-width: calc(100vW - 40px); padding: 24px 68px 24px 24px; border: none !important; box-shadow: var(--schattenunten); border-radius: 0; background: var(--hellgrau) }
.toast-container .toast:before												{ display: block; content: ""; width: 35px; height: 35px; margin-right: 24px; background: rgba(255,255,255,0.8); font: 22px/35px "Font Awesome 5 Free"; font-weight: 900; color: var(--schwarz); border-radius: 50%; text-align: center; }
.toast-container .toast.toast-success										{ background: var(--gruen) }
.toast-container .toast.toast-success:before								{ content: "\f00c"; }
.toast-container .toast.toast-danger										{ background: var(--dunkelrot); color: white; }
.toast-container .toast.toast-danger:before								    { content: "\f00d"; padding-top: 2px; line-height: 33px; }
.toast-container .toast.toast-warning										{ background: var(--orange); color: white; }
.toast-container .toast.toast-warning:before								{ content: "\f071"; line-height: 33px; }
.toast-container .toast-header.bg-danger button							{ color: white; }
.toast-container .toast-body													{ width: calc(100% - 59px); padding: 0; font: 18px/24.2px "FSDillonBold"; }

/* RESPONSIVE */

@media (max-width: 959px){
/* Artikelslider */

.home #mwst																			{ display: none; }

.artlst .p-3																		{ padding: 0.5rem !important; }
.hasler-noimagepadding															{ padding: 0 1rem; }
}


/* BOOTSTRAP */
@media screen and (min-width: 768px){
.m-md--2																				{ margin: -0.5rem; }
.m-md--3																				{ margin: -1rem; }
}

.p-15																					{ padding: 0.375rem!important; }
.p-25																					{ padding: 0.625rem!important; }
.p-25.pt-0																			{ padding-top: 0!important; }
.p-25.pb-0																			{ padding-bottom: 0!important; }

.p-10p																				{ padding: 10px; }
.ps-10p																				{ padding-left: 10px; }
.pt-10p																				{ padding-top: 10px; }
.pe-10p																				{ padding-right: 10px; }
.pb-10p																				{ padding-bottom: 10px; }
.px-10p																				{ padding-left: 10px; padding-right: 10px; }
.py-10p																				{ padding-top: 10px; padding-bottom: 10px; }
.p-15p																				{ padding: 15px; }
.ps-15p																				{ padding-left: 15px; }
.pt-15p																				{ padding-top: 15px; }
.pe-15p																				{ padding-right: 15px; }
.pb-15p																				{ padding-bottom: 15px; }
.px-15p																				{ padding-left: 15px; padding-right: 15px; }
.py-15p																				{ padding-top: 15px; padding-bottom: 15px; }
.p-20p																				{ padding: 20px; }
.ps-20p																				{ padding-left: 20px; }
.pt-20p																				{ padding-top: 20px; }
.pe-20p																				{ padding-right: 20px; }
.pb-20p																				{ padding-bottom: 20px; }
.px-20p																				{ padding-left: 20px; padding-right: 20px; }
.py-20p																				{ padding-top: 20px; padding-bottom: 20px; }
.p-30p																				{ padding: 30px; }
.ps-30p																				{ padding-left: 30px; }
.pt-30p																				{ padding-top: 30px; }
.pe-30p																				{ padding-right: 30px; }
.pb-30p																				{ padding-bottom: 30px; }
.px-30p																				{ padding-left: 30px; padding-right: 30px; }
.py-30p																				{ padding-top: 30px; padding-bottom: 30px; }
.p-40p																				{ padding: 40px; }
.ps-40p																				{ padding-left: 40px; }
.pt-40p																				{ padding-top: 40px; }
.pe-40p																				{ padding-right: 40px; }
.pb-40p																				{ padding-bottom: 40px; }
.px-40p																				{ padding-left: 40px !important; padding-right: 40px !important; }
.py-40p																				{ padding-top: 40px; padding-bottom: 40px; }
.p-80p																				{ padding: 80px; }
.ps-80p																				{ padding-left: 80px; }
.pt-80p																				{ padding-top: 80px; }
.pe-80p																				{ padding-right: 80px; }
.pb-80p																				{ padding-bottom: 80px; }
.px-80p																				{ padding-left: 80px; padding-right: 80px; }
.py-80p																				{ padding-top: 80px; padding-bottom: 80px; }

.p-33percent																		{ padding: 33.333%; }
.mt--20p																				{ margin-top: -20px; }
.ms--2																				{ margin-left: -0.5rem; }
.mx--2																				{ margin-left: -0.5rem; margin-right: -0.5rem; }
.hasler-py-40p																		{ padding-top: 40px; padding-bottom: 40px; }


#vgl_table .stufe13-footer-box .btn-schwarz span						{ display: none; }
#vgl_table .stufe13-footer-box .btn-schwarz i							{ margin: 0; }
#vgl_table .stufe13-price														{ position: static; }
#vgl_table .stufe13-flag														{ display: none; }
#vgl_table .stufe13-price .btn-primary										{ display: none; }

@media screen and (max-width: 768px){
.p-15p																				{ padding: 10px; }
.ps-15p																				{ padding-left: 10px; }
.pt-15p																				{ padding-top: 10px; }
.pe-15p																				{ padding-right: 10px; }
.pb-15p																				{ padding-bottom: 10px; }
.px-15p																				{ padding-left: 10px; padding-right: 10px; }
.py-15p																				{ padding-top: 10px; padding-bottom: 10px; }
}




@media screen and (max-width: 991px){
}
@media screen and (max-width: 768px){
#content .p-2																		{ padding: 5px !important; }
#content .p-3																		{ padding: 10px !important; }
#content .pt-3																		{ padding-top: 10px !important; }
#content .pe-3																		{ padding-right: 10px !important; }
#content .pb-3																		{ padding-bottom: 10px !important; }
#content .ps-3																		{ padding-left: 10px !important; }
#content .px-3																		{ padding-left: 10px !important; padding-right: 10px !important; }
#content .py-3																		{ padding-top: 10px !important; padding-bottom: 10px !important; }
#content .pb-4																		{ padding-top: 20px !important; }
#content .range-container .pe-3												{ padding-right: 18px !important; }
#content .range-container .ps-3												{ padding-left: 18px !important; }
}



/*

#modal .modal-body .branch-profi													{ padding: 30px 40px; margin: 40px -40px 0 -40px; background: var(--gelb) !important; }
#modal .modal-body .branch-profi .btn-primary								{ color: var(--schwarz) !important; background: white !important; border-color: white !important; border-radius: 4px !important; }
#modal .modal-body .branch-profi .btn-primary:hover						{ color: white !important; background: var(--schwarz) !important; border-color: var(--schwarz) !important; }

#modal .modal-body .branch-access											{ padding: 30px 40px; margin: 0 -40px; background: var(--hellblau) !important; color: white !important; }
#modal .modal-body .branch-access .btn-primary							{ color: var(--schwarz) !important; background: white !important; border-color: white !important; border-radius: 4px !important; }
#modal .modal-body .branch-access .btn-primary:hover					{ color: white !important; background: var(--schwarz) !important; border-color: var(--schwarz) !important; }

#modal .modal-body .branch-other												{ padding: 30px 40px; margin: 0 -40px -40px -40px; background: var(--schwarz50) !important; color: white !important; }
#modal .modal-body .branch-other .btn-primary							{ color: var(--schwarz) !important; background: white !important; border-color: white !important; border-radius: 4px !important; }
#modal .modal-body .branch-other .btn-primary:hover					{ color: white !important; background: var(--schwarz) !important; border-color: var(--schwarz) !important; }

*/

.block_50000 > .rel:first-of-type hr { display: none; }

#go-top																				{ align-items: center; justify-content: center; right: calc(50% - 20px); width: 40px; height: 40px; border-radius: 50%; background: var(--gelb); box-shadow: 3px 3px 4px rgba(0, 0, 0, 0.08); font-size: 20px; cursor: pointer; }
body.scrolled #go-top { display: flex !important; }
@media screen and (max-width: 640px){
#go-top																				{ bottom: 14px; }
}




