  .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%
      }
  }