.btn-cafaggiolo {
    color: #d21c24;
    font-family: AvenirNextLTPro-Medium, sans-serif;
    font-variant: all-petite-caps;
    letter-spacing: .1em;
    font-size: 1.4em;
    line-height: 1.1;
    border: solid 2px #4b1220;
    padding: 20px;
    border-radius: 4px;
}

.btn-cafaggiolo:hover {
    color: #fff;
    background-color: #4b1220;
}

.btn-smaller {
    padding: 10px;
    font-size: 1.1em;
    min-width: 150px;
}

.btn-extrasmaller {
    padding: 5px;
    font-size: 0.8em;
    min-width: 100px;
}

.buyBtnWrapper {
    width: 100%;
    float: right;
    margin-top: 40px;
    text-align: center;
}

@media only screen and (max-width: 768px) {
    .buyBtnWrapper {
        margin-top: 100px;
    }
}

.modal {
    display: none;
    position: fixed;
    z-index: 75;
    left: 0;
    top: 0;
    width: 100%;
    height: 100%;
    background-color: rgba(0, 0, 0, 0.9);
    overflow: auto;
}

.modal-content {
    background-color: #fefefe;
    margin: 10% auto;
    padding: 20px;
    border: 1px solid #888;
    min-width: 50%;
    max-width: 600px;
}

.close {
    color: #aaa;
    float: right;
    font-size: 28px;
    font-weight: bold;
}

.close:hover,
.close:focus {
    color: black;
    text-decoration: none;
    cursor: pointer;
}

.d-none {
    display: none !important;
}

.redBorderError {
    border-color: #d21c24 !important;
}


.square {
    height: 300px;
    display: flex;
    justify-content: center;
    align-items: center;
    border: 1px solid #4b1220;
    overflow: hidden;
    position: relative;
    transition: transform 0.2s ease;
    margin: 10px;
}

.square img {
    max-width: 100%;
    max-height: 100%;
    width: auto;
    height: auto;
    display: block;
    margin: auto;
}

.square:hover {
    scale: 1.01;
    transform: scale(1.01);
}

.squareInner {
    height: 500px;
    display: flex;
    justify-content: center;
    align-items: center;
    overflow: hidden;
    position: relative;
    margin: 0px;
}

.squareInner img {
    max-width: 100%;
    max-height: 100%;
    width: auto;
    height: auto;
    display: block;
    margin: auto;
}

.inner_wine_description p:first-child::first-letter, .single-vino .module--copy .wine__description p:first-child::first-letter {
  font-family: Danmark,sans-serif;
  font-size: 7.0625rem;
  line-height: .8;
  font-weight: 500;
  margin-bottom: .3125rem;
  float: left;
  margin: 0 1.25rem -.3125rem 0;
  color: #d21c24;
}

.wineDenominazione{
  font-size: 0.75rem;      
  color: #4b1220 !important;
}

[type="number"] {
    -moz-appearance: inherit !important;
}

:root {
    --bs-gutter-x: 15px;
    --bs-gutter-y: 15px;
}

.col,
.row>* {
    width: 100%;
    padding-right: calc(var(--bs-gutter-x) * .5);
    padding-left: calc(var(--bs-gutter-x) * .5)
}

.row {
    --bs-row-cols: 1;
    display: flex;
    flex-wrap: wrap;
    margin-top: calc(var(--bs-gutter-y) * -1);
    margin-right: calc(var(--bs-gutter-x) * -.5);
    margin-left: calc(var(--bs-gutter-x) * -.5)
}

.row>* {
    flex-shrink: 0;
    max-width: 100%;
    margin-top: var(--bs-gutter-y)
}

.col {
    position: relative;
    min-height: 1px
}

.col-1,
.col-10,
.col-11,
.col-12,
.col-2,
.col-3,
.col-4,
.col-5,
.col-6,
.col-7,
.col-8,
.col-9,
.col-auto,
.col-lg,
.col-md,
.col-sm,
.col-xl,
.col-xxl {
    flex-grow: 1;
    flex-basis: 0;
    max-width: 100%
}

.col-1 {
    flex: 0 0 8.333333%;
    max-width: 8.333333%
}

.col-2 {
    flex: 0 0 16.666667%;
    max-width: 16.666667%
}

.col-3 {
    flex: 0 0 25%;
    max-width: 25%
}

.col-4 {
    flex: 0 0 33.333333%;
    max-width: 33.333333%
}

.col-5 {
    flex: 0 0 41.666667%;
    max-width: 41.666667%
}

.col-6 {
    flex: 0 0 50%;
    max-width: 50%
}

.col-7 {
    flex: 0 0 58.333333%;
    max-width: 58.333333%
}

.col-8 {
    flex: 0 0 66.666667%;
    max-width: 66.666667%
}

.col-9 {
    flex: 0 0 75%;
    max-width: 75%
}

.col-10 {
    flex: 0 0 83.333333%;
    max-width: 83.333333%
}

.col-11 {
    flex: 0 0 91.666667%;
    max-width: 91.666667%
}

.col-12 {
    flex: 0 0 100%;
    max-width: 100%
}

.col-auto {
    flex: 0 0 auto;
    width: auto;
    max-width: 100%
}

@media (min-width:576px) {
    .col-sm {
        flex: 0 0 auto;
        width: auto;
        max-width: 100%
    }
}

@media (min-width:768px) {
    .col-md {
        flex: 0 0 auto;
        width: auto;
        max-width: 100%
    }

    .col-md-1 {
        flex: 0 0 8.333333%;
        max-width: 8.333333%
    }

    .col-md-2 {
        flex: 0 0 16.666667%;
        max-width: 16.666667%
    }

    .col-md-3 {
        flex: 0 0 25%;
        max-width: 25%
    }

    .col-md-4 {
        flex: 0 0 33.333333%;
        max-width: 33.333333%
    }

    .col-md-5 {
        flex: 0 0 41.666667%;
        max-width: 41.666667%
    }

    .col-md-6 {
        flex: 0 0 50%;
        max-width: 50%
    }

    .col-md-7 {
        flex: 0 0 58.333333%;
        max-width: 58.333333%
    }

    .col-md-8 {
        flex: 0 0 66.666667%;
        max-width: 66.666667%
    }

    .col-md-9 {
        flex: 0 0 75%;
        max-width: 75%
    }

    .col-md-10 {
        flex: 0 0 83.333333%;
        max-width: 83.333333%
    }

    .col-md-11 {
        flex: 0 0 91.666667%;
        max-width: 91.666667%
    }

    .col-md-12 {
        flex: 0 0 100%;
        max-width: 100%
    }
}

@media (min-width:992px) {
    .col-lg {
        flex: 0 0 auto;
        width: auto;
        max-width: 100%
    }
}

@media (min-width:1200px) {
    .col-xl {
        flex: 0 0 auto;
        width: auto;
        max-width: 100%
    }
}

@media (min-width:1400px) {
    .col-xxl {
        flex: 0 0 auto;
        width: auto;
        max-width: 100%
    }
}