@font-face {
font-family: 'PTSerif';
font-weight: normal;
font-style: normal;
font-display: fallback;
src: url('../webfonts/PTF55F.woff') format('woff');
}

:focus-visible {
outline: 2px solid #000 !important;
}

html {
position: relative;
min-height: 100%;
}

body {
margin-bottom: 100px;
font-family: "PTSerif";
}

select {
-webkit-appearance: none;
}

footer {
position: absolute;
bottom: 0;
width: 100%;
height: 50px;
}

header > .container {
height: 75px;
border-bottom: 1px solid #000;
}

.header-collapse {
background-color: #efefef;
border-bottom: 1px solid #ccc;
}

#header-cart img {
max-height: 150px;
margin: 15px 0 8px;
}
    
h1 { font-size: 1.8rem; }
h2 { font-size: 1.6rem; }
h3 { font-size: 1.4rem; }
h4 { font-size: 1.2rem; }

a {
color: #000;
text-decoration: underline;
}

a.btn,
nav a {
text-decoration: none;
}

article {
hyphens: auto;
}

.cursor-pointer {
cursor: pointer;
}

.img-cover {
width: 350px;
}

.lh-lg {
line-height: 2 !important;
}

.text-menu {
font-size: 1.1rem;
}

.text-news > a {
color: #ccc;
text-decoration: underline;
}
.text-news > a:hover {
color: #333;
text-decoration: underline;
}

.text-strike {
background: linear-gradient(to left top, transparent 47.75%, currentColor 49.5%, currentColor 50.5%, transparent 52.25%),
            linear-gradient(to left bottom, transparent 47.75%, currentColor 49.5%, currentColor 50.5%, transparent 52.25%);
}
    
.topper-main {
position: fixed;
display: none;
right: 100px;
bottom: 100px;
width: 50px;
height: 50px;
color: #fff;
background-color: rgba(50,50,50,0.1);
z-index: 999;
}
.topper-main:hover,.topper-main:focus {
color: #999;
background-color: rgba(50,50,50,0.2);
text-decoration: none;
}

.msgbox {
position: fixed;
top: 35%;
width: 100%;
padding: 45px 15px;
font-size: 135%;
text-align: center;
color: #fff;
background-color: #ccc;
z-index: 9999;
}

.carousel-indicators li {
width: 5px;
height: 5px;
}
    
.navbar-toggler {
font-size: 1.4rem;
border: none;
float: right;
}

.icon-cart,
.icon-search {
cursor: pointer;
}

.buchhover {
position: absolute;
top: 0;
left: 0;
right: 0;
margin: 16px;
max-height: 100%;
overflow: hidden;
background-color: rgba(255,255,255,0.85);
border-bottom: 1px solid #fff;
transition: height .2s ease;
}
.buchliste {
display: block;
padding: 0;
color: #333;
}
.buchliste:hover {
color: #333;
text-decoration: none;
}

.newscover {
max-width: 150px;
}

.lieferstatus {
white-space: nowrap;
color: #000;
cursor: default;
}
.liefer0 { color: #c9302c; }
.liefer1 { color: #398639; }
.liefer2 { color: #a8670f; }

@media(min-width: 768px) {
  #mainmenu { background-color: #fff !important; }
}
