/* hide number input arrows*/

/* Chrome, Safari, Edge, Opera */

input::-webkit-outer-spin-button,

input::-webkit-inner-spin-button {

    -webkit-appearance: none;

    margin: 0;

}



a,button,input{

	-webkit-appearance:none !important;

}



/* Firefox */

input[type="number"] {

    -moz-appearance: textfield !important;

	appearance:textfield !important;

}



.overlay{

background-color: #cecece73 !important;

color: black !important; 

overflow: hidden !important;

}



/* Smooth Scrolling */

html {

    scroll-behavior: smooth;

}



/* Back to top button */

#btn-back-to-top {

    position: fixed;

    bottom: 1rem;

    right: 1rem;

    z-index: 100;

    display: none;

}



/*pointer effect*/

.pointer {

    cursor: pointer;

}



/* FONTS *************************/



@font-face {

    font-family: "Absara Pro";

    src: url("https://weinstore.net/webshop_images/fonts/Absara-Pro-Thin.otf");

    font-weight: 100 900;

}



@font-face {

    font-family: "MDPEN";

    src: url("https://weinstore.net/webshop_images/fonts/MDPEN-Thin.otf");

    font-weight: 100 900;

}





/***GENERAL***/



body {

    font-family: "Absara Pro", sans-serif;

    background-color: var(--background-color);

    color: var(--text-color);

    min-height: 100vh;

    display: flex;

    flex-direction: column;

}



.md-pen{

    font-family: "MDPEN" !important;

    text-transform: uppercase;

}



.text-transform-none{

    text-transform: none !important;

}



.mb-2-rem{

    margin-bottom: 2rem !important;

}



footer {

    margin-top: auto;

}



.desktop {

    display: table-row;

}



.contact-button {

    display: block !important;

    position: fixed;

    bottom: 4rem;

    right: 1rem;

    z-index: 1

}



.mobil {

    display: none;

}



.btn, .card, .form-select, .form-control, .modal-content{

    border-radius: 0;

}



.card{

    background-color: var(--background-color);

}


/*
.startpage .article .card{

    background-color: var(--background-color) !important;

    color: var(--text-color) !important;

    border-color:  var(--text-color) !important;

}



.startpage .article .card .link-dark{

    color: var(--text-color-light) !important;

}



.startpage .article .card .btn-primary{

    background-color: var(--background-color);    

    border-color: var(--background-color);

    color: var(--main-color);

}*/



.btn.btn-primary {

    color: var(--background-color);

    background-color: var(--main-color);

    border-color: var(--main-color);

}



.btn.btn-primary:focus{

    box-shadow: 0 0 0 .25rem var(--main-color-25alpha);

}



.btn-outline-primary {

    color: var(--main-color);

    border-color: var(--main-color);

}



.btn.btn-outline-primary:focus{

    box-shadow: 0 0 0 .25rem var(--main-color-25alpha);

}



.btn-outline-primary:hover {

    color: var(--background-color);

    border-color: var(--main-color);

    background-color: var(--main-color);

}





.btn.btn-secondary {

    color: var(--main-color);

    background-color: var(--sec-color);

    border-color: var(--sec-color);

}



.btn.btn-secondary:focus{

    box-shadow: 0 0 0 .25rem rgba(245, 240, 227, .25);

}



.btn-outline-secondary {

    color: var(--sec-color);

    border-color: var(--sec-color);

}



.btn.btn-outline-secondary:focus{

    box-shadow: 0 0 0 .25rem rgba(245, 240, 227, .25)

}



.btn-outline-secondary:hover {

    color: var(--background-color);

    border-color: var(--background-color);

    background-color: var(--main-color);

}



.btn.btn-black{

    background-color: #000;

    border-color: #000;

    color: var(--sec-color);

}



.btn.btn-black:focus{

    box-shadow: 0 0 0 .25rem rgba(0,0,0,.25);

}





.light {

    color: var(--text-color-light);

}



.link-light:hover,

a:hover {

    color: var(--text-color);

    text-decoration: none;

}



.form-check-input:checked {

    background-color: var(--main-color);

    border-color: var(--main-color);

}



.form-check-input:focus,

.form-select:focus {

    border-color: var(--main-color);

    box-shadow: 0 0 0 0.25rem var(--main-color-25alpha);

}



.input-group > .form-select:focus {

    z-index: 0;

}



.bg-white {

    background-color: white !important;

}



.bg-black{

    background-color: #000 !important;

}



.bg-site {

    background: var(--background-color) !important;

}



.bg-primary {

   background-color:  var(--main-color) !important;

}



.btn{

	radius: 0 !important; 

}



.bg-secondary {

    background-color: var(--sec-color) !important;

}



.form-control:focus {

    border-color: var(--main-color);

    box-shadow: 0 0 0 0.25rem var(--main-color-25alpha);

}



.text-muted {

    color: var(--text-color-light);

}



.text-light {

    color: var(--light-color);

}



.letter-spacing {

    letter-spacing: 0.1em;

}



.font-09-rem {

    font-size: 0.9rem;

}



.font-s {

    font-size: small;

}



.font-xs {

    font-size: x-small;

}



.font-m {

    font-size: medium;

}



.font-l {

    font-size: large;

}



.font-xl {

    font-size: x-large;

}



.text-color {

    color: var(--text-color);

}



.text-color-light {

    color: var(--text-color-light);

}



.link-light {

    color: var(--text-color-light);

}



.link-dark {

    color: var(--text-color);

}



.small-hover-shadow {

    transition: box-shadow 0.3s ease;

}



.small-hover-shadow:hover {

    box-shadow: 0 0 5px rgba(0, 0, 0, 0.3); /* Smaller box shadow on hover */

}



.expertise_a {

    color: var(--text-color-light);

    text-decoration: none;

}



.expertise_a:hover,

.expertise_a:active,

.expertise_a:focus {

    text-decoration: none;

    color: var(--text-color-light);

}



.toggle-element {

    display: none;

}



.max-height-420px {

    max-height: 420px;

}



.minilist {

    overflow-y: scroll;

}



/* Navbar */



.navbar {

    background-color: rgba(255, 255, 255, 0.95);

    min-height: 80px;

}



.navbar-toggler {

    color: var(--background-color);

    background-color: var(--main-color);

    border-color: var(--main-color) !important;

}



.navbar-toggler-icon {

    background-image: url("data:image/svg+xml;charset=utf8,%3Csvg viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath stroke='rgba(255, 255, 255, 1)' stroke-width='2' stroke-linecap='round' stroke-miterlimit='10' d='M4 8h24M4 16h24M4 24h24'/%3E%3C/svg%3E") !important;

}



.navbar-toggler:focus {

    box-shadow: none;

}



.navbar-brand img {

    height: 3rem;

    width: auto;

    margin-left: 1.5em;

    margin-right: 1.5em;

}



#navbarSupportedContent .btn-close{

    background: transparent url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%23fff'%3e%3cpath d='M.293.293a1 1 0 011.414 0L8 6.586 14.293.293a1 1 0 111.414 1.414L9.414 8l6.293 6.293a1 1 0 01-1.414 1.414L8 9.414l-6.293 6.293a1 1 0 01-1.414-1.414L6.586 8 .293 1.707a1 1 0 010-1.414z'/%3e%3c/svg%3e") center/1em auto no-repeat;

}



.nav-link {

    color: var(--text-color-light) !important;

}



.border-bottom-shadow {

    /*box-shadow: 0 6px 6px -6px var(--main-color);*/

    border-bottom: 0.01em dotted var(--main-color);

}





#grp_aktiv::after{

    content: '';

    position: absolute;

    left: 0;

    bottom: 0;

    width: 100%;

    height: 1px;

    background-color: var(--sec-color);

    transition: width .2s ease-in-out;

}



#search-input {

    min-width: 8em;

}



.hover-animation {

    position: relative;

}



.hover-animation:hover::after {

    width: 100%;

}



.hover-animation::after{

    content: '';

    position: absolute;

    left: 0;

    bottom: 0;

    width: 0;

    height: 1px;

    background-color: var(--sec-color);

    transition: width .2s ease-in-out;

}



.versandland {

    max-width: 10ch;

}



.dropdown-menu[data-bs-popper] {

    right: 0;

    left: auto;

    max-height: 12em;

    overflow-y: auto;

    width: fit-content;

    overflow-x: clip;

    height: fit-content;

}



/*NEWS**/

.news-preview-img{

	max-height:15em;



}





/*FILTER*/



.offcanvas{

    background-color: var(--background-color);

}



/* price  slider */

.slidecontainer {

}



.price-input-container {

    width: 100%;

    display: flex;

}



.price-input-container .price-field {

    display: flex;

    width: 100%;

    height: 35px;

    align-items: center;

}

.price-input-container input {

    width: 100%;

    height: 100%;

    outline: none;

    text-align: center;

    border: 1px solid #999;

    -moz-appearance: textfield;

}

input[type="number"]::-webkit-outer-spin-button,

input[type="number"]::-webkit-inner-spin-button {

    -webkit-appearance: none;

}

.price-input-container .separator {

    display: flex;

    align-items: center;

    justify-content: center;

}

.slider-container {

    height: 5px;

    position: relative;

    background: #ddd;

    border-radius: 5px;

}

.price-slider {

    height: 100%; 

    right: 25%;

    position: absolute;

    border-radius: 5px;

    background: var(--main-color);

}

.range-input {

    position: relative;

}

.range-input input {

    position: absolute;

    width: 100%;

    height: 5px;

    top: -20px;

    background: none;

    pointer-events: none;

    -webkit-appearance: none;

    -moz-appearance: none;

}

input[type="range"]::-webkit-slider-thumb {

    height: 17px;

    width: 17px;

    border-radius: 50%;

    background: var(--main-color);

    pointer-events: auto;

    -webkit-appearance: none;

    box-shadow: 0 0 6px rgba(0, 0, 0, 0.05);

}

input[type="range"]::-moz-range-thumb {

    height: 17px;

    width: 17px;

    border: none;

    border-radius: 50%;

    background: var(--main-color);

    pointer-events: auto;

    -moz-appearance: none;

    box-shadow: 0 0 6px rgba(0, 0, 0, 0.05);

}



/* Mouse-over effects */

.slider:hover {

    opacity: 1; /* Fully shown on mouse-over */

}



/* The slider handle (use -webkit- (Chrome, Opera, Safari, Edge) and -moz- (Firefox) to override default look) */

.slider::-webkit-slider-thumb {

    border-radius: 0;

    -webkit-appearance: none; /* Override default look */

    appearance: none;

    height: 20px; /* Slider handle height */

    background: var(--main-color); /* Green background */

    cursor: pointer; /* Cursor on hover */

}



.slider::-moz-range-thumb {

    border-radius: 0;

    /*width: 25px; !* Set a specific slider handle width *!*/

    /*height: 25px; !* Slider handle height *!*/

    background: var(--main-color); /* Green background */

    cursor: pointer; /* Cursor on hover */

}







.wine-filter {

    padding: 0.25rem 1.5rem;

    color: var(--background-color);

    background-color: var(--main-color);

    font-size: 1rem;

    border-radius: 2em;

    -webkit-appearance: none;

    -moz-appearance: none;

    font-weight: 400;

    transition: transform 0.4s ease-in-out;

    display: inline-block;

    font-family: "Open Sans", sans-serif;

    line-height: 2.3;

    cursor: pointer;

    text-decoration: none;

    white-space: nowrap;

}



.wine-filter i {

    font-size: 1em !important;

    line-height: unset !important;

}



.filter-cluster-container {

    display: none;

    color: var(--background-color);

}



.filter-cluster-container .row {

    background-color: var(--main-color);

}



.filter-cluster-container .row * {

    color: var(--background-color);

    background-color: var(--main-color);

}



.filter-cluster-container .form-check .form-check-input {

    margin-left: -1rem;

    border: 2px solid var(--background-color);

    margin-right: 0.2rem;

}



.filter-cluster.ancestor,.single-category.ancestor {

    display: none;

}



.wine-filter:hover {

    transform: scale(1.1);

}





.list-group {

    display: revert;

    flex-direction: revert;

    padding-left: 0.5em;

}



.list-group-item {

    border: none;

}



.accordion-item {

    border: none;

    background-color: var(--background-color);

}



.accordion-button{

    background-color: var(--background-color);

}



.accordion-button:not(.collapsed) {

    color: var(--background-color);

    background-color: var(--main-color);

    box-shadow: inset 0 -1px 0 rgba(0, 0, 0, 0.125);

}



.accordion-button:focus {

    box-shadow: var(--main-color-25alpha);

}



.accordion-button:not(.collapsed)::after {

    background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%23fff'%3e%3cpath fill-rule='evenodd' d='M1.646 4.646a.5.5 0 0 1 .708 0L8 10.293l5.646-5.647a.5.5 0 0 1 .708.708l-6 6a.5.5 0 0 1-.708 0l-6-6a.5.5 0 0 1 0-.708z'/%3e%3c/svg%3e");

}



/*ARTICLE LIST*/

#ausgetrunken_blende {

    visibility: hidden;

}



.article {

    pointer-events: auto;

}



.article a {

    text-decoration: none;

}



.article p {

    margin: 0;

}



.article img {

    max-height: 300px;

    -o-object-fit: contain;

    object-fit: contain;

    min-height: 230px;

}



.fact {

    background: var(--main-color);

    color: var(--text-color-light);

    font-size: x-small;

    letter-spacing: 0.2em;

    padding: 1em 1em 0.8em;

    width: 100%;

    height: 100%;

    font-weight: bold;

    min-height: 33px;

}



.badge-container {

    position: absolute;

    top: 0;

    left: 0;

    width: 100%;

}



.badge {

    position: relative;

    margin-right: 5px;

}



.shopnotiz {

    overflow: hidden;

}



.article .shopnotiz {

    font-size: small;

    color: var(--text-color);

}



.article .pricing-div {

    font-size: small;

}



.article .pricing-div a {

    font-size: small;

}



.article .pricing-div button {

    font-size: x-small;

}



.article .name-div {

    font-size: medium;

}



/** Colors for badges **/



.warengruppen-color-1 {

    background-color: #f8df81;

}



.warengruppen-color-2 {

    background-color: #f6aa90;

}



.warengruppen-color-3 {

    background-color: #f6b4bf;

}



.warengruppen-color-4 {

    background-color: #d5b6d5;

}



.warengruppen-color-5 {

    background-color: #badfda;

}



.warengruppen-color-6 {

    background-color: #9bd0b7;

}





/**DETAIL**/



/* striped table */

.table-striped > div:not([style*="display:none"]):nth-child(odd) {

    background-color: var(--detail-table-background-color);

}



.odd-row-background {

    background-color: var(--detail-table-background-color);

}



.carousel-indicators {

    margin-bottom: 0;

}



.detail img {

    min-height: 10rem;

    max-height: 30rem;

    -o-object-fit: contain;

    object-fit: contain;

}



.nuancen_bild {

    max-height: 4em !important;

}



.auszeichnungen_bild {

    max-height: 4em !important;

    margin-right: 0.5em;

}



.target {

    max-width: 100%;

    max-height: 100%;

}



#collapseShopNotizContainer #collapseShopNotiz.collapse:not(.show) {

    display: block;

    height: 5rem;

    overflow: hidden;

}



#collapseShopNotizContainer #collapseShopNotiz.collapsing {

    height: 3rem;

}



#collapseShopNotizContainer a.collapsed::after {

    content: "+ Mehr anzeigen";

}



#collapseShopNotizContainer a:not(.collapsed)::after {

    content: "- Weniger anzeigen";

}



.sortiment-container li {

    cursor: pointer;

    box-shadow: 0 6px 6px -6px var(--main-color);

    margin-bottom: 1em;

}



.detail-dropdown{

    display: none;

    opacity: 0;

}

.detail-dropdown.visible {

    display: block;

    animation: fadeIn 1.5s ease, height 1.5s ease;

    opacity: 1;

}





.hidden{

    display: none;

}



@keyframes fadeIn{

    from{

        opacity: 0;

    }

    to{

        opacity: 1;

    }

}

@keyframes height{

    from{

        height: 0%;

    }

    to{

        height: 100%;

    }

}



/*WARENKORB*/



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

    .desktop {

        display: none;

    }



    .mobil {

        display: table-row;

    }

}



/*KASSE*/



input[type="checkbox"] {

    height: 1.1rem;

    width: 1.1rem;

}



input[type="date"] {

    text-transform: uppercase;

}



.inp {

    width: 100%;

    margin-top: 0.5rem;

}



.form-label {

    margin-bottom: 0.2rem;

}



.form-floating > label {

    left: unset;

}



.invalid-feedback {

    margin-top: 0;

    margin-bottom: 0.25rem;

}



.back-button {

    bottom: 75%;

}



.shopping-cart-sticky {

    position: sticky;

    z-index: 100;

    top: 10rem;

}



#fsendDoi {

    margin-left: 0;

    width: 25px;

    height: 25px;

}



.errorDiv {

    display: none;

}



/*mobile shopping cart row in detail effectively starts at bootstrap5 breakpoint SM and goes until XS*/

@media only screen and (min-width: 0px) and (max-width: 767.98px) {

    .cart-container {

        position: fixed;

        bottom: 0;

        left: 0;

        background-color: #fff;

        width: 100%;

        z-index: 50;

        border-top: 1px solid #aaa;

        padding: 20px;

        margin-bottom: 0;

    }

}



/*mobile weiter in wk starts at MD breakpoint and goes until XS**/

@media only screen and (min-width: 0px) and (max-width: 992px) {



    #btn-back-to-top {

        bottom: 6rem;

    }



    .shopping-cart-sticky {

        top: unset;

        position: fixed;

        bottom: 0;

        left: 0;

        right: 0;

        background-color: #fff;

        width: 100%;

        z-index: 50;

        border-top: 1px solid #aaa;

        padding: 1em;

        margin-bottom: 0;

    }



    .shopping-cart-sticky .row {

        border: none !important;

    }



    .shopping-cart-sticky .row .bg-site {

        background-color: var(--bs-white);

    }



    .submit-order-container {

        position: fixed;

        bottom: 0;

        left: 0;

        background-color: #fff;

        width: 100%;

        z-index: 50;

        border-top: 1px solid #aaa;

        margin: 0;

    }

}



/**BESTELLUNG PRÜFEN*/



#gutscheincode {

    display: none;

}



#gutscheinwert {

    display: none;

}





.zoom-image {

    max-height: 40em !important;

	max-width: 35em !important;

}



@media (min-width: 768px) {

   

}







/* Grundposition: unsichtbar außerhalb des Viewports */

.side-collapse {

  position: fixed;

  top: 0;

  left: -100vw;                 /* Menübreite */

  width: 100vw;

  height: 100vh;                /* volle Viewporthöhe */

  padding: 1.2rem;

  transition: left .3s ease;    /* Animiertes Einfahren */

  z-index: 9999;

}





/* Wenn Bootstrap .show hinzufügt */

.side-collapse.show {

  left: 0;

}



/*bootstrap xl breakpoint */



@media (min-width: 1400px) {



      .side-collapse{

            position: static;

        height: auto;

        width: auto;

        left: 0;                    /* Desktop normal */

        box-shadow: none;

        padding: 0;

    }



}

@media (max-width: 1399.98px){

    #navbarSupportedContent{

        background-color: var(--main-color);

        overflow-y: auto;

    }



    #navbarSupportedContent .nav-link{

        font-size: 2rem;

    }

}



/*bootstrap lg breakpoint */



@media (min-width: 992px) {

    .sortiment-minilist {

        max-height: 35% !important;

    }



}



/*bootstrap md breakpoint*/

@media (min-width: 768px) and (max-width: 991.98px) {

    .zoom-image {

        max-height: 37em !important;

    }



    .dropdown-menu[data-bs-popper] {

        left: 50%;

        transform: translateX(-50%);

    }



    .sortiment-minilist {

        max-height: 35% !important;

    }

}



/*bootstrap 5 sm breakpoint */

@media (min-width: 576px) and (max-width: 767.98px) {

    .zoom-image {

        max-height: 32em !important;

    }



    .navbar-nav.container-sm {

        padding-left: var(--bs-gutter-x, 0.75rem);

    }



    .dropdown-menu[data-bs-popper] {

        left: 50%;

        transform: translateX(-50%);

    }



    .sortiment-minilist {

        max-height: 70% !important;

    }



}



/*bootstrap 5 xs breakpoint */

@media (max-width: 575.98px) {

    .dropdown-menu[data-bs-popper] {

        left: 50%;

        transform: translateX(-50%);

    }



    .zoom-image {

        max-height: 30em !important;

    }



    #imageModal {

        height: 100%;

    }



    .navbar-nav.container-sm {

        padding-left: var(--bs-gutter-x, 0.75rem);

    }



    .sortiment-minilist {

        max-height: 60% !important;

    }



    .contact-button {

        bottom: 9rem;

    }



    .detail img{

        max-height: 10rem;

    }





}



:root {

    /*COLORS*/

    --main-color: #818468;

    --main-color-25alpha: rgba(129, 133, 105, 0.25);

    --detail-table-background-color: rgba(164, 164, 164, 0.2);

    --button-secondary-color: #6c757d;

    --sec-color: #f5f0e3;

    --light-color: #f5f0e3;

    --background-color: #f5f0e3;

    --text-color: #2a2a2a;

    --text-color-light: #f5f0e3;

}

