/* structure + elements
------------------------------ */

#totop a:hover::before { color: #000; background-color: #cdfc40; }

h1, h2, h3, .headline { margin-bottom: 28px; }


/* header
------------------------------ */

header.main { background-color: #cdfc40 }

header.main > .wrp { 
clear: both;
overflow: unset;
display: flex;
align-items: center;
justify-content: space-between;
padding: 10px;
}

header .search { margin-top: 0; }
header .search fieldset { margin-bottom: 0; }

header.main #customer-menu > button,
header.main #customer-menu > button:hover,
header.main #customer-menu a,
header.main #customer-menu a:hover,
#offcanvas .btn,
#offcanvas .btn:hover,
header.main #customer-menu a.active,
header.main #customer-menu > button.active { background: #111; }

header.main #customer-menu a::before,
header.main #customer-menu > *::before,
header.main #customer-menu > button span { color: #fff !important; }

header.main #customer-menu a:hover::before,
header.main #customer-menu > button:hover::before,
header.main #customer-menu > button:hover span,
#offcanvas .btn:hover,
header.main #customer-menu a.active::before,
header.main #customer-menu > button.active::before { color: #cdfc40 !important; }

header.main #customer-menu a .count,
#offcanvas .btn .count { background: #fff !Important; color: #000 !important; font-size: 11px; }

header.main #customer-menu a.active .count,
header.main #customer-menu > button.active .count { background: #cdfc40 !important; color: #000; }

header.main #customer-menu .menu-item-cart.active { background: #000 !important; }

#navbar { top: 160px; }


/* content
------------------------------ */

/* buttons
------------------------- */

.btn,
.btn.success { border: 0 none transparent !important; background: #222; }

.btn:hover,
.btn.success:hover,
.btn.edit:hover,
.btn.success:active,
.btn.success.active { background-color: #cdfc40; color: #000; }

.btn.edit { border-radius: 0 !important; background: #222; color: #fff; }

.btn.edit#addressBookModal, .btn.edit#addressBookModalLiefer, .btn.edit#addressBookModalAbsender { border: 0 none transparent; }


/* pages
------------------------- */

main h1:last-child,
main h2:last-child,
main h3:last-child,
main h4:last-child,
main h5:last-child,
main h6:last-child { margin-bottom: 0; }

h2.rte_container, .rte_container h2, #impressum h2 { margin: 0 0 5px; font-weight: 600; font-size: 30px; }
h3.rte_container, .rte_container h3, #impressum h3 { margin: 0 0 5px;  font-weight: 600; font-size: 24px; }
h4.rte_container, .rte_container h4, #impressum h4 { margin: 0 0 5px;  font-weight: 600; font-size: 20px; }
p.rte_container, .rte_container p, #impressum p { margin: 0 0 10px;  }
.rte_container ul { margin-bottom: 15px; }

.benefits > div,
.benefits > div > * { color: #000 !important; text-transform: uppercase; }

.benefits > div { font-weight: bold; font-size: 19px !important; }

.benefits > div:first-child { background-color: #cdfc40 !important; }

.benefits > div:nth-of-type(2) {
width: 47.5%;
margin-right: 0;
background-color: #f2f2f2 !important;
background-size: 11%;
}

.benefits > div span { color: rgba(0,0,0,0.05) !important; font-size: 38px; }


/* home section
------------------------- */

/* 1st block after slider */
#homepage-text1 { padding: 45px 0 5px; }

/* 2nd block after slider */
.trade-groups.sidebar { margin-bottom: 0; padding: 45px 0 55px; }

/* 3rd block after slider */
#homepage-text2 { padding: 45px 0 0px; }

/* 4th block after slider */
#homepage-text3 { padding: 0 0 50px; }

#homepage-text3 .benefits.wrp { margin-top: 0; margin-bottom: 0; }

/* 5th block after slider */
.parallax { display: flex; align-items: center; margin: 0; }
.parallax .wrp { border: 0 none transparent; }

/* 6th block after slider */
#usp-bar { padding: 38px 0 50px; background: #f7f7f7; }

/* 7th + 8th block after slider */
#trade-blocks,
#payment-bar { padding: 0; }


/* products
------------------------- */

/* product attachments
-------------------- */

#modalTemplates #modulesPrinttemplate ul { display: flex; flex-wrap: wrap; }

#modalTemplates #modulesPrinttemplate ul li {
float: none !important;
width: auto !important;
margin-bottom: 10px;
margin-right: 15px;
padding: 0 10px 0 8px;
}


/* order
------------------------- */

.cart_breadcrumb li { /*color: #888; */line-height: 21px;}

/*.cart_breadcrumb li.active { color: #fff; }*/

/*.cart_breadcrumb li.preactive { background: #cdfc40 !important; color: #000; }*/


/* cart
-------------------- */

#cart #total_price strong { color: #000; }

/* order process
-------------------- */


/* footer
------------------------------ */

footer.main { background-color: #fff; }

/* "Cheat" because there's no 2nd col */
footer.main address .col_left { width: 100%; }

footer.main>.wrp>nav li.druckmuster_jn { display: none; }

/*Tel + mail */
footer.main i { color: #333; }

.leadprint-brand { display: none; }


/* media queries
------------------------------ */

@media screen and (min-width: 1281px) {
#offcanvas_open { display: none; }
}

@media screen and (max-width: 1280px) {
#offcanvas #shortcut_menu { display: flex; }
#offcanvas .btn {
float: none;
display: flex;
align-items: center;
justify-content: center;
border-color: #222;
}
#offcanvas .btn .count {
top: 10px;
right: 10px;
background: #cdfc40;
color: #000;
height: 25px;
width: 25px;
font-size: 11px;
line-height: 25px;
}
}

@media screen and (min-width: 768px) { 
header.main { height: 160px; margin-bottom: 50px; }
header.main #customer-menu { display: flex; align-items: center; margin-top: 0; }
}

@media screen and (max-width: 767px) {
header.main { height: 78px; margin-bottom: 0; }
header.main #brand-logo {
width: auto !important;
height: 60px !important;
margin-top: 0;
margin-left: 5px;
}
header.main #brand-logo img { width: auto; min-height: 60px; max-height: 60px; }
 #offcanvas_open { top: 20px; right: 18px; }
}