body {
    font-family: "Open Sans";
}

body.oc-active {
	overflow:hidden;
}

/*ul {
    list-style: none;
    padding:0;
}*/

#Breadcrumb ul {
    list-style: none;
    padding:0;
}

img {
    max-width: 100%;
}

h1, h2, h3, h4, h5, h6,
.h1, .h2, .h3, .h4, .h5, .h6 {
    font-family: "Open Sans";
}

.fs-1rem {
    font-size: 1rem;
}

.fs-09 {
    font-size: .9rem;
}

.fs-08 {
    font-size: .8rem;
}

.fs-07 {
    font-size: .7rem;
}

.font-pic-size {
    font-size: 2rem;
}

.bg-pikto{
    background-color:#4e50521a!important
}
.bg-light{
    background-color:#4e50521a!important
}

.text-lugi {
    color:rgba(4, 74, 156,1);
}

.divider
{
	position: relative;
	height: 1px;
}

.div-transparent:before
{
	content: "";
	position: absolute;
	top: 0;
	left: 5%;
	right: 5%;
	width: 90%;
	height: 1px;
	background-image: linear-gradient(to right, transparent, rgba(4, 74, 156,1), transparent);
}

.newslist-container {
    border:0;
}

.cookieconsent {
    background-color: transparent;
    position: fixed;
    bottom: 0;
    left: 0;
    right: 0;
    padding: 0 2em;
    z-index: 1000;
    /*
        display: flex;        
        margin: 0;
    */
}

.lugi-content{
    background-color: #f6f6f6;
    border: 1px #ddd solid;
    bottom: 0;
    display: flex;
    left: 0;
    margin: 0;
    padding: 30px 10%;
    position: fixed;
    right: 0;
    z-index: 1000;
}

/*.catalog-box a {
    height: 15rem;
}*/

.catalog-box .catalog-pic {
    height: 15rem;
    object-fit: contain;
}


.ampel:before {
    font-family: 'Font Awesome 5 Free';
    font-weight:900;
    content: '\f111';
    margin-right: .5rem;
}


.ampel-lugi {
    width: 18px;       
    height: 18px;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 50%;      
    position: relative;  
    background-color: cyan;
}
.ampel-lugi::before {
    position: absolute;
    content: "";
    top: -5%;
    left: -5%;
    height: 110%;
    width: 110%;
    background-color: rgba(4, 74, 156,1);  
    border-radius: 50%;
    z-index: -2; 
}
.ampel-red {
       background-color:orangered;
}
.ampel-green {
    color:rgb(25, 189, 25);
}
.ampel-orange {
    color:rgba(248, 148, 6, 1)
}


a {
    color:rgba(4, 74, 156,1);
}

a:hover,
a:focus {
    color:rgba(3, 60, 125,1);
    text-decoration: none;
}

button:focus,
.btn:focus {
    outline: none;
}

.btn-lugi{
    color:rgba(255, 255, 255,1);
    background-color:rgba(4, 74, 156,1);
    border-color:rgba(4, 74, 156,1);
}

.btn-lugi:hover,
.btn-lugi:focus{
    color:rgba(255, 255, 255,1);
    background-color:rgba(4, 74, 156,1);
    border-color:rgba(4, 74, 156,1);
}

/* automatisch pdf-icon vor einem Link setzen, wenn Link auf PDF-Datei zeigt. */
a[href*=".pdf"][target="_blank"]:not(.footer):before {
    font-family: 'Font Awesome 5 Free';
    content: '\f1c1';
    margin-right: .5rem;
    color: red;
}

/* automatisch mail-icon vor einem eMail-Link */
a[href^="mailto:"]:not(.footer):before {
    font-family: 'Font Awesome 5 Free';
    content: '\f658';
    margin-right: .5rem;
}

/* automatisch handy-icon vor einem Tel-Link */
a[href^="tel:"]:not(.footer):before {
    font-family: 'Font Awesome 5 Free';
    content: '\f095';
    /*content: '\f3cd';*/
    margin-right: .5rem;
}

div.firma {
    color:rgba(4, 74, 156,1);
}

div.firma:before {
    font-family: 'Font Awesome 5 Free';
    content: '\f1ad';
    margin-right: .5rem;
}

ul .ft_list-item:not(:last-child)::after {
    content: '|';
    margin: 0 .5rem;
}


.btn-lugi-outline {
  border-color: rgba(4, 74, 156,1);
  color: rgba(255, 255, 255,1);
  box-shadow: 0 0 40px 40px $blue inset, 0 0 0 0 $blue;
  transition: all .3s ease-in-out;
}

.btn-lugi-outline:hover {
  box-shadow: 0 0 10px 0  rgba(4, 74, 156,1) inset, 0 0 10px 4px rgba(4, 74, 156,1);
  background-color: transparent;
/*rgba(134, 135, 137, 1)  #3498db*/
}

.btn-outline-lugi{
    color:rgba(3, 60, 125,1);
    border-color:rgba(3, 60, 125,1);
}

.btn-outline-lugi:hover{
    color:rgba(255, 255, 255,1);
    background-color:rgba(4, 74, 156,1);
    border-color:rgba(4, 74, 156,1);
}

.btn-outline-lugi.focus
,.btn-outline-lugi:focus{
    box-shadow:0 0 0 .2rem rgba(4, 74, 156,1);
}

.btn-outline-lugi.disabled
,.btn-outline-lugi:disabled{
    color:rgba(4, 74, 156,1);
    background-color:transparent;
}

.btn-outline-lugi:not(:disabled):not(.disabled).active
,.btn-outline-lugi:not(:disabled):not(.disabled):active
,.show>.btn-outline-lugi.dropdown-toggle{
    color:rgba(255, 255, 255,1);
    background-color:rgba(4, 74, 156,1);
    border-color:rgba(4, 74, 156,1);
}

.btn-outline-lugi:not(:disabled):not(.disabled).active:focus
,.btn-outline-lugi:not(:disabled):not(.disabled):active:focus
,.show>.btn-outline-lugi.dropdown-toggle:focus{
    box-shadow:0 0 0 .2rem rgba(4, 74, 156,1);
}


.rowBack {
    position: absolute;
    top: 0;
    left: 0;
}


.page-wrapper {
    position: relative;
    background: rgba(255, 255, 255, 1);
    padding: 1rem;
    /*margin-top: -3rem;*/
    margin-bottom: 3rem;    
    min-height: 46.875rem;
}

.btn.focus, .btn:focus {
    outline: 0;
    box-shadow: unset;
}

.bg-lugi {
    background: rgba(4, 74, 156,1) none repeat scroll 0 0;
    color:#fff;
}

.bg-lugi:hover,
.bg-lugi:focus {
    background:rgba(3, 60, 125,1) none repeat scroll 0 0;
    color:#fff;
}

.bg-lugi2 {
    background: rgba(134, 135, 137, 1) none repeat scroll 0 0;
    color:#fff;
}

.change-list > label {
    margin: 0;
}

.badge {    
    vertical-align: top;
    margin-top: -.5rem;
}

.product-teaser .badge,
.product-search-teaser .badge {    
    vertical-align: unset;
    margin-top: unset;
    margin-right: .25rem;
}

.shop-icon i {
    color: rgba(255, 255, 255, 1);
}

.shop-icon .badge {
    background: rgba(255, 255, 255, 1) none repeat scroll 0 0;
    color:rgba(4, 74, 156,1);
}


.table-lugi {
    color: #fff;
    background-color: rgba(4, 74, 156,1);
    border-color: rgba(4, 74, 156,0.5);
}
.table-data {
    padding: .75rem;
    vertical-align: top;
    border-top: 1px solid #dee2e6;
}


.default-set {
  background:transparent none repeat scroll 0 0;
  font-size:18px;
  line-height:1;
  padding:10px;
  text-transform:uppercase;
  transition:all .3s ease 0;
  border-radius:50px;
  height:40px;
  width:40px;
  text-align:center;
  border:1px solid #ddd;
  color:#777;
}

.default-is-set
{
  font-size:18px;
  line-height:1;
  padding:10px;
  text-transform:uppercase;
  transition:all .3s ease 0;
  border-radius:50px;
  height:40px;
  width:40px;
  text-align:center;
  background:#28a745 none repeat scroll 0 0;
  border:1px solid #ddd;
  color:#fff;
}

.default-is-set-btn
{
  font-family:themify;
  speak:none;
  font-style:normal;
  font-weight:normal;
  font-variant:normal;
  text-transform:none;
  line-height:1;
  -webkit-font-smoothing:antialiased;
  -moz-osx-font-smoothing:grayscale;
}

.logo {
    max-width: 15em;
}

.img-wh-cover {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.img-wh-contain {
    width: 100%;
    height: 100%;
    object-fit: contain;   
}

.img-mnu-contain {
    width: 100%;
    height: 3rem;
    object-fit: contain;
}

.news img {
    width: 100%;
    height: 100%;
    object-fit: contain;
}

i {
    font-size: 1.25rem;
    line-height: 1.25rem;    
    padding: 0 0.5em;
    vertical-align: -0.08em;
}

.acc_btn {
    position: relative;
    display: flex;
    align-items: center;    
    color:rgba(4, 74, 156,1);
    overflow-anchor: none;
    transition: color 0.25s ease-in-out,
                background-color 0.25s ease-in-out,
                border-color 0.25s ease-in-out,
                box-shadow 0.2s ease-in-out,
                border-radius 0.15s ease;
}

.acc_btn:hover { 
    color:rgba(4, 74, 156,1);
}

.acc_btn::after {
    flex-shrink: 0;    
    width: 1.5rem;
    height: 1.5rem;
    margin-left: auto;    
    border-radius: 50%;
    background: rgba(134, 135, 137, .15) none repeat scroll 0 0;
    content: "\e64b";
    font-family: 'themify';
    font-size: .7rem;
    line-height: 1.5rem;
    transition: transform 0.2s ease-in-out;
    text-align: center;
}

.acc_btn:not(.collapsed)::after {
    transform: rotate(180deg);
}

#scrollUp
{
    display:none;    
    position:fixed;
    bottom:1.5rem;
    right:1.5rem;
    background:rgba(4, 74, 156,1) none repeat scroll 0 0;
    /* border-radius: 0.25rem; */
    padding: .5rem .25rem;
    color:#fff;
}

#scrollUp:hover
{
  background:rgba(3, 60, 125,1) none repeat scroll 0 0;
}

.frmCardCarousel {
    border: 0 solid transparent;
    border-width: .4em .2em;
}

.productlist > .productlist-switch-hide
{
  display:none;
}

.product-title {
    height: 2.75rem;
}

.product-subtitle {
    height: 1rem;
}


.addToCart {
    font-family:themify;
    content:"\e65d";
    margin: 0 .25rem;
    vertical-align: bottom;
}

.product-details-img {
    /*height:25rem;*/
    height: 20rem!important;
}

.product-details-thumbnail {
    height:5rem;
}

.pictogrammbox{
 transition: transform .2s;
}

.pictogrammbox:hover,
.pictogrammbox:focus {
-ms-transform: scale(1.02); /* IE  */
-webkit-transform: scle(1.02); /* Safari */
transform: scale(1.02); 
}

.product-details-pictogramm {
    height:15rem;
}


.team-card-img {
    height:15rem;
    object-position: center 20%;
}

.product-search-item {
    padding: .5rem; 
    border-bottom: 1px solid rgba(4, 74, 156,1);
}

#divSearchItem:last-of-type .product-search-item {
    border:unset;
}

.product-card-img {
    height:10rem;
    transition: all .3s ease-in-out;
}

.product-card-lstimg {
    height:7rem;
    transition: all .3s ease-in-out;
}

.product-search-img {
    height:5rem;
}

.product-teaser {
    position: absolute;
    left: .75rem;
    top: .75rem;
    z-index: 10;
}

product-search-teaser {
}

.product-action-btn {
    position: absolute;
    transition: opacity .3s ease-in-out;
    opacity: 0;
    z-index: 10;
}

.product-card .product-action-btn {
    right: .25rem;
    top: .25rem;
}

.product-card-list .product-action-btn {
    right: .25rem;
    bottom: .25rem;
}

.product-action-button {
    display: inline-block;
    font-family:themify;
    -webkit-font-smoothing: antialiased;
    cursor: pointer;
}

.product-card:hover .product-action-btn,
.product-card-list:hover .product-action-btn {
    opacity: 1;    
}


.product-card:hover ,
.product-card:focus
{
    -ms-transform: scale(1.02); /* IE  */
    -webkit-transform: scle(1.02); /* Safari */
    transform: scale(1.02); 
}

.product-card-list:hover ,
.product-card-list:focus
{
    -ms-transform: scale(1.01); /* IE  */
    -webkit-transform: scle(1.01); /* Safari */
    transform: scale(1.01); 
}

.product-search-item:hover ,
.product-search-item:focus
{
    -ms-transform: scale(1.01); /* IE  */
    -webkit-transform: scle(1.01); /* Safari */
    transform: scale(1.01); 
}



.prodcard-wrapper .variant-banner {
    position: absolute;
    top: -.25rem;
    left: .5rem;
    width: 5rem;
    height: 5rem;
}

.ProductDetails-img {
    height:30em;
    display: inline-flex;
}

.ProductDetails_Thumbnail-img {
    height:5em;
    display: inline-flex;
}

.cut {
    overflow: hidden;
    white-space: nowrap;
    text-overflow: ellipsis;
    line-height: inherit;
}

.form-control:focus {    
    border-color:  rgba(4, 74, 156,1);
    outline: 0;
    box-shadow: unset;
}

.search-group {
    position: relative;
    display: flex;
    flex-wrap: wrap;
    align-items: stretch;
    width: 100%;
}

.search-group .search-btn {
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
    position: absolute;
    right: .25rem;
    top: .3rem;
    z-index: 0;
    border: 0 none;
    background: transparent;
    outline: none;
}


.search-group .search-btn:focus,
.search-group .search-btn:hover  {   
   color:rgba(4, 74, 156,1) !important;
}

.shop-icon a,
.shop-icon a:hover {
    outline: none;  
}

.shop-icon i {
    cursor: pointer;
    padding-right: 0;
}

.ti-user:hover{
 font-weight: bold;
}
.ti-shopping-cart:hover{
 font-weight: bold;
}
.ti-shopping-cart-full:hover{
 font-size:xl-large;
}

/* Suche */
.search-results {
    position: absolute;
    top: 2.75em;
    left: 50%;
    -webkit-transform: translateX(-50%);
    -moz-transform: translateX(-50%);
    transform: translateX(-50%);

    width: 100%;
    max-width: 28.125rem;

    background: rgba(255, 255, 255, 1);

    border:1px solid rgba(0,0,0,.15);
    box-shadow: 0 .5em 1.25em -1em rgba(52, 58, 64, 1);
      -webkit-tap-highlight-color: rgba(0, 0, 0, 0);

    z-index: 500;
}


.search-results::after {
    content: '';

    position: absolute; 
    top: -0.3125rem;
    left: 50%;
    -webkit-transform: translateX(-50%);
    -moz-transform: translateX(-50%);
    transform: translateX(-50%);

    display: block;
    width: 0.5rem;
    height: 0.5rem;

    background: rgba(255, 255, 255, 1);

    border-color: rgba(0,0,0,.15);
    border-width: 0 0 1px 1px;
    border-style: solid;    
    
    transform: rotate(135deg);
    -webkit-transform: rotate(135deg);
}

.live-search-container .product-desc {
	display:none!important;
}

.live-search-container .product-list-button {
	display:none!important;
}

.live-search-container .product-action-list-style {
	display:none!important;	
}

.live-search-container .variant-banner {
	display: none;
}

/* ShopingCart */
.hov_shoppingcart .BasketPreview {
    width:25rem;
    z-index:9999;
}

.basket-wrapper {
    min-height: 5rem;
    overflow-y: auto;
    overflow-x: hidden;
}

.hov_shoppingcart .basket-wrapper {
    max-height: 15rem;
}

.oc-shoppingcart .basket-wrapper {
    max-height: 75vh;
}



/* Krümelpfad */
.breadcrumb
{
    border-color: rgba(134, 135, 137, 1);
    border-width: 0 0 1px 0;
    border-style: solid;  
    border-radius: 0;
    background: transparent;
}

.breadcrumb li, .breadcrumb-catalog li a
{
  font-size: .8rem;
  font-weight:600;
  color:rgba(134, 135, 137, 1);
  position:relative;
}


.breadcrumb li:not(:first-child)::before
/*.breadcrumb li::before*/
{
    font-family:themify;
    content:"\e65d";
    margin: 0 .5rem;
    vertical-align: bottom;
}

.breadcrumb li a:hover
{
  color:rgba(4, 74, 156,1);
  transition: all .4s ease;
}


/* OffCanvas */
.oc-shoppingcart {
    visibility: hidden;
    position: fixed;
    top: 0;
    right: 0;
    bottom: 0;
    border-radius: 0;
    z-index: 1000;
    background-color: rgba(255, 255, 255, 1);
    width: 100%;
    max-width: 25rem;
    overflow-y: auto;
    overflow-x: hidden;
    -webkit-transform: translate3d(100%, 0, 0);
    transform: translate3d(100%, 0, 0);
    
    -webkit-transition: all .4s;
    -moz-transition: all .4s;
    -o-transition: all .4s;
    transition: all .4s;
  }

.oc-shoppingcart.show {
    visibility: visible;
    transform: translate3d(0, 0, 0);
    box-shadow: 0 0 10px rgba(10, 10, 10, 0.7);
}



/*
=======================================================
=== Katalog-Menü
=======================================================
*/

.catalog-menu ul {
	list-style-type: none;
	padding: 0;
    margin: 0;
	position: relative;
	background: rgba(4, 74, 156,1);
	z-index: 1000;
	padding: 1rem 0;
	color: #343a40!important;	
}

.catalog-menu ul li {
	padding-bottom: 5px;
}

.catalog-menu ul li a {
    border-bottom: 1px solid #f1f1f1;
	color: #fff;
    display: block;
    font-size: 14px;
    font-weight: 600;
	text-transform: none;
	padding: 10px 10px;
	margin-left: 20px;
    margin-right: 20px;
	position: relative;
	text-align: left;
}
.catalog-menu ul li a i {
	color: #fff;
    font-size: 16px;
    position: absolute;
    right: 0;
    top: 12px;
}
.catalog-menu ul li ul {
    display: none;
}
.catalog-menu ul li a:hover {
    cursor: pointer;
}

.catalog-menu ul li:hover > a,
.catalog-menu ul li:hover > a i {
	color: #8185a0;
} 


/* Footer */
footer a, footer a:hover {
    color: rgba(255, 255, 255, 1);
}

.footer-wrapper i {
    font-size: .8rem;
    line-height: 1.25rem;
}

.screen-overlay {
    height: 100vh;
    z-index: -1;
    position: fixed;
    top: 0;
    left: 0;
    opacity:0;
    visibility:hidden;
    background-color: rgba(34, 34, 34, 0.6);
    transition:opacity .2s linear, visibility .1s, width 1s ease-in;
}

.screen-overlay.show {
    z-index: 100;
    opacity:1;
    width:100%;
    visibility:visible;
}

.screen-overlay.show i {
    color: #fff;
    font-size: 3rem;
    position: absolute;
    top: 50%; 
    right: 50%;
    transform: translate(50%,-50%);
}

.sticky {
    position: fixed;
    top: 0;
    width: 100%;
    z-index: 10;
}

.subscribe-form-3 form input {
    font-size: 1em;
    line-height: 1.8em;
    padding:1em;
    color:#aaa;
}




/* HERO SECTION */
.hero-section {
    position: relative;
    -moz-box-align:center;
    align-items:center;
    display:flex;
}

#HeroFullContainer .owl-prev {
    left: 2rem;
}

#HeroFullContainer .owl-next {
    right: 2rem;
}

#HeroFullContainer .owl-prev i,
#HeroFullContainer .owl-next i {
    line-height:.8rem;
    vertical-align: unset;
}

.hero-section .heroFull-Item,
.hero-section .heroSlide-Item {
    background-repeat: no-repeat;
    background-size: cover;
    background-blend-mode: multiply;
    background-color: rgba(0, 0, 0,.5);
    height: 15rem;
    max-height:unset !important;
}

.owl-item.active .fadeinup-animated .headline
{
  -webkit-animation-delay:1s;
  animation-delay:1s;
  -webkit-animation-name:fadeInUp;
  animation-name:fadeInUp;
}

.owl-item.active .fadeinup-animated .short-text
{
  -webkit-animation-delay:1.6s;
  animation-delay:1.6s;
  -webkit-animation-name:fadeInUp;
  animation-name:fadeInUp;
}

.owl-item.active .fadeinup-animated .long-text,
.owl-item.active .fadeinup-animated a
{
  -webkit-animation-delay:1.5s;
  animation-delay:1.5s;
  -webkit-animation-name:fadeInUp;
  animation-name:fadeInUp;
  
}

.hero-section .heroFull-Item .headline {
    font-size: 1.5rem;
    font-weight: bold;
    color: rgba(255, 255, 255,1);
    text-shadow: 0 .125rem .25rem rgba(0,0,0,.075)!important;
}

.hero-section .heroFull-Item .short-text {
    font-size: 1.1rem;
    font-weight: 600;
    color: rgba(255, 255, 255,1);
}

.hero-section .heroFull-Item .long-text {
    font-size: .8rem;
    font-weight: unset;
    color: rgba(255, 255, 255,1);
}

.TG_KatSlider:hover {
    cursor:pointer;
}

.hand:hover {
    cursor:pointer;
}


/* Read-More*/
.catalogdesc {
    max-height: 15rem;
    position: relative;
    overflow: hidden;
  }
  
  .catalogdesc .read-more { 
    position: absolute; 
    bottom: 0; 
    left: 0;
    width: 100%; 
    text-align: center; 
    margin: 0;
    background: #fff;
  }
  
  .text-short > ul {
    list-style: disc; 
    padding-left: 2rem;
  }

  .text-long > ul {
    list-style: disc; 
    padding-left: 2rem;
  }

  .cart-plus-minus
  {
    overflow:hidden;
    width:5rem;
  }
  
  .mnu-cat-pic {
      vertical-align: middle;
      border-style: none;
      height: 45px;
      width: 45px;
  }


@media screen and (min-width: 480px) {    
}

@media screen and (min-width: 576px) { 
    .hero-section .heroFull-Item {
        height: 18rem;
    }
}

@media screen and (min-width: 768px) {
    .hero-section .heroFull-Item {
        height: 21rem;
    }

    .hero-section .heroFull-Item .headline {
        font-size: 2rem;
    }
}

@media screen and (min-width: 992px) {
    .page-wrapper {
        padding: 2rem; 
    }

    .newslist-container {
        border-left: 1px solid #dee2e6!important;
    }

    .shop-icon i {
        color: rgba(4, 74, 156,1);
    }
    
    .shop-icon .badge {
        background: rgba(4, 74, 156,1) none repeat scroll 0 0;
        color:rgba(255, 255, 255, 1);
    }

    .hero-section .heroFull-Item {
        height: 26rem;
    }

    .hero-section .heroFull-Item .short-text {
        font-size: 1.2rem;
    }

    .hero-section .heroFull-Item .long-text {
        font-size: 1rem;
    }

    .team-card-img {
        object-position: center 30%;
    }
}

@media screen and (min-width: 1200px) { 
  
    .hero-section .heroFull-Item {
        height: 31rem;
    }
   
    .hero-section .heroFull-Item .headline {
        font-size: 3rem;
    }
}

@media screen and (min-width: 1600px) {
    .container, .container-sm, .container-md, .container-lg, .container-xl, .container-xxl, .megamenu {
        max-width:1540px
    }

    .hero-section .heroFull-Item {
        height: 35rem;
    }
}

/* MagicZoom Plus */

.MagicThumb-swap {
    border: 1px solid #dee2e6!important;
    margin: .5rem .25rem;
}

.MagicThumb-swap img.MagicThumbTinyPreview {
    width: 5rem;
    height: 5rem;
    object-fit: contain;
}

.MagicThumb-caption {
    background: transparent !important;
    padding: .125rem .25rem !important;
    font: normal .9rem "Open Sans" !important;
    height: auto !important;
}

/* Z-Index  */
.z-0 {
    z-index: 0!important;
}

/*
=======================================================
=== Registrierungsformular
=======================================================
*/
.form-row label,
.form-row span {
    font-size: .8rem;
    font-weight: bolder;
    margin-bottom: .25rem;
    color: rgba(4, 74, 156,1);
}

form span.required:after {
	content: "*";
        color: rgba(4, 74, 156,1);
	margin-left: 3px;
}